diff options
Diffstat (limited to 'vendor/gems/common_languages/lib/common_languages.rb')
-rw-r--r-- | vendor/gems/common_languages/lib/common_languages.rb | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/vendor/gems/common_languages/lib/common_languages.rb b/vendor/gems/common_languages/lib/common_languages.rb new file mode 100644 index 0000000..0b2d9c2 --- /dev/null +++ b/vendor/gems/common_languages/lib/common_languages.rb @@ -0,0 +1,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 |