module MyJohnDeereApi::Helpers::CaseConversion

Private Instance Methods

camelize(something) click to toggle source

convert text or underscored string to camelcase

# File lib/my_john_deere_api/helpers/case_conversion.rb, line 23
def camelize(something)
  case something
  when Symbol, String
    list = something.to_s.strip.split(/[_\s]+/)

    # preserve case of the first element
    new_list = [list.shift]
    new_list += list.map(&:capitalize)

    new_list.join('')
  when Hash
    something.transform_keys{ |key| camelize(key) }
  when Array
    something.map{|element| camelize(element)}
  end
end
underscore(something) click to toggle source

convert a text or camelcase string to underscore

# File lib/my_john_deere_api/helpers/case_conversion.rb, line 9
def underscore(something)
  case something
  when Symbol, String
    something.to_s.gsub(/([a-z])([A-Z])/, '\1_\2').gsub(/\s+/, '_').gsub(/_+/, '_').downcase
  when Hash
    something.transform_keys{ |key| underscore(key) }
  when Array
    something.map{|element| underscore(element)}
  end
end