Module: Workbox::Text

Defined in:
lib/workbox/text.rb

Constant Summary collapse

PAIR_MAP =
{
  '{' => '}',
  '[' => ']',
  '(' => ')',
  ')' => '(',
  ']' => '[',
  '}' => '{',
  '>' => '<',
  '<' => '>',
}

Instance Method Summary collapse

Instance Method Details

#reflectObject



19
20
21
22
23
# File 'lib/workbox/text.rb', line 19

def reflect
  to_s.each_char.map do |char|
    PAIR_MAP.fetch(char) { char }
  end.reverse.join
end

#slugObject



25
26
27
# File 'lib/workbox/text.rb', line 25

def slug
  to_s.gsub(/[\s-]/, '_').gsub(/[,.?!+-=]/, '')
end

#wrap(opening, closing = nil) ⇒ Object



14
15
16
17
# File 'lib/workbox/text.rb', line 14

def wrap(opening, closing=nil)
  closing = opening.reflect unless closing
  to_s.clone.insert(0, opening) << closing
end