Class: Shokkenki::Consumer::Stubber::RackResponse

Inherits:
Object
  • Object
show all
Defined in:
lib/shokkenki/consumer/stubber/rack_response.rb

Class Method Summary collapse

Class Method Details

.as_header_name(name) ⇒ Object



22
23
24
# File 'lib/shokkenki/consumer/stubber/rack_response.rb', line 22

def self.as_header_name name
  name.to_s.split('-').map{ |word| word.titleize }.join('-')
end

.as_rack_headers(headers) ⇒ Object



14
15
16
17
18
19
20
# File 'lib/shokkenki/consumer/stubber/rack_response.rb', line 14

def self.as_rack_headers headers
  (headers || []).inject({}) do |h, key_value|
    k, v = key_value
    h[as_header_name(k)] = v.to_s
    h
  end
end

.from_interaction(interaction) ⇒ Object



8
9
10
11
12
# File 'lib/shokkenki/consumer/stubber/rack_response.rb', line 8

def self.from_interaction interaction
  defaults = { :status => 200 }
  response = defaults.merge interaction.generate_response
  [response[:status], as_rack_headers(response[:headers]), [response[:body]]]
end