class Micropayment::Base

Public Class Methods

create!(id, params={}) click to toggle source
# File lib/micropayment-rails/classes/base.rb, line 26
def self.create!(id, params={})
  params.symbolize_keys!
  params.merge!(self::IDENTIFIER => id) if id
  result = Micropayment::Debit.send self::CREATE_METHOD, params
  if result["error"] == "0"
    self.new( valid_attributes( params.merge(result.symbolize_keys) ) )
  else
    raise "#{result["error"]}: #{result["errorMessage"]}"
  end
end
find(id) click to toggle source
# File lib/micropayment-rails/classes/base.rb, line 16
def self.find(id)
  result = Micropayment::Debit.send self::FIND_METHOD, self::IDENTIFIER => id
  case result["error"]
  when "0"
    self.new( valid_attributes(result) )
  else
    raise "#{result["error"]}: #{result["errorMessage"]}"
  end
end
find_or_create_by_id(id, params={}) click to toggle source
# File lib/micropayment-rails/classes/base.rb, line 37
def self.find_or_create_by_id(id, params={})
  params.symbolize_keys!
  obj = (find(id) rescue nil)
  obj ? obj : create( id, params )
end
valid_attributes(attrs) click to toggle source
# File lib/micropayment-rails/classes/base.rb, line 4
def self.valid_attributes(attrs)
  attrs.reject {|k,v| !self::VALID_ATTRIBUTES.include?(k.to_sym) }
end

Public Instance Methods

id() click to toggle source
# File lib/micropayment-rails/classes/base.rb, line 10
def id
  send self.class::IDENTIFIER
end