<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Anders Hassis &#187; Ruby</title>
	<atom:link href="http://hassis.com/tag/ruby/feed/" rel="self" type="application/rss+xml" />
	<link>http://hassis.com</link>
	<description>Did mmorpgs overwrite your common sense?</description>
	<lastBuildDate>Sat, 21 Jan 2012 01:19:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Virtuell utvecklingsmiljö med VirtualBox</title>
		<link>/2010/11/27/virtuell-utvecklingsmiljo-med-virtualbox-och-ubuntu/</link>
		<comments>/2010/11/27/virtuell-utvecklingsmiljo-med-virtualbox-och-ubuntu/#comments</comments>
		<pubDate>Sat, 27 Nov 2010 16:53:55 +0000</pubDate>
		<dc:creator>Anders</dc:creator>
				<category><![CDATA[Programmering]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[VirtualBox]]></category>

		<guid isPermaLink="false">http://hassis.com/?p=416</guid>
		<description><![CDATA[Ett av problemen jag haft under längre tid har varit att jag trivs alldeles för bra att utveckla med min MacBook. Detta för att det är så mycket enklare att manövrera i operativsystemet mha terminalen, samt att det är så smidigt att använda Git, Ruby, Sass etc. you name it. Jag försökte för någon månad [...]]]></description>
			<content:encoded><![CDATA[<p>Ett av problemen jag haft under längre tid har varit att jag trivs alldeles för bra att utveckla med min MacBook. Detta för att det är så mycket enklare att manövrera i operativsystemet mha terminalen, samt att det är så smidigt att använda Git, Ruby, Sass etc. you name it.</p>
<p>Jag försökte för någon månad sedan att åstadkomma en liknande miljö med VirtualBox och Ubuntu, det gick åt pipan. Igår kväll så började jag nysta i det igen och fick faktiskt fart på det hela!</p>
<h2>Mitt mål</h2>
<ul>
<li>Sätta upp VirtualBox</li>
<li>Installera Ubuntu</li>
<li>Använda Ubuntu som utvecklingsserver och dela kataloger mha Samba</li>
<li>Kunna SSH:a till denna genom att denna får ett internt ip samt att den ska ha internetåtkomst</li>
<li>Sätta upp Git tillsammans med mitt Github-konto</li>
<li>Installera RVM och Rails, Padrino etc.</li>
</ul>
<h3>Sätta upp VirtualBox och installera Ubuntu</h3>
<p>Ladda ner <a href="http://www.virtualbox.org/">VirtualBox</a> och installera <a href="http://www.ubuntu.com/">Ubuntu</a> (jag valde desktop edition). Jag har en trådad uppkoppling så jag sätter min trådade anslutning som delad och noterar vilket IP denna får (192.168.56.1).  Det bör även finnas en &#8221;VirtualBox Host-Only Network&#8221;-adapter i dina nätverksanslutningar, det är denna som ska ha fått ett IP som ex. 192.168.56.1.</p>
<p>Gå in i inställningarna för VirtualBox och Ubuntu och sätt upp två anslutningar, en för NAT och en för &#8221;Endast värd-kort&#8221; (host-only-adapter). Ändra i din fil /etc/network/interfaces till detta:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">auto lo
iface lo inet loopback
&nbsp;
auto eth0
iface eth0 inet dhcp
&nbsp;
auto eth1
iface eth1 inet dhcp</pre></div></div>

<p>Kör ifconfig -a och kontrollera så att du har två olika IP:n på din eth0 (min är 10.0.2.15) och eth1 (min är 192.168.56.101).</p>
<p>Har du fått till detta så kan du förhoppningsvis SSH:a till maskinen (förutsatt att du installerat en ssh-daemon)!</p>
<h3>Sätta upp delning av kataloger</h3>
<p>(Källa: <a href="http://ubuntuforums.org/showthread.php?t=280473">Ubuntu Forums &#8211; HOWTO: Mounting SMB Shares</a>)<br />
Härligt, du har en fungerande Ubuntu som du nu kan starta upp och gömma i bakgrunden och sköta genom ex Putty. Eftersom jag fortfarande kommer sköta själva programmeringen i Windows-miljön så kommer jag vilja ha en katalog som är delad mellan Ubuntu och Windows. Jag skapade en katalog på Windows-datorn som jag kallade för VirtualUbuntu som jag satte som delad, sedan skapade jag en katalog på Ubuntu som jag planerar att montera denna nätverkskatalog i.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">mount</span> <span style="color: #660033;">-t</span> cifs <span style="color: #000000; font-weight: bold;">//</span>192.168.56.1<span style="color: #000000; font-weight: bold;">/</span>VirtualUbuntu <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>mittusername<span style="color: #000000; font-weight: bold;">/</span>VirtualWin <span style="color: #660033;">-o</span> <span style="color: #007800;">iocharset</span>=utf8,<span style="color: #007800;">username</span>=mittanvandarnamn,<span style="color: #007800;">password</span>=mittlosenord,<span style="color: #007800;">file_mode</span>=0777,<span style="color: #007800;">dir_mode</span>=0777</pre></div></div>

<p>Detta monterar katalogen, nu vill jag att den ska monteras varje gång jag startar upp min virtuella Ubuntu. Så gå in i /etc/fstab och ange något liknande i slutet:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">//</span>192.168.56.1<span style="color: #000000; font-weight: bold;">/</span>VirtualUbuntu <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>mittusername<span style="color: #000000; font-weight: bold;">/</span>VirtualWin   smbfs  auto,<span style="color: #007800;">credentials</span>=<span style="color: #000000; font-weight: bold;">/</span>root<span style="color: #000000; font-weight: bold;">/</span>.credentials,<span style="color: #007800;">uid</span>=<span style="color: #000000;">1000</span>,<span style="color: #007800;">umask</span>=000,user   <span style="color: #000000;">0</span> <span style="color: #000000;">0</span></pre></div></div>

<p>Jag har även skapat en fil i /root/.credentials för att hålla mina uppgifter med följande innehåll:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">username</span>=your_smb_username
<span style="color: #007800;">password</span>=your_smb_password</pre></div></div>

<p>Sätt sedan rättigheterna på den filen med:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #000000;">600</span> <span style="color: #000000; font-weight: bold;">/</span>root<span style="color: #000000; font-weight: bold;">/</span>.credentials</pre></div></div>

<p>När du sedan startar om Ubuntu kan du enkelt montera med:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">mount</span> <span style="color: #660033;">-a</span></pre></div></div>

<h3>Sätt upp Git + Github</h3>
<p>Installera Git med</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> git-core</pre></div></div>

<p>Följ sedan guiden på <a href="http://help.github.com/linux-git-installation/">Githubs hemsida om Linux-installationen</a>.</p>
<h3>Installera Ruby med RVM</h3>
<p>För att kunna ha möjligheten att köra flera olika Ruby-versioner (väldigt behändigt!) och framförallt hålla dessa separerade så använder jag RVM &#8211; <a href="http://rvm.beginrescueend.com/">http://rvm.beginrescueend.com</a>. Detta kan du installera genom att följa instruktionerna på <a href="http://rvm.beginrescueend.com/rvm/install/">http://rvm.beginrescueend.com/rvm/install/</a>.</p>
<p>Några vettiga kommandon med exempel är:</p>
<ul>
<li><em>rvm install ruby-1.9.2-p0</em> (installera 1.9.2 via RVM)</li>
<li><em>rvm list</em> (listar Ruby-variationer, indikerar även vilken som är aktiv)</li>
<li><em>rvm use ruby-1.9.2-p0</em> (välj den specifika Ruby)</li>
<li><em>rvm package install zlib</em> (mer om detta i nästa stycke)</li>
</ul>
<h3>Installera Rails</h3>
<p>Jag valde att köra Ruby 1.9.2 via RVM och då stötte jag på patrull i form av gnäll på att jag inte hade zlib och openssl, en snabb sökning gav följande resultat:</p>
<ul>
<li><a href="http://rvm.beginrescueend.com/packages/zlib/">http://rvm.beginrescueend.com/packages/zlib/</a></li>
<li><a href="http://rvm.beginrescueend.com/packages/zlib/">http://rvm.beginrescueend.com/packages/openssl/</a></li>
</ul>
<p>Följer du dessa instruktioner så borde det gå bra att få in Rails.</p>
<h3>Summan av kardemumman</h3>
<p>Detta är skrivet som en liten &#8221;kom ihåg&#8221;-post till mig själv inför nästa gång jag ska genomföra detta, förhoppningsvis har någon annan nytta av det också! Lycka till!</p>
]]></content:encoded>
			<wfw:commentRss>/2010/11/27/virtuell-utvecklingsmiljo-med-virtualbox-och-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Riding the Rails: Amazon S3 &amp; Flowplayer</title>
		<link>/2010/08/01/riding-the-rails-amazon-s3-flowplayer/</link>
		<comments>/2010/08/01/riding-the-rails-amazon-s3-flowplayer/#comments</comments>
		<pubDate>Sun, 01 Aug 2010 07:00:52 +0000</pubDate>
		<dc:creator>Anders</dc:creator>
				<category><![CDATA[Programmering]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://hassis.com/?p=329</guid>
		<description><![CDATA[Vi har börjat använda Amazon S3 för att lagra filmer som vi sedan ska spela upp (med hjälp av Flowplayer) i en inloggningsskyddad applikation. För att sätta upp kopplingen mot S3 så använder vi oss av Paperclip och AWS::S3. Att få igång uppladdningen mot S3 tillsammans med Paperclip var absolut inga problem, det fungerade i [...]]]></description>
			<content:encoded><![CDATA[<p>Vi har börjat använda <a href="http://aws.amazon.com/s3/">Amazon S3</a> för att lagra filmer som vi sedan ska spela upp (med hjälp av <a href="http://flowplayer.org/">Flowplayer</a>) i en inloggningsskyddad applikation. </p>
<p>För att sätta upp kopplingen mot S3 så använder vi oss av <a href="http://github.com/thoughtbot/paperclip">Paperclip</a> och <a href="http://amazon.rubyforge.org/">AWS::S3</a>. Att få igång uppladdningen mot S3 tillsammans med Paperclip var absolut inga problem, det fungerade i princip så fort vi hade lagt in något liknande detta i vår modell:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">has_attached_file <span style="color:#ff3333; font-weight:bold;">:media_file</span>,
    <span style="color:#ff3333; font-weight:bold;">:storage</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#ff3333; font-weight:bold;">:s3</span>,
    <span style="color:#ff3333; font-weight:bold;">:s3_credentials</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> Rails.<span style="color:#9900CC;">root</span>.<span style="color:#9900CC;">join</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">'config'</span>, <span style="color:#996600;">'s3.yml'</span><span style="color:#006600; font-weight:bold;">&#41;</span>,
    <span style="color:#ff3333; font-weight:bold;">:path</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;:attachment/:id/:style/:basename.:extension&quot;</span>,
    <span style="color:#ff3333; font-weight:bold;">:bucket</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'our_bucket'</span>,
    <span style="color:#ff3333; font-weight:bold;">:s3_permissions</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'authenticated-read'</span>,
    <span style="color:#ff3333; font-weight:bold;">:url</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;:s3_protected_url&quot;</span>
&nbsp;
  <span style="color:#008000; font-style:italic;"># Video Validations</span>
  validates_attachment_presence <span style="color:#ff3333; font-weight:bold;">:media_file</span>
  validates_attachment_content_type <span style="color:#ff3333; font-weight:bold;">:media_file</span>, <span style="color:#ff3333; font-weight:bold;">:content_type</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">'application/x-shockwave-flash'</span>, <span style="color:#996600;">'application/x-shockwave-flash'</span>, <span style="color:#996600;">'application/flv'</span>, <span style="color:#996600;">'video/x-flv'</span>, <span style="color:#996600;">'video/H264'</span><span style="color:#006600; font-weight:bold;">&#93;</span></pre></div></div>

<p>(Det är <em>authenticated-read</em> som sätter rättigheterna på anslutningen och gör att vi kan använda oss av Paperclips <a href="http://yardoc.org/docs/JasonKing-paperclip/Paperclip/Storage/S3">expiring_url</a>-metod.)</p>
<p>Problemet uppstod när vi skulle använda Flowplayer för att streama direkt ifrån S3, vi vill bara ha verifierade användare som ser våra filmer. Det blev strul med tecknen i de meckiga länkarna som S3 genererar och Flowplayer kunde inte läsa de rakt av.</p>
<p>Vi använde oss då av en &#8221;<a href="http://flowplayer.org/demos/installation/alternate/index.html">Alternate embedding method</a>&#8221; aka. flashembed.js. Så här beskrivs <a href="http://flowplayer.org/tools/demos/toolbox/flashembed/flowplayer.html"> &#8221;Flashembed and Flowplayer&#8221;</a>: </p>
<blockquote><p>Flowplayer is a regular Flash component just like any other Flash component. It can be placed on your page with this tool or by using HTML-based object tags or you can use our &#8221;competitor&#8221;, SWFObject.</p></blockquote>
<p>Sedan när vi skickade den &#8221;säkra&#8221; länken från <strong>controllern</strong> till viewn så fick vi manuellt ersätta lite tecken:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#0066ff; font-weight:bold;">@media</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#ff3333; font-weight:bold;">:flash_url</span><span style="color:#006600; font-weight:bold;">&#93;</span> = <span style="color:#0066ff; font-weight:bold;">@media</span>.<span style="color:#9900CC;">media_file</span>.<span style="color:#9900CC;">expiring_url</span>.<span style="color:#CC0066; font-weight:bold;">gsub</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;&amp;&quot;</span>, <span style="color:#996600;">&quot;%26&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#CC0066; font-weight:bold;">gsub</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;?&quot;</span>, <span style="color:#996600;">&quot;%3F&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#CC0066; font-weight:bold;">gsub</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;=&quot;</span>, <span style="color:#996600;">&quot;%3D&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span></pre></div></div>

<p>För att embedda den i viewn så får du även se till att säga åt Rails att det är en säker länk (med hjälp av html_safe):</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;a id=&quot;player&quot; style=&quot;width:400px;height:280px;&quot;&gt;&lt;/a&gt;
&lt;script language=&quot;JavaScript&quot;&gt;
flashembed(&quot;player&quot;, &quot;http://releases.flowplayer.org/swf/flowplayer-3.2.2.swf&quot;, {
    config: {
        clip: { url: '&lt;%= @media.flash_url.html_safe %&gt;', autoPlay: false },
        plugins: { controlbar:null },
        autoPlay: false
    }
});
&lt;/script&gt;</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>/2010/08/01/riding-the-rails-amazon-s3-flowplayer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Riding the Rails: Aktiva menyobjekt</title>
		<link>/2010/07/31/riding-the-rails-aktiva-menyobjekt/</link>
		<comments>/2010/07/31/riding-the-rails-aktiva-menyobjekt/#comments</comments>
		<pubDate>Sat, 31 Jul 2010 11:17:49 +0000</pubDate>
		<dc:creator>Anders</dc:creator>
				<category><![CDATA[Programmering]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://hassis.com/?p=325</guid>
		<description><![CDATA[Fredrik W visade mig en riktigt stilig sak häromdagen på ett Rails-projekt vi håller på med. Att göra layouter och framför allt visa vilket menyobjekt som är &#8221;aktivt&#8221;, dvs vilken sida du är på just nu. Lägg in denna helpern, i exempelvis application_helper.rb: def menu_item&#40;text, link, options = &#123;:use_span =&#62; false, :only_controller =&#62; false&#125;&#41; active [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://bitsamppixels.com/">Fredrik W</a> visade mig en riktigt stilig sak häromdagen på ett Rails-projekt vi håller på med. Att göra layouter och framför allt visa vilket menyobjekt som är &#8221;aktivt&#8221;, dvs vilken sida du är på just nu. </p>
<p>Lägg in denna helpern, i exempelvis application_helper.rb:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">def</span> menu_item<span style="color:#006600; font-weight:bold;">&#40;</span>text, link, options = <span style="color:#006600; font-weight:bold;">&#123;</span>:use_span <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#0000FF; font-weight:bold;">false</span>, <span style="color:#ff3333; font-weight:bold;">:only_controller</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#0000FF; font-weight:bold;">false</span><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
   active = Rails.<span style="color:#9900CC;">application</span>.<span style="color:#9900CC;">routes</span>.<span style="color:#9900CC;">recognize_path</span> link
   text = content_tag<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;span&quot;</span>, text<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#9966CC; font-weight:bold;">if</span> options<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#ff3333; font-weight:bold;">:use_span</span><span style="color:#006600; font-weight:bold;">&#93;</span>
&nbsp;
   link_is_currently_active = options<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#ff3333; font-weight:bold;">:only_controller</span><span style="color:#006600; font-weight:bold;">&#93;</span> ? params<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#ff3333; font-weight:bold;">:controller</span><span style="color:#006600; font-weight:bold;">&#93;</span> == active<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#ff3333; font-weight:bold;">:controller</span><span style="color:#006600; font-weight:bold;">&#93;</span> : params<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#ff3333; font-weight:bold;">:controller</span><span style="color:#006600; font-weight:bold;">&#93;</span> == active<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#ff3333; font-weight:bold;">:controller</span><span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#006600; font-weight:bold;">&amp;&amp;</span> params<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#ff3333; font-weight:bold;">:action</span><span style="color:#006600; font-weight:bold;">&#93;</span> == active<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#ff3333; font-weight:bold;">:action</span><span style="color:#006600; font-weight:bold;">&#93;</span>
&nbsp;
   klass = link_is_currently_active ? <span style="color:#996600;">&quot;active&quot;</span> : <span style="color:#996600;">&quot;&quot;</span>
   <span style="color:#0000FF; font-weight:bold;">return</span> content_tag<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;li&quot;</span>, link_to<span style="color:#006600; font-weight:bold;">&#40;</span>text, link<span style="color:#006600; font-weight:bold;">&#41;</span>, :<span style="color:#9966CC; font-weight:bold;">class</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> klass<span style="color:#006600; font-weight:bold;">&#41;</span>
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
<span style="color:#9966CC; font-weight:bold;">def</span> menu<span style="color:#006600; font-weight:bold;">&#40;</span>options = <span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#006600; font-weight:bold;">&#125;</span>, <span style="color:#006600; font-weight:bold;">&amp;</span>block<span style="color:#006600; font-weight:bold;">&#41;</span>
  <span style="color:#0000FF; font-weight:bold;">return</span> content_tag<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;ul&quot;</span>, options, <span style="color:#006600; font-weight:bold;">&amp;</span>block<span style="color:#006600; font-weight:bold;">&#41;</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></div></div>

<p>Vi läser alltså av existerande routen och jämför den med menyobjektets. Så nu istället för att länk runt dig i applikationen med <em>link_to</em> så kan du nu använda blocket <em>menu</em>:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#006600; font-weight:bold;">&lt;%</span> menu <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
  <span style="color:#006600; font-weight:bold;">&lt;%</span>= menu_item <span style="color:#996600;">&quot;Link 1&quot;</span>, project_path<span style="color:#006600; font-weight:bold;">&#40;</span>@project<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
  <span style="color:#006600; font-weight:bold;">&lt;%</span>= menu_item <span style="color:#996600;">&quot;Link 2&quot;</span>, project_medias_path<span style="color:#006600; font-weight:bold;">&#40;</span>@project<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
<span style="color:#006600; font-weight:bold;">&lt;%</span> <span style="color:#9966CC; font-weight:bold;">end</span> <span style="color:#006600; font-weight:bold;">%&gt;</span></pre></div></div>

<p>Vips, så har vi nu fått en lista med det aktiva objektets klass som &#8221;<em>active</em>&#8221;. </p>
<p>Nu är det klart att detta är en väldigt begränsad lösning och kanske inte lämpar sig i större projekt med stora menystrukturer, men för enklare projekt fungerar detta alldeles utmärkt.</p>
]]></content:encoded>
			<wfw:commentRss>/2010/07/31/riding-the-rails-aktiva-menyobjekt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Använda Spotify MetaData API i Ruby</title>
		<link>/2009/11/08/anvanda-spotify-metadata-api-i-ruby/</link>
		<comments>/2009/11/08/anvanda-spotify-metadata-api-i-ruby/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 19:25:10 +0000</pubDate>
		<dc:creator>Anders</dc:creator>
				<category><![CDATA[Programmering]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://hassis.com/?p=12</guid>
		<description><![CDATA[Spotify har släppt ett API för att kunna hämta information om låtar via deras Spotify-url:er. Nedan är ett exempel i Ruby på hur du kan hämta artist och låt. Anropas med ex. spotify:track:4KPU7XGqxo4UlMp3is7NBI def getTitleFromSpotifyTrack&#40;trackID&#41; require 'net/http' require 'rexml/document' require 'rexml/xpath' &#160; res = Net::HTTP.get_response&#40;URI.parse&#40;&#34;http://ws.spotify.com/lookup/1/?uri=#{trackID}&#34;&#41;&#41; contents = res.body &#160; doc = REXML::Document.new contents &#160; track [...]]]></description>
			<content:encoded><![CDATA[<p>Spotify har <a href="http://developer.spotify.com/en/metadata-api/overview/">släppt ett API</a> för att kunna hämta information om låtar via deras Spotify-url:er. Nedan är ett exempel i Ruby på hur du kan hämta artist och låt. Anropas med ex. spotify:track:4KPU7XGqxo4UlMp3is7NBI</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">def</span> getTitleFromSpotifyTrack<span style="color:#006600; font-weight:bold;">&#40;</span>trackID<span style="color:#006600; font-weight:bold;">&#41;</span>
    <span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'net/http'</span>
    <span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'rexml/document'</span>
    <span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'rexml/xpath'</span>
&nbsp;
    res = <span style="color:#6666ff; font-weight:bold;">Net::HTTP</span>.<span style="color:#9900CC;">get_response</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#CC00FF; font-weight:bold;">URI</span>.<span style="color:#9900CC;">parse</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;http://ws.spotify.com/lookup/1/?uri=#{trackID}&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
    contents = res.<span style="color:#9900CC;">body</span>
&nbsp;
    doc = <span style="color:#6666ff; font-weight:bold;">REXML::Document</span>.<span style="color:#9900CC;">new</span> contents
&nbsp;
    track = <span style="color:#6666ff; font-weight:bold;">REXML::XPath</span>.<span style="color:#9900CC;">first</span><span style="color:#006600; font-weight:bold;">&#40;</span>doc,<span style="color:#996600;">'/track/name/text()'</span><span style="color:#006600; font-weight:bold;">&#41;</span>
    artist = <span style="color:#6666ff; font-weight:bold;">REXML::XPath</span>.<span style="color:#9900CC;">first</span><span style="color:#006600; font-weight:bold;">&#40;</span>doc,<span style="color:#996600;">'/track/artist/name/text()'</span><span style="color:#006600; font-weight:bold;">&#41;</span>
&nbsp;
    <span style="color:#0000FF; font-weight:bold;">return</span> <span style="color:#996600;">&quot;#{artist} - #{track}&quot;</span>
  <span style="color:#9966CC; font-weight:bold;">end</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>/2009/11/08/anvanda-spotify-metadata-api-i-ruby/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using memcached
Object Caching 557/598 objects using memcached

Served from: hassis.com @ 2012-02-04 03:47:38 -->
