<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>Life is grand - Latest Comments in A dirty Ruby</title><link>http://lifeisgrand.disqus.com/</link><description></description><language>en</language><lastBuildDate>Thu, 11 May 2006 06:54:08 -0000</lastBuildDate><item><title>Re: A dirty Ruby</title><link>http://paulmwatson.com/journal/2006/05/10/a-dirty-ruby/#comment-1280379</link><description>How fantastic. I took the above code and cut it down to just this:&lt;br&gt;&lt;code&gt;if soapResponse.getNewTagsSinceResult.respond_to? "tag"&lt;br&gt;&amp;#38;nbsp;&amp;#38;nbsp;for tag_current in Array(soapResponse.getNewTagsSinceResult.tag)&lt;br&gt;&amp;#38;nbsp;&amp;#38;nbsp;&amp;#38;nbsp;&amp;#38;nbsp;&amp;#38;nbsp;&amp;#38;nbsp;tag = Tag.find_by_sync_id(tag_current.id) || Tag.new&lt;br&gt;&amp;#38;nbsp;&amp;#38;nbsp;&amp;#38;nbsp;&amp;#38;nbsp;tag.name = tag_current.name&lt;br&gt;&amp;#38;nbsp;&amp;#38;nbsp;&amp;#38;nbsp;&amp;#38;nbsp;tag.sync_id = tag_current.id&lt;br&gt;&amp;#38;nbsp;&amp;#38;nbsp;&amp;#38;nbsp;&amp;#38;nbsp;tag.save&lt;br&gt;&amp;#38;nbsp;&amp;#38;nbsp;end&lt;br&gt;end&lt;/code&gt;&lt;br&gt;&lt;br&gt;Thanks Farrel.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul Watson</dc:creator><pubDate>Thu, 11 May 2006 06:54:08 -0000</pubDate></item><item><title>Re: A dirty Ruby</title><link>http://paulmwatson.com/journal/2006/05/10/a-dirty-ruby/#comment-1280378</link><description>I did some further experimenting and it seems it's recommended to use Array(object) instead of object.to_a.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Farrel Lifson</dc:creator><pubDate>Thu, 11 May 2006 03:41:51 -0000</pubDate></item><item><title>Re: A dirty Ruby</title><link>http://paulmwatson.com/journal/2006/05/10/a-dirty-ruby/#comment-1280377</link><description>Thank you for those two comments Farrel. The last one is especially interesting. I'll give the to_a trick a try.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul Watson</dc:creator><pubDate>Thu, 11 May 2006 03:17:36 -0000</pubDate></item><item><title>Re: A dirty Ruby</title><link>http://paulmwatson.com/journal/2006/05/10/a-dirty-ruby/#comment-1280376</link><description>Also if you really want to squeeze things down you can do this:&lt;br&gt;&lt;br&gt;@tag = Tag.find_by_syn_id(tag.id) || Tag.new&lt;br&gt;@tag.name = tag.name&lt;br&gt;@tag.sync_id ||= tag.id&lt;br&gt;@tag.save</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Farrel Lifson</dc:creator><pubDate>Wed, 10 May 2006 16:07:49 -0000</pubDate></item><item><title>Re: A dirty Ruby</title><link>http://paulmwatson.com/journal/2006/05/10/a-dirty-ruby/#comment-1280375</link><description>I haven't used WSDLDriver but doe the tag object respond to to_a? If so you can do the following:&lt;br&gt;&lt;br&gt;if soapResponse.getNewTagsSinceResult.respond_to? "tag"&lt;br&gt;  for tag in soapResponse.getNewTagsSinceResult.tag.to_a&lt;br&gt;   @tag = Tag.find_by_sync_id(tag.id)&lt;br&gt;   if (@tag)&lt;br&gt;    @tag.name = tag.name&lt;br&gt;    @tag.save&lt;br&gt;   else&lt;br&gt;    @tag = Tag.new&lt;br&gt;    @tag.name = tag.name&lt;br&gt;    @tag.sync_id = tag.id&lt;br&gt;    @tag.save&lt;br&gt;   end&lt;br&gt;  end&lt;br&gt;end&lt;br&gt;&lt;br&gt;Just a quick warning that currently all objects respond to to_a but this will soon be deprecated so for future versions it's better to check that the tag object class explicity implements to_a.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Farrel Lifson</dc:creator><pubDate>Wed, 10 May 2006 15:18:22 -0000</pubDate></item></channel></rss>