eml 2.1.6 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
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