{"id":82095,"library":"transaction-simple","title":"Transaction::Simple","description":"Generic in-memory transaction support for Ruby objects with rollback and commit.","status":"active","version":"1.4.0","language":"ruby","source_language":null,"source_url":null,"tags":["transactions","rollback","in-memory","undo"],"install":[{"cmd":"gem install transaction-simple","lang":"bash","label":"gem install"},{"cmd":"# Gemfile\ngem 'transaction-simple', '~> 1.4.0'","lang":"ruby","label":"Gemfile"}],"dependencies":[],"imports":[{"symbol":"Transaction::Simple","correct":"require 'transaction-simple'"}],"quickstart":{"code":"require 'transaction-simple'\nobj = 'hello'\nTransaction::Simple.start(obj) do |txn|\n  txn << ' world'\n  puts txn  # => 'hello world'\n  txn.abort!\nend\nputs obj  # => 'hello'","lang":"ruby","description":"Use transactions to safely modify an object"},"warnings":[{"fix":"Ensure objects do not contain bindings, procs, IO, or singletons.","message":"Uses Marshal for state snapshots; objects must be Marshal-able.","severity":"gotcha","affected_versions":">= 1.0.0"}],"env_vars":null,"search_vec":"'commit':15 'generic':3 'in-memori':4,18 'memori':6,20 'object':11 'rollback':13,17 'rubi':10 'simpl':2 'support':8 'transact':1,7,16 'undo':21","created_at":"2026-06-19T05:10:43.417233+00:00","updated_at":"2026-06-19T05:10:43.417233+00:00","problems":[],"ecosystem":"rubygems","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"http://trans-simple.rubyforge.org/","github":null,"docs":"http://www.rubydoc.info/gems/transaction-simple/","changelog":null,"pypi":null,"npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["utility"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-19","next_check":"2026-12-16","install_tag":null}}