Class: MemoryDictionary::Translator

Inherits:
Object
  • Object
show all
Defined in:
lib/memory_dictionary/translator.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dictionary_name) ⇒ Translator

Returns a new instance of Translator.



2
3
4
5
6
7
8
9
# File 'lib/memory_dictionary/translator.rb', line 2

def initialize(dictionary_name)
  begin
    @dictionary = MemoryDictionary::Dictionary.find_by(name: dictionary_name)  
  rescue Mongoid::Errors::DocumentNotFound => e
    MemoryDictionary.logger.debug e
    raise MemoryDictionary::Errors::DictionaryNotFoundException
  end
end

Class Method Details

.add_word(dictionary, word, translation, &block) ⇒ Object



26
27
28
29
# File 'lib/memory_dictionary/translator.rb', line 26

def self.add_word(dictionary, word, translation, &block)
  translator = MemoryDictionary::Translator.new(dictionary)
  translator.add_word(word, translation, &block)
end

Instance Method Details

#add_word(word, translation, &block) ⇒ Object



21
22
23
24
# File 'lib/memory_dictionary/translator.rb', line 21

def add_word(word, translation, &block)
  @dictionary.words << MemoryDictionary::Word.new(name: word, translation: translation)
  block.call if block_given?
end

#translate(word) ⇒ Object



11
12
13
14
15
16
17
18
19
# File 'lib/memory_dictionary/translator.rb', line 11

def translate(word)
  begin
    word = @dictionary.words.find_by(name: word)
    word.translation
  rescue Mongoid::Errors::DocumentNotFound => e
    MemoryDictionary.logger.debug e
    raise MemoryDictionary::Errors::WordNotFoundException
  end
end