Class: Mongoid::Oslc::Strategy

Inherits:
Object
  • Object
show all
Defined in:
lib/mongoid/oslc/strategy.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Attribute Details

#parserObject (readonly)

Returns the value of attribute parser.



7
8
9
# File 'lib/mongoid/oslc/strategy.rb', line 7

def parser
  @parser
end

Class Method Details

.to_query(query, *args) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/mongoid/oslc/strategy.rb', line 9

def self.to_query(query, *args)
  options = { :verbose => true }
  options.merge!(args.extract_options!)

  Treetop.load File.join(File.dirname(__FILE__), "grammar")
  @parser = GrammarParser.new

  tree = @parser.parse(query)
  raise Mongoid::Oslc::QueryParsingError.new(query, @parser.index) if tree.nil?

  tree.to_mongo_query
end