Sha256: 47b20498f1e3e9e83b5490394bd6f12d58ca136b4b6d6b88981ebc6b70ce3e3a

Contents?: true

Size: 1.13 KB

Versions: 8

Compression:

Stored size: 1.13 KB

Contents

# frozen_string_literal: true

module ConvenientService
  module Common
    module Plugins
      module CanBeCopied
        module Concern
          include Support::Concern

          ##
          # @internal
          #   NOTE: `CanBeCopied` plugin expects that `CachesConstructorArguments` plugin is already used.
          #   That is why `constructor_arguments` method is available.
          #
          instance_methods do
            include Support::Copyable

            ##
            # @return [Array<Object>]
            #
            def to_args
              constructor_arguments.args
            end

            ##
            # @return [Hash{Symbol => Object}]
            #
            def to_kwargs
              constructor_arguments.kwargs
            end

            ##
            # @return [Proc, nil]
            #
            def to_block
              constructor_arguments.block
            end

            ##
            # @return [ConvenientService::Support::Arguments]
            #
            def to_arguments
              constructor_arguments
            end
          end
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
convenient_service-0.19.1 lib/convenient_service/common/plugins/can_be_copied/concern.rb
convenient_service-0.19.0 lib/convenient_service/common/plugins/can_be_copied/concern.rb
convenient_service-0.18.0 lib/convenient_service/common/plugins/can_be_copied/concern.rb
convenient_service-0.17.0 lib/convenient_service/common/plugins/can_be_copied/concern.rb
convenient_service-0.16.0 lib/convenient_service/common/plugins/can_be_copied/concern.rb
convenient_service-0.15.0 lib/convenient_service/common/plugins/can_be_copied/concern.rb
convenient_service-0.14.0 lib/convenient_service/common/plugins/can_be_copied/concern.rb
convenient_service-0.13.0 lib/convenient_service/common/plugins/can_be_copied/concern.rb