method_callbacks 1.2.0 → 1.2.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 +4 -4
- data/CHANGELOG +3 -0
- data/lib/method_callbacks.rb +21 -21
- data/lib/method_callbacks/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: ba8dff1ccdad716d4f7a3621e44af91c523f1e12
|
4
|
+
data.tar.gz: 8a7b5b9efe3cd8da572b175310b74749e6047894
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 045d53539c4410517b8dca5831f3499e08e3e5d081182f8c53a7264ba92005f9beb50b9ce030e42677d45e70d628bd161c456daab867e3a1f8510bda7f45a143
|
7
|
+
data.tar.gz: c365b942d95db6db0af206b827c94994d9b99d7918f2282e212240d7fc40da4879fb48303586c118556c685378094584b52e9a7b1c50022be18aad0ecaa975dc
|
data/CHANGELOG
CHANGED
data/lib/method_callbacks.rb
CHANGED
@@ -8,55 +8,55 @@ module MethodCallbacks
|
|
8
8
|
|
9
9
|
module ClassMethods
|
10
10
|
def after_method(method_name, *callback_names)
|
11
|
-
|
12
|
-
|
11
|
+
__method_callbacks_define(method_name, :after, callback_names)
|
12
|
+
__method_callbacks_define_with_block(method_name, :after, &Proc.new) if block_given?
|
13
13
|
end
|
14
14
|
|
15
15
|
def around_method(method_name, *callback_names)
|
16
|
-
|
16
|
+
__method_callbacks_define(method_name, :around, callback_names)
|
17
17
|
end
|
18
18
|
|
19
19
|
def proxy_result(method_name, &block)
|
20
|
-
|
20
|
+
__method_callbacks_define_with_block(method_name, :proxy, &block)
|
21
21
|
end
|
22
22
|
|
23
23
|
def before_method(method_name, *callback_names)
|
24
|
-
|
25
|
-
|
24
|
+
__method_callbacks_define(method_name, :before, callback_names)
|
25
|
+
__method_callbacks_define_with_block(method_name, :before, &Proc.new) if block_given?
|
26
26
|
end
|
27
27
|
|
28
28
|
private
|
29
29
|
|
30
|
-
def
|
31
|
-
|
30
|
+
def __method_callbacks_define(method_name, type, callback_names)
|
31
|
+
__method_callbacks_find_or_new(method_name).define(type, callback_names)
|
32
32
|
end
|
33
33
|
|
34
|
-
def
|
35
|
-
|
34
|
+
def __method_callbacks_define_with_block(method_name, type)
|
35
|
+
__method_callbacks_find_or_new(method_name).define_with_block(type, &Proc.new)
|
36
36
|
end
|
37
37
|
|
38
|
-
def
|
39
|
-
|
38
|
+
def __method_callbacks_find(method_name)
|
39
|
+
__method_callbacks_finder(method_name).find
|
40
40
|
end
|
41
41
|
|
42
|
-
def
|
43
|
-
@
|
44
|
-
@
|
42
|
+
def __method_callbacks_finder(method_name)
|
43
|
+
@___method_callbacks_finder ||= {}
|
44
|
+
@___method_callbacks_finder[method_name] ||= MethodCallbacks::Finder.new(method_name)
|
45
45
|
end
|
46
46
|
|
47
|
-
def
|
48
|
-
method =
|
49
|
-
|
47
|
+
def __method_callbacks_find_or_new(method_name)
|
48
|
+
method = __method_callbacks_finder(method_name).find_or_new
|
49
|
+
__method_callbacks_redefine_method(method)
|
50
50
|
method
|
51
51
|
end
|
52
52
|
|
53
|
-
def
|
54
|
-
|
53
|
+
def __method_callbacks_method_added(method_name)
|
54
|
+
__method_callbacks_redefine_method(find(method_name))
|
55
55
|
|
56
56
|
super
|
57
57
|
end
|
58
58
|
|
59
|
-
def
|
59
|
+
def __method_callbacks_redefine_method(method)
|
60
60
|
return if !method || method.locked? || !method_defined?(method.name) || method_defined?(method.alias)
|
61
61
|
|
62
62
|
method.lock! && alias_method(method.alias, method.name)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: method_callbacks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Morgan Showman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06-
|
11
|
+
date: 2014-06-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
version_requirements: !ruby/object:Gem::Requirement
|