Class: HttpVanilli::BasicMapper

Inherits:
Object
  • Object
show all
Defined in:
lib/http_vanilli/basic_mapper.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(extra_responders = {}) ⇒ BasicMapper

Returns a new instance of BasicMapper.



7
8
9
# File 'lib/http_vanilli/basic_mapper.rb', line 7

def initialize(extra_responders = {})
  responder_classes.update(extra_responders)
end

Instance Attribute Details

#responderObject

Returns the value of attribute responder.



5
6
7
# File 'lib/http_vanilli/basic_mapper.rb', line 5

def responder
  @responder
end

Instance Method Details

#add_block_responder(*args, &block) ⇒ Object



20
21
22
# File 'lib/http_vanilli/basic_mapper.rb', line 20

def add_block_responder(*args,&block)
  responders << responder_classes[:block].new(*args,&block)
end

#add_rack_responder(*args, &block) ⇒ Object



24
25
26
# File 'lib/http_vanilli/basic_mapper.rb', line 24

def add_rack_responder(*args,&block)
  responders << responder_classes[:rack].new(*args,&block)
end

#add_responder(kind, *args, &block) ⇒ Object



28
29
30
# File 'lib/http_vanilli/basic_mapper.rb', line 28

def add_responder(kind,*args,&block)
  responders << responder_classes[kind].new(*args,&block)
end

#build_request(kind, http, request, &block) ⇒ Object

Take the info from the innards of Net::HTTP and build a request.



35
36
37
# File 'lib/http_vanilli/basic_mapper.rb', line 35

def build_request(kind,http,request,&block)
  HttpVanilli::Request.build(kind,http,request,&block)
end

#map_request(request) ⇒ Object

Map the request



45
46
47
# File 'lib/http_vanilli/basic_mapper.rb', line 45

def map_request(request)
  find_responder(request).response_for_request(request)
end

#map_request?(request) ⇒ Boolean

Should we map the request?

Returns:

  • (Boolean)


40
41
42
# File 'lib/http_vanilli/basic_mapper.rb', line 40

def map_request?(request)
  !! find_responder(request)
end

#responder_classesObject



11
12
13
14
15
16
# File 'lib/http_vanilli/basic_mapper.rb', line 11

def responder_classes
  @responder_classes ||= {
    :block => HttpVanilli::Responders::Block,
    :rack  => HttpVanilli::Responders::Rack
  }
end

#respondersObject



18
# File 'lib/http_vanilli/basic_mapper.rb', line 18

def responders; @responders ||= [] end

#unmapped_request(request) ⇒ Object

The request wasn’t matched and normal net connection was disallowed.



50
51
52
# File 'lib/http_vanilli/basic_mapper.rb', line 50

def unmapped_request(request)
  raise "unmatched_request #{request}"
end