class AtPay::Token::Core
Attributes
amount[RW]
email_address[RW]
expires[RW]
group[RW]
session[RW]
url[RW]
user_data[RW]
version[RW]
Public Class Methods
new(*args)
click to toggle source
# File lib/atpay/token/core.rb, line 17 def initialize(*args) self.version = nil self.expires_in_seconds = (86400*14) # two weeks self.user_data = OpenStruct.new end
Public Instance Methods
auth_only!()
click to toggle source
# File lib/atpay/token/core.rb, line 101 def auth_only! self.version = 2 end
billing_address=(billing_address)
click to toggle source
# File lib/atpay/token/core.rb, line 80 def billing_address=(billing_address) self.user_data.billing_address = billing_address end
capture!()
click to toggle source
# File lib/atpay/token/core.rb, line 105 def capture! self.version = 0 end
custom_user_data=(str)
click to toggle source
# File lib/atpay/token/core.rb, line 84 def custom_user_data=(str) self.user_data.custom_user_data = str end
estimated_fulfillment_days=(days)
click to toggle source
# File lib/atpay/token/core.rb, line 50 def estimated_fulfillment_days=(days) if days.to_i > 0 self.auth_only! else self.capture! end self.user_data.fulfillment = days end
expires_in_seconds=(seconds)
click to toggle source
# File lib/atpay/token/core.rb, line 46 def expires_in_seconds=(seconds) self.expires = Time.now.to_i + seconds.to_i end
item_details=(item_details)
click to toggle source
# File lib/atpay/token/core.rb, line 88 def item_details=(item_details) self.user_data.item_details = item_details end
item_quantity=(qty)
click to toggle source
# File lib/atpay/token/core.rb, line 92 def item_quantity=(qty) self.user_data.quantity = qty end
name()
click to toggle source
# File lib/atpay/token/core.rb, line 37 def name self.user_data.name end
name=(name)
click to toggle source
# File lib/atpay/token/core.rb, line 33 def name=(name) self.user_data.name = name end
register!()
click to toggle source
# File lib/atpay/token/core.rb, line 109 def register! AtPay::Token::Registration.new(session, to_s) end
request_custom_data!(name, options={})
click to toggle source
# File lib/atpay/token/core.rb, line 96 def request_custom_data!(name, options={}) self.user_data.custom_fields ||= [] self.user_data.custom_fields << { name: name, required: !!options[:required] } end
requires_billing_address=(v)
click to toggle source
# File lib/atpay/token/core.rb, line 76 def requires_billing_address=(v) v ? add_address_option('billing') : remove_address_option('billing') end
requires_billing_address?()
click to toggle source
# File lib/atpay/token/core.rb, line 72 def requires_billing_address? address_options.include?('billing') end
requires_shipping_address=(v)
click to toggle source
# File lib/atpay/token/core.rb, line 64 def requires_shipping_address=(v) v ? add_address_option('shipping') : remove_address_option('shipping') end
requires_shipping_address?()
click to toggle source
# File lib/atpay/token/core.rb, line 60 def requires_shipping_address? address_options.include?('shipping') end
shipping_address=(shipping_address)
click to toggle source
# File lib/atpay/token/core.rb, line 68 def shipping_address=(shipping_address) self.user_data.shipping_address = shipping_address end
to_s()
click to toggle source
# File lib/atpay/token/core.rb, line 113 def to_s AtPay::Token::Encoder.new(session, version, amount, email_address, expires, url, encoded_user_data, group).email end
url=(url)
click to toggle source
# File lib/atpay/token/core.rb, line 41 def url=(url) self.user_data.signup_url = url @url = url end
Private Instance Methods
add_address_option(address_option)
click to toggle source
# File lib/atpay/token/core.rb, line 129 def add_address_option(address_option) options = (address_options << address_option) self.user_data.address = options.uniq.join(',') end
address_options()
click to toggle source
# File lib/atpay/token/core.rb, line 118 def address_options self.user_data.address.split(',') rescue [] end
encoded_user_data()
click to toggle source
# File lib/atpay/token/core.rb, line 134 def encoded_user_data MultiJson.dump(user_data.to_h) end
remove_address_option(address_option)
click to toggle source
# File lib/atpay/token/core.rb, line 124 def remove_address_option(address_option) options = (address_options - [address_option]) self.user_data.address = options.uniq.join(',') end