memorandum 2.1.1 → 2.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/memorandum/version.rb +1 -1
- data/lib/memorandum.rb +14 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f0a5a0f18e232434c671527e46c9ecbfafad619a
|
4
|
+
data.tar.gz: 0943dbae45cc1a19aa9b9cfad861c39825970cab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2398210c107d30bd3aaf46c8ba0318a5f626634a35457f97aa70d03127f9b5ac6e0eba44b95061f487378cc0a755222c7c0f16b9ea11029290bee3f970ee4189
|
7
|
+
data.tar.gz: bd93ab34bd60239772562bd06b52fd7ffe4746f9ae299879304f1f9c222d13f095161729b28f7dd2560ce904b6f8d20a425394e5c3deec93ea2c9c90ddd9751b
|
data/lib/memorandum/version.rb
CHANGED
data/lib/memorandum.rb
CHANGED
@@ -13,6 +13,8 @@ module Memorandum
|
|
13
13
|
memoized_values = memorandum_ivar_name MEMORANDUM_VALUES, name
|
14
14
|
unmemoized_name = "#{MEMORANDUM_UNMEMOIZED}_#{name}"
|
15
15
|
|
16
|
+
access = find_access name
|
17
|
+
|
16
18
|
alias_method unmemoized_name, name
|
17
19
|
|
18
20
|
define_method name do |*args|
|
@@ -31,6 +33,9 @@ module Memorandum
|
|
31
33
|
|
32
34
|
values[args]
|
33
35
|
end
|
36
|
+
|
37
|
+
send access, name
|
38
|
+
send access, unmemoized_name
|
34
39
|
end
|
35
40
|
|
36
41
|
private
|
@@ -48,6 +53,15 @@ module Memorandum
|
|
48
53
|
.gsub('?', MEMORANDUM_BOOL)
|
49
54
|
end
|
50
55
|
|
56
|
+
def find_access method_name
|
57
|
+
case
|
58
|
+
when private_instance_methods.include?(method_name.to_sym) then :private
|
59
|
+
when protected_instance_methods.include?(method_name.to_sym) then :protected
|
60
|
+
when public_instance_methods.include?(method_name.to_sym) then :public
|
61
|
+
else :unknown
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
51
65
|
module InstanceMethods
|
52
66
|
def memorandum_fetch name, default
|
53
67
|
instance_variable_get(name) || instance_variable_set(name, default)
|