class SigtermExtensions::Inflector::Acronyms

A set of acronyms

@since 0.1.2 @api private

Attributes

regex[R]

Public Class Methods

new() click to toggle source

@since 0.1.2 @api private

# File lib/sigterm_extensions/inflector/acronyms.rb, line 14
def initialize
  @rules = {}
  define_regex_patterns
end

Public Instance Methods

add(rule, replacement) click to toggle source

@since 0.1.2 @api private

# File lib/sigterm_extensions/inflector/acronyms.rb, line 27
def add(rule, replacement)
  @rules[rule] = replacement
  define_regex_patterns
end
apply_to(word, capitalize = true) click to toggle source

@since 0.1.2 @api private

# File lib/sigterm_extensions/inflector/acronyms.rb, line 21
def apply_to(word, capitalize = true)
  @rules[word.downcase] || (capitalize ? word.capitalize : word)
end

Private Instance Methods

define_regex_patterns() click to toggle source

@since 0.1.2 @api private

# File lib/sigterm_extensions/inflector/acronyms.rb, line 36
def define_regex_patterns
  regex = @rules.empty? ? /(?=a)b/ : /#{@rules.values.join("|")}/
  @regex = /(?:(?<=([A-Za-z\d]))|\b)(#{regex})(?=\b|[^a-z])/
end