Module: Kojac::ModelMethods::ClassMethods

Defined in:
lib/kojac/kojac_rails.rb

Instance Method Summary collapse

Instance Method Details

#active_model_serializerObject



136
137
138
# File 'lib/kojac/kojac_rails.rb', line 136

def active_model_serializer
	"#{self}Serializer".safe_constantize || KojacBaseSerializer
end

#crack_key(aKey) ⇒ Object



140
141
142
143
144
145
146
147
148
# File 'lib/kojac/kojac_rails.rb', line 140

def crack_key(aKey)
	r,id,a = aKey.split_kojac_key
	result = {}
	result[:original] = aKey
	result[:resource] = r if r
	result[:id] = id if id
	result[:association] = a if a
	result
end

#create_policy(aCurrentUser, aOp = nil) ⇒ Object



132
133
134
# File 'lib/kojac/kojac_rails.rb', line 132

def create_policy(aCurrentUser,aOp=nil)
	policy_class.new(aCurrentUser,self,aOp)
end

#load_by_key(aKey, aOperation = nil) ⇒ Object



150
151
152
153
154
155
156
157
158
159
160
161
162
163
# File 'lib/kojac/kojac_rails.rb', line 150

def load_by_key(aKey,aOperation=nil)
	r,id,a = aKey.split_kojac_key
	rel = by_key(aKey)
	if id
		result = rel.first
		result.prepare(aKey,aOperation) if result.respond_to? :prepare
	else
		result = rel.all
		result.each do |item|
			item.prepare(aKey,aOperation) if item.respond_to? :prepare
		end
	end
	result
end

#policy_classObject

used by pundit



128
129
130
# File 'lib/kojac/kojac_rails.rb', line 128

def policy_class
	"#{self}Policy".safe_constantize || KojacBasePolicy
end