memorandum 2.1.2 → 2.1.3

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: f0a5a0f18e232434c671527e46c9ecbfafad619a
4
- data.tar.gz: 0943dbae45cc1a19aa9b9cfad861c39825970cab
3
+ metadata.gz: 6a1ecad3969de7130b03afd92ab0f20619a7bd47
4
+ data.tar.gz: c27123261c4d486ccae73612007eb06ff93e4f98
5
5
  SHA512:
6
- metadata.gz: 2398210c107d30bd3aaf46c8ba0318a5f626634a35457f97aa70d03127f9b5ac6e0eba44b95061f487378cc0a755222c7c0f16b9ea11029290bee3f970ee4189
7
- data.tar.gz: bd93ab34bd60239772562bd06b52fd7ffe4746f9ae299879304f1f9c222d13f095161729b28f7dd2560ce904b6f8d20a425394e5c3deec93ea2c9c90ddd9751b
6
+ metadata.gz: 1b7c4fdd994ee5fbc8c151012468fd7ce950aad92f41f1d7f2bada39055431c00172b2129b185ea2c815041d34b1d62a6a281de4a638c2e4a41ccb59422fae6c
7
+ data.tar.gz: 341023d8adcbb60abbb0f8c2bb39515a324806ec0497d2f809bb80ba7dfdc821d292e22b91e4eccb59b6999f95552b55908072bf5bcae4e9675ecc4866162d93
data/lib/memorandum.rb CHANGED
@@ -44,13 +44,31 @@ module Memorandum
44
44
  MEMORANDUM_STATUSES = 'statuses'.freeze
45
45
  MEMORANDUM_UNMEMOIZED = 'unmemoized'.freeze
46
46
  MEMORANDUM_VALUES = 'values'.freeze
47
- MEMORANDUM_BANG = '__BANG__'.freeze
48
- MEMORANDUM_BOOL = '__BOOL__'.freeze
47
+
48
+ MEMORANDUM_SPECIAL_CHARACTERS = IceNine.deep_freeze Hash[
49
+ '!' => '__MEMORANDUM_BANG__',
50
+ '%' => '__MEMORANDUM_PERCENT__',
51
+ '&' => '__MEMORANDUM_AND__',
52
+ '*' => '__MEMORANDUM_STAR__',
53
+ '+' => '__MEMORANDUM_PLUS__',
54
+ '-' => '__MEMORANDUM_DASH__',
55
+ '/' => '__MEMORANDUM_SLASH__',
56
+ '<' => '__MEMORANDUM_LESS__',
57
+ '=' => '__MEMORANDUM_EQUALS__',
58
+ '>' => '__MEMORANDUM_MORE__',
59
+ '?' => '__MEMORANDUM_BOOL__',
60
+ '[]' => '__MEMORANDUM_BRACKETS__',
61
+ '^' => '__MEMORANDUM_CARET__',
62
+ '|' => '__MEMORANDUM_PIPE__',
63
+ '~' => '__MEMORANDUM_TILDE__',
64
+ ]
49
65
 
50
66
  def memorandum_ivar_name name, method_name
51
- "@#{MEMORANDUM_MEMOIZED}_#{name}_for_#{method_name}"
52
- .gsub('!', MEMORANDUM_BANG)
53
- .gsub('?', MEMORANDUM_BOOL)
67
+ "@#{MEMORANDUM_MEMOIZED}_#{name}_for_#{method_name}".tap do |result|
68
+ MEMORANDUM_SPECIAL_CHARACTERS.each do |special_character, replacement|
69
+ result.gsub! special_character, replacement
70
+ end
71
+ end
54
72
  end
55
73
 
56
74
  def find_access method_name
@@ -1,3 +1,3 @@
1
1
  module Memorandum
2
- VERSION = '2.1.2'.freeze
2
+ VERSION = '2.1.3'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: memorandum
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.2
4
+ version: 2.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Lude
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-01 00:00:00.000000000 Z
11
+ date: 2017-02-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ice_nine
@@ -24,41 +24,28 @@ dependencies:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.11.2
27
- - !ruby/object:Gem::Dependency
28
- name: byebug
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - '>='
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - '>='
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: rspec
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
- - - '>='
31
+ - - ">="
46
32
  - !ruby/object:Gem::Version
47
33
  version: '3'
48
- - - <
34
+ - - "<"
49
35
  - !ruby/object:Gem::Version
50
36
  version: '4'
51
37
  type: :development
52
38
  prerelease: false
53
39
  version_requirements: !ruby/object:Gem::Requirement
54
40
  requirements:
55
- - - '>='
41
+ - - ">="
56
42
  - !ruby/object:Gem::Version
57
43
  version: '3'
58
- - - <
44
+ - - "<"
59
45
  - !ruby/object:Gem::Version
60
46
  version: '4'
61
- description:
47
+ description: Memorandum provides a simple method to memoize method results. It also
48
+ provides flags for freezing the cached results.
62
49
  email: rob@ertlu.de
63
50
  executables: []
64
51
  extensions: []
@@ -76,19 +63,19 @@ require_paths:
76
63
  - lib
77
64
  required_ruby_version: !ruby/object:Gem::Requirement
78
65
  requirements:
79
- - - '>='
66
+ - - ">="
80
67
  - !ruby/object:Gem::Version
81
68
  version: '0'
82
69
  required_rubygems_version: !ruby/object:Gem::Requirement
83
70
  requirements:
84
- - - '>='
71
+ - - ">="
85
72
  - !ruby/object:Gem::Version
86
73
  version: '0'
87
74
  requirements: []
88
75
  rubyforge_project:
89
- rubygems_version: 2.0.14
76
+ rubygems_version: 2.4.5
90
77
  signing_key:
91
78
  specification_version: 4
92
- summary: Provides a simple method to define memoized values
79
+ summary: Provides a simple method to memoize method results
93
80
  test_files: []
94
81
  has_rdoc: