easypost 2.6.2 → 2.7.0
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 +4 -4
- data/CHANGELOG +4 -0
- data/VERSION +1 -1
- data/lib/easypost/report.rb +3 -23
- data/spec/report_spec.rb +38 -66
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1f178b47d51bce112434a172275e8f6c1b5772c4
|
4
|
+
data.tar.gz: 5de1c530ac6212a5fe80e47346ef06f2e2b1eb22
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 24ec4dc5c4f23dedc19a21431773ef0370935946d3b7a9a5b8f767b63a4782b694dd5fe81534838a1e379b78b4aaf9ccb25bb1138c30f10bdfc48336a4268f3f
|
7
|
+
data.tar.gz: 722b3a9549d80060324b576068e1094d235edcd8daa13e2e96d73c555ac827678ee4a50a78964fdd3fcbe44f07eaeded42b1d1b9cb10093ebd2d850697a85531
|
data/CHANGELOG
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.7.0
|
data/lib/easypost/report.rb
CHANGED
@@ -1,44 +1,24 @@
|
|
1
1
|
module EasyPost
|
2
2
|
class Report < Resource
|
3
|
-
REPORT_TYPES = { shprep: 'shipment', plrep: 'payment_log', trkrep: 'tracker' }
|
4
|
-
|
5
3
|
def self.create(params={}, api_key=nil)
|
6
|
-
url = self.url
|
4
|
+
url = "#{self.url}/#{params[:type]}"
|
7
5
|
wrapped_params = {}
|
8
6
|
wrapped_params[class_name.to_sym] = params
|
9
7
|
|
10
|
-
if REPORT_TYPES.values.include?(params[:type].to_s)
|
11
|
-
url += "/#{params[:type]}"
|
12
|
-
else
|
13
|
-
raise Error.new("Undetermined Report Type")
|
14
|
-
end
|
15
|
-
|
16
8
|
response, api_key = EasyPost.request(:post, url, api_key, params)
|
17
9
|
return Util.convert_to_easypost_object(response, api_key)
|
18
10
|
end
|
19
11
|
|
20
12
|
def self.retrieve(params, api_key=nil)
|
21
|
-
url = self.url
|
13
|
+
url = "#{self.url}/#{params[:type]}/#{params[:id]}"
|
22
14
|
obj_id = params[:id].split("_")[0]
|
23
15
|
|
24
|
-
if REPORT_TYPES.has_key?(obj_id.to_sym)
|
25
|
-
url += "/#{REPORT_TYPES[obj_id.to_sym]}/#{params[:id]}"
|
26
|
-
else
|
27
|
-
raise Error.new("Undetermined Report Type")
|
28
|
-
end
|
29
|
-
|
30
16
|
response, api_key = EasyPost.request(:get, url, api_key, params)
|
31
17
|
return EasyPost::Util::convert_to_easypost_object(response, api_key) if response
|
32
18
|
end
|
33
19
|
|
34
20
|
def self.all(filters={}, api_key=nil)
|
35
|
-
url = self.url
|
36
|
-
|
37
|
-
if REPORT_TYPES.values.include?(filters[:type].to_s)
|
38
|
-
url += "/#{filters[:type]}"
|
39
|
-
else
|
40
|
-
raise Error.new("Undetermined Report Type")
|
41
|
-
end
|
21
|
+
url = "#{self.url}/#{filters[:type]}"
|
42
22
|
|
43
23
|
response, api_key = EasyPost.request(:get, url, api_key, filters)
|
44
24
|
return EasyPost::Util::convert_to_easypost_object(response, api_key) if response
|
data/spec/report_spec.rb
CHANGED
@@ -1,76 +1,48 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe EasyPost::Report do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
raise "Invalid type!"
|
17
|
-
end
|
18
|
-
}
|
19
|
-
|
20
|
-
describe '#create' do
|
21
|
-
it 'creates a report object' do
|
22
|
-
report = EasyPost::Report.create(
|
23
|
-
start_date: Date.today - 30,
|
24
|
-
end_date: Date.today,
|
25
|
-
type: type
|
26
|
-
)
|
27
|
-
expect(report.object).to eq type_name
|
28
|
-
# will switch that test on when tracker status is deployed
|
29
|
-
# expect(report.status).to eq 'available'
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
describe '#retrieve' do
|
34
|
-
it 'retrieves a user created report by public_id' do
|
35
|
-
report_1 = EasyPost::Report.create(
|
36
|
-
start_date: Date.today - 30,
|
37
|
-
end_date: Date.today,
|
38
|
-
type: type
|
39
|
-
)
|
40
|
-
report_2 = EasyPost::Report.retrieve(id: report_1.id)
|
41
|
-
|
42
|
-
expect(report_1.object).to eq type_name
|
43
|
-
expect(report_2.object).to eq type_name
|
44
|
-
expect(report_2.id).to eq(report_1.id)
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
describe '#all' do
|
49
|
-
it 'retrieves all user created reports' do
|
50
|
-
report_1 = EasyPost::Report.create(
|
51
|
-
start_date: Date.today - 25,
|
52
|
-
end_date: Date.today,
|
53
|
-
type: type
|
54
|
-
)
|
4
|
+
TYPE = 'shipment'
|
5
|
+
describe '#create' do
|
6
|
+
it 'creates a report object' do
|
7
|
+
report = EasyPost::Report.create(
|
8
|
+
start_date: Date.today - 30,
|
9
|
+
end_date: Date.today,
|
10
|
+
type: TYPE
|
11
|
+
)
|
12
|
+
expect(report.object).to eq 'ShipmentReport'
|
13
|
+
expect(['available', 'new']).to include(report.status)
|
14
|
+
end
|
15
|
+
end
|
55
16
|
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
17
|
+
describe '#retrieve' do
|
18
|
+
it 'retrieves a user created report by public_id' do
|
19
|
+
report_1 = EasyPost::Report.create(
|
20
|
+
start_date: Date.today - 30,
|
21
|
+
end_date: Date.today,
|
22
|
+
type: TYPE
|
23
|
+
)
|
24
|
+
report_2 = EasyPost::Report.retrieve(type: TYPE, id: report_1.id)
|
62
25
|
|
63
|
-
|
64
|
-
end
|
65
|
-
end
|
26
|
+
expect(report_2.id).to eq(report_1.id)
|
66
27
|
end
|
67
28
|
end
|
68
29
|
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
30
|
+
describe '#all' do
|
31
|
+
it 'retrieves all user created reports' do
|
32
|
+
report_1 = EasyPost::Report.create(
|
33
|
+
start_date: Date.today - 25,
|
34
|
+
end_date: Date.today,
|
35
|
+
type: TYPE
|
36
|
+
)
|
37
|
+
|
38
|
+
report_2 = EasyPost::Report.create(
|
39
|
+
start_date: Date.today - 29,
|
40
|
+
end_date: Date.today,
|
41
|
+
type: TYPE
|
42
|
+
)
|
43
|
+
reports = EasyPost::Report.all(type: TYPE)
|
44
|
+
|
45
|
+
expect(reports.count).to eq 2
|
46
|
+
end
|
75
47
|
end
|
76
48
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: easypost
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sawyer Bateman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-04-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|