Sha256: 278a7d6c32f8f42104f053d8b0044f96459e65914e6a1c81264e7a250223d553
Contents?: true
Size: 1.11 KB
Versions: 2
Compression:
Stored size: 1.11 KB
Contents
# frozen_string_literal: true module Gamefic module Query # A special query that handles text instead of entities. # class Text # @param argument [String, Regexp] def initialize argument = /.*/ @argument = argument validate end # @return [String, Regexp] def select(_subject) @argument end def query _subject, token if match? token Result.new(token, '') else Result.new(nil, token) end end def precision 0 end def accept? _subject, argument match? argument end def ambiguous? true end private def match? token return false unless token.is_a?(String) case @argument when Regexp token =~ @argument else token == @argument end end def validate return if @argument.is_a?(String) || @argument.is_a?(Regexp) raise ArgumentError, 'Invalid text query argument' end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
gamefic-3.4.0 | lib/gamefic/query/text.rb |
gamefic-3.3.0 | lib/gamefic/query/text.rb |