Module: Kojac::ModelMethods::ClassMethods

Defined in:
lib/kojac/kojac_rails.rb

Instance Method Summary collapse

Instance Method Details

#active_model_serializerObject



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

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

#crack_key(aKey) ⇒ Object



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

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



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

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

#load_by_key(aKey, aOperation = nil) ⇒ Object



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

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



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

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