Class: Spellr::LineTokenizer

Inherits:
StringScanner
  • Object
show all
Defined in:
lib/spellr/line_tokenizer.rb

Overview

rubocop:disable Metrics/ClassLength

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*line, skip_uri: true, skip_key: true) ⇒ LineTokenizer

Returns a new instance of LineTokenizer.



18
19
20
21
22
23
24
# File 'lib/spellr/line_tokenizer.rb', line 18

def initialize(*line, skip_uri: true, skip_key: true)
  @line = Spellr::Token.wrap(line.first)
  @skip_uri = skip_uri
  @skip_key = skip_key

  super(@line.to_s)
end

Instance Attribute Details

#disabledObject Also known as: disabled?

Returns the value of attribute disabled.



11
12
13
# File 'lib/spellr/line_tokenizer.rb', line 11

def disabled
  @disabled
end

#lineObject (readonly)

Returns the value of attribute line.



10
11
12
# File 'lib/spellr/line_tokenizer.rb', line 10

def line
  @line
end

#skip_keyObject Also known as: skip_key?

Returns the value of attribute skip_key.



15
16
17
# File 'lib/spellr/line_tokenizer.rb', line 15

def skip_key
  @skip_key
end

#skip_uriObject Also known as: skip_uri?

Returns the value of attribute skip_uri.



13
14
15
# File 'lib/spellr/line_tokenizer.rb', line 13

def skip_uri
  @skip_uri
end

Instance Method Details

#each_termObject



31
32
33
34
35
36
37
38
39
# File 'lib/spellr/line_tokenizer.rb', line 31

def each_term
  until eos?
    term = next_term
    next unless term
    next if disabled?

    yield term
  end
end

#each_tokenObject



41
42
43
44
45
46
47
48
49
# File 'lib/spellr/line_tokenizer.rb', line 41

def each_token
  until eos?
    term = next_term
    next unless term
    next if disabled?

    yield Token.new(term, line: line, location: column_location(term))
  end
end

#string=(line) ⇒ Object



26
27
28
29
# File 'lib/spellr/line_tokenizer.rb', line 26

def string=(line)
  @line = Token.wrap(line)
  super(@line.to_s)
end