module Kojac::ModelMethods
Public Class Methods
included(aClass)
click to toggle source
# File lib/kojac/kojac_rails.rb, line 104 def self.included(aClass) aClass.send :extend, ClassMethods aClass.class_eval do scope :by_key, ->(aKey,aOperation=nil) { key = if respond_to?(:crack_key) crack_key(aKey) elsif aClass.respond_to?(:crack_key) aClass.crack_key(aKey) end r = key[:resource] id = key[:id] a = key[:association] if id where(id: id) else where('1 = 1') end } end end
Public Instance Methods
as_json(options = nil)
click to toggle source
Calls superclass method
# File lib/kojac/kojac_rails.rb, line 187 def as_json(options = nil) super end
kojac_key()
click to toggle source
# File lib/kojac/kojac_rails.rb, line 170 def kojac_key self.class.to_s.snake_case.pluralize+'__'+self.id.to_s end
update_permitted_attributes!(aChanges, aPolicy)
click to toggle source
# File lib/kojac/kojac_rails.rb, line 174 def update_permitted_attributes!(aChanges, aPolicy) aChanges = KojacUtils.upgrade_hashes_to_params(aChanges) p_fields = aPolicy.permitted_fields(:write) unauthorized! if p_fields.empty? p_fields = aChanges.permit(*p_fields) if ::Rails::VERSION::MAJOR <= 3 assign_attributes(p_fields, :without_protection => true) else assign_attributes(p_fields) end save! end