-
Notifications
You must be signed in to change notification settings - Fork 4
dusty/multi-rack-app-app
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Quick App to demonstrate using different Apps within a Sinatra App. SETUP $ gem install bundler $ bundle install --path vendor $ rake run NOTES - Shared Models reside in models/ - Different sinatra apps reside in app/. They all subclass MyApp::Base - Different views for each app reside in views/#{app_name} - Shared libraries reside in lib/ - lib/helpers.rb contains sinatra helpers that can be loaded into only the particular apps that need them - Config.ru maps the app to the path (eg: /admin => AdminApp) INTERESTING Here are some things that you might find interesting. - Rakefile Helpers to use rake to start, stop, etc... Racksh is a nice script/console alternative. You can also test your app with it (eg: $rack.get('/')) If you have relay (gem install relay) installed and your .ssh/config file setup there is a simple capistrano replacement for deploying your app. Check out the deploy namespace. - app/admin.rb Check out the 'get %r{^\/(\w+)$} do'. That can serve erb files that exist in the static views directory. Easy way to generate views without creating a route. - lib/helpers.rb Check out the different helpers. Some are stolen like throw_content and content_for. Some are merb-ish such as the concepts in SinatraApiHelperMethods. - lib/configurator.rb This is used for a global settings. See the yaml file in config/settings.yml. It gives you dot-notation on the yml file based on the RACK_ENV you are in. eg: RACK_ENV=development rake app:shell # config/settings.yml development: <<: *defaults monkey: name: Bob age: 3 dog: false Settings = Configurator.load('config/settings.yml') Settings.monkey # {"name"=>"Bob", "age"=>3} Settings.monkey.name # Bob Settings.monkey.age # 3 Settings.dog # false
About
An example multi-rack-app app
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published