What about:
def initialize(source=nil)
source ? xchg_source(source) : xchg_source
end
Or if you prefer longer notation
def initialize(source=nil)
if source
xchg_source(source)
else
xchg_source
end
Or like in your example:
def initialize(source=nil)
return xchg_source unless source
xchg_source(source)
end
On Apr 17, 9:47 pm, James Byrne <[email protected]>
wrote:
> Can someone see what I cannot given this code?
>
> class ForexCASource
>
> def initialize(source=nil)
> xchg_source unless source
> puts "this is source = #{source} #{source.class}"
> puts "do we get here? why?"
> xchg_source(source)
> end
>
> >> fx = ForexCASource.new
>
> this is source = NilClass
> do we get here? why?
> TypeError: can't convert nil into String
> from /usr/lib/ruby/1.8/open-uri.rb:32:in
> `open_uri_original_open'
> from /usr/lib/ruby/1.8/open-uri.rb:32:in `open'
> from
> /home/byrnejb/Software/Development/Projects/proforma.git/app/services/forex_ca_source.rb:58:in
> `xchg_source'
> from
> /home/byrnejb/Software/Development/Projects/proforma.git/app/services/forex_ca_source.rb:52:in
> `initialize'
> from (irb):1:in `new'
> from (irb):1
>
> --
> Posted viahttp://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---