Class: Familia::Validation::AtomicityValidator
- Inherits:
-
Object
- Object
- Familia::Validation::AtomicityValidator
- Defined in:
- lib/familia/validation/validator.rb
Overview
Validates that operations that should be atomic actually execute within transactions
Instance Attribute Summary collapse
-
#command_sequence ⇒ Object
readonly
Returns the value of attribute command_sequence.
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Instance Method Summary collapse
-
#initialize(command_sequence, options = {}) ⇒ AtomicityValidator
constructor
A new instance of AtomicityValidator.
-
#validate ⇒ Object
Constructor Details
#initialize(command_sequence, options = {}) ⇒ AtomicityValidator
Returns a new instance of AtomicityValidator.
216 217 218 219 220 221 |
# File 'lib/familia/validation/validator.rb', line 216 def initialize(command_sequence, = {}) @command_sequence = command_sequence @options = @errors = [] @warnings = [] end |
Instance Attribute Details
#command_sequence ⇒ Object (readonly)
Returns the value of attribute command_sequence.
214 215 216 |
# File 'lib/familia/validation/validator.rb', line 214 def command_sequence @command_sequence end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
214 215 216 |
# File 'lib/familia/validation/validator.rb', line 214 def @options end |
Instance Method Details
#validate ⇒ Object
223 224 225 226 227 228 229 230 231 232 233 |
# File 'lib/familia/validation/validator.rb', line 223 def validate check_transaction_boundaries check_orphaned_commands check_nested_transactions ValidationResult.new(nil, @command_sequence).tap do |result| result.instance_variable_set(:@errors, @errors) result.instance_variable_set(:@warnings, @warnings) result.instance_variable_set(:@valid, @errors.empty?) end end |