Class: Textus::Handlers::Maintenance::RuleExplain

Inherits:
Object
  • Object
show all
Defined in:
lib/textus/handlers/maintenance/rule_explain.rb

Constant Summary collapse

LEAN_FIELDS =
Textus::Manifest::Schema::FIELD_REGISTRY
.select { |_, m| m[:in_rule_explain].include?(:lean) }.keys.freeze
DETAIL_FIELDS =
Textus::Manifest::Schema::FIELD_REGISTRY
.select { |_, m| m[:in_rule_explain].include?(:detail) }.keys.freeze
EFFECTIVE_FIELDS =
DETAIL_FIELDS.select { |f| Textus::Manifest::Schema::FIELD_REGISTRY[f][:policy_class] }.freeze

Instance Method Summary collapse

Constructor Details

#initialize(manifest:) ⇒ RuleExplain

Returns a new instance of RuleExplain.



5
6
7
# File 'lib/textus/handlers/maintenance/rule_explain.rb', line 5

def initialize(manifest:)
  @manifest = manifest
end

Instance Method Details

#call(command, _call) ⇒ Object



9
10
11
12
13
14
15
16
17
# File 'lib/textus/handlers/maintenance/rule_explain.rb', line 9

def call(command, _call)
  key = command.key
  result = if command.detail
             explain(key)
           else
             effective(key)
           end
  Value::Result.success(result)
end