Sha256: f7d9f54a95654da7a38a065060b90c6b07fa653dd47e4d3ceb87eb84cf891bcd
Contents?: true
Size: 808 Bytes
Versions: 2
Compression:
Stored size: 808 Bytes
Contents
module CanField module CanCan module AbilityAdditions # see README.md def canf(actions, target, fields) unless actions.is_a? Array actions = [actions] end unless fields.is_a? Array fields = [fields] end actions.each do |action| can action.to_sym, target end actions.product(fields).each do |x| action, field = x can "_cf_#{action}_fl_#{field}".to_sym, target end end # for internal use def abilities_for_subject(subject) @rules.select{|a| a.relevant_for_subject? subject}.map(&:actions).flatten.uniq end end end end if defined? CanCan::Ability CanCan::Ability.class_eval do include CanField::CanCan::AbilityAdditions end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
can_field-0.0.2 | lib/can_field/can_can/ability_additions.rb |
can_field-0.0.1 | lib/can_field/can_can/ability_additions.rb |