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.
76
77
78
79
80
81
82
83
84
|
# File 'lib/terrafying/generator.rb', line 76
def initialize(
kind: :resource,
type: "",
name:
)
@kind = kind
@type = type
@name = name
end
|
Instance Method Details
#fn_call(fn, *args) ⇒ Object
95
96
97
98
99
100
101
|
# File 'lib/terrafying/generator.rb', line 95
def fn_call(fn, *args)
if @kind == :resource
self["id"].fn_call(fn, *args)
else
super
end
end
|
#realise ⇒ Object
86
87
88
89
90
91
92
93
|
# File 'lib/terrafying/generator.rb', line 86
def realise
type = [@type]
if @kind != :resource
type = [@kind, @type]
end
(type + [@name]).reject(&:empty?).join(".")
end
|
#to_s ⇒ Object
103
104
105
106
107
108
109
|
# File 'lib/terrafying/generator.rb', line 103
def to_s
if @kind == :resource
"${#{realise}.id}"
else
super
end
end
|