Class: String

Inherits:
Object
  • Object
show all
Defined in:
lib/bashly/extensions/string.rb

Instance Method Summary collapse

Instance Method Details

#indent(offset) ⇒ Object



6
7
8
9
# File 'lib/bashly/extensions/string.rb', line 6

def indent(offset)
  return self unless offset > 0
  split("\n").indent(offset).join("\n")
end

#lintObject



27
28
29
# File 'lib/bashly/extensions/string.rb', line 27

def lint
  gsub(/\n{2,}/, "\n\n")
end

#sanitize_for_printObject



2
3
4
# File 'lib/bashly/extensions/string.rb', line 2

def sanitize_for_print
  gsub("\n", "\\n").gsub("\"", "\\\"")
end

#to_underscoreObject



11
12
13
# File 'lib/bashly/extensions/string.rb', line 11

def to_underscore
  gsub(/(.)([A-Z])/,'\1_\2').gsub(/[\- ]/, '_').downcase
end

#wrap(length = 80) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
# File 'lib/bashly/extensions/string.rb', line 15

def wrap(length = 80)
  strip!
  split("\n").collect! do |line|
    if line.length > length
      line.gsub!(/([^\s]{#{length}})([^\s$])/, "\\1 \\2")
      line.gsub(/(.{1,#{length}})(\s+|$)/, "\\1\n").rstrip
    else
      line
    end
  end * "\n"
end