Class: LcpRuby::BackgroundJobs::ModelSource
- Inherits:
-
Object
- Object
- LcpRuby::BackgroundJobs::ModelSource
- Includes:
- Contract
- Defined in:
- lib/lcp_ruby/background_jobs/model_source.rb
Instance Method Summary collapse
Instance Method Details
#job_definition_by_name(name) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/lcp_ruby/background_jobs/model_source.rb', line 23 def job_definition_by_name(name) model_class = job_definition_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 log_warn("Failed to load job definition '#{name}': #{e.}") nil end |
#job_definitions ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/lcp_ruby/background_jobs/model_source.rb', line 6 def job_definitions model_class = job_definition_model_class return {} unless model_class fields = field_mapping records = model_class.where(fields["active"] => true) result = {} records.each do |r| definition = record_to_definition(r) result[definition.name] = definition end result rescue LcpRuby::Error, ActiveRecord::StatementInvalid => e log_warn("Failed to load job definitions: #{e.}") {} end |