module ScaffoldingExtensions::MetaSinatraController

  1. lib/scaffolding_extensions/controller/sinatra.rb

Methods

Public Instance

  1. scaffold_setup_helper

Public Instance methods

scaffold_setup_helper ()
[show source]
# File lib/scaffolding_extensions/controller/sinatra.rb, line 110
def scaffold_setup_helper
  include ScaffoldingExtensions::Controller
  include ScaffoldingExtensions::SinatraController
  include ScaffoldingExtensions::Helper
  include ScaffoldingExtensions::SinatraHelper
  p = 'POST'
  block = lambda do
    captures = params[:captures] || []
    @scaffold_path = request.env['SCRIPT_NAME']
    @scaffold_method = meth = captures[0] || 'index'
    params[:id] ||= captures[1]
    raise(ArgumentError, 'Method Not Allowed') if scaffold_request_method != p && scaffolded_nonidempotent_method?(meth)
    scaffolded_method?(meth) ? send(meth) : pass
  end
  get('/?', &block)
  [:get, :post].each do |req_meth|
    send(req_meth, %r{\A/(\w+)(?:/(\w+))?\z}, &block)
  end
  self
end