class Tablescript::LibraryDumper

LibraryDumper

Public Class Methods

new(stream = STDOUT) click to toggle source
# File lib/tablescript/library_dumper.rb, line 6
def initialize(stream = STDOUT)
  @stream = stream
end

Public Instance Methods

dump(library = nil) click to toggle source
# File lib/tablescript/library_dumper.rb, line 10
def dump(library = nil)
  dump_namespace(library.nil? ? Library.instance.root : library)
end

Private Instance Methods

dump_namespace(namespace, level = 0) click to toggle source
# File lib/tablescript/library_dumper.rb, line 16
def dump_namespace(namespace, level = 0)
  @stream.puts indent(level) + "Namespace #{namespace.name}"
  dump_tables(namespace.tables, level + 1)
  dump_namespaces(namespace.namespaces, level + 1)
end
dump_namespaces(namespaces, level) click to toggle source
# File lib/tablescript/library_dumper.rb, line 30
def dump_namespaces(namespaces, level)
  return if namespaces.empty?
  @stream.puts indent(level) + 'Namespaces:'
  namespaces.each_value do |namespace|
    dump_namespace(namespace, level + 1)
  end
end
dump_tables(tables, level) click to toggle source
# File lib/tablescript/library_dumper.rb, line 22
def dump_tables(tables, level)
  return if tables.empty?
  @stream.puts indent(level) + 'Tables:'
  tables.each_value do |table|
    @stream.puts indent(level + 1) + table.name
  end
end
indent(level) click to toggle source
# File lib/tablescript/library_dumper.rb, line 38
def indent(level)
  "  " * level
end