Add syntactic sugar for array '<<' method on my own method?

I want to write a method which takes its input and adds it to an array (in this case I am trying to abstract a session item as I think it looks prettier to use a helper method).

For example, native in ruby we have arr:

arr = arr << ‘item’

Is there a way I can write a method that uses the ‘<<’ syntactic sugar? Been poking around and don’t see clearly how to do this.

Just like you can write a method for assignment:

def assign_something=(value)

David Kahn wrote in post #977285:

I want to write a method which takes its input and adds it to an array (in this case I am trying to abstract a session item as I think it looks prettier to use a helper method).

For example, native in ruby we have arr:

arr = arr << 'item'

Is there a way I can write a method that uses the '<<' syntactic sugar? Been poking around and don't see clearly how to do this.

def <<(other)   # whatever end

Best,

David Kahn wrote in post #977285:

I want to write a method which takes its input and adds it to an array

(in

this case I am trying to abstract a session item as I think it looks

prettier to use a helper method).

For example, native in ruby we have arr:

arr =

arr << ‘item’

Is there a way I can write a method that uses the ‘<<’ syntactic sugar?

Been

poking around and don’t see clearly how to do this.

def <<(other)

whatever

end

I see, so it has to be within a class and not named… so if I am writing a helper method in app controller then this is weird, but now I see that I need to make a class for what I do, so thanks, my design has improved.

David Kahn wrote in post #977289:

> > Is there a way I can write a method that uses the '<<' syntactic sugar? > Been > poking around and don't see clearly how to do this.

def <<(other) # whatever end

I see, so it has to be within a class

Module, actually. But this shouldn't surprise you: it's just a method like any other.

and not named....

It is named. Its name is :<< .

so if I am writing a helper method in app controller then this is weird, but now I see that I need to make a class for what I do, so thanks, my design has improved.

Yeah. Don't put logic in your controllers. And remember that you can reopen or mix into existing classes.

Best,