Class: Patterns::StrongRuleset

Inherits:
Ruleset
  • Object
show all
Defined in:
lib/patterns/strong_ruleset.rb

Instance Method Summary collapse

Methods inherited from Ruleset

add_rule, #applicable?, #each, #initialize, #not_satisfied?, rules

Constructor Details

This class inherits a constructor from Patterns::Ruleset

Instance Method Details

#forceable?Boolean

Returns:

  • (Boolean)


15
16
17
18
19
# File 'lib/patterns/strong_ruleset.rb', line 15

def forceable?
  rules.all? do |rule|
    (rule.applicable? && rule.forceable?) || rule.satisfied?
  end
end

#not_applicable?Boolean

Returns:

  • (Boolean)


11
12
13
# File 'lib/patterns/strong_ruleset.rb', line 11

def not_applicable?
  rules.any?(&:not_applicable?)
end

#satisfied?(force: false) ⇒ Boolean

Returns:

  • (Boolean)


5
6
7
8
9
# File 'lib/patterns/strong_ruleset.rb', line 5

def satisfied?(force: false)
  rules.all? do |rule|
    (rule.applicable? && rule.satisfied?) || (force && rule.forceable?)
  end
end