Sha256: bd7690e5d246d0aa7bf1cd6e49ef6ebbff36f44899533ee2b4555ba66ed86806
Contents?: true
Size: 1013 Bytes
Versions: 71
Compression:
Stored size: 1013 Bytes
Contents
# frozen_string_literal: true require 'eac_ruby_utils/core_ext' module Avm module Data class Package class BasePerformer acts_as_abstract :result enable_speaker enable_listable lists.add_symbol :option, :excludes, :includes common_constructor :package, :options, default: [{}] do self.options = ::Avm::Data::Package::BasePerformer.lists.option .hash_keys_validate!(options) end # @return [Set<Symbol>] def excludes ::Set.new((options[OPTION_EXCLUDES] || []).map(&:to_sym)) end # @return [Set<Symbol>] def includes ::Set.new((options[OPTION_INCLUDES] || []).map(&:to_sym)) end # @return [Hash<Symbol, Avm::Data::Unit] def selected_units r = package.units r = r.slice(*includes.to_a) if includes.any? r = r.except(*excludes.to_a) if excludes.any? r end end end end end
Version data entries
71 entries across 71 versions & 2 rubygems