On Tuesday, July 17, 2012 8:55:48 AM UTC-7, mjackson wrote:
>
> Thanks for the suggestion Jeremy. Is it a bad idea to use 
> Database#begin_transaction and Database#rollback_transaction independently? 
> Since I'm using this feature for testing, it would be nice to call 
> begin_transaction in my setup and rollback_transaction in my teardown 
> instead of using the Database#transaction method with a block.


Calling the private methods is unsupported, but other users here have done 
it successfully (see 
https://groups.google.com/d/topic/sequel-talk/VjfJcTD6s3w/discussion).  It 
is difficult to get correct error handling with a non-block based API.  The 
block-based API handles errors correctly, and I don't want to support a 
non-block based transaction API, since it would be misused, people would 
report bugs, and I don't want to deal with that.  That being said, this is 
ruby, we're all adults, feel free to use the private methods, just don't 
expect support.

The recommended solution is to use the block-based API.  If you are using a 
testing library that doesn't support block-based usage, switch to one that 
does, or modify the library appropriately.  Examples of this for common 
testing frameworks are in 
http://sequel.rubyforge.org/rdoc/files/doc/testing_rdoc.html, so review 
that if you haven't already.

Thanks,
Jeremy

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/sequel-talk/-/XCh7faKMDhIJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sequel-talk?hl=en.

Reply via email to