Class: Foobara::TransactionGroup
- Inherits:
-
Object
- Object
- Foobara::TransactionGroup
- Includes:
- NestedTransactionable
- Defined in:
- foobara-0.3.0/projects/nested_transactionable/lib/foobara/nested_transactionable.rb
Instance Attribute Summary collapse
-
#relevant_entity_bases ⇒ Object
Returns the value of attribute relevant_entity_bases.
-
#relevant_entity_classes ⇒ Object
Returns the value of attribute relevant_entity_classes.
-
#transaction_mode ⇒ Object
Returns the value of attribute transaction_mode.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(transaction_mode: nil, relevant_entity_classes: nil, relevant_entity_bases: nil) ⇒ TransactionGroup
constructor
A new instance of TransactionGroup.
- #run ⇒ Object
Methods included from NestedTransactionable
#auto_detect_current_transactions, #commit_transaction, #commit_transaction_if_open, #open_transaction, #opened_transactions, relevant_entity_classes_for_type, #relevant_entity_classes_for_type, #rollback_transaction, #transactions, #use_transaction, with_needed_transactions_for_type
Constructor Details
#initialize(transaction_mode: nil, relevant_entity_classes: nil, relevant_entity_bases: nil) ⇒ TransactionGroup
Returns a new instance of TransactionGroup.
158 159 160 161 162 |
# File 'projects/nested_transactionable/lib/foobara/nested_transactionable.rb', line 158 def initialize(transaction_mode: nil, relevant_entity_classes: nil, relevant_entity_bases: nil) self.relevant_entity_classes = relevant_entity_classes self.relevant_entity_bases = relevant_entity_bases self.transaction_mode = transaction_mode end |
Instance Attribute Details
#relevant_entity_bases ⇒ Object
Returns the value of attribute relevant_entity_bases.
156 157 158 |
# File 'projects/nested_transactionable/lib/foobara/nested_transactionable.rb', line 156 def relevant_entity_bases @relevant_entity_bases end |
#relevant_entity_classes ⇒ Object
Returns the value of attribute relevant_entity_classes.
156 157 158 |
# File 'projects/nested_transactionable/lib/foobara/nested_transactionable.rb', line 156 def relevant_entity_classes @relevant_entity_classes end |
#transaction_mode ⇒ Object
Returns the value of attribute transaction_mode.
156 157 158 |
# File 'projects/nested_transactionable/lib/foobara/nested_transactionable.rb', line 156 def transaction_mode @transaction_mode end |
Class Method Details
.run(mode: nil, entity_classes: nil, bases: nil) ⇒ Object
147 148 149 150 151 152 153 |
# File 'projects/nested_transactionable/lib/foobara/nested_transactionable.rb', line 147 def run(mode: nil, entity_classes: nil, bases: nil, &) new( transaction_mode: mode, relevant_entity_classes: entity_classes, relevant_entity_bases: bases ).run(&) end |
Instance Method Details
#run ⇒ Object
164 165 166 167 168 169 170 171 172 |
# File 'projects/nested_transactionable/lib/foobara/nested_transactionable.rb', line 164 def run(&) open_transaction result = Persistence::EntityBase.using_transactions(transactions, &) commit_transaction result rescue rollback_transaction raise end |