wisper-sequel 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0c068f6803ae42acab6e48913b17870e779a9554
4
- data.tar.gz: ed8b344055445ddd96a1c308d624d79020a4b2d6
3
+ metadata.gz: f151f1f449fb6383995b17b7cfd4ff4bdb8b297e
4
+ data.tar.gz: 7abc923724a7e07ec4989d3070684e4e753636cf
5
5
  SHA512:
6
- metadata.gz: 2cea9a27c006c22b87d7691ea0d9a07c89ff04a4392ea8ff18aad0d51d25ef19cebc03fbc45b04f853a223061376259f6693f84cc17069c3cf6f0cf42b049137
7
- data.tar.gz: 384fc7c5fa3bbb2359aaa223a98402f68fb11151df85fa14cb3682a1c471bdcd8c763d927b5f0afe4fac8abe4aa6e337d2e356204e3452c19b89dba51947357d
6
+ metadata.gz: 8a1c896313b0d4a75b5080cca07add4d2da857d67effb1cd9b0fa77636bfe15cf81a5324c9bc368616b3325570a4ac55f7185e995e838080b88d04eb18da47e4
7
+ data.tar.gz: 7c9e45d4314757b7e36862d32fb83a28c12971e63ae86e576c3d9d3b04ca99b02fcdc8a1d6f20d9d4a0285153e3688ecc0b19c1b5befba8d8c19718f0298eadf
@@ -1,6 +1,8 @@
1
1
  language: ruby
2
2
  rvm:
3
+ - 1.9.3
3
4
  - 2.1.5
5
+ - rbx-2
4
6
  before_install: gem install bundler -v 1.10.3
5
7
  addons:
6
8
  code_climate:
@@ -1,17 +1,23 @@
1
1
  module Sequel
2
2
  module Plugins
3
3
  module Wisper
4
- def self.apply(model, *attrs)
4
+ def self.apply(model, opts={})
5
5
  require 'sequel/extensions/inflector'
6
6
  require 'wisper'
7
7
 
8
8
  model.send(:include, ::Wisper::Publisher)
9
9
  end
10
10
 
11
- def self.configure(model, *attrs)
11
+ def self.configure(model, opts={})
12
+ model.instance_eval do
13
+ @event_param_block = opts[:event_param_block]
14
+ end
12
15
  end
13
16
 
14
17
  module ClassMethods
18
+ def event_param_block
19
+ @event_param_block
20
+ end
15
21
  end
16
22
 
17
23
  module InstanceMethods
@@ -20,79 +26,79 @@ module Sequel
20
26
  end
21
27
 
22
28
  def before_validation
23
- broadcast(:before_validation, self)
29
+ broadcast(:before_validation, event_param)
24
30
  super
25
31
  end
26
32
 
27
33
  def after_validation
28
34
  super
29
- broadcast(:after_validation, self)
35
+ broadcast(:after_validation, event_param)
30
36
  end
31
37
 
32
38
  def before_save
33
- broadcast(:before_save, self)
39
+ broadcast(:before_save, event_param)
34
40
  super
35
41
  end
36
42
 
37
43
  def after_save
38
44
  super
39
- broadcast(:after_save, self)
45
+ broadcast(:after_save, event_param)
40
46
  end
41
47
 
42
48
  def before_create
43
- broadcast(:before_create, self)
49
+ broadcast(:before_create, event_param)
44
50
  super
45
51
  end
46
52
 
47
53
  def after_create
48
54
  super
49
- broadcast(:after_create, self)
50
- db.after_commit { broadcast(:"create_#{model_name}_successful", self) }
51
- db.after_rollback { broadcast(:"create_#{model_name}_failed", self) }
55
+ broadcast(:after_create, event_param)
56
+ db.after_commit { broadcast(:"create_#{model_name}_successful", event_param) }
57
+ db.after_rollback { broadcast(:"create_#{model_name}_failed", event_param) }
52
58
  end
53
59
 
54
60
  def before_update
55
- broadcast(:before_update, self)
61
+ broadcast(:before_update, event_param)
56
62
  super
57
63
  end
58
64
 
59
65
  def after_update
60
66
  super
61
- broadcast(:after_update, self)
62
- db.after_commit { broadcast(:"update_#{model_name}_successful", self) }
63
- db.after_rollback { broadcast(:"update_#{model_name}_failed", self) }
67
+ broadcast(:after_update, event_param)
68
+ db.after_commit { broadcast(:"update_#{model_name}_successful", event_param) }
69
+ db.after_rollback { broadcast(:"update_#{model_name}_failed", event_param) }
64
70
  end
65
71
 
66
72
  def before_destroy
67
- broadcast(:before_destroy, self)
73
+ broadcast(:before_destroy, event_param)
68
74
  super
69
75
  end
70
76
 
71
77
  def after_destroy
72
78
  super
73
- broadcast(:after_destroy, self)
79
+ broadcast(:after_destroy, event_param)
74
80
  end
75
81
 
76
82
  def after_commit
77
83
  super
78
- broadcast(:after_commit, self)
84
+ broadcast(:after_commit, event_param)
79
85
  end
80
86
 
81
87
  def after_rollback
82
88
  super
83
- broadcast(:after_rollback, self)
89
+ broadcast(:after_rollback, event_param)
84
90
  end
85
91
 
86
92
  def after_destroy_commit
87
93
  super
88
- broadcast(:after_destroy_commit, self)
89
- broadcast(:"destroy_#{model_name}_successful", self)
94
+ broadcast(:after_destroy_commit, event_param)
95
+ broadcast(:"destroy_#{model_name}_successful", event_param)
90
96
  end
91
97
 
92
98
  def after_destroy_rollback
93
99
  super
94
- broadcast(:after_destroy_rollback, self)
95
- broadcast(:"destroy_#{model_name}_failed", self)
100
+ broadcast(:after_destroy_rollback, event_param)
101
+ broadcast(:"destroy_#{model_name}_failed", event_param)
96
102
  end
97
103
 
98
104
  def around_validation
@@ -102,7 +108,7 @@ module Sequel
102
108
  ensure
103
109
  if on_save? && !res
104
110
  action = new? ? 'create' : 'update'
105
- broadcast(:"#{action}_#{model_name}_failed", self)
111
+ broadcast(:"#{action}_#{model_name}_failed", event_param)
106
112
  end
107
113
  raise error if error
108
114
  end
@@ -114,19 +120,23 @@ module Sequel
114
120
  end
115
121
 
116
122
  def on_save
117
- @on_save ||= 0
118
- @on_save += 1
123
+ @on_save = true
119
124
  yield
120
125
  ensure
121
- @on_save -= 1
126
+ @on_save = nil
122
127
  end
123
128
 
124
129
  def on_save?
125
- @on_save && @on_save > 0
130
+ @on_save
126
131
  end
127
- end
128
132
 
129
- module DatasetMethods
133
+ def event_param
134
+ event_param_block ? event_param_block.call(self) : self
135
+ end
136
+
137
+ def event_param_block
138
+ self.class.event_param_block
139
+ end
130
140
  end
131
141
  end
132
142
  end
@@ -1,5 +1,5 @@
1
1
  module Wisper
2
2
  module Sequel
3
- VERSION = "1.0.0"
3
+ VERSION = "1.0.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wisper-sequel
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Damián Silvani
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-06-20 00:00:00.000000000 Z
11
+ date: 2015-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -150,7 +150,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
150
150
  version: '0'
151
151
  requirements: []
152
152
  rubyforge_project:
153
- rubygems_version: 2.4.3
153
+ rubygems_version: 2.4.6
154
154
  signing_key:
155
155
  specification_version: 4
156
156
  summary: A Sequel plugin for broadcasting model hooks as Wisper events.