Sha256: bd9de77256dcc0a310687399412f7fc4b555182a5612d65d716f82ef9e5240ee

Contents?: true

Size: 1.12 KB

Versions: 2

Compression:

Stored size: 1.12 KB

Contents

# BangBang

BangBang is a lightweight Sinatra web VC stack. Currently, it doesn't have strong opinions, to allow flexibility to discover good idioms.

## Basic Layout

BangBang has a basic app structure, similar to Rails.
Right now, no conventions are "forced" on you. This is done to allow experimentation and keep things lightweight.

You pick the model library.

Right now there are no generators.

### BangBang::Controller

BangBang::Controller is a subclass of Sinatra::Base.
It's meant to provide an encapsulated unit of functionality within your app.
How you group your actions is up to you.

### NamedRoutes

BangBang uses the [named-routes](https://github.com/btakita/named-routes) library.

Here is a good pattern to follow:

    module MyApp
      Controller.define_routes do
        def root; end
        get path(:root, "/") do
          "Hello World!"
        end

        def about_us; end
        get path(:about_us, "/about-us") do
          view("/about-us.html.ms")
        end
      end
    end

Defining the route methods allows certain code editors & IDEs to locate the definition of action.

    uris.about_us # /about-us

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
bang-bang-0.2.1 README.markdown
bang-bang-0.2.0 README.markdown