Class: LcpRuby::Workflow::ModelSource
- Inherits:
-
Object
- Object
- LcpRuby::Workflow::ModelSource
- Includes:
- Contract
- Defined in:
- lib/lcp_ruby/workflow/model_source.rb
Instance Method Summary collapse
Instance Method Details
#workflow_by_name(name) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/lcp_ruby/workflow/model_source.rb', line 18 def workflow_by_name(name) model_class = workflow_model_class return nil unless model_class fields = field_mapping record = model_class.find_by(fields["name"] => name.to_s, fields["active"] => true) record ? record_to_definition(record) : nil rescue LcpRuby::Error, ActiveRecord::StatementInvalid => e LcpRuby.record_error(e, subsystem: "workflow", workflow: name.to_s) nil end |
#workflows_for(model_name) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/lcp_ruby/workflow/model_source.rb', line 6 def workflows_for(model_name) model_class = workflow_model_class return [] unless model_class fields = field_mapping records = model_class.where(fields["model_name"] => model_name.to_s, fields["active"] => true) records.map { |r| record_to_definition(r) } rescue LcpRuby::Error, ActiveRecord::StatementInvalid => e LcpRuby.record_error(e, subsystem: "workflow", model: model_name.to_s) [] end |