Class: Isono::Manifest::ConfigStructBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/isono/manifest.rb

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ ConfigStructBuilder

Returns a new instance of ConfigStructBuilder.



133
134
135
136
# File 'lib/isono/manifest.rb', line 133

def initialize(config)
  @cur_desc=nil
  @config = config
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *args) ⇒ Object



149
150
151
152
153
154
155
156
# File 'lib/isono/manifest.rb', line 149

def method_missing(name, *args)
  return if name.to_sym == :add_config
  if name.to_s =~ /=$/
    add_config(name.to_s.sub(/=$/,''), args[0])
  else
    add_config(name, *args)
  end
end

Instance Method Details

#add_config(name, default_val = nil) ⇒ Object



138
139
140
141
142
143
# File 'lib/isono/manifest.rb', line 138

def add_config(name, default_val=nil)
  @config.send("#{name}=".to_sym, default_val)
  @config.desc[name.to_sym] = @cur_desc
  
  @cur_desc = nil
end

#desc(desc) ⇒ Object



145
146
147
# File 'lib/isono/manifest.rb', line 145

def desc(desc)
  @cur_desc = desc
end