lib/permissive/permission_definition.rb in permissive-0.2.1.alpha vs lib/permissive/permission_definition.rb in permissive-0.2.2.alpha
- old
+ new
@@ -27,18 +27,19 @@
scope.to_s.classify
end
end
def normalize_scope(model, scope)
- case scope
+ scope = case scope
when Class
scope.name.tableize
when String, Symbol
interpolate_scope(model, scope).to_s.tableize
else
:global
- end.to_s.gsub('/', '_').to_sym
+ end
+ scope.to_s.gsub('/', '_').to_sym
end
end
def can(*args)
# if value
@@ -78,10 +79,10 @@
def role(*names, &block)
names.each do |name|
@role = name.to_s.to_sym
roles[@role] ||= []
- instance_eval(&block)
+ instance_eval(&block) if block_given?
end
unless model.instance_methods.include?('role=')
model.class_eval do
def role=(role_name)
self.permissions = self.class.permissions[:global].roles[role_name.to_s.downcase.to_sym]
\ No newline at end of file