lazy_data 0.0.0 → 0.1.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 +4 -4
- data/.yardopts +11 -0
- data/CHANGELOG.md +5 -0
- data/LICENSE.md +201 -0
- data/README.md +179 -7
- data/lib/lazy_data/dict.rb +194 -0
- data/lib/lazy_data/expiry.rb +95 -0
- data/lib/lazy_data/internal_state.rb +134 -0
- data/lib/lazy_data/retries.rb +164 -0
- data/lib/lazy_data/value.rb +561 -0
- data/lib/lazy_data/version.rb +23 -0
- data/lib/lazy_data.rb +96 -6
- metadata +33 -11
metadata
CHANGED
|
@@ -1,26 +1,48 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lazy_data
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
|
-
-
|
|
7
|
+
- Daniel Azuma
|
|
8
8
|
bindir: bin
|
|
9
9
|
cert_chain: []
|
|
10
10
|
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
11
|
dependencies: []
|
|
12
|
-
description:
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
description: LazyData provides data types featuring thread-safe lazy computation.
|
|
13
|
+
These objects are constructed with a block that can be called to compute the final
|
|
14
|
+
value, but it is not actually called until the value is requested. Once requested,
|
|
15
|
+
the computation takes place only once, in the first thread that requested the value.
|
|
16
|
+
Future requests will return a cached value. Furthermore, any other threads that
|
|
17
|
+
request the value during the initial computation will block until the first thread
|
|
18
|
+
has completed the computation. This implementation also provides retry and expiration
|
|
19
|
+
features. The code was extracted from the google-cloud-env gem that originally used
|
|
20
|
+
it.
|
|
21
|
+
email:
|
|
22
|
+
- dazuma@gmail.com
|
|
16
23
|
executables: []
|
|
17
24
|
extensions: []
|
|
18
25
|
extra_rdoc_files: []
|
|
19
26
|
files:
|
|
27
|
+
- ".yardopts"
|
|
28
|
+
- CHANGELOG.md
|
|
29
|
+
- LICENSE.md
|
|
20
30
|
- README.md
|
|
21
31
|
- lib/lazy_data.rb
|
|
22
|
-
|
|
23
|
-
|
|
32
|
+
- lib/lazy_data/dict.rb
|
|
33
|
+
- lib/lazy_data/expiry.rb
|
|
34
|
+
- lib/lazy_data/internal_state.rb
|
|
35
|
+
- lib/lazy_data/retries.rb
|
|
36
|
+
- lib/lazy_data/value.rb
|
|
37
|
+
- lib/lazy_data/version.rb
|
|
38
|
+
homepage: https://github.com/dazuma/lazy_data
|
|
39
|
+
licenses:
|
|
40
|
+
- Apache-2.0
|
|
41
|
+
metadata:
|
|
42
|
+
changelog_uri: https://dazuma.github.io/lazy_data/gem/v0.1.0/file.CHANGELOG.html
|
|
43
|
+
source_code_uri: https://github.com/dazuma/lazy_data/tree/lazy_data/v0.1.0
|
|
44
|
+
bug_tracker_uri: https://github.com/dazuma/lazy_data/issues
|
|
45
|
+
documentation_uri: https://dazuma.github.io/lazy_data/gem/v0.1.0
|
|
24
46
|
rdoc_options: []
|
|
25
47
|
require_paths:
|
|
26
48
|
- lib
|
|
@@ -28,14 +50,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
28
50
|
requirements:
|
|
29
51
|
- - ">="
|
|
30
52
|
- !ruby/object:Gem::Version
|
|
31
|
-
version:
|
|
53
|
+
version: 2.7.0
|
|
32
54
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
33
55
|
requirements:
|
|
34
56
|
- - ">="
|
|
35
57
|
- !ruby/object:Gem::Version
|
|
36
58
|
version: '0'
|
|
37
59
|
requirements: []
|
|
38
|
-
rubygems_version: 4.0.
|
|
60
|
+
rubygems_version: 4.0.6
|
|
39
61
|
specification_version: 4
|
|
40
|
-
summary:
|
|
62
|
+
summary: Comprehensive implementation of lazily computed data
|
|
41
63
|
test_files: []
|