Class: Phoner::Country

Inherits:
Struct
  • Object
show all
Defined in:
lib/country.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#area_codeObject

Returns the value of attribute area_code

Returns:

  • (Object)

    the current value of area_code



2
3
4
# File 'lib/country.rb', line 2

def area_code
  @area_code
end

#char_2_codeObject

Returns the value of attribute char_2_code

Returns:

  • (Object)

    the current value of char_2_code



2
3
4
# File 'lib/country.rb', line 2

def char_2_code
  @char_2_code
end

#char_3_codeObject

Returns the value of attribute char_3_code

Returns:

  • (Object)

    the current value of char_3_code



2
3
4
# File 'lib/country.rb', line 2

def char_3_code
  @char_3_code
end

#country_codeObject

Returns the value of attribute country_code

Returns:

  • (Object)

    the current value of country_code



2
3
4
# File 'lib/country.rb', line 2

def country_code
  @country_code
end

#nameObject

Returns the value of attribute name

Returns:

  • (Object)

    the current value of name



2
3
4
# File 'lib/country.rb', line 2

def name
  @name
end

Class Method Details

.find_by_country_code(code) ⇒ Object



21
22
23
# File 'lib/country.rb', line 21

def self.find_by_country_code(code)
  @@all[code]
end

.find_by_country_isocode(isocode) ⇒ Object



25
26
27
28
29
# File 'lib/country.rb', line 25

def self.find_by_country_isocode(isocode)
  if country = @@all.detect{|c|c[1].char_3_code.downcase == isocode}
    country[1]
  end
end

.loadObject



5
6
7
8
9
10
11
12
13
14
15
# File 'lib/country.rb', line 5

def self.load
  return @@all if @@all.present?

  data_file = File.join(File.dirname(__FILE__), '..', 'data', 'phone_countries.yml')

  @@all = {}
  YAML.load(File.read(data_file)).each_pair do |key, c|
    @@all[key] = Country.new(c[:name], c[:country_code], c[:char_2_code], c[:char_3_code], c[:area_code])
  end
  @@all
end

Instance Method Details

#country_code_regexpObject



31
32
33
# File 'lib/country.rb', line 31

def country_code_regexp
  Regexp.new("^[+]#{country_code}")
end

#to_sObject



17
18
19
# File 'lib/country.rb', line 17

def to_s
  name
end