Class: Suricate::OutputDriver

Inherits:
Object
  • Object
show all
Defined in:
lib/suricate/output_driver.rb

Direct Known Subclasses

SinatraOutputDriver

Instance Method Summary collapse

Instance Method Details

#api_error(status, message) ⇒ Object



11
12
13
14
# File 'lib/suricate/output_driver.rb', line 11

def api_error(status, message)
  data = { error: { message: message } }
  api_response(status, data)
end

#api_response(status, data) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/suricate/output_driver.rb', line 16

def api_response(status, data)
  response = {
    status: status,
    data: data
  }
  json = JSON.fast_generate(response)

  status(status)
  content_type(:json)
  render(json)
end

#api_success(data) ⇒ Object



7
8
9
# File 'lib/suricate/output_driver.rb', line 7

def api_success(data)
  api_response(200, data)
end

#content_type(type) ⇒ Object

Raises:

  • (NotImplementedError)


5
# File 'lib/suricate/output_driver.rb', line 5

def content_type(type); raise NotImplementedError; end

#render(content) ⇒ Object

Raises:

  • (NotImplementedError)


3
# File 'lib/suricate/output_driver.rb', line 3

def render(content);    raise NotImplementedError; end

#status(code) ⇒ Object

Raises:

  • (NotImplementedError)


4
# File 'lib/suricate/output_driver.rb', line 4

def status(code);       raise NotImplementedError; end