statesman-events 0.0.1 → 1.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 +5 -5
- data/CHANGELOG.md +4 -0
- data/README.md +17 -4
- data/lib/statesman/events.rb +3 -3
- data/lib/statesman/events/version.rb +1 -1
- data/spec/statesman/events_spec.rb +1 -1
- metadata +18 -19
- data/Guardfile +0 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 3e66706a9c7d68c299d32ffff0c3fbd43d9e80d9db366a097750637b275a92c0
|
4
|
+
data.tar.gz: 7455b6542d40407bf1432981563a819e852ad87290f9f06f7f501eea24d9ed22
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f53bc1eb6c34b7f7e6c7ae0cbd22149a5ea7c09dd7954e3d949f332db2659eefcd2836d0a3c96709a1e8f3df1c74bd20bf724db66c7bbed162a06f906eebc579
|
7
|
+
data.tar.gz: 13bc6d8b629c9b051d97bdc73967963c86bc22a7e3803930241be988af93a6e69131984e4c6536086e3f3458cbb6389a12293ec09c64ed3c5a8e7b97fe3ed80f
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -1,5 +1,20 @@
|
|
1
|
+
# Statesman Events (UNMAINTAINED)
|
2
|
+
|
1
3
|
Event support for [Statesman](https://github.com/gocardless/statesman).
|
2
4
|
|
5
|
+
[](http://badge.fury.io/rb/statesman-events)
|
6
|
+
[](https://travis-ci.org/gocardless/statesman-events)
|
7
|
+
|
8
|
+
|
9
|
+
# THIS REPO IS UNMAINTAINED. PLEASE DO NOT USE IT.
|
10
|
+
---
|
11
|
+
|
12
|
+
## Installation
|
13
|
+
|
14
|
+
```ruby
|
15
|
+
gem install statesman-events
|
16
|
+
```
|
17
|
+
|
3
18
|
## TL;DR Usage
|
4
19
|
|
5
20
|
```ruby
|
@@ -70,10 +85,10 @@ failure.
|
|
70
85
|
|
71
86
|
#### `Event#trigger!`
|
72
87
|
```ruby
|
73
|
-
instance.trigger(:some_event)
|
88
|
+
instance.trigger!(:some_event)
|
74
89
|
```
|
75
90
|
Triggers the passed event, returning `true` on success. Raises
|
76
|
-
`Statesman::GuardFailedError` or `Statesman::
|
91
|
+
`Statesman::GuardFailedError` or `Statesman::InvalidTransitionError` on failure.
|
77
92
|
|
78
93
|
#### `Event#available_events`
|
79
94
|
```ruby
|
@@ -82,5 +97,3 @@ instance.available_events
|
|
82
97
|
Returns an array of events you can `trigger` from the current state.
|
83
98
|
|
84
99
|
---
|
85
|
-
|
86
|
-
GoCardless ♥ open source. If you do too, come [join us](https://gocardless.com/jobs#software-engineer).
|
data/lib/statesman/events.rb
CHANGED
@@ -22,12 +22,12 @@ module Statesman
|
|
22
22
|
|
23
23
|
def trigger!(event_name, metadata = {})
|
24
24
|
transitions = self.class.events.fetch(event_name) do
|
25
|
-
raise Statesman::
|
25
|
+
raise Statesman::InvalidTransitionError,
|
26
26
|
"Event #{event_name} not found"
|
27
27
|
end
|
28
28
|
|
29
29
|
new_state = transitions.fetch(current_state) do
|
30
|
-
raise Statesman::
|
30
|
+
raise Statesman::InvalidTransitionError,
|
31
31
|
"State #{current_state} not found for Event #{event_name}"
|
32
32
|
end
|
33
33
|
|
@@ -37,7 +37,7 @@ module Statesman
|
|
37
37
|
|
38
38
|
def trigger(event_name, metadata = {})
|
39
39
|
self.trigger!(event_name, metadata)
|
40
|
-
rescue Statesman::
|
40
|
+
rescue Statesman::InvalidTransitionError, Statesman::GuardFailedError
|
41
41
|
false
|
42
42
|
end
|
43
43
|
|
@@ -65,7 +65,7 @@ describe Statesman::Events do
|
|
65
65
|
context "when the state cannot be transitioned to" do
|
66
66
|
it "raises an error" do
|
67
67
|
expect { instance.trigger!(:event_2) }.
|
68
|
-
to raise_error(Statesman::
|
68
|
+
to raise_error(Statesman::InvalidTransitionError)
|
69
69
|
end
|
70
70
|
end
|
71
71
|
|
metadata
CHANGED
@@ -1,83 +1,83 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: statesman-events
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Grey Baker
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-01-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: statesman
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.3'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.3'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '3.1'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '3.1'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec-its
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '1.1'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '1.1'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rubocop
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - ~>
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: 0.30.0
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - ~>
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 0.30.0
|
83
83
|
description: Event support for Statesman
|
@@ -87,12 +87,11 @@ executables: []
|
|
87
87
|
extensions: []
|
88
88
|
extra_rdoc_files: []
|
89
89
|
files:
|
90
|
-
- .gitignore
|
91
|
-
- .rubocop.yml
|
92
|
-
- .travis.yml
|
90
|
+
- ".gitignore"
|
91
|
+
- ".rubocop.yml"
|
92
|
+
- ".travis.yml"
|
93
93
|
- CHANGELOG.md
|
94
94
|
- Gemfile
|
95
|
-
- Guardfile
|
96
95
|
- LICENSE.txt
|
97
96
|
- README.md
|
98
97
|
- Rakefile
|
@@ -112,17 +111,17 @@ require_paths:
|
|
112
111
|
- lib
|
113
112
|
required_ruby_version: !ruby/object:Gem::Requirement
|
114
113
|
requirements:
|
115
|
-
- -
|
114
|
+
- - ">="
|
116
115
|
- !ruby/object:Gem::Version
|
117
116
|
version: '0'
|
118
117
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
119
118
|
requirements:
|
120
|
-
- -
|
119
|
+
- - ">="
|
121
120
|
- !ruby/object:Gem::Version
|
122
121
|
version: '0'
|
123
122
|
requirements: []
|
124
123
|
rubyforge_project:
|
125
|
-
rubygems_version: 2.
|
124
|
+
rubygems_version: 2.7.6.2
|
126
125
|
signing_key:
|
127
126
|
specification_version: 4
|
128
127
|
summary: Event support for Statesman
|
data/Guardfile
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
# A sample Guardfile
|
2
|
-
# More info at https://github.com/guard/guard#readme
|
3
|
-
|
4
|
-
guard :rspec, all_on_start: true, cmd: 'bundle exec rspec --color' do
|
5
|
-
watch(%r{^spec/.+_spec\.rb$})
|
6
|
-
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
|
7
|
-
watch('spec/spec_helper.rb') { "spec" }
|
8
|
-
end
|
9
|
-
|
10
|
-
guard :rubocop, all_on_start: true, cli: ['--format', 'clang'] do
|
11
|
-
watch(%r{.+\.rb$})
|
12
|
-
watch(%r{(?:.+/)?\.rubocop\.yml$}) { |m| File.dirname(m[0]) }
|
13
|
-
watch(%r{(?:.+/)?\rubocop-todo\.yml$}) { |m| File.dirname(m[0]) }
|
14
|
-
end
|