usps-imis-api 0.11.8 → 0.11.10
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/lib/usps/imis/api.rb +4 -0
- data/lib/usps/imis/command_line/interface.rb +2 -1
- data/lib/usps/imis/mapper.rb +25 -2
- data/lib/usps/imis/version.rb +1 -1
- data/lib/usps/imis.rb +2 -0
- metadata +15 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9d412dd6a963347c06e10a9c6173e65aeaef61b406cd105f3971932e2b72d09c
|
|
4
|
+
data.tar.gz: 9d4ef4563621e3f93ec36b7ee61702cc33f4290349f987a31973dfd3eb7fedd0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a3b7204faf4b700bd3bd4d32360f87f189fada0b95efe807f1026b93a61666385d12370c01170ee15e69d67fcf5b6912d6cd1e6685345d039db6ba8127ac61f1
|
|
7
|
+
data.tar.gz: '0687cb711157de3d5d86df272c9ba9628d0a66f7ad2c1db442e1b26918c345de3dce348a9e3f1039b31f06456dd513039381221d3db1919bff7f0a924d0ed47e'
|
data/lib/usps/imis/api.rb
CHANGED
|
@@ -135,6 +135,10 @@ module Usps
|
|
|
135
135
|
def fetch(field_key) = mapper.fetch(field_key)
|
|
136
136
|
alias [] fetch
|
|
137
137
|
|
|
138
|
+
# Convenience alias for reading multiple mapped fields
|
|
139
|
+
#
|
|
140
|
+
def fetch_all(*fields) = mapper.fetch_all(*fields)
|
|
141
|
+
|
|
138
142
|
# Convenience alias for updating mapped fields
|
|
139
143
|
#
|
|
140
144
|
def put_field(field_key, value) = update(field_key => value)
|
|
@@ -66,7 +66,8 @@ module Usps
|
|
|
66
66
|
def perform!
|
|
67
67
|
case convert(options)
|
|
68
68
|
in mapper:, field:, data: then mapper.put_field(field.to_sym, data)
|
|
69
|
-
in mapper:,
|
|
69
|
+
in mapper:, fields: then mapper.get_fields(*fields)
|
|
70
|
+
in mapper:, field: then mapper.get_field(field.to_sym)
|
|
70
71
|
in mapper:, data: then mapper.update(data)
|
|
71
72
|
|
|
72
73
|
in on:, delete: true then on.delete
|
data/lib/usps/imis/mapper.rb
CHANGED
|
@@ -38,13 +38,36 @@ module Usps
|
|
|
38
38
|
#
|
|
39
39
|
# @return Value of the field
|
|
40
40
|
#
|
|
41
|
-
def
|
|
41
|
+
def get_field(field_key)
|
|
42
42
|
missing_mapping!(field_key) unless FIELD_MAPPING.key?(field_key.to_sym)
|
|
43
43
|
|
|
44
44
|
business_object_name, field = FIELD_MAPPING[field_key]
|
|
45
45
|
api.on(business_object_name)[field]
|
|
46
46
|
end
|
|
47
|
-
alias
|
|
47
|
+
alias fetch get_field
|
|
48
|
+
alias [] get_field
|
|
49
|
+
|
|
50
|
+
# Get specific fields by arbitrary field names
|
|
51
|
+
#
|
|
52
|
+
# @param names [Array<String>] Internal name of the fields
|
|
53
|
+
#
|
|
54
|
+
# @return [Array] Values of the field
|
|
55
|
+
#
|
|
56
|
+
def get_fields(*fields)
|
|
57
|
+
business_objects = {}
|
|
58
|
+
|
|
59
|
+
fields.map do |field_key|
|
|
60
|
+
business_object_name, field = FIELD_MAPPING[field_key.to_sym]
|
|
61
|
+
|
|
62
|
+
business_objects[business_object_name] ||= []
|
|
63
|
+
business_objects[business_object_name] << field
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
business_objects.flat_map do |business_object_name, fields|
|
|
67
|
+
api.on(business_object_name).get_fields(*fields)
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
alias fetch_all get_fields
|
|
48
71
|
|
|
49
72
|
# Update a member's data for a specific field by arbitrary field name
|
|
50
73
|
#
|
data/lib/usps/imis/version.rb
CHANGED
data/lib/usps/imis.rb
CHANGED
|
@@ -16,6 +16,8 @@ require 'logger'
|
|
|
16
16
|
require 'active_support/isolated_execution_state' # Fix costant loading issue with TaggedLogging
|
|
17
17
|
require 'active_support/tagged_logging'
|
|
18
18
|
|
|
19
|
+
require 'dotenv/load'
|
|
20
|
+
|
|
19
21
|
# Internal requires
|
|
20
22
|
require_relative 'imis/config'
|
|
21
23
|
require_relative 'imis/error'
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: usps-imis-api
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.11.
|
|
4
|
+
version: 0.11.10
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Julian Fiander
|
|
@@ -23,6 +23,20 @@ dependencies:
|
|
|
23
23
|
- - "~>"
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
25
|
version: '8.0'
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
27
|
+
name: dotenv
|
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
|
29
|
+
requirements:
|
|
30
|
+
- - "~>"
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: 3.1.4
|
|
33
|
+
type: :runtime
|
|
34
|
+
prerelease: false
|
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - "~>"
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: 3.1.4
|
|
26
40
|
- !ruby/object:Gem::Dependency
|
|
27
41
|
name: colorize
|
|
28
42
|
requirement: !ruby/object:Gem::Requirement
|