novaposhta_api 0.1.9 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 27acc51844dd0c133dbf3adde6f4f6576f6b73a71cabe0b1b3a295c623ff6f35
4
- data.tar.gz: b2ebad750d002ce9be1b43e5c1f4619dcbb7bd1c9bbeff1c75d7a6fa6e18368e
3
+ metadata.gz: '039cc11a7c94971ac608187a9ca6a976f35131913f6e77201a613a81f78aa22e'
4
+ data.tar.gz: 79d38145b19dd725052cb6de53d056b0f174ac5c5e23ab90868508c1e523ddd8
5
5
  SHA512:
6
- metadata.gz: '06956d928678a28a6c4d864a17c15e7cbe57e1fd2c71d6d90cf4666597ecc98bcb39f69a78d103a2ffb37d6a8544ebaea5e18b206aa1b16a0ae5abcaf5b42984'
7
- data.tar.gz: 50a49ca1354844f0cbe4d9aaf54b126ff2bdb318c06f0fe454b6dad3b27563eca5ee1ce3b0e3e92330433cb27291491e41d2ace0ac96c02134e543a53ad6d171
6
+ metadata.gz: f3ba7c5412546f699a40dd58316056690adbde2830c10e8e6640a25e01ae8f4f69728026259ae9234793f1c2551f73976ff8af9ab5ab8d63218ba9cfec127dc1
7
+ data.tar.gz: 300ac0205c558844f265e589bf0a22a2978696040eb8adc9862eeb90e93c86c9dd99e19e298562a4b27220951a7cbd4ed5b86005e30255b1db15c319982c7c87
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.0)
5
5
  faraday (~> 2.2)
6
6
  hashie (~> 4.1)
7
7
 
@@ -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
@@ -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
21
  NovaposhtaApi::Models::Address.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.0'
5
5
  end
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.0
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: 2023-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday