class Foo
end
class Bar
attr_accessor :foo
def initialize (foo)
@foo = foo
end
end
foo = Foo.new
bar = Bar.new(foo)
puts bar.foo
Для того, что вы говорите, кажется, вам нужен какой-то тип безопасности .Вы можете достичь чего-то подобного, выполнив
def initialize (foo)
raise ArgumentError, "You must provide a valid Foo instance" unless foo.instace_of?(Foo)
@foo = foo
end