Class: Ferret::Search::Spans::SpanFirstQuery::SpanFirstEnum
- Inherits:
-
Ferret::Search::Spans::SpansEnum
- Object
- Ferret::Search::Spans::SpansEnum
- Ferret::Search::Spans::SpanFirstQuery::SpanFirstEnum
- Defined in:
- lib/ferret/search/spans/span_first_query.rb
Instance Method Summary collapse
- #doc ⇒ Object
- #finish ⇒ Object
-
#initialize(query, reader) ⇒ SpanFirstEnum
constructor
A new instance of SpanFirstEnum.
- #next? ⇒ Boolean
- #skip_to(target) ⇒ Object
- #start ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(query, reader) ⇒ SpanFirstEnum
Returns a new instance of SpanFirstEnum.
31 32 33 34 35 |
# File 'lib/ferret/search/spans/span_first_query.rb', line 31 def initialize(query, reader) super() @query = query @spans = @query.match.spans(reader) end |
Instance Method Details
#doc ⇒ Object
56 |
# File 'lib/ferret/search/spans/span_first_query.rb', line 56 def doc() @spans.doc() end |
#finish ⇒ Object
58 |
# File 'lib/ferret/search/spans/span_first_query.rb', line 58 def finish() @spans.finish() end |
#next? ⇒ Boolean
37 38 39 40 41 42 |
# File 'lib/ferret/search/spans/span_first_query.rb', line 37 def next?() while (@spans.next?()) # scan to next match return true if (finish() <= @query.finish) end return false end |
#skip_to(target) ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/ferret/search/spans/span_first_query.rb', line 44 def skip_to(target) if not @spans.skip_to(target) return false end if (@spans.finish <= @query.finish) # there is a match return true end return next?() # scan to next match end |
#start ⇒ Object
57 |
# File 'lib/ferret/search/spans/span_first_query.rb', line 57 def start() @spans.start() end |
#to_s ⇒ Object
60 |
# File 'lib/ferret/search/spans/span_first_query.rb', line 60 def to_s() "spans(#{@query})" end |