Forum: Ruby to_yaml method

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
Simon R. (Guest)
on 2007-04-07 19:28
(Received via mailing list)

In order to learn Ruby, I am trying to write a Getting Things Done
manager in Ruby+YAML.

So, here is where I am :
Be carefull... Store#to_yaml is realy ugly !
So, how can I make this method prettier ?

BTW, this is probably not the only ugly method... so feel free to
correct me, it'll
help me to learn the Ruby Way :-)

Thanks in advance,
SonOfLilit (Guest)
on 2007-04-07 20:00
(Received via mailing list)
Check out for exactly this kind of

Simon R. (Guest)
on 2007-04-07 20:19
(Received via mailing list)
Thanks. I feel a bit uncomfortable with having a mentor (I don't know
exactly why... maybe that's too easy ?) but I'll try to contact a
mentor and see what happen :-)
BTW, the concept is realy interesting... IMHO having a mentor is the
best way to learn something. AFAIK I haven't seen project like this on
other porgramming language communauty.

2007/4/7, SonOfLilit <removed_email_address@domain.invalid>:
SonOfLilit (Guest)
on 2007-04-07 20:49
(Received via mailing list)
Thank you.

Don't be uncomfortable, the worst that could happen is nothing.

I agree that the concept is interesting and great, and I, too, think
it's original.

Hopefully you'll join the rank of mentors soon :)

Chris C. (Guest)
on 2007-04-07 21:07
(Received via mailing list)
On 4/7/07, Simon R. <removed_email_address@domain.invalid> wrote:
> >
> > > So, how can I make this method prettier ?
> > >
> >
> >
> --
> Simon R.,

A few style notes.  The multiple assignment you do "tasks, projects =," is usually done on two lines, just for
readability, and dropping some complexity.  Also you can just assign
to [], which gives you a blank array ({} for hashes).

    @projects.each_pair { |k, v| projects << v }
    @tasks.each_pair { |k, v| tasks << v }

Can be replaced with

    tasks = {|x| x }
    projects = {|x| x }

With this you can also drop the array initialization.  This method is
in the Enumerable module, which Hash and Array mixin.  You could even
make it just be

        dump = {|x| x }
        dump << {|x| x }
        return YAML.dump(dump)

Hope that helps you some!
ChrisKaelin (Guest)
on 2007-04-08 02:55
(Received via mailing list)
On Apr 7, 5:27 pm, "Simon R." <removed_email_address@domain.invalid> wrote:
> correct me, it'll
> help me to learn the Ruby Way :-)
> Thanks in advance,
> --
> Simon R.,

Hey cool! A GTD application in ruby. I'm looking forward to see this
project on ;-)
This topic is locked and can not be replied to.