class Ki::Model
Attributes
action[RW]
params[RW]
req[RW]
result[RW]
status[RW]
Public Class Methods
new(req)
click to toggle source
# File lib/ki/model.rb, line 16 def initialize(req) @req = req @action = req.to_action @params = req.params @status = 200 raise ForbiddenAction if forbidden_actions.include? @action ccall end
Public Instance Methods
create()
click to toggle source
# File lib/ki/model.rb, line 31 def create check_for_required_attributes check_for_unique_attributes @result = self.class.create @params end
delete()
click to toggle source
# File lib/ki/model.rb, line 43 def delete @result = self.class.delete @params end
find()
click to toggle source
# File lib/ki/model.rb, line 27 def find @result = self.class.find @params end
update()
click to toggle source
# File lib/ki/model.rb, line 37 def update check_for_required_attributes check_for_unique_attributes @result = self.class.update @params end
Private Instance Methods
ccall()
click to toggle source
# File lib/ki/model.rb, line 64 def ccall before_all send "before_#{@action}".to_sym send @action.to_sym send "after_#{@action}".to_sym after_all end
check_for_required_attributes()
click to toggle source
# File lib/ki/model.rb, line 49 def check_for_required_attributes required_attributes.each do |ra| unless @params.keys.include?(ra.to_s) raise RequiredAttributeMissing, "#{ra} missing" end end end
check_for_unique_attributes()
click to toggle source
# File lib/ki/model.rb, line 57 def check_for_unique_attributes unique_attributes.each do |ua| u = self.class.find({ ua.to_s => @params[ua.to_s] }) raise AttributeNotUnique, "#{ua} not unique" unless u.empty? end end