Class: Mockingbird::ScriptRunner

Inherits:
Object
  • Object
show all
Defined in:
lib/mockingbird/script_runner.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(conn, script) ⇒ ScriptRunner

Returns a new instance of ScriptRunner.



7
8
9
10
# File 'lib/mockingbird/script_runner.rb', line 7

def initialize(conn,script)
  self.conn = conn
  self.script = script
end

Instance Attribute Details

#connObject

Returns the value of attribute conn.



5
6
7
# File 'lib/mockingbird/script_runner.rb', line 5

def conn
  @conn
end

#scriptObject

Returns the value of attribute script.



5
6
7
# File 'lib/mockingbird/script_runner.rb', line 5

def script
  @script
end

Instance Method Details

#runObject



12
13
14
15
16
# File 'lib/mockingbird/script_runner.rb', line 12

def run
  send_status
  send_headers
  send_body
end

#send_bodyObject



34
35
36
37
# File 'lib/mockingbird/script_runner.rb', line 34

def send_body
  conn.start_body
  script.body.run(conn)
end

#send_headersObject



23
24
25
26
27
28
29
30
31
32
# File 'lib/mockingbird/script_runner.rb', line 23

def send_headers
  headers = {
    "Transfer-Encoding"=>"chunked",
    "Content-Type"=>"application/json",
    "Server"=>"Mockingbird"
  }.merge(script.headers||{})
  headers.each do |name, value|
    conn.send_header(name, value)      
  end
end

#send_statusObject



18
19
20
21
# File 'lib/mockingbird/script_runner.rb', line 18

def send_status
  code, message = (script.status || [200,"OK"])
  conn.send_status(code,message)  
end