eml 1.0.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.
- checksums.yaml +7 -0
- data/.editorconfig +10 -0
- data/.env.example +6 -0
- data/.gitignore +5 -0
- data/.rspec +5 -0
- data/.rubocop.yml +90 -0
- data/Gemfile +6 -0
- data/LICENSE +21 -0
- data/README.md +87 -0
- data/eml.gemspec +37 -0
- data/lib/eml.rb +22 -0
- data/lib/eml/config.rb +49 -0
- data/lib/eml/data/countries.rb +260 -0
- data/lib/eml/data/currencies.rb +176 -0
- data/lib/eml/data/states.rb +4055 -0
- data/lib/eml/environment.rb +54 -0
- data/lib/eml/error.rb +25 -0
- data/lib/eml/error/rest.rb +42 -0
- data/lib/eml/error/rest/authentication.rb +21 -0
- data/lib/eml/error/rest/bad_request.rb +20 -0
- data/lib/eml/error/rest/daily_funding_limit.rb +19 -0
- data/lib/eml/error/rest/forbidden.rb +20 -0
- data/lib/eml/error/rest/internal_server.rb +9 -0
- data/lib/eml/error/rest/not_found.rb +20 -0
- data/lib/eml/error/rest/unprocessable_entity.rb +20 -0
- data/lib/eml/lib/endpoint_class.rb +42 -0
- data/lib/eml/parameters.rb +153 -0
- data/lib/eml/payload.rb +137 -0
- data/lib/eml/response.rb +103 -0
- data/lib/eml/uk.rb +51 -0
- data/lib/eml/uk/api_resource.rb +94 -0
- data/lib/eml/uk/config.rb +52 -0
- data/lib/eml/uk/lib/endpoint_class.rb +19 -0
- data/lib/eml/uk/lib/parse_date.rb +35 -0
- data/lib/eml/uk/model/transaction.rb +56 -0
- data/lib/eml/uk/parameters.rb +99 -0
- data/lib/eml/uk/parameters/agreement/show.rb +22 -0
- data/lib/eml/uk/parameters/card/activation.rb +24 -0
- data/lib/eml/uk/parameters/card/lock.rb +26 -0
- data/lib/eml/uk/parameters/card/register.rb +24 -0
- data/lib/eml/uk/parameters/card/reload.rb +24 -0
- data/lib/eml/uk/parameters/card/show.rb +102 -0
- data/lib/eml/uk/parameters/card/transaction.rb +59 -0
- data/lib/eml/uk/parameters/card/unload.rb +26 -0
- data/lib/eml/uk/parameters/card/unlock.rb +26 -0
- data/lib/eml/uk/parameters/card/void.rb +26 -0
- data/lib/eml/uk/payload.rb +94 -0
- data/lib/eml/uk/payload/agreement/show.rb +46 -0
- data/lib/eml/uk/payload/card/activation.rb +73 -0
- data/lib/eml/uk/payload/card/lock.rb +34 -0
- data/lib/eml/uk/payload/card/register.rb +70 -0
- data/lib/eml/uk/payload/card/reload.rb +38 -0
- data/lib/eml/uk/payload/card/show.rb +12 -0
- data/lib/eml/uk/payload/card/transaction.rb +12 -0
- data/lib/eml/uk/payload/card/unload.rb +38 -0
- data/lib/eml/uk/payload/card/unlock.rb +23 -0
- data/lib/eml/uk/payload/card/void.rb +23 -0
- data/lib/eml/uk/payload/contactentity.rb +64 -0
- data/lib/eml/uk/payload/iso.rb +48 -0
- data/lib/eml/uk/payload/location.rb +30 -0
- data/lib/eml/uk/resources/agreement.rb +32 -0
- data/lib/eml/uk/resources/card.rb +181 -0
- data/lib/eml/uk/response.rb +29 -0
- data/lib/eml/uk/responses/agreement/show.rb +16 -0
- data/lib/eml/uk/responses/card/reload.rb +19 -0
- data/lib/eml/uk/responses/card/show.rb +53 -0
- data/lib/eml/uk/responses/card/transaction.rb +24 -0
- data/lib/eml/version.rb +6 -0
- data/sorbet/config +2 -0
- data/sorbet/rbi/gems/addressable.rbi +198 -0
- data/sorbet/rbi/gems/ast.rbi +47 -0
- data/sorbet/rbi/gems/concurrent-ruby.rbi +218 -0
- data/sorbet/rbi/gems/crack.rbi +47 -0
- data/sorbet/rbi/gems/docile.rbi +31 -0
- data/sorbet/rbi/gems/domain_name.rbi +51 -0
- data/sorbet/rbi/gems/dotenv.rbi +67 -0
- data/sorbet/rbi/gems/faker.rbi +1350 -0
- data/sorbet/rbi/gems/hashdiff.rbi +65 -0
- data/sorbet/rbi/gems/http-cookie.rbi +92 -0
- data/sorbet/rbi/gems/http-form_data.rbi +73 -0
- data/sorbet/rbi/gems/http.rbi +609 -0
- data/sorbet/rbi/gems/http_parser.rb.rbi +36 -0
- data/sorbet/rbi/gems/i18n.rbi +191 -0
- data/sorbet/rbi/gems/jaro_winkler.rbi +14 -0
- data/sorbet/rbi/gems/parallel.rbi +81 -0
- data/sorbet/rbi/gems/parser.rbi +835 -0
- data/sorbet/rbi/gems/public_suffix.rbi +103 -0
- data/sorbet/rbi/gems/rainbow.rbi +117 -0
- data/sorbet/rbi/gems/rspec-core.rbi +1655 -0
- data/sorbet/rbi/gems/rspec-support.rbi +126 -0
- data/sorbet/rbi/gems/rspec.rbi +14 -0
- data/sorbet/rbi/gems/rubocop-performance.rbi +276 -0
- data/sorbet/rbi/gems/rubocop-rspec.rbi +860 -0
- data/sorbet/rbi/gems/rubocop.rbi +6943 -0
- data/sorbet/rbi/gems/ruby-progressbar.rbi +304 -0
- data/sorbet/rbi/gems/simplecov-html.rbi +30 -0
- data/sorbet/rbi/gems/simplecov.rbi +225 -0
- data/sorbet/rbi/gems/unf.rbi +18 -0
- data/sorbet/rbi/gems/unicode-display_width.rbi +16 -0
- data/sorbet/rbi/gems/vcr.rbi +503 -0
- data/sorbet/rbi/gems/webmock.rbi +521 -0
- data/sorbet/rbi/hidden-definitions/errors.txt +4802 -0
- data/sorbet/rbi/hidden-definitions/hidden.rbi +10700 -0
- data/sorbet/rbi/sorbet-typed/lib/bundler/all/bundler.rbi +8682 -0
- data/sorbet/rbi/sorbet-typed/lib/ruby/all/gem.rbi +4222 -0
- data/sorbet/rbi/sorbet-typed/lib/ruby/all/open3.rbi +111 -0
- data/sorbet/rbi/sorbet-typed/lib/ruby/all/resolv.rbi +543 -0
- data/sorbet/rbi/todo.rbi +24 -0
- data/spec/config_spec.rb +26 -0
- data/spec/helpers/config_helper.rb +21 -0
- data/spec/helpers/vcr_helper.rb +19 -0
- data/spec/spec_helper.rb +120 -0
- data/spec/uk/api_resource_spec.rb +39 -0
- data/spec/uk/resources/agreement_spec.rb +23 -0
- data/spec/uk/resources/card_spec.rb +197 -0
- metadata +339 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module EML
|
|
5
|
+
module UK
|
|
6
|
+
class Payload
|
|
7
|
+
module Card
|
|
8
|
+
class Unload < ::EML::UK::Payload
|
|
9
|
+
REQUIRED_CONFIG = %i[merchant_group].freeze
|
|
10
|
+
REQUIRED_VALUES = %i[amount location.country note].freeze
|
|
11
|
+
|
|
12
|
+
private
|
|
13
|
+
|
|
14
|
+
sig { params(amount: Numeric).returns(Numeric) }
|
|
15
|
+
attr_accessor :amount
|
|
16
|
+
|
|
17
|
+
# While client_time is sent to EML as a JSON DateTime, there are many
|
|
18
|
+
# classes that could be used which causes a typing challenge. For
|
|
19
|
+
# example, if Rails is in use, we will probably receive a
|
|
20
|
+
# ActiveSupport::TimeWithZone
|
|
21
|
+
sig { params(client_time: T.untyped).returns(T.untyped) }
|
|
22
|
+
attr_accessor :client_time
|
|
23
|
+
|
|
24
|
+
sig { params(location: Hash).void }
|
|
25
|
+
def location=(location)
|
|
26
|
+
@location = EML::UK::Payload::Location.new(location)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
sig { params(merchant_group: String).returns(String) }
|
|
30
|
+
attr_accessor :merchant_group
|
|
31
|
+
|
|
32
|
+
sig { params(note: String).returns(String) }
|
|
33
|
+
attr_accessor :note
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module EML
|
|
5
|
+
module UK
|
|
6
|
+
class Payload
|
|
7
|
+
module Card
|
|
8
|
+
class Unlock < ::EML::UK::Payload
|
|
9
|
+
REQUIRED_CONFIG = %i[merchant_group].freeze
|
|
10
|
+
REQUIRED_VALUES = %i[note].freeze
|
|
11
|
+
|
|
12
|
+
private
|
|
13
|
+
|
|
14
|
+
sig { params(merchant_group: String).returns(String) }
|
|
15
|
+
attr_accessor :merchant_group
|
|
16
|
+
|
|
17
|
+
sig { params(note: String).returns(String) }
|
|
18
|
+
attr_accessor :note
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module EML
|
|
5
|
+
module UK
|
|
6
|
+
class Payload
|
|
7
|
+
module Card
|
|
8
|
+
class Void < ::EML::UK::Payload
|
|
9
|
+
REQUIRED_CONFIG = %i[merchant_group].freeze
|
|
10
|
+
REQUIRED_VALUES = %i[note].freeze
|
|
11
|
+
|
|
12
|
+
private
|
|
13
|
+
|
|
14
|
+
sig { params(merchant_group: String).returns(String) }
|
|
15
|
+
attr_accessor :merchant_group
|
|
16
|
+
|
|
17
|
+
sig { params(note: String).returns(String) }
|
|
18
|
+
attr_accessor :note
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module EML
|
|
5
|
+
module UK
|
|
6
|
+
class Payload
|
|
7
|
+
class Contactentity < ::EML::Payload
|
|
8
|
+
REQUIRED_VALUES = %i[first_name last_name address1 city country].freeze
|
|
9
|
+
|
|
10
|
+
include ISO
|
|
11
|
+
|
|
12
|
+
private
|
|
13
|
+
|
|
14
|
+
sig { params(first_name: String).void }
|
|
15
|
+
def first_name=(first_name)
|
|
16
|
+
validate_max_length(:first_name, first_name, 50)
|
|
17
|
+
@first_name = first_name
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
sig { params(last_name: String).void }
|
|
21
|
+
def last_name=(last_name)
|
|
22
|
+
validate_max_length(:last_name, last_name, 50)
|
|
23
|
+
@last_name = last_name
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
sig { params(address1: String).void }
|
|
27
|
+
def address1=(address1)
|
|
28
|
+
validate_max_length(:address1, address1, 255)
|
|
29
|
+
@address1 = address1
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
sig { params(address2: String).void }
|
|
33
|
+
def address2=(address2)
|
|
34
|
+
validate_max_length(:address2, address2, 255)
|
|
35
|
+
@address2 = address2
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
sig { params(city: String).returns(String) }
|
|
39
|
+
attr_accessor :city
|
|
40
|
+
|
|
41
|
+
sig { params(postal_code: String).returns(String) }
|
|
42
|
+
attr_accessor :postal_code
|
|
43
|
+
|
|
44
|
+
sig { params(phone: String).void }
|
|
45
|
+
def phone=(phone)
|
|
46
|
+
validate_max_length(:phone, phone, 20)
|
|
47
|
+
@phone = phone
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
sig { params(email: String).void }
|
|
51
|
+
def email=(email)
|
|
52
|
+
validate_max_length(:email, email, 255)
|
|
53
|
+
@email = email
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
sig { params(dob: String).void }
|
|
57
|
+
def dob=(dob)
|
|
58
|
+
validate_max_length(:dob, dob, 8)
|
|
59
|
+
@dob = dob
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# typed: false
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module EML
|
|
5
|
+
module UK
|
|
6
|
+
class Payload
|
|
7
|
+
module ISO
|
|
8
|
+
private
|
|
9
|
+
|
|
10
|
+
def state=(state)
|
|
11
|
+
state_or_province(state, "state")
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def province=(province)
|
|
15
|
+
state_or_province(province, "province")
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def state_or_province(state, title)
|
|
19
|
+
if EML::STATES.include?(state) || state.nil?
|
|
20
|
+
instance_variable_set(:"@#{title}", state)
|
|
21
|
+
return
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
raise(
|
|
25
|
+
ArgumentError,
|
|
26
|
+
"Expected #{title} to be an uppercase ISO 3166-2 code " +
|
|
27
|
+
%(but received "#{state}".) + "\n" \
|
|
28
|
+
"Please see http://www.unece.org/cefact/locode/subdivisions.html"
|
|
29
|
+
)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def country=(country)
|
|
33
|
+
if EML::COUNTRIES.include?(country) || country.nil?
|
|
34
|
+
@country = country
|
|
35
|
+
return
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
raise(
|
|
39
|
+
ArgumentError,
|
|
40
|
+
"Expected country to be an uppercase ISO 3166-1 alpha-3 code " +
|
|
41
|
+
%(but received "#{country}".) + "\nPlease see " \
|
|
42
|
+
"https://unstats.un.org/unsd/tradekb/Knowledgebase/Country-Code"
|
|
43
|
+
)
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module EML
|
|
5
|
+
module UK
|
|
6
|
+
class Payload
|
|
7
|
+
class Location < ::EML::Payload
|
|
8
|
+
extend T::Sig
|
|
9
|
+
include ISO
|
|
10
|
+
|
|
11
|
+
private
|
|
12
|
+
|
|
13
|
+
sig { params(name: String).returns(String) }
|
|
14
|
+
attr_accessor :name
|
|
15
|
+
|
|
16
|
+
sig { params(address1: String).returns(String) }
|
|
17
|
+
attr_accessor :address1
|
|
18
|
+
|
|
19
|
+
sig { params(address2: String).returns(String) }
|
|
20
|
+
attr_accessor :address2
|
|
21
|
+
|
|
22
|
+
sig { params(city: String).returns(String) }
|
|
23
|
+
attr_accessor :city
|
|
24
|
+
|
|
25
|
+
sig { params(postal_code: String).returns(String) }
|
|
26
|
+
attr_accessor :postal_code
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# typed: strict
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module EML
|
|
5
|
+
module UK
|
|
6
|
+
class Agreement < APIResource
|
|
7
|
+
ENDPOINT_BASE = T.let("agreements", String)
|
|
8
|
+
|
|
9
|
+
class << self
|
|
10
|
+
extend T::Sig
|
|
11
|
+
|
|
12
|
+
# Cardholder Agreement Lookup
|
|
13
|
+
# Look up the cardholder agreement URL for a card that has not been
|
|
14
|
+
# created
|
|
15
|
+
#
|
|
16
|
+
# @param payload [Hash] POST payload that conforms to
|
|
17
|
+
# EML::UK::Payload::Agreement::Show
|
|
18
|
+
# @param params [Hash] URL query string parameters that conform to
|
|
19
|
+
# EML::UK::Parameters::Agreement::Show
|
|
20
|
+
sig do
|
|
21
|
+
params(
|
|
22
|
+
payload: T::Hash[Symbol, T.untyped],
|
|
23
|
+
params: T::Hash[Symbol, T.untyped]
|
|
24
|
+
).returns(EML::Response)
|
|
25
|
+
end
|
|
26
|
+
def show(payload: {}, params: {})
|
|
27
|
+
new.request(:post, payload: payload, params: params)
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
# typed: strict
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module EML
|
|
5
|
+
module UK
|
|
6
|
+
class Card < APIResource
|
|
7
|
+
ENDPOINT_BASE = T.let("cards", String)
|
|
8
|
+
|
|
9
|
+
class << self
|
|
10
|
+
extend T::Sig
|
|
11
|
+
|
|
12
|
+
# Activate a card
|
|
13
|
+
# Activation is a necessary first step but does not associate a person
|
|
14
|
+
# with the card; that requires registration
|
|
15
|
+
#
|
|
16
|
+
# @param id [String] Card identifier
|
|
17
|
+
# @param payload [Hash] POST payload that conforms to
|
|
18
|
+
# EML::UK::Payload::Card::Activation
|
|
19
|
+
# @param params [Hash] URL query string parameters that conform to
|
|
20
|
+
# EML::UK::Parameters::Card::Activation
|
|
21
|
+
sig do
|
|
22
|
+
params(
|
|
23
|
+
id: String,
|
|
24
|
+
payload: T::Hash[Symbol, T.untyped],
|
|
25
|
+
params: T::Hash[Symbol, T.untyped]
|
|
26
|
+
).returns(EML::Response)
|
|
27
|
+
end
|
|
28
|
+
def activate(id:, payload:, params: {})
|
|
29
|
+
new(id: id).
|
|
30
|
+
request(:post, "activations", payload: payload, params: params)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# Register a card
|
|
34
|
+
# Registration is associating a person with an activated card
|
|
35
|
+
#
|
|
36
|
+
# @param id [String] Card identifier
|
|
37
|
+
# @param payload [Hash] POST payload that conforms to
|
|
38
|
+
# EML::UK::Payload::Card::Register
|
|
39
|
+
# @param params [Hash] URL query string parameters that conform to
|
|
40
|
+
# EML::UK::Parameters::Card::Register
|
|
41
|
+
sig do
|
|
42
|
+
params(
|
|
43
|
+
id: String,
|
|
44
|
+
payload: T::Hash[Symbol, T.untyped],
|
|
45
|
+
params: T::Hash[Symbol, T.untyped]
|
|
46
|
+
).returns(EML::Response)
|
|
47
|
+
end
|
|
48
|
+
def register(id:, payload:, params: {})
|
|
49
|
+
new(id: id).
|
|
50
|
+
request(:post, "register", payload: payload, params: params)
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# Retrieve card information
|
|
54
|
+
#
|
|
55
|
+
# @param id [String] Card identifier
|
|
56
|
+
# @param params [Hash] URL query string parameters that conform to
|
|
57
|
+
# EML::UK::Parameters::Card::Info
|
|
58
|
+
sig do
|
|
59
|
+
params(id: String, params: T::Hash[Symbol, T.untyped]).
|
|
60
|
+
returns(EML::Response)
|
|
61
|
+
end
|
|
62
|
+
def show(id:, params: {})
|
|
63
|
+
new(id: id).request(:get, params: params)
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# Access a card's transaction history
|
|
67
|
+
# The level of detail in this transaction history is relatively
|
|
68
|
+
# extensive and therefore would not be suitable for presentation to card
|
|
69
|
+
# holders
|
|
70
|
+
#
|
|
71
|
+
# @param id [String] Card identifier
|
|
72
|
+
# @param params [Hash] URL query string parameters that conform to
|
|
73
|
+
# EML::UK::Parameters::Card::Transactions
|
|
74
|
+
sig do
|
|
75
|
+
params(
|
|
76
|
+
id: String,
|
|
77
|
+
params: T::Hash[Symbol, T.untyped]
|
|
78
|
+
).returns(EML::Response)
|
|
79
|
+
end
|
|
80
|
+
def transactions(id:, params: {})
|
|
81
|
+
new(id: id).request(:get, "transactions", params: params)
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
# Reload a card
|
|
85
|
+
# Add funds onto an active card, provided the amount does not violate
|
|
86
|
+
# the existing regulations
|
|
87
|
+
#
|
|
88
|
+
# @param id [String] Card identifier
|
|
89
|
+
# @param payload [Hash] POST payload that conforms to
|
|
90
|
+
# EML::UK::Payload::Card::Reload
|
|
91
|
+
# @param params [Hash] URL query string parameters that conform to
|
|
92
|
+
# EML::UK::Parameters::Card::Reload
|
|
93
|
+
sig do
|
|
94
|
+
params(
|
|
95
|
+
id: String,
|
|
96
|
+
payload: T::Hash[Symbol, T.untyped],
|
|
97
|
+
params: T::Hash[Symbol, T.untyped]
|
|
98
|
+
).returns(EML::Response)
|
|
99
|
+
end
|
|
100
|
+
def reload(id:, payload:, params: {})
|
|
101
|
+
new(id: id).
|
|
102
|
+
request(:post, "reloads", payload: payload, params: params)
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
# Unload a card
|
|
106
|
+
# Remove funds from a card
|
|
107
|
+
#
|
|
108
|
+
# @param id [String] Card identifier
|
|
109
|
+
# @param payload [Hash] POST payload that conforms to
|
|
110
|
+
# EML::UK::Payload::Card::Unload
|
|
111
|
+
# @param params [Hash] URL query string parameters that conform to
|
|
112
|
+
# EML::UK::Parameters::Card::Unload
|
|
113
|
+
sig do
|
|
114
|
+
params(
|
|
115
|
+
id: String,
|
|
116
|
+
payload: T::Hash[Symbol, T.untyped],
|
|
117
|
+
params: T::Hash[Symbol, T.untyped]
|
|
118
|
+
).returns(EML::Response)
|
|
119
|
+
end
|
|
120
|
+
def unload(id:, payload:, params: {})
|
|
121
|
+
new(id: id).request(:post, "unload", payload: payload, params: params)
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
# Lock a card
|
|
125
|
+
#
|
|
126
|
+
# @param id [String] Card identifier
|
|
127
|
+
# @param payload [Hash] POST payload that conforms to
|
|
128
|
+
# EML::UK::Payload::Card::Lock
|
|
129
|
+
# @param params [Hash] URL query string parameters that conform to
|
|
130
|
+
# EML::UK::Parameters::Card::Lock
|
|
131
|
+
sig do
|
|
132
|
+
params(
|
|
133
|
+
id: String,
|
|
134
|
+
payload: T::Hash[Symbol, T.untyped],
|
|
135
|
+
params: T::Hash[Symbol, T.untyped]
|
|
136
|
+
).returns(EML::Response)
|
|
137
|
+
end
|
|
138
|
+
def lock(id:, payload:, params: {})
|
|
139
|
+
new(id: id).request(:post, "locks", payload: payload, params: params)
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
# Unlock a card
|
|
143
|
+
#
|
|
144
|
+
# @param id [String] Card identifier
|
|
145
|
+
# @param payload [Hash] POST payload that conforms to
|
|
146
|
+
# EML::UK::Payload::Card::Unlock
|
|
147
|
+
# @param params [Hash] URL query string parameters that conform to
|
|
148
|
+
# EML::UK::Parameters::Card::Unlock
|
|
149
|
+
sig do
|
|
150
|
+
params(
|
|
151
|
+
id: String,
|
|
152
|
+
payload: T::Hash[Symbol, T.untyped],
|
|
153
|
+
params: T::Hash[Symbol, T.untyped]
|
|
154
|
+
).returns(EML::Response)
|
|
155
|
+
end
|
|
156
|
+
def unlock(id:, payload:, params: {})
|
|
157
|
+
new(id: id).
|
|
158
|
+
request(:post, "unlocks", payload: payload, params: params)
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
# Void a card
|
|
162
|
+
#
|
|
163
|
+
# @param id [String] Card identifier
|
|
164
|
+
# @param payload [Hash] POST payload that conforms to
|
|
165
|
+
# EML::UK::Payload::Card::Void
|
|
166
|
+
# @param params [Hash] URL query string parameters that conform to
|
|
167
|
+
# EML::UK::Parameters::Card::Void
|
|
168
|
+
sig do
|
|
169
|
+
params(
|
|
170
|
+
id: String,
|
|
171
|
+
payload: T::Hash[Symbol, T.untyped],
|
|
172
|
+
params: T::Hash[Symbol, T.untyped]
|
|
173
|
+
).returns(EML::Response)
|
|
174
|
+
end
|
|
175
|
+
def void(id:, payload:, params: {})
|
|
176
|
+
new(id: id).request(:post, "voids", payload: payload, params: params)
|
|
177
|
+
end
|
|
178
|
+
end
|
|
179
|
+
end
|
|
180
|
+
end
|
|
181
|
+
end
|