Class: TicketService::Form
- Inherits:
-
ApplicationService
- Object
- ApplicationService
- TicketService::Form
show all
- Includes:
- DefaultErrorContainer
- Defined in:
- app/services/ticket_service/form.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
#error, #error_message_simple, #merge_errors
Constructor Details
#initialize(params, user = nil) ⇒ Form
Returns a new instance of Form.
5
6
7
8
9
|
# File 'app/services/ticket_service/form.rb', line 5
def initialize(params, user = nil)
@user = user
@params = params
@locking_system = false
end
|
Instance Attribute Details
#code ⇒ Object
Returns the value of attribute code.
3
4
5
|
# File 'app/services/ticket_service/form.rb', line 3
def code
@code
end
|
#locking_system ⇒ Object
Returns the value of attribute locking_system.
3
4
5
|
# File 'app/services/ticket_service/form.rb', line 3
def locking_system
@locking_system
end
|
#params ⇒ Object
Returns the value of attribute params.
3
4
5
|
# File 'app/services/ticket_service/form.rb', line 3
def params
@params
end
|
#transaction_id ⇒ Object
Returns the value of attribute transaction_id.
3
4
5
|
# File 'app/services/ticket_service/form.rb', line 3
def transaction_id
@transaction_id
end
|
#user ⇒ Object
Returns the value of attribute user.
3
4
5
|
# File 'app/services/ticket_service/form.rb', line 3
def user
@user
end
|
Instance Method Details
#alipay? ⇒ Boolean
52
53
54
|
# File 'app/services/ticket_service/form.rb', line 52
def alipay?
payment_type_param.to_s == 'alipay_plus'
end
|
#cc_token ⇒ Object
44
45
46
|
# File 'app/services/ticket_service/form.rb', line 44
def cc_token
omise_token_param.presence || gb_primepay_card_param
end
|
#credit_card? ⇒ Boolean
68
69
70
|
# File 'app/services/ticket_service/form.rb', line 68
def credit_card?
payment_type_param.to_s == 'credit_card'
end
|
#enable_locking_system ⇒ Object
11
12
13
|
# File 'app/services/ticket_service/form.rb', line 11
def enable_locking_system
@locking_system = true
end
|
#gb_primepay_card_param ⇒ Object
80
81
82
|
# File 'app/services/ticket_service/form.rb', line 80
def gb_primepay_card_param
params[:gb_primepay_card]
end
|
#omise_token_param ⇒ Object
84
85
86
|
# File 'app/services/ticket_service/form.rb', line 84
def omise_token_param
params[:omise_token]
end
|
#payment_type_param ⇒ Object
76
77
78
|
# File 'app/services/ticket_service/form.rb', line 76
def payment_type_param
params[:payment_type]
end
|
#promptpay? ⇒ Boolean
48
49
50
|
# File 'app/services/ticket_service/form.rb', line 48
def promptpay?
payment_type_param.to_s == 'promptpay'
end
|
#shopee_pay? ⇒ Boolean
64
65
66
|
# File 'app/services/ticket_service/form.rb', line 64
def shopee_pay?
payment_type_param.to_s == 'shopee_pay'
end
|
#transaction_attributes ⇒ Object
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# File 'app/services/ticket_service/form.rb', line 29
def transaction_attributes
raise InvalidVoucherPurchase unless valid?
if locking_system
builded_tickets = build_tickets
{
tickets_attributes: builded_tickets[:ticket_attrs],
ticket_bundles_attributes: builded_tickets[:ticket_bundle_attrs],
total_price: builded_tickets[:total_price_transaction],
}
else
{ guest: guest_user, user: user }.merge(ticket_transaction_params)
end
end
|
#true_wallet? ⇒ Boolean
60
61
62
|
# File 'app/services/ticket_service/form.rb', line 60
def true_wallet?
payment_type_param.to_s == 'true_wallet'
end
|
#valid? ⇒ Boolean
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'app/services/ticket_service/form.rb', line 15
def valid?
errors.clear
if locking_system
validate_locking_system_params
else
validate_transaction
end
return false if errors.present?
true
end
|
#vendor_payment? ⇒ Boolean
72
73
74
|
# File 'app/services/ticket_service/form.rb', line 72
def vendor_payment?
payment_type_param.to_s == 'vendor_payment'
end
|
#wechat_pay? ⇒ Boolean
56
57
58
|
# File 'app/services/ticket_service/form.rb', line 56
def wechat_pay?
payment_type_param.to_s == 'wechat_pay'
end
|