Skip to content
The invisible framework
CSS Ruby HTML
Latest commit 2333383 Mar 24, 2009 @macournoyer Add rubigen dep.
Failed to load latest commit information.
app_generators Add a flat app generator. Nov 11, 2008
bin Add a flat app generator. Nov 12, 2008
example
lib Add a flat app generator. Nov 12, 2008
site
spec Add link_to & mab helpers. Nov 9, 2008
.gitignore
README README v3 Nov 11, 2008
Rakefile Add rubigen dep. Mar 24, 2009
TODO Add TODO Nov 11, 2008
invisible.gemspec Add rubigen dep. Mar 25, 2009

README

= THE INVISIBLE FRAMEWORK
Invisible is like a giant robot combining the
awesomeness of Rails, Merb, Camping and Sinatra.
Except, it's tiny (100 sloc).

It's easy to deploy and get started with using the
friendly generator.

Get started today!

  invisible my_lil_app
  cd my_lil_app
  thin start config/rack.ru
  edit app.rb

Or, if you're really into tiny things:

  invisible my_very_lil_app --flat

== Build web apps in just a few lines
The app syntax looks a lot like Sinatra:

  get "/session/:value" do
    session[:invisible] = params[:value]
    render do
      h2 "I added this to the session for you:"
      pre params[:value].inspect
      p { a "Go back", :href => "/" }
    end
  end

You can also render ERB, eRubis and Haml templates.

== TATFT (aka Test all the fucking time)
Invisible also comes with support for easy
testing, using Test::Unit or RSpec.

  def test_should_get_root
    assert get("/").ok?
  end
  
  it "should get /" do
    get("/").should be_ok
  end

== The extras you were missing in a micro-framework
Invisible has:
* reloading
* configurable multi-environment support
* multi-app in the same VM
* session support (Cookie, Memcache, etc.)
* a love affair with Rack middlewares
* another love affair with testing
* load just what you need approach (low mem)
* awesomeness builtin, twice!
* all that under 100 LOC (+ taxes)

I'm like, WOW! What are you waiting for?
Go build the next Twitter now, mkay?

Ruby License, http://ruby-lang.org/en/LICENSE.txt
Invisible is copyright Marc-Andre Cournoyer
macournoyer@gmail.com
Something went wrong with that request. Please try again.