Sha256: 4af940d378e267afa91cb7a8a356bc2e9ea053e25f12712f98de64a007912240

Contents?: true

Size: 998 Bytes

Versions: 3

Compression:

Stored size: 998 Bytes

Contents

class Object
  def id_for_tk_inspect
    object_id.to_s
  end

  def value_for_tk_inspect
    to_s
  end

  def number_of_children_for_tk_inspect
    instance_variables.size
  end

  def children_for_tk_inspect
    instance_variables.map { |v| [v, instance_variable_get(v)] }.to_h
  end
end

class String
  def value_for_tk_inspect
    frozen? ? dup : self
  end
end

class Array
  def value_for_tk_inspect
    "#{size} elements"
  end

  def number_of_children_for_tk_inspect
    size + super
  end

  def children_for_tk_inspect
    map.with_index { |obj, idx| [ idx.to_s, obj ] }.to_h.merge(super)
  end
end

class Hash
  def value_for_tk_inspect
    "#{size} elements"
  end

  def number_of_children_for_tk_inspect
    size + super
  end

  def children_for_tk_inspect
    merge(super)
  end
end

class Struct
  def value_for_tk_inspect
    "#{size} elements"
  end

  def number_of_children_for_tk_inspect
    size + super
  end

  def children_for_tk_inspect
    to_h.merge(super)
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
tk_inspect-0.2.1 lib/base_inspectors.rb
tk_inspect-0.2.0 lib/base_inspectors.rb
tk_inspect-0.1.0 lib/base_inspectors.rb