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