Class: Hash

Inherits:
Object
  • Object
show all
Defined in:
lib/easy_installer/config.rb

Instance Method Summary collapse

Instance Method Details

#flatern_to_array(namespace = nil) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/easy_installer/config.rb', line 18

def flatern_to_array namespace = nil
  result = []
  self.each do |k, v|
    if v.class == String
      result << "#{namespace}_#{v}" if namespace
      result << "#{v}" unless namespace
    elsif v.class == Array
      v.each{|val| result <<  "#{namespace}_#{val}" if namespace
        result << "#{val}" unless namespace
      
      }
    else  
      result += (v.flatern_to_array "#{namespace}_#{k}") if namespace
      result += (v.flatern_to_array "#{k}") unless namespace
    end
  end
  result
end

#flattern(namespace = nil) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/easy_installer/config.rb', line 4

def flattern namespace = nil
  result = {}
  self.each do |k, v|
    if v.class != Hash
      result["#{namespace}_#{k}"] = v if namespace
      result["#{k}"] = v unless namespace
    else
      result.merge!(v.flattern "#{namespace}_#{k}") if namespace
      result.merge!(v.flattern "#{k}") unless namespace
    end
  end
  result
end