purgatory 6.0.0 → 6.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a8eb88e0af6155fa4f85f62fbef33cc2cfb85277355245c4269f3b5e7ec6b308
4
- data.tar.gz: 5da3f4b72076eda8f3c184ad44fab91ea2c4777b7b027105e31e03f1d7d1b024
3
+ metadata.gz: ec4ff54491b9cf42aec51289751468068f725b26c23afd64c1746a8ba13c4307
4
+ data.tar.gz: 1b37daf95411e0954068510e291404b7aa3fd7575872e7a99890e51e2326d9a0
5
5
  SHA512:
6
- metadata.gz: 4a05fb7cf10245cb78cf00f4ff4b90f58e013eaa2d239f951c8ce024a8289c0018447e591304d1ee6763eabeb60fdeedb5efa6f383fda906e8e3b0ef85fa975d
7
- data.tar.gz: 2f3f8a0ac54b713ef38401f567c46a22c95d49548c049cb83d91b70b0e63d6d0cfa4ba8328eee4e00cff1d480dbda2321198b7e55f28a2fe03e07b3bcc44f3e4
6
+ metadata.gz: 49297777b6cb45633974769cebb4c01474915ae1d318e63b04de5007b6e4a7964be405402bfe2b05130f900e9612a18692940787c2005fdaea74364f7915a276
7
+ data.tar.gz: f16f71f7977734e2ebd065d978f0ad0e7c7a07bfb4a0fb935588acd44cd005518828cc550482add7047399de2edc4d6448745f0523acd5a257bc89af12c6ad53
data/VERSION CHANGED
@@ -1 +1 @@
1
- 6.0.0
1
+ 6.0.2
@@ -48,16 +48,18 @@ class Purgatory < ActiveRecord::Base
48
48
 
49
49
  success = nil
50
50
  self.with_lock do
51
- success = soul_with_changes.save
52
- if performable_method.present? && success
53
- success = soul.send(performable_method[:method], *performable_method[:args])
54
- end
55
-
56
- if success
57
- self.approver = approver
58
- self.approved_at = Time.now
59
- self.soul_id = soul.id
60
- save
51
+ unless approved?
52
+ success = soul_with_changes.save
53
+ if performable_method.present? && success
54
+ success = soul.send(performable_method[:method], *performable_method[:args], **performable_method[:kwargs])
55
+ end
56
+
57
+ if success
58
+ self.approver = approver
59
+ self.approved_at = Time.now
60
+ self.soul_id = soul.id
61
+ save
62
+ end
61
63
  end
62
64
  end
63
65
 
@@ -31,9 +31,9 @@ module PurgatoryModule
31
31
  @options = options
32
32
  end
33
33
 
34
- def method_missing(method, *args)
34
+ def method_missing(method, *args, **kwargs)
35
35
  return nil if Purgatory.pending_with_matching_soul(@soul).any? && @options[:fail_if_matching_soul]
36
- Purgatory.create soul: @soul, requester: @requester, performable_method: {method: method.to_sym, args: args}
36
+ Purgatory.create soul: @soul, requester: @requester, performable_method: { method: method.to_sym, args: args, kwargs: kwargs }
37
37
  end
38
38
  end
39
39
 
data/purgatory.gemspec CHANGED
@@ -1,9 +1,9 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: purgatory 6.0.0 ruby lib
2
+ # stub: purgatory 6.0.1 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "purgatory"
6
- s.version = "6.0.0"
6
+ s.version = "6.0.2"
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib"]
metadata CHANGED
@@ -1,11 +1,11 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: purgatory
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.0
4
+ version: 6.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elan Dubrofsky
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
  date: 2017-08-24 00:00:00.000000000 Z
@@ -47,7 +47,7 @@ homepage: http://github.com/financeit/purgatory
47
47
  licenses:
48
48
  - MIT
49
49
  metadata: {}
50
- post_install_message:
50
+ post_install_message:
51
51
  rdoc_options: []
52
52
  require_paths:
53
53
  - lib
@@ -62,9 +62,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
62
62
  - !ruby/object:Gem::Version
63
63
  version: '0'
64
64
  requirements: []
65
- rubyforge_project:
66
- rubygems_version: 2.7.6.2
67
- signing_key:
65
+ rubygems_version: 3.5.15
66
+ signing_key:
68
67
  specification_version: 4
69
68
  summary: Allow changes to a model to be put in purgatory until they are approved
70
69
  test_files: []