class Aptible::CLI::Formatter::Object

Attributes

children[R]

Public Class Methods

new() click to toggle source
# File lib/aptible/cli/formatter/object.rb, line 7
def initialize
  @children = {}
end

Public Instance Methods

keyed_object(k, object_key, &block) click to toggle source
# File lib/aptible/cli/formatter/object.rb, line 19
def keyed_object(k, object_key, &block)
  assign_child(k, KeyedObject.new(object_key), &block)
end
list(k, &block) click to toggle source
# File lib/aptible/cli/formatter/object.rb, line 23
def list(k, &block)
  assign_child(k, List.new, &block)
end
object(k, &block) click to toggle source
# File lib/aptible/cli/formatter/object.rb, line 15
def object(k, &block)
  assign_child(k, Object.new, &block)
end
value(k, v) click to toggle source
# File lib/aptible/cli/formatter/object.rb, line 11
def value(k, v)
  assign_child(k, Value.new(v)) {}
end

Private Instance Methods

assign_child(k, node) { |node| ... } click to toggle source
# File lib/aptible/cli/formatter/object.rb, line 29
def assign_child(k, node)
  raise "Overwriting keys (#{k}) is not allowed" if @children[k]
  yield node
  @children[k] = node
  nil
end