blob: 0b2d9c27e7c1ae331204f47ecdd1270f4e125d9d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# encoding: utf-8
require_relative "common_languages/version"
require_relative "common_languages/data"
require_relative "common_languages/language"
module CommonLanguages
def self.available_codes
@available_codes ||= self.codes & I18n.available_locales.map(&:to_s)
end
def self.available
@available ||= self.available_codes.map {|lc| self.get(lc) }
end
def self.available_code?(code)
if !code.nil?
self.available_codes.include?(code.to_s)
else
false
end
end
def self.get(code)
if !code.nil?
self.languages[code.to_s]
else
false
end
end
# a regexp that will match the available codes
def self.match_available
@match_available ||= /(#{self.available_codes.join('|')})/
end
# clears caches, useful only when testing
def self.reset
@codes = nil
@available_codes = nil
@available = nil
@languages = nil
@match = nil
@match_available = nil
end
end
|