module Checkability::ActsAsCheckable

Adding class and instance methods

Attributes

ch_allowed[RW]
ch_conf[RW]
ch_messages[RW]

Public Class Methods

included(base) click to toggle source
# File lib/checkability/acts_as_checkable.rb, line 7
def self.included(base)
  base.extend ClassMethods
end
new(params) click to toggle source
Calls superclass method
# File lib/checkability/acts_as_checkable.rb, line 28
def initialize(params)
  @ch_messages = []
  @ch_allowed = nil
  super(params)
end

Public Instance Methods

acts_as_checkable(options = {}) click to toggle source
# File lib/checkability/acts_as_checkable.rb, line 14
def acts_as_checkable(options = {})
  if !options.is_a?(Hash) && !options.empty?
    raise ArgumentError,
          "Hash expected, got #{options.class.name}"
  end

  class_attribute :ch_conf

  self.ch_conf = options
end
perform_check() click to toggle source
# File lib/checkability/acts_as_checkable.rb, line 34
def perform_check
  @ch_conf = ch_conf
  Checkability::Checkable.new(self).check
  ch_messages << "#{ch_allowed}:::'#{_value}' is #{_allowness}. "
end

Private Instance Methods

_allowness() click to toggle source
# File lib/checkability/acts_as_checkable.rb, line 50
def _allowness
  ch_allowed ? 'ALLOWED' : 'NOT allowed'
end
_attr_name() click to toggle source
# File lib/checkability/acts_as_checkable.rb, line 46
def _attr_name
  ch_conf[:attr_name] || :value
end
_value() click to toggle source
# File lib/checkability/acts_as_checkable.rb, line 42
def _value
  send(_attr_name)
end