class Namazing::Wordup

Attributes

awesomes[RW]
boring[RW]

Public Class Methods

new(boring) click to toggle source
# File lib/namazing/wordup.rb, line 8
def initialize boring
  raise ArgumentError, 'Wordup requires a string' unless boring.class == String
  @boring = boring.gsub(/ /, '_')
  @awesomes = []
end

Public Instance Methods

awesome() click to toggle source
# File lib/namazing/wordup.rb, line 18
def awesome
  result = @awesomes.join('_')
  if type == :camelcase
    return result.camelize(:lower)
  elsif type == :pascalcase
    return result.camelize
  end
  result
end
split() click to toggle source
# File lib/namazing/wordup.rb, line 14
def split
  type == :underscore ? @boring.split('_') : @boring.split(/(?=[A-Z])/)
end
type() click to toggle source
# File lib/namazing/wordup.rb, line 32
def type
  return :underscore if @boring =~ /_/
  if @boring =~ /[A-Z]+/
    if @boring[0] =~ /[A-Z]/
      return :pascalcase
    else
      return :camelcase
    end
  else
    return :underscore
  end
end
word_count() click to toggle source
# File lib/namazing/wordup.rb, line 28
def word_count
  @boring.underscore.split('_').length
end