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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ab24b35210bcf8507b8a9222f77acb9333bc0386305c9cd8c606eab4aee6f11a
4
- data.tar.gz: b84b925473193fe7493966070dc3b38d29d2495d8ed67cdddec80f4dbcf3c8e1
3
+ metadata.gz: 0aea0bbaf9d56d6b87c79ea640e60c796bed4349b9aff10523882fa69b5f8fc5
4
+ data.tar.gz: a30ff5cd43dc7b0d60b79e7184f9707124e37f315eb8f64588801cf09664f655
5
5
  SHA512:
6
- metadata.gz: '09a0c8b2c2c15741a4d4602d54ddb0e28839ff7ada31c37deb975a5214dd9e9d294751f8765e258f02b289a0af2bf1bc6c086fe39d5d9ff3c64d9ff6dc47c95e'
7
- data.tar.gz: ee7cb6cc8de2752f2ed5812bdf5a279bee89babc2b9ca15253faf1010b054c6f3bdeb3b351987428e8e214a66205d560242f3db80edac401de34fb0406b50a83
6
+ metadata.gz: 93736a5bd1693f879294910ef3908e03fbb002dc271152a636aa76743b9f390ff31f9d8fba054ed4244a27212640dba4e373252aefe80618d41fb897ef456ced
7
+ data.tar.gz: 8041ac9e86d6e62da036110ca27ecb3f57709039d9770d2317d710817b40f2a5ff80568bc0611846c675b292e423827031cd4f4c14b9cb00a5b7553bced490d0
data/lib/usps/imis/api.rb CHANGED
@@ -45,6 +45,7 @@ module Usps
45
45
  def initialize(imis_id: nil)
46
46
  self.imis_id = imis_id if imis_id
47
47
  @logger ||= Imis.logger('Api')
48
+ Imis.config.validate!
48
49
  end
49
50
 
50
51
  # Manually set the current ID, if you already have it for a given member
@@ -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
@@ -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
@@ -10,7 +10,7 @@ module Usps
10
10
  format('%-5s', severity.to_s),
11
11
  "[#{$PROCESS_ID}]",
12
12
  "[#{time.strftime('%Y-%m-%d %H:%M:%S %Z')}]",
13
- '[iMIS Ruby API]',
13
+ 'iMIS Ruby API',
14
14
  '|',
15
15
  formatted_tags,
16
16
  '|',
@@ -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
@@ -61,8 +61,11 @@ module Usps
61
61
  @count = 0
62
62
  @logger ||= Imis.logger('Query', query_type)
63
63
 
64
- logger.debug inspect
65
- logger.debug "URI: #{uri}"
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
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Usps
4
4
  module Imis
5
- VERSION = '0.11.17'
5
+ VERSION = '0.11.19'
6
6
  end
7
7
  end
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.17
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