document.write('<link rel="stylesheet" href="http://gist.github.com/stylesheets/gist/embed.css"/>')





document.write('<div id=\"gist-30716\" class=\"gist\">\n  \n  \n    \n            \n\n      <div class=\"gist-file\">\n        <div class=\"gist-data gist-syntax\">\n          \n          \n          \n            <div class=\"gist-highlight\"><pre><div class=\"line\" id=\"LC1\"><span class=\"c1\"># Author: Vitalie Lazu<\/span><\/div><div class=\"line\" id=\"LC2\"><span class=\"c1\"># Date: Mon, 01 Dec 2008 14:28:28 +0200<\/span><\/div><div class=\"line\" id=\"LC3\">&nbsp;<\/div><div class=\"line\" id=\"LC4\"><span class=\"c1\"># Rake tasks to help you with family photos:<\/span><\/div><div class=\"line\" id=\"LC5\"><span class=\"c1\"># * Download photos from camera<\/span><\/div><div class=\"line\" id=\"LC6\"><span class=\"c1\"># * Arrange photos in folders by date like digikam, <\/span><\/div><div class=\"line\" id=\"LC7\"><span class=\"c1\"># * Rotate them according exif information<\/span><\/div><div class=\"line\" id=\"LC8\"><span class=\"c1\">#<\/span><\/div><div class=\"line\" id=\"LC9\"><span class=\"c1\"># Setup to use this tasks:<\/span><\/div><div class=\"line\" id=\"LC10\"><span class=\"c1\"># apt-get install rubygems imagemagick gphoto2 rake<\/span><\/div><div class=\"line\" id=\"LC11\"><span class=\"c1\"># gem install exifr<\/span><\/div><div class=\"line\" id=\"LC12\">&nbsp;<\/div><div class=\"line\" id=\"LC13\"><span class=\"n\">namespace<\/span> <span class=\"ss\">:ph<\/span> <span class=\"k\">do<\/span><\/div><div class=\"line\" id=\"LC14\">&nbsp;&nbsp;<span class=\"n\">desc<\/span> <span class=\"s2\">&quot;Get photos from camera to current folder&quot;<\/span><\/div><div class=\"line\" id=\"LC15\">&nbsp;&nbsp;<span class=\"n\">task<\/span> <span class=\"ss\">:get<\/span> <span class=\"k\">do<\/span><\/div><div class=\"line\" id=\"LC16\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">sh<\/span> <span class=\"s2\">&quot;gphoto2 -R -P&quot;<\/span><\/div><div class=\"line\" id=\"LC17\">&nbsp;&nbsp;<span class=\"k\">end<\/span><\/div><div class=\"line\" id=\"LC18\">&nbsp;<\/div><div class=\"line\" id=\"LC19\">&nbsp;&nbsp;<span class=\"n\">desc<\/span> <span class=\"s2\">&quot;Delete all photos from camera&quot;<\/span><\/div><div class=\"line\" id=\"LC20\">&nbsp;&nbsp;<span class=\"n\">task<\/span> <span class=\"ss\">:delete<\/span> <span class=\"k\">do<\/span><\/div><div class=\"line\" id=\"LC21\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">sh<\/span> <span class=\"s2\">&quot;gphoto2 -R -D&quot;<\/span><\/div><div class=\"line\" id=\"LC22\">&nbsp;&nbsp;<span class=\"k\">end<\/span><\/div><div class=\"line\" id=\"LC23\">&nbsp;<\/div><div class=\"line\" id=\"LC24\">&nbsp;&nbsp;<span class=\"n\">desc<\/span> <span class=\"s2\">&quot;Rotate photos from exif info&quot;<\/span><\/div><div class=\"line\" id=\"LC25\">&nbsp;&nbsp;<span class=\"n\">task<\/span> <span class=\"ss\">:rotate<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"ss\">:init<\/span> <span class=\"k\">do<\/span><\/div><div class=\"line\" id=\"LC26\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">for_each_image<\/span> <span class=\"k\">do<\/span> <span class=\"o\">|<\/span><span class=\"n\">fname<\/span><span class=\"p\">,<\/span> <span class=\"n\">info<\/span><span class=\"o\">|<\/span><\/div><div class=\"line\" id=\"LC27\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nb\">p<\/span> <span class=\"n\">info<\/span><span class=\"o\">.<\/span><span class=\"n\">orientation<\/span><\/div><div class=\"line\" id=\"LC28\">&nbsp;<\/div><div class=\"line\" id=\"LC29\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"n\">info<\/span><span class=\"o\">.<\/span><span class=\"n\">orientation<\/span><\/div><div class=\"line\" id=\"LC30\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">x<\/span> <span class=\"o\">=<\/span> <span class=\"no\">FakeImg<\/span><span class=\"o\">.<\/span><span class=\"n\">new<\/span><\/div><div class=\"line\" id=\"LC31\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">info<\/span><span class=\"o\">.<\/span><span class=\"n\">orientation<\/span><span class=\"o\">.<\/span><span class=\"n\">transform_rmagick<\/span><span class=\"p\">(<\/span><span class=\"n\">x<\/span><span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"LC32\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">op<\/span> <span class=\"o\">=<\/span> <span class=\"n\">x<\/span><span class=\"o\">.<\/span><span class=\"n\">to_s<\/span><\/div><div class=\"line\" id=\"LC33\">&nbsp;<\/div><div class=\"line\" id=\"LC34\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">dest_file<\/span> <span class=\"o\">=<\/span> <span class=\"s2\">&quot;r-&quot;<\/span> <span class=\"o\">&lt;&lt;<\/span> <span class=\"n\">fname<\/span><\/div><div class=\"line\" id=\"LC35\">&nbsp;<\/div><div class=\"line\" id=\"LC36\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"n\">op<\/span><span class=\"o\">.<\/span><span class=\"n\">length<\/span> <span class=\"o\">&gt;<\/span> <span class=\"mi\">0<\/span><\/div><div class=\"line\" id=\"LC37\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">mv<\/span> <span class=\"n\">fname<\/span><span class=\"p\">,<\/span> <span class=\"n\">dest_file<\/span><\/div><div class=\"line\" id=\"LC38\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">cmd<\/span> <span class=\"o\">=<\/span> <span class=\"s2\">&quot;convert &#39;<\/span><span class=\"si\">#{<\/span><span class=\"n\">dest_file<\/span><span class=\"si\">}<\/span><span class=\"s2\">&#39; <\/span><span class=\"si\">#{<\/span><span class=\"n\">op<\/span><span class=\"si\">}<\/span><span class=\"s2\"> &#39;<\/span><span class=\"si\">#{<\/span><span class=\"n\">fname<\/span><span class=\"si\">}<\/span><span class=\"s2\">&#39;&quot;<\/span><\/div><div class=\"line\" id=\"LC39\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nb\">puts<\/span> <span class=\"n\">cmd<\/span><\/div><div class=\"line\" id=\"LC40\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">sh<\/span> <span class=\"n\">cmd<\/span><\/div><div class=\"line\" id=\"LC41\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">end<\/span><\/div><div class=\"line\" id=\"LC42\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">end<\/span><\/div><div class=\"line\" id=\"LC43\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">end<\/span><\/div><div class=\"line\" id=\"LC44\">&nbsp;&nbsp;<span class=\"k\">end<\/span><\/div><div class=\"line\" id=\"LC45\">&nbsp;<\/div><div class=\"line\" id=\"LC46\">&nbsp;&nbsp;<span class=\"n\">desc<\/span> <span class=\"s2\">&quot;Arrange photos in folders by date&quot;<\/span><\/div><div class=\"line\" id=\"LC47\">&nbsp;&nbsp;<span class=\"n\">task<\/span> <span class=\"ss\">:arrange<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"ss\">:init<\/span> <span class=\"k\">do<\/span><\/div><div class=\"line\" id=\"LC48\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">for_each_image<\/span> <span class=\"k\">do<\/span> <span class=\"o\">|<\/span><span class=\"n\">fname<\/span><span class=\"p\">,<\/span> <span class=\"n\">info<\/span><span class=\"o\">|<\/span><\/div><div class=\"line\" id=\"LC49\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">dir<\/span> <span class=\"o\">=<\/span> <span class=\"n\">info<\/span><span class=\"o\">.<\/span><span class=\"n\">date_time<\/span><span class=\"o\">.<\/span><span class=\"n\">strftime<\/span><span class=\"p\">(<\/span><span class=\"s2\">&quot;%Y-%m-%d&quot;<\/span><span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"LC50\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">op<\/span> <span class=\"o\">=<\/span> <span class=\"n\">info<\/span><span class=\"o\">.<\/span><span class=\"n\">orientation<\/span><span class=\"o\">.<\/span><span class=\"n\">transform_rmagick<\/span><span class=\"p\">(<\/span><span class=\"no\">FakeImg<\/span><span class=\"o\">.<\/span><span class=\"n\">new<\/span><span class=\"p\">)<\/span><span class=\"o\">.<\/span><span class=\"n\">to_s<\/span><\/div><div class=\"line\" id=\"LC51\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nb\">print<\/span> <span class=\"s2\">&quot;%s %s %s<\/span><span class=\"se\">\\n<\/span><span class=\"s2\">&quot;<\/span> <span class=\"o\">%<\/span> <span class=\"o\">[<\/span><span class=\"n\">fname<\/span><span class=\"p\">,<\/span> <span class=\"n\">dir<\/span><span class=\"p\">,<\/span> <span class=\"n\">op<\/span><span class=\"o\">]<\/span><\/div><div class=\"line\" id=\"LC52\">&nbsp;<\/div><div class=\"line\" id=\"LC53\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">dest_file<\/span> <span class=\"o\">=<\/span> <span class=\"no\">File<\/span><span class=\"o\">.<\/span><span class=\"n\">join<\/span><span class=\"p\">(<\/span><span class=\"n\">dir<\/span><span class=\"p\">,<\/span> <span class=\"n\">fname<\/span><span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"LC54\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">mkdir_p<\/span> <span class=\"n\">dir<\/span><\/div><div class=\"line\" id=\"LC55\">&nbsp;<\/div><div class=\"line\" id=\"LC56\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"n\">op<\/span><span class=\"o\">.<\/span><span class=\"n\">length<\/span> <span class=\"o\">&gt;<\/span> <span class=\"mi\">0<\/span><\/div><div class=\"line\" id=\"LC57\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">cmd<\/span> <span class=\"o\">=<\/span> <span class=\"s2\">&quot;convert &#39;<\/span><span class=\"si\">#{<\/span><span class=\"n\">fname<\/span><span class=\"si\">}<\/span><span class=\"s2\">&#39; <\/span><span class=\"si\">#{<\/span><span class=\"n\">op<\/span><span class=\"si\">}<\/span><span class=\"s2\"> &#39;<\/span><span class=\"si\">#{<\/span><span class=\"n\">dest_file<\/span><span class=\"si\">}<\/span><span class=\"s2\">&#39;&quot;<\/span><\/div><div class=\"line\" id=\"LC58\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nb\">puts<\/span> <span class=\"n\">cmd<\/span><\/div><div class=\"line\" id=\"LC59\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">sh<\/span> <span class=\"n\">cmd<\/span><\/div><div class=\"line\" id=\"LC60\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">else<\/span><\/div><div class=\"line\" id=\"LC61\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"nb\">test<\/span> <span class=\"sc\">?f<\/span><span class=\"p\">,<\/span> <span class=\"n\">dest_file<\/span><\/div><div class=\"line\" id=\"LC62\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nb\">puts<\/span> <span class=\"s2\">&quot;File exits: <\/span><span class=\"si\">#{<\/span><span class=\"n\">dest_file<\/span><span class=\"si\">}<\/span><span class=\"s2\">&quot;<\/span><\/div><div class=\"line\" id=\"LC63\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">else<\/span><\/div><div class=\"line\" id=\"LC64\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">mv<\/span> <span class=\"n\">fname<\/span><span class=\"p\">,<\/span> <span class=\"n\">dest_file<\/span><\/div><div class=\"line\" id=\"LC65\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">end<\/span><\/div><div class=\"line\" id=\"LC66\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">end<\/span><\/div><div class=\"line\" id=\"LC67\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">end<\/span><\/div><div class=\"line\" id=\"LC68\">&nbsp;&nbsp;<span class=\"k\">end<\/span><\/div><div class=\"line\" id=\"LC69\">&nbsp;<\/div><div class=\"line\" id=\"LC70\">&nbsp;&nbsp;<span class=\"n\">desc<\/span> <span class=\"s2\">&quot;Show photos info&quot;<\/span><\/div><div class=\"line\" id=\"LC71\">&nbsp;&nbsp;<span class=\"n\">task<\/span> <span class=\"ss\">:list<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"ss\">:init<\/span> <span class=\"k\">do<\/span><\/div><div class=\"line\" id=\"LC72\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">for_each_image<\/span> <span class=\"k\">do<\/span> <span class=\"o\">|<\/span><span class=\"n\">fname<\/span><span class=\"p\">,<\/span> <span class=\"n\">info<\/span><span class=\"o\">|<\/span><\/div><div class=\"line\" id=\"LC73\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nb\">print<\/span> <span class=\"s2\">&quot;%s %s %s<\/span><span class=\"se\">\\n<\/span><span class=\"s2\">&quot;<\/span> <span class=\"o\">%<\/span> <span class=\"o\">[<\/span><span class=\"n\">fname<\/span><span class=\"p\">,<\/span> <span class=\"n\">info<\/span><span class=\"o\">.<\/span><span class=\"n\">date_time<\/span><span class=\"p\">,<\/span> <span class=\"n\">info<\/span><span class=\"o\">.<\/span><span class=\"n\">orientation<\/span><span class=\"o\">.<\/span><span class=\"n\">transform_rmagick<\/span><span class=\"p\">(<\/span><span class=\"no\">FakeImg<\/span><span class=\"o\">.<\/span><span class=\"n\">new<\/span><span class=\"p\">)<\/span><span class=\"o\">.<\/span><span class=\"n\">to_s<\/span><span class=\"o\">]<\/span><\/div><div class=\"line\" id=\"LC74\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">end<\/span><\/div><div class=\"line\" id=\"LC75\">&nbsp;&nbsp;<span class=\"k\">end<\/span><\/div><div class=\"line\" id=\"LC76\">&nbsp;<\/div><div class=\"line\" id=\"LC77\">&nbsp;&nbsp;<span class=\"n\">task<\/span> <span class=\"ss\">:init<\/span> <span class=\"k\">do<\/span><\/div><div class=\"line\" id=\"LC78\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nb\">require<\/span> <span class=\"s1\">&#39;rubygems&#39;<\/span><\/div><div class=\"line\" id=\"LC79\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nb\">require<\/span> <span class=\"s1\">&#39;exifr&#39;<\/span><\/div><div class=\"line\" id=\"LC80\">&nbsp;&nbsp;<span class=\"k\">end<\/span><\/div><div class=\"line\" id=\"LC81\">&nbsp;<\/div><div class=\"line\" id=\"LC82\">&nbsp;&nbsp;<span class=\"k\">def<\/span> <span class=\"nf\">for_each_image<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">block<\/span><span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"LC83\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">for<\/span> <span class=\"n\">fname<\/span> <span class=\"k\">in<\/span> <span class=\"no\">Dir<\/span><span class=\"o\">[<\/span><span class=\"s2\">&quot;*&quot;<\/span><span class=\"o\">]<\/span><\/div><div class=\"line\" id=\"LC84\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">next<\/span> <span class=\"k\">unless<\/span> <span class=\"nb\">test<\/span><span class=\"p\">(<\/span><span class=\"sc\">?f<\/span><span class=\"p\">,<\/span> <span class=\"n\">fname<\/span><span class=\"p\">)<\/span> <span class=\"o\">&amp;&amp;<\/span> <span class=\"n\">fname<\/span> <span class=\"o\">=~<\/span> <span class=\"sr\">/\\.jpe?g$/i<\/span><\/div><div class=\"line\" id=\"LC85\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">yield<\/span> <span class=\"n\">fname<\/span><span class=\"p\">,<\/span> <span class=\"no\">EXIFR<\/span><span class=\"o\">::<\/span><span class=\"no\">JPEG<\/span><span class=\"o\">.<\/span><span class=\"n\">new<\/span><span class=\"p\">(<\/span><span class=\"n\">fname<\/span><span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"LC86\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">end<\/span><\/div><div class=\"line\" id=\"LC87\">&nbsp;&nbsp;<span class=\"k\">end<\/span><\/div><div class=\"line\" id=\"LC88\">&nbsp;<\/div><div class=\"line\" id=\"LC89\">&nbsp;&nbsp;<span class=\"k\">class<\/span> <span class=\"nc\">FakeImg<\/span><\/div><div class=\"line\" id=\"LC90\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">def<\/span> <span class=\"nf\">initialize<\/span><\/div><div class=\"line\" id=\"LC91\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"vi\">@cmd<\/span> <span class=\"o\">=<\/span> <span class=\"o\">[]<\/span><\/div><div class=\"line\" id=\"LC92\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">end<\/span><\/div><div class=\"line\" id=\"LC93\">&nbsp;<\/div><div class=\"line\" id=\"LC94\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">def<\/span> <span class=\"nf\">flip<\/span><\/div><div class=\"line\" id=\"LC95\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"vi\">@cmd<\/span> <span class=\"o\">&lt;&lt;<\/span> <span class=\"s2\">&quot;-flip&quot;<\/span><\/div><div class=\"line\" id=\"LC96\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nb\">self<\/span><\/div><div class=\"line\" id=\"LC97\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">end<\/span><\/div><div class=\"line\" id=\"LC98\">&nbsp;<\/div><div class=\"line\" id=\"LC99\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">def<\/span> <span class=\"nf\">flop<\/span><\/div><div class=\"line\" id=\"LC100\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"vi\">@cmd<\/span> <span class=\"o\">&lt;&lt;<\/span> <span class=\"s2\">&quot;-flop&quot;<\/span><\/div><div class=\"line\" id=\"LC101\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nb\">self<\/span><\/div><div class=\"line\" id=\"LC102\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">end<\/span><\/div><div class=\"line\" id=\"LC103\">&nbsp;<\/div><div class=\"line\" id=\"LC104\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">def<\/span> <span class=\"nf\">rotate<\/span><span class=\"p\">(<\/span><span class=\"n\">degrees<\/span><span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"LC105\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"vi\">@cmd<\/span> <span class=\"o\">&lt;&lt;<\/span> <span class=\"s2\">&quot;-rotate <\/span><span class=\"si\">#{<\/span><span class=\"n\">degrees<\/span><span class=\"o\">.<\/span><span class=\"n\">to_i<\/span><span class=\"si\">}<\/span><span class=\"s2\">&quot;<\/span> <span class=\"k\">if<\/span> <span class=\"n\">degrees<\/span><span class=\"o\">.<\/span><span class=\"n\">to_i<\/span> <span class=\"o\">!=<\/span> <span class=\"mi\">0<\/span><\/div><div class=\"line\" id=\"LC106\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nb\">self<\/span><\/div><div class=\"line\" id=\"LC107\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">end<\/span><\/div><div class=\"line\" id=\"LC108\">&nbsp;<\/div><div class=\"line\" id=\"LC109\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">def<\/span> <span class=\"nf\">to_s<\/span><\/div><div class=\"line\" id=\"LC110\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"vi\">@cmd<\/span> <span class=\"o\">*<\/span> <span class=\"s1\">&#39; &#39;<\/span><\/div><div class=\"line\" id=\"LC111\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">end<\/span><\/div><div class=\"line\" id=\"LC112\">&nbsp;&nbsp;<span class=\"k\">end<\/span><\/div><div class=\"line\" id=\"LC113\"><span class=\"k\">end<\/span><\/div><div class=\"line\" id=\"LC114\">&nbsp;<\/div><\/pre><\/div>\n          \n        <\/div>\n\n        <div class=\"gist-meta\">\n          <a href=\"http://gist.github.com/raw/30716/fac0156c9dbc7fbfeecaec683177209b8d8b3498/photos.rake\" style=\"float:right;\">view raw<\/a>\n          <a href=\"http://gist.github.com/30716#file_photos.rake\" style=\"float:right;margin-right:10px;color:#666\">photos.rake<\/a>\n          <a href=\"http://gist.github.com/30716\">This Gist<\/a> brought to you by <a href=\"http://github.com\">GitHub<\/a>.\n        <\/div>\n      <\/div>\n    \n  \n<\/div>\n')
