<?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>All Aboard Rails &#187; editor</title>
	<atom:link href="http://rails.webintellix.com/tag/editor/feed/" rel="self" type="application/rss+xml" />
	<link>http://rails.webintellix.com</link>
	<description>Ruby on Rails fun on Windows</description>
	<lastBuildDate>Tue, 29 Jun 2010 04:14:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How to: Edit Rails app online with HerokuGarden</title>
		<link>http://rails.webintellix.com/2009/07/26/how-to-edit-rails-app-online-with-herokugarden/</link>
		<comments>http://rails.webintellix.com/2009/07/26/how-to-edit-rails-app-online-with-herokugarden/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 06:00:00 +0000</pubDate>
		<dc:creator>Rupak Ganguly</dc:creator>
				<category><![CDATA[Rails]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[heroku]]></category>
		<category><![CDATA[herokugarden]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[online editor]]></category>

		<guid isPermaLink="false">http://rails.webintellix.com/index.php/2009/07/how-to-edit-rails-app-online-with-herokugarden/</guid>
		<description><![CDATA[In a previous post, I talked about How to: Deploy application from Git repo to Heroku. Now, let&#8217;s be a little more adventurous and see if we can make changes to code using an online code editor at HerokuGarden. That gives us immense freedom to make changes to our application from anywhere you are as [...]]]></description>
			<content:encoded><![CDATA[<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Frails.webintellix.com%2F2009%2F07%2F26%2Fhow-to-edit-rails-app-online-with-herokugarden%2F&amp;title=How+to%3A+Edit+Rails+app+online+with+HerokuGarden" ><img class="lightsocial_img" src="http://rails.webintellix.com/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Frails.webintellix.com%2F2009%2F07%2F26%2Fhow-to-edit-rails-app-online-with-herokugarden%2F&amp;title=How+to%3A+Edit+Rails+app+online+with+HerokuGarden" ><img class="lightsocial_img" src="http://rails.webintellix.com/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Frails.webintellix.com%2F2009%2F07%2F26%2Fhow-to-edit-rails-app-online-with-herokugarden%2F&amp;title=How+to%3A+Edit+Rails+app+online+with+HerokuGarden" ><img class="lightsocial_img" src="http://rails.webintellix.com/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Frails.webintellix.com%2F2009%2F07%2F26%2Fhow-to-edit-rails-app-online-with-herokugarden%2F&amp;headline=How+to%3A+Edit+Rails+app+online+with+HerokuGarden" ><img class="lightsocial_img" src="http://rails.webintellix.com/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=How+to%3A+Edit+Rails+app+online+with+HerokuGarden&amp;url=http%3A%2F%2Frails.webintellix.com%2F2009%2F07%2F26%2Fhow-to-edit-rails-app-online-with-herokugarden%2F" ><img class="lightsocial_img" src="http://rails.webintellix.com/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=How+to%3A+Edit+Rails+app+online+with+HerokuGarden&amp;u=http%3A%2F%2Frails.webintellix.com%2F2009%2F07%2F26%2Fhow-to-edit-rails-app-online-with-herokugarden%2F" ><img class="lightsocial_img" src="http://rails.webintellix.com/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=How+to%3A+Edit+Rails+app+online+with+HerokuGarden&amp;url=http%3A%2F%2Frails.webintellix.com%2F2009%2F07%2F26%2Fhow-to-edit-rails-app-online-with-herokugarden%2F" ><img class="lightsocial_img" src="http://rails.webintellix.com/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=How+to%3A+Edit+Rails+app+online+with+HerokuGarden&amp;url=http%3A%2F%2Frails.webintellix.com%2F2009%2F07%2F26%2Fhow-to-edit-rails-app-online-with-herokugarden%2F" ><img class="lightsocial_img" src="http://rails.webintellix.com/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=How+to%3A+Edit+Rails+app+online+with+HerokuGarden&amp;url=http%3A%2F%2Frails.webintellix.com%2F2009%2F07%2F26%2Fhow-to-edit-rails-app-online-with-herokugarden%2F" ><img class="lightsocial_img" src="http://rails.webintellix.com/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Frails.webintellix.com%2F2009%2F07%2F26%2Fhow-to-edit-rails-app-online-with-herokugarden%2F&amp;title=How+to%3A+Edit+Rails+app+online+with+HerokuGarden&amp;summary=&amp;source=" ><img class="lightsocial_img" src="http://rails.webintellix.com/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Frails.webintellix.com%2F2009%2F07%2F26%2Fhow-to-edit-rails-app-online-with-herokugarden%2F" ><img class="lightsocial_img" src="http://rails.webintellix.com/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Frails.webintellix.com%2F2009%2F07%2F26%2Fhow-to-edit-rails-app-online-with-herokugarden%2F" ><img class="lightsocial_img" src="http://rails.webintellix.com/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Frails.webintellix.com%2F2009%2F07%2F26%2Fhow-to-edit-rails-app-online-with-herokugarden%2F" ><img class="lightsocial_img" src="http://rails.webintellix.com/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div><p>In a previous post, I talked about <a href="http://rails.webintellix.com/index.php/2009/07/how-to-deploy-application-from-git-repo-to-heroku/">How to: Deploy application from Git repo to Heroku</a>. Now, let&#8217;s be a little more adventurous and see if we can make changes to code using an online code editor at <a href="http://www.herokugarden.com" target="_blank">HerokuGarden</a>. That gives us immense freedom to make changes to our application from anywhere you are as long as you have an internet connection and a browser. Let’s see step-by-step how that can be done.</p>
<p><span id="more-109"></span></p>
<h5>Install HerokuGarden</h5>
<p>1. First, let&#8217;s install HerokuGarden gem on our local machine</p>
<p>By issuing the following command, we will install the herokugarden gem.</p>
<pre class="csharpcode">Rupak@RG4WIX /c/MyStuff/SvnCode/GitRepo/qparty
$ gem install herokugarden

---&gt; Installing herokugarden v0.4.2
---&gt; Migrate local checkouts <span class="kwrd">using</span> the git:transition command:

     cd myapp/
     herokugarden git:transition

Successfully installed herokugarden-0.4.2
1 gem installed
Installing ri documentation <span class="kwrd">for</span> herokugarden-0.4.2...
Installing RDoc documentation <span class="kwrd">for</span> herokugarden-0.4.2...</pre>
<p><!-- .csharpcode, .csharpcode pre { 	font-size: small; 	color: black; 	font-family: consolas, "Courier New", courier, monospace; 	background-color: #ffffff; 	/*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt  { 	background-color: #f4f4f4; 	width: 100%; 	margin: 0em; } .csharpcode .lnum { color: #606060; } --></p>
<p>Note that if you had a cloned your Heroku repo to your local machine, you could issue the command as below to move that code to HerokuGarden. So, in our case we get an error as our local machine is not cloned from Heroku repo but cloned from <a href="http://www.unfuddle.com" target="_blank">Unfuddle</a>/<a href="http://www.github.com" target="_blank">GitHub</a> repo.</p>
<pre class="csharpcode">
Rupak@RG4WIX /c/MyStuff/SvnCode/GitRepo/qparty
$ herokugarden git:transition

The current directory does not contain a known Heroku app.</pre>
<p><!-- .csharpcode, .csharpcode pre { 	font-size: small; 	color: black; 	font-family: consolas, "Courier New", courier, monospace; 	background-color: #ffffff; 	/*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt  { 	background-color: #f4f4f4; 	width: 100%; 	margin: 0em; } .csharpcode .lnum { color: #606060; } --></p>
<p>I personally like my master copy of the application code to be in my choice of git repo provider and not Heroku. The Heroku repo is only used as a temporary repo for deployment purposes.</p>
<p>2. So, let&#8217;s see what herokugarden gem has to offer. The following command lists all the available commands along with their usages.</p>
<pre class="csharpcode">Rupak@RG4WIX /c/MyStuff/SvnCode/GitRepo/qparty
$ herokugarden
=== Heroku Garden Commands
  list - list your apps
  create [&lt;name&gt;] - create a <span class="kwrd">new</span> app
  info &lt;app&gt; - show app info, like web url and git repo
  update &lt;app&gt; - update the app
    --name &lt;newname&gt;
    --<span class="kwrd">public</span> (<span class="kwrd">true</span>|<span class="kwrd">false</span>)
    --mode (production|development)
  sharing &lt;app&gt; - manage collaborators
    --add &lt;email&gt;
    --remove &lt;email&gt;
    --access (edit|view)
  rake &lt;app&gt; &lt;command&gt; - remotely execute a rake command
  destroy &lt;app&gt; - destroy the app permanently
  keys - manage your user's ssh <span class="kwrd">public</span> keys <span class="kwrd">for</span> git access
    --add [&lt;path to keyfile&gt;]
    --remove &lt;keyname or all&gt;

Example story:
  herokugarden create myapp
  git clone git@herokugarden.com:myapp.git
  cd myapp
  (...make edits...)
  git add .
  git commit -m <span class="str">"changes"</span>
  git push
  herokugarden update myapp --<span class="kwrd">public</span> <span class="kwrd">true</span> --mode production</pre>
<p><!-- .csharpcode, .csharpcode pre { 	font-size: small; 	color: black; 	font-family: consolas, "Courier New", courier, monospace; 	background-color: #ffffff; 	/*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt  { 	background-color: #f4f4f4; 	width: 100%; 	margin: 0em; } .csharpcode .lnum { color: #606060; } --></p>
<h5>Create a new application</h5>
<p>3. Now, let&#8217;s create a new application at <a href="http://www.herokugarden.com" target="_blank">HerokuGarden</a>. Well, I know, we already have an application “QParty” with so much code. Don&#8217;t worry, we just need to create an application at <a href="http://www.herokugarden.com" target="_blank">HerokuGarden</a> so that <a href="http://www.herokugarden.com" target="_blank">HerokuGarden</a> creates a repo for us. We will overwrite all the application code that <a href="http://www.herokugarden.com" target="_blank">HerokuGarden</a> generates by default, with our latest code from our <a href="http://www.unfuddle.com" target="_blank">Unfuddle</a>/<a href="http://www.github.com" target="_blank">GitHub</a> master code repo. I will show you how in a moment.</p>
<pre class="csharpcode">Rupak@RG4WIX /c/MyStuff/SvnCode/GitRepo/qparty
$ herokugarden create qparty
Created http:<span class="rem">//qparty.herokugarden.com/ | git@herokugarden.com:qparty.git </span></pre>
<p><!-- .csharpcode, .csharpcode pre { 	font-size: small; 	color: black; 	font-family: consolas, "Courier New", courier, monospace; 	background-color: #ffffff; 	/*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt  { 	background-color: #f4f4f4; 	width: 100%; 	margin: 0em; } .csharpcode .lnum { color: #606060; } --></p>
<p>4. Let&#8217;s see if our app is created at <a href="http://www.herokugarden.com" target="_blank">HerokuGarden</a>.</p>
<pre class="csharpcode">Rupak@RG4WIX /c/MyStuff/SvnCode/GitRepo/qparty
$ herokugarden list
Enter your Heroku credentials.
Email: rupakg@gmail.com
Password:
Uploading ssh <span class="kwrd">public</span> key C:\Users\Rupak/.ssh/id_rsa.pub
qparty</pre>
<p><!-- .csharpcode, .csharpcode pre { 	font-size: small; 	color: black; 	font-family: consolas, "Courier New", courier, monospace; 	background-color: #ffffff; 	/*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt  { 	background-color: #f4f4f4; 	width: 100%; 	margin: 0em; } .csharpcode .lnum { color: #606060; } --></p>
<p>5. Now, recall that to push to a git repo we need to tell git about a remote. We already have two remotes as below:</p>
<p>a) <a href="http://www.unfuddle.com" target="_blank">Unfuddle</a>/<a href="http://www.github.com" target="_blank">GitHub</a> (master code repo)</p>
<p>b) Heroku (deployment repo)</p>
<p>We need to add the repo for <a href="http://www.herokugarden.com" target="_blank">HerokuGarden</a> (online code repo) created automatically in step 3. when we created the app on <a href="http://www.herokugarden.com" target="_blank">HerokuGarden</a>. We will add a remote to this third repo by issuing the following command:</p>
<pre class="csharpcode">Rupak@RG4WIX /c/MyStuff/SvnCode/GitRepo/qparty
$ git remote add herokugarden git@herokugarden.com:qparty.git</pre>
<p><!-- .csharpcode, .csharpcode pre { 	font-size: small; 	color: black; 	font-family: consolas, "Courier New", courier, monospace; 	background-color: #ffffff; 	/*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt  { 	background-color: #f4f4f4; 	width: 100%; 	margin: 0em; } .csharpcode .lnum { color: #606060; } --></p>
<p>6. Now, that we have a remote setup we can easily push our latest code to the online code repo at <a href="http://www.herokugarden.com" target="_blank">HerokuGarden</a>.  The following commands do exactly that:</p>
<pre class="csharpcode">Rupak@RG4WIX /c/MyStuff/SvnCode/GitRepo/qparty
$ git push -f herokugarden master
Counting objects: 620, done.
Compressing objects: 100% (431/431), done.
Writing objects: 100% (620/620), 359.36 KiB | 55 KiB/s, done.
Total 620 (delta 188), reused 544 (delta 151)
refs/heads/master: 34dcb40a5a6b24d05a9cf9f709ce0236643a79e3 -&gt; 64d9cfb515701f4faee62d703b9
0d195e998416e
HEAD <span class="kwrd">is</span> now at 64d9cfb... <span class="kwrd">fixed</span> title yet again
master -&gt; master (forced update)it
Running migrations...
App restarting...
######################################################################## 100.0%

Deployed to <a href="http://qparty.herokugarden.com">http:<span class="rem">//qparty.herokugarden.com</span>
</a></pre>
<p><!-- .csharpcode, .csharpcode pre { 	font-size: small; 	color: black; 	font-family: consolas, "Courier New", courier, monospace; 	background-color: #ffffff; 	/*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt  { 	background-color: #f4f4f4; 	width: 100%; 	margin: 0em; } .csharpcode .lnum { color: #606060; } --></p>
<p>7. Let&#8217;s see if our code has been successfully deployed to <a href="http://www.herokugarden.com" target="_blank">HerokuGarden</a>. Go to <a href="http://qparty.herokugarden.com">http://qparty.herokugarden.com</a> and we see our code online. Yeah.</p>
<p><a href="http://webintellix.com/blog_rails/wp-content/uploads/2009/07/herokugarden.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="herokugarden" src="http://webintellix.com/blog_rails/wp-content/uploads/2009/07/herokugarden-thumb.png" border="0" alt="herokugarden" width="565" height="289" /></a></p>
<p>That&#8217;s it. You have connected to your git rep, deployed code to <a href="http://www.herokugarden.com" target="_blank">HerokuGarden</a> online editor. Now, you have the freedom to code anywhere and instantly deploy you changes. Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://rails.webintellix.com/2009/07/26/how-to-edit-rails-app-online-with-herokugarden/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
