ar_after_transaction 0.2.4 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/Appraisals ADDED
@@ -0,0 +1,7 @@
1
+ appraise "rails2" do
2
+ gem "activerecord", "~>2.3.14"
3
+ end
4
+
5
+ appraise "rails3" do
6
+ gem "activerecord", "~>3.2.7"
7
+ end
data/Gemfile CHANGED
@@ -1,8 +1,8 @@
1
1
  source :rubygems
2
2
 
3
- group :dev do
4
- gem 'rake'
5
- gem 'rspec', '~>2'
6
- gem 'mysql'
7
- gem 'activerecord', '~>3', :require => 'active_record'
8
- end
3
+ gemspec
4
+
5
+ gem 'appraisal'
6
+ gem 'rake'
7
+ gem 'rspec', '~>2'
8
+ gem 'sqlite3'
data/Gemfile.lock CHANGED
@@ -1,23 +1,31 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ ar_after_transaction (0.2.5)
5
+ activerecord
6
+
1
7
  GEM
2
8
  remote: http://rubygems.org/
3
9
  specs:
4
- activemodel (3.1.3)
5
- activesupport (= 3.1.3)
10
+ activemodel (3.2.8)
11
+ activesupport (= 3.2.8)
6
12
  builder (~> 3.0.0)
7
- i18n (~> 0.6)
8
- activerecord (3.1.3)
9
- activemodel (= 3.1.3)
10
- activesupport (= 3.1.3)
11
- arel (~> 2.2.1)
13
+ activerecord (3.2.8)
14
+ activemodel (= 3.2.8)
15
+ activesupport (= 3.2.8)
16
+ arel (~> 3.0.2)
12
17
  tzinfo (~> 0.3.29)
13
- activesupport (3.1.3)
18
+ activesupport (3.2.8)
19
+ i18n (~> 0.6)
14
20
  multi_json (~> 1.0)
15
- arel (2.2.1)
16
- builder (3.0.0)
21
+ appraisal (0.4.1)
22
+ bundler
23
+ rake
24
+ arel (3.0.2)
25
+ builder (3.0.4)
17
26
  diff-lcs (1.1.3)
18
- i18n (0.6.0)
19
- multi_json (1.0.4)
20
- mysql (2.8.1)
27
+ i18n (0.6.1)
28
+ multi_json (1.3.6)
21
29
  rake (0.9.2.2)
22
30
  rspec (2.8.0)
23
31
  rspec-core (~> 2.8.0)
@@ -27,13 +35,15 @@ GEM
27
35
  rspec-expectations (2.8.0)
28
36
  diff-lcs (~> 1.1.2)
29
37
  rspec-mocks (2.8.0)
30
- tzinfo (0.3.31)
38
+ sqlite3 (1.3.6)
39
+ tzinfo (0.3.33)
31
40
 
32
41
  PLATFORMS
33
42
  ruby
34
43
 
35
44
  DEPENDENCIES
36
- activerecord (~> 3)
37
- mysql
45
+ appraisal
46
+ ar_after_transaction!
38
47
  rake
39
48
  rspec (~> 2)
49
+ sqlite3
data/Rakefile CHANGED
@@ -1,22 +1,27 @@
1
- require 'bundler/gem_tasks'
1
+ require "bundler/setup"
2
+ require "bundler/gem_tasks"
3
+ require "appraisal"
4
+
2
5
 
3
6
  task :spec do
4
7
  sh "rspec spec"
5
8
  end
6
9
 
7
10
  task :default do
8
- sh "RAILS='~>2' && (bundle || bundle install) && bundle exec rake spec"
9
- sh "RAILS='~>3' && (bundle || bundle install) && bundle exec rake spec"
11
+ sh "bundle exec rake appraisal:install && bundle exec rake appraisal spec"
10
12
  end
11
13
 
14
+ # extracted from https://github.com/grosser/project_template
12
15
  rule /^version:bump:.*/ do |t|
13
16
  sh "git status | grep 'nothing to commit'" # ensure we are not dirty
14
17
  index = ['major', 'minor','patch'].index(t.name.split(':').last)
15
- file = 'lib/youtube_search/version.rb'
18
+ file = 'lib/ar_after_transaction/version.rb'
16
19
 
17
20
  version_file = File.read(file)
18
21
  old_version, *version_parts = version_file.match(/(\d+)\.(\d+)\.(\d+)/).to_a
19
22
  version_parts[index] = version_parts[index].to_i + 1
23
+ version_parts[2] = 0 if index < 2 # remove patch for minor
24
+ version_parts[1] = 0 if index < 1 # remove minor for major
20
25
  new_version = version_parts * '.'
21
26
  File.open(file,'w'){|f| f.write(version_file.sub(old_version, new_version)) }
22
27
 
data/Readme.md CHANGED
@@ -4,8 +4,7 @@ Normally everything gets rolled back when a transaction fails, but you cannot ro
4
4
 
5
5
  Install
6
6
  =======
7
- rails plugin install git://github.com/grosser/ar_after_transaction
8
- or
7
+
9
8
  gem install ar_after_transaction
10
9
 
11
10
 
@@ -59,10 +58,10 @@ If you use transactional fixtures you should change it in test mode.
59
58
 
60
59
  Alternative
61
60
  ===========
62
- [after_commit](https://github.com/freelancing-god/after_commit)<br/>
61
+ [after_commit](https://github.com/pat/after_commit)<br/>
63
62
  + threadsafe<br/>
64
- + more fine-grained callacks<br/>
65
- - no instant `after_transaction do` support<br/>
63
+ + more fine-grained callbacks (before_commit, `after_commit`, before_rollback, after_rollback)<br/>
64
+ - doesn't let you define `after_transaction` callbacks *anywhere* like `ar_after_transaction` does (*outside* of the `after_commit`, etc. callbacks which only happen at certain points in the model's life cycle)<br/>
66
65
  - more complex<br/>
67
66
 
68
67
  Authors
@@ -8,4 +8,5 @@ Gem::Specification.new "ar_after_transaction", ARAfterTransaction::VERSION do |s
8
8
  s.homepage = "http://github.com/grosser/ar_after_transaction"
9
9
  s.files = `git ls-files`.split("\n")
10
10
  s.add_runtime_dependency "activerecord"
11
+ s.license = "MIT"
11
12
  end
@@ -0,0 +1,11 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source :rubygems
4
+
5
+ gem "appraisal"
6
+ gem "rake"
7
+ gem "rspec", "~>2"
8
+ gem "sqlite3"
9
+ gem "activerecord", "~>2.3.14"
10
+
11
+ gemspec :path=>"../"
@@ -0,0 +1,37 @@
1
+ PATH
2
+ remote: /Users/mgrosser/code/tools/ar_after_transaction
3
+ specs:
4
+ ar_after_transaction (0.2.4)
5
+ activerecord
6
+
7
+ GEM
8
+ remote: http://rubygems.org/
9
+ specs:
10
+ activerecord (2.3.14)
11
+ activesupport (= 2.3.14)
12
+ activesupport (2.3.14)
13
+ appraisal (0.4.1)
14
+ bundler
15
+ rake
16
+ diff-lcs (1.1.3)
17
+ rake (0.9.2.2)
18
+ rspec (2.11.0)
19
+ rspec-core (~> 2.11.0)
20
+ rspec-expectations (~> 2.11.0)
21
+ rspec-mocks (~> 2.11.0)
22
+ rspec-core (2.11.1)
23
+ rspec-expectations (2.11.3)
24
+ diff-lcs (~> 1.1.3)
25
+ rspec-mocks (2.11.3)
26
+ sqlite3 (1.3.6)
27
+
28
+ PLATFORMS
29
+ ruby
30
+
31
+ DEPENDENCIES
32
+ activerecord (~> 2.3.14)
33
+ appraisal
34
+ ar_after_transaction!
35
+ rake
36
+ rspec (~> 2)
37
+ sqlite3
@@ -0,0 +1,11 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source :rubygems
4
+
5
+ gem "appraisal"
6
+ gem "rake"
7
+ gem "rspec", "~>2"
8
+ gem "sqlite3"
9
+ gem "activerecord", "~>3.2.7"
10
+
11
+ gemspec :path=>"../"
@@ -0,0 +1,50 @@
1
+ PATH
2
+ remote: /Users/mgrosser/code/tools/ar_after_transaction
3
+ specs:
4
+ ar_after_transaction (0.2.4)
5
+ activerecord
6
+
7
+ GEM
8
+ remote: http://rubygems.org/
9
+ specs:
10
+ activemodel (3.2.8)
11
+ activesupport (= 3.2.8)
12
+ builder (~> 3.0.0)
13
+ activerecord (3.2.8)
14
+ activemodel (= 3.2.8)
15
+ activesupport (= 3.2.8)
16
+ arel (~> 3.0.2)
17
+ tzinfo (~> 0.3.29)
18
+ activesupport (3.2.8)
19
+ i18n (~> 0.6)
20
+ multi_json (~> 1.0)
21
+ appraisal (0.4.1)
22
+ bundler
23
+ rake
24
+ arel (3.0.2)
25
+ builder (3.0.4)
26
+ diff-lcs (1.1.3)
27
+ i18n (0.6.1)
28
+ multi_json (1.3.6)
29
+ rake (0.9.2.2)
30
+ rspec (2.11.0)
31
+ rspec-core (~> 2.11.0)
32
+ rspec-expectations (~> 2.11.0)
33
+ rspec-mocks (~> 2.11.0)
34
+ rspec-core (2.11.1)
35
+ rspec-expectations (2.11.3)
36
+ diff-lcs (~> 1.1.3)
37
+ rspec-mocks (2.11.3)
38
+ sqlite3 (1.3.6)
39
+ tzinfo (0.3.33)
40
+
41
+ PLATFORMS
42
+ ruby
43
+
44
+ DEPENDENCIES
45
+ activerecord (~> 3.2.7)
46
+ appraisal
47
+ ar_after_transaction!
48
+ rake
49
+ rspec (~> 2)
50
+ sqlite3
@@ -1,3 +1,3 @@
1
1
  module ARAfterTransaction
2
- VERSION = Version = '0.2.4'
2
+ VERSION = Version = '0.2.5'
3
3
  end
@@ -1,4 +1,5 @@
1
1
  require 'active_record'
2
+ require 'ar_after_transaction/version'
2
3
 
3
4
  module ARAfterTransaction
4
5
  def self.included(base)
@@ -1,4 +1,4 @@
1
- require File.join(File.dirname(__FILE__), 'spec_helper')
1
+ require "spec_helper"
2
2
 
3
3
  class AnExpectedError < Exception
4
4
  end
@@ -1,9 +1,9 @@
1
1
  ActiveRecord::Base.establish_connection(
2
- :adapter => "mysql", # need something that has transactions...
3
- :database => "ar_after_transaction"
2
+ :adapter => 'sqlite3',
3
+ :database => ':memory:'
4
4
  )
5
5
 
6
- ActiveRecord::Base.connection.execute('drop table if exists users')
6
+ ActiveRecord::Migration.verbose = false
7
7
  ActiveRecord::Schema.define(:version => 1) do
8
8
  create_table :users do |t|
9
9
  t.string :name
@@ -11,6 +11,7 @@ ActiveRecord::Schema.define(:version => 1) do
11
11
  end
12
12
  end
13
13
 
14
+ # for detailed debugging:
14
15
  #require 'logger'
15
16
  #ActiveRecord::Base.logger = Logger.new(STDOUT)
16
17
 
data/spec/spec_helper.rb CHANGED
@@ -1,4 +1,2 @@
1
- current = File.dirname(File.dirname(__FILE__))
2
- $LOAD_PATH << "#{current}/lib"
3
- require "#{current}/init"
4
- require "#{current}/spec/setup_database"
1
+ require 'ar_after_transaction'
2
+ require File.expand_path '../setup_database', __FILE__
metadata CHANGED
@@ -1,69 +1,92 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: ar_after_transaction
3
- version: !ruby/object:Gem::Version
4
- version: 0.2.4
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 2
9
+ - 5
10
+ version: 0.2.5
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Michael Grosser
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2012-01-09 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2012-10-20 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
15
21
  name: activerecord
16
- requirement: &73628820 !ruby/object:Gem::Requirement
22
+ version_requirements: &id001 !ruby/object:Gem::Requirement
17
23
  none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: '0'
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ hash: 3
28
+ segments:
29
+ - 0
30
+ version: "0"
22
31
  type: :runtime
32
+ requirement: *id001
23
33
  prerelease: false
24
- version_requirements: *73628820
25
34
  description:
26
35
  email: michael@grosser.it
27
36
  executables: []
37
+
28
38
  extensions: []
39
+
29
40
  extra_rdoc_files: []
30
- files:
41
+
42
+ files:
43
+ - Appraisals
31
44
  - Gemfile
32
45
  - Gemfile.lock
33
46
  - Rakefile
34
47
  - Readme.md
35
48
  - ar_after_transaction.gemspec
36
- - init.rb
49
+ - gemfiles/rails2.gemfile
50
+ - gemfiles/rails2.gemfile.lock
51
+ - gemfiles/rails3.gemfile
52
+ - gemfiles/rails3.gemfile.lock
37
53
  - lib/ar_after_transaction.rb
38
54
  - lib/ar_after_transaction/version.rb
39
55
  - spec/ar_after_transaction_spec.rb
40
56
  - spec/setup_database.rb
41
57
  - spec/spec_helper.rb
42
58
  homepage: http://github.com/grosser/ar_after_transaction
43
- licenses: []
59
+ licenses:
60
+ - MIT
44
61
  post_install_message:
45
62
  rdoc_options: []
46
- require_paths:
63
+
64
+ require_paths:
47
65
  - lib
48
- required_ruby_version: !ruby/object:Gem::Requirement
66
+ required_ruby_version: !ruby/object:Gem::Requirement
49
67
  none: false
50
- requirements:
51
- - - ! '>='
52
- - !ruby/object:Gem::Version
53
- version: '0'
54
- segments:
68
+ requirements:
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ hash: 3
72
+ segments:
55
73
  - 0
56
- hash: 297393871
57
- required_rubygems_version: !ruby/object:Gem::Requirement
74
+ version: "0"
75
+ required_rubygems_version: !ruby/object:Gem::Requirement
58
76
  none: false
59
- requirements:
60
- - - ! '>='
61
- - !ruby/object:Gem::Version
62
- version: '0'
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ hash: 3
81
+ segments:
82
+ - 0
83
+ version: "0"
63
84
  requirements: []
85
+
64
86
  rubyforge_project:
65
- rubygems_version: 1.8.10
87
+ rubygems_version: 1.8.24
66
88
  signing_key:
67
89
  specification_version: 3
68
90
  summary: Execute irreversible actions only when transactions are not rolled back
69
91
  test_files: []
92
+
data/init.rb DELETED
@@ -1 +0,0 @@
1
- require 'ar_after_transaction'