state_machine_enum 0.1.1 → 0.1.2
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/CHANGELOG.md +24 -0
- data/lib/state_machine_enum/version.rb +1 -1
- data/lib/state_machine_enum.rb +1 -0
- metadata +38 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4902a42140176efda107ea4e5caef0b4bd3f8e64554b2fde61f3507e51e80d96
|
4
|
+
data.tar.gz: 9f85490534c6667640cd050e13eeaf7ce202bbd5757e7ade6cd4d6cb4c191b90
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 10ae6f605953606f563a80aa15b9cc7a70eedc73593d152aba3d5ab773b0243002dc13b0f66888e83008d6c0a341bee762a5bdbde61712e2310833b1345bc067
|
7
|
+
data.tar.gz: 8b7c7b452a1e0b962b9ef2f643dcdd220597474c87269dc4565bb5a8974af000e78bed0f2c41f8da40adf663a51bcdd21d0a6b7bb9bb3bab0f8a597c36d90032
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# Changelog
|
2
|
+
All notable changes to this project will be documented in this file.
|
3
|
+
|
4
|
+
This format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
5
|
+
|
6
|
+
## 0.1.2
|
7
|
+
|
8
|
+
### Added
|
9
|
+
|
10
|
+
- basic tests for a library
|
11
|
+
|
12
|
+
### Changed
|
13
|
+
|
14
|
+
- #ensure_<attribute>_may_transition_to! method now actually verifies that an attribute can transition to a new state.
|
15
|
+
|
16
|
+
## 0.1.1
|
17
|
+
|
18
|
+
### Added
|
19
|
+
|
20
|
+
- Provide real authorts of this gem.
|
21
|
+
|
22
|
+
## 0.1.0
|
23
|
+
|
24
|
+
- Initial release
|
data/lib/state_machine_enum.rb
CHANGED
@@ -114,6 +114,7 @@ module StateMachineEnum
|
|
114
114
|
define_method(:"ensure_#{attribute_name}_may_transition_to!") do |next_state|
|
115
115
|
val = self[attribute_name]
|
116
116
|
raise InvalidState, "#{attribute_name} already is #{val.inspect}" if next_state.to_s == val
|
117
|
+
raise InvalidState, "#{attribute_name} may not transition from #{val.inspect} to #{next_state.inspect}" unless collector.may_transition?(val, next_state)
|
117
118
|
end
|
118
119
|
|
119
120
|
define_method(:"#{attribute_name}_may_transition_to?") do |next_state|
|
metadata
CHANGED
@@ -1,31 +1,59 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: state_machine_enum
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Julik Tarkhanov
|
8
8
|
- Sebastian van Hesteren
|
9
9
|
- Stanislav Katkov
|
10
10
|
autorequire:
|
11
|
-
bindir:
|
11
|
+
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2024-06-
|
13
|
+
date: 2024-06-18 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
|
-
- - "
|
19
|
+
- - "~>"
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: '
|
21
|
+
version: '7'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
|
-
- - "
|
26
|
+
- - "~>"
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: '
|
28
|
+
version: '7'
|
29
|
+
- !ruby/object:Gem::Dependency
|
30
|
+
name: sqlite3
|
31
|
+
requirement: !ruby/object:Gem::Requirement
|
32
|
+
requirements:
|
33
|
+
- - "~>"
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: '1.4'
|
36
|
+
type: :development
|
37
|
+
prerelease: false
|
38
|
+
version_requirements: !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- - "~>"
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '1.4'
|
43
|
+
- !ruby/object:Gem::Dependency
|
44
|
+
name: activerecord
|
45
|
+
requirement: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '7'
|
50
|
+
type: :development
|
51
|
+
prerelease: false
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - "~>"
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '7'
|
29
57
|
description: Concern that makes it easy to define and enforce possibe state transitions
|
30
58
|
for a field/object
|
31
59
|
email:
|
@@ -37,6 +65,7 @@ extensions: []
|
|
37
65
|
extra_rdoc_files: []
|
38
66
|
files:
|
39
67
|
- ".standard.yml"
|
68
|
+
- CHANGELOG.md
|
40
69
|
- LICENSE.txt
|
41
70
|
- README.md
|
42
71
|
- Rakefile
|
@@ -49,6 +78,7 @@ licenses:
|
|
49
78
|
metadata:
|
50
79
|
homepage_uri: https://cheddar.me
|
51
80
|
source_code_uri: https://github.com/cheddar-me/state_machine_enum
|
81
|
+
changelog_uri: https://github.com/cheddar-me/state_machine_enum/blob/main/CHANGELOG.md
|
52
82
|
post_install_message:
|
53
83
|
rdoc_options: []
|
54
84
|
require_paths:
|
@@ -64,7 +94,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
64
94
|
- !ruby/object:Gem::Version
|
65
95
|
version: '0'
|
66
96
|
requirements: []
|
67
|
-
rubygems_version: 3.5.
|
97
|
+
rubygems_version: 3.5.9
|
68
98
|
signing_key:
|
69
99
|
specification_version: 4
|
70
100
|
summary: Define possible state transitions for a field
|