Class: CDEKApiClient::API::Location

Inherits:
Object
  • Object
show all
Defined in:
lib/cdek_api_client/api/location.rb

Overview

Handles location-related API requests.

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ Location

Initializes the Location object.

Parameters:



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.

Parameters:

  • use_live_data (Boolean) (defaults to: false)

    whether to use live data or cached data.

Returns:

  • (Array<Hash>)

    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.

Parameters:

  • use_live_data (Boolean) (defaults to: false)

    whether to use live data or cached data.

Returns:

  • (Array<Hash>)

    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 = nil, use_live_data: false) ⇒ Array<Hash>

Retrieves a list of postal codes.

Parameters:

  • city_code (String, nil) (defaults to: nil)

    the city code to filter postal codes.

  • use_live_data (Boolean) (defaults to: false)

    whether to use live data or cached data.

Returns:

  • (Array<Hash>)

    list of postal codes.



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 = nil, use_live_data: false)
  if use_live_data
    if city_code
      @client.request('get',
                      "location/postalcodes?code=#{city_code}")
    else
      @client.request('get',
                      'location/postalcodes')
    end
  else
    read_data_from_file('postal_codes_mapping.json')
  end
end

#regions(use_live_data: false) ⇒ Array<Hash>

Retrieves a list of regions.

Parameters:

  • use_live_data (Boolean) (defaults to: false)

    whether to use live data or cached data.

Returns:

  • (Array<Hash>)

    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