lib/permissive/permission_definition.rb in permissive-0.2.0.alpha vs lib/permissive/permission_definition.rb in permissive-0.2.1.alpha
- old
+ new
@@ -38,16 +38,18 @@
:global
end.to_s.gsub('/', '_').to_sym
end
end
- def can(name, value = nil)
- if value
- to(name, value)
+ def can(*args)
+ # if value
+ # to(name, value)
+ # end
+ args.each do |name|
+ name = name.to_s.downcase.to_sym
+ roles[@role].push(name) unless roles[@role].include?(name)
end
- name = name.to_s.downcase.to_sym
- roles[@role].push(name) unless roles[@role].include?(name)
end
def initialize(model, options = {})
options.assert_valid_keys(:on)
@options = options
@@ -72,13 +74,15 @@
def permissions
@permissions ||= {}
end
- def role(name, &block)
- @role = name.to_s.to_sym
- roles[@role] ||= []
- instance_eval(&block)
+ def role(*names, &block)
+ names.each do |name|
+ @role = name.to_s.to_sym
+ roles[@role] ||= []
+ instance_eval(&block)
+ 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]
end
\ No newline at end of file