Class: ConvenientService::Service::Plugins::CanHaveSteps::Entities::Step::Commands::ExtractParams

Inherits:
ConvenientService::Support::Command show all
Defined in:
lib/convenient_service/service/plugins/can_have_steps/entities/step/commands/extract_params.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from ConvenientService::Support::Command

[], call

Constructor Details

#initialize(args:, kwargs:) ⇒ ExtractParams

Returns a new instance of ExtractParams.



13
14
15
16
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/commands/extract_params.rb', line 13

def initialize(args:, kwargs:)
  @args = args
  @kwargs = kwargs
end

Instance Attribute Details

#argsObject (readonly)

Returns the value of attribute args.



11
12
13
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/commands/extract_params.rb', line 11

def args
  @args
end

#kwargsObject (readonly)

Returns the value of attribute kwargs.



11
12
13
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/commands/extract_params.rb', line 11

def kwargs
  @kwargs
end

Instance Method Details

#callObject



18
19
20
21
22
23
24
25
26
27
28
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/commands/extract_params.rb', line 18

def call
  Structs::Params.new(
    action: args.first,
    inputs: Utils::Array.wrap(kwargs[:in]),
    outputs: Utils::Array.wrap(kwargs[:out]),
    index: kwargs[:index],
    container: kwargs[:container],
    organizer: kwargs[:organizer],
    extra_kwargs: Utils::Hash.except(kwargs, [:in, :out, :index, :container, :organizer])
  )
end