Skip to content
/ ramaze Public
forked from Ramaze/ramaze

Ramaze is a simple, light and modular open-source web application framework written in Ruby.

Notifications You must be signed in to change notification settings

pagojo/ramaze

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ramaze

Ramaze is a very simple and straight-forward web-framework. The philosophy of it could be expressed in a mix of KISS and POLS, trying to make simple things simple and complex things possible.

This of course is nothing new to anyone who knows some Ruby, but is often forgotten in a chase for new functionality and features. Ramaze only tries to give you the ultimate tools, but you have to use them yourself to achieve perfect custom-tailored results.

Another one of the goals during development of Ramaze was to make every part as modular and therefor reusable as possible, not only to provide a basic understanding after the first glance, but also to make it as simple as possible to reuse parts of the code.

The original purpose of Ramaze was to act as a kind of framework to build web-frameworks, this was made obsolete by the introduction of Rack, which provides this feature at a better level without trying to enforce any structural layout of the resulting framework.

Today Ramaze serves as a framework for those who want to develop their projects in their own way rather than being forced to work in a way that the framework (and it's creators) define. It tries not to make any assumptions and more importantly: it puts you back in control of your code. An example of this is the default file structure of new Ramaze projects. Out of the box a new project uses the MVC pattern. The cool thing about Ramaze however is that you're not forced to use this pattern. If you prever HMVC, PAC or something else you can simply apply it. Another example is the use of a database toolkit. Ramaze does not ship with one for a very simple reason: nobody likes the same toolkit. Some people prefer Sequel, others use Datamapper. With Ramaze you can use any tool you like.

Installing Ramaze is as easy as the following command:

$ gem install ramaze

For more information see the chapter {file:installation Installation}.

Ramaze is dual licensed under the GPL/Ruby license and is copyrighted 2009 - 2011 by Michael Fellinger ([email protected]). A copy of the Ruby license can be found in the file "guide/RUBY_LICENSE", a copy of the GPL license can be found in the file "guide/GPL_LICENSE". Both these files can be displayed by clicking the "Files" button at the top right.

Note: if you spot any mistakes made such as spelling errors or links not working feel free to report them on the mailing list, in the IRC channel or by submitting a bug at the bugtracker.

Quick Example

While Ramaze applications are usually spread across multiple directories for controllers, models and views one can quite easily create a very basic application in just a single file:

require 'ramaze'

class MyController < Ramaze::Controller
  map '/'

  def index
    return "Hello, Ramaze!"
  end
end

Ramaze.start

Once this is saved in a file (you can also run this from IRB) simply execute it using the Ruby binary:

$ ruby hello_ramaze.rb

This starts a WEBRick server listening on localhost:7000.

Requirements

  • Innate (which in turn requires Rack).
  • A Ruby implementation based on Ruby 1.8 or newer (1.9.2, Rubinius, etc).
  • A Rack server such as Thin or Unicorn.
  • Basic knowledge of Ruby.

Community

When joining the IRC channel you don't have to be afraid to ask a question, just ask it and (hopefully) you'll get the answer you're looking for. However, keep in mind that most of us are located in different timezones so it may sometimes take a while before you get a reply.

Chapters

If you're viewing this file in your editor or from Github it's likely that the table of contents isn't rendered. You can find all these files in the guide/ directory.

  • {file:general/installation Installation}
  • {file:general/principles Principles}
  • {file:general/special_thanks Special Thanks}
  • {file:general/contributing Contributing To Ramaze}
  • {file:general/configuration Configuration}
  • {file:general/ramaze_command Ramaze Command}
  • {file:general/controllers Controllers}
  • {file:general/models Models}
  • {file:general/views Views}
  • {file:general/helpers Helpers}
  • {file:general/middlewares Rack Middlewares}
  • {file:general/routes Routes}
  • {file:general/sessions Sessions}
  • {file:general/cache Caching Data}
  • {file:general/logging Logging Information}
  • {file:general/testing Testing with Ramaze}

Tutorials

  • {file:tutorials/introduction Introduction Tutorial}

About

Ramaze is a simple, light and modular open-source web application framework written in Ruby.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 99.9%
  • Other 0.1%