class BankLink::Link

Attributes

bank[RW]
form[RW]
url[RW]

Public Class Methods

new(bank, url) { |form| ... } click to toggle source
# File lib/bank_link/link.rb, line 5
def initialize bank, url, &block
  self.bank = bank
  self.url = url
  self.form = Hashie::Mash.new
  yield(form) if block_given?
end

Public Instance Methods

apply_encoding(content) click to toggle source
# File lib/bank_link/link.rb, line 30
def apply_encoding content
  content[settings.encoding_key] = settings.encoding if settings.encoding && settings.encoding_key
end
calculate_keys(content, object) click to toggle source
# File lib/bank_link/link.rb, line 24
def calculate_keys content, object
  content.each do |key, value|
    content[key] = content[key].call(self, object) if content[key].is_a?(Proc)
  end
end
calculate_mac(content) click to toggle source
# File lib/bank_link/link.rb, line 34
def calculate_mac content
  mac = settings.mac_class.new(self, content)
  content[mac.key] = mac.generate
end
processed_data(object, overrides={}) click to toggle source
# File lib/bank_link/link.rb, line 16
def processed_data object, overrides={}
  content = Hashie::Mash.new(form.merge(overrides))
  apply_encoding content
  calculate_keys content, object
  calculate_mac content
  content
end
settings(*args, &block) click to toggle source
# File lib/bank_link/link.rb, line 12
def settings *args, &block
  bank.settings *args, &block
end