module Scriptify

Constants

DEFAULT_OPTS
VERSION

Public Instance Methods

subscript(opts = {}) click to toggle source
# File lib/scriptify.rb, line 14
def subscript(opts = {})
  scriptify(ScriptifyCatalog.subscripts, opts)
end
superscript(opts = {}) click to toggle source
# File lib/scriptify.rb, line 10
def superscript(opts = {})
  scriptify(ScriptifyCatalog.superscripts, opts)
end

Private Instance Methods

char_script(catalog, char, opts) click to toggle source
# File lib/scriptify.rb, line 28
def char_script(catalog, char, opts)
  sym = char.to_sym
  return catalog[sym] if catalog.key?(sym)
  return char_script(catalog, char.downcase, opts) if opts[:fallback_lower] && upcase?(char)
  return opts[:replace_unknown] if opts[:replace_unknown]
  char
end
scriptify(catalog, opts) click to toggle source
# File lib/scriptify.rb, line 19
def scriptify(catalog, opts)
  opts.merge(DEFAULT_OPTS)
  scripted = ""
  self.to_s.split("").each do |c|
    scripted += char_script(catalog, c, opts)
  end
  scripted
end
upcase?(char) click to toggle source
# File lib/scriptify.rb, line 36
def upcase?(char)
  char.match(/^[[:alpha:]]$/) && char == char.upcase
end