Sha256: b3f8993ca48e097708df13e73a8022b4565f1b529b0cb0bd68fc61ec71ba3733

Contents?: true

Size: 1.07 KB

Versions: 1

Compression:

Stored size: 1.07 KB

Contents

# frozen_string_literal: true

require 'bundler/setup'

<% unless options[:api_only] -%>
require 'erubi'
<% end -%>
require 'rack/csrf'
require 'sinatra/base'
<% if options[:api_only] -%>
require 'sinatra/json'
<% else -%>
require 'sinatra/flash'
<% end -%>

Dir.glob(File.join('helpers', '**', '*.rb')).each do |helper|
  require_relative helper
end

module <%= camel_name %>
  # Sinatra web application
  #
  class App < Sinatra::Base
    configure do
      set :root, File.dirname(__FILE__)
<% unless options[:api_only] -%>
      set :erb, { escape_html: true }
<% end -%>

      enable :logging

      use Rack::Session::Cookie, secret: 'TODO: CHANGE ME'
      use Rack::Csrf, raise: true
<% unless options[:api_only] -%>

      register Sinatra::Flash
<% end -%>
    end

    configure :development do
      require 'better_errors'
      use BetterErrors::Middleware
      BetterErrors.application_root = __dir__
    end

<% if options[:api_only] -%>
    get '/' do
      json message: 'Smoke test successful!'
    end
<% else -%>
    get '/' do
      erb :index
    end
<% end -%>
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hoboken-0.9.0 lib/hoboken/templates/modular.rb.tt