Sha256: dc1d6b0d0834f7c31789c3afa7bd25fd818e504b0da66ec802ef6e6ba032ddd2

Contents?: true

Size: 834 Bytes

Versions: 2

Compression:

Stored size: 834 Bytes

Contents

# frozen_string_literal: true

require 'eac_cli/core_ext'
require 'eac_cli/runner'

module Avm
  module Tools
    module RunnerWith
      module InstanceDataPerformer
        acts_as_abstract :data_performer_class
        common_concern do
          enable_simple_cache
          include ::EacCli::Runner
        end

        def run
          if data_performer.performable?
            data_performer.perform
          else
            warn("Cannot perform: #{data_performer.cannot_perform_reason}")
          end
        end

        private

        # @return [Avm::Data::Performer]
        def data_performer_uncached
          %i[include exclude].inject(data_performer_class.new(data_owner)) do |a1, e1|
            if_respond(e1, []).inject(a1) { |a2, e2| a2.send(e1, e2) }
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
avm-tools-0.150.0 lib/avm/tools/runner_with/instance_data_performer.rb
eac_tools-0.68.0 sub/avm-tools/lib/avm/tools/runner_with/instance_data_performer.rb