class AlphabeticalPaginate::Language
Constants
- APPROXIMATIONS
Attributes
code[R]
Public Class Methods
new(code)
click to toggle source
# File lib/alphabetical_paginate/language.rb, line 11 def initialize(code) @code = code end
Public Instance Methods
all_field()
click to toggle source
used in view_helper
# File lib/alphabetical_paginate/language.rb, line 52 def all_field russian? ? 'Все' : "All" end
default_letter()
click to toggle source
# File lib/alphabetical_paginate/language.rb, line 27 def default_letter russian? ? "а" : "a" # First 'a' is russian, second - english end
letters_range()
click to toggle source
used in view_helper
# File lib/alphabetical_paginate/language.rb, line 32 def letters_range if russian? ["А","Б","В","Г","Д","Е","Ж","З","И","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","Ч","Ш","Э","Ю","Я"] else ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] end end
letters_regexp()
click to toggle source
# File lib/alphabetical_paginate/language.rb, line 19 def letters_regexp russian? ? /[а-яА-Я]/ : /[a-zA-Z]/ end
output_letter(l)
click to toggle source
used in view_helper
# File lib/alphabetical_paginate/language.rb, line 47 def output_letter(l) (l == "All") ? all_field : l end
russian?()
click to toggle source
# File lib/alphabetical_paginate/language.rb, line 15 def russian? defined?(I18n) && I18n.locale == :ru && code == :ru end
slugged_letters()
click to toggle source
# File lib/alphabetical_paginate/language.rb, line 40 def slugged_letters hash = { "All" => "all" } letters_range.each{ |x| hash[x] = normalize(x) } hash end
slugged_regexp()
click to toggle source
# File lib/alphabetical_paginate/language.rb, line 23 def slugged_regexp /^(#{slugged_letters.values.join("|")})$/ end
Private Instance Methods
normalize(letter)
click to toggle source
# File lib/alphabetical_paginate/language.rb, line 58 def normalize(letter) if russian? APPROXIMATIONS[letter] || letter.to_s.to_slug.normalize(transliterations: :russian).to_s else letter.to_s.to_slug.normalize.to_s end end