Sha256: cadd5c7cac33c7aa69684989315bdd8843df62b284d4e9c8eda84dd90ec6264a
Contents?: true
Size: 1.34 KB
Versions: 161
Compression:
Stored size: 1.34 KB
Contents
# frozen_string_literal: true require 'avm/entries/jobs/with_variables_source' require 'avm/result' require 'eac_cli/core_ext' module Avm module Entries module Jobs module Base common_concern do include ::ActiveSupport::Callbacks include ::Avm::Entries::Jobs::WithVariablesSource enable_speaker enable_simple_cache enable_listable common_constructor :instance, :options, default: [{}] do if option_list.present? self.options = option_list.hash_keys_validate!(options.symbolize_keys) end end define_callbacks(*jobs) end module ClassMethods def jobs const_get('JOBS').dup end end module InstanceMethods def option_list nil end def run start_banner if respond_to?(:start_banner) run_jobs ::Avm::Result.success('Done!') rescue ::Avm::Result::Error => e e.to_result end protected def run_jobs jobs.each do |job| run_callbacks job do send(job) end end end def jobs self.class.jobs end end end end end end
Version data entries
161 entries across 161 versions & 2 rubygems