Class: ConvenientService::RSpec::PrimitiveMatchers::Classes::DelegateTo::Entities::Inputs
- Inherits:
-
Object
- Object
- ConvenientService::RSpec::PrimitiveMatchers::Classes::DelegateTo::Entities::Inputs
- Defined in:
- lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/inputs.rb
Instance Attribute Summary collapse
- #values ⇒ Object readonly private
Instance Method Summary collapse
- #==(other) ⇒ Boolean? private
- #block_expectation ⇒ Proc? private
- #block_expectation=(block) ⇒ Proc private
-
#custom_return_value ⇒ Object
private
Can be any type.
-
#delegation_value ⇒ Object
private
Can be any type.
- #expected_arguments ⇒ ConvenientService::Support::Arguments private
- #expected_arguments=(arguments) ⇒ ConvenientService::Support::Arguments private
- #expected_return_value_block ⇒ Proc private
- #has_call_original? ⇒ Boolean private
- #initialize(object:, method:, block_expectation:) ⇒ void constructor private
- #method ⇒ String, Symbol private
-
#object ⇒ Object
private
Can be any type.
- #printable_block_expectation ⇒ String private
- #printable_method ⇒ String private
- #should_call_original=(flag) ⇒ Boolean private
- #should_call_original? ⇒ Boolean private
- #update_expected_return_value_block(*args, &block) ⇒ Proc private
Constructor Details
#initialize(object:, method:, block_expectation:) ⇒ void
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
31 32 33 |
# File 'lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/inputs.rb', line 31 def initialize(object:, method:, block_expectation:) @values = {object: object, method: method, block_expectation: block_expectation} end |
Instance Attribute Details
#values ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
21 22 23 |
# File 'lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/inputs.rb', line 21 def values @values end |
Instance Method Details
#==(other) ⇒ Boolean?
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
215 216 217 218 219 220 221 |
# File 'lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/inputs.rb', line 215 def ==(other) return unless other.instance_of?(self.class) return false if values != other.values true end |
#block_expectation ⇒ Proc?
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
40 41 42 |
# File 'lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/inputs.rb', line 40 def block_expectation values[:block_expectation] end |
#block_expectation=(block) ⇒ Proc
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
157 158 159 |
# File 'lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/inputs.rb', line 157 def block_expectation=(block) values[:block_expectation] = block end |
#custom_return_value ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns Can be any type.
52 53 54 55 56 |
# File 'lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/inputs.rb', line 52 def custom_return_value return values[:custom_return_value] if values.has_key?(:custom_return_value) values[:custom_return_value] = expected_return_value_block.call(delegation_value) end |
#delegation_value ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns Can be any type.
66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/inputs.rb', line 66 def delegation_value return values[:delegation_value] if values.has_key?(:delegation_value) values[:delegation_value] = object.__send__( method, *expected_arguments.args, **expected_arguments.kwargs, &expected_arguments.block ) end |
#expected_arguments ⇒ ConvenientService::Support::Arguments
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
83 84 85 |
# File 'lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/inputs.rb', line 83 def expected_arguments values[:expected_arguments] ||= Support::Arguments.null_arguments end |
#expected_arguments=(arguments) ⇒ ConvenientService::Support::Arguments
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
167 168 169 170 171 172 |
# File 'lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/inputs.rb', line 167 def expected_arguments=(arguments) values.delete(:delegation_value) values.delete(:custom_return_value) values[:expected_arguments] = arguments end |
#expected_return_value_block ⇒ Proc
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
92 93 94 |
# File 'lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/inputs.rb', line 92 def expected_return_value_block values[:expected_return_value_block] ||= proc { Support::UNDEFINED } end |
#has_call_original? ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
137 138 139 |
# File 'lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/inputs.rb', line 137 def has_call_original? values.has_key?(:should_call_original) end |
#method ⇒ String, Symbol
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
101 102 103 |
# File 'lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/inputs.rb', line 101 def method values[:method] end |
#object ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns Can be any type.
110 111 112 |
# File 'lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/inputs.rb', line 110 def object values[:object] end |
#printable_block_expectation ⇒ String
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
119 120 121 |
# File 'lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/inputs.rb', line 119 def printable_block_expectation @printable_block_expectation ||= Utils::Proc.display(block_expectation) end |
#printable_method ⇒ String
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
128 129 130 |
# File 'lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/inputs.rb', line 128 def printable_method @printable_method ||= Commands::GeneratePrintableMethod.call(object: object, method: method) end |
#should_call_original=(flag) ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
180 181 182 |
# File 'lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/inputs.rb', line 180 def should_call_original=(flag) values[:should_call_original] = flag end |
#should_call_original? ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
146 147 148 149 150 |
# File 'lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/inputs.rb', line 146 def should_call_original? return values[:should_call_original] if values.has_key?(:should_call_original) values[:should_call_original] = true end |
#update_expected_return_value_block(*args, &block) ⇒ Proc
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
191 192 193 194 195 196 197 198 199 200 201 202 203 204 |
# File 'lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/inputs.rb', line 191 def update_expected_return_value_block(*args, &block) values.delete(:custom_return_value) values[:expected_return_value_block] = if args.any? && block ::ConvenientService.raise Exceptions::ReturnCustomValueChainingInvalidArguments.new elsif args.any? proc { args.first } elsif block block else ::ConvenientService.raise Exceptions::ReturnCustomValueChainingInvalidArguments.new end end |