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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d09b17a786ef14a57f421fc3a44d18a3422e57ff
4
- data.tar.gz: 3389b1b936db32747285bf13d990cbc829e4af7a
3
+ metadata.gz: 0a64d4d65fc896c5d490a0ccc2c8fa44961c4020
4
+ data.tar.gz: '08e4cb3f3bd20952613b23c06e15b9838dc12883'
5
5
  SHA512:
6
- metadata.gz: 439e99b9f44cfdb6964925572d649bd2e8458daddc9db818f8990ea94ec1316e40a6917b2f75995c0670e0551cae58eb3cee30a299e90e08d60d390dd3acdad8
7
- data.tar.gz: 446e84e3808c6f89e778f02178f249f840386c45c7d57e899cdf1334669a03062b2d570ddecc50d7c386a71a3a2cd3a76cd9a7729d2da1e806cb52b260251fa8
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: {in: false, post: false} },
50
- { from: :draft, to: :cancelled, action: :cancel_draft, callbacks: {in: false, post: false}, on_events: [:cancel] },
51
- { from: :submitted, to: :cancelled, action: :cancel_submitted, callbacks: {in: false, post: false}, on_events: [:cancel] },
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
@@ -1,3 +1,3 @@
1
1
  module Argon
2
- VERSION = "1.0.2"
2
+ VERSION = "1.0.3"
3
3
  end
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.2
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-06 00:00:00.000000000 Z
11
+ date: 2017-10-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler