novaposhta_api 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/novaposhta_api.rb +25 -1
- data/lib/novaposhta_api/client.rb +3 -4
- data/lib/novaposhta_api/configuration.rb +12 -0
- data/lib/novaposhta_api/middlewares/error_handling.rb +1 -1
- data/lib/novaposhta_api/models/tracking_document.rb +12 -0
- data/lib/novaposhta_api/rails.rb +1 -1
- data/lib/novaposhta_api/resources/tracking_document_resource.rb +15 -0
- data/lib/novaposhta_api/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: db0a59d6e83adee1e273164e0a7c3dc33828e2e0167451a4da1047dc88eaaf9e
|
4
|
+
data.tar.gz: 465497a98ad80b79aa90ee2722bfce629db455a7467f9e4f13a03bedef4ed79d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cf3b30451c7c21da4d71b7439f725c00b136c6240816501cb808b83ce738548a315509cc478473ca344ac9e2975521230e9654b78bc35db4e489dc47ed2c711d
|
7
|
+
data.tar.gz: c18707a6fc4f48be132091376dc6ec39322868aabd1fdcb5201ae53421947abfff3bcbc790cc6068345fe979f3cfb9b47db6fe3a3263fb0c7f7e225033ed9a9f
|
data/lib/novaposhta_api.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'novaposhta_api/version'
|
4
|
+
require 'novaposhta_api/configuration'
|
4
5
|
|
5
6
|
module NovaposhtaApi
|
6
7
|
autoload :Client, 'novaposhta_api/client'
|
@@ -18,6 +19,7 @@ module NovaposhtaApi
|
|
18
19
|
autoload :CityResource, 'novaposhta_api/resources/city_resource'
|
19
20
|
autoload :CounterpartyResource, 'novaposhta_api/resources/counterparty_resource'
|
20
21
|
autoload :InternetDocumentResource, 'novaposhta_api/resources/internet_document_resource'
|
22
|
+
autoload :TrackingDocumentResource, 'novaposhta_api/resources/tracking_document_resource'
|
21
23
|
autoload :SettlementResource, 'novaposhta_api/resources/settlement_resource'
|
22
24
|
autoload :WarehouseResource, 'novaposhta_api/resources/warehouse_resource'
|
23
25
|
end
|
@@ -26,6 +28,7 @@ module NovaposhtaApi
|
|
26
28
|
autoload :City, 'novaposhta_api/models/city'
|
27
29
|
autoload :Counterparty, 'novaposhta_api/models/counterparty'
|
28
30
|
autoload :InternetDocument, 'novaposhta_api/models/internet_document'
|
31
|
+
autoload :TrackingDocument, 'novaposhta_api/models/tracking_document'
|
29
32
|
autoload :Settlement, 'novaposhta_api/models/settlement'
|
30
33
|
autoload :Warehouse, 'novaposhta_api/models/warehouse'
|
31
34
|
end
|
@@ -34,10 +37,31 @@ module NovaposhtaApi
|
|
34
37
|
ResourceError = Class.new(Error)
|
35
38
|
ResponseError = Class.new(Error)
|
36
39
|
|
40
|
+
class << self
|
41
|
+
attr_writer :configuration
|
42
|
+
end
|
43
|
+
|
44
|
+
def self.configuration
|
45
|
+
@configuration ||= Configuration.new
|
46
|
+
end
|
47
|
+
|
48
|
+
def self.reset
|
49
|
+
@configuration = Configuration.new
|
50
|
+
end
|
51
|
+
|
52
|
+
# @example
|
53
|
+
# NovaposhtaApi.setup do |config|
|
54
|
+
# config.api_url = "https://api.novaposhta.ua/v2.0/json/"
|
55
|
+
# end
|
56
|
+
#
|
57
|
+
def self.setup
|
58
|
+
yield configuration
|
59
|
+
end
|
60
|
+
|
37
61
|
if Faraday::Middleware.respond_to? :register_middleware
|
38
62
|
Faraday::Response.register_middleware json: NovaposhtaApi::Middlewares::ParseJson
|
39
63
|
Faraday::Response.register_middleware error_handling: NovaposhtaApi::Middlewares::ErrorHandling
|
40
64
|
end
|
41
65
|
end
|
42
66
|
|
43
|
-
require 'novaposhta_api/rails'
|
67
|
+
require 'novaposhta_api/rails'
|
@@ -2,8 +2,6 @@
|
|
2
2
|
|
3
3
|
module NovaposhtaApi
|
4
4
|
class Client
|
5
|
-
API_URL = 'https://api.novaposhta.ua/v2.0/json/'
|
6
|
-
|
7
5
|
attr_reader :api_key
|
8
6
|
|
9
7
|
def initialize(api_key: nil)
|
@@ -15,6 +13,7 @@ module NovaposhtaApi
|
|
15
13
|
cities: Resources::CityResource,
|
16
14
|
counterparties: Resources::CounterpartyResource,
|
17
15
|
internet_documents: Resources::InternetDocumentResource,
|
16
|
+
tracking_documents: Resources::TrackingDocumentResource,
|
18
17
|
settlements: Resources::SettlementResource,
|
19
18
|
warehouses: Resources::WarehouseResource
|
20
19
|
}
|
@@ -43,8 +42,8 @@ module NovaposhtaApi
|
|
43
42
|
|
44
43
|
def connection
|
45
44
|
@connection ||= NovaposhtaApi::HttpClient.new(
|
46
|
-
uri:
|
47
|
-
api_key: api_key
|
45
|
+
uri: NovaposhtaApi.configuration.api_url,
|
46
|
+
api_key: api_key || NovaposhtaApi.configuration.api_key
|
48
47
|
)
|
49
48
|
end
|
50
49
|
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module NovaposhtaApi
|
4
|
+
module Models
|
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
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
data/lib/novaposhta_api/rails.rb
CHANGED
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module NovaposhtaApi
|
4
|
+
module Resources
|
5
|
+
class TrackingDocumentResource < Resource
|
6
|
+
def track(number)
|
7
|
+
response = post(
|
8
|
+
'TrackingDocument/getStatusDocuments', documents: [{document_number: number}]
|
9
|
+
)
|
10
|
+
|
11
|
+
NovaposhtaApi::Models::TrackingDocument.extract_single(response)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
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.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- venet
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-06
|
11
|
+
date: 2020-07-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -81,6 +81,7 @@ files:
|
|
81
81
|
- lib/novaposhta_api.rb
|
82
82
|
- lib/novaposhta_api/client.rb
|
83
83
|
- lib/novaposhta_api/collection.rb
|
84
|
+
- lib/novaposhta_api/configuration.rb
|
84
85
|
- lib/novaposhta_api/http_client.rb
|
85
86
|
- lib/novaposhta_api/middlewares/error_handling.rb
|
86
87
|
- lib/novaposhta_api/middlewares/parse_json.rb
|
@@ -89,6 +90,7 @@ files:
|
|
89
90
|
- lib/novaposhta_api/models/counterparty.rb
|
90
91
|
- lib/novaposhta_api/models/internet_document.rb
|
91
92
|
- lib/novaposhta_api/models/settlement.rb
|
93
|
+
- lib/novaposhta_api/models/tracking_document.rb
|
92
94
|
- lib/novaposhta_api/models/warehouse.rb
|
93
95
|
- lib/novaposhta_api/rails.rb
|
94
96
|
- lib/novaposhta_api/resource.rb
|
@@ -96,6 +98,7 @@ files:
|
|
96
98
|
- lib/novaposhta_api/resources/counterparty_resource.rb
|
97
99
|
- lib/novaposhta_api/resources/internet_document_resource.rb
|
98
100
|
- lib/novaposhta_api/resources/settlement_resource.rb
|
101
|
+
- lib/novaposhta_api/resources/tracking_document_resource.rb
|
99
102
|
- lib/novaposhta_api/resources/warehouse_resource.rb
|
100
103
|
- lib/novaposhta_api/version.rb
|
101
104
|
- novaposhta_api.gemspec
|