novaposhta_api 0.1.9 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 27acc51844dd0c133dbf3adde6f4f6576f6b73a71cabe0b1b3a295c623ff6f35
4
- data.tar.gz: b2ebad750d002ce9be1b43e5c1f4619dcbb7bd1c9bbeff1c75d7a6fa6e18368e
3
+ metadata.gz: 98e36754022f3732bbbdc06adcc7bc7e608283fc6db5cb94241ee657059aa0b6
4
+ data.tar.gz: 6b2274236c86b30e5b94b4b3108a878d1eff97a3df1c99616c345ebea70e5a30
5
5
  SHA512:
6
- metadata.gz: '06956d928678a28a6c4d864a17c15e7cbe57e1fd2c71d6d90cf4666597ecc98bcb39f69a78d103a2ffb37d6a8544ebaea5e18b206aa1b16a0ae5abcaf5b42984'
7
- data.tar.gz: 50a49ca1354844f0cbe4d9aaf54b126ff2bdb318c06f0fe454b6dad3b27563eca5ee1ce3b0e3e92330433cb27291491e41d2ace0ac96c02134e543a53ad6d171
6
+ metadata.gz: 2d91fa9b6c0a526657e766485f2a52bac4018660a21a588b12ff6f9971583f35149573a1c966fe9a1f7c4c448ca34c1b98a570bf34fa26e1c4e983ddc8aa8e7a
7
+ data.tar.gz: 34ba3c325732e714f0a59b512be09770e658ef9bcaa73cb42b304945450b58e55d0692e4cf3dea422bb532ce8ae9a0b578216e580b2024d54eb23e12c8e4601e
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- novaposhta_api (0.1.8)
4
+ novaposhta_api (0.2.1)
5
5
  faraday (~> 2.2)
6
6
  hashie (~> 4.1)
7
7
 
@@ -9,18 +9,24 @@ GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
11
  ast (2.4.2)
12
- faraday (2.2.0)
13
- faraday-net_http (~> 2.0)
14
- ruby2_keywords (>= 0.0.4)
15
- faraday-net_http (2.0.1)
12
+ faraday (2.12.0)
13
+ faraday-net_http (>= 2.0, < 3.4)
14
+ json
15
+ logger
16
+ faraday-net_http (3.3.0)
17
+ net-http
16
18
  hashie (4.1.0)
19
+ json (2.7.2)
20
+ logger (1.6.1)
21
+ net-http (0.4.1)
22
+ uri
17
23
  parallel (1.21.0)
18
24
  parser (3.1.1.0)
19
25
  ast (~> 2.4.1)
20
26
  rainbow (3.1.1)
21
27
  rake (12.3.3)
22
28
  regexp_parser (2.2.1)
23
- rexml (3.2.5)
29
+ rexml (3.3.8)
24
30
  rubocop (1.25.1)
25
31
  parallel (~> 1.10)
26
32
  parser (>= 3.1.0.0)
@@ -33,8 +39,8 @@ GEM
33
39
  rubocop-ast (1.16.0)
34
40
  parser (>= 3.1.1.0)
35
41
  ruby-progressbar (1.11.0)
36
- ruby2_keywords (0.0.5)
37
42
  unicode-display_width (2.1.0)
43
+ uri (0.13.1)
38
44
 
39
45
  PLATFORMS
40
46
  ruby
@@ -24,7 +24,7 @@ module NovaposhtaApi
24
24
  end
25
25
 
26
26
  def request(http_method, path, params = {})
27
- options = build_options(path).merge(methodProperties: transform_keys(params))
27
+ options = build_options(path).merge(methodProperties: params)
28
28
  response = connection.public_send(http_method, '', options.to_json)
29
29
  response.body
30
30
  end
@@ -55,17 +55,5 @@ module NovaposhtaApi
55
55
  headers: DEFAULT_HEADERS
56
56
  }
57
57
  end
58
-
59
- def transform_keys(params)
60
- convert_params_to_hash(params).deep_transform_keys { |key| key.to_s.camelcase }
61
- end
62
-
63
- def convert_params_to_hash(params)
64
- if params.respond_to?(:to_unsafe_h)
65
- params.to_unsafe_h
66
- else
67
- params
68
- end
69
- end
70
58
  end
71
59
  end
@@ -3,6 +3,7 @@
3
3
  module NovaposhtaApi
4
4
  class Model < Hashie::Trash
5
5
  include Hashie::Extensions::IndifferentAccess
6
+ include Hashie::Extensions::Coercion
6
7
  include Hashie::Extensions::IgnoreUndeclared
7
8
 
8
9
  class << self
@@ -3,13 +3,13 @@
3
3
  module NovaposhtaApi
4
4
  module Models
5
5
  class City < Model
6
- property :ref, from: :Ref
7
- property :city_id, from: :CityID
8
- property :area, from: :Area
9
- property :description, from: :Description
10
- property :description_ru, from: :DescriptionRu
11
- property :settlement_type_description, from: :SettlementTypeDescription
12
- property :settlement_type_description_ru, from: :SettlementTypeDescriptionRu
6
+ property :Ref
7
+ property :CityID
8
+ property :Area
9
+ property :Description
10
+ property :DescriptionRu
11
+ property :SettlementTypeDescription
12
+ property :SettlementTypeDescriptionRu
13
13
  end
14
14
  end
15
15
  end
@@ -3,13 +3,13 @@
3
3
  module NovaposhtaApi
4
4
  module Models
5
5
  class ContactPerson < Model
6
- property :ref, from: :Ref
7
- property :first_name, from: :FirstName
8
- property :middle_name, from: :MiddleName
9
- property :last_name, from: :LastName
10
- property :phones, from: :Phones
11
- property :description, from: :Description
12
- property :email, from: :Email
6
+ property :Ref
7
+ property :FirstName
8
+ property :MiddleName
9
+ property :LastName
10
+ property :Phones
11
+ property :Description
12
+ property :Email
13
13
  end
14
14
  end
15
15
  end
@@ -3,18 +3,18 @@
3
3
  module NovaposhtaApi
4
4
  module Models
5
5
  class Counterparty < Model
6
- property :ref, from: :Ref
7
- property :first_name, from: :FirstName
8
- property :middle_name, from: :MiddleName
9
- property :last_name, from: :LastName
10
- property :phone, from: :Phone
11
- property :description, from: :Description
12
- property :city, from: :City
13
- property :persons, from: :ContactPerson
6
+ property :Ref
7
+ property :FirstName
8
+ property :MiddleName
9
+ property :LastName
10
+ property :Phone
11
+ property :Description
12
+ property :City
13
+ property :ContactPerson
14
14
 
15
- def person
16
- @person ||= NovaposhtaApi::Models::Counterparty.extract_single(persons['data']&.first)
17
- end
15
+ coerce_key :ContactPerson, lambda { |value|
16
+ NovaposhtaApi::Models::ContactPerson.extract_single(value['data'])
17
+ }
18
18
  end
19
19
  end
20
20
  end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NovaposhtaApi
4
+ module Models
5
+ class CounterpartyAddress < Model
6
+ property :Ref
7
+ property :Description
8
+ end
9
+ end
10
+ end
@@ -3,34 +3,34 @@
3
3
  module NovaposhtaApi
4
4
  module Models
5
5
  class InternetDocument < Model
6
- property :ref, from: :Ref
7
- property :cost_on_site, from: :CostOnSite
8
- property :estimated_delivery_date, from: :EstimatedDeliveryDate
9
- property :int_doc_number, from: :IntDocNumber
10
- property :type_document, from: :TypeDocument
6
+ property :Ref
7
+ property :CostOnSite
8
+ property :EstimatedDeliveryDate
9
+ property :IntDocNumber
10
+ property :TypeDocument
11
11
 
12
- property :sender, from: :Sender
13
- property :city_sender, from: :CitySender
14
- property :sender_address, from: :SenderAddress
15
- property :contact_sender, from: :ContactSender
16
- property :senders_phone, from: :SendersPhone
12
+ property :Sender
13
+ property :CitySender
14
+ property :SenderAddress
15
+ property :ContactSender
16
+ property :SendersPhone
17
17
 
18
- property :recipient, from: :Recipient
19
- property :city_recipient, from: :CityRecipient
20
- property :recipient_address, from: :RecipientAddress
21
- property :contact_recipient, from: :ContactRecipient
22
- property :recipients_phone, from: :RecipientsPhone
18
+ property :Recipient
19
+ property :CityRecipient
20
+ property :RecipientAddress
21
+ property :ContactRecipient
22
+ property :RecipientsPhone
23
23
 
24
- property :sevice_type, from: :SeviceType
25
- property :cargo_type, from: :CargoType
26
- property :payment_method, from: :PaymentMethod
27
- property :payer_type, from: :PayerType
28
- property :cost, from: :Cost
29
- property :seats_amount, from: :SeatsAmount
30
- property :description, from: :Description
31
- property :weight, from: :Weight
32
- property :date_time, from: :DateTime
33
- property :options_seat, from: :OptionsSeat
24
+ property :SeviceType
25
+ property :CargoType
26
+ property :PaymentMethod
27
+ property :PayerType
28
+ property :Cost
29
+ property :SeatsAmount
30
+ property :Description
31
+ property :Weight
32
+ property :DateTime
33
+ property :OptionsSeat
34
34
  end
35
35
  end
36
36
  end
@@ -3,12 +3,12 @@
3
3
  module NovaposhtaApi
4
4
  module Models
5
5
  class Settlement < Model
6
- property :ref, from: :Ref
7
- property :present, from: :Present
8
- property :area, from: :Area
9
- property :delivery_city, from: :DeliveryCity
10
- property :main_description, from: :MainDescription
11
- property :region, from: :Region
6
+ property :Ref
7
+ property :Present
8
+ property :Area
9
+ property :DeliveryCity
10
+ property :MainDescription
11
+ property :Region
12
12
  end
13
13
  end
14
14
  end
@@ -3,10 +3,10 @@
3
3
  module NovaposhtaApi
4
4
  module Models
5
5
  class TrackingDocument < Model
6
- property :number, from: :Number
7
- property :status, from: :Status
8
- property :status_code, from: :StatusCode
9
- property :scheduled_delivery_date, from: :ScheduledDeliveryDate
6
+ property :Number
7
+ property :Status
8
+ property :StatusCode
9
+ property :ScheduledDeliveryDate
10
10
  end
11
11
  end
12
12
  end
@@ -3,15 +3,15 @@
3
3
  module NovaposhtaApi
4
4
  module Models
5
5
  class Warehouse < Model
6
- property :ref, from: :Ref
7
- property :city_ref, from: :CityRef
8
- property :city_description, from: :CityDescription
9
- property :city_description_ru, from: :CityDescriptionRu
10
- property :description, from: :Description
11
- property :description_ru, from: :DescriptionRu
12
- property :short_address, from: :ShortAddress
13
- property :longitude, from: :Longitude
14
- property :latitude, from: :Latitude
6
+ property :Ref
7
+ property :CityRef
8
+ property :CityDescription
9
+ property :CityDescriptionRu
10
+ property :Description
11
+ property :DescriptionRu
12
+ property :ShortAddress
13
+ property :Longitude
14
+ property :Latitude
15
15
  end
16
16
  end
17
17
  end
@@ -10,19 +10,19 @@ module NovaposhtaApi
10
10
  end
11
11
 
12
12
  def senders
13
- response = request('Counterparty/getCounterparties', counterparty_property: 'Sender')
13
+ response = request('Counterparty/getCounterparties', CounterpartyProperty: 'Sender')
14
14
 
15
15
  NovaposhtaApi::Models::Counterparty.extract_collection(response)
16
16
  end
17
17
 
18
18
  def addresses(ref)
19
- response = request('Counterparty/getCounterpartyAddresses', ref: ref)
19
+ response = request('Counterparty/getCounterpartyAddresses', Ref: ref)
20
20
 
21
- NovaposhtaApi::Models::Address.extract_collection(response)
21
+ NovaposhtaApi::Models::CounterpartyAddress.extract_collection(response)
22
22
  end
23
23
 
24
24
  def contacts(ref)
25
- response = request('Counterparty/getCounterpartyContactPersons', ref: ref)
25
+ response = request('Counterparty/getCounterpartyContactPersons', Ref: ref)
26
26
 
27
27
  NovaposhtaApi::Models::ContactPerson.extract_collection(response)
28
28
  end
@@ -6,7 +6,11 @@ module NovaposhtaApi
6
6
  def track(number)
7
7
  response = request(
8
8
  'TrackingDocument/getStatusDocuments',
9
- documents: [{document_number: number}]
9
+ Documents: [
10
+ {
11
+ DocumentNumber: number
12
+ }
13
+ ]
10
14
  )
11
15
 
12
16
  NovaposhtaApi::Models::TrackingDocument.extract_single(response)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module NovaposhtaApi
4
- VERSION = '0.1.9'
4
+ VERSION = '0.2.1'
5
5
  end
@@ -31,6 +31,7 @@ module NovaposhtaApi
31
31
  autoload :Settlement, 'novaposhta_api/models/settlement'
32
32
  autoload :Warehouse, 'novaposhta_api/models/warehouse'
33
33
  autoload :ContactPerson, 'novaposhta_api/models/contact_person'
34
+ autoload :CounterpartyAddress, 'novaposhta_api/models/counterparty_address'
34
35
  end
35
36
 
36
37
  Error = Class.new(StandardError)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: novaposhta_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - venet
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-03-19 00:00:00.000000000 Z
11
+ date: 2024-10-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -82,6 +82,7 @@ files:
82
82
  - lib/novaposhta_api/models/city.rb
83
83
  - lib/novaposhta_api/models/contact_person.rb
84
84
  - lib/novaposhta_api/models/counterparty.rb
85
+ - lib/novaposhta_api/models/counterparty_address.rb
85
86
  - lib/novaposhta_api/models/internet_document.rb
86
87
  - lib/novaposhta_api/models/settlement.rb
87
88
  - lib/novaposhta_api/models/tracking_document.rb