Method: Interscript::Stdlib::Functions.rababa

Defined in:
lib/interscript/stdlib.rb

.rababa(output, config:) ⇒ Object



240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
# File 'lib/interscript/stdlib.rb', line 240

def self.rababa(output, config:)
  require "rababa" rescue nil # Try to load rababa, but don't fail hard if not possible.
  unless defined? Rababa
    raise Interscript::ExternalUtilError, "Rababa is not loaded. Please read docs/Usage_with_Rababa.adoc"
  end

  config_value = Interscript.rababa_configs[config]
  model_uri = config_value['model']
  rababa_config = config_value['config']
  model_path = Interscript.rababa_provision(config, model_uri)

  @rababa_diacritizer ||= Rababa::Diacritizer.new(model_path, rababa_config)

  @rababa_diacritizer.diacritize_text(output)
end