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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8d3980188220f33f7940fc8b959308b0bbd38f8e
4
- data.tar.gz: 5296434b08e758ad82b5813cf389ed8029db3297
3
+ metadata.gz: f0a5a0f18e232434c671527e46c9ecbfafad619a
4
+ data.tar.gz: 0943dbae45cc1a19aa9b9cfad861c39825970cab
5
5
  SHA512:
6
- metadata.gz: fbad7ea1fe756c936a463c7bbb520e925db00f83877fe5146c95217872c245bbd26b733303437398038da7db850d47323559ec08b1eec19f928852f5bc80690f
7
- data.tar.gz: 159b25d64d9d61e559ccbe51a506d6bb50d4273a470f9adde14a6667e5b01a80bcf6a23c0ee157d02debc55a5f48d94bdb371575045b239f7f771d755ae30dcb
6
+ metadata.gz: 2398210c107d30bd3aaf46c8ba0318a5f626634a35457f97aa70d03127f9b5ac6e0eba44b95061f487378cc0a755222c7c0f16b9ea11029290bee3f970ee4189
7
+ data.tar.gz: bd93ab34bd60239772562bd06b52fd7ffe4746f9ae299879304f1f9c222d13f095161729b28f7dd2560ce904b6f8d20a425394e5c3deec93ea2c9c90ddd9751b
@@ -1,3 +1,3 @@
1
1
  module Memorandum
2
- VERSION = '2.1.1'.freeze
2
+ VERSION = '2.1.2'.freeze
3
3
  end
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)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: memorandum
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 2.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Lude