Sha256: 93a771c0c0524d45f07c925ac5027057b69401deadd077a9713e0fc2d649502f

Contents?: true

Size: 1.12 KB

Versions: 8

Compression:

Stored size: 1.12 KB

Contents

module Picky

  module Query
    
    class Tokens

      # This is a combination of multiple (already processed) tokens, combined using
      # the OR character, usually | (pipe).
      #
      # It pretends to be a single token and answers to all messages
      # a token would answer to.
      #
      class Or < Tokens
      
        def initialize processed_tokens
          @tokens = processed_tokens
        end
        
        # TODO
        #
        def possible_combinations categories
          combinations = @tokens.inject([]) do |result, token|
            result + token.possible_combinations(categories)
          end
          combinations.empty? && combinations || [Query::Combination::Or.new(combinations)]
        end
        
        # # Returns the token in the form
        # #   ['original:Text', 'processedtext']
        # #
        # def to_result
        #   [originals.join('|'), texts.join('|')]
        # end
        
        # # Just join the token original texts.
        # #
        # def to_s
        #   "#{self.class}(#{originals.join '|'})"
        # end
      
      end
      
    end
    
  end
  
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
picky-4.19.4 lib/picky/query/or.rb
picky-4.19.3 lib/picky/query/or.rb
picky-4.19.2 lib/picky/query/or.rb
picky-4.19.1 lib/picky/query/or.rb
picky-4.19.0 lib/picky/query/or.rb
picky-4.18.0 lib/picky/query/or.rb
picky-4.17.1 lib/picky/query/or.rb
picky-4.17.0 lib/picky/query/or.rb