argon 1.0.2 → 1.0.3
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/README.md +3 -3
- data/lib/argon.rb +4 -4
- data/lib/argon/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0a64d4d65fc896c5d490a0ccc2c8fa44961c4020
|
4
|
+
data.tar.gz: '08e4cb3f3bd20952613b23c06e15b9838dc12883'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a9ad8ad56aed3f86e3ac838a766588ccf58ed57cddc408fbc640ef4196145b200a7fb1cf762a7a18add9d3c50836d5961ee17531869c4e11f8c0eaa8add50d19
|
7
|
+
data.tar.gz: 90f0f026e7e8f04e8c53bf8fa3fbb4eb285ea767f97c61500982519c93e00cc5a6836c284bd30a845262b5e563ee98c4ea788ebfb772ea37942dc292f656890d
|
data/README.md
CHANGED
@@ -46,9 +46,9 @@ The `Maxim` module provides a `state_machine` class method which expects the fol
|
|
46
46
|
:cancel,
|
47
47
|
],
|
48
48
|
edges: [
|
49
|
-
{ from: :draft, to: :submitted, action: :submit, callbacks: {
|
50
|
-
{ from: :draft, to: :cancelled, action: :cancel_draft, callbacks: {
|
51
|
-
{ from: :submitted, to: :cancelled, action: :cancel_submitted, callbacks: {
|
49
|
+
{ from: :draft, to: :submitted, action: :submit, callbacks: {on: false, after: false} },
|
50
|
+
{ from: :draft, to: :cancelled, action: :cancel_draft, callbacks: {on: false, after: false}, on_events: [:cancel] },
|
51
|
+
{ from: :submitted, to: :cancelled, action: :cancel_submitted, callbacks: {on: false, after: false}, on_events: [:cancel] },
|
52
52
|
],
|
53
53
|
on_successful_transition: ->(from:, to:) { /* Do something here */ },
|
54
54
|
on_failed_transition: ->(from:, to:) { /* Do something else */ },
|
data/lib/argon.rb
CHANGED
@@ -32,8 +32,8 @@ module Argon
|
|
32
32
|
raise Argon::Error.new("`events` should be an Array of Symbols") if !events_list.is_a?(Array) || (events_list.length > 0 && events_list.map(&:class).uniq != [Symbol])
|
33
33
|
events_list.each do |event_name|
|
34
34
|
raise Argon::Error.new("`#{event_name}` is not a valid event name. `#{self.name}##{event_name}` method already exists") if self.instance_methods.include?(event_name)
|
35
|
-
raise Argon::Error.new("`on_#{event_name}()` not found") if !self.instance_methods.include?("on_#{event_name}".to_sym) || self.instance_method("on_#{event_name}".to_sym).parameters.to_set != [].to_set
|
36
|
-
raise Argon::Error.new("`after_#{event_name}()` not found") if !self.instance_methods.include?("after_#{event_name}".to_sym) || self.instance_method("after_#{event_name}".to_sym).parameters.to_set != [].to_set
|
35
|
+
raise Argon::Error.new("`on_#{event_name}(action:)` not found") if !self.instance_methods.include?("on_#{event_name}".to_sym) || self.instance_method("on_#{event_name}".to_sym).parameters.to_set != [[:keyreq, :action]].to_set
|
36
|
+
raise Argon::Error.new("`after_#{event_name}(action:)` not found") if !self.instance_methods.include?("after_#{event_name}".to_sym) || self.instance_method("after_#{event_name}".to_sym).parameters.to_set != [[:keyreq, :action]].to_set
|
37
37
|
end
|
38
38
|
|
39
39
|
raise Argon::Error.new("`edges` should be an Array of Hashes, with keys: from, to, action, callbacks{on: true/false, after: true/false}, on_events (optional)") if !edges_list.is_a?(Array) || edges_list.map(&:class).uniq != [Hash]
|
@@ -163,9 +163,9 @@ module Argon
|
|
163
163
|
|
164
164
|
if self.send("can_#{ action }?")
|
165
165
|
self.send("#{ action }!") do
|
166
|
-
self.send("on_#{ event_name }")
|
166
|
+
self.send("on_#{ event_name }", action: action)
|
167
167
|
end
|
168
|
-
self.send("after_#{ event_name }")
|
168
|
+
self.send("after_#{ event_name }", action: action)
|
169
169
|
return
|
170
170
|
end
|
171
171
|
end
|
data/lib/argon/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: argon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ajith Hussain
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-10-
|
11
|
+
date: 2017-10-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|