From 83a9cadbb13bd2292c7d064d40721fa5f64119fb Mon Sep 17 00:00:00 2001 From: elijah Date: Mon, 15 Jun 2015 17:14:26 -0700 Subject: added CommonLanguages gem --- .../gems/common_languages/lib/common_languages.rb | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 vendor/gems/common_languages/lib/common_languages.rb (limited to 'vendor/gems/common_languages/lib/common_languages.rb') 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 -- cgit v1.2.3