Class: Gamefic::Query::Integer
- Defined in:
- lib/gamefic/query/integer.rb
Overview
A special query that handles integers instead of entities.
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
- #accept?(_subject, token) ⇒ Boolean
- #filter(_subject, token) ⇒ Object
-
#initialize(name: self.class.name) ⇒ Integer
constructor
A new instance of Integer.
- #precision ⇒ Object
Methods inherited from Base
#bind, #inspect, #name, plain, #select, #span, span
Constructor Details
#initialize(name: self.class.name) ⇒ Integer
Returns a new instance of Integer.
9 10 11 |
# File 'lib/gamefic/query/integer.rb', line 9 def initialize(name: self.class.name) super(name: name) end |
Instance Method Details
#accept?(_subject, token) ⇒ Boolean
27 28 29 |
# File 'lib/gamefic/query/integer.rb', line 27 def accept?(_subject, token) token.is_a?(::Integer) end |
#filter(_subject, token) ⇒ Object
13 14 15 16 17 18 19 20 21 |
# File 'lib/gamefic/query/integer.rb', line 13 def filter(_subject, token) return Result.new(token, '') if token.is_a?(::Integer) words = token.keywords number = words.shift return Result.new(nil, token) unless number =~ /\d+/ Result.new(number.to_i, words.join(' ')) end |
#precision ⇒ Object
23 24 25 |
# File 'lib/gamefic/query/integer.rb', line 23 def precision -10_000 end |