3 ms·
Purely for aesthetic reasons. Instead of: builder.person do |b| b.name("Jim") b.phone("555-1234") end You could write it like this:
by draegtun 16y ago
Purely for aesthetic reasons.
Instead of:
builder.person do |b|
b.name("Jim")
b.phone("555-1234")
end
You could write it like this:
builder.tag!('person') do |b|
b.tag!('name', "Jim")
b.tag!('phone', "555-1234")
end
- erikpukinskis 16y agoNot sure if Builder does this, but in theory you could even do: builder.person do |b| b.name = "Jim" b.phone = "555-1234" end
- draegtun 16y agoNot sure myself but it can also be written like this: builder.person do |b| b.name "Jim" b.phone "555-1234" end
- scott_s 16y agoRight, which is what I'm trying to understand: what does this allow you to do that is not just a cute way to call a method? I think the ActiveRecord example below is the answer I'm looking for, since it creates a method at runtime based on information that did not exist until runtime. But I need to read up on it to understand it.
- draegtun 16y agoPersonally I find aesthetics an important part of programming. If it looks good to me then it often means I'm doing something right! So I don't view it has cute but more it being succinct.
- scott_s 16y agoI also find aesthetics important, but I don't find this more aesthetically pleasing; it pings the "something's wrong" feeling. Being succinct is a goal, but it's not the only goal.
- draegtun 16y agoYes its subjective. There will always be a difference in view between what is cute and what is not cute (and also what I think is cute today may also not hold true tomorrow!).