class Serf::Builder
Public Class Methods
new(*args, &block)
click to toggle source
# File lib/serf/builder.rb, line 14 def initialize(*args, &block) opts = Optser.extract_options! args @run = opts.get :interactor @use = [] @policy_chain = opts.get :policy_chain, [] if block_given? instance_eval(&block) else use_defaults end end
Public Instance Methods
run(interactor)
click to toggle source
# File lib/serf/builder.rb, line 71 def run(interactor) @run = interactor end
to_app()
click to toggle source
# File lib/serf/builder.rb, line 75 def to_app @use.reverse.inject(@run) { |a,e| e[a] } end
use(middleware, *args, &block)
click to toggle source
# File lib/serf/builder.rb, line 67 def use(middleware, *args, &block) @use << proc { |app| middleware.new(app, *args, &block) } end
use_default_middleware()
click to toggle source
Add the following middleware to the chain:
use Serf::Middleware::RequestTimer use Serf::Middleware::ParcelMasher use Serf::Middleware::UuidTagger use Serf::Middleware::ErrorHandler
# File lib/serf/builder.rb, line 47 def use_default_middleware use Serf::Middleware::RequestTimer use Serf::Middleware::ParcelMasher use Serf::Middleware::UuidTagger use Serf::Middleware::ErrorHandler end
use_default_serfer_stage()
click to toggle source
Add the following middleware to the chain:
use Serf::Middleware::ParcelFreezer use Serf::Middleware::PolicyChecker, @policy_chain use Serf::Serfer
# File lib/serf/builder.rb, line 61 def use_default_serfer_stage use Serf::Middleware::ParcelFreezer use Serf::Middleware::PolicyChecker, policy_chain: @policy_chain use Serf::Serfer end
use_defaults()
click to toggle source
Set a default chain of the following:
use_default_middleware use_default_serfer_stage
# File lib/serf/builder.rb, line 34 def use_defaults use_default_middleware use_default_serfer_stage end