Class: CloudBuilder::Output

Inherits:
JSONable show all
Includes:
ExposesRefs
Defined in:
lib/cloud_builder/output.rb

Instance Method Summary collapse

Methods included from ExposesRefs

#base64, #get_att, #join, #ref

Methods inherited from JSONable

#to_json

Constructor Details

#initialize(stack, &block) ⇒ Output

Returns a new instance of Output.



5
6
7
8
9
10
11
# File 'lib/cloud_builder/output.rb', line 5

def initialize(stack, &block)
  @stack   = stack
  
  @Description = ''
  @block = block
  instance_exec(&block)
end

Instance Method Details

#brickObject



35
36
37
# File 'lib/cloud_builder/output.rb', line 35

def brick
  @block.binding.eval('brick')
end

#description(value) ⇒ Object



31
32
33
# File 'lib/cloud_builder/output.rb', line 31

def description value
  @Description = value
end

#globalsObject



19
20
21
# File 'lib/cloud_builder/output.rb', line 19

def globals
  @stack.globals
end

#to_hashObject



13
14
15
16
17
# File 'lib/cloud_builder/output.rb', line 13

def to_hash
  hash = super.to_hash
  hash.delete('block')
  hash
end

#to_json_dataObject



23
24
25
# File 'lib/cloud_builder/output.rb', line 23

def to_json_data
  { "Value" => @Value, "Description" => @Description }
end

#value(v) ⇒ Object



27
28
29
# File 'lib/cloud_builder/output.rb', line 27

def value v
  @Value = v
end