Class: Aurfy::Configure
- Inherits:
-
Object
- Object
- Aurfy::Configure
- Defined in:
- lib/aurfy/configure.rb
Constant Summary collapse
- CREDIT_CARD_ORIGINAL_NAMES =
{ union_pay: "UP", visa: "VISA", jcb: "JCB", master: "MC" }
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(values = {}) ⇒ Configure
constructor
A new instance of Configure.
- #params ⇒ Object
- #signature_key ⇒ Object
- #sorted_variables ⇒ Object
Constructor Details
#initialize(values = {}) ⇒ Configure
Returns a new instance of Configure.
11 12 13 14 15 16 17 18 |
# File 'lib/aurfy/configure.rb', line 11 def initialize(values = {}) Configure.keys.each do |key| next unless value = (values[key] || default_values[key]) instance_variable_set(:"@#{key}", value) end @cardtype = values[:card_type] || cardtype end |
Class Method Details
.keys ⇒ Object
5 6 7 8 9 |
# File 'lib/aurfy/configure.rb', line 5 def self.keys [:cardnumber, :cardtype, :charset, :cv2, :expirydate, :orderamount, :ordercurrency, :orderdescription, :orderid, :ordertime, :merchantid, :signmethod, :trade_certificate, :transtype, :txnremark1, :txnremark2, :version, :website] end |
Instance Method Details
#params ⇒ Object
20 21 22 |
# File 'lib/aurfy/configure.rb', line 20 def params sorted_variables.merge(signature: signature) end |
#signature_key ⇒ Object
24 25 26 |
# File 'lib/aurfy/configure.rb', line 24 def signature_key sorted_variables.except(:signmethod).to_query + "&#{@trade_certificate}" end |
#sorted_variables ⇒ Object
28 29 30 31 |
# File 'lib/aurfy/configure.rb', line 28 def sorted_variables variables = (instance_variables - [:@trade_certificate]).sort Hash[variables.map { |v| [v.to_s.sub("@", "").to_sym, instance_variable_get(v)] }] end |