mize 0.4.1 → 0.6.0

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
  SHA256:
3
- metadata.gz: b6801c5af1f329caa1ee938a76571ce85883bb6de8f6084c3bde227923136e88
4
- data.tar.gz: 32a2c0ac847bfbcdb23f0758dfa4f7c416fbadfa771bf1fbe6e0b47dd6e06200
3
+ metadata.gz: 517d9cb2997631d2645b96f8c54c2b9390370146aa1164f6c4acdf36ec99475a
4
+ data.tar.gz: e9a36341149d75c25156496b2a4a630ad561aaa620dd2428ecce38cb33786cea
5
5
  SHA512:
6
- metadata.gz: 8c88a8042b29f17f2ba1399d455d8d3c9faa38ff64790feea6cccb03751926e69661241f1ddf1223f8414f77c1296503fbda7849c4d932759c2348fe337ec244
7
- data.tar.gz: 8f2c43358d0e21aead7e762745c58e22d2cf3e4f53da1f512a1b4f23bfb989db1166969b7e1aea347445d0fb22849e5c4da896c1af3e8d55417552a120ce85a1
6
+ metadata.gz: 1a9c6cca1a2bbc599b153c8cdcb8b6fdfe80cadd591d269d7e6a70db666edec61651fc61f18e0e9b24d61a4cfc0489b096844eec3cf29c3ce3bee5d7c89c11cc
7
+ data.tar.gz: '058e70026c3535d00bcaecd775e17c04bfcb0cf70c836f88624080f79668ed79b0201b6b7e5bf5f76d33d5e3a2b20d8bee27e5dd6e252a6db76a75f15e3581a8'
data/.all_images.yml CHANGED
@@ -1,23 +1,29 @@
1
1
  dockerfile: |-
2
- RUN apk add --no-cache build-base git
3
- RUN gem update --system
4
- RUN gem install gem_hadar bundler
2
+ RUN apk add --no-cache build-base git bash
3
+ RUN bash <<NUR
4
+ if [[ "$(ruby -e 'print RUBY_VERSION')" > '3' ]]
5
+ then
6
+ gem update --system
7
+ gem install gem_hadar bundler
8
+ else
9
+ gem install gem_hadar
10
+ gem install bundler -v 2.4.22
11
+ fi
12
+ NUR
5
13
 
6
14
  script: &script |-
7
15
  echo -e "\e[1m"
8
16
  ruby -v
9
17
  echo -e "\e[0m"
10
- bundle update
11
18
  bundle
12
- bundle exec rake spec
19
+ rake spec
13
20
 
14
21
  fail_fast: yes
15
22
 
16
23
  images:
24
+ ruby:3.3-alpine: *script
25
+ ruby:3.2-alpine: *script
17
26
  ruby:3.1-alpine: *script
18
27
  ruby:3.0-alpine: *script
19
28
  ruby:2.7-alpine: *script
20
29
  ruby:2.6-alpine: *script
21
- ruby:2.5-alpine: *script
22
- ruby:2.4-alpine: *script
23
- ruby:2.3-alpine: *script
data/.gitignore CHANGED
@@ -5,6 +5,8 @@
5
5
  .yard*
6
6
  Gemfile.lock
7
7
  coverage
8
+ doc
8
9
  errors.lst
9
10
  pkg
10
11
  tags
12
+ yard
data/.tool-versions CHANGED
@@ -1 +1 @@
1
- ruby 3.1.2
1
+ ruby 3.3.4
data/.utilsrc CHANGED
@@ -1,12 +1,12 @@
1
1
  # vim: set ft=ruby:
2
2
 
3
3
  search do
4
- prune_dirs /\A(\.svn|\.git|CVS|tmp|tags|coverage|pkg)\z/
4
+ prune_dirs /\A(\.svn|\.git|CVS|tmp|tags|coverage|doc|pkg)\z/
5
5
  skip_files /(\A\.|\.sw[pon]\z|\.(log|fnm|jpg|jpeg|png|pdf|svg)\z|tags|~\z)/i
6
6
  end
7
7
 
8
8
  discover do
9
- prune_dirs /\A(\.svn|\.git|CVS|tmp|tags|coverage|pkg)\z/
9
+ prune_dirs /\A(\.svn|\.git|CVS|tmp|tags|coverage|doc|pkg)\z/
10
10
  skip_files /(\A\.|\.sw[pon]\z|\.log\z|~\z)/
11
11
  binary false
12
12
  end
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Description
4
4
 
5
- TODO
5
+ Library to memoize methods or functions in Ruby.
6
6
 
7
7
  ## Installation
8
8
 
@@ -18,7 +18,52 @@ and bundle.
18
18
 
19
19
  ## Usage
20
20
 
21
- TODO
21
+ Memoizes methods, that is the values depend on the receiver, like this:
22
+
23
+ ```
24
+ class A
25
+ @@c = 0
26
+
27
+ memoize method:
28
+ def foo(x)
29
+ "foo #{x} #{@@c += 1}"
30
+ end
31
+ end
32
+
33
+ a1 = A.new
34
+ a1.foo(23) # => "foo 23 1"
35
+ a1.foo(23) # => "foo 23 1"
36
+ a2 = A.new
37
+ a2.foo(23) # => "foo 23 2"
38
+ a2.foo(23) # => "foo 23 2"
39
+ a2.mize_cache_clear
40
+ a2.foo(23) # => "foo 23 3"
41
+ a1.foo(23) # => "foo 23 1"
42
+ ```
43
+
44
+ Memoizes functions, that is the values do not depend on the receiver, like
45
+ this:
46
+
47
+ ```
48
+ class B
49
+ @@c = 0
50
+
51
+ memoize function:
52
+ def foo(x)
53
+ "foo #{x} #{@@c += 1}"
54
+ end
55
+ end
56
+
57
+ b1 = B.new
58
+ b1.foo(23) # => "foo 23 1"
59
+ b1.foo(23) # => "foo 23 1"
60
+ b2 = B.new
61
+ b2.foo(23) # => "foo 23 1"
62
+ b2.foo(23) # => "foo 23 1"
63
+ B.mize_cache_clear
64
+ b2.foo(23) # => "foo 23 2"
65
+ b1.foo(23) # => "foo 23 2"
66
+ ```
22
67
 
23
68
  ## Download
24
69
 
data/Rakefile CHANGED
@@ -6,18 +6,20 @@ GemHadar do
6
6
  name 'mize'
7
7
  author 'Florian Frank'
8
8
  email 'flori@ping.de'
9
- homepage "http://flori.github.com/#{name}"
9
+ homepage "https://github.com/flori/#{name}"
10
10
  summary 'Library that provides memoziation for methods and functions'
11
11
  description "#{summary} for Ruby."
12
12
  readme 'README.md'
13
13
  licenses << 'MIT'
14
14
 
15
15
  test_dir 'spec'
16
+ yard_dir 'doc'
17
+
16
18
  ignore '.*.sw[pon]', 'pkg', 'Gemfile.lock', 'coverage', '.rvmrc',
17
- '.AppleDouble', 'tags', '.byebug_history', '.yard*', 'errors.lst'
19
+ '.AppleDouble', 'tags', '.byebug_history', '.yard*', 'yard', 'doc',
20
+ 'errors.lst'
18
21
 
19
22
 
20
- dependency 'protocol', '~> 2.0'
21
23
  development_dependency 'rake'
22
24
  development_dependency 'simplecov'
23
25
  development_dependency 'rspec'
@@ -27,29 +29,4 @@ GemHadar do
27
29
  required_ruby_version '>= 2'
28
30
  end
29
31
 
30
- namespace :yard do
31
- require 'pathname'
32
-
33
- yard_dir = Pathname.new('yard')
34
-
35
- desc 'Create yard documentation'
36
- task :create do
37
- sh 'yardoc'
38
- end
39
-
40
- desc 'View the yard documentation'
41
- task :view do
42
- index_file = yard_dir + 'index.html'
43
- File.exist?(index_file)
44
- sh "open #{index_file}"
45
- end
46
-
47
- desc 'Clean the yard documentation'
48
- task :clean do
49
- rm_rf yard_dir
50
- end
51
- end
52
-
53
- task :yard => %i[ yard:create yard:view ]
54
-
55
32
  task :default => :spec
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.1
1
+ 0.6.0
@@ -21,7 +21,6 @@ module Mize::CacheMethods
21
21
 
22
22
  # Set the cache object to +cache+.
23
23
  def __mize_cache__=(cache)
24
- Mize::CacheProtocol =~ cache
25
24
  @__mize_cache__ = cache
26
25
  end
27
26
 
@@ -1,32 +1,2 @@
1
- require 'protocol'
2
-
3
- # The protocol the cache object has to conform to. This is a minimal subset of
4
- # the ActiveSupport::Cache::Store protocol.
5
- Mize::CacheProtocol = Protocol do
6
- # Clear the entire cache.
7
- def clear(options = nil)
8
- end
9
-
10
- # Returns true if the cache contains an entry for the given key.
11
- def exist?(name, options = nil)
12
- end
13
-
14
- # Fetches data from the cache, using the given key. If there is data in the
15
- # cache with the given key, then that data is returned. Otherwise, nil is
16
- # returned.
17
- def read(name, options = nil)
18
- end
19
-
20
- # Writes the value to the cache, with the key.
21
- def write(name, value, options = nil)
22
- end
23
-
24
- # Iterate over all cache entries and yield to their names.
25
- def each_name(&block)
26
- end
27
-
28
- # Return another cache instance that was correctly configured.
29
- def prototype
30
- dup
31
- end
1
+ module Mize::CacheProtocol
32
2
  end
@@ -1,44 +1,68 @@
1
1
  require 'monitor'
2
2
 
3
3
  class Mize::DefaultCache
4
+ include Mize::CacheProtocol
4
5
  include MonitorMixin
5
6
 
6
7
  def initialize
7
8
  @data = {}
8
9
  end
9
10
 
11
+ # Clear the cache by removing all entries from the cache
10
12
  def clear(options = nil)
11
13
  @data.clear
12
14
  self
13
15
  end
14
16
 
17
+ # Determine whether a cache entry exists in this cache.
18
+ #
19
+ # @param name [String] The name of the cache entry to check.
20
+ # @return [Boolean] Whether or not the cache entry exists.
15
21
  def exist?(name, options = nil)
16
22
  @data.key?(name)
17
23
  end
18
24
 
25
+ # Read a value from the cache by name. If the entry does not exist in the
26
+ # cache, it will return nil.
27
+ #
28
+ # @param name [String] The name of the cache entry to read.
29
+ # @return [Object] The value stored in the cache for the given name.
19
30
  def read(name, options = nil)
20
31
  @data.fetch(name, nil)
21
32
  end
22
33
 
34
+ # Write a value to the cache by name. If an entry with the same name already
35
+ # exists in the cache, it will be overwritten.
36
+ #
37
+ # @param name [String] The name of the cache entry to write.
38
+ # @param value [Object] The value to store in the cache for the given name.
39
+ # @return [Object] The value stored in the chache.
23
40
  def write(name, value, options = nil)
24
41
  @data.store(name, value)
25
42
  end
26
43
 
44
+ # Delete a cache entry by name. If the entry does not exist in the cache, it
45
+ # will do nothing.
46
+ #
47
+ # @param name [String] The name of the cache entry to delete.
48
+ # @return [Object] The value stored in the chache before deletion.
27
49
  def delete(name, options = nil)
28
50
  @data.delete(name)
29
51
  end
30
52
 
53
+ # Each name of the cache is yielded to the block.
54
+ # @return [self]
31
55
  def each_name(&block)
32
56
  @data.each_key(&block)
33
57
  self
34
58
  end
35
59
 
60
+ # Initialize a duplicate of this cache.
61
+ # @param other [Mize::DefaultCache] The other cache to initialize a duplicate of.
36
62
  def initialize_dup(other)
37
63
  super
38
64
  other.instance_variable_set :@data, @data.dup
39
65
  end
40
66
 
41
67
  alias prototype dup
42
-
43
- conform_to Mize::CacheProtocol
44
68
  end
data/lib/mize/memoize.rb CHANGED
@@ -31,11 +31,11 @@ module Mize
31
31
  class << self
32
32
  private
33
33
 
34
- def compute_result(method_id, orig_method, key, context, args, freeze)
34
+ def compute_result(method_id, orig_method, key, context, args, kargs, freeze)
35
35
  result = orig_method.bind(context).call(*args)
36
36
  if $DEBUG
37
37
  warn "#{context.class} cached method "\
38
- "#{method_id}(#{args.inspect unless args.empty?}) = "\
38
+ "#{method_id}(#{[ args, kargs ].inspect unless args.size + kargs.size == 0}) = "\
39
39
  "#{result.inspect} [#{__id__}]"
40
40
  end
41
41
  freeze and result.freeze rescue nil
@@ -65,14 +65,14 @@ module Mize
65
65
  method_id = method_id.to_s.to_sym
66
66
  memoize_apply_visibility method_id do
67
67
  orig_method = instance_method(method_id)
68
- __send__(:define_method, method_id) do |*args|
68
+ __send__(:define_method, method_id) do |*args, **kargs|
69
69
  function or mc = __mize_cache__
70
- key = build_key(method_id, *args)
70
+ key = build_key(method_id, *args, **kargs)
71
71
  if mc.exist?(key)
72
72
  mc.read(key)
73
73
  else
74
74
  result = Mize::Memoize.send(
75
- :compute_result, method_id, orig_method, key, self, args, freeze
75
+ :compute_result, method_id, orig_method, key, self, args, kargs, freeze
76
76
  )
77
77
  if store_nil || !result.nil?
78
78
  mc.write(key, result)
data/lib/mize/railtie.rb CHANGED
@@ -5,4 +5,3 @@ module Mize
5
5
  end
6
6
  end
7
7
  end
8
-
data/lib/mize/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  module Mize
2
2
  # Mize version
3
- VERSION = '0.4.1'
3
+ VERSION = '0.6.0'
4
4
  VERSION_ARRAY = VERSION.split('.').map(&:to_i) # :nodoc:
5
5
  VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
6
6
  VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
data/mize.gemspec CHANGED
@@ -1,45 +1,32 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: mize 0.4.1 ruby lib
2
+ # stub: mize 0.6.0 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "mize".freeze
6
- s.version = "0.4.1"
6
+ s.version = "0.6.0".freeze
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib".freeze]
10
10
  s.authors = ["Florian Frank".freeze]
11
- s.date = "2022-11-21"
11
+ s.date = "2024-07-25"
12
12
  s.description = "Library that provides memoziation for methods and functions for Ruby.".freeze
13
13
  s.email = "flori@ping.de".freeze
14
14
  s.extra_rdoc_files = ["README.md".freeze, "lib/mize.rb".freeze, "lib/mize/cache_methods.rb".freeze, "lib/mize/cache_protocol.rb".freeze, "lib/mize/configure.rb".freeze, "lib/mize/default_cache.rb".freeze, "lib/mize/global_clear.rb".freeze, "lib/mize/memoize.rb".freeze, "lib/mize/railtie.rb".freeze, "lib/mize/reload.rb".freeze, "lib/mize/version.rb".freeze]
15
15
  s.files = [".all_images.yml".freeze, ".gitignore".freeze, ".rspec".freeze, ".tool-versions".freeze, ".travis.yml".freeze, ".utilsrc".freeze, "Gemfile".freeze, "README.md".freeze, "Rakefile".freeze, "VERSION".freeze, "config/broken_config.yml".freeze, "config/config.yml".freeze, "lib/mize.rb".freeze, "lib/mize/cache_methods.rb".freeze, "lib/mize/cache_protocol.rb".freeze, "lib/mize/configure.rb".freeze, "lib/mize/default_cache.rb".freeze, "lib/mize/global_clear.rb".freeze, "lib/mize/memoize.rb".freeze, "lib/mize/railtie.rb".freeze, "lib/mize/reload.rb".freeze, "lib/mize/version.rb".freeze, "mize.gemspec".freeze, "spec/mize/global_clear_spec.rb".freeze, "spec/mize/memoize_method_spec.rb".freeze, "spec/mize/memoize_reload_spec.rb".freeze, "spec/mize/version_spec.rb".freeze, "spec/spec_helper.rb".freeze]
16
- s.homepage = "http://flori.github.com/mize".freeze
16
+ s.homepage = "https://github.com/flori/mize".freeze
17
17
  s.licenses = ["MIT".freeze]
18
18
  s.rdoc_options = ["--title".freeze, "Mize - Library that provides memoziation for methods and functions".freeze, "--main".freeze, "README.md".freeze]
19
19
  s.required_ruby_version = Gem::Requirement.new(">= 2".freeze)
20
- s.rubygems_version = "3.3.17".freeze
20
+ s.rubygems_version = "3.5.16".freeze
21
21
  s.summary = "Library that provides memoziation for methods and functions".freeze
22
22
  s.test_files = ["spec/mize/global_clear_spec.rb".freeze, "spec/mize/memoize_method_spec.rb".freeze, "spec/mize/memoize_reload_spec.rb".freeze, "spec/mize/version_spec.rb".freeze, "spec/spec_helper.rb".freeze]
23
23
 
24
- if s.respond_to? :specification_version then
25
- s.specification_version = 4
26
- end
24
+ s.specification_version = 4
27
25
 
28
- if s.respond_to? :add_runtime_dependency then
29
- s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.12.0"])
30
- s.add_development_dependency(%q<rake>.freeze, [">= 0"])
31
- s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
32
- s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
33
- s.add_development_dependency(%q<yard>.freeze, [">= 0"])
34
- s.add_development_dependency(%q<all_images>.freeze, [">= 0"])
35
- s.add_runtime_dependency(%q<protocol>.freeze, ["~> 2.0"])
36
- else
37
- s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.12.0"])
38
- s.add_dependency(%q<rake>.freeze, [">= 0"])
39
- s.add_dependency(%q<simplecov>.freeze, [">= 0"])
40
- s.add_dependency(%q<rspec>.freeze, [">= 0"])
41
- s.add_dependency(%q<yard>.freeze, [">= 0"])
42
- s.add_dependency(%q<all_images>.freeze, [">= 0"])
43
- s.add_dependency(%q<protocol>.freeze, ["~> 2.0"])
44
- end
26
+ s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.16.1".freeze])
27
+ s.add_development_dependency(%q<rake>.freeze, [">= 0".freeze])
28
+ s.add_development_dependency(%q<simplecov>.freeze, [">= 0".freeze])
29
+ s.add_development_dependency(%q<rspec>.freeze, [">= 0".freeze])
30
+ s.add_development_dependency(%q<yard>.freeze, [">= 0".freeze])
31
+ s.add_development_dependency(%q<all_images>.freeze, [">= 0".freeze])
45
32
  end
@@ -27,6 +27,12 @@ class FooBar
27
27
  end
28
28
  memoize method: :foo
29
29
 
30
+ def foo2(arg: 22)
31
+ @@foo2 ||= arg
32
+ @@foo2 += 1
33
+ end
34
+ memoize method: :foo2
35
+
30
36
  def footsie(*a)
31
37
  @@footsie ||= 0
32
38
  @@footsie += 1
@@ -40,6 +46,12 @@ class FooBar
40
46
  end
41
47
  memoize function: :bar
42
48
 
49
+ def bar2(arg: 22)
50
+ @@bar2 ||= arg
51
+ @@bar2 += 1
52
+ end
53
+ memoize function: :bar2
54
+
43
55
  def foo_nil_stored(*a)
44
56
  @@foo_nil_stored ||= 0
45
57
  @@foo_nil_stored += 1
@@ -101,6 +113,29 @@ describe Mize do
101
113
  expect(fb2.__send__(:__mize_cache__)).not_to be_empty
102
114
  end
103
115
 
116
+ it 'can cache methods with kargs' do
117
+ expect(fb1.__send__(:__mize_cache__)).to be_empty
118
+ expect(fb2.__send__(:__mize_cache__)).to be_empty
119
+ expect(fb1.foo2()).to eq 23
120
+ expect(fb2.foo2()).to eq 24
121
+ expect(fb1.foo2(arg: 123)).to eq 25
122
+ expect(fb2.foo2(arg: 123)).to eq 26
123
+ expect(fb1.foo2()).to eq 23
124
+ expect(fb2.foo2()).to eq 24
125
+ fb1.mize_cache_clear
126
+ fb2.mize_cache_clear
127
+ expect(fb1.__send__(:__mize_cache__)).to be_empty
128
+ expect(fb2.__send__(:__mize_cache__)).to be_empty
129
+ expect(fb1.foo2()).to eq 27
130
+ expect(fb2.foo2()).to eq 28
131
+ expect(fb1.foo2()).to eq 27
132
+ expect(fb2.foo2()).to eq 28
133
+ expect(fb1.foo2(arg: 123)).to eq 29
134
+ expect(fb2.foo2(arg: 123)).to eq 30
135
+ expect(fb1.__send__(:__mize_cache__)).not_to be_empty
136
+ expect(fb2.__send__(:__mize_cache__)).not_to be_empty
137
+ end
138
+
104
139
  it 'can cache protected methods' do
105
140
  expect(fb1.__send__(:__mize_cache__)).to be_empty
106
141
  expect(fb2.__send__(:__mize_cache__)).to be_empty
@@ -189,6 +224,20 @@ describe Mize do
189
224
  expect(FooBar.__send__(:__mize_cache__)).not_to be_empty
190
225
  end
191
226
 
227
+ it 'can cache functions with kargs' do
228
+ expect(FooBar.__send__(:__mize_cache__)).to be_empty
229
+ expect(fb1.bar2).to eq 23
230
+ expect(fb2.bar2).to eq 23
231
+ expect(fb1.bar2(arg: 123)).to eq 24
232
+ expect(fb2.bar2(arg: 123)).to eq 24
233
+ expect(fb1.bar2).to eq 23
234
+ expect(fb2.bar2).to eq 23
235
+ FooBar.mize_cache_clear
236
+ expect(fb1.bar2).to eq 25
237
+ expect(fb2.bar2).to eq 25
238
+ expect(FooBar.__send__(:__mize_cache__)).not_to be_empty
239
+ end
240
+
192
241
  it 'can cache private functions' do
193
242
  expect(FooBar.__send__(:__mize_cache__)).to be_empty
194
243
  expect(fb1.__send__(:baz, 1, 2)).to eq 1
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mize
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Frank
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-21 00:00:00.000000000 Z
11
+ date: 2024-07-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gem_hadar
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.12.0
19
+ version: 1.16.1
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: 1.12.0
26
+ version: 1.16.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -94,20 +94,6 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: protocol
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: '2.0'
104
- type: :runtime
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: '2.0'
111
97
  description: Library that provides memoziation for methods and functions for Ruby.
112
98
  email: flori@ping.de
113
99
  executables: []
@@ -153,7 +139,7 @@ files:
153
139
  - spec/mize/memoize_reload_spec.rb
154
140
  - spec/mize/version_spec.rb
155
141
  - spec/spec_helper.rb
156
- homepage: http://flori.github.com/mize
142
+ homepage: https://github.com/flori/mize
157
143
  licenses:
158
144
  - MIT
159
145
  metadata: {}
@@ -176,7 +162,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
176
162
  - !ruby/object:Gem::Version
177
163
  version: '0'
178
164
  requirements: []
179
- rubygems_version: 3.3.17
165
+ rubygems_version: 3.5.16
180
166
  signing_key:
181
167
  specification_version: 4
182
168
  summary: Library that provides memoziation for methods and functions