Module SunDawg::USAStateTranslater
In: lib/usa_state_translater.rb
lib/usa_state_translater.rb

Methods

Classes and Modules

Class SunDawg::USAStateTranslater::NoStateError

Constants

FILE = File.expand_path(File.join(File.dirname(__FILE__), 'usa_states.yml')) unless defined?(FILE)   allows client application to override YAML hash
USA_STATES = YAML.load_file(FILE) unless defined?(USA_STATES)
FILE = File.expand_path(File.join(File.dirname(__FILE__), 'usa_states.yml')) unless defined?(FILE)   allows client application to override YAML hash
USA_STATES = YAML.load_file(FILE) unless defined?(USA_STATES)

Public Class methods

O(1) translation of 2-digit code to name

[Source]

    # File lib/usa_state_translater.rb, line 18
18:     def self.translate_code_to_name(code)
19:       state = USA_STATES[code]
20:       raise NoStateError.new("[#{code}] IS NOT VALID") if state.nil?
21:       state["name"]
22:     end

O(1) translation of 2-digit code to name

[Source]

    # File lib/usa_state_translater.rb, line 18
18:     def self.translate_code_to_name(code)
19:       state = USA_STATES[code]
20:       raise NoStateError.new("[#{code}] IS NOT VALID") if state.nil?
21:       state["name"]
22:     end

O(N) translation from state name to 2-digit code

[Source]

    # File lib/usa_state_translater.rb, line 10
10:     def self.translate_name_to_code(name)
11:       USA_STATES.each_pair do |key, value| 
12:         return key if value["name"] == name 
13:       end
14:       raise NoStateError.new("[#{name}] IS NOT VALID")
15:     end

O(N) translation from state name to 2-digit code

[Source]

    # File lib/usa_state_translater.rb, line 10
10:     def self.translate_name_to_code(name)
11:       USA_STATES.each_pair do |key, value| 
12:         return key if value["name"] == name 
13:       end
14:       raise NoStateError.new("[#{name}] IS NOT VALID")
15:     end

[Validate]