Class: RubyTerraform::Models::List

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
Enumerable, ValueEquality
Defined in:
lib/ruby_terraform/models/list.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from ValueEquality

#==, #hash

Constructor Details

#initialize(value, sensitive: false) ⇒ List

Returns a new instance of List.



35
36
37
38
# File 'lib/ruby_terraform/models/list.rb', line 35

def initialize(value, sensitive: false)
  @value = value
  @sensitive = sensitive
end

Instance Attribute Details

#valueObject (readonly)

Returns the value of attribute value.



40
41
42
# File 'lib/ruby_terraform/models/list.rb', line 40

def value
  @value
end

Instance Method Details

#inspectObject Also known as: to_s



71
72
73
74
# File 'lib/ruby_terraform/models/list.rb', line 71

def inspect
  sensitive = sensitive? ? 'sensitive' : 'non-sensitive'
  "#{value.inspect} (#{sensitive})"
end

#known?Boolean

Returns:

  • (Boolean)


46
47
48
# File 'lib/ruby_terraform/models/list.rb', line 46

def known?
  true
end

#render(level: 0, indent: ' ') ⇒ Object



54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/ruby_terraform/models/list.rb', line 54

def render(level: 0, indent: '  ')
  return '[]' if empty?

  opts = { level: level + 1, indent: }
  extra = level.times.collect { |_| indent }.join
  lines =
    value
    .collect { |i| "#{extra}#{indent}#{i.render(**opts)}" }
    .join(",\n")

  "[\n#{lines}\n#{extra}]"
end

#sensitive?Boolean

Returns:

  • (Boolean)


50
51
52
# File 'lib/ruby_terraform/models/list.rb', line 50

def sensitive?
  @sensitive
end

#stateObject



67
68
69
# File 'lib/ruby_terraform/models/list.rb', line 67

def state
  [@value, @sensitive]
end

#unboxObject



42
43
44
# File 'lib/ruby_terraform/models/list.rb', line 42

def unbox
  value.map(&:unbox)
end