Sha256: f2726a04ac302be53cddfe304a14d11b1e5facce952a8cb8c3ae5b35aa9f1bd2

Contents?: true

Size: 1.11 KB

Versions: 1

Compression:

Stored size: 1.11 KB

Contents

# TrueWeb

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

## Basic Layout

TrueWeb 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.

### TrueWeb::Controller

TrueWeb::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

TrueWeb 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

1 entries across 1 versions & 1 rubygems

Version Path
bang-bang-0.1.6 README.markdown