Skip to content

Commit

Permalink
Merge pull request #7 from pangloss/fast_parser
Browse files Browse the repository at this point in the history
Fast parser
  • Loading branch information
Darrick Wiebe committed Oct 21, 2011
2 parents 97884ab + 76dbfa3 commit 552a352
Show file tree
Hide file tree
Showing 11 changed files with 462 additions and 450 deletions.
2 changes: 1 addition & 1 deletion lib/pacer/filter.rb
Expand Up @@ -5,7 +5,6 @@ module Filter

require 'pacer/filter/collection_filter'
require 'pacer/filter/empty_filter'
require 'pacer/filter/expression_filter'
require 'pacer/filter/future_filter'
require 'pacer/filter/property_filter'
require 'pacer/filter/range_filter'
Expand All @@ -14,3 +13,4 @@ module Filter
require 'pacer/filter/loop_filter'
require 'pacer/filter/block_filter'
require 'pacer/filter/object_filter'
require 'pacer/filter/where_filter'
44 changes: 0 additions & 44 deletions lib/pacer/filter/expression_filter.rb

This file was deleted.

194 changes: 0 additions & 194 deletions lib/pacer/filter/expression_filter/builder.rb

This file was deleted.

62 changes: 0 additions & 62 deletions lib/pacer/filter/expression_filter/parser.rb

This file was deleted.

47 changes: 47 additions & 0 deletions lib/pacer/filter/where_filter.rb
@@ -0,0 +1,47 @@
require 'pacer/filter/where_filter/node_visitor'

module Pacer
module Routes
module RouteOperations
def where(str, values = {})
chain_route :filter => :where, :where_statement => str, :values => values
end
end
end

module Filter
module WhereFilter
attr_reader :where_statement
attr_accessor :values

def where_statement=(str)
@where_statement = str
@built = @parsed = @intermediate = nil
end

def parsed
@parsed ||= JRuby.parse @where_statement
end

def intermediate
@intermediate ||= parsed.accept(NodeVisitor.new(self, values || {}))
end

def build!
@built ||= intermediate.build
end

protected

def attach_pipe(end_pipe)
pipe = build!
pipe.setStarts end_pipe if end_pipe
pipe
end

def inspect_string
"where(#@where_statement)"
end
end
end
end

0 comments on commit 552a352

Please sign in to comment.