Class: Alice::Builder

Inherits:
Rack::Builder
  • Object
show all
Defined in:
lib/alice/builder.rb

Overview

Possibly going to extend this a bit.

Alice::Connection.new(:url => ‘sushi.com’) do

request  :yajl     # Alice::Request::Yajl
adapter  :logger   # Alice::Adapter::Logger
response :yajl     # Alice::Response::Yajl

end

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.create_with_inner_app(&block) ⇒ Object



12
13
14
15
16
17
18
19
20
21
# File 'lib/alice/builder.rb', line 12

def self.create_with_inner_app(&block)
  inner = lambda do |env| 
    if !env[:parallel_manager]
      env[:response].finish(env)
    else
      env[:response]
    end
  end
  Builder.new(&block).tap { |builder| builder.run(inner) }
end

Instance Method Details

#adapter(key, *args, &block) ⇒ Object



31
32
33
# File 'lib/alice/builder.rb', line 31

def adapter(key, *args, &block)
  use_symbol Alice::Adapter, key, *args, &block
end

#request(key, *args, &block) ⇒ Object



23
24
25
# File 'lib/alice/builder.rb', line 23

def request(key, *args, &block)
  use_symbol Alice::Request, key, *args, &block
end

#response(key, *args, &block) ⇒ Object



27
28
29
# File 'lib/alice/builder.rb', line 27

def response(key, *args, &block)
  use_symbol Alice::Response, key, *args, &block
end

#use_symbol(mod, key, *args, &block) ⇒ Object



35
36
37
# File 'lib/alice/builder.rb', line 35

def use_symbol(mod, key, *args, &block)
  use mod.lookup_module(key), *args, &block
end