module ArtirixDataModels::Inspectable

Constants

SPACE

Public Instance Methods

data_hash_for_inspect() click to toggle source
# File lib/artirix_data_models/inspectable.rb, line 9
def data_hash_for_inspect
  data_hash
end
inspect() click to toggle source
# File lib/artirix_data_models/inspectable.rb, line 5
def inspect
  inspect_with_tab 1
end
inspect_with_tab(tab_level = 0) click to toggle source
# File lib/artirix_data_models/inspectable.rb, line 13
def inspect_with_tab(tab_level = 0)
  insp = data_hash_for_inspect.map do |at, val|
    tab = SPACE * tab_level * 4

    if val.kind_of? Array
      nested = val.map do |vi|
        nested_tab = SPACE * (tab_level + 1) * 4
        nv         = vi.try(:inspect_with_tab, tab_level + 2) || vi.inspect
        "#{nested_tab} - #{nv}"
      end

      "#{tab} - #{at}: [\n#{nested.join("\n")}\n#{tab}   ]"

    else
      v = val.try(:inspect_with_tab, tab_level + 1) || val.inspect
      "#{tab} - #{at}: #{v}"
    end
  end
  "#<#{self.class}\n#{insp.join("\n")}>"
end