Module: Purizumu

Defined in:
lib/purizumu.rb,
lib/purizumu/errors.rb,
lib/purizumu/railtie.rb,
lib/purizumu/version.rb,
lib/purizumu/translator.rb,
lib/purizumu/engines/xai.rb,
lib/purizumu/translation.rb,
lib/purizumu/engines/test.rb,
lib/purizumu/configuration.rb,
lib/purizumu/model_extensions.rb,
lib/purizumu/engines/xai/payload_builder.rb,
lib/purizumu/engines/xai/response_parser.rb,
lib/generators/purizumu/install/install_generator.rb

Overview

Entry point and global configuration for Purizumu translations.

Defined Under Namespace

Modules: Engines, Generators, ModelExtensions Classes: Configuration, ConfigurationError, Error, Railtie, Translation, TranslationError, Translator, UnsupportedEngineError

Constant Summary collapse

VERSION =
'0.2.0'

Class Method Summary collapse

Class Method Details

.configurationObject



28
29
30
# File 'lib/purizumu.rb', line 28

def configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields:



24
25
26
# File 'lib/purizumu.rb', line 24

def configure
  yield(configuration)
end

.disable_test_mode!Object



45
46
47
48
# File 'lib/purizumu.rb', line 45

def disable_test_mode!
  @test_mode = false
  @test_handler = nil
end

.engineObject



54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/purizumu.rb', line 54

def engine
  return Engines::Test.new(handler: @test_handler) if test_mode?

  engine_name = configuration.engine.to_sym

  case engine_name
  when :xai
    Engines::Xai.new(configuration: configuration)
  when :test
    Engines::Test.new
  else
    raise UnsupportedEngineError, "Unsupported translation engine: #{engine_name}"
  end
end

.reset_configuration!Object



32
33
34
# File 'lib/purizumu.rb', line 32

def reset_configuration!
  @configuration = Configuration.new
end

.test_mode!(&handler) ⇒ Object



36
37
38
39
# File 'lib/purizumu.rb', line 36

def test_mode!(&handler)
  @test_mode = true
  @test_handler = handler
end

.test_mode?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/purizumu.rb', line 41

def test_mode?
  @test_mode == true
end

.translate_attribute(record, attribute_name, locale: I18n.locale) ⇒ Object



50
51
52
# File 'lib/purizumu.rb', line 50

def translate_attribute(record, attribute_name, locale: I18n.locale)
  Translator.new(record: record, attribute_name: attribute_name, locale: locale).call
end