Module: MelissaData::WebSmart::ResponseProcessor
- Included in:
- Client
- Defined in:
- lib/melissa_data/web_smart/response_processor.rb
Instance Method Summary collapse
- #codes(response) ⇒ Object
- #codes_for(codes, type) ⇒ Object
- #error_codes?(codes) ⇒ Boolean
- #has_error_codes?(codes) ⇒ Boolean
- #process_property(response) ⇒ Object
- #property_error_codes ⇒ Object
- #property_success_codes ⇒ Object
Instance Method Details
#codes(response) ⇒ Object
17 18 19 |
# File 'lib/melissa_data/web_smart/response_processor.rb', line 17 def codes(response) codes = response[:result][:code].split(",") end |
#codes_for(codes, type) ⇒ Object
13 14 15 |
# File 'lib/melissa_data/web_smart/response_processor.rb', line 13 def codes_for(codes, type) codes.map { |c| method("property_#{type}_codes").call[c.to_sym] }.compact end |
#error_codes?(codes) ⇒ Boolean
25 26 27 |
# File 'lib/melissa_data/web_smart/response_processor.rb', line 25 def error_codes?(codes) codes.map { |c| c if property_error_codes.keys.include? c }.compact.empty? end |
#has_error_codes?(codes) ⇒ Boolean
21 22 23 |
# File 'lib/melissa_data/web_smart/response_processor.rb', line 21 def has_error_codes? codes error_codes?(codes) ? false : true end |
#process_property(response) ⇒ Object
4 5 6 7 8 9 10 11 |
# File 'lib/melissa_data/web_smart/response_processor.rb', line 4 def process_property(response) codes = codes(response) if has_error_codes?(codes) { errors: codes_for(codes, 'error') } else response.merge!(success: codes_for(codes, 'success')) end end |
#property_error_codes ⇒ Object
36 37 38 39 40 |
# File 'lib/melissa_data/web_smart/response_processor.rb', line 36 def property_error_codes { YE01: "No FIPS/APN or AddressKey provided", YE02: "No match found", YE03: "Invalid FIPS/APN or AddressKey provided" } end |
#property_success_codes ⇒ Object
29 30 31 32 33 34 |
# File 'lib/melissa_data/web_smart/response_processor.rb', line 29 def property_success_codes { YS01: "FIPS/APN Match found", YS02: "AddressKey Match found", YS03: "Basic information returned", YS04: "Detailed information returned" } end |