Sha256: 5f3b5c63701cedf0dc20779ce6dfee987a2655825d104b2fa7a716942e602d8f

Contents?: true

Size: 497 Bytes

Versions: 2

Compression:

Stored size: 497 Bytes

Contents

# StrongRuleset is not satisfied and not forceable if any of rules is not applicable

module Patterns
  class StrongRuleset < Ruleset
    def satisfied?(force: false)
      rules.all? do |rule|
        (rule.applicable? && rule.satisfied?) || (force && rule.forceable?)
      end
    end

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

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

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rails-patterns-0.11.0 lib/patterns/strong_ruleset.rb
rails-patterns-0.10.0 lib/patterns/strong_ruleset.rb