Class: ApiPostcodeNl::API
- Inherits:
-
Object
- Object
- ApiPostcodeNl::API
- Defined in:
- lib/api_postcode_nl/api.rb
Constant Summary collapse
- BASE_URL =
"https://api.postcode.nl/rest/addresses"
Class Method Summary collapse
- .address(postcode, house_number, house_number_addition = nil) ⇒ Object
- .get_url(postcode, house_number, house_number_addition = nil) ⇒ Object
- .key ⇒ Object
- .key=(value) ⇒ Object
- .parse(response) ⇒ Object
- .secret ⇒ Object
- .secret=(value) ⇒ Object
- .send(postcode, house_number, house_number_addition = nil) ⇒ Object
Class Method Details
.address(postcode, house_number, house_number_addition = nil) ⇒ Object
46 47 48 |
# File 'lib/api_postcode_nl/api.rb', line 46 def address(postcode, house_number, house_number_addition = nil) parse(send(postcode, house_number, house_number_addition)) end |
.get_url(postcode, house_number, house_number_addition = nil) ⇒ Object
11 12 13 |
# File 'lib/api_postcode_nl/api.rb', line 11 def get_url(postcode, house_number, house_number_addition = nil) "#{BASE_URL}/#{postcode}/#{house_number}" + (house_number_addition ? "/#{house_number_addition}" : "") end |
.key ⇒ Object
50 51 52 |
# File 'lib/api_postcode_nl/api.rb', line 50 def key @@key end |
.key=(value) ⇒ Object
54 55 56 |
# File 'lib/api_postcode_nl/api.rb', line 54 def key=(value) @@key = value end |
.parse(response) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/api_postcode_nl/api.rb', line 27 def parse(response) result = {} parsed_response = JSON.parse(response) { street_name: parsed_response["street"], house_number: parsed_response["houseNumber"], postcode: parsed_response["postcode"], city: parsed_response["city"], municipality: parsed_response["municipality"], province: parsed_response["province"], latitude: parsed_response["latitude"], longitude: parsed_response["longitude"], address_type: parsed_response["addressType"], purpose: parsed_response["purpose"], area: parsed_response["surfaceArea"], house_number_additions: parsed_response["houseNumberAdditions"] } end |
.secret ⇒ Object
58 59 60 |
# File 'lib/api_postcode_nl/api.rb', line 58 def secret @@secret end |
.secret=(value) ⇒ Object
62 63 64 |
# File 'lib/api_postcode_nl/api.rb', line 62 def secret=(value) @@secret = value end |
.send(postcode, house_number, house_number_addition = nil) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/api_postcode_nl/api.rb', line 15 def send(postcode, house_number, house_number_addition = nil) uri = URI.parse(get_url(postcode, house_number, house_number_addition)) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true request = Net::HTTP::Get.new(uri.path) request.basic_auth key, secret http.start {|http| http.request(request) }.body end |