Class: LcpRuby::SavedFilters::StaleFieldValidator
- Inherits:
-
Object
- Object
- LcpRuby::SavedFilters::StaleFieldValidator
- Defined in:
- lib/lcp_ruby/saved_filters/stale_field_validator.rb
Class Method Summary collapse
-
.validate(condition_tree, filter_metadata) ⇒ Hash
Walks a condition tree and validates each leaf’s field against available filter fields.
Instance Method Summary collapse
-
#initialize(condition_tree, filter_metadata) ⇒ StaleFieldValidator
constructor
A new instance of StaleFieldValidator.
- #validate ⇒ Object
Constructor Details
#initialize(condition_tree, filter_metadata) ⇒ StaleFieldValidator
Returns a new instance of StaleFieldValidator.
14 15 16 17 18 |
# File 'lib/lcp_ruby/saved_filters/stale_field_validator.rb', line 14 def initialize(condition_tree, ) @tree = condition_tree @valid_field_names = build_valid_field_set() @skipped = [] end |
Class Method Details
.validate(condition_tree, filter_metadata) ⇒ Hash
Walks a condition tree and validates each leaf’s field against available filter fields. Removes invalid leaves and collects descriptions of skipped conditions.
10 11 12 |
# File 'lib/lcp_ruby/saved_filters/stale_field_validator.rb', line 10 def self.validate(condition_tree, ) new(condition_tree, ).validate end |
Instance Method Details
#validate ⇒ Object
20 21 22 23 24 25 |
# File 'lib/lcp_ruby/saved_filters/stale_field_validator.rb', line 20 def validate valid_tree = process_node(@tree) valid_tree ||= { "combinator" => "and", "children" => [] } { valid_tree: valid_tree, skipped_conditions: @skipped } end |