Module: ChefSpec::Util

Extended by:
Util
Included in:
Util
Defined in:
lib/chefspec/util.rb

Instance Method Summary collapse

Instance Method Details

#camelize(string) ⇒ String

Convert an underscored string to it's camelcase equivalent constant.

Parameters:

  • string (String)

    the string to convert

Returns:

  • (String)

32
33
34
35
36
37
38
# File 'lib/chefspec/util.rb', line 32

def camelize(string)
  string
    .to_s
    .split('_')
    .map { |e| e.capitalize }
    .join
end

#truncate(string, options = {}) ⇒ Object

Truncate the given string to a certain number of characters.

Parameters:

  • string (String)

    the string to truncate

  • options (Hash) (defaults to: {})

    the list of options (such as length)


48
49
50
51
52
53
54
55
56
# File 'lib/chefspec/util.rb', line 48

def truncate(string, options = {})
  length = options[:length] || 30

  if string.length > length
    string[0..length-3] + '...'
  else
    string
  end
end

#underscore(string) ⇒ String

Covert the given CaMelCaSeD string to under_score. Graciously borrowed from stackoverflow.com/questions/1509915.

Parameters:

  • string (String)

    the string to use for transformation

Returns:

  • (String)

14
15
16
17
18
19
20
21
22
# File 'lib/chefspec/util.rb', line 14

def underscore(string)
  string
    .to_s
    .gsub(/::/, '/')
    .gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2')
    .gsub(/([a-z\d])([A-Z])/,'\1_\2')
    .tr('-', '_')
    .downcase
end