proxy_method 1.2.7 → 1.2.8
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/lib/proxy_method.rb +16 -32
- data/lib/proxy_method/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f62b39fd7673682664d46790b9cab031eb446be4c13fb64b099336714691af10
|
4
|
+
data.tar.gz: ae08eabd749e6ba1bc337ac6c79fa18723ec0cff3a92826f3749900883b067f5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1529ce5172ffe132b45fdefa7852138cfe9f7ce84a638e13271b45e16ad773424c653b39f5b1f64870c55938b3c16576e4ddef70b7284b83d567436c614d22f3
|
7
|
+
data.tar.gz: 48d066f75e4aaf0ffddb163d9d7cf7ae4cf65a662a350b797adc30697af70ddb5a2dce9ee9c1d12bdb2894eaabc6e2a417a0054cac4567ea1b182be18ae62752
|
data/lib/proxy_method.rb
CHANGED
@@ -23,12 +23,10 @@ module ProxyMethod
|
|
23
23
|
# proxy_class_method :create
|
24
24
|
# end
|
25
25
|
#
|
26
|
-
# Dog.create
|
27
|
-
#
|
26
|
+
# Dog.create
|
28
27
|
# # => RuntimeError: Disabled by proxy_method
|
29
28
|
#
|
30
|
-
# Dog.destroy
|
31
|
-
#
|
29
|
+
# Dog.destroy
|
32
30
|
# # => 'destroyed'
|
33
31
|
#
|
34
32
|
# Or multiple method names:
|
@@ -37,12 +35,10 @@ module ProxyMethod
|
|
37
35
|
# proxy_class_method :create, :destroy
|
38
36
|
# end
|
39
37
|
#
|
40
|
-
# Dog.create
|
41
|
-
#
|
38
|
+
# Dog.create
|
42
39
|
# # => RuntimeError: Disabled by proxy_method
|
43
40
|
#
|
44
|
-
# Dog.destroy
|
45
|
-
#
|
41
|
+
# Dog.destroy
|
46
42
|
# # => RuntimeError: Disabled by proxy_method
|
47
43
|
#
|
48
44
|
# With a custom error message:
|
@@ -51,15 +47,13 @@ module ProxyMethod
|
|
51
47
|
# proxy_class_method :create, raise: 'Disabled!'
|
52
48
|
# end
|
53
49
|
#
|
54
|
-
# Dog.create
|
55
|
-
#
|
50
|
+
# Dog.create
|
56
51
|
# # => RuntimeError: Disabled!
|
57
52
|
#
|
58
53
|
# You can still access the unproxied version by prefixing 'unproxied_'
|
59
54
|
# to the method name:
|
60
55
|
#
|
61
|
-
# Dog.unproxied_create
|
62
|
-
#
|
56
|
+
# Dog.unproxied_create
|
63
57
|
# # => 'created'
|
64
58
|
#
|
65
59
|
# And you can change the prefix for unproxied versions:
|
@@ -68,8 +62,7 @@ module ProxyMethod
|
|
68
62
|
# proxy_class_method :create, prefix: 'original_'
|
69
63
|
# end
|
70
64
|
#
|
71
|
-
# Dog.original_create
|
72
|
-
#
|
65
|
+
# Dog.original_create
|
73
66
|
# # => 'created'
|
74
67
|
#
|
75
68
|
# Finally, you can actually *proxy* the method, by providing an
|
@@ -81,8 +74,7 @@ module ProxyMethod
|
|
81
74
|
# end
|
82
75
|
# end
|
83
76
|
#
|
84
|
-
# Dog.create
|
85
|
-
#
|
77
|
+
# Dog.create
|
86
78
|
# # => 'indirectly created'
|
87
79
|
|
88
80
|
def proxy_class_method(*original_method_names, &proxy_block)
|
@@ -136,12 +128,10 @@ module ProxyMethod
|
|
136
128
|
# proxy_instance_method :save
|
137
129
|
# end
|
138
130
|
#
|
139
|
-
# Dog.new.save
|
140
|
-
#
|
131
|
+
# Dog.new.save
|
141
132
|
# # => RuntimeError: Disabled by proxy_method
|
142
133
|
#
|
143
|
-
# Dog.new.upate
|
144
|
-
#
|
134
|
+
# Dog.new.upate
|
145
135
|
# # => 'updated'
|
146
136
|
#
|
147
137
|
#
|
@@ -157,12 +147,10 @@ module ProxyMethod
|
|
157
147
|
# proxy_method :save, :update
|
158
148
|
# end
|
159
149
|
#
|
160
|
-
# Dog.new.save
|
161
|
-
#
|
150
|
+
# Dog.new.save
|
162
151
|
# # => RuntimeError: Disabled by proxy_method
|
163
152
|
#
|
164
|
-
# Dog.new.update
|
165
|
-
#
|
153
|
+
# Dog.new.update
|
166
154
|
# # => RuntimeError: Disabled by proxy_method
|
167
155
|
#
|
168
156
|
# With a custom error message:
|
@@ -171,15 +159,13 @@ module ProxyMethod
|
|
171
159
|
# proxy_method :save, raise: 'Disabled!'
|
172
160
|
# end
|
173
161
|
#
|
174
|
-
# Dog.new.save
|
175
|
-
#
|
162
|
+
# Dog.new.save
|
176
163
|
# # => RuntimeError: Disabled!
|
177
164
|
#
|
178
165
|
# You can still access the unproxied version by prefixing 'unproxied_'
|
179
166
|
# to the method name:
|
180
167
|
#
|
181
|
-
# Dog.new.unproxied_save
|
182
|
-
#
|
168
|
+
# Dog.new.unproxied_save
|
183
169
|
# # => 'saved'
|
184
170
|
#
|
185
171
|
# And you can change the prefix for unproxied versions:
|
@@ -188,8 +174,7 @@ module ProxyMethod
|
|
188
174
|
# proxy_method :save, prefix: 'original_'
|
189
175
|
# end
|
190
176
|
#
|
191
|
-
# Dog.new.original_save
|
192
|
-
#
|
177
|
+
# Dog.new.original_save
|
193
178
|
# # => 'saved'
|
194
179
|
#
|
195
180
|
# Finally, you can actually *proxy* the method, by providing an
|
@@ -201,8 +186,7 @@ module ProxyMethod
|
|
201
186
|
# end
|
202
187
|
# end
|
203
188
|
#
|
204
|
-
# Dog.new.save
|
205
|
-
#
|
189
|
+
# Dog.new.save
|
206
190
|
# # => 'indirectly saved'
|
207
191
|
|
208
192
|
def proxy_instance_method(*original_method_names, &proxy_block)
|
data/lib/proxy_method/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: proxy_method
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jaime Bellmyer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-01-
|
11
|
+
date: 2020-01-09 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: |2
|
14
14
|
The purpose of this gem is to prevent directly running the inherited
|