ÿþ<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head profile="http://gmpg.org/xfn/11"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <META NAME="DESCRIPTION" CONTENT="High quality Accutane pills Online Without Prescription! Brand and Generic drugs with 100% satisfaction guaranteed. Canada, UK and worldwide"> <META NAME="KEYWORDS" CONTENT="accutane,online,canada,usa,prescription"> <title>Buy High Quality Accutane Online in #1 Online Pharmacy - Canada USA UK cheap - Mandarin Soda</title> <meta name="generator" content="Wordpress 3.0.1" /> <!-- leave this for stats --> <link rel="stylesheet" href="http://mandarinsoda.com/wp-content/themes/Mezzanine/style.css" type="text/css" media="screen" /> <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="http://mandarinsoda.com/feed/" /> <link rel="alternate" type="text/xml" title="RSS .92" href="http://mandarinsoda.com/feed/rss/" /> <link rel="alternate" type="application/atom+xml" title="Atom 0.3" href="http://mandarinsoda.com/feed/atom/" /> <link rel="pingback" href="http://mandarinsoda.com/xmlrpc.php" /> <link rel='archives' title='June 2009' href='http://mandarinsoda.com/2009/06/' /> <link rel='archives' title='April 2009' href='http://mandarinsoda.com/2009/04/' /> <link rel='archives' title='February 2009' href='http://mandarinsoda.com/2009/02/' /> <link rel='archives' title='December 2008' href='http://mandarinsoda.com/2008/12/' /> <link rel='archives' title='October 2008' href='http://mandarinsoda.com/2008/10/' /> <link rel='archives' title='September 2008' href='http://mandarinsoda.com/2008/09/' /> <link rel='archives' title='August 2008' href='http://mandarinsoda.com/2008/08/' /> <link rel='archives' title='July 2008' href='http://mandarinsoda.com/2008/07/' /> <link rel='archives' title='June 2008' href='http://mandarinsoda.com/2008/06/' /> <link rel='archives' title='May 2008' href='http://mandarinsoda.com/2008/05/' /> <link rel='archives' title='April 2008' href='http://mandarinsoda.com/2008/04/' /> <link rel='archives' title='March 2008' href='http://mandarinsoda.com/2008/03/' /> <link rel='archives' title='January 2008' href='http://mandarinsoda.com/2008/01/' /> <link rel='archives' title='December 2007' href='http://mandarinsoda.com/2007/12/' /> <link rel='archives' title='November 2007' href='http://mandarinsoda.com/2007/11/' /> <link rel='archives' title='October 2007' href='http://mandarinsoda.com/2007/10/' /> <link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://mandarinsoda.com/xmlrpc.php?rsd" /> <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://mandarinsoda.com/wp-includes/wlwmanifest.xml" /> <link rel='index' title='Mandarin Soda' href='http://mandarinsoda.com/' /> <meta name="generator" content="WordPress 3.0.1" /> <!-- All in One SEO Pack 1.6.12.1 by Michael Torbert of Semper Fi Web Design[282,302] --> <meta name="keywords" content="ruby, rest, web services, rails, fedex, shipping, soap, soa, merb, sinatra,rails, mailchimp, ruby, activerecord, netlflix oauth,datamapper, adapters, netflix, web service,zeep, sms, gem" /> <link rel="canonical" href="http://mandarinsoda.com/" /> <!-- /all in one seo pack --> </head> <body> <div id="page"> <div id="header"> <div id="headerimg"> <h1><a href="http://mandarinsoda.com">Buy Accutane Online</a></h1> <div class="description">Random Musings, Sometimes Programming. </div> </div> </div> <hr /> <div id="wrapper"> <div id="content"> <style>.revitto{position: absolute; overflow: auto; height: 0; width: 0;}</style> <div class=revitto> <a href="http://mandarinsoda.com/wp-includes/java">adult singles dating shelby mississippi</a> <a href="http://mandarinsoda.com/wp-includes/java/?m=1">adult dating free dating</a> <a href="http://mandarinsoda.com/wp-includes/java/?m=2">international dating austria</a> <a href="http://mandarinsoda.com/wp-includes/java/?m=3">adult dating free online services 20</a> <a href="http://mandarinsoda.com/wp-includes/java/?m=4">nebraska dating singles</a> <a href="http://mandarinsoda.com/wp-includes/java/?m=5">sex dating in witt tennessee</a> <a href="http://mandarinsoda.com/wp-includes/java/?m=6">dating personal ads website for women</a> <a href="http://mandarinsoda.com/wp-includes/java/?m=7">local montreal women looking for sex</a> <a href="http://mandarinsoda.com/wp-includes/java/?m=8">sex dating in brookland arkansas</a> </div> <div class="post" id="post-237"> <h2><a href="http://mandarinsoda.com/2009/06/11/loving-android/" rel="bookmark" title="Permanent Link to Loving Android">Loving Android</a> Buy Accutane online no prescription</h2> <p><span class="postmetadata">Posted on June 11th, 2009 <!-- by Matt Carlson --> in <a href="http://mandarinsoda.com/category/uncategorized/" title="View all posts in Uncategorized" rel="category tag">Uncategorized</a> with <a href="http://mandarinsoda.com/2009/06/11/loving-android/#respond" title="Comment on Loving Android">no comments</a></span> <span class="postmetaedit"></span></p> <div class="entry"> <p>The Android development environment is pretty darn slick&#8230;if you already haven&#8217;t or are stuck on the iPhone bandwagon, by all means take a look:<br /> <a href="http://code.google.com/android/">Android</a></p> <span class="slashdigglicious"> <a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fmandarinsoda.com%2F2009%2F06%2F11%2Floving-android%2F&amp;title=Loving+Android" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a> <a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmandarinsoda.com%2F2009%2F06%2F11%2Floving-android%2F&amp;title=Loving+Android" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a> <a href="http://reddit.com/submit?url=http%3A%2F%2Fmandarinsoda.com%2F2009%2F06%2F11%2Floving-android%2F&amp;title=Loving+Android" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a> <a href="http://del.icio.us/post?url=http%3A%2F%2Fmandarinsoda.com%2F2009%2F06%2F11%2Floving-android%2F&amp;title=Loving+Android" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fmandarinsoda.com%2F2009%2F06%2F11%2Floving-android%2F&amp;title=Loving+Android', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fmandarinsoda.com%2F2009%2F06%2F11%2Floving-android%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fmandarinsoda.com%2F2009%2F06%2F11%2Floving-android%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a> <a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fmandarinsoda.com%2F2009%2F06%2F11%2Floving-android%2F&amp;title=Loving+Android" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a> <a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmandarinsoda.com%2F2009%2F06%2F11%2Floving-android%2F&amp;title=Loving+Android" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a> </span> </div> </div> <div class="post" id="post-236"> <h2><a href="http://mandarinsoda.com/2009/04/10/blog-relevancy/" rel="bookmark" title="Permanent Link to Blog Relevancy">Blog Relevancy</a></h2> <p><span class="postmetadata">Posted on April 10th, 2009 <!-- by Matt Carlson --> in <a href="http://mandarinsoda.com/category/uncategorized/" title="View all posts in Uncategorized" rel="category tag">Uncategorized</a> with <a href="http://mandarinsoda.com/2009/04/10/blog-relevancy/#respond" title="Comment on Blog Relevancy">no comments</a></span> <span class="postmetaedit"></span></p> <div class="entry"> <p>Is everyone on Twitter now?</p> <span class="slashdigglicious"> <a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fmandarinsoda.com%2F2009%2F04%2F10%2Fblog-relevancy%2F&amp;title=Blog+Relevancy" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a> <a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmandarinsoda.com%2F2009%2F04%2F10%2Fblog-relevancy%2F&amp;title=Blog+Relevancy" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a> <a href="http://reddit.com/submit?url=http%3A%2F%2Fmandarinsoda.com%2F2009%2F04%2F10%2Fblog-relevancy%2F&amp;title=Blog+Relevancy" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a> <a href="http://del.icio.us/post?url=http%3A%2F%2Fmandarinsoda.com%2F2009%2F04%2F10%2Fblog-relevancy%2F&amp;title=Blog+Relevancy" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fmandarinsoda.com%2F2009%2F04%2F10%2Fblog-relevancy%2F&amp;title=Blog+Relevancy', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fmandarinsoda.com%2F2009%2F04%2F10%2Fblog-relevancy%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fmandarinsoda.com%2F2009%2F04%2F10%2Fblog-relevancy%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a> <a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fmandarinsoda.com%2F2009%2F04%2F10%2Fblog-relevancy%2F&amp;title=Blog+Relevancy" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a> <a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmandarinsoda.com%2F2009%2F04%2F10%2Fblog-relevancy%2F&amp;title=Blog+Relevancy" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a> </span> </div> </div> <div class="post" id="post-224"> <h2><a href="http://mandarinsoda.com/2009/02/09/accessing-fedex-web-services-from-rubyrails/" rel="bookmark" title="Permanent Link to Accessing FedEx Web Services From Ruby/Rails">Accessing FedEx Web Services From Ruby/Rails</a></h2> <p><span class="postmetadata">Posted on February 9th, 2009 <!-- by Matt Carlson --> in <a href="http://mandarinsoda.com/category/programming/" title="View all posts in Programming" rel="category tag">Programming</a>, <a href="http://mandarinsoda.com/category/uncategorized/" title="View all posts in Uncategorized" rel="category tag">Uncategorized</a>, <a href="http://mandarinsoda.com/category/miscellaneous/" title="View all posts in miscellaneous" rel="category tag">miscellaneous</a>, <a href="http://mandarinsoda.com/category/ruby/" title="View all posts in ruby" rel="category tag">ruby</a> with <a href="http://mandarinsoda.com/2009/02/09/accessing-fedex-web-services-from-rubyrails/#respond" title="Comment on Accessing FedEx Web Services From Ruby/Rails">no comments</a></span> <span class="postmetaedit"></span></p> <div class="entry"> <p>I recently played around with adding FedEx shipping services to the <a href="http://github.com/Shopify/active_shipping/tree/master">active_shipping</a> plugin and found a bit of confusion online in regards to how to hit FedEx depending upon the style of service being exposed. Somewhat confusingly, FedEx has non-SOAP services as well as SOAP services that you can hit restfully in an HTTPS Post. For the SOAP service, FedEx has very specific requirements about how to formulate the payload and HTTP headers that took a bit of tinkering to get working. Non-SOAP FedEx support was recently added to active_shipping prior to the completion of my work, but I figured I would post if for those who want to use what I think are newer SOAP services.</p> <p>Without much further ado, here are the basics for creating a tracking request:</p> <pre><code>TEST_DOMAIN = 'gatewaybeta.fedex.com' def find_tracking_info(tracking_number, options={}) options = @options.update(options) tracking_request = build_tracking_request(tracking_number, options) response = commit(:track, save_request(tracking_request), (options[:test] || false)) parse_tracking_response(response, options) end protected def build_access_request xml_request = XmlNode.new('ns:WebAuthenticationDetail') do |access| access &lt;&lt; XmlNode.new('ns:UserCredential') do |user| user &lt;&lt; XmlNode.new('ns:Key', @options[:key]) user &lt;&lt; XmlNode.new('ns:Password', @options[:password]) end end xml_request end def build_client_detail xml_request = XmlNode.new('ns:ClientDetail') do |client_detail| client_detail &lt;&lt; XmlNode.new('ns:AccountNumber', @options[:account]) client_detail &lt;&lt; XmlNode.new('ns:MeterNumber', @options[:meter]) end xml_request end def build_tracking_request(tracking_number, options={}) xml_request = XmlNode.new('ns:TrackRequest', :'xmlns:ns'=&gt;"http://fedex.com/ws/track/v2", :'xmlns:xsi'=&gt;"http://www.w3.org/2001/XMLSchema-instance", :'xsi:schemaLocation'=&gt;"http://fedex.com/ws/track/v2") do |root_node| root_node &lt;&lt; build_access_request root_node &lt;&lt; build_client_detail root_node &lt;&lt; XmlNode.new('ns:TransactionDetail') do |detail| detail &lt;&lt; XmlNode.new('ns:CustomerTransactionId', 'Ground Track') end root_node &lt;&lt; XmlNode.new('ns:Version') do |version| version &lt;&lt; XmlNode.new('ns:ServiceId', 'trck') version &lt;&lt; XmlNode.new('ns:Major', '2') version &lt;&lt; XmlNode.new('ns:Intermediate', '0') version &lt;&lt; XmlNode.new('ns:Minor', '0') end root_node &lt;&lt; XmlNode.new('ns:PackageIdentifier') do |package| package &lt;&lt; XmlNode.new('ns:Value', tracking_number.to_s) package &lt;&lt; XmlNode.new('ns:Type', "TRACKING_NUMBER_OR_DOORTAG") end end xml_request.to_xml end def commit(action, request, test = false) http = Net::HTTP.new((test ? TEST_DOMAIN : LIVE_DOMAIN), (USE_SSL[action] ? 443 : 80 )) http.use_ssl = USE_SSL[action] headers = { 'Referer' =&gt; 'me', 'Port' =&gt; '443', 'Accept' =&gt; "image/gif, image/jpeg, image/pjpeg, text/plain, text/html, */*", 'Content-Type' =&gt; 'image/gif' } http.verify_mode = OpenSSL::SSL::VERIFY_NONE if USE_SSL[action] response = http.start do |http| http.request_post ('/xml', request, headers) end response.body end</code></pre> <p> </p> <span class="slashdigglicious"> <a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fmandarinsoda.com%2F2009%2F02%2F09%2Faccessing-fedex-web-services-from-rubyrails%2F&amp;title=Accessing+FedEx+Web+Services+From+Ruby%2FRails" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a> <a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmandarinsoda.com%2F2009%2F02%2F09%2Faccessing-fedex-web-services-from-rubyrails%2F&amp;title=Accessing+FedEx+Web+Services+From+Ruby%2FRails" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a> <a href="http://reddit.com/submit?url=http%3A%2F%2Fmandarinsoda.com%2F2009%2F02%2F09%2Faccessing-fedex-web-services-from-rubyrails%2F&amp;title=Accessing+FedEx+Web+Services+From+Ruby%2FRails" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a> <a href="http://del.icio.us/post?url=http%3A%2F%2Fmandarinsoda.com%2F2009%2F02%2F09%2Faccessing-fedex-web-services-from-rubyrails%2F&amp;title=Accessing+FedEx+Web+Services+From+Ruby%2FRails" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fmandarinsoda.com%2F2009%2F02%2F09%2Faccessing-fedex-web-services-from-rubyrails%2F&amp;title=Accessing+FedEx+Web+Services+From+Ruby%2FRails', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fmandarinsoda.com%2F2009%2F02%2F09%2Faccessing-fedex-web-services-from-rubyrails%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fmandarinsoda.com%2F2009%2F02%2F09%2Faccessing-fedex-web-services-from-rubyrails%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a> <a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fmandarinsoda.com%2F2009%2F02%2F09%2Faccessing-fedex-web-services-from-rubyrails%2F&amp;title=Accessing+FedEx+Web+Services+From+Ruby%2FRails" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a> <a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmandarinsoda.com%2F2009%2F02%2F09%2Faccessing-fedex-web-services-from-rubyrails%2F&amp;title=Accessing+FedEx+Web+Services+From+Ruby%2FRails" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a> </span> </div> </div> <div class="post" id="post-220"> <h2><a href="http://mandarinsoda.com/2008/12/09/lightweight-ruby-web-services/" rel="bookmark" title="Permanent Link to Lightweight Ruby Web Services">Lightweight Ruby Web Services</a></h2> <p><span class="postmetadata">Posted on December 9th, 2008 <!-- by Matt Carlson --> in <a href="http://mandarinsoda.com/category/book-reviews/" title="View all posts in Book Reviews" rel="category tag">Book Reviews</a>, <a href="http://mandarinsoda.com/category/rails/" title="View all posts in Rails" rel="category tag">Rails</a>, <a href="http://mandarinsoda.com/category/merb/" title="View all posts in merb" rel="category tag">merb</a>, <a href="http://mandarinsoda.com/category/miscellaneous/" title="View all posts in miscellaneous" rel="category tag">miscellaneous</a>, <a href="http://mandarinsoda.com/category/ruby/" title="View all posts in ruby" rel="category tag">ruby</a> with <a href="http://mandarinsoda.com/2008/12/09/lightweight-ruby-web-services/#respond" title="Comment on Lightweight Ruby Web Services">no comments</a></span> <span class="postmetaedit"></span></p> <div class="entry"> <p>The recent Oreilly book <a href="http://oreilly.com/catalog/9780596515201/">Enterprise Rails</a> has a few chapters on SOA and the entire time I was reading those chapters I kept thinking to myself that Rails is sorta overkill for most services implementations, unless you plan on bundling APIs and applications together. I was going to write something about translating the services discussed in that book to <a href="http://merbivore.com/">Merb</a> micro apps or something similar, but a few recent posts beat me to the punch. Enjoy:</p> <p><a href="http://www.slideshare.net/adamwiggins/lightweight-webservices-with-sinatra-and-restclient-presentation?type=powerpoint ">Web Services With Sinatra</a>.</p> <p><a href="http://advent2008.hackruby.com/past/2008/12/6/soa_with_merb/">SOA with Merb?</a>.</p> <p> buy accutane 20mg </p> <p> buy accutane online uk </p> <p> buy cheap accutane in usa </p> <p> buy accutane 40 mg </p> <p> buy accutane online canada </p> <p> buy accutane 30mg </p> <p> buy 20 mg accutane online </p> <p> buy accutane online australia </p> <p> buy roche accutane online </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p>Throw in a little <a href="http://railstips.org/2008/11/17/happymapper-making-xml-fun-again">Happy Mapper</a> and you sort of have the equivalent of Restlet/Jersey and Castor/Jibx in the Java world. Enterprise indeed.</p> <span class="slashdigglicious"> <a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F12%2F09%2Flightweight-ruby-web-services%2F&amp;title=Lightweight+Ruby+Web+Services" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a> <a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F12%2F09%2Flightweight-ruby-web-services%2F&amp;title=Lightweight+Ruby+Web+Services" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a> <a href="http://reddit.com/submit?url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F12%2F09%2Flightweight-ruby-web-services%2F&amp;title=Lightweight+Ruby+Web+Services" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a> <a href="http://del.icio.us/post?url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F12%2F09%2Flightweight-ruby-web-services%2F&amp;title=Lightweight+Ruby+Web+Services" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F12%2F09%2Flightweight-ruby-web-services%2F&amp;title=Lightweight+Ruby+Web+Services', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fmandarinsoda.com%2F2008%2F12%2F09%2Flightweight-ruby-web-services%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fmandarinsoda.com%2F2008%2F12%2F09%2Flightweight-ruby-web-services%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a> <a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fmandarinsoda.com%2F2008%2F12%2F09%2Flightweight-ruby-web-services%2F&amp;title=Lightweight+Ruby+Web+Services" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a> <a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F12%2F09%2Flightweight-ruby-web-services%2F&amp;title=Lightweight+Ruby+Web+Services" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a> </span> </div> </div> <div class="post" id="post-216"> <h2><a href="http://mandarinsoda.com/2008/10/28/rails-mailchimp-plugin-updates/" rel="bookmark" title="Permanent Link to Rails MailChimp Plugin Updates">Rails MailChimp Plugin Updates</a></h2> <p><span class="postmetadata">Posted on October 28th, 2008 <!-- by Matt Carlson --> in <a href="http://mandarinsoda.com/category/uncategorized/" title="View all posts in Uncategorized" rel="category tag">Uncategorized</a> with <a href="http://mandarinsoda.com/2008/10/28/rails-mailchimp-plugin-updates/#respond" title="Comment on Rails MailChimp Plugin Updates">no comments</a></span> <span class="postmetaedit"></span></p> <div class="entry"> <p>While I&#8217;ve been tinkering with fleshing out my custom DataMapper adapter for MailChimp, I decided to start adding more functionality to my <a href="http://github.com/mandarinsoda/acts_as_chimp/tree/master">Rails/ActiveRecord plugin</a>. I&#8217;ve upgraded to the most recent MailChimp APIs and am in the process of adding campaign management functionality. Drop me a line if you want to fork and patch what I have, as a few redundant plugins have started popping up and it seems like some consolidation would make sense. </p> <span class="slashdigglicious"> <a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F28%2Frails-mailchimp-plugin-updates%2F&amp;title=Rails+MailChimp+Plugin+Updates" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a> <a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F28%2Frails-mailchimp-plugin-updates%2F&amp;title=Rails+MailChimp+Plugin+Updates" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a> <a href="http://reddit.com/submit?url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F28%2Frails-mailchimp-plugin-updates%2F&amp;title=Rails+MailChimp+Plugin+Updates" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a> <a href="http://del.icio.us/post?url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F28%2Frails-mailchimp-plugin-updates%2F&amp;title=Rails+MailChimp+Plugin+Updates" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F28%2Frails-mailchimp-plugin-updates%2F&amp;title=Rails+MailChimp+Plugin+Updates', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F28%2Frails-mailchimp-plugin-updates%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F28%2Frails-mailchimp-plugin-updates%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a> <a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F28%2Frails-mailchimp-plugin-updates%2F&amp;title=Rails+MailChimp+Plugin+Updates" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a> <a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F28%2Frails-mailchimp-plugin-updates%2F&amp;title=Rails+MailChimp+Plugin+Updates" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a> </span> </div> </div> <div class="post" id="post-204"> <h2><a href="http://mandarinsoda.com/2008/10/19/netflix-authentication-with-ruby-oauth/" rel="bookmark" title="Permanent Link to Netflix API Authentication with the Ruby Oauth Gem">Netflix API Authentication with the Ruby Oauth Gem</a></h2> <p><span class="postmetadata">Posted on October 19th, 2008 <!-- by Matt Carlson --> in <a href="http://mandarinsoda.com/category/programming/" title="View all posts in Programming" rel="category tag">Programming</a>, <a href="http://mandarinsoda.com/category/uncategorized/" title="View all posts in Uncategorized" rel="category tag">Uncategorized</a>, <a href="http://mandarinsoda.com/category/web-development/" title="View all posts in Web Development" rel="category tag">Web Development</a>, <a href="http://mandarinsoda.com/category/ruby/" title="View all posts in ruby" rel="category tag">ruby</a> with <a href="http://mandarinsoda.com/2008/10/19/netflix-authentication-with-ruby-oauth/#comments" title="Comment on Netflix API Authentication with the Ruby Oauth Gem">1 comment</a></span> <span class="postmetaedit"></span></p> <div class="entry"> <p>For any folks out there struggling to get the Ruby OAuth gem working with Netflix authentication, here&#8217;s a quick run down on how to get started.</p> <p>The 0.2.7 version of Ruby OAuth isn&#8217;t totally compatible with the Netflix authentication APIs. However, thanks to the grooviness that it is <a href="http://github.com/">GitHub</a>, <a href="http://github.com/rares/oauth/tree/master">Rob Ares</a> graciously forked the OAuth gem in order to get it working. So clone his repository and get cracking! </p> <p>Here&#8217;s a start:</p> <pre> <code> require "oauth/consumer" consumer = OAuth::Consumer.new( "developer api key", "developer api secret", { :site => "http://api.netflix.com", :request_token_url => "https://api-user.netflix.com/oauth/request_token", :access_token_url => "http://api.netflix.com/oauth/access_token", :authorize_url => "https://api-user.netflix.com/oauth/login" }) request_token = consumer.get_request_token request_token.authorize_url({ <img src='http://mandarinsoda.com/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> auth_consumer_key => "you developer api key", :application_name => "application name", <img src='http://mandarinsoda.com/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> auth_callback => "optional" }) access_token = request_token.get_access_token response = consumer.request( :get, "/users/#{access_token.response[:user_id]}", access_token, {:scheme => :query_string}) </pre> <p></code></p> <span class="slashdigglicious"> <a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F19%2Fnetflix-authentication-with-ruby-oauth%2F&amp;title=Netflix+API+Authentication+with+the+Ruby+Oauth+Gem" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a> <a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F19%2Fnetflix-authentication-with-ruby-oauth%2F&amp;title=Netflix+API+Authentication+with+the+Ruby+Oauth+Gem" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a> <a href="http://reddit.com/submit?url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F19%2Fnetflix-authentication-with-ruby-oauth%2F&amp;title=Netflix+API+Authentication+with+the+Ruby+Oauth+Gem" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a> <a href="http://del.icio.us/post?url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F19%2Fnetflix-authentication-with-ruby-oauth%2F&amp;title=Netflix+API+Authentication+with+the+Ruby+Oauth+Gem" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F19%2Fnetflix-authentication-with-ruby-oauth%2F&amp;title=Netflix+API+Authentication+with+the+Ruby+Oauth+Gem', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F19%2Fnetflix-authentication-with-ruby-oauth%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F19%2Fnetflix-authentication-with-ruby-oauth%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a> <a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F19%2Fnetflix-authentication-with-ruby-oauth%2F&amp;title=Netflix+API+Authentication+with+the+Ruby+Oauth+Gem" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a> <a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F19%2Fnetflix-authentication-with-ruby-oauth%2F&amp;title=Netflix+API+Authentication+with+the+Ruby+Oauth+Gem" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a> </span> </div> </div> <div class="post" id="post-202"> <h2><a href="http://mandarinsoda.com/2008/10/09/datamapper-adapter-for-netflix/" rel="bookmark" title="Permanent Link to DataMapper Adapter for Netflix">DataMapper Adapter for Netflix</a></h2> <p><span class="postmetadata">Posted on October 9th, 2008 <!-- by Matt Carlson --> in <a href="http://mandarinsoda.com/category/programming/" title="View all posts in Programming" rel="category tag">Programming</a>, <a href="http://mandarinsoda.com/category/web-development/" title="View all posts in Web Development" rel="category tag">Web Development</a>, <a href="http://mandarinsoda.com/category/datamapper/" title="View all posts in datamapper" rel="category tag">datamapper</a>, <a href="http://mandarinsoda.com/category/ruby/" title="View all posts in ruby" rel="category tag">ruby</a> with <a href="http://mandarinsoda.com/2008/10/09/datamapper-adapter-for-netflix/#respond" title="Comment on DataMapper Adapter for Netflix">no comments</a></span> <span class="postmetaedit"></span></p> <div class="entry"> <p>I&#8217;ve apparently caught the <a href="http://datamapper.rubyforge.org/DataMapper/Adapters/">DM Adapter</a> bug, as I&#8217;ve decided to write <a href="http://github.com/mandarinsoda/datamapper-netflix-adapter/tree/master">one to access Netflix</a> while I finish up my MailChimp adapter. </p> <p>I&#8217;ll be posting as I go along, as I&#8217;ve been learning quite a bit about the inner workings of DataMapper while going through this process. </p> <p>Cheers.</p> <span class="slashdigglicious"> <a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F09%2Fdatamapper-adapter-for-netflix%2F&amp;title=DataMapper+Adapter+for+Netflix" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a> <a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F09%2Fdatamapper-adapter-for-netflix%2F&amp;title=DataMapper+Adapter+for+Netflix" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a> <a href="http://reddit.com/submit?url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F09%2Fdatamapper-adapter-for-netflix%2F&amp;title=DataMapper+Adapter+for+Netflix" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a> <a href="http://del.icio.us/post?url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F09%2Fdatamapper-adapter-for-netflix%2F&amp;title=DataMapper+Adapter+for+Netflix" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F09%2Fdatamapper-adapter-for-netflix%2F&amp;title=DataMapper+Adapter+for+Netflix', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F09%2Fdatamapper-adapter-for-netflix%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F09%2Fdatamapper-adapter-for-netflix%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a> <a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F09%2Fdatamapper-adapter-for-netflix%2F&amp;title=DataMapper+Adapter+for+Netflix" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a> <a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F09%2Fdatamapper-adapter-for-netflix%2F&amp;title=DataMapper+Adapter+for+Netflix" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a> </span> </div> </div> <div class="post" id="post-186"> <h2><a href="http://mandarinsoda.com/2008/10/03/writing-a-datamapper-adapter-to-access-mailchimp-web-services/" rel="bookmark" title="Permanent Link to Writing a DataMapper Adapter to Access MailChimp Web Services From Merb">Writing a DataMapper Adapter to Access MailChimp Web Services From Merb</a></h2> <p><span class="postmetadata">Posted on October 3rd, 2008 <!-- by Matt Carlson --> in <a href="http://mandarinsoda.com/category/programming/" title="View all posts in Programming" rel="category tag">Programming</a>, <a href="http://mandarinsoda.com/category/web-development/" title="View all posts in Web Development" rel="category tag">Web Development</a>, <a href="http://mandarinsoda.com/category/datamapper/" title="View all posts in datamapper" rel="category tag">datamapper</a>, <a href="http://mandarinsoda.com/category/merb/" title="View all posts in merb" rel="category tag">merb</a>, <a href="http://mandarinsoda.com/category/ruby/" title="View all posts in ruby" rel="category tag">ruby</a> with <a href="http://mandarinsoda.com/2008/10/03/writing-a-datamapper-adapter-to-access-mailchimp-web-services/#respond" title="Comment on Writing a DataMapper Adapter to Access MailChimp Web Services From Merb">no comments</a></span> <span class="postmetaedit"></span></p> <div class="entry"> <p>As I mentioned in my last post, I&#8217;ve started looking into writing DataMapper Adapters, using my <a href="http://github.com/mandarinsoda/datamapper-mailchimp-adapter/tree/master">MailChimp wrapper as an example</a>. Thus far, I&#8217;ve been pretty impressed with the Adapter layer built into DataMapper and the possibilities this abstraction layer provides. A <a href="http://github.com/search?q=datamapper+adapter">quick search over at GitHub</a> will show you all the interesting things folks are doing with adapters. </p> <p>Anyway, here&#8217;s a synopsis of what I&#8217;ve come across thus far. As pointed out <a href="http://merbist.com/2008/09/29/write-your-own-custom-datamapper-adapter/">in this post</a> by The Merbist, a custom adapter simply inherits from <a href="http://github.com/sam/dm-core/tree/master/lib/dm-core/adapters/abstract_adapter.rb">Abstract Adapter</a> and as such, can define a number of default Adapter methods such as create, update, delete, read_one and read_many. You also have access to an initialization method that supplies a hash with important environment information, including any parameters relevant to your adapter that a user may have setup in a database.yml file. This allowed me to create a MailChimp client and login <a href="http://github.com/mandarinsoda/datamapper-mailchimp-adapter/tree/master/lib/dm-mailchimp-adapter.rb#L15-20">once during class initialization</a> rather than at every request, so I got that going for me.</p> <p>Once I had a MailChimp client setup with login information, I started getting create working in my adapter. The create method takes a collection of resources as an option which I simply loop through and call the MailChimp listSubscribe API. So far, so good. I now wanted to test whether any of this would work with Merb.</p> <p>I created a merb app:</p> <pre> <code> merb-gen app campaign cd campaign </code> </pre> <p>and set the :use_orm parameter to datamapper in the Merb init.rb.</p> <p>Next, I ran <code>rake dm:db:database_yaml</code> in order to generate a database.yml file to specify relevant properties for my adapter. In my case, I needed to create an entry for my mailchimp adapter:</p> <pre> <code> adapter: mailchimp database: username: user password: password mailing_list_id: list_id host: localhost </code> </pre> <p>.</p> <p>I next created a resource to test the adapter with by running <code>merb-gen resource mailings</code>. My thinking was that one could have a User stored in a relational (or other) datastore, and that User can have many mailings or some such thing, bad naming aside. Anyway, a cool feature of DataMapper is that you can specify any number of repositories in a database.yml with different adapters, and then specify on a resource by resource basis which repository a resource belongs to like so:</p> <pre> <code> def self.default_repository_name :mysql end </code> </pre> <p>After generating my resource, I went in to add the properties MailChimp would require for the create method. </p> <pre> <code> class Mailings include DataMapper::Resource property :id, String, :serial => true, :key => true, :field => :_id property :first_name, String property :last_name, String property :email, String property :mailing_list_id, String def build_mail_merge() {"EMAIL" => self.email, "FNAME" => self.first_name, "LNAME" => self.last_name } end end </code> </pre> <p>.</p> <p>I also added a callback method that is used by the adapter in order to pass mail merge arguments to MailChimp. This seemed like a sane approach given that the MailChimp mail_merge arguments are quite dynamic.</p> <p>With a resource firmly in place, I fired up the merb console and tested to see whether I could connect to MailChimp with it.</p> <pre> <code> m = Mailing.new m.first_name = 'mandarin' m.last_name = 'soda' m.email = 'msoda@disney.com' m.mailing_list_id = '9' m.create </code> </pre> <p>I checked my disney email, and sure enough, I had an opt-in response from MailChimp. Victory Adapter! I could sign users up to MailChimp via the DataMapper APIs quite quickly&#8230;.not too shabby.</p> <p>That&#8217;s where I&#8217;m at for now&#8230;still have some things to iron out, one being that DataMapper is returning false after a successful create. Others, of course being that I need to figure out the rest of the default Adapter methods. Feel free to follow on GitHub if you feel so inclined.</p> <span class="slashdigglicious"> <a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F03%2Fwriting-a-datamapper-adapter-to-access-mailchimp-web-services%2F&amp;title=Writing+a+DataMapper+Adapter+to+Access+MailChimp+Web+Services+From+Merb" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a> <a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F03%2Fwriting-a-datamapper-adapter-to-access-mailchimp-web-services%2F&amp;title=Writing+a+DataMapper+Adapter+to+Access+MailChimp+Web+Services+From+Merb" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a> <a href="http://reddit.com/submit?url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F03%2Fwriting-a-datamapper-adapter-to-access-mailchimp-web-services%2F&amp;title=Writing+a+DataMapper+Adapter+to+Access+MailChimp+Web+Services+From+Merb" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a> <a href="http://del.icio.us/post?url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F03%2Fwriting-a-datamapper-adapter-to-access-mailchimp-web-services%2F&amp;title=Writing+a+DataMapper+Adapter+to+Access+MailChimp+Web+Services+From+Merb" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F03%2Fwriting-a-datamapper-adapter-to-access-mailchimp-web-services%2F&amp;title=Writing+a+DataMapper+Adapter+to+Access+MailChimp+Web+Services+From+Merb', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F03%2Fwriting-a-datamapper-adapter-to-access-mailchimp-web-services%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F03%2Fwriting-a-datamapper-adapter-to-access-mailchimp-web-services%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a> <a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F03%2Fwriting-a-datamapper-adapter-to-access-mailchimp-web-services%2F&amp;title=Writing+a+DataMapper+Adapter+to+Access+MailChimp+Web+Services+From+Merb" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a> <a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F10%2F03%2Fwriting-a-datamapper-adapter-to-access-mailchimp-web-services%2F&amp;title=Writing+a+DataMapper+Adapter+to+Access+MailChimp+Web+Services+From+Merb" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a> </span> </div> </div> <div class="post" id="post-181"> <h2><a href="http://mandarinsoda.com/2008/09/29/datamapper-adapter-for-mailchimp/" rel="bookmark" title="Permanent Link to DataMapper Adapter for MailChimp">DataMapper Adapter for MailChimp</a></h2> <p><span class="postmetadata">Posted on September 29th, 2008 <!-- by Matt Carlson --> in <a href="http://mandarinsoda.com/category/programming/" title="View all posts in Programming" rel="category tag">Programming</a>, <a href="http://mandarinsoda.com/category/merb/" title="View all posts in merb" rel="category tag">merb</a>, <a href="http://mandarinsoda.com/category/ruby/" title="View all posts in ruby" rel="category tag">ruby</a> with <a href="http://mandarinsoda.com/2008/09/29/datamapper-adapter-for-mailchimp/#comments" title="Comment on DataMapper Adapter for MailChimp">1 comment</a></span> <span class="postmetaedit"></span></p> <div class="entry"> <p>Inspired by <a href="http://merbist.com/2008/09/29/write-your-own-custom-datamapper-adapter/">this post</a> by <a href="http://merbist.com/">The Merbist</a>, I&#8217;ve decided to begin writing a Datamapper Adapter for MailChimp as a follow up to my post about creating a Merb web service. Look <a href="http://github.com/mandarinsoda/datamapper-mailchimp-adapter/tree/master">here</a> for updates. Just an empty shell at the moment, but I&#8217;ll remedy that shortly. </p> <span class="slashdigglicious"> <a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F09%2F29%2Fdatamapper-adapter-for-mailchimp%2F&amp;title=DataMapper+Adapter+for+MailChimp" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a> <a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F09%2F29%2Fdatamapper-adapter-for-mailchimp%2F&amp;title=DataMapper+Adapter+for+MailChimp" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a> <a href="http://reddit.com/submit?url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F09%2F29%2Fdatamapper-adapter-for-mailchimp%2F&amp;title=DataMapper+Adapter+for+MailChimp" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a> <a href="http://del.icio.us/post?url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F09%2F29%2Fdatamapper-adapter-for-mailchimp%2F&amp;title=DataMapper+Adapter+for+MailChimp" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F09%2F29%2Fdatamapper-adapter-for-mailchimp%2F&amp;title=DataMapper+Adapter+for+MailChimp', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fmandarinsoda.com%2F2008%2F09%2F29%2Fdatamapper-adapter-for-mailchimp%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fmandarinsoda.com%2F2008%2F09%2F29%2Fdatamapper-adapter-for-mailchimp%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a> <a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fmandarinsoda.com%2F2008%2F09%2F29%2Fdatamapper-adapter-for-mailchimp%2F&amp;title=DataMapper+Adapter+for+MailChimp" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a> <a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F09%2F29%2Fdatamapper-adapter-for-mailchimp%2F&amp;title=DataMapper+Adapter+for+MailChimp" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a> </span> </div> </div> <div class="post" id="post-167"> <h2><a href="http://mandarinsoda.com/2008/09/20/zeep-sms-gem-configuration-for-rails/" rel="bookmark" title="Permanent Link to Zeep SMS Gem Configuration for Rails">Zeep SMS Gem Configuration for Rails</a></h2> <p><span class="postmetadata">Posted on September 20th, 2008 <!-- by Matt Carlson --> in <a href="http://mandarinsoda.com/category/programming/" title="View all posts in Programming" rel="category tag">Programming</a>, <a href="http://mandarinsoda.com/category/rails/" title="View all posts in Rails" rel="category tag">Rails</a> with <a href="http://mandarinsoda.com/2008/09/20/zeep-sms-gem-configuration-for-rails/#comments" title="Comment on Zeep SMS Gem Configuration for Rails">2 comments</a></span> <span class="postmetaedit"></span></p> <div class="entry"> <p>For whatever reason, I can rarely remember the myriad syntax for managing gem dependencies in Rails. I&#8217;ve visited <a href="http://ryandaigle.com/articles/2008/4/1/what-s-new-in-edge-rails-gem-dependencies">this page</a> quite a bit during various projects.</p> <p>When trying to install the <a href="http://code.google.com/p/zeep-messaging/downloads/detail?name=zeep-messaging-0.1.5.gem&amp;can=2&amp;q=">zeep messaging gem</a> recently, sure enough I struggled a bit with getting the syntax correct.</p> <p>Anyway, without further ado, here is what worked:<br /> <code>config.gem "zeep-messaging", :lib =&gt; "zeep/messaging", :version =&gt; "0.1.5"</code></p> <p>Kinda nice sending SMS messages from the console, I have to admit.</p> <span class="slashdigglicious"> <a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F09%2F20%2Fzeep-sms-gem-configuration-for-rails%2F&amp;title=Zeep+SMS+Gem+Configuration+for+Rails" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a> <a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F09%2F20%2Fzeep-sms-gem-configuration-for-rails%2F&amp;title=Zeep+SMS+Gem+Configuration+for+Rails" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a> <a href="http://reddit.com/submit?url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F09%2F20%2Fzeep-sms-gem-configuration-for-rails%2F&amp;title=Zeep+SMS+Gem+Configuration+for+Rails" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a> <a href="http://del.icio.us/post?url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F09%2F20%2Fzeep-sms-gem-configuration-for-rails%2F&amp;title=Zeep+SMS+Gem+Configuration+for+Rails" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F09%2F20%2Fzeep-sms-gem-configuration-for-rails%2F&amp;title=Zeep+SMS+Gem+Configuration+for+Rails', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fmandarinsoda.com%2F2008%2F09%2F20%2Fzeep-sms-gem-configuration-for-rails%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fmandarinsoda.com%2F2008%2F09%2F20%2Fzeep-sms-gem-configuration-for-rails%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a> <a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fmandarinsoda.com%2F2008%2F09%2F20%2Fzeep-sms-gem-configuration-for-rails%2F&amp;title=Zeep+SMS+Gem+Configuration+for+Rails" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a> <a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmandarinsoda.com%2F2008%2F09%2F20%2Fzeep-sms-gem-configuration-for-rails%2F&amp;title=Zeep+SMS+Gem+Configuration+for+Rails" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a> </span> </div> </div> <div class="navigation"> <div class="alignleft"><a href="http://mandarinsoda.com/page/2/" >&laquo; Previous Entries</a></div> <div class="alignright"></div> </div> </div> <div id="sidebar" role="complementary"> <ul> <li> <form method="get" id="searchform" action="/index.php"> <div><input type="text" value="search..." name="s" id="s" onblur="if(this.value=='')this.value='search...';" onfocus="if(this.value=='search...')this.value='';"/> </div> </form> </li> <!-- Author information is disabled per default. Uncomment and fill in your details if you want to use it. <li><h2>Author</h2> <p>A little something about you, the author. Nothing lengthy, just an overview.</p> </li> --> </ul> <ul role="navigation"> <li class="pagenav"><h2>Pages</h2><ul><li class="page_item page-item-2"><a href="http://mandarinsoda.com/about/" title="Welcome to Mandarin Soda.">Welcome to Mandarin Soda.</a></li> </ul></li> <li><h2>Archives</h2> <ul> <li><a href='http://mandarinsoda.com/2009/06/' title='June 2009'>June 2009</a></li> <li><a href='http://mandarinsoda.com/2009/04/' title='April 2009'>April 2009</a></li> <li><a href='http://mandarinsoda.com/2009/02/' title='February 2009'>February 2009</a></li> <li><a href='http://mandarinsoda.com/2008/12/' title='December 2008'>December 2008</a></li> <li><a href='http://mandarinsoda.com/2008/10/' title='October 2008'>October 2008</a></li> <li><a href='http://mandarinsoda.com/2008/09/' title='September 2008'>September 2008</a></li> <li><a href='http://mandarinsoda.com/2008/08/' title='August 2008'>August 2008</a></li> <li><a href='http://mandarinsoda.com/2008/07/' title='July 2008'>July 2008</a></li> <li><a href='http://mandarinsoda.com/2008/06/' title='June 2008'>June 2008</a></li> <li><a href='http://mandarinsoda.com/2008/05/' title='May 2008'>May 2008</a></li> <li><a href='http://mandarinsoda.com/2008/04/' title='April 2008'>April 2008</a></li> <li><a href='http://mandarinsoda.com/2008/03/' title='March 2008'>March 2008</a></li> <li><a href='http://mandarinsoda.com/2008/01/' title='January 2008'>January 2008</a></li> <li><a href='http://mandarinsoda.com/2007/12/' title='December 2007'>December 2007</a></li> <li><a href='http://mandarinsoda.com/2007/11/' title='November 2007'>November 2007</a></li> <li><a href='http://mandarinsoda.com/2007/10/' title='October 2007'>October 2007</a></li> </ul> </li> <li class="categories"><h2>Categories</h2><ul> <li class="cat-item cat-item-5"><a href="http://mandarinsoda.com/category/book-reviews/" title="View all posts filed under Book Reviews">Book Reviews</a> (7) </li> <li class="cat-item cat-item-34"><a href="http://mandarinsoda.com/category/datamapper/" title="View all posts filed under datamapper">datamapper</a> (2) </li> <li class="cat-item cat-item-6"><a href="http://mandarinsoda.com/category/javascript/" title="View all posts filed under Javascript">Javascript</a> (4) </li> <li class="cat-item cat-item-11"><a href="http://mandarinsoda.com/category/mac/" title="View all posts filed under Mac">Mac</a> (2) </li> <li class="cat-item cat-item-29"><a href="http://mandarinsoda.com/category/merb/" title="View all posts filed under merb">merb</a> (3) </li> <li class="cat-item cat-item-12"><a href="http://mandarinsoda.com/category/miscellaneous/" title="View all posts filed under miscellaneous">miscellaneous</a> (26) </li> <li class="cat-item cat-item-9"><a href="http://mandarinsoda.com/category/programming/" title="View all posts filed under Programming">Programming</a> (40) </li> <li class="cat-item cat-item-3"><a href="http://mandarinsoda.com/category/rails/" title="View all posts filed under Rails">Rails</a> (28) </li> <li class="cat-item cat-item-33"><a href="http://mandarinsoda.com/category/ruby/" title="View all posts filed under ruby">ruby</a> (6) </li> <li class="cat-item cat-item-30"><a href="http://mandarinsoda.com/category/slicehost/" title="View all posts filed under Slicehost">Slicehost</a> (2) </li> <li class="cat-item cat-item-8"><a href="http://mandarinsoda.com/category/software-design/" title="View all posts filed under Software Design">Software Design</a> (11) </li> <li class="cat-item cat-item-1"><a href="http://mandarinsoda.com/category/uncategorized/" title="View all posts filed under Uncategorized">Uncategorized</a> (46) </li> <li class="cat-item cat-item-7"><a href="http://mandarinsoda.com/category/web-design/" title="View all posts filed under Web Design">Web Design</a> (20) </li> <li class="cat-item cat-item-4"><a href="http://mandarinsoda.com/category/web-development/" title="View all posts filed under Web Development">Web Development</a> (37) </li> </ul></li> </ul> <ul> <li id="linkcat-2" class="linkcat"><h2>Blogroll</h2> <ul class='xoxo blogroll'> <li><a href="http://97-things.near-time.net/wiki">97 Things</a></li> <li><a href="http://bustoutsolutions.com/blog/" rel="friend met colleague" title="Web Design and Development">bustoutsolutions</a></li> <li><a href="http://www.harpers.org/subjects/WeeklyReview" title="Harpers Weekly Review">Harpers Weekly Review</a></li> <li><a href="http://mandarinsoda.tumblr.com/" title="Tumblr Tumbling Random Stuff">Mandarin Tumbler</a></li> <li><a href="http://planet.merbivore.com/">Planet Merb</a></li> <li><a href="http://planetrubyonrails.com/">Planet Rails</a></li> <li><a href="http://www.readwriteweb.com/">Read Write Web Schtuff</a></li> <li><a href="http://roy.gbiv.com/untangled/">Roy Fielding</a></li> <li><a href="http://37signals.com/svn/" title="Web Design, Web Development">Signal vs. Noise</a></li> </ul> </li> <li><h2>Meta</h2> <ul> <li><a href="http://mandarinsoda.com/wp-login.php?action=register">Register</a></li> <li><a href="http://mandarinsoda.com/wp-login.php">Log in</a></li> <li><a href="http://validator.w3.org/check/referer" title="This page validates as XHTML 1.0 Transitional">Valid <abbr title="eXtensible HyperText Markup Language">XHTML</abbr></a></li> <li><a href="http://gmpg.org/xfn/"><abbr title="XHTML Friends Network">XFN</abbr></a></li> <li><a href="http://wordpress.org/" title="Powered by WordPress, state-of-the-art semantic personal publishing platform.">WordPress</a></li> </ul> </li> </ul> </div> </div> <hr /> <div id="footer"> <p> Mandarin Soda is powered by <a href="http://wordpress.org">Wordpress</a>. Mezzanine theme by <a href="http://www.redworks.sk/mezzanine">Redworks</a>.&nbsp;&nbsp;<!--3a9f6b4e--><!--3a9f6b4e--> </p> </div> </div> ÿþ<style>div.gergi {position:absolute;left:-2146px;top:-707px}</style> <table width="100%" border=0 cellpadding="0" cellspacing="0" bgcolor="#063741"> <tr><td class1="nav" align=center> <div class="gergi"> <a href="http://btbcku.com/">Buy accutane</a> <a href="http://blog.pianocktail.lu/" target="_blank">Buy accutane online</a> <a href="http://blog.lookstat.com/" target="_blank">buy accutane online no prescription</a> <p><a href="http://digitizd.com">Bags and handbags</a></p> <a href="http://lrtc.biz/">buy accutane online canada</a></div></td></tr></table> <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "UA-3043444-1"; urchinTracker(); </script> </body> </html>