James Byrne 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
xchg_source unless source
This is a one-liner that just doesn't call xchg_source if source is nil
(which it is in this case).
All other lines will execute normally so:
xchg_source(source) will call xchg_source with a nil value. Since you
haven't posted the code for xchg_source it's hard to tell what's
happening in there.
did you mean:
if !source
puts "this is source = #{source} #{source.class}"
puts "do we get here? why?"
xchg_source(source)
end
Cheers,
Gary,
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---