Module: ForestAdminAgent::Utils::ActionResult

Defined in:
lib/forest_admin_agent/utils/action_result.rb

Class Method Summary collapse

Class Method Details

.parse(result) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/forest_admin_agent/utils/action_result.rb', line 4

def self.parse(result)
  keys = {}
  case result[:type]
  when 'Success'
    keys = {
      success: result[:message],
      refresh: { relationships: result[:invalidated] },
      html: result[:html]
    }
  when 'Error'
    keys = {
      status: 400,
      error: result[:message],
      html: result[:html]
    }
  when 'Webhook'
    keys = {
      webhook: {
        body: result[:body],
        headers: result[:headers],
        method: result[:method],
        url: result[:url]
      }
    }
  when 'File'
    keys = {
      type: 'File',
      name: result[:name],
      mime_type: result[:mime_type],
      stream: result[:stream]
    }
  when 'Redirect'
    keys = {
      redirect_to: result[:path]
    }
  end
  keys.merge({ headers: result[:response_headers] })
end