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

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from ConvenientService::Support::Delegate::ClassMethodsForForwardable

#delegate

Instance Attribute Details

#callerObject (readonly)

Returns the value of attribute caller.



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

def caller
  @caller
end

#directionObject (readonly)

Returns the value of attribute direction.



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

def direction
  @direction
end

#keyObject (readonly)

Returns the value of attribute key.



22
23
24
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/method/concern/instance_methods.rb', line 22

def key
  @key
end

#nameObject (readonly)

Returns the value of attribute name.



28
29
30
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/method/concern/instance_methods.rb', line 28

def name
  @name
end

Instance Method Details

#==(other) ⇒ Boolean?

Parameters:

  • other (Object)

    Can be any object.

Returns:

  • (Boolean, nil)


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

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

  return false if key != other.key
  return false if name != other.name
  return false if caller != other.caller
  return false if direction != other.direction
  return false if organizer(raise_when_missing: false) != other.organizer(raise_when_missing: false)

  true
end

#alias?Boolean

Returns:

  • (Boolean)


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

delegate :alias?, to: :caller

#define_output_in_container!(container, index:) ⇒ Boolean

Returns true if method is just defined, false if already defined.

Parameters:

Returns:

  • (Boolean)

    true if method is just defined, false if already defined.



116
117
118
119
120
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/method/concern/instance_methods.rb', line 116

def define_output_in_container!(container, index:)
  direction.define_output_in_container!(container, index: index, method: self)

  caller.define_output_in_container!(container, index: index, method: self)
end

#has_organizer?Boolean

Returns:

  • (Boolean)


104
105
106
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/method/concern/instance_methods.rb', line 104

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

#initialize(key:, name:, caller:, direction:, organizer: nil) ⇒ void



75
76
77
78
79
80
81
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/method/concern/instance_methods.rb', line 75

def initialize(key:, name:, caller:, direction:, organizer: nil)
  @key = key
  @name = name
  @caller = caller
  @direction = direction
  @organizer = organizer
end

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

Parameters:

  • raise_when_missing (Boolean) (defaults to: true)

Returns:

Raises:



88
89
90
91
92
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/method/concern/instance_methods.rb', line 88

def organizer(raise_when_missing: true)
  ::ConvenientService.raise Exceptions::MethodHasNoOrganizer.new(method: self) if @organizer.nil? && raise_when_missing

  @organizer
end

#proc?Boolean

Returns:

  • (Boolean)


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

delegate :proc?, to: :caller

#raw?Boolean

Returns:

  • (Boolean)


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

delegate :raw?, to: :caller

#to_argumentsConvenientService::Support::Arguments



148
149
150
151
152
153
154
155
156
# File 'lib/convenient_service/service/plugins/can_have_steps/entities/method/concern/instance_methods.rb', line 148

def to_arguments
  Support::Arguments.new(
    key: key,
    name: name,
    caller: caller,
    direction: direction,
    organizer: organizer(raise_when_missing: false)
  )
end

#to_kwargsHash{Symbol => Object}

Returns:

  • (Hash{Symbol => Object})


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

def to_kwargs
  to_arguments.kwargs
end

#to_sString

Returns:

  • (String)


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

delegate :to_s, to: :name

#usual?Boolean

Returns:

  • (Boolean)


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

delegate :usual?, to: :caller

#valueObject

Returns Can be any type.

Returns:

  • (Object)

    Can be any type.



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

def value
  @value ||= caller.calculate_value(self)
end