<?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>blog.sketchit.de &#187; Ruby on Rails</title>
	<atom:link href="http://blog.sketchit.de/tag/ruby-on-rails/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.sketchit.de</link>
	<description>Glaubt mir ich hab den Weihnachtsmann mit eigenen Augen gesehen...</description>
	<lastBuildDate>Wed, 30 Jun 2010 06:28:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Flex mit Ruby on Rails + authlogic authenitifizieren</title>
		<link>http://blog.sketchit.de/2009/12/flex-mit-ruby-on-rails-authlogic-authenitifizieren/</link>
		<comments>http://blog.sketchit.de/2009/12/flex-mit-ruby-on-rails-authlogic-authenitifizieren/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 14:10:04 +0000</pubDate>
		<dc:creator>Hubert Hölzl</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[ActionScript 3]]></category>
		<category><![CDATA[authlogic]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://blog.sketchit.de/?p=181</guid>
		<description><![CDATA[Bei meinem aktuellen Rails Projekt loggen sich die Benutzer per authlogic auf der Seite ein, alles über Rails. Da jedoch ein Teil der Seite mit einer Flex App realisiert wird, musste ich das Zusammenspiel zwischen Rails und Flex ein wenig erforschen. Mein erster Blick fiel auf WebORB mit dem passenden Flex Plugin indem man sehr [...]]]></description>
			<content:encoded><![CDATA[<p>Bei meinem aktuellen Rails Projekt loggen sich die Benutzer per authlogic auf der Seite ein, alles über Rails. Da jedoch ein Teil der Seite mit einer Flex App realisiert wird, musste ich das Zusammenspiel zwischen Rails und Flex ein wenig erforschen.</p>
<p>Mein erster Blick fiel auf WebORB mit dem passenden Flex Plugin indem man sehr einfach die einzelnen Modells und somit die Datenbank ansprechen kann. (<a href="http://sujitreddyg.wordpress.com/2009/10/13/ruby-on-rails-extension-for-flash-builder-4/" target="_self">http://sujitreddyg.wordpress.com/2009/10/13/ruby-on-rails-extension-for-flash-builder-4/</a>)</p>
<p>Hier habe ich zwar Zugriff auf das UserSession-Modell von authlogic, jedoch nicht auf die aktuelle Session und somit die eingeloggten User. Die Cookies und Sessions werden erst im UserSessionsController festgelegt.</p>
<p>Um nun in der Flex Anwendung zu wissen "Ist der User eingeloggt" und wenn ja "Welcher User bist du denn?" erweitert man den UserSessions Controller um folgende Methode:</p>
<pre name="code" class="ruby">
def checkLogin
if logged_in?
xml = "
&lt;usersessions&gt;
&lt;login&gt;true&lt;/login&gt;
&lt;currentid&gt;#{current_user_session.user.id}&lt;/currentid&gt;
&lt;/usersessions&gt;"
else
xml = "
&lt;usersessions&gt;
&lt;login&gt;false&lt;/login&gt;
&lt;currentid&gt;false&lt;/currentid&gt;
&lt;/usersessions&gt;"
end
respond_to do |format|
format.xml { render : xml => xml }
end
end
</pre>
<p>Hiermit stellen wir eine Methode bereit die uns ein XML File rendert das sagt, bin ich eingeloggt, oder nicht (über das Format der XML ließe sich streiten).</p>
<p>In der Flex App kreiert man nun einen HTTP-Service, der auf die URL der Methode verweist, und bei erfolgreichem Result das ganze als XML ausgibt.</p>
<pre name="code" class="actionscript">
&lt;fx:Script&gt;
&lt;![CDATA[
import mx.rpc.events.ResultEvent;
public function switchStates(event:ResultEvent):void {
var xml:XML = event.result as XML;
var loggedInP:Boolean = xml.login as Boolean;
var currentID:int = xml.currentid;
trace(currentID);
}
]]&gt;
&lt;/fx:Script&gt;

&lt;fx:Declarations&gt;
&lt;s:HTTPService resultFormat="e4x" id="login" url="http://localhost:3000/user_sessions/checkLogin" result="switchStates(event)" fault="trace('fault');"/&gt;
&lt;/fx:Declarations&gt;
</pre>
<p>Natürlich muss im Application tag noch</p>
<pre name="code" class="actionscript">
creationComplete="login.send()
</pre>
<p>gesetzt werden. Und schon hat man zwei Variablen, die den User authentifizieren.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sketchit.de/2009/12/flex-mit-ruby-on-rails-authlogic-authenitifizieren/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Gravata für Ruby on Rails</title>
		<link>http://blog.sketchit.de/2009/11/gravata-fur-ruby-on-rails/</link>
		<comments>http://blog.sketchit.de/2009/11/gravata-fur-ruby-on-rails/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 15:32:23 +0000</pubDate>
		<dc:creator>Hubert Hölzl</dc:creator>
				<category><![CDATA[Multimedia Technology]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Gravatar]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://blog.sketchit.de/?p=134</guid>
		<description><![CDATA[Hier gefunden: http://overhrd.com/?p=28 Um Gravatar für Ruby on Rails zu verwenden, ist lediglich eine kleine Methode im Application Helper nötig und deren Aufruf in der View. application_helper.rb require 'digest/md5' def gravatar_url_for(email, options = {}) url_for({ :gravatar_id =&#62; Digest::MD5.hexdigest(email), :host =&#62; 'www.gravatar.com', :protocol =&#62; 'http://', nly_path =&#62; false, :controller =&#62; 'avatar.php'}.merge(options)) end View (z. B. index.html.erb) [...]]]></description>
			<content:encoded><![CDATA[<p>Hier gefunden: <a href="http://overhrd.com/?p=28" target="_blank">http://overhrd.com/?p=28</a></p>
<p>Um Gravatar für Ruby on Rails zu verwenden, ist lediglich eine kleine Methode im Application Helper nötig und deren Aufruf in der View.</p>
<p>application_helper.rb</p>
<pre name="code" class="ruby">require 'digest/md5'

  def gravatar_url_for(email, options = {})
    url_for({ :gravatar_id =&gt; Digest::MD5.hexdigest(email),
      :host =&gt; 'www.gravatar.com',
      :protocol =&gt; 'http://',
      <img src='http://blog.sketchit.de/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> nly_path =&gt; false,
      :controller =&gt; 'avatar.php'}.merge(options))
  end</pre>
<p>View (z. B. index.html.erb)</p>
<pre name="code" class="ruby"># plain old gravatar url

&lt;%= gravatar_url_for 'info@sketchit.de' %&gt;

# gravatar url with a rating threshold

&lt;%= gravatar_url_for 'info@sketchit.de', { :rating =&gt; 'R' } %&gt;

# show the avatar

&lt;%= image_tag(gravatar_url_for 'info@sketchit.de') %&gt;

# show the avatar with size specified, in case it's served slowly

&lt;%= image_tag(gravatar_url_for('info@sketchit.de'), { :width =&gt; 80, :height =&gt; 80 }) %&gt;

# link the avatar to some/url

&lt;%= link_to(image_tag(gravatar_url_for 'info@sketchit.de'), 'some/url')%&gt;</pre>
<p>Die oben definierte Methode nimmt die übergebene E-Mail Adresse, wandelt es in einen MD5 Hash um, baut daraus die URL von Gravatar zusammen (http://www.gravatar.com/avatar.php?gravatar_id=HASH_WERT) und liefert den Avatar zurück.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sketchit.de/2009/11/gravata-fur-ruby-on-rails/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
