14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/docker/cli/dockerfile_template.rb', line 14
def process(cont, values = {}, &block)
logger.debug "Got values : #{values}"
values.each do |k,v|
logger.debug "Creating field #{k}"
self.class.class_eval <<-END
if not (Class.instance_methods.include?(:#{k}) and Class.instace_methods.include?(:#{k}=))
attr_accessor :#{k}
elsif not Class.instance_methods.include?(:#{k})
attr_reader :#{k}
elsif not Class.instance_methods.include?(:#{k}=)
attr_writer :#{k}
end
END
self.send("#{k}=", v)
end
ERB.new(cont).result(binding)
end
|