stance 0.8.1 → 0.8.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -0
- data/Gemfile.lock +5 -1
- data/app/models/stance/event_record.rb +1 -1
- data/lib/stance/event.rb +13 -6
- data/lib/stance/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8572eed60f1685bd2f34849875259f071a8dbe05f7e1cd02aeb97a155c70021a
|
4
|
+
data.tar.gz: 8abb221e5336b9d8034581ffd853cd248276b2641aeb6d23c9db67f16a456828
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 86def811871ad856a7e35cb24a9a8f84b4fe71ae2834005bf75224f99bc0b10c8b73a9c4ca2dee0de272a688b436b9edb2d0602def3e04222a1211d0b1984d89
|
7
|
+
data.tar.gz: 3dea2b96f4f894c1ff315c2b617e688de3f3886ad0e52528d1708778bcc5cb906fc19fc7620885103bf8bc8301a6acea879ae0a742abedc43f19b0ef19a95a29
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
stance (0.8.
|
4
|
+
stance (0.8.3)
|
5
5
|
multi_json (~> 1.15)
|
6
6
|
rails (>= 7.0, < 8.0)
|
7
7
|
|
@@ -95,6 +95,9 @@ GEM
|
|
95
95
|
connection_pool (2.4.1)
|
96
96
|
crass (1.0.6)
|
97
97
|
date (3.3.4)
|
98
|
+
debug (1.9.1)
|
99
|
+
irb (~> 1.10)
|
100
|
+
reline (>= 0.3.8)
|
98
101
|
drb (2.2.0)
|
99
102
|
ruby2_keywords
|
100
103
|
erubi (1.12.0)
|
@@ -237,6 +240,7 @@ PLATFORMS
|
|
237
240
|
DEPENDENCIES
|
238
241
|
autotest-suffix
|
239
242
|
combustion
|
243
|
+
debug
|
240
244
|
minitest
|
241
245
|
minitest-autotest
|
242
246
|
minitest-focus
|
data/lib/stance/event.rb
CHANGED
@@ -8,6 +8,8 @@ module Stance
|
|
8
8
|
attr_reader :record, :options, :name
|
9
9
|
|
10
10
|
class << self
|
11
|
+
attr_accessor :callback_methods
|
12
|
+
|
11
13
|
def before_create(*methods, &block)
|
12
14
|
set_callback :create, :before, *methods, &block
|
13
15
|
end
|
@@ -15,6 +17,15 @@ module Stance
|
|
15
17
|
def after_create(*methods, &block)
|
16
18
|
set_callback :create, :after, *methods, &block
|
17
19
|
end
|
20
|
+
|
21
|
+
def method_added(method_name)
|
22
|
+
super
|
23
|
+
|
24
|
+
return if self == Stance::Event || !instance_methods(false).include?(method_name)
|
25
|
+
|
26
|
+
self.callback_methods ||= []
|
27
|
+
self.callback_methods << method_name
|
28
|
+
end
|
18
29
|
end
|
19
30
|
|
20
31
|
def initialize(name, subject, metadata, options)
|
@@ -44,9 +55,9 @@ module Stance
|
|
44
55
|
run_callbacks :create do
|
45
56
|
# Call each public method of the Event class if a custom class.
|
46
57
|
if self.class.name != 'Stance::Event'
|
47
|
-
Rails.logger.
|
58
|
+
Rails.logger.debug "Event: #{full_name}"
|
48
59
|
|
49
|
-
callback_methods
|
60
|
+
self.class.callback_methods&.each { |method| send method }
|
50
61
|
end
|
51
62
|
|
52
63
|
record.save if @options[:record]
|
@@ -66,10 +77,6 @@ module Stance
|
|
66
77
|
|
67
78
|
private
|
68
79
|
|
69
|
-
def callback_methods
|
70
|
-
public_methods(false) - Stance::Event.instance_methods(false)
|
71
|
-
end
|
72
|
-
|
73
80
|
# Event is a singleton and already exists.
|
74
81
|
def singleton_exists?
|
75
82
|
options[:singleton] && subject.events.active.exists?(name: name)
|
data/lib/stance/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stance
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joel Moss
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-01-
|
11
|
+
date: 2024-01-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: multi_json
|