Class: Tomereader::Word

Inherits:
Object
  • Object
show all
Defined in:
lib/tomereader/word.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(word) ⇒ Word

Returns a new instance of Word.



4
5
6
7
# File 'lib/tomereader/word.rb', line 4

def initialize(word)
  @name = word
  @phrases = Hash.new
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



3
4
5
# File 'lib/tomereader/word.rb', line 3

def name
  @name
end

#phrasesObject (readonly)

Returns the value of attribute phrases.



3
4
5
# File 'lib/tomereader/word.rb', line 3

def phrases
  @phrases
end

Instance Method Details

#add(phrase, position) ⇒ Object



8
9
10
11
12
13
14
15
# File 'lib/tomereader/word.rb', line 8

def add(phrase, position)
  if @phrases.has_key? phrase
    @phrases[phrase] << position
  else
    @phrases[phrase] = [position]
  end
  self
end

#frequencyObject



16
17
18
# File 'lib/tomereader/word.rb', line 16

def frequency
  @phrases.count
end

#phrase_format(phrase) ⇒ Object



19
20
21
# File 'lib/tomereader/word.rb', line 19

def phrase_format(phrase)
  {source: phrase[0].to_s, positions: phrase[1]}
end

#to_sObject



29
30
31
# File 'lib/tomereader/word.rb', line 29

def to_s
  "#{name} : #{@phrases.count}"
end