I don't think this is a good place to discuss about this. Try here: http://groups.google.com/group/rubyonrails-talk
On Mon, Mar 1, 2010 at 6:57 AM, Marek Kowalcze <[email protected]>wrote: > Hi > > I was also looking for similar 'proxy' mechanism. What I came up with > was: > > module Proxy > def Proxy.included(base) > @@b = base > end > def proxy(o, &class_body) > def o.parent() @@b end > o.extend(Module.new(&class_body)) > end > end > > class Foo > include Proxy > > def initialize > @user = ['john', 'doe'] > end > > def user_proxy > proxy(@user) do > def hi > "Hello #{self.join(' ')} from class #{parent}" > end > end > end > > end > > puts Foo.new.user_proxy.hi # => Hello john doe from class Foo > > However, it would make more sense to use logic from AssociationProxy, > if it's already there. > > > On 25 Lut, 23:00, Jakub Kuźma <[email protected]> wrote: > > On Feb 25, 10:53 pm, Matt Jones <[email protected]> wrote: > > > > > Note that arrays have a metaclass, just like everything else: > > > > > def users > > > result = [user_n, user_e, user_s, user_w] > > > def result.owner(card) > > > # define something; 'self' will be the array > > > end > > > result > > > end > > > > That's what I did: > http://codaset.com/qoobaa/libre/source/master/blob/app/models/board.rb > > > > But I need to access the parent (Board) class from the extension > > method. Probably I could use the JS version: to define that = self > > before the definition. Anyway - it'd be really great to have Proxy > > class in ActiveSupport I think. > > > > Thanks, > > Kuba. > > -- > You received this message because you are subscribed to the Google Groups > "Ruby on Rails: Core" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<rubyonrails-core%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/rubyonrails-core?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
