Skip to content

Commit c92fa4d

Browse files
committed
Freeze/DRY form_helper strings
1 parent e93652c commit c92fa4d

File tree

1 file changed

+28
-8
lines changed

1 file changed

+28
-8
lines changed

lib/ransack/helpers/form_helper.rb

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,26 @@ module Ransack
22
module Helpers
33
module FormHelper
44

5+
def asc
6+
'asc'.freeze
7+
end
8+
9+
def desc
10+
'desc'.freeze
11+
end
12+
13+
def asc_arrow
14+
'▲'.freeze
15+
end
16+
17+
def desc_arrow
18+
'▼'.freeze
19+
end
20+
21+
def non_breaking_space
22+
' '.freeze
23+
end
24+
525
def search_form_for(record, options = {}, &proc)
626
if record.is_a?(Ransack::Search)
727
search = record
@@ -28,7 +48,7 @@ def search_form_for(record, options = {}, &proc)
2848
"#{search.klass.to_s.underscore}_search",
2949
:method => :get
3050
}
31-
options[:as] ||= 'q'
51+
options[:as] ||= 'q'.freeze
3252
options[:html].reverse_merge!(html_options)
3353
options[:builder] ||= FormBuilder
3454

@@ -67,9 +87,9 @@ def sort_link(search, attribute, *args)
6787
current_dir = prev_attr == attr_name ? prev_dir : nil
6888

6989
if current_dir
70-
new_dir = current_dir == 'desc' ? 'asc' : 'desc'
90+
new_dir = current_dir == desc ? asc : desc
7191
else
72-
new_dir = default_order || 'asc'
92+
new_dir = default_order || asc
7393
end
7494

7595
html_options = args.first.is_a?(Hash) ? args.shift.dup : {}
@@ -90,7 +110,7 @@ def sort_link(search, attribute, *args)
90110
link_to(
91111
[ERB::Util.h(name), order_indicator_for(current_dir)]
92112
.compact
93-
.join(' ')
113+
.join(non_breaking_space)
94114
.html_safe,
95115
url,
96116
html_options
@@ -100,10 +120,10 @@ def sort_link(search, attribute, *args)
100120
private
101121

102122
def order_indicator_for(order)
103-
if order == 'asc'
104-
'▲'
105-
elsif order == 'desc'
106-
'▼'
123+
if order == asc
124+
asc_arrow
125+
elsif order == desc
126+
desc_arrow
107127
else
108128
nil
109129
end

0 commit comments

Comments
 (0)