Class: Coral::Config::Options

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

Constant Summary collapse

@@options =

Property accessors / modifiers

{}

Class Method Summary collapse

Class Method Details

.clear(contexts) ⇒ Object




60
61
62
63
64
65
66
67
# File 'lib/coral_core/config/options.rb', line 60

def self.clear(contexts)
  unless contexts.is_a?(Array)
    contexts = [ contexts ]
  end
  contexts.each do |name|
    @@options.delete(name.to_sym)
  end
end

.contexts(contexts = [], hierarchy = []) ⇒ Object




13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/coral_core/config/options.rb', line 13

def self.contexts(contexts = [], hierarchy = [])
  contexts = [ 'all', contexts ].flatten
  
  unless hierarchy.is_a?(Array)
    hierarchy = ( ! Util::Data.empty?(hierarchy) ? [ hierarchy ].flatten : [] )
  end
  
  hierarchy.each do |group|  
    group_contexts = Util::Data.prefix(group, contexts)
    contexts       = [ contexts, group_contexts ].flatten
  end
  
  return contexts
end

.get(contexts, force = true) ⇒ Object




30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/coral_core/config/options.rb', line 30

def self.get(contexts, force = true)
  options = {}
  
  unless contexts.is_a?(Array)
    contexts = ( ! Util::Data.empty?(contexts) ? [ contexts ].flatten : [] )
  end
  contexts.each do |name|
    name = name.to_sym
    if @@options.has_key?(name)
      options = Util::Data.merge([ options, @@options[name] ], force)
    end
  end
  return options
end

.set(contexts, options, force = true) ⇒ Object




47
48
49
50
51
52
53
54
55
56
# File 'lib/coral_core/config/options.rb', line 47

def self.set(contexts, options, force = true)
  unless contexts.is_a?(Array)
    contexts = ( ! Util::Data.empty?(contexts) ? [ contexts ].flatten : [] )
  end
  contexts.each do |name|
    name = name.to_sym    
    current_options = ( @@options.has_key?(name) ? @@options[name] : {} )
    @@options[name] = Util::Data.merge([ current_options, Config.symbol_map(options) ], force)
  end  
end