Class: Funktional::RecursiveAssertion
- Defined in:
- lib/funktional/recursive_assertion.rb
Instance Method Summary collapse
-
#initialize(assigned, method) ⇒ RecursiveAssertion
constructor
A new instance of RecursiveAssertion.
- #should_be(expected_value = nil, &block) ⇒ Object
Constructor Details
#initialize(assigned, method) ⇒ RecursiveAssertion
Returns a new instance of RecursiveAssertion.
3 4 5 6 7 8 9 |
# File 'lib/funktional/recursive_assertion.rb', line 3 def initialize(assigned, method) @test = Funktional.test_instance @assigned = assigned @method = method @test.assert_respond_to @assigned, @method end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, *args) ⇒ Object (protected)
22 23 24 25 |
# File 'lib/funktional/recursive_assertion.rb', line 22 def method_missing(method, *args) @assigned = @assigned.send @method RecursiveAssertion.new(@assigned, method) end |
Instance Method Details
#should_be(expected_value = nil, &block) ⇒ Object
11 12 13 14 15 16 17 18 |
# File 'lib/funktional/recursive_assertion.rb', line 11 def should_be(expected_value=nil, &block) if block_given? expected_value ||= block.bind(@test).call end value = @assigned.send @method @test.assert_equal expected_value, value end |