Sha256: 09552f33a9d41e5ef5fdfc8b9053b2271852511fa069b816488a249a68df8ba6
Contents?: true
Size: 909 Bytes
Versions: 6
Compression:
Stored size: 909 Bytes
Contents
require 'yaml' module CountryList class Data @@country_codes = nil @@cached_countries = nil def initialize(country_code) @country_code = country_code.to_s.upcase Data.load_cached_countries unless @@cached_countries end def call @@cached_countries[@country_code] end class << self def datafile_path(file_array) File.join([File.dirname(__FILE__)] + file_array) end def country_codes @@country_codes ||= load_country_codes! end def load_cached_countries @@cached_countries ||= load_countries! end alias_method :countries, :load_cached_countries def load_countries! Marshal.load(File.binread(datafile_path(%w(cache countries )))) end def load_country_codes! YAML.load_file(datafile_path(%w(country_data country_codes.yaml))) end end end end
Version data entries
6 entries across 6 versions & 1 rubygems