after_commit_state 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: dde7a904381a6ec939ea12348de2e147e09c94cc
4
+ data.tar.gz: 831dd5fe60c059e02f08c8670a606a8edfd3d173
5
+ SHA512:
6
+ metadata.gz: 58f6a626571a08f150d33037eae8ffa6c6fc3448dbd3ed195dd44489ffd3fe95c22e83ad5d9746ca446b8afd0e8ba67901ab41d38f277ee841ce16d76abf0fb0
7
+ data.tar.gz: 80fbe3c52e8c68bcc0d529479e0330c8fd6fd69f45c8f69fd8c240026e5d1c076759162a68e90dd522348abc75de37e500095fd5c3a0ceb0c91045581e602050
data/README.md ADDED
@@ -0,0 +1,19 @@
1
+ # after_commit_state
2
+
3
+ Use this module to check model state in after_commit callback, if it was created or updated.
4
+
5
+ ## Usage
6
+
7
+ Add the following to your Gemfile:
8
+ ```ruby
9
+ gem 'after_commit_state'
10
+ ```
11
+
12
+ Now you can use it in ActiveRecord model after_commit callback
13
+ ```ruby
14
+ after_commit :after_commit_hook
15
+ def after_commit_hook
16
+ puts 'Created' if created?
17
+ puts 'Updated' if updated?
18
+ end
19
+ ```
@@ -0,0 +1,25 @@
1
+ require 'active_support/concern'
2
+
3
+ module AfterCommitState
4
+ module Base
5
+ extend ActiveSupport::Concern
6
+
7
+ included do
8
+ after_create do
9
+ @after_callback_state = :created
10
+ end
11
+
12
+ after_update do
13
+ @after_callback_state = :updated
14
+ end
15
+
16
+ def created?
17
+ @after_callback_state == :created
18
+ end
19
+
20
+ def updated?
21
+ @after_callback_state == :updated
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,3 @@
1
+ module AfterCommitState
2
+ VERSION = '0.0.3'
3
+ end
@@ -0,0 +1,7 @@
1
+ require 'active_record'
2
+
3
+ if defined?(ActiveRecord::Base)
4
+ ActiveRecord::Base.raise_in_transactional_callbacks = true
5
+ require 'after_commit_state/base'
6
+ ActiveRecord::Base.include AfterCommitState::Base
7
+ end
metadata ADDED
@@ -0,0 +1,75 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: after_commit_state
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
5
+ platform: ruby
6
+ authors:
7
+ - vitalinfo
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-06-03 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activerecord
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 3.0.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 3.0.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: activesupport
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 3.0.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 3.0.0
41
+ description: Easy way to check model state in after_commit callback
42
+ email: vital.ryabchinskiy@gmail.com
43
+ executables: []
44
+ extensions: []
45
+ extra_rdoc_files: []
46
+ files:
47
+ - README.md
48
+ - lib/after_commit_state.rb
49
+ - lib/after_commit_state/base.rb
50
+ - lib/after_commit_state/version.rb
51
+ homepage: https://github.com/vitalinfo/after_commit_state
52
+ licenses:
53
+ - MIT
54
+ metadata: {}
55
+ post_install_message:
56
+ rdoc_options: []
57
+ require_paths:
58
+ - lib
59
+ required_ruby_version: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ required_rubygems_version: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ requirements: []
70
+ rubyforge_project:
71
+ rubygems_version: 2.5.1
72
+ signing_key:
73
+ specification_version: 4
74
+ summary: Check model state in after_commit callback
75
+ test_files: []