memoize_ttl 0.0.1 → 0.0.2

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