Sha256: cb16f4a3ab1c26cf07d0fdbaaa04a58894d0510b949b39bf59d41164550cc1de

Contents?: true

Size: 631 Bytes

Versions: 24

Compression:

Stored size: 631 Bytes

Contents

module CloudSesame
  module Query
    module Node
      class FilterQuery < Abstract

        EXCESS_WHITESPACES = Regexp.new(/\s{2,}/).freeze
        ENDING_WHITESPACES = Regexp.new(/\s+\)$/).freeze

        def compile
          if (compiled = root.compile) && !(compiled = strip(compiled)).empty?
            compiled
          end
        end

        def root
          @root ||= AST::Root.new context
        end

        private

        def strip(string)
          string.gsub!(EXCESS_WHITESPACES, ' '.freeze)
          string.gsub!(ENDING_WHITESPACES, ')'.freeze)
          string
        end

      end
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
CloudSesame-1.0.1 lib/cloud_sesame/query/node/filter_query.rb
CloudSesame-1.0.0 lib/cloud_sesame/query/node/filter_query.rb
CloudSesame-0.9.4 lib/cloud_sesame/query/node/filter_query.rb
CloudSesame-0.9.3 lib/cloud_sesame/query/node/filter_query.rb
CloudSesame-0.9.2 lib/cloud_sesame/query/node/filter_query.rb
CloudSesame-0.9.1 lib/cloud_sesame/query/node/filter_query.rb
CloudSesame-0.9.0 lib/cloud_sesame/query/node/filter_query.rb
CloudSesame-0.8.3 lib/cloud_sesame/query/node/filter_query.rb
CloudSesame-0.8.2 lib/cloud_sesame/query/node/filter_query.rb
CloudSesame-0.8.1 lib/cloud_sesame/query/node/filter_query.rb
CloudSesame-0.8.0 lib/cloud_sesame/query/node/filter_query.rb
CloudSesame-0.7.13 lib/cloud_sesame/query/node/filter_query.rb
CloudSesame-0.7.12 lib/cloud_sesame/query/node/filter_query.rb
CloudSesame-0.7.11 lib/cloud_sesame/query/node/filter_query.rb
CloudSesame-0.7.10 lib/cloud_sesame/query/node/filter_query.rb
CloudSesame-0.7.9 lib/cloud_sesame/query/node/filter_query.rb
CloudSesame-0.7.8 lib/cloud_sesame/query/node/filter_query.rb
CloudSesame-0.7.7 lib/cloud_sesame/query/node/filter_query.rb
CloudSesame-0.7.5 lib/cloud_sesame/query/node/filter_query.rb
CloudSesame-0.7.4 lib/cloud_sesame/query/node/filter_query.rb