Class: TranslationAPI

Inherits:
Object
  • Object
show all
Defined in:
lib/translation_api.rb,
lib/translation_api/config.rb,
lib/translation_api/version.rb,
lib/translation_api/provider/deepl.rb,
lib/translation_api/provider/openai.rb,
lib/translation_api/provider/openai/log.rb,
lib/translation_api/provider/openai/cost.rb

Defined Under Namespace

Modules: Provider Classes: Config

Constant Summary collapse

UNSUPPORTED_PROVIDER_MESSAGE =
"This provider is unsupported."
VERSION =
"1.0.0"

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(language: config.language, provider: config.provider, output_logs: config.output_logs, except_words: config.except_words) ⇒ TranslationAPI

Returns a new instance of TranslationAPI.



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/translation_api.rb', line 26

def initialize(
  language:     config.language,
  provider:     config.provider,
  output_logs:  config.output_logs,
  except_words: config.except_words
)
  @language     = language
  @output_logs  = output_logs
  @except_words = except_words
  @provider     = init_provider(provider)
end

Class Method Details

.configObject



14
15
16
# File 'lib/translation_api.rb', line 14

def self.config
  Config.instance
end

.configureObject



18
19
20
# File 'lib/translation_api.rb', line 18

def self.configure(&)
  Config.configure(&)
end

.translate(text) ⇒ Object



22
23
24
# File 'lib/translation_api.rb', line 22

def self.translate(text, **)
  new(**).translate(text)
end

Instance Method Details

#configObject



38
39
40
# File 'lib/translation_api.rb', line 38

def config
  self.class.config
end

#translate(text) ⇒ Object



42
43
44
# File 'lib/translation_api.rb', line 42

def translate(text)
  @provider.translate(text)
end