I was focusing on the "=" being the problem... Worked nicely. Many thanks!

On Tue, Jan 6, 2009 at 7:20 PM, Frederick Cheung <[email protected]
> wrote:

>
>
> On 6 Jan 2009, at 23:56, Harold A. Giménez Ch. wrote:
>
> > Thanks for the response.
> >
> > So how in the world is this implemented? The []= method's source
> > code is in C. Other classes override it in a subclass, which works
> > fine, but how would I go about implementing a method that works like
> > the Hash class' []= method?
> >
> > I'm not sure what you mean by "skipping alias_method_chain" this
> > time. If I do
> >
> > alias :[]_without_feature=, :[]=
> > alias :[]=, :[]_with_feature
> >
> > I get the same error, as expected. So how would I go about changing
> > this method's behavior?
> >
>
> just call it square_bracket_without feature or something like that.
> the problem isn;t the method aliasing it's defining a method called
> []_with_feature=
>
> Fred
>
> > Thanks again,
> > -H
> >
> > On Tue, Jan 6, 2009 at 6:49 PM, Frederick Cheung <
> [email protected]
> > > wrote:
> >
> >
> > On 6 Jan 2009, at 23:36, Harold wrote:
> >
> > >
> > > I'm trying to monkeypatch the []= method in the Hash class:
> > >
> >
> > doesn't seem to be anything to do with alias_method_chain -  just
> > sticking
> > def []_with_feature=(a,b)
> >   puts 'foo'
> > end
> >
> > into irb causes similar errors. You'll just have to skip alias method
> > chain this time.
> >
> > Fred
> > > Hash.class_eval do
> > >  def []_with_feature=(a,b)
> > >    puts 'foo'
> > >  end
> > >  alias_method_chain :[]=, :feature
> > > end
> > >
> > > Something is wrong with the syntax, but I can't figure out what. The
> > > alias_method_chain method does look for punctuation (= in this case)
> > > and expects it to be at the end of the aliased method ([]
> > > _with_feature=), but I get the following syntax error:
> > >
> > > SyntaxError: compile error
> > > (irb):5: syntax error, unexpected ')', expecting '='
> > > (irb):7: syntax error, unexpected kEND, expecting ')'
> > > (irb):9: syntax error, unexpected kEND, expecting ')'
> > >
> > > Any ideas?
> > >
> > > Thanks,
> > > -H
> > > >
> >
> >
> >
> >
> >
> > >
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" 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-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to