To_yaml method


#1

Hello,

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

So, here is where I am : http://pastie.caboo.se/52303
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 :slight_smile:

Thanks in advance,


#2

Check out http://RubyMentor.rubyfoge.org for exactly this kind of
help/advice.

Aur


#3

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 :slight_smile:
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:


#4

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 :slight_smile:

Aur


#5

On 4/7/07, Simon R. removed_email_address@domain.invalid wrote:

So, how can I make this method prettier ?


Simon R., http://atonie.org/sr/

A few style notes. The multiple assignment you do “tasks, projects =
Array.new, Array.new” 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 = @tasks.map {|x| x }
projects = @projects.map {|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 = @tasks.map {|x| x }
    dump << @projects.map {|x| x }
    return YAML.dump(dump)

Hope that helps you some!


#6

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 :slight_smile:

Thanks in advance,


Simon R.,http://purl.org/net/sr/

Hey cool! A GTD application in ruby. I’m looking forward to see this
project on rubyforge.org :wink: