Access block scope from AR object

I need to create a sort of transaction around some Active Record objects that perform many insert/updates.

Example:

class MyObject

def transaction &block

@my_var = value

self.instance_eval block

end

end

MyObject.new.transaction do

Model.create

Model.collection.create

etc…

end

I have a gem that add a method into AR::Base and I need to read the variables setted by the transaction inside the method at runtime.

Any way I can access the block scope from there inside?

Thanks

Andrea

I need to create a sort of transaction around some Active Record objects
that perform many insert/updates.
Example:

class MyObject
def transaction &block
@my_var = value
self.instance_eval block
end
end

MyObject.new.transaction do
Model.create
Model.collection.create
etc......
end

I have a gem that add a method into AR::Base and I need to read the
variables setted by the transaction inside the method at runtime.
Any way I can access the block scope from there inside?

Why not use an actual transaction? If you're generating some per
transaction value then pass it as an argument to the methods you're
calling inside the transaction.

Fred

Fred.
The issue is that I should have to override lots of Model to support it.

Ex:
Model.create transaction_value: value

I would like something more elegant.

Andrea