Class: Daywalker::TypeConverter
- Inherits:
-
Object
- Object
- Daywalker::TypeConverter
- Defined in:
- lib/daywalker/type_converter.rb
Overview
:nodoc:
Class Method Summary collapse
- .blank_to_nil(str) ⇒ Object
- .gender_letter_to_sym(letter) ⇒ Object
- .normalize_conditions(conditions) ⇒ Object
- .party_letter_to_sym(letter) ⇒ Object
- .sym_to_gender_letter(sym) ⇒ Object
- .sym_to_party_letter(sym) ⇒ Object
- .sym_to_title_abbr(sym) ⇒ Object
- .title_abbr_to_sym(abbr) ⇒ Object
Class Method Details
.blank_to_nil(str) ⇒ Object
53 54 55 |
# File 'lib/daywalker/type_converter.rb', line 53 def self.blank_to_nil(str) str == '' ? nil : str end |
.gender_letter_to_sym(letter) ⇒ Object
3 4 5 6 7 8 9 |
# File 'lib/daywalker/type_converter.rb', line 3 def self.gender_letter_to_sym(letter) case letter when 'M' then :male when 'F' then :female else raise ArgumentError, "unknown gender #{letter.inspect}" end end |
.normalize_conditions(conditions) ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/daywalker/type_converter.rb', line 57 def self.normalize_conditions(conditions) if conditions[:title].kind_of? Symbol conditions[:title] = sym_to_title_abbr(conditions[:title]) end move_value_in_hash(conditions, :district_number, :district) move_value_in_hash(conditions, :official_rss_url, :official_rss) if conditions[:party].kind_of? Symbol conditions[:party] = sym_to_party_letter(conditions[:party]) end move_value_in_hash(conditions, :website_url, :website) move_value_in_hash(conditions, :fax_number, :fax) move_value_in_hash(conditions, :first_name, :firstname) move_value_in_hash(conditions, :middle_name, :middlename) move_value_in_hash(conditions, :last_name, :lastname) move_value_in_hash(conditions, :webform_url, :webform) if conditions[:gender].kind_of? Symbol conditions[:gender] = sym_to_gender_letter(conditions[:gender]) end conditions end |
.party_letter_to_sym(letter) ⇒ Object
11 12 13 14 15 16 17 18 |
# File 'lib/daywalker/type_converter.rb', line 11 def self.party_letter_to_sym(letter) case letter when 'D' then :democrat when 'R' then :republican when 'I' then :independent else raise ArgumentError, "unknown party #{letter.inspect}" end end |
.sym_to_gender_letter(sym) ⇒ Object
45 46 47 48 49 50 51 |
# File 'lib/daywalker/type_converter.rb', line 45 def self.sym_to_gender_letter(sym) case sym when :male then 'M' when :female then 'F' else raise ArgumentError, "Unknown gender #{sym.inspect}" end end |
.sym_to_party_letter(sym) ⇒ Object
36 37 38 39 40 41 42 43 |
# File 'lib/daywalker/type_converter.rb', line 36 def self.sym_to_party_letter(sym) case sym when :democrat then 'D' when :republican then 'R' when :independent then 'I' else raise ArgumentError, "Unknown party #{sym.inspect}" end end |
.sym_to_title_abbr(sym) ⇒ Object
28 29 30 31 32 33 34 |
# File 'lib/daywalker/type_converter.rb', line 28 def self.sym_to_title_abbr(sym) case sym when :senator then 'Sen' when :representative then 'Rep' else raise ArgumentError, "Unknown title #{sym.inspect}" end end |
.title_abbr_to_sym(abbr) ⇒ Object
20 21 22 23 24 25 26 |
# File 'lib/daywalker/type_converter.rb', line 20 def self.title_abbr_to_sym(abbr) case abbr when 'Sen' then :senator when 'Rep' then :representative else raise ArgumentError, "Unknown title #{abbr.inspect}" end end |