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.

Reply via email to