Class: PostcodeAnywhere::PostcodeSearch
- Inherits:
-
Object
- Object
- PostcodeAnywhere::PostcodeSearch
- Includes:
- HTTParty
- Defined in:
- lib/ruby-postcodeanywhere.rb
Constant Summary collapse
- ADDRESS_LOOKUP =
"/Find/v1.10/xmla.ws"
- ADDRESS_FETCH =
"/RetrieveById/v1.20/xmla.ws"
- RETRIEVE_BY_PARTS_URL =
"/RetrieveByParts/v1.00/xmla.ws"
Instance Method Summary collapse
- #fetch(id) ⇒ Object
- #fetch_by_parts(options = {}) ⇒ Object
- #license_information ⇒ Object
- #lookup(postcode) ⇒ Object
Instance Method Details
#fetch(id) ⇒ Object
63 64 65 66 67 68 69 70 |
# File 'lib/ruby-postcodeanywhere.rb', line 63 def fetch(id) ={ :id => id } .merge!(self.license_information) data = PostcodeSearch.get( ADDRESS_FETCH, {:query => } ) process_address(data) end |
#fetch_by_parts(options = {}) ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/ruby-postcodeanywhere.rb', line 51 def fetch_by_parts(={}) .merge!(self.license_information) if ['postcode'] ['postcode'] = ['postcode'].gsub(/\s/, '') end data = PostcodeSearch.get( RETRIEVE_BY_PARTS_URL, {:query => } ) process_address(data) end |
#license_information ⇒ Object
72 73 74 |
# File 'lib/ruby-postcodeanywhere.rb', line 72 def license_information {:account_code => PostcodeAnywhere.account_code, :license_code => PostcodeAnywhere.license_code} end |
#lookup(postcode) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/ruby-postcodeanywhere.rb', line 24 def lookup(postcode) raise "Postcode is Required" if postcode.blank? || postcode.nil? ={ "SearchTerm" => postcode.gsub(/\s/, '') } .merge!(self.license_information) data = PostcodeSearch.get( ADDRESS_LOOKUP, {:query => } ) formatted_data = [] return formatted_data if data.parsed_response['Table']['Columns']['Column'][0]['Name'] == "Error" puts formatted_data unless data.parsed_response['Table']['Columns']['Column'][0]['Name'] == "Error" data.parsed_response["Table"]["Rows"]["Row"].each do |item| data_item = AddressListItem.new data_item.id = item['Id'] data_item.street_address = item['StreetAddress'] data_item.place = item['Place'] formatted_data << data_item end end formatted_data end |