File rubygem-transaction-simple.spec of Package rubygem-transaction-simple

#
# spec file for package rubygem-transaction-simple
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


Name:           rubygem-transaction-simple
Version:        1.4.0.2
Release:        0
%define mod_name transaction-simple
%define mod_full_name %{mod_name}-%{version}
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  %{rubygem gem2rpm}
BuildRequires:  %{rubygem rdoc > 3.10}
BuildRequires:  %{ruby}
BuildRequires:  ruby-macros >= 5
Url:            http://trans-simple.rubyforge.org/
Source:         http://rubygems.org/gems/%{mod_full_name}.gem
Summary:        Transaction::Simple provides a generic way to add active transaction
License:        GPL-2.0+ or Ruby
Group:          Development/Languages/Ruby

%description
Transaction::Simple provides a generic way to add active transaction support
to
objects. The transaction methods added by this module will work with most
objects, excluding those that cannot be Marshal-ed (bindings, procedure
objects, IO instances, or singleton objects).
The transactions supported by Transaction::Simple are not associated with any
sort of data store. They are "live" transactions occurring in memory on the
object itself. This is to allow "test" changes to be made to an object before
making the changes permanent.
Transaction::Simple can handle an "infinite" number of transaction levels
(limited only by memory). If I open two transactions, commit the second, but
abort the first, the object will revert to the original version.
Transaction::Simple supports "named" transactions, so that multiple levels of
transactions can be committed, aborted, or rewound by referring to the
appropriate name of the transaction. Names may be any object except nil.
Transaction groups are also supported. A transaction group is an object
wrapper
that manages a group of objects as if they were a single object for the
purpose
of transaction management. All transactions for this group of objects should
be
performed against the transaction group object, not against individual objects
in the group.
Version 1.4.0 of Transaction::Simple adds a new post-rewind hook so that
complex graph objects of the type in tests/tc_broken_graph.rb can correct
themselves.
Version 1.4.0.1 just fixes a simple bug with #transaction method handling
during the deprecation warning.
Version 1.4.0.2 is a small update for people who use Transaction::Simple in
bundler (adding lib/transaction-simple.rb) and other scenarios where having
Hoe
as a runtime dependency (a bug fixed in Hoe several years ago, but not visible
in Transaction::Simple because it has not needed a re-release). All of the
files internally have also been marked as UTF-8, ensuring full Ruby 1.9
compatibility.

%prep

%build

%install
%gem_install \
  --doc-files="History.rdoc README.rdoc" \
  -f

%gem_packages

%changelog
openSUSE Build Service is sponsored by