This is why I wanted to ask the group before making the pull request.

As for Rafael's question -- it is no different from writing the methods
out, but either is delegate.  I just found that many times where I would
have used delegate I ended up writing out the individual methods only to
add || = "".  So, I thought others might use it as well.

As for Matt's questions:

(1) It's not clear (to me) how this should interact with passing multiple
attributes to `delegate`:

The way I wrote it all of the delegated methods passed would get the
default values so:


delegate :foo, :bar, :to => :person, :default_value => ""
delegate :baz, :to => :person

foo => ""
bar => ""
baz => nil


(2) Also, should the default value be returned if :allow_nil is set and the
delegated-to object isn't present?

Yes.








On Mon, Dec 16, 2013 at 2:01 PM, Matt Jones <al2o...@gmail.com> wrote:

>
> On Dec 13, 2013, at 5:44 PM, Scott Johnson wrote:
>
> I find I often use delegate and many nil guards in my facades.  Adding a
> default_value option to delegate would simplify this, but I am interested
> how others feel about it.
>
> Implementation would look something like:
>
> class PersonFacade
>   delegate :name, :to => :person, :default_value => ""
>
>
>
> It's not clear (to me) how this should interact with passing multiple
> attributes to `delegate`:
>
> delegate :foo, :bar, :baz, :to => :person
>
> Also, should the default value be returned if :allow_nil is set and the
> delegated-to object isn't present?
>
>  --Matt Jones
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Ruby on Rails: Core" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to rubyonrails-core+unsubscr...@googlegroups.com.
> To post to this group, send email to rubyonrails-core@googlegroups.com.
> Visit this group at http://groups.google.com/group/rubyonrails-core.
> For more options, visit https://groups.google.com/groups/opt_out.
>



-- 
Scott Johnson

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-core+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-core@googlegroups.com.
Visit this group at http://groups.google.com/group/rubyonrails-core.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to