Module: ConvenientService::Service::Plugins::CanHaveSteps::Entities::Step::Concern::InstanceMethods

Includes:
ConvenientService::Support::Copyable, ConvenientService::Support::Delegate
Defined in:
lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb

Instance Method Summary collapse

Methods included from ConvenientService::Support::Concern

included

Methods included from ConvenientService::Support::Copyable

#copy

Instance Method Details

#==(other) ⇒ Boolean?

Parameters:

  • other (Object)

    Can be any type.

Returns:

  • (Boolean, nil)


126
127
128
129
130
131
132
133
134
135
136
137
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 126

def ==(other)
  return unless other.instance_of?(self.class)

  return false if service != other.service
  return false if inputs != other.inputs
  return false if outputs != other.outputs
  return false if index != other.index
  return false if container != other.container
  return false if organizer(raise_when_missing: false) != other.organizer(raise_when_missing: false)

  true
end

#codeConvenientService::Service::Plugins::HasJSendResult::Entities::Result::Plugins::HasJSendStatusAndAttributes::Entities::Code



61
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 61

delegate :code, to: :result

#containerConvenientService::Service::Plugins::CanHaveSteps::Entities::Service



102
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 102

delegate :container, to: :params

#dataConvenientService::Service::Plugins::HasJSendResult::Entities::Result::Plugins::HasJSendStatusAndAttributes::Entities::Data



51
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 51

delegate :data, to: :result

#define!void

This method returns an undefined value.



274
275
276
277
278
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 274

def define!
  outputs.each { |output| output.define_output_in_container!(container, index: index) }

  true
end

#error?Boolean

Returns:

  • (Boolean)


31
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 31

delegate :error?, to: :result

#extra_kwargsHash{Symbol => Object}

Returns:

  • (Hash{Symbol => Object})


107
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 107

delegate :extra_kwargs, to: :params

#failure?Boolean

Returns:

  • (Boolean)


26
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 26

delegate :failure?, to: :result

#has_organizer?Boolean

Returns:

  • (Boolean)


142
143
144
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 142

def has_organizer?
  Utils.to_bool(organizer(raise_when_missing: false))
end

#has_reassignment?(name) ⇒ Boolean



150
151
152
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 150

def has_reassignment?(name)
  outputs.any? { |output| output.reassignment?(name) }
end

#indexInteger

Returns:

  • (Integer)


97
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 97

delegate :index, to: :params

#initialize(*args, **kwargs) ⇒ void

Parameters:

  • args (Array<Object>)
  • kwargs (Hash{Symbol => Object})


114
115
116
117
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 114

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

#input_valuesHash{Symbol => Object}



197
198
199
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 197

def input_values
  @input_values ||= calculate_input_values
end

#inputsArray<ConvenientService::Service::Plugins::CanHaveSteps::Entities::Method>



189
190
191
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 189

def inputs
  @inputs ||= params.inputs.map { |input| input.copy(overrides: {kwargs: {organizer: organizer(raise_when_missing: false)}}) }
end

#messageConvenientService::Service::Plugins::HasJSendResult::Entities::Result::Plugins::HasJSendStatusAndAttributes::Entities::Message



56
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 56

delegate :message, to: :result

#not_error?Boolean

Returns:

  • (Boolean)


46
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 46

delegate :not_error?, to: :result

#not_failure?Boolean

Returns:

  • (Boolean)


41
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 41

delegate :not_failure?, to: :result

#not_success?Boolean

Returns:

  • (Boolean)


36
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 36

delegate :not_success?, to: :result

#organizer(raise_when_missing: true) ⇒ ConvenientService::Service



178
179
180
181
182
183
184
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 178

def organizer(raise_when_missing: true)
  @organizer ||= params.organizer

  ::ConvenientService.raise Exceptions::StepHasNoOrganizer.new(step: self) if @organizer.nil? && raise_when_missing

  @organizer
end

#output_valuesHash{Symbol => Object}



205
206
207
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 205

def output_values
  @output_values ||= result.unsafe_data.to_h.slice(*outputs.map(&:key).map(&:to_sym))
end

#outputsArray<ConvenientService::Service::Plugins::CanHaveSteps::Entities::Method>



92
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 92

delegate :outputs, to: :params

#paramsConvenientService::Service::Plugins::CanHaveSteps::Entities::Step::Structs::Params



165
166
167
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 165

def params
  @params ||= resolve_params
end

#printable_serviceString

Returns:

  • (String)


240
241
242
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 240

def printable_service
  service.klass.to_s
end

#reassignment(name) ⇒ ConvenientService::Service::Plugins::CanHaveSteps::Entities::Method?



158
159
160
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 158

def reassignment(name)
  outputs.find { |output| output.reassignment?(name) }
end

#resultConvenientService::Service::Plugins::HasJSendResult::Entities::Result

Note:

result has middlewares.



233
234
235
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 233

def result
  convert_to_step_result(service_result)
end

#serviceConvenientService::Service::Plugins::CanHaveSteps::Entities::Service



84
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 84

delegate :service, to: :params

#service_classClass

Returns:

  • (Class)


247
248
249
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 247

def service_class
  service.klass
end

#service_resultConvenientService::Service::Plugins::HasJSendResult::Entities::Result

Note:

service_result has middlewares.



220
221
222
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 220

def service_result
  service.klass.result(**input_values)
end

#success?Boolean

Returns:

  • (Boolean)


21
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 21

delegate :success?, to: :result

#to_argsArray<Object>

Returns:

  • (Array<Object>)


283
284
285
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 283

def to_args
  to_arguments.args
end

#to_argumentsConveninentService::Support::Arguments

Returns:

  • (ConveninentService::Support::Arguments)


297
298
299
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 297

def to_arguments
  Support::Arguments.new(service, **kwargs.merge(in: inputs, out: outputs, index: index, container: container, organizer: organizer(raise_when_missing: false)))
end

#to_kwargsHash{Symbol => Object}

Returns:

  • (Hash{Symbol => Object})


290
291
292
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 290

def to_kwargs
  to_arguments.kwargs
end

#trigger_callbackvoid

This method returns an undefined value.



255
256
257
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 255

def trigger_callback
  organizer.step(index)
end

#unsafe_codeConvenientService::Service::Plugins::HasJSendResult::Entities::Result::Plugins::HasJSendStatusAndAttributes::Entities::Code



76
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 76

delegate :unsafe_code, to: :result

#unsafe_dataConvenientService::Service::Plugins::HasJSendResult::Entities::Result::Plugins::HasJSendStatusAndAttributes::Entities::Data



66
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 66

delegate :unsafe_data, to: :result

#unsafe_messageConvenientService::Service::Plugins::HasJSendResult::Entities::Result::Plugins::HasJSendStatusAndAttributes::Entities::Message



71
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 71

delegate :unsafe_message, to: :result

#validate!void

This method returns an undefined value.

Raises:

  • (ConvenientService::Error)


263
264
265
266
267
268
269
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb', line 263

def validate!
  inputs.each { |input| input.validate_as_input_for_container!(container) }

  outputs.each { |output| output.validate_as_output_for_container!(container) }

  true
end