Module: Serfx::Utils

Defined in:
lib/serfx/utils.rb,
lib/serfx/utils/handler.rb,
lib/serfx/utils/async_job.rb

Overview

Helper methods for string manipulation

Defined Under Namespace

Modules: Handler Classes: AsyncJob

Instance Method Summary collapse

Instance Method Details

#camel_case(str) ⇒ Object

snakecase to camelcase converter. Taken from chef (mixin/convert_to_class_name.rb)



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/serfx/utils.rb', line 8

def camel_case(str)
  str = str.dup
  str.gsub!(/[^A-Za-z0-9_]/, '_')
  rname = nil
  regexp = /^(.+?)(_(.+))?$/
  mn = str.match(regexp)
  if mn
    rname = mn[1].capitalize
    while mn && mn[3]
      mn = mn[3].match(regexp)
      rname << mn[1].capitalize if mn
    end
  end
  rname
end

#snake_case(str) ⇒ Object

camelcase to snakecase converter



24
25
26
# File 'lib/serfx/utils.rb', line 24

def snake_case(str)
  str.gsub(/[A-Z]/) { |s| '_' + s }.downcase.sub(/^\_/, '')
end