eml 2.1.6 → 2.2.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.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/eml.gemspec +3 -3
  3. data/lib/eml/error/rest/internal_server.rb +1 -1
  4. data/lib/eml/error/tns.rb +1 -1
  5. data/lib/eml/lib/basic_auth/generate.rb +1 -1
  6. data/lib/eml/lib/basic_auth/verify.rb +1 -1
  7. data/lib/eml/lib/constant_time_compare.rb +1 -1
  8. data/lib/eml/parameters.rb +6 -3
  9. data/lib/eml/payload.rb +1 -1
  10. data/lib/eml/response.rb +1 -1
  11. data/lib/eml/uk/models/tns/card.rb +1 -1
  12. data/lib/eml/uk/models/transaction.rb +1 -1
  13. data/lib/eml/uk/parameters/agreement/show.rb +3 -2
  14. data/lib/eml/uk/parameters/card/activation.rb +4 -4
  15. data/lib/eml/uk/parameters/card/lock.rb +4 -4
  16. data/lib/eml/uk/parameters/card/register.rb +4 -4
  17. data/lib/eml/uk/parameters/card/reload.rb +4 -4
  18. data/lib/eml/uk/parameters/card/show.rb +16 -7
  19. data/lib/eml/uk/parameters/card/transaction.rb +14 -7
  20. data/lib/eml/uk/parameters/card/unload.rb +4 -4
  21. data/lib/eml/uk/parameters/card/unlock.rb +4 -4
  22. data/lib/eml/uk/parameters/card/void.rb +4 -4
  23. data/lib/eml/uk/parameters.rb +3 -0
  24. data/lib/eml/uk/payload/agreement/show.rb +19 -10
  25. data/lib/eml/uk/payload/card/activation.rb +25 -14
  26. data/lib/eml/uk/payload/card/lock.rb +14 -7
  27. data/lib/eml/uk/payload/card/register.rb +24 -5
  28. data/lib/eml/uk/payload/card/reload.rb +17 -8
  29. data/lib/eml/uk/payload/card/show.rb +1 -1
  30. data/lib/eml/uk/payload/card/transaction.rb +1 -1
  31. data/lib/eml/uk/payload/card/unload.rb +17 -8
  32. data/lib/eml/uk/payload/card/unlock.rb +5 -5
  33. data/lib/eml/uk/payload/card/void.rb +5 -5
  34. data/lib/eml/uk/payload/location.rb +6 -6
  35. data/lib/eml/uk/response.rb +1 -1
  36. data/lib/eml/uk/responses/agreement/show.rb +1 -1
  37. data/lib/eml/uk/responses/card/reload.rb +1 -1
  38. data/lib/eml/uk/responses/card/show.rb +1 -1
  39. data/lib/eml/version.rb +1 -1
  40. data/sorbet/rbi/gems/addressable.rbi +2 -2
  41. data/sorbet/rbi/gems/byebug.rbi +1039 -0
  42. data/sorbet/rbi/gems/coderay.rbi +91 -0
  43. data/sorbet/rbi/gems/ffi-compiler.rbi +26 -0
  44. data/sorbet/rbi/gems/ffi.rbi +559 -0
  45. data/sorbet/rbi/gems/http-parser.rbi +120 -0
  46. data/sorbet/rbi/gems/http.rbi +13 -7
  47. data/sorbet/rbi/gems/method_source.rbi +63 -0
  48. data/sorbet/rbi/gems/pry-byebug.rbi +149 -0
  49. data/sorbet/rbi/gems/pry.rbi +1964 -0
  50. data/sorbet/rbi/gems/public_suffix.rbi +1 -1
  51. data/sorbet/rbi/gems/rake.rbi +645 -0
  52. data/sorbet/rbi/gems/rspec-core.rbi +38 -1
  53. data/sorbet/rbi/gems/rubocop.rbi +4 -0
  54. data/sorbet/rbi/gems/simplecov-html.rbi +5 -1
  55. data/sorbet/rbi/gems/simplecov.rbi +143 -17
  56. data/sorbet/rbi/gems/webmock.rbi +0 -4
  57. data/sorbet/rbi/hidden-definitions/errors.txt +7053 -166
  58. data/sorbet/rbi/hidden-definitions/hidden.rbi +12951 -3455
  59. data/sorbet/rbi/sorbet-typed/lib/bundler/all/bundler.rbi +3 -1
  60. data/sorbet/rbi/sorbet-typed/lib/rainbow/all/rainbow.rbi +254 -0
  61. data/sorbet/rbi/sorbet-typed/lib/ruby/all/open3.rbi +8 -8
  62. data/sorbet/rbi/todo.rbi +18 -0
  63. metadata +36 -15
  64. data/sorbet/rbi/gems/http_parser.rb.rbi +0 -36
@@ -1,4 +1,4 @@
1
- # typed: true
1
+ # typed: strict
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module EML
@@ -8,8 +8,26 @@ module EML
8
8
  class Register < ::EML::UK::Payload
9
9
  include ISO
10
10
 
11
- REQUIRED_VALUES =
12
- %i[first_name last_name address1 city country email].freeze
11
+ REQUIRED_VALUES = T.let(
12
+ %i[first_name last_name address1 city country email].freeze,
13
+ T::Array[Symbol]
14
+ )
15
+
16
+ # rubocop:disable Metrics/AbcSize
17
+ sig { params(payload: T::Hash[Symbol, T.untyped]).void }
18
+ def initialize(payload)
19
+ super
20
+
21
+ @first_name = T.let(nil, T.nilable(String))
22
+ @last_name = T.let(nil, T.nilable(String))
23
+ @address1 = T.let(nil, T.nilable(String))
24
+ @address2 = T.let(nil, T.nilable(String))
25
+ @city = T.let(nil, T.nilable(String))
26
+ @dob = T.let(nil, T.nilable(T.any(Date, String, Time)))
27
+ @email = T.let(nil, T.nilable(String))
28
+ @phone = T.let(nil, T.nilable(String))
29
+ end
30
+ # rubocop:enable Metrics/AbcSize
13
31
 
14
32
  private
15
33
 
@@ -43,8 +61,9 @@ module EML
43
61
  @city = city
44
62
  end
45
63
 
46
- sig { params(dob: String).void }
64
+ sig { params(dob: T.any(Date, String, Time)).void }
47
65
  def dob=(dob)
66
+ dob = dob.strftime("%m%d%Y") if dob.respond_to?(:strftime)
48
67
  validate_dob(dob)
49
68
  @dob = dob
50
69
  end
@@ -61,7 +80,7 @@ module EML
61
80
  @phone = phone
62
81
  end
63
82
 
64
- sig { params(postal_code: String).returns(String) }
83
+ sig { returns(T.nilable(String)) }
65
84
  attr_accessor :postal_code
66
85
  end
67
86
  end
@@ -1,4 +1,4 @@
1
- # typed: true
1
+ # typed: strict
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module EML
@@ -6,30 +6,39 @@ module EML
6
6
  class Payload
7
7
  module Card
8
8
  class Reload < ::EML::UK::Payload
9
- REQUIRED_CONFIG = %i[merchant_group].freeze
10
- REQUIRED_VALUES = %i[amount location.country].freeze
9
+ REQUIRED_CONFIG =
10
+ T.let(%i[merchant_group].freeze, T::Array[Symbol])
11
+ REQUIRED_VALUES =
12
+ T.let(%i[amount location.country].freeze, T::Array[Symbol])
13
+
14
+ sig { params(payload: T::Hash[Symbol, T.untyped]).void }
15
+ def initialize(payload)
16
+ super
17
+
18
+ @location = T.let(nil, T.nilable(EML::UK::Payload::Location))
19
+ end
11
20
 
12
21
  private
13
22
 
14
- sig { params(amount: Numeric).returns(Numeric) }
23
+ sig { returns(T.nilable(Numeric)) }
15
24
  attr_accessor :amount
16
25
 
17
26
  # While client_time is sent to EML as a JSON DateTime, there are many
18
27
  # classes that could be used which causes a typing challenge. For
19
28
  # example, if Rails is in use, we will probably receive a
20
29
  # ActiveSupport::TimeWithZone
21
- sig { params(client_time: T.untyped).returns(T.untyped) }
30
+ sig { returns(T.nilable(T.untyped)) }
22
31
  attr_accessor :client_time
23
32
 
24
- sig { params(location: Hash).void }
33
+ sig { params(location: T::Hash[T.untyped, T.untyped]).void }
25
34
  def location=(location)
26
35
  @location = EML::UK::Payload::Location.new(location)
27
36
  end
28
37
 
29
- sig { params(merchant_group: String).returns(String) }
38
+ sig { returns(T.nilable(String)) }
30
39
  attr_accessor :merchant_group
31
40
 
32
- sig { params(note: String).returns(String) }
41
+ sig { returns(T.nilable(String)) }
33
42
  attr_accessor :note
34
43
  end
35
44
  end
@@ -1,4 +1,4 @@
1
- # typed: true
1
+ # typed: strong
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module EML
@@ -1,4 +1,4 @@
1
- # typed: true
1
+ # typed: strong
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module EML
@@ -1,4 +1,4 @@
1
- # typed: true
1
+ # typed: strict
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module EML
@@ -6,30 +6,39 @@ module EML
6
6
  class Payload
7
7
  module Card
8
8
  class Unload < ::EML::UK::Payload
9
- REQUIRED_CONFIG = %i[merchant_group].freeze
10
- REQUIRED_VALUES = %i[amount location.country note].freeze
9
+ REQUIRED_CONFIG =
10
+ T.let(%i[merchant_group].freeze, T::Array[Symbol])
11
+ REQUIRED_VALUES =
12
+ T.let(%i[amount location.country note].freeze, T::Array[Symbol])
13
+
14
+ sig { params(payload: T::Hash[Symbol, T.untyped]).void }
15
+ def initialize(payload)
16
+ super
17
+
18
+ @location = T.let(nil, T.nilable(EML::UK::Payload::Location))
19
+ end
11
20
 
12
21
  private
13
22
 
14
- sig { params(amount: Numeric).returns(Numeric) }
23
+ sig { returns(T.nilable(Numeric)) }
15
24
  attr_accessor :amount
16
25
 
17
26
  # While client_time is sent to EML as a JSON DateTime, there are many
18
27
  # classes that could be used which causes a typing challenge. For
19
28
  # example, if Rails is in use, we will probably receive a
20
29
  # ActiveSupport::TimeWithZone
21
- sig { params(client_time: T.untyped).returns(T.untyped) }
30
+ sig { returns(T.nilable(T.untyped)) }
22
31
  attr_accessor :client_time
23
32
 
24
- sig { params(location: Hash).void }
33
+ sig { params(location: T::Hash[T.untyped, T.untyped]).void }
25
34
  def location=(location)
26
35
  @location = EML::UK::Payload::Location.new(location)
27
36
  end
28
37
 
29
- sig { params(merchant_group: String).returns(String) }
38
+ sig { returns(T.nilable(String)) }
30
39
  attr_accessor :merchant_group
31
40
 
32
- sig { params(note: String).returns(String) }
41
+ sig { returns(T.nilable(String)) }
33
42
  attr_accessor :note
34
43
  end
35
44
  end
@@ -1,4 +1,4 @@
1
- # typed: true
1
+ # typed: strict
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module EML
@@ -6,15 +6,15 @@ module EML
6
6
  class Payload
7
7
  module Card
8
8
  class Unlock < ::EML::UK::Payload
9
- REQUIRED_CONFIG = %i[merchant_group].freeze
10
- REQUIRED_VALUES = %i[note].freeze
9
+ REQUIRED_CONFIG = T.let(%i[merchant_group].freeze, T::Array[Symbol])
10
+ REQUIRED_VALUES = T.let(%i[note].freeze, T::Array[Symbol])
11
11
 
12
12
  private
13
13
 
14
- sig { params(merchant_group: String).returns(String) }
14
+ sig { returns(T.nilable(String)) }
15
15
  attr_accessor :merchant_group
16
16
 
17
- sig { params(note: String).returns(String) }
17
+ sig { returns(T.nilable(String)) }
18
18
  attr_accessor :note
19
19
  end
20
20
  end
@@ -1,4 +1,4 @@
1
- # typed: true
1
+ # typed: strict
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module EML
@@ -6,15 +6,15 @@ module EML
6
6
  class Payload
7
7
  module Card
8
8
  class Void < ::EML::UK::Payload
9
- REQUIRED_CONFIG = %i[merchant_group].freeze
10
- REQUIRED_VALUES = %i[note].freeze
9
+ REQUIRED_CONFIG = T.let(%i[merchant_group].freeze, T::Array[Symbol])
10
+ REQUIRED_VALUES = T.let(%i[note].freeze, T::Array[Symbol])
11
11
 
12
12
  private
13
13
 
14
- sig { params(merchant_group: String).returns(String) }
14
+ sig { returns(T.nilable(String)) }
15
15
  attr_accessor :merchant_group
16
16
 
17
- sig { params(note: String).returns(String) }
17
+ sig { returns(T.nilable(String)) }
18
18
  attr_accessor :note
19
19
  end
20
20
  end
@@ -1,4 +1,4 @@
1
- # typed: true
1
+ # typed: strict
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module EML
@@ -10,19 +10,19 @@ module EML
10
10
 
11
11
  private
12
12
 
13
- sig { params(name: String).returns(String) }
13
+ sig { returns(T.nilable(String)) }
14
14
  attr_accessor :name
15
15
 
16
- sig { params(address1: String).returns(String) }
16
+ sig { returns(T.nilable(String)) }
17
17
  attr_accessor :address1
18
18
 
19
- sig { params(address2: String).returns(String) }
19
+ sig { returns(T.nilable(String)) }
20
20
  attr_accessor :address2
21
21
 
22
- sig { params(city: String).returns(String) }
22
+ sig { returns(T.nilable(String)) }
23
23
  attr_accessor :city
24
24
 
25
- sig { params(postal_code: String).returns(String) }
25
+ sig { returns(T.nilable(String)) }
26
26
  attr_accessor :postal_code
27
27
  end
28
28
  end
@@ -20,7 +20,7 @@ module EML
20
20
  sig { params(field_name: Symbol).void }
21
21
  def date_field(field_name)
22
22
  define_method(field_name) do
23
- ::EML::UK::ParseDate.(body[field_name.to_s])
23
+ ::EML::UK::ParseDate.(T.unsafe(self).body[field_name.to_s])
24
24
  end
25
25
  end
26
26
  end
@@ -1,4 +1,4 @@
1
- # typed: strict
1
+ # typed: strong
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module EML
@@ -1,4 +1,4 @@
1
- # typed: strict
1
+ # typed: strong
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module EML
@@ -1,4 +1,4 @@
1
- # typed: strict
1
+ # typed: strong
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module EML
data/lib/eml/version.rb CHANGED
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module EML
5
- VERSION = "2.1.6"
5
+ VERSION = "2.2.0"
6
6
  end
@@ -7,7 +7,7 @@
7
7
  #
8
8
  # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/addressable/all/addressable.rbi
9
9
  #
10
- # addressable-2.6.0
10
+ # addressable-2.7.0
11
11
  module Addressable
12
12
  end
13
13
  module Addressable::VERSION
@@ -49,7 +49,7 @@ class Addressable::URI
49
49
  def authority=(new_authority); end
50
50
  def basename; end
51
51
  def default_port; end
52
- def defer_validation(&block); end
52
+ def defer_validation; end
53
53
  def display_uri; end
54
54
  def domain; end
55
55
  def dup; end