class Smartdict::Translator

Attributes

default_opts[R]

Public Class Methods

new(default_opts = {}) click to toggle source
# File lib/smartdict/translator.rb, line 11
def initialize(default_opts = {})
  @default_opts = default_opts
  @middleware_classes = [Base, DriverConfiguration, LanguageDetector]
  @middleware = build_middleware
end

Public Instance Methods

translate(word, opts = {}) click to toggle source
# File lib/smartdict/translator.rb, line 17
def translate(word, opts = {})
  opts.reverse_merge!(default_opts)
  @middleware.last.call(word, opts)
end

Private Instance Methods

build_middleware() click to toggle source
# File lib/smartdict/translator.rb, line 25
def build_middleware
  hooks = []
  @middleware_classes.each do |klass|
    hooks << klass.new(hooks.last)
  end
  hooks
end