Class: Iyzi::PkiBuilder
- Inherits:
-
Object
show all
- Defined in:
- lib/iyzi/pki_builder.rb
Direct Known Subclasses
Iyzi::PkiBuilders::Address, Iyzi::PkiBuilders::BasketItem, Iyzi::PkiBuilders::BinControl, Iyzi::PkiBuilders::Buyer, Iyzi::PkiBuilders::CardStorage, Iyzi::PkiBuilders::CheckoutForm, Iyzi::PkiBuilders::CheckoutFormAuth, Iyzi::PkiBuilders::InstallmentInfo, Iyzi::PkiBuilders::PaymentAuth, Iyzi::PkiBuilders::PaymentCard, Iyzi::PkiBuilders::StoreCard, Iyzi::PkiBuilders::SubMerchant, Iyzi::PkiBuilders::ThreedsInitialize, Iyzi::PkiBuilders::ThreedsPaymentCreate
Constant Summary
collapse
- DEFAULT_ADD_METHOD =
'add'
Instance Attribute Summary collapse
Instance Method Summary
collapse
-
#add(key, value) ⇒ Object
-
#add_address(key, value) ⇒ Object
-
#add_array(key, value) ⇒ Object
-
#add_basket_items(key, value) ⇒ Object
-
#add_buyer(key, value) ⇒ Object
-
#add_date(key, value) ⇒ Object
-
#add_payment_card(key, value) ⇒ Object
-
#add_price(key, value) ⇒ Object
-
#add_store_card(key, value) ⇒ Object
-
#convert_str(key, value) ⇒ Object
-
#initialize(values = {}, ordered_keys = nil, type_cast = {}) ⇒ PkiBuilder
constructor
A new instance of PkiBuilder.
-
#ordered_params ⇒ Object
-
#parse_date(value) ⇒ Object
-
#prepare_request_string ⇒ Object
-
#request_string ⇒ Object
Constructor Details
#initialize(values = {}, ordered_keys = nil, type_cast = {}) ⇒ PkiBuilder
Returns a new instance of PkiBuilder.
7
8
9
10
11
|
# File 'lib/iyzi/pki_builder.rb', line 7
def initialize(values = {}, ordered_keys = nil, type_cast = {})
@params = {}
assign_params(values, type_cast)
@ordered_keys = ordered_keys
end
|
Instance Attribute Details
#ordered_keys ⇒ Object
Returns the value of attribute ordered_keys.
5
6
7
|
# File 'lib/iyzi/pki_builder.rb', line 5
def ordered_keys
@ordered_keys
end
|
#params ⇒ Object
Returns the value of attribute params.
5
6
7
|
# File 'lib/iyzi/pki_builder.rb', line 5
def params
@params
end
|
Instance Method Details
#add(key, value) ⇒ Object
60
61
62
|
# File 'lib/iyzi/pki_builder.rb', line 60
def add(key, value)
params[key] = value.to_s unless value.to_s.empty?
end
|
#add_address(key, value) ⇒ Object
#add_array(key, value) ⇒ Object
32
33
34
|
# File 'lib/iyzi/pki_builder.rb', line 32
def add_array(key, value)
add(key, "[#{value.join(', ')}]") if value.present?
end
|
#add_basket_items(key, value) ⇒ Object
#add_buyer(key, value) ⇒ Object
#add_date(key, value) ⇒ Object
36
37
38
|
# File 'lib/iyzi/pki_builder.rb', line 36
def add_date(key, value)
add(key, parse_date(value).strftime('%Y-%m-%d %H:%M:%S')) if value.present?
end
|
#add_payment_card(key, value) ⇒ Object
#add_price(key, value) ⇒ Object
28
29
30
|
# File 'lib/iyzi/pki_builder.rb', line 28
def add_price(key, value)
add(key, value.to_f.round(2)) if value.to_f != 0
end
|
#add_store_card(key, value) ⇒ Object
#convert_str(key, value) ⇒ Object
64
65
66
|
# File 'lib/iyzi/pki_builder.rb', line 64
def convert_str(key, value)
"#{key}=#{value}"
end
|
#ordered_params ⇒ Object
22
23
24
25
26
|
# File 'lib/iyzi/pki_builder.rb', line 22
def ordered_params
orderer.map do |key|
convert_str(key, params[key]) if params[key].present?
end.reject(&:nil?)
end
|
#parse_date(value) ⇒ Object
68
69
70
|
# File 'lib/iyzi/pki_builder.rb', line 68
def parse_date(value)
value.is_a?(String) ? DateTime.parse(value) : value
end
|
#prepare_request_string ⇒ Object
18
19
20
|
# File 'lib/iyzi/pki_builder.rb', line 18
def prepare_request_string
ordered_params.join(',')
end
|
#request_string ⇒ Object
13
14
15
16
|
# File 'lib/iyzi/pki_builder.rb', line 13
def request_string
str = prepare_request_string
"[#{str}]" unless str.empty?
end
|