Class: AlphabeticalPaginate::Language

Inherits:
Object
  • Object
show all
Defined in:
lib/alphabetical_paginate/language.rb

Constant Summary collapse

APPROXIMATIONS =
{
  "Э" => "je",
  "Ю" => "yu"
}

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(code) ⇒ Language



11
12
13
# File 'lib/alphabetical_paginate/language.rb', line 11

def initialize(code)
  @code = code
end

Instance Attribute Details

#codeObject (readonly)

Returns the value of attribute code.



9
10
11
# File 'lib/alphabetical_paginate/language.rb', line 9

def code
  @code
end

Instance Method Details

#all_fieldObject

used in view_helper



52
53
54
# File 'lib/alphabetical_paginate/language.rb', line 52

def all_field
  russian? ? 'Все' : "All"
end

#default_letterObject



27
28
29
# File 'lib/alphabetical_paginate/language.rb', line 27

def default_letter
  russian? ? "а" : "a" # First 'a' is russian, second - english
end

#letters_rangeObject

used in view_helper



32
33
34
35
36
37
38
# 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_regexpObject



19
20
21
# File 'lib/alphabetical_paginate/language.rb', line 19

def letters_regexp
  russian? ? /[а-яА-Я]/ : /[a-zA-Z]/
end

#output_letter(l) ⇒ Object

used in view_helper



47
48
49
# File 'lib/alphabetical_paginate/language.rb', line 47

def output_letter(l)
  (l == "All") ? all_field : l
end

#russian?Boolean



15
16
17
# File 'lib/alphabetical_paginate/language.rb', line 15

def russian?
  defined?(I18n) && I18n.locale == :ru && code == :ru
end

#slugged_lettersObject



40
41
42
43
44
# 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_regexpObject



23
24
25
# File 'lib/alphabetical_paginate/language.rb', line 23

def slugged_regexp
  /^(#{slugged_letters.values.join("|")})$/
end