lib/adeia/controller_resource.rb in adeia-0.8.6 vs lib/adeia/controller_resource.rb in adeia-0.9.0

- old
+ new

@@ -71,13 +71,17 @@ def check_permissions! authorization.check_permissions! end def can? - authorization.can? + instance_variable_get_or_set(:can?) end + def rights? + instance_variable_get_or_set(:rights?) + end + private def resource_class begin @controller.controller_path.classify.constantize @@ -86,9 +90,19 @@ end end def resource_name resource_class.model_name.element + end + + def var_name(method) + [method, @controller_name, @action_name, @resource.try(:model_name).try(:human), @resource.try(:id)].map do |s| + s.to_s.gsub("/", "_").delete("?") if s + end.compact.join("_").prepend("@") + end + + def instance_variable_get_or_set(method) + @controller.instance_variable_get(var_name(method)) || @controller.instance_variable_set(var_name(method), authorization.send(method)) end # Store the current url in a cookie # \ No newline at end of file