rfunk 0.6.0 → 0.6.1

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: 2755cc6e05fdef2c651a6b23c5ed3c8c8694eb95
4
- data.tar.gz: b77625631432a5be513ff0080207dabf50378617
3
+ metadata.gz: e8bec17463922dd4c70a584ccafd24973bb29de2
4
+ data.tar.gz: 161a3098109d8701ec9c728ea4978614874aa7d0
5
5
  SHA512:
6
- metadata.gz: 33a95bb66359db61a1f77d516c54bab29947b409a8f070b29e9417859687449164d2731df64caa1a872d374de8bdc9da731b86d34e69d6823de8f63beec623b3
7
- data.tar.gz: 3b9e2543049283b50f00f66edf1ebc5a59bb70ef1a7bf3c5b6f2d3e0f49f6a3c8e64206b1b60680891d63b1e9cf6892f90313b90d1445f6c4928a3499d380e2f
6
+ metadata.gz: a22230f56cbc42906a1a2496e7fc104f0d582de7131381f6a871a59044d975b4b325603fa7963a7ad57c249dcff25bf9c9a91ce5bf4261f1cb54f814a32fc541
7
+ data.tar.gz: 40ba8fa669edce325f246b1d0681a8d9709c7542be93510bb5b5e71b65950e52a1219c3a0eadf1575406ba6d7b2f2d80fd34606ecc095a9a9f30f0eee76a7877
data/lib/rfunk/lazy.rb CHANGED
@@ -3,10 +3,12 @@ module RFunk
3
3
  def initialize(lambda)
4
4
  @lambda = lambda
5
5
  @created = false
6
+ @atomic = Atomic.new
6
7
  end
7
8
 
8
9
  def value
9
- Option(@value ||= lambda.call.tap { self.created = true })
10
+ atomic.update { @value ||= lambda.call.tap { self.created = true } }
11
+ Option(atomic.value)
10
12
  end
11
13
 
12
14
  def created?
@@ -15,7 +17,7 @@ module RFunk
15
17
 
16
18
  private
17
19
 
18
- attr_reader :lambda
20
+ attr_reader :lambda, :atomic
19
21
  attr_accessor :created
20
22
  end
21
23
 
data/lib/rfunk/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module RFunk
2
- VERSION = '0.6.0'
2
+ VERSION = '0.6.1'
3
3
  end
data/lib/rfunk.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'singleton'
2
+ require 'atomic'
2
3
  require 'ice_nine'
3
4
  require 'ice_nine/core_ext/object'
4
5
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rfunk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Falkowski
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-19 00:00:00.000000000 Z
11
+ date: 2014-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ice_nine
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.11.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: atomic
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 1.1.16
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 1.1.16
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rake
29
43
  requirement: !ruby/object:Gem::Requirement