class UkPostcodesIo::MultiLookup
Attributes
postcodes[R]
Public Class Methods
new(postcodes)
click to toggle source
# File lib/uk_postcodes_io/multi_lookup.rb, line 5 def initialize(postcodes) @postcodes = postcodes end
Public Instance Methods
build_data_from_body_result()
click to toggle source
# File lib/uk_postcodes_io/multi_lookup.rb, line 13 def build_data_from_body_result return unless body['result'] body['result'].each_with_object({}) do |item, hash| hash[item['query']] = item['result'] ? OpenStruct.new(item['result']) : nil end end
data()
click to toggle source
# File lib/uk_postcodes_io/multi_lookup.rb, line 9 def data @data ||= build_data_from_body_result end
make_request()
click to toggle source
# File lib/uk_postcodes_io/multi_lookup.rb, line 28 def make_request request.body = { postcodes: postcodes }.to_json Net::HTTP.start(uri.hostname, uri.port) do |http| http.request(request) end end
request()
click to toggle source
# File lib/uk_postcodes_io/multi_lookup.rb, line 24 def request @request ||= Net::HTTP::Post.new(uri, 'Content-Type' => 'application/json') end
response()
click to toggle source
# File lib/uk_postcodes_io/multi_lookup.rb, line 20 def response @response ||= make_request end
uri()
click to toggle source
# File lib/uk_postcodes_io/multi_lookup.rb, line 35 def uri URI(API_URL) end