class CanValidator
Constants
- RESERVED_OPTIONS
- VERSION
Public Instance Methods
validate_each(record, attribute, value)
click to toggle source
# File lib/can_validator.rb, line 4 def validate_each(record, attribute, value) if !value.respond_to?(:can?) || !has_permission?(record, value) record.errors.add(attribute, options[:message] || :permission_denied) end end
Private Instance Methods
has_permission?(record, value)
click to toggle source
# File lib/can_validator.rb, line 12 def has_permission?(record, value) actions = options.keys - RESERVED_OPTIONS actions.all? do |action| options[action] ? value.can?(action, record) : value.cannot?(action, record) end end