active-record-transactioner 0.0.3 → 0.0.4
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/README.rdoc +10 -6
- data/VERSION +1 -1
- data/active-record-transactioner.gemspec +2 -2
- data/lib/active-record-transactioner.rb +9 -0
- metadata +3 -3
data/README.rdoc
CHANGED
@@ -1,19 +1,23 @@
|
|
1
1
|
= active-record-transactioner
|
2
2
|
|
3
|
-
trans = ActiveRecordTransactioner.new
|
4
|
-
|
5
3
|
#Iterate a million times - will save each 1000 in a transaction with "save!".
|
6
|
-
|
7
|
-
|
4
|
+
ActiveRecordTransactioner.new do |trans|
|
5
|
+
models.each do |model|
|
6
|
+
trans.queue(model)
|
7
|
+
end
|
8
8
|
end
|
9
9
|
|
10
10
|
#You can also do it a bit more complicated.
|
11
|
-
|
11
|
+
ActiveRecordTransactioner.new(
|
12
12
|
:call_args => ["Hello world!"],
|
13
13
|
:call_method => :save!,
|
14
14
|
:transaction_method => :transaction,
|
15
15
|
:transaction_size => 1000
|
16
|
-
)
|
16
|
+
) do |trans|
|
17
|
+
models.each do |model|
|
18
|
+
trans.queue(model)
|
19
|
+
end
|
20
|
+
end
|
17
21
|
|
18
22
|
== Contributing to active-record-transactioner
|
19
23
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.4
|
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "active-record-transactioner"
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.4"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Kasper Johansen"]
|
12
|
-
s.date = "2013-04-
|
12
|
+
s.date = "2013-04-09"
|
13
13
|
s.description = "Queue up calls to specific models and execute them in transactions, after a certain number of models have been added."
|
14
14
|
s.email = "kj@gfish.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -72,6 +72,15 @@ class ActiveRecordTransactioner
|
|
72
72
|
rescue => e
|
73
73
|
puts e.inspect
|
74
74
|
puts e.backtrace
|
75
|
+
|
76
|
+
if e.is_a?(NoMethodError) and e.message.to_s.include?("`reverse' for nil:NilClass")
|
77
|
+
puts
|
78
|
+
puts "Warning: Known Rails reverse error when using transaction - retrying in 2 sec."
|
79
|
+
sleep 2
|
80
|
+
puts "Retrying"
|
81
|
+
puts
|
82
|
+
retry
|
83
|
+
end
|
75
84
|
ensure
|
76
85
|
@threads.delete(Thread.current)
|
77
86
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active-record-transactioner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-04-
|
12
|
+
date: 2013-04-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
@@ -112,7 +112,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
112
112
|
version: '0'
|
113
113
|
segments:
|
114
114
|
- 0
|
115
|
-
hash:
|
115
|
+
hash: 1215318973199029384
|
116
116
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
117
117
|
none: false
|
118
118
|
requirements:
|