memoize_ttl 0.0.1 → 0.0.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: 4f92b45010a35d96b874ba3bf9a70f01f3aea9d6
4
- data.tar.gz: 558dc636c4b08ec5247055a0307fa33c428c8807
3
+ metadata.gz: cc61ccb14955f6d922580c66f2ad70eb1bc39073
4
+ data.tar.gz: 4197d84ecbe620c7640df4b18729c25630c910fd
5
5
  SHA512:
6
- metadata.gz: cd25d9e90471925d1a7c0b5b96ad605c2b049fec4edd189d131b5f00483abfd200f2b6b03a297015009ae91ff138cacc209c881268a8fd5ee8776f39bcec11a5
7
- data.tar.gz: 883648de4b6b2227785b0bba43b2f996852ce89f4bcb8cf722c5280f562f49b9dd8c760edd10c5880a92e2a9e2ccc41fdcd23dea36f599dda9f8543772a2065a
6
+ metadata.gz: 8f00b5f4bb23dbd8e69b7a1e9fbba850e65d7a2d080dc78c89c58f6bee0b185e82c42bfb03b5eb615b8a1a938c6a8746cc7552bf72b99dc4e1ae1c063ebdb754
7
+ data.tar.gz: d29625a47e7ced69ee78f75636c9543d53223e9e25311fa0f43ec8baf96eab500d79919078530847d6acc06f499b6f1dec90cddf633adfa30f9507cfa3f12c23
data/README.md CHANGED
@@ -2,6 +2,17 @@
2
2
 
3
3
  Simple memoize with an expiration time (time-to-live).
4
4
 
5
+ MemoizeTtl is not a key based storage.
6
+ MemoizeTtl is an instance variable storage system backed by a ruby macro that writes getter/generator methods with an
7
+ expire check pattern for you.
8
+
9
+ ## Use Cases
10
+
11
+ * In process, decentralized cache
12
+ * Volatile data debouncing
13
+ * Cache with-in cache. Self-expiring memoized values are serializable.
14
+
15
+
5
16
  ## Installation
6
17
 
7
18
  Add this line to your application's Gemfile:
@@ -32,4 +43,3 @@ class Taco
32
43
  end
33
44
 
34
45
  ```
35
-
@@ -9,7 +9,7 @@ module MemoizeTtl
9
9
  if !@#{name}.nil? && @#{name}_expire_at > Time.now
10
10
  return @#{name}
11
11
  end
12
- @#{name} = @@block_#{name}.call
12
+ @#{name} = instance_exec(&@@block_#{name})
13
13
  @#{name}_expire_at = Time.now + #{ttl_seconds}
14
14
  @#{name}
15
15
  end
@@ -1,3 +1,3 @@
1
1
  module MemoizeTtl
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,41 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: memoize_ttl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Grant Gongaware
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-20 00:00:00.000000000 Z
11
+ date: 2017-09-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
+ name: bundler
14
15
  requirement: !ruby/object:Gem::Requirement
15
16
  requirements:
16
- - - ~>
17
+ - - "~>"
17
18
  - !ruby/object:Gem::Version
18
19
  version: '1.7'
19
- name: bundler
20
- prerelease: false
21
20
  type: :development
21
+ prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.7'
27
27
  - !ruby/object:Gem::Dependency
28
+ name: rake
28
29
  requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
- - - ~>
31
+ - - "~>"
31
32
  - !ruby/object:Gem::Version
32
33
  version: '10.0'
33
- name: rake
34
- prerelease: false
35
34
  type: :development
35
+ prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
41
  description: Reusable module to extend named memoized blocks with an expiration time.
@@ -45,7 +45,7 @@ executables: []
45
45
  extensions: []
46
46
  extra_rdoc_files: []
47
47
  files:
48
- - .gitignore
48
+ - ".gitignore"
49
49
  - Gemfile
50
50
  - LICENSE.txt
51
51
  - README.md
@@ -57,24 +57,25 @@ homepage: https://github.com/telmate/memoize_ttl
57
57
  licenses:
58
58
  - MIT
59
59
  metadata: {}
60
- post_install_message:
60
+ post_install_message:
61
61
  rdoc_options: []
62
62
  require_paths:
63
63
  - lib
64
64
  required_ruby_version: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  required_rubygems_version: !ruby/object:Gem::Requirement
70
70
  requirements:
71
- - - '>='
71
+ - - ">="
72
72
  - !ruby/object:Gem::Version
73
73
  version: '0'
74
74
  requirements: []
75
- rubyforge_project:
76
- rubygems_version: 2.4.5
77
- signing_key:
75
+ rubyforge_project:
76
+ rubygems_version: 2.6.11
77
+ signing_key:
78
78
  specification_version: 4
79
79
  summary: Simple memoize with an expiration time (time-to-live).
80
80
  test_files: []
81
+ has_rdoc: