class String

Public Instance Methods

title_case() click to toggle source
# File lib/awsutils/ec2info.rb, line 14
def title_case
  underscore.split('_').map do |word|
    # Recognize certain special cases (e.g. acronyms)
    if %w[iam ebs id dns vpc].include? word.downcase
      word.upcase
    elsif word.casecmp('ids').zero?
      'IDs'
    else
      word.capitalize
    end
  end.join(' ')
end
underscore() click to toggle source
# File lib/awsutils/ec2info.rb, line 6
def underscore
  gsub(/::/, '/')
    .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
    .gsub(/([a-z\d])([A-Z])/, '\1_\2')
    .tr('-', '_')
    .downcase
end