rfunk 0.6.0 → 0.6.1

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