Class: ConditionalMessages::AppliedRule

Inherits:
Object
  • Object
show all
Defined in:
lib/conditional_messages/applied_rule.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(rule, context_holder) ⇒ AppliedRule

Returns a new instance of AppliedRule.



6
7
8
9
10
# File 'lib/conditional_messages/applied_rule.rb', line 6

def initialize(rule, context_holder)
  @rule           = rule
  @context_holder = context_holder
  @outcome        = rule.apply(context_holder)
end

Instance Attribute Details

#context_holderObject (readonly)

Returns the value of attribute context_holder.



4
5
6
# File 'lib/conditional_messages/applied_rule.rb', line 4

def context_holder
  @context_holder
end

#ruleObject (readonly)

Returns the value of attribute rule.



4
5
6
# File 'lib/conditional_messages/applied_rule.rb', line 4

def rule
  @rule
end

Instance Method Details

#pass?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/conditional_messages/applied_rule.rb', line 24

def pass?
  @outcome
end

#pointsObject



36
37
38
# File 'lib/conditional_messages/applied_rule.rb', line 36

def points
  rule.points
end

#required?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/conditional_messages/applied_rule.rb', line 20

def required?
  rule.required?
end

#required_pass?Boolean

Returns:

  • (Boolean)


28
29
30
31
32
33
34
# File 'lib/conditional_messages/applied_rule.rb', line 28

def required_pass?
  if required?
    pass?
  else
    true
  end
end

#scoreObject



12
13
14
15
16
17
18
# File 'lib/conditional_messages/applied_rule.rb', line 12

def score
  if pass?
    points
  else
    0
  end
end