argon 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|