Class: CDEKApiClient::API::Location
- Inherits:
-
Object
- Object
- CDEKApiClient::API::Location
- Defined in:
- lib/cdek_api_client/api/location.rb
Overview
Handles location-related API requests.
Instance Method Summary collapse
-
#cities(use_live_data: false) ⇒ Array<Hash>
Retrieves a list of cities.
-
#initialize(client) ⇒ Location
constructor
Initializes the Location object.
-
#offices(use_live_data: false) ⇒ Array<Hash>
Retrieves a list of offices.
-
#postal_codes(city_code, use_live_data: false) ⇒ Array<Hash>
Retrieves a list of postal codes for a specific city.
-
#regions(use_live_data: false) ⇒ Array<Hash>
Retrieves a list of regions.
Constructor Details
#initialize(client) ⇒ Location
Initializes the Location object.
12 13 14 |
# File 'lib/cdek_api_client/api/location.rb', line 12 def initialize(client) @client = client end |
Instance Method Details
#cities(use_live_data: false) ⇒ Array<Hash>
Retrieves a list of cities.
20 21 22 |
# File 'lib/cdek_api_client/api/location.rb', line 20 def cities(use_live_data: false) use_live_data ? @client.request('get', 'location/cities') : read_data_from_file('cities_mapping.json') end |
#offices(use_live_data: false) ⇒ Array<Hash>
Retrieves a list of offices.
36 37 38 |
# File 'lib/cdek_api_client/api/location.rb', line 36 def offices(use_live_data: false) use_live_data ? @client.request('get', 'deliverypoints') : read_data_from_file('offices_mapping.json') end |
#postal_codes(city_code, use_live_data: false) ⇒ Array<Hash>
Retrieves a list of postal codes for a specific city.
45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/cdek_api_client/api/location.rb', line 45 def postal_codes(city_code, use_live_data: false) if city_code.nil? || (city_code.respond_to?(:empty?) && city_code.empty?) raise ArgumentError, 'city_code is required' end response = if use_live_data @client.request('get', "location/postalcodes?code=#{city_code}") else read_data_from_file("postal_codes_#{city_code}_mapping.json") end response.is_a?(Hash) && response.key?('postal_codes') ? response['postal_codes'] : response end |
#regions(use_live_data: false) ⇒ Array<Hash>
Retrieves a list of regions.
28 29 30 |
# File 'lib/cdek_api_client/api/location.rb', line 28 def regions(use_live_data: false) use_live_data ? @client.request('get', 'location/regions') : read_data_from_file('regions_mapping.json') end |