Skip to content

Commit 56f8ac7

Browse files
committed
Add merchant resources
1 parent 642e510 commit 56f8ac7

22 files changed

+1210
-1
lines changed

lib/merchant_card/log.rb

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# frozen_string_literal: true
2+
3+
require('starkcore')
4+
require_relative('../utils/rest')
5+
require_relative('merchant_card')
6+
7+
8+
module StarkBank
9+
class MerchantCard
10+
class Log < StarkCore::Utils::Resource
11+
attr_reader :id, :created, :type, :errors, :card
12+
def initialize(id:, created:, type:, errors:, card:)
13+
super(id)
14+
@created = StarkCore::Utils::Checks.check_datetime(created)
15+
@type = type
16+
@errors = errors
17+
@card = card
18+
end
19+
20+
def self.get(id, user: nil)
21+
StarkBank::Utils::Rest.get_id(id: id, user: user, **resource)
22+
end
23+
24+
def self.query(limit: nil, after: nil, before: nil, types: nil, card_ids: nil, user: nil)
25+
after = StarkCore::Utils::Checks.check_date(after)
26+
before = StarkCore::Utils::Checks.check_date(before)
27+
StarkBank::Utils::Rest.get_stream(
28+
limit: limit,
29+
after: after,
30+
before: before,
31+
types: types,
32+
card_ids: card_ids,
33+
user: user,
34+
**resource
35+
)
36+
end
37+
38+
def self.page(cursor: nil, limit: nil, after: nil, before: nil, types: nil, card_ids: nil, user: nil)
39+
after = StarkCore::Utils::Checks.check_date(after)
40+
before = StarkCore::Utils::Checks.check_date(before)
41+
return StarkBank::Utils::Rest.get_page(
42+
cursor: cursor,
43+
limit: limit,
44+
after: after,
45+
before: before,
46+
types: types,
47+
card_ids: card_ids,
48+
user: user,
49+
**resource
50+
)
51+
end
52+
53+
def self.resource
54+
card_maker = StarkBank::MerchantCard.resource[:resource_maker]
55+
{
56+
resource_name: 'MerchantCardLog',
57+
resource_maker: proc { |json|
58+
Log.new(
59+
id: json['id'],
60+
created: json['created'],
61+
type: json['type'],
62+
errors: json['errors'],
63+
card: StarkCore::Utils::API.from_api_json(card_maker, json['card'])
64+
)
65+
}
66+
}
67+
end
68+
end
69+
end
70+
end
71+

lib/merchant_card/merchant_card.rb

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
require 'starkcore'
2+
require_relative '../utils/rest'
3+
4+
module StarkBank
5+
class MerchantCard < StarkCore::Utils::Resource
6+
attr_reader :created, :ending, :expiration, :fundingType, :holderName, :id, :network, :status, :tags, :updated
7+
8+
def initialize(ending:, expiration:, fundingType:, holderName:, id: nil, created: nil, network: nil, status: nil, tags: nil, updated: nil)
9+
super(id)
10+
@ending = ending
11+
@expiration = expiration
12+
@fundingType = fundingType
13+
@holderName = holderName
14+
@created = StarkCore::Utils::Checks.check_datetime(created)
15+
@network = network
16+
@status = status
17+
@tags = tags
18+
@updated = StarkCore::Utils::Checks.check_datetime(updated)
19+
end
20+
21+
def self.resource
22+
{
23+
resource_name: 'MerchantCard',
24+
resource_maker: proc { |json|
25+
MerchantCard.new(
26+
ending: json['ending'],
27+
expiration: json['expiration'],
28+
fundingType: json['fundingType'],
29+
holderName: json['holderName'],
30+
id: json['id'],
31+
created: json['created'],
32+
network: json['network'],
33+
status: json['status'],
34+
tags: json['tags'],
35+
updated: json['updated']
36+
)
37+
}
38+
}
39+
end
40+
41+
def self.get(id, user: nil)
42+
StarkBank::Utils::Rest.get_id(id: id, user: user, **resource)
43+
end
44+
45+
def self.query(limit: nil, status: nil, tags: nil, ids: nil, after: nil, before: nil, user: nil)
46+
StarkBank::Utils::Rest.get_stream(
47+
limit: limit,
48+
after: after,
49+
before: before,
50+
status: status,
51+
tags: tags,
52+
ids: ids,
53+
user: user,
54+
**resource
55+
)
56+
end
57+
58+
def self.page(limit: nil, cursor: nil, status: nil, tags: nil, ids: nil, user: nil)
59+
StarkBank::Utils::Rest.get_page(
60+
limit: limit,
61+
cursor: cursor,
62+
status: status,
63+
tags: tags,
64+
ids: ids,
65+
user: user,
66+
**resource
67+
)
68+
end
69+
end
70+
end

lib/merchant_installment/log.rb

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# frozen_string_literal: true
2+
3+
require('starkcore')
4+
require_relative('../utils/rest')
5+
require_relative('merchant_installment')
6+
7+
8+
module StarkBank
9+
class MerchantInstallment
10+
class Log < StarkCore::Utils::Resource
11+
attr_reader :id, :created, :type, :errors, :installment
12+
def initialize(id:, created:, type:, errors:, installment:)
13+
super(id)
14+
@created = StarkCore::Utils::Checks.check_datetime(created)
15+
@type = type
16+
@errors = errors
17+
@installment = installment
18+
end
19+
20+
def self.get(id, user: nil)
21+
StarkBank::Utils::Rest.get_id(id: id, user: user, **resource)
22+
end
23+
24+
def self.query(limit: nil, after: nil, before: nil, types: nil, installment_ids: nil, user: nil)
25+
after = StarkCore::Utils::Checks.check_date(after)
26+
before = StarkCore::Utils::Checks.check_date(before)
27+
StarkBank::Utils::Rest.get_stream(
28+
limit: limit,
29+
after: after,
30+
before: before,
31+
types: types,
32+
installment_ids: installment_ids,
33+
user: user,
34+
**resource
35+
)
36+
end
37+
38+
def self.page(cursor: nil, limit: nil, after: nil, before: nil, types: nil, installment_ids: nil, user: nil)
39+
after = StarkCore::Utils::Checks.check_date(after)
40+
before = StarkCore::Utils::Checks.check_date(before)
41+
return StarkBank::Utils::Rest.get_page(
42+
cursor: cursor,
43+
limit: limit,
44+
after: after,
45+
before: before,
46+
types: types,
47+
installment_ids: installment_ids,
48+
user: user,
49+
**resource
50+
)
51+
end
52+
53+
def self.resource
54+
installment_maker = StarkBank::MerchantInstallment.resource[:resource_maker]
55+
{
56+
resource_name: 'MerchantInstallmentLog',
57+
resource_maker: proc { |json|
58+
Log.new(
59+
id: json['id'],
60+
created: json['created'],
61+
type: json['type'],
62+
errors: json['errors'],
63+
installment: StarkCore::Utils::API.from_api_json(installment_maker, json['installment'])
64+
)
65+
}
66+
}
67+
end
68+
end
69+
end
70+
end
71+
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
# frozen_string_literal: true
2+
3+
require 'starkcore'
4+
require_relative '../utils/rest'
5+
6+
module StarkBank
7+
class MerchantInstallment < StarkCore::Utils::Resource
8+
attr_reader :amount, :created, :due, :fee, :fundingType, :id, :network, :purchaseId, :status, :tags, :transactionIds, :updated
9+
10+
def initialize(amount:, fundingType:, purchaseId:, due:, id: nil, created: nil, fee: nil, network: nil, status: nil, tags: nil, transactionIds: nil, updated: nil)
11+
super(id)
12+
@amount = amount
13+
@fundingType = fundingType
14+
@purchaseId = purchaseId
15+
@due = due
16+
@created = StarkCore::Utils::Checks.check_datetime(created)
17+
@fee = fee
18+
@network = network
19+
@status = status
20+
@tags = tags
21+
@transactionIds = transactionIds
22+
@updated = StarkCore::Utils::Checks.check_datetime(updated)
23+
end
24+
25+
def self.resource
26+
{
27+
resource_name: 'MerchantInstallment',
28+
resource_maker: proc { |json|
29+
MerchantInstallment.new(
30+
amount: json['amount'],
31+
fundingType: json['fundingType'],
32+
purchaseId: json['purchaseId'],
33+
due: json['due'],
34+
id: json['id'],
35+
created: json['created'],
36+
fee: json['fee'],
37+
network: json['network'],
38+
status: json['status'],
39+
tags: json['tags'],
40+
transactionIds: json['transactionIds'],
41+
updated: json['updated']
42+
)
43+
}
44+
}
45+
end
46+
47+
def self.get(id, user: nil)
48+
StarkBank::Utils::Rest.get_id(id: id, user: user, **resource)
49+
end
50+
51+
def self.query(limit: nil, status: nil, tags: nil, ids: nil, after: nil, before: nil, user: nil)
52+
StarkBank::Utils::Rest.get_stream(
53+
limit: limit,
54+
after: after,
55+
before: before,
56+
status: status,
57+
tags: tags,
58+
ids: ids,
59+
user: user,
60+
**resource
61+
)
62+
end
63+
64+
def self.page(cursor: nil, limit: nil, status: nil, tags: nil, ids: nil, after: nil, before: nil, user: nil)
65+
StarkBank::Utils::Rest.get_page(
66+
cursor: cursor,
67+
limit: limit,
68+
after: after,
69+
before: before,
70+
status: status,
71+
tags: tags,
72+
ids: ids,
73+
user: user,
74+
**resource
75+
)
76+
end
77+
end
78+
end

lib/merchant_purchase/log.rb

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# frozen_string_literal: true
2+
3+
require('starkcore')
4+
require_relative('../utils/rest')
5+
require_relative('merchant_purchase')
6+
7+
8+
module StarkBank
9+
class MerchantPurchase
10+
class Log < StarkCore::Utils::Resource
11+
attr_reader :id, :created, :type, :errors, :purchase
12+
def initialize(id:, created:, type:, errors:, purchase:)
13+
super(id)
14+
@created = StarkCore::Utils::Checks.check_datetime(created)
15+
@type = type
16+
@errors = errors
17+
@purchase = purchase
18+
end
19+
20+
def self.get(id, user: nil)
21+
StarkBank::Utils::Rest.get_id(id: id, user: user, **resource)
22+
end
23+
24+
def self.query(limit: nil, after: nil, before: nil, types: nil, purchase_ids: nil, user: nil)
25+
after = StarkCore::Utils::Checks.check_date(after)
26+
before = StarkCore::Utils::Checks.check_date(before)
27+
StarkBank::Utils::Rest.get_stream(
28+
limit: limit,
29+
after: after,
30+
before: before,
31+
types: types,
32+
purchase_ids: purchase_ids,
33+
user: user,
34+
**resource
35+
)
36+
end
37+
38+
def self.page(cursor: nil, limit: nil, after: nil, before: nil, types: nil, purchase_ids: nil, user: nil)
39+
after = StarkCore::Utils::Checks.check_date(after)
40+
before = StarkCore::Utils::Checks.check_date(before)
41+
return StarkBank::Utils::Rest.get_page(
42+
cursor: cursor,
43+
limit: limit,
44+
after: after,
45+
before: before,
46+
types: types,
47+
purchase_ids: purchase_ids,
48+
user: user,
49+
**resource
50+
)
51+
end
52+
53+
def self.resource
54+
purchase_maker = StarkBank::MerchantPurchase.resource[:resource_maker]
55+
{
56+
resource_name: 'MerchantPurchaseLog',
57+
resource_maker: proc { |json|
58+
Log.new(
59+
id: json['id'],
60+
created: json['created'],
61+
type: json['type'],
62+
errors: json['errors'],
63+
purchase: StarkCore::Utils::API.from_api_json(purchase_maker, json['purchase'])
64+
)
65+
}
66+
}
67+
end
68+
end
69+
end
70+
end
71+

0 commit comments

Comments
 (0)