module ISO3166

def self::Country(country_data_or_country)

def self::Country(country_data_or_country)
  case country_data_or_country
  when ISO3166::Country
    country_data_or_country
  when String, Symbol
    ISO3166::Country.search(country_data_or_country)
  else
    raise TypeError, "can't convert #{country_data_or_country.class.name} into ISO3166::Country"
  end
end

def self.configuration

def self.configuration
  @configuration ||= Configuration.new
end

def self.configure

def self.configure
  yield(configuration)
end

def self.reset

def self.reset
  @configuration = Configuration.new
  Data.reset
end