/Appetizr

Rails meets shoes and some_gui - An MVC approach for desktop apps inspired by RoR

Primary LanguageRuby

Appetizr (aka indigo) - (rapid) application framework inspired by RoR and Shoes

Appetizr uses ...
  ... a DSL to create/format view similar to the DSL of shoes ( http://shoesrb.com/ ).
  ... active_support for nice ruby extensions and I18n
  ... active_record/resource for db and webservice access
  ... gtk2 for the underlying widget rendering
  ... rubigen to create app templaes
  ... some other extensions (dbus) and ideas from RoR

currently used in
http://github.com/Sebu/appetizrTest (simple text example)
http://github.com/Sebu/frontDesk (clone of a simple administrative tool)

Differences to Rails
1. Appetizr is not RAILS
2. Appetizr uses multiple databases by default so
    schema.rb is db/schemas/db_name.rb
    migrations is db/migration/db_name/[0-9]*_*.rb
3. explicit rather then implicit render
4. controller generates gui directly
5. besides indirect/dispatched action calls, direct action calls are also possible
6. more 



How it should work(but does not right now):
  appetize my_app
  cd my_app
  script/generate window/model/controller .. create models and views
  bin/start ... test
  rake appetize  (-> create app + installer)

USAGE OF DEMO APP/FRAMEWORK
* 'rake db:migrate'
* 'bin/start'
  
Simple Controller

class SimpleController  < Indigo::Controller

  def show
    render do
      window {
        @text = label "Hallo Wald!"
        button(:ok).click { @text.text= "Hallo Wurst!" }
        end
      }
    end.show_all
  end

end