Skip to content
This repository has been archived by the owner on Apr 17, 2018. It is now read-only.

Commit

Permalink
Initial commit to dm-transactions.
Browse files Browse the repository at this point in the history
  • Loading branch information
snusnu committed Apr 1, 2010
0 parents commit 6fb9d54
Show file tree
Hide file tree
Showing 18 changed files with 1,043 additions and 0 deletions.
5 changes: 5 additions & 0 deletions .document
@@ -0,0 +1,5 @@
README.rdoc
lib/**/*.rb
bin/*
features/**/*.feature
LICENSE
25 changes: 25 additions & 0 deletions .gitignore
@@ -0,0 +1,25 @@
## MAC OS
.DS_Store

## TEXTMATE
*.tmproj
tmtags

## EMACS
*~
\#*
.\#*

## VIM
*.swp

## PROJECT::GENERAL
coverage
rdoc
pkg
.gem

## PROJECT::SPECIFIC
.bundle
spec/db

83 changes: 83 additions & 0 deletions Gemfile
@@ -0,0 +1,83 @@
source 'http://rubygems.org'

group :runtime do

# We bundle both AS and extlib while extlib compatibility needs to be kept around.
# require 'dm-core' will ensure that only one is activated at any time though.
# This is done by trying to require AS components and fallback to requiring
# extlib in case a LoadError was rescued when requiring AS code.
#
# Due to bundle exec activating all groups in the Gemfile, it's recommended to run
#
# bundle install --without quality
#
# to have a development environment that is able to run the specs. The problem is that
# metric_fu activates active_support=2.2.3 if we comment out the gem 'activesupport'
# declaration - have a look below for why we would want to do that (and a bit later, for
# why that's actually not *strictly* necessary, but recommended)
#
# To run the specs using AS, leave this Gemfile as it is and just run
#
# bundle install --without qality
# ADAPTERS=sqlite3 bundle exec rake spec # or whatever adapter
#
# To run the specs using extlib, comment out the: gem 'activesupport' line and run
#
# bundle install --without quality
# ADAPTERS=sqlite3 bundle exec rake spec # or whatever adapter
#
# If you want to run the quality tasks as provided by metric_fu and related gems,
# you have to run
#
# bundle install
# bundle exec rake metrics:all
#
# Switch back to a bundle without quality gems before trying to run the specs again
#
# bundle install --without quality
# ADAPTERS=sqlite3 bundle exec rake spec # or whatever adapter
#
# It was mentioned above that all this is not *strictly* necessary, and this is true.
# Currently dm-core does the following as the first require when checking for AS
#
# require 'active_support/core_ext/object/singleton_class'
#
# Because this method is not present in activesupport <= 3.0.0.beta, dm-core's feature
# detection will actually do the "right thing" and fall back to extlib. However, since
# this is not the case for all dm-more gems as well, the safest thing to do is to respect
# the more tedious workflow for now, as it will at least be guaranteed to work the same
# for both dm-core and dm-more.
#
# Note that this won't be an issue anymore once we dropped support for extlib completely,
# or bundler folks decide to support something like "bundle exec --without=foo rake spec"
# (which probably is not going to happen anytime soon).
#

if ENV['EXTLIB']
gem 'extlib', '~> 0.9.15', :git => 'git://github.com/datamapper/extlib.git'
else
gem 'activesupport', '~> 3.0.0.beta1', :git => 'git://github.com/rails/rails.git', :require => nil
end

gem 'dm-core', '~> 0.10.3', :git => 'git://github.com/datamapper/dm-core.git'

end

group :development do
gem 'rake', '~> 0.8.7'
gem 'rspec', '~> 1.3'
gem 'yard', '~> 0.5'
gem 'rcov', '~> 0.9.7'
gem 'jeweler', '~> 1.4'
gem 'data_objects', '~> 0.10.1'
gem 'do_sqlite3', '~> 0.10.1'
gem 'do_mysql', '~> 0.10.1'
gem 'do_postgres', '~> 0.10.1'
end

group :quality do
gem 'yardstick', '~> 0.1'
gem 'metric_fu', '~> 1.3'
gem 'reek', '~> 1.2.7'
gem 'roodi', '~> 2.1'
end
20 changes: 20 additions & 0 deletions LICENSE
@@ -0,0 +1,20 @@
Copyright (c) 2009 snusnu

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 changes: 23 additions & 0 deletions README.rdoc
@@ -0,0 +1,23 @@
= dm-transactions

This gem adds transaction support for datamapper. The currently supported adapters are

* postgres
* mysql
* sqlite3
* oracle
* sqlserver

== Note on Patches/Pull Requests

* Fork the project.
* Make your feature addition or bug fix.
* Add tests for it. This is important so I don't break it in a
future version unintentionally.
* Commit, do not mess with rakefile, version, or history.
(if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
* Send me a pull request. Bonus points for topic branches.

== Copyright

Copyright (c) 2010 snusnu. See LICENSE for details.
27 changes: 27 additions & 0 deletions Rakefile
@@ -0,0 +1,27 @@
require 'rubygems'
require 'rake'

begin

require 'jeweler'

Jeweler::Tasks.new do |gem|
gem.name = "dm-transactions"
gem.summary = %Q{Adds transaction support to datamapper}
gem.description = %Q{Makes transaction support available for adapters that support them}
gem.email = "gamsnjaga@gmail.com"
gem.homepage = "http://github.com/datamapper/dm-transactions"
gem.authors = ["Dirkjan Bussink (dbussink)", "Dan Kubb (dkubb)"]

gem.add_dependency 'dm-core', '~> 0.10.2'
gem.add_development_dependency 'rspec', '~> 1.3'

end

Jeweler::GemcutterTasks.new

FileList['tasks/**/*.rake'].each { |task| import task }

rescue LoadError
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
end
1 change: 1 addition & 0 deletions VERSION
@@ -0,0 +1 @@
0.10.3
64 changes: 64 additions & 0 deletions dm-transactions.gemspec
@@ -0,0 +1,64 @@
# Generated by jeweler
# DO NOT EDIT THIS FILE DIRECTLY
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
# -*- encoding: utf-8 -*-

Gem::Specification.new do |s|
s.name = %q{dm-transactions}
s.version = "0.10.3"

s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
s.authors = ["Dirkjan Bussink (dbussink)", "Dan Kubb (dkubb)"]
s.date = %q{2010-04-01}
s.description = %q{Makes transaction support available for adapters that support them}
s.email = %q{gamsnjaga@gmail.com}
s.extra_rdoc_files = [
"LICENSE",
"README.rdoc"
]
s.files = [
".document",
".gitignore",
"Gemfile",
"LICENSE",
"README.rdoc",
"Rakefile",
"VERSION",
"lib/dm-transactions.rb",
"spec/dm-transactions_spec.rb",
"spec/rcov.opts",
"spec/spec.opts",
"spec/spec_helper.rb",
"tasks/ci.rake",
"tasks/metrics.rake",
"tasks/spec.rake",
"tasks/yard.rake",
"tasks/yardstick.rake"
]
s.homepage = %q{http://github.com/datamapper/dm-transactions}
s.rdoc_options = ["--charset=UTF-8"]
s.require_paths = ["lib"]
s.rubygems_version = %q{1.3.6}
s.summary = %q{Adds transaction support to datamapper}
s.test_files = [
"spec/dm-transactions_spec.rb",
"spec/spec_helper.rb"
]

if s.respond_to? :specification_version then
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
s.specification_version = 3

if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
s.add_runtime_dependency(%q<dm-core>, ["~> 0.10.2"])
s.add_development_dependency(%q<rspec>, ["~> 1.3"])
else
s.add_dependency(%q<dm-core>, ["~> 0.10.2"])
s.add_dependency(%q<rspec>, ["~> 1.3"])
end
else
s.add_dependency(%q<dm-core>, ["~> 0.10.2"])
s.add_dependency(%q<rspec>, ["~> 1.3"])
end
end

0 comments on commit 6fb9d54

Please sign in to comment.