class Immobilienscout::ResponseParser
Constants
- HTTP_OK
- Message
Public Class Methods
new(response)
click to toggle source
# File lib/immobilienscout/response_parser.rb, line 9 def initialize(response) @response = response raise ArgumentError unless valid? end
Public Instance Methods
call()
click to toggle source
# File lib/immobilienscout/response_parser.rb, line 15 def call response_body = JSON.parse(@response.body) Message.new(success?, code, messages(response_body), id(response_body)) end
Private Instance Methods
code()
click to toggle source
# File lib/immobilienscout/response_parser.rb, line 31 def code @response.code end
id(response_body)
click to toggle source
# File lib/immobilienscout/response_parser.rb, line 43 def id(response_body) return unless response_body['common.messages'] messages = response_body['common.messages'].first['message'] messages['id'] if messages.is_a? Hash end
messages(response_body)
click to toggle source
# File lib/immobilienscout/response_parser.rb, line 35 def messages(response_body) return response_body unless response_body['common.messages'] messages = response_body['common.messages'].first['message'] messages = [messages] if messages.is_a? Hash messages.map { |msg| Message.new(nil, msg['messageCode'], msg['message'], msg['id']) } end
success?()
click to toggle source
# File lib/immobilienscout/response_parser.rb, line 27 def success? HTTP_OK.include? @response.code end
valid?()
click to toggle source
# File lib/immobilienscout/response_parser.rb, line 23 def valid? @response.present? end