safe_callbacks 0.0.1
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 +15 -0
- data/lib/safe_callbacks_spec.rb +51 -0
- metadata +44 -0
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
ODU0NTU4ZmFmMGY0Y2JlYzYyZmQwNTI4ODU0ZWEyNTk4ODYzZjI5MA==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
ZWE0Yzg4YTcxZjdjNzlkOWUyNmQ4MWFkYTU5Nzg2MjZjN2QwOTc2OA==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
Y2YxNzBiNzk5YmEwN2Q5MDgyOTY5ODk5NjM0ZTQ4NGY5YWI5Y2RkYjM3YzM3
|
10
|
+
NjMxZDIyMDFmNTY2NWM4ZWZhY2NmMDc3YTgzMTc0M2ZmMGIwNjEwNDMzZTI2
|
11
|
+
ODIxODNjYzlkNDc0OWYwMTE4OTU3NGI3OGU2MTFjNWQ4MzYwNWI=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
N2E2OGZkMTliMDZiYTdmMDM1ZWFhMDlkZWE3MWRhYTY1ZDk4MWFjODE3YTEw
|
14
|
+
ZjQ5MmU3ODcyMGNmZWZhOWZmNGJlNGMzZjdiMTQ5ODU5Zjg2YzlhYTIzNTFk
|
15
|
+
MWI1M2JjYjM3NTdhNDBmYzVjMGYzNGZjZmI2YzRjZGUwNWUyYzY=
|
@@ -0,0 +1,51 @@
|
|
1
|
+
|
2
|
+
module SafeCallbacks
|
3
|
+
CALLBACK_METHODS = [
|
4
|
+
:after_create,
|
5
|
+
:after_destroy,
|
6
|
+
:after_save,
|
7
|
+
:after_validation,
|
8
|
+
:before_create,
|
9
|
+
:before_destroy,
|
10
|
+
:before_save,
|
11
|
+
:before_update,
|
12
|
+
:before_validation,
|
13
|
+
]
|
14
|
+
|
15
|
+
class << self
|
16
|
+
def extended(mod)
|
17
|
+
SafeCallbacks::CALLBACK_METHODS.each do |callback_method_name|
|
18
|
+
unsafe_callback_method_name = :"unsafe_#{callback_method_name}"
|
19
|
+
|
20
|
+
if mod.respond_to?(callback_method_name) && !mod.respond_to?(unsafe_callback_method_name)
|
21
|
+
(class << mod; self; end).instance_eval do
|
22
|
+
alias_method unsafe_callback_method_name, callback_method_name
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
mod.extend ClassMethods
|
28
|
+
end
|
29
|
+
|
30
|
+
def included(mod)
|
31
|
+
mod.extend self
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
module ClassMethods
|
36
|
+
CALLBACK_METHODS.each do |callback_method_name|
|
37
|
+
define_method callback_method_name do |method_name, options={}|
|
38
|
+
safe_method_name = :"safe_#{method_name}"
|
39
|
+
|
40
|
+
super safe_method_name, options
|
41
|
+
|
42
|
+
define_method safe_method_name do
|
43
|
+
self.send(method_name)
|
44
|
+
true
|
45
|
+
end
|
46
|
+
|
47
|
+
private safe_method_name
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
metadata
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: safe_callbacks
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Scott Taylor
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-07-23 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: Default active model callbacks to always return true
|
14
|
+
email: scott@railsnewbie.com
|
15
|
+
executables: []
|
16
|
+
extensions: []
|
17
|
+
extra_rdoc_files: []
|
18
|
+
files:
|
19
|
+
- lib/safe_callbacks_spec.rb
|
20
|
+
homepage: http://github.com/GoLearnup/safe_callbacks
|
21
|
+
licenses:
|
22
|
+
- MIT
|
23
|
+
metadata: {}
|
24
|
+
post_install_message:
|
25
|
+
rdoc_options: []
|
26
|
+
require_paths:
|
27
|
+
- lib
|
28
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
requirements: []
|
39
|
+
rubyforge_project:
|
40
|
+
rubygems_version: 2.2.2
|
41
|
+
signing_key:
|
42
|
+
specification_version: 4
|
43
|
+
summary: Default active model callbacks to always return true
|
44
|
+
test_files: []
|