eventful.rb 0.9.0 → 2.0.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.
- checksums.yaml +4 -4
- data/eventful.rb.gemspec +1 -2
- data/lib/Eventful/Poro/ClassMethods.rb +16 -3
- data/lib/Eventful/Poro/InstanceMethods.rb +15 -0
- data/lib/Eventful/Poro.rb +1 -0
- data/lib/Eventful/VERSION.rb +1 -1
- data/lib/Eventful.rb +1 -0
- metadata +4 -4
- data/lib/ObjectSpace/self.select_objects.rb +0 -15
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3017b588c0d922e9152066810cefb7382bd09a5b18c9c0856224c295f8634061
|
|
4
|
+
data.tar.gz: 74e3d2f8d3a031580295982a0bafcaabdb87832d44451a0dab26e6a43e4be03b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d99334183a1dbaacff20a11ed85f548358c6b313edfb9bb0c7cb13a4a6282f41a836cc6b13cb92a9e5190865816be37960b4c91f1e648ea8464d31cac5004eee
|
|
7
|
+
data.tar.gz: a686f359f285a2bdec9260b42f8111f5196e4ea84bdedcf688f314a3902c279558b8cae91f124b5d6af494fcacb5f9bce4f985c50f96e0ea030a5f686304e65d
|
data/eventful.rb.gemspec
CHANGED
|
@@ -4,7 +4,6 @@ Gem::Specification.new do |spec|
|
|
|
4
4
|
spec.name = 'eventful.rb'
|
|
5
5
|
|
|
6
6
|
spec.version = Eventful::VERSION
|
|
7
|
-
spec.date = '2026-04-12'
|
|
8
7
|
|
|
9
8
|
spec.summary = "Automatically change state with Stateful state machines."
|
|
10
9
|
spec.description = "By defining predicate methods which except for the addition of '?' matches a state machine event and then configuring an in memory or cron-based event loop, the state machine will be able to change state automatically."
|
|
@@ -14,7 +13,7 @@ Gem::Specification.new do |spec|
|
|
|
14
13
|
spec.homepage = 'http://github.com/thoran/eventful.rb'
|
|
15
14
|
spec.license = 'Ruby'
|
|
16
15
|
|
|
17
|
-
spec.required_ruby_version = '>=
|
|
16
|
+
spec.required_ruby_version = '>= 2.5'
|
|
18
17
|
|
|
19
18
|
spec.add_dependency('stateful.rb')
|
|
20
19
|
spec.files = [
|
|
@@ -1,14 +1,27 @@
|
|
|
1
1
|
# Eventful/Poro/ClassMethods.rb
|
|
2
2
|
# Eventful::Poro::ClassMethods
|
|
3
3
|
|
|
4
|
-
require_relative File.join('..', '..', 'ObjectSpace', 'self.select_objects')
|
|
5
|
-
|
|
6
4
|
module Eventful
|
|
7
5
|
module Poro
|
|
8
6
|
module ClassMethods
|
|
9
7
|
|
|
8
|
+
def <<(instance)
|
|
9
|
+
instances << instance
|
|
10
|
+
end
|
|
11
|
+
alias_method :register, :<<
|
|
12
|
+
|
|
10
13
|
def active
|
|
11
|
-
|
|
14
|
+
gc
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
private
|
|
18
|
+
|
|
19
|
+
def instances
|
|
20
|
+
@instances ||= []
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def gc
|
|
24
|
+
instances.tap{|instances| instances.reject!{|i| !i.active?}}
|
|
12
25
|
end
|
|
13
26
|
|
|
14
27
|
end
|
data/lib/Eventful/Poro.rb
CHANGED
data/lib/Eventful/VERSION.rb
CHANGED
data/lib/Eventful.rb
CHANGED
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: eventful.rb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 2.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- thoran
|
|
8
8
|
bindir: bin
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: stateful.rb
|
|
@@ -40,8 +40,8 @@ files:
|
|
|
40
40
|
- lib/Eventful/ClassMethods.rb
|
|
41
41
|
- lib/Eventful/Poro.rb
|
|
42
42
|
- lib/Eventful/Poro/ClassMethods.rb
|
|
43
|
+
- lib/Eventful/Poro/InstanceMethods.rb
|
|
43
44
|
- lib/Eventful/VERSION.rb
|
|
44
|
-
- lib/ObjectSpace/self.select_objects.rb
|
|
45
45
|
- test/ActiveRecord.rb
|
|
46
46
|
- test/ActiveRecordWhenNoFinalState.rb
|
|
47
47
|
- test/Eventful.rb
|
|
@@ -57,7 +57,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
57
57
|
requirements:
|
|
58
58
|
- - ">="
|
|
59
59
|
- !ruby/object:Gem::Version
|
|
60
|
-
version:
|
|
60
|
+
version: '2.5'
|
|
61
61
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
62
62
|
requirements:
|
|
63
63
|
- - ">="
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
# ObjectSpace/self.select_objects
|
|
2
|
-
# ObjectSpace.select_objects
|
|
3
|
-
|
|
4
|
-
# 20111117
|
|
5
|
-
# 0.0.1
|
|
6
|
-
|
|
7
|
-
module ObjectSpace
|
|
8
|
-
|
|
9
|
-
def self.select_objects(klass = Object, &block)
|
|
10
|
-
selected_objects = []
|
|
11
|
-
each_object(klass){|o| selected_objects << o if block.call(o)}
|
|
12
|
-
selected_objects
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
end
|