module Sequent::Web::Sinatra::App
Allows for easy integration with Sinatra
apps. Provides:
+Sequent::Core::Helpers::UuidHelper+ +FormHelpers+ +SimpleCommandServiceHelpers+
The sequent_config_dir
allows you to specify the directory containing the 'initializers/sequent' file that initializes the EventStore
and CommandService
for your webapp.
class MySinatraApp < Sinatra::Base
set :sequent_config_dir, root register Sequent::Web::Sinatra::App
end
Public Class Methods
registered(app)
click to toggle source
# File lib/sequent-sinatra/app.rb, line 20 def self.registered(app) app.helpers Sequent::Core::Helpers::UuidHelper app.helpers Sequent::Web::Sinatra::FormHelpers app.helpers Sequent::Web::Sinatra::SimpleCommandServiceHelpers app.set :sequent_config_dir, app.root unless app.respond_to?(:sequent_config_dir) app.before do config_file = File.join(app.sequent_config_dir, 'initializers/sequent') if File.exist?("#{config_file}.rb") || File.exist?("#{config_file}") require config_file else raise "Unable to initialize Sequent. Config file #{config_file} not found.\nInitialize Sequent correctly? First set the 'sequent_config_dir' or the 'root', then register Sequent::Web::Sinatra in your Sinatra application" end @command_service = Sequent.command_service end end