Class: Stockade::Lexemes::Dict

Inherits:
Base
  • Object
show all
Extended by:
Memoist
Defined in:
lib/stockade/lexemes/dict.rb

Overview

Abstract Dictionary lexeme

Dictionary lexemes are those that can only be verified by checking the corresponding dictionary

Direct Known Subclasses

Firstname, Lastname, Word

Instance Attribute Summary

Attributes inherited from Base

#raw_value, #start_pos

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#==, #end_pos, #initialize, #mask, #range, #token, #type, types, #value

Constructor Details

This class inherits a constructor from Stockade::Lexemes::Base

Class Method Details

.dictObject



39
40
41
# File 'lib/stockade/lexemes/dict.rb', line 39

def dict
  Rambling::Trie.load("data/#{dict_name}.zip")
end

.dict_nameObject



37
# File 'lib/stockade/lexemes/dict.rb', line 37

def dict_name; end

.regexObject



11
12
13
14
15
# File 'lib/stockade/lexemes/dict.rb', line 11

def self.regex
  /
    [a-zA-Z]+
  /x
end

Instance Method Details

#capitalized?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/stockade/lexemes/dict.rb', line 30

def capitalized?
  raw_value[0] == raw_value[0].upcase
end

#common_word?Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/stockade/lexemes/dict.rb', line 26

def common_word?
  Word.new(value: value).valid?
end

#nameObject



22
23
24
# File 'lib/stockade/lexemes/dict.rb', line 22

def name
  raise 'Abstract'
end

#valid?Boolean

Returns:

  • (Boolean)


17
18
19
20
# File 'lib/stockade/lexemes/dict.rb', line 17

def valid?
  return false unless self.class.dict
  self.class.dict.include?(value)
end