Class: ConvenientService::Service::Plugins::CanHaveConnectedSteps::Entities::Expressions::Or
- Inherits:
-
Base
- Object
- Base
- ConvenientService::Service::Plugins::CanHaveConnectedSteps::Entities::Expressions::Or
show all
- Defined in:
- lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/or.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods inherited from Base
#and?, #empty?, #group?, #not?, #scalar?, #steps
#copy
included
Constructor Details
#initialize(left_expression, right_expression) ⇒ void
27
28
29
30
|
# File 'lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/or.rb', line 27
def initialize(left_expression, right_expression)
@left_expression = left_expression
@right_expression = right_expression
end
|
Instance Attribute Details
#left_expression ⇒ Object
Returns the value of attribute left_expression.
14
15
16
|
# File 'lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/or.rb', line 14
def left_expression
@left_expression
end
|
#right_expression ⇒ Object
Returns the value of attribute right_expression.
20
21
22
|
# File 'lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/or.rb', line 20
def right_expression
@right_expression
end
|
Instance Method Details
#==(other) ⇒ Boolean
124
125
126
127
128
129
130
131
|
# File 'lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/or.rb', line 124
def ==(other)
return unless other.instance_of?(self.class)
return false if left_expression != other.left_expression
return false if right_expression != other.right_expression
true
end
|
87
88
89
90
91
92
93
94
95
96
|
# File 'lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/or.rb', line 87
def each_evaluated_step(&block)
left_expression.each_evaluated_step(&block)
return self if left_expression.success?
return self if left_expression.error?
right_expression.each_evaluated_step(&block)
self
end
|
76
77
78
79
80
81
|
# File 'lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/or.rb', line 76
def each_step(&block)
left_expression.each_step(&block)
right_expression.each_step(&block)
self
end
|
#error? ⇒ Boolean
68
69
70
|
# File 'lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/or.rb', line 68
def error?
left_expression.error? || right_expression.error?
end
|
#failure? ⇒ Boolean
58
59
60
61
62
63
|
# File 'lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/or.rb', line 58
def failure?
return false if left_expression.success?
return false if left_expression.error?
right_expression.failure?
end
|
#inspect ⇒ String
109
110
111
|
# File 'lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/or.rb', line 109
def inspect
"#{left_expression.inspect} || #{right_expression.inspect}"
end
|
#or? ⇒ Boolean
116
117
118
|
# File 'lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/or.rb', line 116
def or?
true
end
|
35
36
37
|
# File 'lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/or.rb', line 35
def result
left_expression.success? ? left_expression.result : right_expression.result
end
|
#success? ⇒ Boolean
45
46
47
48
49
50
|
# File 'lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/or.rb', line 45
def success?
return true if left_expression.success?
return false if left_expression.error?
right_expression.success?
end
|
136
137
138
|
# File 'lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/or.rb', line 136
def to_arguments
Support::Arguments.new(left_expression, right_expression)
end
|
102
103
104
|
# File 'lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/or.rb', line 102
def with_organizer(organizer)
copy(overrides: {args: {0 => left_expression.with_organizer(organizer), 1 => right_expression.with_organizer(organizer)}})
end
|