module Interscript::Stdlib::Functions
Public Class Methods
compose(output, _:nil)
click to toggle source
# File lib/interscript/stdlib.rb, line 206 def self.compose(output, _:nil) output.unicode_normalize(:nfc) end
decompose(output, _:nil)
click to toggle source
# File lib/interscript/stdlib.rb, line 210 def self.decompose(output, _:nil) output.unicode_normalize(:nfd) end
downcase(output, word_separator: nil)
click to toggle source
# File lib/interscript/stdlib.rb, line 197 def self.downcase(output, word_separator: nil) if word_separator output = output.gsub(/^(.)/, &:downcase) output = output.gsub(/#{word_separator}(.)/, &:downcase) unless word_separator == '' else output.downcase end end
rababa(output, config:)
click to toggle source
# File lib/interscript/stdlib.rb, line 237 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 StandardError, "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
secryst(output, model:)
click to toggle source
# File lib/interscript/stdlib.rb, line 223 def self.secryst(output, model:) require "secryst" rescue nil # Try to load secryst, but don't fail hard if not possible. unless defined? Secryst raise StandardError, "Secryst is not loaded. Please read docs/Usage_with_Secryst.adoc" end Interscript.secryst_index_locations.each do |remote| Secryst::Provisioning.add_remote(remote) end @secryst_models[model] ||= Secryst::Translator.new(model_file: model) output.split("\n").map(&:chomp).map do |i| @secryst_models[model].translate(i) end.join("\n") end
separate(output, separator: " ")
click to toggle source
# File lib/interscript/stdlib.rb, line 214 def self.separate(output, separator: " ") output.split("").join(separator) end
title_case(output, word_separator: " ")
click to toggle source
# File lib/interscript/stdlib.rb, line 191 def self.title_case(output, word_separator: " ") output = output.gsub(/^(.)/, &:upcase) output = output.gsub(/#{word_separator}(.)/, &:upcase) unless word_separator == '' output end
unseparate(output, separator: " ")
click to toggle source
# File lib/interscript/stdlib.rb, line 218 def self.unseparate(output, separator: " ") output.split(separator).join("") end