Module: CanCan::EditAbility
- Defined in:
- lib/cancan_edit/edit_ability.rb
Instance Method Summary collapse
- #can_edit(field = nil, subject = nil, conditions = nil, &block) ⇒ Object
- #can_edit?(field, subject, *extra_args) ⇒ Boolean
- #cannot_edit(field = nil, subject = nil, conditions = nil, &block) ⇒ Object
- #cannot_edit?(*args) ⇒ Boolean
- #has_block?(field, subject) ⇒ Boolean
- #has_raw_sql?(field, subject) ⇒ Boolean
Instance Method Details
#can_edit(field = nil, subject = nil, conditions = nil, &block) ⇒ Object
16 17 18 |
# File 'lib/cancan_edit/edit_ability.rb', line 16 def can_edit(field = nil, subject = nil, conditions = nil, &block) edit_rules << EditRule.new(true, field, subject, conditions, block) end |
#can_edit?(field, subject, *extra_args) ⇒ Boolean
5 6 7 8 9 10 |
# File 'lib/cancan_edit/edit_ability.rb', line 5 def can_edit?(field, subject, *extra_args) match = relevant_edit_rules_for_match(field, subject).detect do |rule| rule.matches_conditions?(field, subject, extra_args) end match ? match.base_behavior : false end |
#cannot_edit(field = nil, subject = nil, conditions = nil, &block) ⇒ Object
20 21 22 |
# File 'lib/cancan_edit/edit_ability.rb', line 20 def cannot_edit(field = nil, subject = nil, conditions = nil, &block) edit_rules << EditRule.new(false, field, subject, conditions, block) end |
#cannot_edit?(*args) ⇒ Boolean
12 13 14 |
# File 'lib/cancan_edit/edit_ability.rb', line 12 def cannot_edit?(*args) !can_edit?(*args) end |
#has_block?(field, subject) ⇒ Boolean
24 25 26 |
# File 'lib/cancan_edit/edit_ability.rb', line 24 def has_block?(field, subject) relevant_rules(field, subject).any?(&:only_block?) end |
#has_raw_sql?(field, subject) ⇒ Boolean
28 29 30 |
# File 'lib/cancan_edit/edit_ability.rb', line 28 def has_raw_sql?(field, subject) relevant_rules(field, subject).any?(&:only_raw_sql?) end |