diff options
Diffstat (limited to 'lib/declarative_policy/rule_dsl.rb')
-rw-r--r-- | lib/declarative_policy/rule_dsl.rb | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/lib/declarative_policy/rule_dsl.rb b/lib/declarative_policy/rule_dsl.rb deleted file mode 100644 index 85da7f261fa..00000000000 --- a/lib/declarative_policy/rule_dsl.rb +++ /dev/null @@ -1,47 +0,0 @@ -# frozen_string_literal: true - -module DeclarativePolicy - # The DSL evaluation context inside rule { ... } blocks. - # Responsible for creating and combining Rule objects. - # - # See Base.rule - class RuleDsl - def initialize(context_class) - @context_class = context_class - end - - def can?(ability) - Rule::Ability.new(ability) - end - - def all?(*rules) - Rule::And.make(rules) - end - - def any?(*rules) - Rule::Or.make(rules) - end - - def none?(*rules) - ~Rule::Or.new(rules) - end - - def cond(condition) - Rule::Condition.new(condition) - end - - def delegate(delegate_name, condition) - Rule::DelegatedCondition.new(delegate_name, condition) - end - - def method_missing(msg, *args) - return super unless args.empty? && !block_given? - - if @context_class.delegations.key?(msg) - DelegateDsl.new(self, msg) - else - cond(msg.to_sym) - end - end - end -end |