Sha256: fa59e28d0fadb0b2f357c472bcc719967a2db64d9c33c8b36a67e5f7bdf0d84c
Contents?: true
Size: 1.02 KB
Versions: 6
Compression:
Stored size: 1.02 KB
Contents
# frozen_string_literal: true require 'avm/data/rotate' require 'eac_ruby_utils/core_ext' require 'eac_ruby_utils/fs/temp' module Avm module Data class Performer acts_as_abstract(:cannot_perform_reason, :internal_perform) acts_as_immutable common_constructor :data_owner immutable_accessor :exclude, :include, type: :set # @return [Enumerable] def immutable_constructor_args [data_owner] end # @return [self] def perform raise "Cannot run: #{cannot_run_reason}" unless performable? internal_perform self end # @return [Boolean] def performable? cannot_perform_reason.blank? end protected def include_excludes_arguments options = include_excludes_options options.any? ? [options] : [] end def include_excludes_options r = {} r[:includes] = includes if includes.any? r[:excludes] = excludes if excludes.any? r end end end end
Version data entries
6 entries across 6 versions & 2 rubygems