usps-imis-api 0.11.17 → 0.11.19
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 +1 -0
- data/lib/usps/imis/config.rb +10 -0
- data/lib/usps/imis/logger.rb +3 -8
- data/lib/usps/imis/logger_formatter.rb +1 -1
- data/lib/usps/imis/logger_helpers.rb +17 -0
- data/lib/usps/imis/query.rb +5 -2
- data/lib/usps/imis/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0aea0bbaf9d56d6b87c79ea640e60c796bed4349b9aff10523882fa69b5f8fc5
|
|
4
|
+
data.tar.gz: a30ff5cd43dc7b0d60b79e7184f9707124e37f315eb8f64588801cf09664f655
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 93736a5bd1693f879294910ef3908e03fbb002dc271152a636aa76743b9f390ff31f9d8fba054ed4244a27212640dba4e373252aefe80618d41fb897ef456ced
|
|
7
|
+
data.tar.gz: 8041ac9e86d6e62da036110ca27ecb3f57709039d9770d2317d710817b40f2a5ff80568bc0611846c675b292e423827031cd4f4c14b9cb00a5b7553bced490d0
|
data/lib/usps/imis/api.rb
CHANGED
data/lib/usps/imis/config.rb
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require_relative 'logger'
|
|
4
4
|
require_relative 'logger_formatter'
|
|
5
|
+
require_relative 'logger_helpers'
|
|
5
6
|
|
|
6
7
|
module Usps
|
|
7
8
|
module Imis
|
|
@@ -10,6 +11,7 @@ module Usps
|
|
|
10
11
|
class Config
|
|
11
12
|
IMIS_ROOT_URL_PROD = 'https://portal.americasboatingclub.org'
|
|
12
13
|
IMIS_ROOT_URL_DEV = 'https://abcdev.imiscloud.com'
|
|
14
|
+
REQUIRED_CONFIGS = %w[imis_id_query_name username password].freeze
|
|
13
15
|
|
|
14
16
|
attr_accessor :imis_id_query_name, :username, :password
|
|
15
17
|
attr_reader :environment, :logger, :logger_level
|
|
@@ -33,6 +35,7 @@ module Usps
|
|
|
33
35
|
|
|
34
36
|
def logger=(logger)
|
|
35
37
|
@base_logger = logger.tap { it.formatter = LoggerFormatter.new }
|
|
38
|
+
@base_logger.singleton_class.include(LoggerHelpers)
|
|
36
39
|
@logger = ActiveSupport::TaggedLogging.new(@base_logger)
|
|
37
40
|
end
|
|
38
41
|
|
|
@@ -59,6 +62,13 @@ module Usps
|
|
|
59
62
|
#
|
|
60
63
|
def filtered_parameters = %i[password]
|
|
61
64
|
|
|
65
|
+
def validate!
|
|
66
|
+
missing_config = REQUIRED_CONFIGS.filter_map { it if public_send(it).nil? }
|
|
67
|
+
return if missing_config.empty?
|
|
68
|
+
|
|
69
|
+
raise Errors::ConfigError, "Missing required configuration: #{missing_config.join(', ')}"
|
|
70
|
+
end
|
|
71
|
+
|
|
62
72
|
private
|
|
63
73
|
|
|
64
74
|
def default_environment
|
data/lib/usps/imis/logger.rb
CHANGED
|
@@ -1,24 +1,19 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require_relative 'logger_formatter'
|
|
4
|
+
require_relative 'logger_helpers'
|
|
4
5
|
|
|
5
6
|
module Usps
|
|
6
7
|
module Imis
|
|
7
8
|
# Formatted logger with additional helpers
|
|
8
9
|
#
|
|
9
10
|
class Logger < ::Logger
|
|
11
|
+
include LoggerHelpers
|
|
12
|
+
|
|
10
13
|
def initialize(...)
|
|
11
14
|
super
|
|
12
15
|
self.formatter = LoggerFormatter.new
|
|
13
16
|
end
|
|
14
|
-
|
|
15
|
-
def multiline(string)
|
|
16
|
-
string.split("\n").each { |line| debug(line) }
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def json(data)
|
|
20
|
-
tagged('JSON') { multiline(JSON.pretty_generate(data)) }
|
|
21
|
-
end
|
|
22
17
|
end
|
|
23
18
|
end
|
|
24
19
|
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Usps
|
|
4
|
+
module Imis
|
|
5
|
+
# Formatted logger helpers
|
|
6
|
+
#
|
|
7
|
+
module LoggerHelpers
|
|
8
|
+
def multiline(string)
|
|
9
|
+
string.split("\n").each { |line| debug(line) }
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def json(data)
|
|
13
|
+
tagged('JSON') { multiline(JSON.pretty_generate(data)) }
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
data/lib/usps/imis/query.rb
CHANGED
|
@@ -61,8 +61,11 @@ module Usps
|
|
|
61
61
|
@count = 0
|
|
62
62
|
@logger ||= Imis.logger('Query', query_type)
|
|
63
63
|
|
|
64
|
-
logger.debug
|
|
65
|
-
logger.
|
|
64
|
+
logger.tagged('Name').debug query_name
|
|
65
|
+
logger.tagged('Params').json query_params
|
|
66
|
+
logger.tagged('URI').debug uri
|
|
67
|
+
logger.tagged('Page Size').debug page_size
|
|
68
|
+
logger.tagged('Offset').debug offset.to_i
|
|
66
69
|
end
|
|
67
70
|
|
|
68
71
|
# Iterate through all results from the query
|
data/lib/usps/imis/version.rb
CHANGED
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.19
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Julian Fiander
|
|
@@ -95,6 +95,7 @@ files:
|
|
|
95
95
|
- lib/usps/imis/errors/unexpected_property_type_error.rb
|
|
96
96
|
- lib/usps/imis/logger.rb
|
|
97
97
|
- lib/usps/imis/logger_formatter.rb
|
|
98
|
+
- lib/usps/imis/logger_helpers.rb
|
|
98
99
|
- lib/usps/imis/mapper.rb
|
|
99
100
|
- lib/usps/imis/mocks.rb
|
|
100
101
|
- lib/usps/imis/mocks/business_object.rb
|