Module: Bogo::AnimalStrings

Included in:
Utility
Defined in:
lib/bogo/animal_strings.rb

Overview

Animal stylings on strings

Instance Method Summary collapse

Instance Method Details

#camel(string, leading_upcase = true) ⇒ String

Camel case string

Parameters:

  • string (String)
  • leading_upcase (TrueClass, FalseClass) (defaults to: true)

    camel case first letter

Returns:

  • (String)


12
13
14
15
16
17
18
# File 'lib/bogo/animal_strings.rb', line 12

def camel(string, leading_upcase=true)
  head, tail = leading_upcase ? [nil, string] : string.split('_', 2)
  tail = tail.to_s.split('_').map do |k|
    "#{k.slice(0,1).upcase}#{k.slice(1,k.length)}"
  end.join
  [head, tail.empty? ? nil : tail].compact.join
end

#snake(string) ⇒ String

Snake case (underscore) string

Parameters:

  • string (String)

Returns:

  • (String)


24
25
26
# File 'lib/bogo/animal_strings.rb', line 24

def snake(string)
  string.to_s.gsub(/([a-z])([A-Z])/, '\1_\2').gsub('-', '_').downcase
end