Module: ConvenientService::Support::Copyable
- Included in:
- Common::Plugins::CanBeCopied::Concern, Core::Entities::Config::Entities::MethodMiddlewares::Entities::Caller::Concern::InstanceMethods, Core::Entities::Config::Entities::MethodMiddlewares::Entities::Container::Concern::InstanceMethods, ConvenientService::Service::Plugins::CanHaveConnectedSteps::Entities::Expressions::Base, ConvenientService::Service::Plugins::CanHaveConnectedSteps::Entities::StepCollection, ConvenientService::Service::Plugins::CanHaveSequentialSteps::Entities::StepCollection, ConvenientService::Service::Plugins::CanHaveSteps::Entities::Method::Entities::Callers::Base, ConvenientService::Service::Plugins::CanHaveSteps::Entities::Method::Entities::Directions::Base, ConvenientService::Service::Plugins::CanHaveSteps::Entities::Method::Entities::Key, ConvenientService::Service::Plugins::CanHaveSteps::Entities::Method::Entities::Name, ConvenientService::Service::Plugins::CanHaveSteps::Entities::Step::Concern::InstanceMethods, ConvenientService::Service::Plugins::HasJSendResult::Entities::Result::Plugins::HasJSendStatusAndAttributes::Concern::InstanceMethods, ConvenientService::Service::Plugins::HasJSendResult::Entities::Result::Plugins::HasJSendStatusAndAttributes::Entities::Code::Concern::InstanceMethods, ConvenientService::Service::Plugins::HasJSendResult::Entities::Result::Plugins::HasJSendStatusAndAttributes::Entities::Data::Concern::InstanceMethods, ConvenientService::Service::Plugins::HasJSendResult::Entities::Result::Plugins::HasJSendStatusAndAttributes::Entities::Message::Concern::InstanceMethods, ConvenientService::Service::Plugins::HasJSendResult::Entities::Result::Plugins::HasJSendStatusAndAttributes::Entities::Status::Concern::InstanceMethods, DependencyContainer::Entities::Method
- Defined in:
- lib/convenient_service/support/copyable.rb
Instance Method Summary collapse
Instance Method Details
#copy(overrides: {}) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/convenient_service/support/copyable.rb', line 29 def copy(overrides: {}) args = if overrides.has_key?(:args) overrides[:args].instance_of?(::Hash) ? Utils::Array.merge(to_arguments.args, overrides[:args]) : overrides[:args] else to_arguments.args end kwargs = if overrides.has_key?(:kwargs) overrides[:kwargs].instance_of?(::Array) ? overrides[:kwargs].first : to_arguments.kwargs.merge(overrides[:kwargs]) else to_arguments.kwargs end block = overrides.fetch(:block) { to_arguments.block } self.class.new(*args, **kwargs, &block) end |