module Model

Constants

API_PATH

Public Class Methods

included(base) click to toggle source
# File lib/payu_payments/model.rb, line 4
def self.included(base)
    base.send :extend, ClassMethods
end

Public Instance Methods

destroy() click to toggle source
# File lib/payu_payments/model.rb, line 28
def destroy
    @id ||= self.attr.id
    @url ||= "#{API_PATH}/#{@resource}/#{@id}"
    resp = http_call("delete", @url)
    base.marshal_load resp unless resp.is_a? Array
    resp
end
load() click to toggle source
# File lib/payu_payments/model.rb, line 23
def load
    resp = http_call("get", "#{API_PATH}/#{@resource}/#{self.attr.id}")
    base.marshal_load resp
end
method_missing(method_name, *arguments, &block) click to toggle source
Calls superclass method
# File lib/payu_payments/model.rb, line 40
def method_missing(method_name, *arguments, &block)
    if base.marshal_dump.include?(method_name.to_s.strip.to_sym) || method_name.match(/.*=$/)
       base.send(method_name.to_s.strip, *arguments, &block)
    else
       super
    end
end
new?() click to toggle source
# File lib/payu_payments/model.rb, line 36
def new?
    base.id.nil?
end
save() click to toggle source
# File lib/payu_payments/model.rb, line 8
def save 
    verb = new? ? "post" : "put"
    @url ||= new? ? "#{API_PATH}/#{@resource}" : "#{API_PATH}/#{@resource}/#{base.id}"
    resp = http_call(verb, @url, base.marshal_dump)

    if resp.is_a?(Array)
      error = {field: resp[0], message: resp[1]}
      self.errors << error
      false
    else
      base.marshal_load resp
      true
    end
end
validate_lenght_of(field, lenght) click to toggle source
# File lib/payu_payments/model.rb, line 60
def validate_lenght_of(field, lenght)
    unless self.attr.send(field.to_s).nil?
      if self.attr.send(field.to_s).length != lenght
          error = {}
          error[:field] = field
          error[:message] = "lenght of #{field} should be #{lenght}"
          self.errors << error
      end
    end
end
validate_presence_of(field) click to toggle source

xxxxxxxxxxxxxxxxx validations xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

# File lib/payu_payments/model.rb, line 51
def validate_presence_of(field)
    if (self.attr.send(field.to_s).nil? or self.attr.send(field.to_s) == "")
        error = {}
        error[:field] = field
        error[:message] = "#{field} can't be blank"
        self.errors << error
    end
end