Module: MSFLVisitors

Defined in:
lib/msfl_visitors.rb,
lib/msfl_visitors/visitor.rb,
lib/msfl_visitors/nodes/or.rb,
lib/msfl_visitors/nodes/and.rb,
lib/msfl_visitors/nodes/set.rb,
lib/msfl_visitors/nodes/base.rb,
lib/msfl_visitors/nodes/date.rb,
lib/msfl_visitors/nodes/time.rb,
lib/msfl_visitors/nodes/word.rb,
lib/msfl_visitors/nodes/equal.rb,
lib/msfl_visitors/nodes/field.rb,
lib/msfl_visitors/nodes/given.rb,
lib/msfl_visitors/nodes/match.rb,
lib/msfl_visitors/nodes/regex.rb,
lib/msfl_visitors/nodes/value.rb,
lib/msfl_visitors/nodes/binary.rb,
lib/msfl_visitors/nodes/filter.rb,
lib/msfl_visitors/nodes/number.rb,
lib/msfl_visitors/nodes/boolean.rb,
lib/msfl_visitors/nodes/dataset.rb,
lib/msfl_visitors/nodes/foreign.rb,
lib/msfl_visitors/nodes/partial.rb,
lib/msfl_visitors/nodes/iterator.rb,
lib/msfl_visitors/nodes/date_time.rb,
lib/msfl_visitors/nodes/less_than.rb,
lib/msfl_visitors/nodes/comparison.rb,
lib/msfl_visitors/nodes/containment.rb,
lib/msfl_visitors/nodes/named_value.rb,
lib/msfl_visitors/nodes/range_value.rb,
lib/msfl_visitors/nodes/greater_than.rb,
lib/msfl_visitors/nodes/query_string.rb,
lib/msfl_visitors/parsers/msfl_parser.rb,
lib/msfl_visitors/nodes/explicit_filter.rb,
lib/msfl_visitors/nodes/less_than_equal.rb,
lib/msfl_visitors/nodes/greater_than_equal.rb

Defined Under Namespace

Modules: Nodes, Parsers, VisitorHelpers Classes: Visitor

Class Method Summary collapse

Class Method Details

.get_chewy_clauses(dataset, msfl, visitor = MSFLVisitors::Visitor.new) ⇒ Object



8
9
10
11
12
13
14
15
16
17
# File 'lib/msfl_visitors.rb', line 8

def get_chewy_clauses(dataset, msfl, visitor = MSFLVisitors::Visitor.new)
  unless dataset.is_a? MSFL::Datasets::Base
    raise ArgumentError, "The first argument to MSFLVisitors.get_chewy_clauses must be a descendant of MSFL::Datasets::Base."
  end
  parser    = MSFLVisitors::Parsers::MSFLParser.new dataset
  converter = MSFL::Converters::Operator.new
  nmsfl     = converter.run_conversions msfl
  ast       = parser.parse nmsfl
  visitor.visit_tree ast
end