Tag: RoR

  • Capistrano

    Capistrano is an open source tool for running scripts on multiple servers; its main use is deploying web applications. It automates the process of making a new version of an application available on one or more web servers, including supporting tasks such as changing databases.

    Capistrano is written in the Ruby language and is distributed using the RubyGems distribution channel. It is an outgrowth of the Ruby on Rails web application framework, but has also been used to deploy web applications written using other frameworks, including ones written in PHP.

    Capistrano is implemented primarily for use on the Bash command line. Users of the Ruby on Rails framework may choose from many Capistrano recipes, e.g. to deploy current changes to the web application or roll back to the previous deployment state.

    Installation

    Run following command in terminal.

    $ gem install capistrano

  • Phusion Passenger

    Phusion Passenger (informally also known as mod_rails and mod_rack) is a free module for the Apache HTTP Server and nginx for deployment of Ruby applications, including those built using the Ruby on Rails framework. It is available as a Gem package and is supported on Unix-like operating systems. Phusion Passenger also supports arbitrary Ruby web applications that follow the Rack interface.

    Phusion Passenger is the “preferred deployment setup” for Ruby on Rails applications, and has been recommended by the Ruby on Rails authors. In combination with Ruby Enterprise Edition, Phusion Passenger claims that it is capable of reducing Rails’s memory consumption by 33% as well as increasing its performance.

    Installation

    Run following commands in terminal.

    1. Install Passenger
      $ gem install passenger
      1
    2. Install Passenger Module for Apache
      $ passenger-install-apache2-module
      2

      After this step press enter.

      3

      Again press enter and install requirements mentioned by software.

      4

    3. After installing these requirements, again run following command
      $ passenger-install-apache2-module

      The passenger-install-apache2-module script will guide you through what you need to do to get Passenger working.

      5

      It should tell you to copy these lines into your /etc/apache2/apache2.conf:

      LoadModule passenger_module /home/mandy/.rvm/gems/ruby-1.9.3-p327/gems/passenger3.0.18/ext/apache2/mod_passenger.so
      PassengerRoot /home/mandy/.rvm/gems/ruby-1.9.3-p327/gems/passenger-3.0.18
      PassengerRuby /home/mandy/.rvm/wrappers/ruby-1.9.3-p327/ruby

      Note: Above lines may be different in your case. Check them according to your script instructions.

      After copying, Restart Apache Server buy executing following commands in terminal.

      $ sudo a2enmod rewrite
      $ sudo service apache2 restart

      At last press ENTER and your phusion passenger is installed on your system.

  • Ruby on Rails – Installation using RVM

    Ruby Version Manager (RVM) is a command-line tool which allows you to easily install, manage, and work with multiple ruby environments from interpreters to sets of gems.

    Steps for Installation
    Open terminal and run following commands.

    • Step 1
      $ sudo apt-get install build-essential git-core curl
    • Step 2
      RVM Installation
      $ curl -L get.rvm.io | bash -s stable
    • Step 3
      $ echo ‘[[ -s “$HOME/.rvm/scripts/rvm” ]] && source “$HOME/.rvm/scripts/rvm”‘ >> ~/.bashrc
    • Step 4
      $ ~/.bashrc
    • Step 5
      $ . ~/.bashrc
    • Step 6
      Check requirements for Ruby
      $ rvm requirements
    • Step 7
      Install requirements of Ruby by RVM
      $ sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion pkg-config
    • Step 8
      Install Ruby with 1.9.3 version
      $ rvm install 1.9.3
    • Step 9
      Check Rubygems version. Its installed with Ruby.
      $ gem -v
      1.8.24
    • Step 9
      Install Rails latest version
      $ rvm gem install rails
    • Step 10
      Check version of Ruby, Rails and Rubygems
      $ ruby -v
      ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]
      $ gem -v
      1.8.24
      $ rails -v
      Rails 3.2.8

    Installation is complete. Now try RoR Apps.
    If you find any error between steps then share it as comments.
    Thanks for using this post.

  • OpenstreetView (OSV) – RoR Application

    OpenStreetView (OSV)  is a Ruby on Rails application.
    Requirements for OSV
    1. MySQL (Database)
    2. Ruby 1.8-dev
    3. Rails 2.3.8
    4. Rubygems
    Installation steps for requirements :
    1. MySQL

      Open the terminal and run the following command :
      $ sudo apt-get install mysql-server mysql-client

    2. Ruby 1.8-dev

      Open terminal and then write the following command :
      $ sudo apt-get install ruby1.8-dev

    3. Rubygems

      Download Rubygems : rubygems-1.3.7.zip
      Now unzip that using following command in terminal :
      $ cd Downloads (Move to location where you downloaded rubygems)
      $ unzip rubygems-1.3.7.zip

      Now move rubygems-1.3.7 to /usr/local/src
      Open terminal and write
      $ cd Downloads
      $ mv rubygems-1.3.7 /usr/local/src

      After that install rubygems. Open terminal and run
      $ cd /usr/local/src/rubygems-1.3.7
      $ ruby setup.rb

      OR

      You can install rubygems by running following command in terminal:
      $ sudo apt-get install rubygems

    4. Rails 2.3.8

      Run following command in terminal:
      $ sudo gem install rails -v 2.3.8

    Now check whether you have installed each and everything correctly or not.
    Run following in treminal:

          $ ruby -v
          $ gem -v
          $ rails -v

    After fulfilling the requirements, its time to download OSV code.

    Download the code from:

    https://github.com/johnmckerrell/OpenStreetView/downloads

    And then extract that somewhere you want.

    Or you can do as below:

    mkdir OSV
    cd OSV
    sudo apt-get install git-core;
    git clone git://github.com/johnmckerrell/OpenStreetView.git
    // or
    git clone https://github.com/johnmckerrell/OpenStreetView.git
    cd OpenStreetView
    cd config
    sudo gedit config/database.yml

    It will Open the database.yml in Geditor. This file contain the Information regarding the Database connection for OSV So Carefully do as:

    a)Change user and password of MySQL and socket as follow
    b)socket: /var/run/mysqld/mysqld.sock

    Now edit the other file as:
    sudo gedit config/environment.rb

    // Change server name from www.openstreetview.org to localhost in line
    // number 7, in line number 4, make version for RAILS_GEM_VERSION as ‘2.3.8’
    Now Change the Directory as Follow as:

    cd vendor/plugins/
    a)git clone http://github.com/technoweenie/restful-authentication.git restful_authentication
    b)sudo rake gems:install
    You are Just two Steps away to Run OSV. Now change the Directory as Following and do as:

    a)cd OSV/OpenStreetView
    b)rake
    c)rake db:migrate
    d)script/server

    The script/server will Start the server , Now you Can run the OSV at localhost as:
     Browse in browser(localhost:3000)

  • Ruby on Rails – Blog Application (Rails 2 App)

    Creating the Blog Application

    For creating this application you must install Ruby on Rails on your system and also install the database to add the backend for your applicaton.

    Click here for installing Ruby on Rails and MySQL Database.

    Follow the steps for creating your blog application in Ruby on Rails :

      1. Open a terminal, navigate to a folder where you have rights to create files, and type :

        $ rails blog -d mysql

        -d mysql option create database with MySQL connectivity.

      2. Now move to blog folder using :

        $ cd blog

      3. Database Configuration

        Open the database.yml file to edit the database settings.
        For this enter following commands in terminal:

        $ cd config/
        $ gedit database.yml

        Replace username and password with your MySQL Username and password.
        Update these changes in all three sections : development, test and production.

        After saving these changes, run this command in terminal:
        $ cd ..

      4. Database Creation

        Run the following command in terminal to create database :

        $ rake db:create

      5. Starting up Web Server

        Run this command in terminal to run default webpage in browser:

        $ script/server

      6. Creating Controller

        Run this command in terminal:

        ruby script/generate controller home index

      7. Edit Home Page

        Open app/views/home/index.html.erb file. Run these commands in terminal:

        $ cd app/views/home/
        $ gedit index.html.erb

        Add following line and Save the file.(You can also delete the previous text)


        <h1>Hello Rails !</h1>

      8. Remove index.html from public folder

        $ cd
        $ cd Desktop/blog
        $ rm pulic/index.html

      9. Setting the Application Home Page

        Open routes.rb file.
        $ gedit config/routes.rb

        Find the line beginning with root :root and uncomment it.
        Replace that line with this :

        map:root :controller => ‘home’, :action => ‘index’

        Now save that file and if you navigate to http://localhost:3000 in your browser, you’ll see the home/index view.

      10. Creating a Resource

        In the case of the blog application, you can start by generating a scaffolded Post resource. To do this, enter this command in your terminal:

        $ script/generate scaffold Post name:string title:string content:text

      11. Running a Migration

        Use following command to create tables:

        $ rake db:migrate

      12. Add a Link

        Open index.html.erb file to add link to My Blog page.

        $ cd app/views/home/index.html.erb

        Add this line at last,

        <%= link_to “My Blog”, posts_path %>

        and save the file.

        The link_to method is one of Rails’ built-in view helpers. It creates a hyperlink based on text to display and where to go – in this case, to the path for posts.

      13. Test Your Blog Application

        $ script/server

        Now open http://localhost:3000/ in browser.

      By these steps your blog is created and if you find any error then feel free to ask and share it through comments.

  • Installation Steps for Ruby on Rails

    Steps to install Ruby on Rails

    1) Setting up the Rails development environment

    Ruby, rubygems, rails and other required packages can be installed by :

    1. sudo apt-get install build-essential
    2. $ sudo apt-get install ruby-full
    3. $ cd Downloads
    4. $ wget http://production.cf.rubygems.org/rubygems/rubygems-1.8.24.tgz
    5. $ tar xzvf rubygems-1.8.24.tgz
    6. $ sudo mv rubygems-1.8.24 /usr/local/src
    7. $ cd 
    8. $ cd /usr/local/src
    9. $ cd rubygems-1.8.24
    10. $ sudo ruby setup.rb
    11. $ sudo update-alternatives –install /usr/bin/gem gem /usr/bin/gem1.8 1 
      If you got error in this step (ERROR: update-alterntives:error: unknown argument ‘–install’),   then retype ‘–‘ (Two Hyphens) before install
    12. $ sudo gem install rails

    2) Setting up MySQL Database

    If you have already installed Mysql then ignore this step.

    $ sudo apt-get install mysql-server

    Well you have now install Ruby on Rails ,Now its time to test it. So Create a Rails’s application .Here name of Rails application is new ,you can give your own name.

    Go to place where you want to create Ruby on Rails application and run these commands in terminal :

    rails new
    cd new
    rails server

    The rails server command launches a small web server named WEBrick which comes bundled with Ruby. You’ll use this any time you want to view your work through a web browser.
    This command will give you the following output in terminal

    => Booting WEBrick => Rails 3.0.0 application starting in development on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server [2010-04-18 03:20:33] INFO WEBrick 1.3.1 [2010-04-18 03:20:33] INFO ruby 1.8.7 (2010-01-10) [x86_64-linux] [2010-04-18 03:20:33] INFO WEBrick::HTTPServer#start: pid=26086 port=3000

    With just three commands we whipped up a Rails server listening on port 3000. Go to your browser and open http://localhost:3000, you will see a basic rails app running.
    Congratulations ,You are now running Ruby on Rails.
    If you want to stop server then Press Ctrl+C in terminal

    Continue to Configuring the Database in Ruby on Rails.

  • Ruby on Rails

    What is Rails?Ruby on Rails

    Rails is a web development framework written in the Ruby language. It is designed to make programming web applications easier by making several assumptions about what every developer needs to get started. It allows you to write less code while accomplishing more than many other languages and frameworks. Longtime Rails developers also report that it makes web application development more fun. Rails is opinionated software. That is, it assumes that there is a best way to do things, and it’s designed to encourage that best way – and in some cases discourage alternatives. If you learn “The Rails Way” you’ll probably discover a tremendous increase in productivity. If you persist in bringing old habits from other languages to your Rails development, and trying to use patterns you learned elsewhere, you may have a less happy experience. The Rails philosophy includes several guiding principles:

    • DRY – “Don’t Repeat Yourself” – suggests that writing the same code over and over again is a bad thing.
    • Convention Over Configuration – means that Rails makes assumptions about what you want to do and how you’re going to do it, rather than letting you tweak every little thing through endless configuration files.
    • REST is the best pattern for web applications – organizing your application around resources and standard HTTP verbs is the fastest way to go.

    The MVC Architecture

    Rails is organized around the Model, View, Controller architecture, usually just called MVC. MVC benefits include:

    • Isolation of business logic from the user interface
    • Ease of keeping code DRY
    • Making it clear where different types of code belong for easier maintenance

    Models

    A model represents the information (data) of the application and the rules to manipulate that data. In the case of Rails, models are primarily used for managing the rules of interaction with a corresponding database table. In most cases, one table in your database will correspond to one model in your application. The bulk of your application’s business logic will be concentrated in the models.

    Views

    Views represent the user interface of your application. In Rails, views are often HTML files with embedded Ruby code that performs tasks related solely to the presentation of the data. Views handle the job of providing data to the web browser or other tool that is used to make requests from your application.

    Controllers

    Controllers provide the “glue” between models and views. In Rails, controllers are responsible for processing the incoming requests from the web browser, interrogating the models for data, and passing that data on to the views for presentation.

    The Components of Rails

    Rails provides a full stack of components for creating web applications, including:

    • Action Controller
    • Action View
    • Active Record
    • Action Mailer
    • Active Resource
    • Railties
    • Active Support

    Action Controller

    Action Controller is the component that manages the controllers in a Rails application. The Action Controller framework processes incoming requests to a Rails application, extracts parameters, and dispatches them to the intended action. Services provided by Action Controller include session management, template rendering, and redirect management.

    Action View

    Action View manages the views of your Rails application. It can create both HTML and XML output by default. Action View manages rendering templates, including nested and partial templates, and includes built-in AJAX support.

    Active Record

    Active Record is the base for the models in a Rails application. It provides database independence, basic CRUDfunctionality, advanced finding capabilities, and the ability to relate models to one another, among other services.

    Action Mailer

    Action Mailer is a framework for building e-mail services. You can use Action Mailer to send emails based on flexible templates, or to receive and process incoming email.

    Active Resource

    Active Resource provides a framework for managing the connection between business objects an RESTful web services. It implements a way to map web-based resources to local objects with CRUD semantics.

    Railties

    Railties is the core Rails code that builds new Rails applications and glues the various frameworks together in any Rails application.

    Active Support

    Active Support is an extensive collection of utility classes and standard Ruby library extensions that are used in the Rails, both by the core code and by your applications.