+ # Supported states for a pipeline instance
+ States =
+ [
+ (New = 'New'),
+ (Ready = 'Ready'),
+ (RunningOnServer = 'RunningOnServer'),
+ (RunningOnClient = 'RunningOnClient'),
+ (Paused = 'Paused'),
+ (Failed = 'Failed'),
+ (Complete = 'Complete'),
+ ]
+
+ def self.limit_index_columns_read
+ ["components"]
+ end
+
+ # if all components have input, the pipeline is Ready
+ def components_look_ready?
+ if !self.components || self.components.empty?
+ return false
+ end
+
+ all_components_have_input = true
+ self.components.each do |name, component|
+ component['script_parameters'].andand.each do |parametername, parameter|
+ parameter = { 'value' => parameter } unless parameter.is_a? Hash
+ if parameter['value'].nil? and parameter['required']
+ if parameter['output_of']
+ next
+ end
+ all_components_have_input = false
+ break
+ end
+ end
+ end
+ return all_components_have_input