Class: Terrafying::RootRef
- Inherits:
-
Ref
- Object
- Ref
- Terrafying::RootRef
show all
- Defined in:
- lib/terrafying/generator.rb
Instance Method Summary
collapse
Methods inherited from Ref
#<=>, #==, #[], #[]=, #downcase, #slice, #split, #strip, #to_str
Constructor Details
#initialize(kind: :resource, type: '', name:) ⇒ RootRef
Returns a new instance of RootRef.
73
74
75
76
77
78
79
80
81
|
# File 'lib/terrafying/generator.rb', line 73
def initialize(
kind: :resource,
type: '',
name:
)
@kind = kind
@type = type
@name = name
end
|
Instance Method Details
#fn_call(fn, *args) ⇒ Object
90
91
92
93
94
95
96
|
# File 'lib/terrafying/generator.rb', line 90
def fn_call(fn, *args)
if @kind == :resource
self['id'].fn_call(fn, *args)
else
super
end
end
|
#realise ⇒ Object
83
84
85
86
87
88
|
# File 'lib/terrafying/generator.rb', line 83
def realise
type = [@type]
type = [@kind, @type] if @kind != :resource
(type + [@name]).reject(&:empty?).join('.')
end
|
#to_s ⇒ Object
98
99
100
101
102
103
104
|
# File 'lib/terrafying/generator.rb', line 98
def to_s
if @kind == :resource
"${#{realise}.id}"
else
super
end
end
|