stator 0.8.0 → 0.9.0.beta

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.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build.yml +10 -5
  3. data/.gitignore +1 -0
  4. data/.ruby-version +1 -1
  5. data/Appraisals +12 -15
  6. data/Gemfile +7 -6
  7. data/README.md +4 -20
  8. data/gemfiles/{activerecord_7.2.gemfile → activerecord_5.1.gemfile} +2 -1
  9. data/gemfiles/activerecord_5.1.gemfile.lock +74 -0
  10. data/gemfiles/{activerecord_8.0.gemfile → activerecord_5.2.gemfile} +2 -1
  11. data/gemfiles/activerecord_5.2.gemfile.lock +74 -0
  12. data/gemfiles/{activerecord_7.1.gemfile → activerecord_5.gemfile} +2 -1
  13. data/gemfiles/activerecord_5.gemfile.lock +74 -0
  14. data/gemfiles/activerecord_6.0.gemfile +2 -2
  15. data/gemfiles/activerecord_6.0.gemfile.lock +41 -69
  16. data/gemfiles/activerecord_6.1.gemfile +2 -2
  17. data/gemfiles/activerecord_6.1.gemfile.lock +41 -68
  18. data/gemfiles/activerecord_7.0.gemfile +2 -2
  19. data/gemfiles/activerecord_7.0.gemfile.lock +40 -66
  20. data/lib/stator/alias.rb +51 -30
  21. data/lib/stator/integration.rb +42 -49
  22. data/lib/stator/machine.rb +59 -58
  23. data/lib/stator/model.rb +78 -73
  24. data/lib/stator/transition.rb +61 -60
  25. data/lib/stator/version.rb +3 -5
  26. data/lib/stator.rb +13 -0
  27. data/spec/model_spec.rb +203 -318
  28. data/spec/spec_helper.rb +6 -2
  29. data/spec/support/models.rb +26 -45
  30. data/spec/support/schema.rb +42 -42
  31. data/stator.gemspec +3 -10
  32. metadata +19 -75
  33. data/.github/CODEOWNERS +0 -1
  34. data/.github/dependabot.yml +0 -24
  35. data/gemfiles/activerecord_7.1.gemfile.lock +0 -114
  36. data/gemfiles/activerecord_7.2.gemfile.lock +0 -113
  37. data/gemfiles/activerecord_8.0.gemfile.lock +0 -116
@@ -1,113 +0,0 @@
1
- PATH
2
- remote: ..
3
- specs:
4
- stator (0.8.0)
5
- activerecord (>= 6.0)
6
- base64
7
- benchmark
8
- bigdecimal
9
- logger
10
- mutex_m
11
-
12
- GEM
13
- remote: https://rubygems.org/
14
- specs:
15
- activemodel (7.2.2.1)
16
- activesupport (= 7.2.2.1)
17
- activerecord (7.2.2.1)
18
- activemodel (= 7.2.2.1)
19
- activesupport (= 7.2.2.1)
20
- timeout (>= 0.4.0)
21
- activerecord-nulldb-adapter (1.1.1)
22
- activerecord (>= 6.0, < 8.1)
23
- activesupport (7.2.2.1)
24
- base64
25
- benchmark (>= 0.3)
26
- bigdecimal
27
- concurrent-ruby (~> 1.0, >= 1.3.1)
28
- connection_pool (>= 2.2.5)
29
- drb
30
- i18n (>= 1.6, < 2)
31
- logger (>= 1.4.2)
32
- minitest (>= 5.1)
33
- securerandom (>= 0.3)
34
- tzinfo (~> 2.0, >= 2.0.5)
35
- appraisal (2.5.0)
36
- bundler
37
- rake
38
- thor (>= 0.14.0)
39
- base64 (0.2.0)
40
- benchmark (0.4.0)
41
- bigdecimal (3.1.9)
42
- concurrent-ruby (1.3.5)
43
- connection_pool (2.5.0)
44
- diff-lcs (1.6.1)
45
- drb (2.2.1)
46
- i18n (1.14.7)
47
- concurrent-ruby (~> 1.0)
48
- logger (1.7.0)
49
- minitest (5.25.5)
50
- mutex_m (0.3.0)
51
- rake (13.2.1)
52
- rspec (3.13.0)
53
- rspec-core (~> 3.13.0)
54
- rspec-expectations (~> 3.13.0)
55
- rspec-mocks (~> 3.13.0)
56
- rspec-core (3.13.3)
57
- rspec-support (~> 3.13.0)
58
- rspec-expectations (3.13.3)
59
- diff-lcs (>= 1.2.0, < 2.0)
60
- rspec-support (~> 3.13.0)
61
- rspec-mocks (3.13.2)
62
- diff-lcs (>= 1.2.0, < 2.0)
63
- rspec-support (~> 3.13.0)
64
- rspec-support (3.13.2)
65
- securerandom (0.4.1)
66
- thor (1.3.2)
67
- timeout (0.4.3)
68
- tzinfo (2.0.6)
69
- concurrent-ruby (~> 1.0)
70
-
71
- PLATFORMS
72
- arm64-darwin
73
- ruby
74
-
75
- DEPENDENCIES
76
- activerecord (~> 7.2.0)
77
- activerecord-nulldb-adapter
78
- appraisal
79
- rake
80
- rspec
81
- stator!
82
-
83
- CHECKSUMS
84
- activemodel (7.2.2.1) sha256=8398861f9ee2c4671a8357ab39e9b38a045fd656f6685a3dd5890c2419dbfdaf
85
- activerecord (7.2.2.1) sha256=79a31f71c32d5138717c2104e0ff105f5d82922247c85bdca144f2720e67fab9
86
- activerecord-nulldb-adapter (1.1.1) sha256=034c91106183b954b072fba14c2786adf1a2b9e852ce04f85f823afaf03e9820
87
- activesupport (7.2.2.1) sha256=842bcbf8a92977f80fb4750661a237cf5dd4fdd442066b3c35e88afb488647f5
88
- appraisal (2.5.0) sha256=36989221be127913b0dba8d114da2001e6b2dceea7bd4951200eaba764eed3ce
89
- base64 (0.2.0) sha256=0f25e9b21a02a0cc0cea8ef92b2041035d39350946e8789c562b2d1a3da01507
90
- benchmark (0.4.0) sha256=0f12f8c495545e3710c3e4f0480f63f06b4c842cc94cec7f33a956f5180e874a
91
- bigdecimal (3.1.9) sha256=2ffc742031521ad69c2dfc815a98e426a230a3d22aeac1995826a75dabfad8cc
92
- concurrent-ruby (1.3.5) sha256=813b3e37aca6df2a21a3b9f1d497f8cbab24a2b94cab325bffe65ee0f6cbebc6
93
- connection_pool (2.5.0) sha256=233b92f8d38e038c1349ccea65dd3772727d669d6d2e71f9897c8bf5cd53ebfc
94
- diff-lcs (1.6.1) sha256=12a5a83f3e37a8e2f4427268e305914d5f1879f22b4e73bb1a09f76a3dd86cd4
95
- drb (2.2.1) sha256=e9d472bf785f558b96b25358bae115646da0dbfd45107ad858b0bc0d935cb340
96
- i18n (1.14.7) sha256=ceba573f8138ff2c0915427f1fc5bdf4aa3ab8ae88c8ce255eb3ecf0a11a5d0f
97
- logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
98
- minitest (5.25.5) sha256=391b6c6cb43a4802bfb7c93af1ebe2ac66a210293f4a3fb7db36f2fc7dc2c756
99
- mutex_m (0.3.0) sha256=cfcb04ac16b69c4813777022fdceda24e9f798e48092a2b817eb4c0a782b0751
100
- rake (13.2.1) sha256=46cb38dae65d7d74b6020a4ac9d48afed8eb8149c040eccf0523bec91907059d
101
- rspec (3.13.0) sha256=d490914ac1d5a5a64a0e1400c1d54ddd2a501324d703b8cfe83f458337bab993
102
- rspec-core (3.13.3) sha256=25136507f4f9cf2e8977a2851e64e438b4331646054e345998714108745cdfe4
103
- rspec-expectations (3.13.3) sha256=0e6b5af59b900147698ea0ff80456c4f2e69cac4394fbd392fbd1ca561f66c58
104
- rspec-mocks (3.13.2) sha256=2327335def0e1665325a9b617e3af9ae20272741d80ac550336309a7c59abdef
105
- rspec-support (3.13.2) sha256=cea3a2463fd9b84b9dcc9685efd80ea701aa8f7b3decb3b3ce795ed67737dbec
106
- securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
107
- stator (0.8.0)
108
- thor (1.3.2) sha256=eef0293b9e24158ccad7ab383ae83534b7ad4ed99c09f96f1a6b036550abbeda
109
- timeout (0.4.3) sha256=9509f079b2b55fe4236d79633bd75e34c1c1e7e3fb4b56cb5fda61f80a0fe30e
110
- tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b
111
-
112
- BUNDLED WITH
113
- 2.6.7
@@ -1,116 +0,0 @@
1
- PATH
2
- remote: ..
3
- specs:
4
- stator (0.8.0)
5
- activerecord (>= 6.0)
6
- base64
7
- benchmark
8
- bigdecimal
9
- logger
10
- mutex_m
11
-
12
- GEM
13
- remote: https://rubygems.org/
14
- specs:
15
- activemodel (8.0.2)
16
- activesupport (= 8.0.2)
17
- activerecord (8.0.2)
18
- activemodel (= 8.0.2)
19
- activesupport (= 8.0.2)
20
- timeout (>= 0.4.0)
21
- activerecord-nulldb-adapter (1.1.1)
22
- activerecord (>= 6.0, < 8.1)
23
- activesupport (8.0.2)
24
- base64
25
- benchmark (>= 0.3)
26
- bigdecimal
27
- concurrent-ruby (~> 1.0, >= 1.3.1)
28
- connection_pool (>= 2.2.5)
29
- drb
30
- i18n (>= 1.6, < 2)
31
- logger (>= 1.4.2)
32
- minitest (>= 5.1)
33
- securerandom (>= 0.3)
34
- tzinfo (~> 2.0, >= 2.0.5)
35
- uri (>= 0.13.1)
36
- appraisal (2.5.0)
37
- bundler
38
- rake
39
- thor (>= 0.14.0)
40
- base64 (0.2.0)
41
- benchmark (0.4.0)
42
- bigdecimal (3.1.9)
43
- concurrent-ruby (1.3.5)
44
- connection_pool (2.5.0)
45
- diff-lcs (1.6.1)
46
- drb (2.2.1)
47
- i18n (1.14.7)
48
- concurrent-ruby (~> 1.0)
49
- logger (1.7.0)
50
- minitest (5.25.5)
51
- mutex_m (0.3.0)
52
- rake (13.2.1)
53
- rspec (3.13.0)
54
- rspec-core (~> 3.13.0)
55
- rspec-expectations (~> 3.13.0)
56
- rspec-mocks (~> 3.13.0)
57
- rspec-core (3.13.3)
58
- rspec-support (~> 3.13.0)
59
- rspec-expectations (3.13.3)
60
- diff-lcs (>= 1.2.0, < 2.0)
61
- rspec-support (~> 3.13.0)
62
- rspec-mocks (3.13.2)
63
- diff-lcs (>= 1.2.0, < 2.0)
64
- rspec-support (~> 3.13.0)
65
- rspec-support (3.13.2)
66
- securerandom (0.4.1)
67
- thor (1.3.2)
68
- timeout (0.4.3)
69
- tzinfo (2.0.6)
70
- concurrent-ruby (~> 1.0)
71
- uri (1.0.3)
72
-
73
- PLATFORMS
74
- arm64-darwin
75
- ruby
76
-
77
- DEPENDENCIES
78
- activerecord (~> 8.0.0)
79
- activerecord-nulldb-adapter
80
- appraisal
81
- rake
82
- rspec
83
- stator!
84
-
85
- CHECKSUMS
86
- activemodel (8.0.2) sha256=0ae1fb7fa1fae0699ba041a9e97702df42ea3b13f2d39f2d0fde51fca5f0656c
87
- activerecord (8.0.2) sha256=793470b92c44e4198d0262ac60086b7822f0ea585079ad67e32a6e4c86f2d90a
88
- activerecord-nulldb-adapter (1.1.1) sha256=034c91106183b954b072fba14c2786adf1a2b9e852ce04f85f823afaf03e9820
89
- activesupport (8.0.2) sha256=8565cddba31b900cdc17682fd66ecd020441e3eef320a9930285394e8c07a45e
90
- appraisal (2.5.0) sha256=36989221be127913b0dba8d114da2001e6b2dceea7bd4951200eaba764eed3ce
91
- base64 (0.2.0) sha256=0f25e9b21a02a0cc0cea8ef92b2041035d39350946e8789c562b2d1a3da01507
92
- benchmark (0.4.0) sha256=0f12f8c495545e3710c3e4f0480f63f06b4c842cc94cec7f33a956f5180e874a
93
- bigdecimal (3.1.9) sha256=2ffc742031521ad69c2dfc815a98e426a230a3d22aeac1995826a75dabfad8cc
94
- concurrent-ruby (1.3.5) sha256=813b3e37aca6df2a21a3b9f1d497f8cbab24a2b94cab325bffe65ee0f6cbebc6
95
- connection_pool (2.5.0) sha256=233b92f8d38e038c1349ccea65dd3772727d669d6d2e71f9897c8bf5cd53ebfc
96
- diff-lcs (1.6.1) sha256=12a5a83f3e37a8e2f4427268e305914d5f1879f22b4e73bb1a09f76a3dd86cd4
97
- drb (2.2.1) sha256=e9d472bf785f558b96b25358bae115646da0dbfd45107ad858b0bc0d935cb340
98
- i18n (1.14.7) sha256=ceba573f8138ff2c0915427f1fc5bdf4aa3ab8ae88c8ce255eb3ecf0a11a5d0f
99
- logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
100
- minitest (5.25.5) sha256=391b6c6cb43a4802bfb7c93af1ebe2ac66a210293f4a3fb7db36f2fc7dc2c756
101
- mutex_m (0.3.0) sha256=cfcb04ac16b69c4813777022fdceda24e9f798e48092a2b817eb4c0a782b0751
102
- rake (13.2.1) sha256=46cb38dae65d7d74b6020a4ac9d48afed8eb8149c040eccf0523bec91907059d
103
- rspec (3.13.0) sha256=d490914ac1d5a5a64a0e1400c1d54ddd2a501324d703b8cfe83f458337bab993
104
- rspec-core (3.13.3) sha256=25136507f4f9cf2e8977a2851e64e438b4331646054e345998714108745cdfe4
105
- rspec-expectations (3.13.3) sha256=0e6b5af59b900147698ea0ff80456c4f2e69cac4394fbd392fbd1ca561f66c58
106
- rspec-mocks (3.13.2) sha256=2327335def0e1665325a9b617e3af9ae20272741d80ac550336309a7c59abdef
107
- rspec-support (3.13.2) sha256=cea3a2463fd9b84b9dcc9685efd80ea701aa8f7b3decb3b3ce795ed67737dbec
108
- securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
109
- stator (0.8.0)
110
- thor (1.3.2) sha256=eef0293b9e24158ccad7ab383ae83534b7ad4ed99c09f96f1a6b036550abbeda
111
- timeout (0.4.3) sha256=9509f079b2b55fe4236d79633bd75e34c1c1e7e3fb4b56cb5fda61f80a0fe30e
112
- tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b
113
- uri (1.0.3) sha256=e9f2244608eea2f7bc357d954c65c910ce0399ca5e18a7a29207ac22d8767011
114
-
115
- BUNDLED WITH
116
- 2.6.7