usps-imis-api 0.9.5 → 0.9.7
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/Gemfile.lock +1 -1
- data/lib/usps/imis/mocks/business_object.rb +12 -2
- data/lib/usps/imis/version.rb +1 -1
- data/lib/usps/imis.rb +5 -0
- data/spec/lib/usps/imis/mocks/business_object_spec.rb +9 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a78cd8daed5969574e8ec5fc3120a8a5a6c362e519918620ce41c2ed0fc0f26c
|
|
4
|
+
data.tar.gz: 0f20aa470ec2f2b8501f670046ee1071fea8552c22dd9f70165fb2ea986a46aa
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 41f2a2c9082ce49399a1a9b3e44ddd2cb86a8624d112ea6c36875e05da74db61cd6272f96819d0d889c5ac83e857f900ecaad357da9dd25a3b3094b7354dbce4
|
|
7
|
+
data.tar.gz: 131e53225ae3d111b49c64302a99d5b32227e45b2734c42ea2131d5de986c60c2d359c43aef10a5191ce03d6406c5f6bbe0fcfadd11843347533cef0dcd555f3
|
data/Gemfile.lock
CHANGED
|
@@ -12,25 +12,35 @@ module Usps
|
|
|
12
12
|
@fields = fields.transform_keys(&:to_s)
|
|
13
13
|
end
|
|
14
14
|
|
|
15
|
-
def get_field(name) = fields[name]
|
|
16
|
-
|
|
17
15
|
def get
|
|
18
16
|
Usps::Imis::Properties.build do |props|
|
|
19
17
|
fields.each { |name, value| props.add(name, value) }
|
|
20
18
|
end
|
|
21
19
|
end
|
|
20
|
+
alias read get
|
|
21
|
+
|
|
22
|
+
def get_field(name) = fields[name]
|
|
23
|
+
alias fetch get_field
|
|
24
|
+
alias [] get_field
|
|
25
|
+
|
|
26
|
+
def get_fields(*field_names) = field_names.map { fields[it] }
|
|
27
|
+
alias fetch_all get_fields
|
|
22
28
|
|
|
23
29
|
def put_fields(data)
|
|
24
30
|
Usps::Imis::Properties.build do |props|
|
|
25
31
|
fields.merge(data.transform_keys(&:to_s)).each { |name, value| props.add(name, value) }
|
|
26
32
|
end
|
|
27
33
|
end
|
|
34
|
+
alias patch put_fields
|
|
28
35
|
|
|
29
36
|
def put(data) = data
|
|
37
|
+
alias update put
|
|
30
38
|
|
|
31
39
|
def post(data) = data
|
|
40
|
+
alias create post
|
|
32
41
|
|
|
33
42
|
def delete = ''
|
|
43
|
+
alias destroy delete
|
|
34
44
|
end
|
|
35
45
|
end
|
|
36
46
|
end
|
data/lib/usps/imis/version.rb
CHANGED
data/lib/usps/imis.rb
CHANGED
|
@@ -21,6 +21,7 @@ require_relative 'imis/api'
|
|
|
21
21
|
require_relative 'imis/properties'
|
|
22
22
|
require_relative 'imis/panels'
|
|
23
23
|
require_relative 'imis/mocks'
|
|
24
|
+
require_relative 'imis/version'
|
|
24
25
|
|
|
25
26
|
module Usps
|
|
26
27
|
# API wrapper for interacting with iMIS
|
|
@@ -48,6 +49,10 @@ module Usps
|
|
|
48
49
|
# Logger (with optional nested tags) to write to
|
|
49
50
|
#
|
|
50
51
|
def logger(*tags) = configuration.logger.tagged('iMIS', *tags)
|
|
52
|
+
|
|
53
|
+
# Gem version
|
|
54
|
+
#
|
|
55
|
+
def version = Gem::Version.new(VERSION)
|
|
51
56
|
end
|
|
52
57
|
end
|
|
53
58
|
end
|
|
@@ -4,11 +4,12 @@ require 'spec_helper'
|
|
|
4
4
|
|
|
5
5
|
describe Usps::Imis::Mocks::BusinessObject do
|
|
6
6
|
let(:mock) { described_class.new(**fields) }
|
|
7
|
-
let(:fields) { { TotMMS: 2 } }
|
|
7
|
+
let(:fields) { { TotMMS: 2, Something: 'Another' } }
|
|
8
8
|
|
|
9
9
|
let(:data) do
|
|
10
10
|
Usps::Imis::Properties.build do |props|
|
|
11
11
|
props.add 'TotMMS', 2
|
|
12
|
+
props.add 'Something', 'Another'
|
|
12
13
|
end
|
|
13
14
|
end
|
|
14
15
|
|
|
@@ -24,10 +25,17 @@ describe Usps::Imis::Mocks::BusinessObject do
|
|
|
24
25
|
end
|
|
25
26
|
end
|
|
26
27
|
|
|
28
|
+
describe 'get_fields' do
|
|
29
|
+
it 'returns the correct field values' do
|
|
30
|
+
expect(mock.get_fields('TotMMS', 'Something')).to eq([2, 'Another'])
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
27
34
|
describe 'put_fields' do
|
|
28
35
|
let(:combined_data) do
|
|
29
36
|
Usps::Imis::Properties.build do |props|
|
|
30
37
|
props.add 'TotMMS', 2
|
|
38
|
+
props.add 'Something', 'Another'
|
|
31
39
|
props.add 'SomethingElse', 'interesting'
|
|
32
40
|
end
|
|
33
41
|
end
|