Sha256: 28852607ad992d53f64c627c5ad4d79bc41fc9d235c2dcef1ba817c52f1b5052
Contents?: true
Size: 1.48 KB
Versions: 1
Compression:
Stored size: 1.48 KB
Contents
module RailsWorkflow class OperationTemplate < ActiveRecord::Base include OperationStatus include OperationTemplates::Dependencies include OperationTemplates::Assignments include OperationTemplates::DefaultBuilder belongs_to :process_template, class_name: "RailsWorkflow::ProcessTemplate" belongs_to :child_process, class_name: "RailsWorkflow::ProcessTemplate" class << self def types RailsWorkflow.config.operation_types end # by default system using context data of first dependnecy # the one that triggered current operation build def build_context dependencies dependencies.first.try(:context).try(:data) end def build_context! operation, dependencies RailsWorkflow::Context.new( parent: operation, data: build_context(dependencies) || operation.process.data) end end def operation_class get_class(:operation_class, default_class(kind.to_sym)) end def default_type RailsWorkflow.config.default_operation_template_type end def resolve_dependency operation true end def resolve_dependency! operation resolve_dependency operation end private def default_class kind RailsWorkflow.config.operation_types[kind][:class] end def get_class symb, default begin (read_attribute(symb).presence || default).constantize rescue default.constantize end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rails_workflow-0.2.1 | app/models/rails_workflow/operation_template.rb |