ayl-rails 0.1.3 → 0.2.0
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/Gemfile.lock +3 -3
- data/VERSION +1 -1
- data/ayl-rails.gemspec +3 -3
- data/lib/ayl-rails/railtie.rb +1 -1
- data/spec/rails_extensions_spec.rb +33 -0
- metadata +53 -18
data/Gemfile.lock
CHANGED
@@ -30,7 +30,7 @@ GEM
|
|
30
30
|
activesupport (3.1.2)
|
31
31
|
multi_json (~> 1.0)
|
32
32
|
arel (2.2.1)
|
33
|
-
ayl (0.
|
33
|
+
ayl (0.3.0)
|
34
34
|
builder (3.0.0)
|
35
35
|
diff-lcs (1.1.3)
|
36
36
|
erubis (2.7.0)
|
@@ -88,8 +88,8 @@ GEM
|
|
88
88
|
sprockets (2.1.1)
|
89
89
|
hike (~> 1.2)
|
90
90
|
rack (~> 1.0)
|
91
|
-
tilt (
|
92
|
-
sqlite3 (1.3.
|
91
|
+
tilt (~> 1.1, != 1.3.0)
|
92
|
+
sqlite3 (1.3.7)
|
93
93
|
thor (0.14.6)
|
94
94
|
tilt (1.3.3)
|
95
95
|
treetop (1.4.10)
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
data/ayl-rails.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "ayl-rails"
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.2.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["j0hnds@gmail.com"]
|
12
|
-
s.date = "
|
12
|
+
s.date = "2013-08-07"
|
13
13
|
s.description = "Partner to ayl to allow ActiveRecord after_* hooks to be made asynchronous."
|
14
14
|
s.email = "j0hnds@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -36,7 +36,7 @@ Gem::Specification.new do |s|
|
|
36
36
|
s.homepage = "http://github.com/j0hnds/ayl-rails"
|
37
37
|
s.licenses = ["MIT"]
|
38
38
|
s.require_paths = ["lib"]
|
39
|
-
s.rubygems_version = "1.8.
|
39
|
+
s.rubygems_version = "1.8.23"
|
40
40
|
s.summary = "Ayl Extension for Rails ActiveRecord support."
|
41
41
|
|
42
42
|
if s.respond_to? :specification_version then
|
data/lib/ayl-rails/railtie.rb
CHANGED
@@ -3,7 +3,7 @@ module Ayl
|
|
3
3
|
class Railtie < ::Rails::Railtie
|
4
4
|
|
5
5
|
# The hooks to be created/installed on ActiveRecord::Base
|
6
|
-
HOOKS = [ :after_update, :after_create, :after_save ]
|
6
|
+
HOOKS = [ :after_update, :after_create, :after_save, :after_commit ]
|
7
7
|
|
8
8
|
initializer "Ayl::Railtie.extend" do
|
9
9
|
# Want the ayl_send/opts at the instance level
|
@@ -60,6 +60,20 @@ class AfterCreate::MyModel < ActiveRecord::Base
|
|
60
60
|
end
|
61
61
|
end
|
62
62
|
|
63
|
+
module AfterCommit; end
|
64
|
+
|
65
|
+
class AfterCommit::MyModel < ActiveRecord::Base
|
66
|
+
|
67
|
+
ayl_after_commit :handle_after_commit
|
68
|
+
|
69
|
+
private
|
70
|
+
|
71
|
+
def handle_after_commit
|
72
|
+
WhatHappened.instance << "handle after commit"
|
73
|
+
end
|
74
|
+
|
75
|
+
end
|
76
|
+
|
63
77
|
module MessageOptions; end
|
64
78
|
|
65
79
|
class MessageOptions::MyModel < ActiveRecord::Base
|
@@ -78,6 +92,8 @@ class AllCallbacks::MyModel < ActiveRecord::Base
|
|
78
92
|
|
79
93
|
ayl_after_update :handle_after_update
|
80
94
|
|
95
|
+
ayl_after_commit :handle_after_commit
|
96
|
+
|
81
97
|
private
|
82
98
|
|
83
99
|
def handle_after_save
|
@@ -92,6 +108,10 @@ class AllCallbacks::MyModel < ActiveRecord::Base
|
|
92
108
|
WhatHappened.instance << "handle after save"
|
93
109
|
end
|
94
110
|
|
111
|
+
def handle_after_commit
|
112
|
+
WhatHappened.instance << "handle after commit"
|
113
|
+
end
|
114
|
+
|
95
115
|
end
|
96
116
|
|
97
117
|
module ConditionalCallbacks; end
|
@@ -180,6 +200,19 @@ describe "Rails Extensions" do
|
|
180
200
|
WhatHappened.instance.what_ran.should be_nil
|
181
201
|
end
|
182
202
|
|
203
|
+
it "the ayl_after_commit handler should fire when the model is committed" do
|
204
|
+
|
205
|
+
model = AfterCommit::MyModel.new(:name => 'spud')
|
206
|
+
model.save.should be_true
|
207
|
+
|
208
|
+
WhatHappened.instance.what_ran.should == [ 'handle after commit' ]
|
209
|
+
WhatHappened.instance.clear
|
210
|
+
|
211
|
+
model.update_attribute(:name, 'joan')
|
212
|
+
|
213
|
+
WhatHappened.instance.what_ran.should == [ 'handle after commit' ]
|
214
|
+
end
|
215
|
+
|
183
216
|
it "should not allow the callbacks to be run when the skip_ayl_callback is specified" do
|
184
217
|
AfterCreate::MyModel.skip_ayl_callback(:after_create)
|
185
218
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ayl-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-08-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: ayl
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: 0.1.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 0.1.0
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: rails
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: 3.0.0
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 3.0.0
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: rspec
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
@@ -43,10 +53,15 @@ dependencies:
|
|
43
53
|
version: 2.3.0
|
44
54
|
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 2.3.0
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: bundler
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ! '>='
|
@@ -54,10 +69,15 @@ dependencies:
|
|
54
69
|
version: 1.0.0
|
55
70
|
type: :development
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 1.0.0
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: jeweler
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
83
|
- - ! '>='
|
@@ -65,10 +85,15 @@ dependencies:
|
|
65
85
|
version: 1.6.4
|
66
86
|
type: :development
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 1.6.4
|
69
94
|
- !ruby/object:Gem::Dependency
|
70
95
|
name: rcov
|
71
|
-
requirement:
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
72
97
|
none: false
|
73
98
|
requirements:
|
74
99
|
- - ! '>='
|
@@ -76,10 +101,15 @@ dependencies:
|
|
76
101
|
version: '0'
|
77
102
|
type: :development
|
78
103
|
prerelease: false
|
79
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
80
110
|
- !ruby/object:Gem::Dependency
|
81
111
|
name: sqlite3
|
82
|
-
requirement:
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
83
113
|
none: false
|
84
114
|
requirements:
|
85
115
|
- - ! '>='
|
@@ -87,7 +117,12 @@ dependencies:
|
|
87
117
|
version: '0'
|
88
118
|
type: :development
|
89
119
|
prerelease: false
|
90
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
91
126
|
description: Partner to ayl to allow ActiveRecord after_* hooks to be made asynchronous.
|
92
127
|
email: j0hnds@gmail.com
|
93
128
|
executables: []
|
@@ -126,7 +161,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
126
161
|
version: '0'
|
127
162
|
segments:
|
128
163
|
- 0
|
129
|
-
hash:
|
164
|
+
hash: 945901130624305921
|
130
165
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
131
166
|
none: false
|
132
167
|
requirements:
|
@@ -135,7 +170,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
135
170
|
version: '0'
|
136
171
|
requirements: []
|
137
172
|
rubyforge_project:
|
138
|
-
rubygems_version: 1.8.
|
173
|
+
rubygems_version: 1.8.23
|
139
174
|
signing_key:
|
140
175
|
specification_version: 3
|
141
176
|
summary: Ayl Extension for Rails ActiveRecord support.
|