class ConditionalMessages::Rule

Attributes

condition[R]
options[R]

Public Class Methods

new(options = {}, &condition) click to toggle source
# File lib/conditional_messages/rule.rb, line 7
def initialize(options = {}, &condition)
  @options   = options
  @condition = condition || raise(UndefinedRuleError)
end

Public Instance Methods

apply(context) click to toggle source
# File lib/conditional_messages/rule.rb, line 24
def apply(context)
  context.instance_eval(&condition)
end
default_points() click to toggle source
# File lib/conditional_messages/rule.rb, line 20
def default_points
  required? ? 100 : 10
end
points() click to toggle source
# File lib/conditional_messages/rule.rb, line 16
def points
  options.fetch(:points) { default_points }
end
required?() click to toggle source
# File lib/conditional_messages/rule.rb, line 12
def required?
  options.fetch(:required) { false }
end