8876: work_unit views in progress
[arvados.git] / apps / workbench / app / models / proxy_work_unit.rb
1 class ProxyWorkUnit < WorkUnit
2   attr_accessor :lbl
3   attr_accessor :proxied
4
5   def initialize proxied, label
6     self.lbl = label
7     self.proxied = proxied
8   end
9
10   def label
11     self.lbl
12   end
13
14   def uuid
15     self.proxied[:uuid]
16   end
17
18   def modified_by_user_uuid
19     self.proxied[:modified_by_user_uuid]
20   end
21
22   def created_at
23     self.proxied[:created_at]
24   end
25
26   def started_at
27     self.proxied[:started_at]
28   end
29
30   def finished_at
31     self.proxied[:finished_at]
32   end
33
34   def state_label
35     if ["Running", "RunningOnServer", "RunningOnClient"].include? self.proxied[:state].to_s
36       "Running"
37     else
38       self.proxied[:state].to_s
39     end
40   end
41
42   def state_bootstrap_class
43     case self.proxied[:state]
44     when 'Complete'
45       'success'
46     when 'Failed', 'Cancelled'
47       'danger'
48     when 'Running', 'RunningOnServer', 'RunningOnClient'
49       'info'
50     else
51       'default'
52     end
53   end
54
55   def success?
56     if self.proxied[:state] == 'Complete'
57       true
58     elsif self.proxied[:state] == 'Failed'
59       false
60     else
61       nil
62     end
63   end
64
65   def parameters
66     self.proxied[:script_parameters]
67   end
68
69   def script
70     self.proxied[:script]
71   end
72
73   def repository
74     self.proxied[:repository]
75   end
76
77   def script_version
78     self.proxied[:script_version]
79   end
80
81   def supplied_script_version
82     self.proxied[:supplied_script_version]
83   end
84
85   def runtime_constraints
86     self.proxied[:runtime_constraints]
87   end
88
89   def children
90     []
91   end
92 end