ruby_memoized 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.ruby-version +1 -1
- data/lib/ruby_memoized.rb +2 -2
- data/lib/ruby_memoized/memoizer.rb +4 -4
- data/lib/ruby_memoized/version.rb +1 -1
- data/ruby_memoized.gemspec +1 -1
- metadata +6 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: a7e0a173c502cd7f57f5cb5b407d967dc360a3c1c29661698c999f11a40fb249
|
4
|
+
data.tar.gz: 0063503daabbd6bc722ba0c9998502ca3a46a3fa8372cdebffe83832c073d06c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b7a0be212a25000189de37d93b66d5f1a6c456c9901bc2f216d21c29970ba939801439dd577b4f44274bb824fed76c71bcb69008da17b571d769bba6be644d8a
|
7
|
+
data.tar.gz: 071d1ee6b2f00318dfbfc9947ce4a867e3e0a7b62c9568d6670907eaf02a3824614d44f36f96e8c53999369344a34ab1e8efa496109a3f2ccc15080044bd33cc
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.7.1
|
data/lib/ruby_memoized.rb
CHANGED
@@ -33,8 +33,8 @@ module RubyMemoized
|
|
33
33
|
|
34
34
|
alias_method unmemoized_method_name, method_name
|
35
35
|
|
36
|
-
define_method method_name do |*args, &block|
|
37
|
-
send(memoizer_name).call(*args, &block)
|
36
|
+
define_method method_name do |*args, **kwargs, &block|
|
37
|
+
send(memoizer_name).call(*args, **kwargs, &block)
|
38
38
|
end
|
39
39
|
|
40
40
|
@memoized = true
|
@@ -7,13 +7,13 @@ module RubyMemoized
|
|
7
7
|
@method = method
|
8
8
|
end
|
9
9
|
|
10
|
-
def call(*args, &block)
|
11
|
-
return cache[[args, block]] if cache.has_key?([args, block])
|
12
|
-
cache[[args, block]] = context.send(method, *args, &block)
|
10
|
+
def call(*args, **kwargs, &block)
|
11
|
+
return cache[[args, kwargs, block]] if cache.has_key?([args, kwargs, block])
|
12
|
+
cache[[args, kwargs, block]] = context.send(method, *args, **kwargs, &block)
|
13
13
|
end
|
14
14
|
|
15
15
|
def cache
|
16
16
|
@cache ||= {}
|
17
17
|
end
|
18
18
|
end
|
19
|
-
end
|
19
|
+
end
|
data/ruby_memoized.gemspec
CHANGED
@@ -24,7 +24,7 @@ as declaring a method private.
|
|
24
24
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
25
25
|
spec.require_paths = ['lib']
|
26
26
|
|
27
|
-
spec.add_development_dependency 'bundler', '~> 1.
|
27
|
+
spec.add_development_dependency 'bundler', '~> 2.1.4'
|
28
28
|
spec.add_development_dependency 'rake', '~> 10.0'
|
29
29
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
30
30
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_memoized
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kirill Klimuk
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-05-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 2.1.4
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 2.1.4
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -55,7 +55,7 @@ dependencies:
|
|
55
55
|
description: 'RubyMemoized makes it easy to memoize methods, even if they have arguments
|
56
56
|
or blocks, by making memoization as easy as declaring a method private.
|
57
57
|
|
58
|
-
'
|
58
|
+
'
|
59
59
|
email:
|
60
60
|
- kklimuk@gmail.com
|
61
61
|
executables: []
|
@@ -96,8 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
96
96
|
- !ruby/object:Gem::Version
|
97
97
|
version: '0'
|
98
98
|
requirements: []
|
99
|
-
|
100
|
-
rubygems_version: 2.6.11
|
99
|
+
rubygems_version: 3.1.2
|
101
100
|
signing_key:
|
102
101
|
specification_version: 4
|
103
102
|
summary: Memoize method return values even with different arguments.
|