Module: StringPimped

Defined in:
lib/arfy/generator.rb

Instance Method Summary collapse

Instance Method Details

#camelize(first_letter_in_uppercase = :upper) ⇒ Object



10
11
12
13
14
15
# File 'lib/arfy/generator.rb', line 10

def camelize(first_letter_in_uppercase =:upper)
  s = gsub(/\/(.?)/){|x| "::#{x[-1..-1].upcase unless x == '/'}"}.
    gsub(/(^|_)(.)/){|x| x[-1..-1].upcase}
  s[0...1] = s[0...1].downcase unless first_letter_in_uppercase == :upper
  s
end

#classifyObject



17
18
19
20
21
# File 'lib/arfy/generator.rb', line 17

def classify
  str = sub(/.*\./, '')
  class << str; include StringPimped; end
  str.camelize
end

#respond_to?(method) ⇒ Boolean

Returns:

  • (Boolean)


23
24
25
26
27
28
29
# File 'lib/arfy/generator.rb', line 23

def respond_to? method
  @i_know ||= [:underscore, :camelize, :classify]
  if @i_know.include? method
    return true
  end
  super
end

#underscoreObject



5
6
7
8
# File 'lib/arfy/generator.rb', line 5

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