Skip to content

cofundhub/dg-countries-list

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dg-countires-list

Circle CI Code Climate Test Coverage

All sorts of useful information about countries used in DG project + translations to chinese language.

Usage

Firstly, you need to retreive all information from YAML files (countries.yml and regions.yml) by command

DgCountriesList::DgCountriesList.fill_information!

###DgCountriesList::DgCountry

  • Retrieve all countries
DgCountriesList::DgCountry.all
=> [#<DgCountriesList::DgCountry name_zh="安道尔", continent="欧洲", ...
    #<DgCountriesList::DgCountry name_zh="阿联酋", continent="中东", ...
   ]
  • Find country by 2-digit ISO version
DgCountriesList::DgCountry.by_iso('au')
=> #<DgCountriesList::DgCountry name_zh="澳大利亚", continent="亚洲", ...
  • Find countries by region
DgCountriesList::DgCountry.by_region(:europe)
=> [#<DgCountriesList::DgCountry name_zh="安道尔", continent="欧洲", ...,
    #<DgCountriesList::DgCountry name_zh="阿尔巴尼亚", continent="欧洲", ...,
    #<DgCountriesList::DgCountry name_zh="奥地利", continent="欧洲", ...,
   ]
  • Retrieve country regions
country.regions
=> [#<DgCountriesList::DgRegion name_en="Africa", name_zh="非洲">,
  #<DgCountriesList::DgRegion name_en="Central and Southern Africa", name_zh="中非和南非">]

###DgCountriesList::DgRegion

  • Retrieve all regions
 DgCountriesList::DgRegion.all
=> [#<DgCountriesList::DgRegion name_en="Asia", name_zh="亚洲">,
  #<DgCountriesList::DgRegion name_en="Australasia", name_zh="澳大拉西亚">,
  ...
   ]
  • Find region by code
DgCountriesList::DgRegion.by_code(:europe)
=> #<DgCountriesList::DgRegion name_en="Europe", name_zh="欧洲">

All models Globalize and I18n friendly

region = DgCountriesList::DgRegion.by_code(:europe)
# => #<DgCountriesList::DgRegion name_en="Europe", name_zh="欧洲">
I18n.locale = :en #=> :en
region.name # => "Europe"
I18n.locale = :zh # => :zh
region.name # => "欧洲"

same for Globalize locale, default locale -- en

P.S. You can simplify overhead with namespaces by inheriting class from DgCountriesList classes

class Country < DgCountriesList::DgCountry; end

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%