module IAmICan::Role::Definition
Public Instance Methods
have_role(*roles, which_can: [ ], obj: nil, remarks: nil)
click to toggle source
# File lib/i_am_i_can/role/definition.rb, line 6 def have_role *roles, which_can: [ ], obj: nil, remarks: nil return unless roles.tap(&:flatten!).first.class.in?([ Symbol, String ]) roles.map!(&:to_sym) ; i = i_am_i_can definition = _create_roles(roles.map { |role| { name: role, remarks: remarks } }) Role.modeling(roles, i).each { |r| r.can *which_can, obj: obj, auto_definition: true } if which_can.present? ResultOf.roles definition, i, given: roles end
Also aliased as: aname