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