Sha256: f6b79c8614493148d7bae18b25ad407c7583add81f792264279b14c0cafd7554

Contents?: true

Size: 963 Bytes

Versions: 11

Compression:

Stored size: 963 Bytes

Contents

# frozen_string_literal: true

module Katalyst
  module Tables
    module Collection
      module Query
        class ValueParser
          attr_accessor :query, :key

          def initialize(key:, start:)
            @key = key
            @start = start
          end

          def literal?
            false
          end

          def tagged?
            true
          end

          def range
            @start..@end
          end

          def take_quoted_value
            return unless query.scan(/"([^"]*)"/)

            self.value, = query.values_at(1)
          end

          def take_unquoted_value
            # note, we allow unquoted values to begin with a " so that partial
            # inputs can be accepted
            return unless query.scan(/"?([^ \],]*)/)

            self.value, = query.values_at(1)
          end

          def skip_whitespace
            query.scan(/\s+/)
          end
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
katalyst-tables-3.8.0 app/models/concerns/katalyst/tables/collection/query/value_parser.rb
katalyst-tables-3.7.0 app/models/concerns/katalyst/tables/collection/query/value_parser.rb
katalyst-tables-3.6.2 app/models/concerns/katalyst/tables/collection/query/value_parser.rb
katalyst-tables-3.6.1 app/models/concerns/katalyst/tables/collection/query/value_parser.rb
katalyst-tables-3.6.0 app/models/concerns/katalyst/tables/collection/query/value_parser.rb
katalyst-tables-3.5.5 app/models/concerns/katalyst/tables/collection/query/value_parser.rb
katalyst-tables-3.5.4 app/models/concerns/katalyst/tables/collection/query/value_parser.rb
katalyst-tables-3.5.3 app/models/concerns/katalyst/tables/collection/query/value_parser.rb
katalyst-tables-3.5.2 app/models/concerns/katalyst/tables/collection/query/value_parser.rb
katalyst-tables-3.5.1 app/models/concerns/katalyst/tables/collection/query/value_parser.rb
katalyst-tables-3.5.0 app/models/concerns/katalyst/tables/collection/query/value_parser.rb