Determine "owning" class?

class A
end

class C
def initialize
x = [A.new,A.new]
end

def template
x
end
end

Is it possible for an instance of A to determine the instance of C
that instantiated it?

The application I’m working on has a class named Template that
contains an array of Blocks. What I would like to do is have an
instance of Block reference back to Template’s array so that it can
search for a particular sibling block in the array. Is the structure
built incorrectly? (It’s too late to rebuild at this time.)

Thanks,
dvn

On Sun, 09 Mar 2008 08:58:06 -0700, dkmd_nielsen wrote:

end

Thanks,
dvn

class A
def initialize owner
@owner=owner
end
end

class C
def initialize
x = [A.new(self),A.new(self)]
end

def template
x
end
end

2008/3/9, dkmd_nielsen [email protected]:

The application I’m working on has a class named Template that
contains an array of Blocks. What I would like to do is have an
instance of Block reference back to Template’s array so that it can
search for a particular sibling block in the array.

Where are the blocks created? If they are created inside an instance
of the Template class, then you should be able to get at it from the
block:

class Template
def initialize
@blocks = [lambda{}, lambda{}]
end
attr_reader :blocks
end

t1 = Template.new
b = t1.blocks.first
t2 = eval(“self”, b)
t1 == t2 # => true

Regards,
Pit

On Mon, 10 Mar 2008 17:44:41 -0500, Pit C. wrote:

def initialize

Regards,
Pit

A block in his question isn’t the same as a ruby syntactic block. I
think
he means a block of content of a web page.

–Ken

On Tue, 11 Mar 2008 13:56:49 -0500, Pit C. wrote:

2008/3/11, Ken B. [email protected]:

A block in his question isn’t the same as a ruby syntactic block. I
think
he means a block of content of a web page.

Ken, how do you create (quoting the OP) “an array of Blocks” with
syntactic blocks?

That’s what you just did, creating an array of empty lambdas.

He defined (somewhere)
class Block

end

you instead, filled the array with objects of class Proc, which carry
bindings and you can identify self from a Proc. You can’t do the same
for
Block, the way I have defined it above.

–Ken

2008/3/11, Ken B. [email protected]:

A block in his question isn’t the same as a ruby syntactic block. I think
he means a block of content of a web page.

Ken, how do you create (quoting the OP) “an array of Blocks” with
syntactic blocks?

Regards,
Pit

2008/3/12, Ken B. [email protected]:

He defined (somewhere)
class Block

end

Ah, finally I see what you mean. Yes, you could be right that the OP
was doing something like this. Sorry, I had problems to dissociate the
word “block” from Ruby’s blocks here on ruby-talk…

Thanks,
Pit