Module: Deployme::Util

Defined in:
lib/deployme/util.rb

Class Method Summary collapse

Class Method Details

.camelize(term) ⇒ Object

From activesupport/lib/active_support/inflector/methods.rb, line 67



4
5
6
7
8
9
10
# File 'lib/deployme/util.rb', line 4

def self.camelize(term)
  string = term.to_s
  string = string.sub(/^[a-z\d]*/) { $&.capitalize }
  string.gsub!(%r{(?:_|(/))([a-z\d]*)}) { "#{Regexp.last_match(1)}#{inflections.acronyms[Regexp.last_match(2)] || Regexp.last_match(2).capitalize}" }
  string.gsub!(%r{/}, '::')
  string
end

.deep_dup(obj) ⇒ Object



12
13
14
# File 'lib/deployme/util.rb', line 12

def self.deep_dup(obj)
  Marshal.load(Marshal.dump(obj))
end

.deep_symbolize_keys(hash) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/deployme/util.rb', line 16

def self.deep_symbolize_keys(hash)
  case hash
  when Hash
    Hash[
      hash.map do |k, v|
        [k.respond_to?(:to_sym) ? k.to_sym : k, deep_symbolize_keys(v)]
      end
    ]
  when Enumerable
    hash.map { |v| deep_symbolize_keys(v) }
  else
    hash
  end
end