memorandum 2.1.2 → 2.1.3

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 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: