Module: BoshStringExtensions

Included in:
String
Defined in:
lib/cli/core_ext.rb

Constant Summary collapse

COLOR_CODES =
{
  :red => "\e[0m\e[31m",
  :green => "\e[0m\e[32m",
  :yellow => "\e[0m\e[33m"
}

Instance Method Summary collapse

Instance Method Details

#blank?Boolean

Returns:

  • (Boolean)


121
122
123
# File 'lib/cli/core_ext.rb', line 121

def blank?
  self =~ /^\s*$/
end

#bosh_valid_id?Boolean

Returns:

  • (Boolean)


125
126
127
# File 'lib/cli/core_ext.rb', line 125

def bosh_valid_id?
  self =~ Bosh::Cli::Config::VALID_ID
end

#colorize(color_code) ⇒ Object



110
111
112
113
114
115
116
117
118
119
# File 'lib/cli/core_ext.rb', line 110

def colorize(color_code)
  if Bosh::Cli::Config.output.tty? &&
     Bosh::Cli::Config.colorize &&
     COLOR_CODES[color_code]

    "#{COLOR_CODES[color_code]}#{self}\e[0m"
  else
    self
  end
end

#greenObject



102
103
104
# File 'lib/cli/core_ext.rb', line 102

def green
  colorize(:green)
end

#redObject



98
99
100
# File 'lib/cli/core_ext.rb', line 98

def red
  colorize(:red)
end

#truncate(limit = 30) ⇒ Object



129
130
131
132
133
134
135
136
137
138
# File 'lib/cli/core_ext.rb', line 129

def truncate(limit = 30)
  return "" if self.blank?
  etc = "..."
  stripped = self.strip[0..limit]
  if stripped.length > limit
    stripped.gsub(/\s+?(\S+)?$/, "") + etc
  else
    stripped
  end
end

#yellowObject



106
107
108
# File 'lib/cli/core_ext.rb', line 106

def yellow
  colorize(:yellow)
end