################################################################# The ordering module contains the methods and data structures used to determine proper orderring of mocked calls. By providing the functionality in a module, a individual mock object can order its own calls, and the container can provide ordering at a global level.
Methods
- flexmock_allocate_order
- flexmock_current_order
- flexmock_current_order=
- flexmock_groups
- flexmock_validate_order
Public Instance methods
Allocate the next available order number.
[ show source ]
# File lib/flexmock/ordering.rb, line 23
23: def flexmock_allocate_order
24: @flexmock_allocated_order ||= 0
25: @flexmock_allocated_order += 1
26: end
Current order number in this ordering.
[ show source ]
# File lib/flexmock/ordering.rb, line 34
34: def flexmock_current_order
35: @flexmock_current_order ||= 0
36: end
Set the current order for this ordering.
[ show source ]
# File lib/flexmock/ordering.rb, line 39
39: def flexmock_current_order=(value)
40: @flexmock_current_order = value
41: end
Hash of groups defined in this ordering.
[ show source ]
# File lib/flexmock/ordering.rb, line 29
29: def flexmock_groups
30: @flexmock_groups ||= {}
31: end
[ show source ]
# File lib/flexmock/ordering.rb, line 43
43: def flexmock_validate_order(method_name, order_number)
44: FlexMock.check("method #{method_name} called out of order " +
45: "(expected order #{order_number}, was #{flexmock_current_order})") {
46: order_number >= self.flexmock_current_order
47: }
48: self.flexmock_current_order = order_number
49: end