introspection/nested_inspect_no_parens.rb
tests/_examples/introspection/nested_inspect_no_parens.rb in the metorex repository.
class Address
def initialize(city)
@city = city
end
end
class Customer
def initialize(name, city)
@name = name
@address = Address.new(city)
@self_reference = self
end
end
class Forwarder < BasicObject
def initialize(target)
@target = target
end
def method_missing(name, *arguments)
@target.__send__(name, *arguments)
end
end
puts Customer.new("Ada", "Austin").inspect.gsub(/0x\h+/, "0x0")
p [Address.new("Boise")].inspect.gsub(/0x\h+/, "0x0")
p Forwarder.new([1, 2])
p [Forwarder.new(:on_ident)]
Output:
#<Customer:0x0 @name="Ada", @address=#<Address:0x0 @city="Austin">, @self_reference=#<Customer:0x0 ...>>
"[#<Address:0x0 @city=\"Boise\">]"
[1, 2]
[:on_ident]