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
- #has_error_codes?(codes) ⇒ Boolean
- #process_property(response) ⇒ Object
- #property_error_codes ⇒ Object
- #property_success_codes ⇒ Object
Instance Method Details
#codes(response) ⇒ Object
18 19 20 |
# File 'lib/melissa_data/web_smart/response_processor.rb', line 18 def codes(response) response[:result][:code].split(",") end |
#codes_for(codes, type) ⇒ Object
14 15 16 |
# File 'lib/melissa_data/web_smart/response_processor.rb', line 14 def codes_for(codes, type) codes.map { |c| method("property_#{type}_codes").call[c.to_sym] }.compact end |
#has_error_codes?(codes) ⇒ Boolean
22 23 24 |
# File 'lib/melissa_data/web_smart/response_processor.rb', line 22 def has_error_codes?(codes) !codes.select { |c| c if property_error_codes.keys.include? c.to_sym }.empty? end |
#process_property(response) ⇒ Object
4 5 6 7 8 9 10 11 12 |
# 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
33 34 35 36 37 |
# File 'lib/melissa_data/web_smart/response_processor.rb', line 33 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
26 27 28 29 30 31 |
# File 'lib/melissa_data/web_smart/response_processor.rb', line 26 def property_success_codes { YS01: "FIPS/APN Match found", YS02: "AddressKey Match found", YS03: "Basic information returned", YS04: "Detailed information returned" } end |