atomic 1.1.1 → 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/atomic.gemspec +4 -3
  2. metadata +29 -29
@@ -1,8 +1,8 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
3
  # Update these to get proper version and commit history
4
- new_version = "1.1.1"
5
- old_version = "1.1.0"
4
+ new_version = "1.1.2"
5
+ old_version = "1.1.1"
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = %q{atomic}
@@ -13,8 +13,9 @@ Gem::Specification.new do |s|
13
13
  Changes in version #{new_version}:
14
14
 
15
15
  #{`git log --oneline #{old_version}...#{new_version}`}
16
- #{File.read('README.md')}
16
+ #{`kramdown README.md`}
17
17
  EOS
18
+ puts s.description
18
19
  s.email = ["headius@headius.com", "mental@rydia.net", "funny.falcon@gmail.com"]
19
20
  s.homepage = "http://github.com/headius/ruby-atomic"
20
21
  s.require_paths = ["lib"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: atomic
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,35 +13,35 @@ bindir: bin
13
13
  cert_chain: []
14
14
  date: 2013-04-05 00:00:00.000000000 Z
15
15
  dependencies: []
16
- description: ! "Changes in version 1.1.1:\n\n2c5ab6c Include README and oneline logs
17
- in gem description.\n6aeb053 Add @funny-falcon to authors.\naa24d4d Bump version
18
- to 1.1.1.\ndc327eb Merge pull request #16 from funny-falcon/patch-1\n1b68767 Fix
19
- JRUBYREFERENCE8_ALLOCATOR\n\natomic: An atomic reference implementation for JRuby,
20
- Rubinius, and MRI.\n\nSummary\n=======\n\nThis library provides:\n\n* an Atomic
21
- class that guarantees atomic updates to its contained value\n\nThe Atomic class
22
- provides accessors for the contained \"value\" plus two update\nmethods:\n\n* update
23
- will run the provided block, passing the current value and replacing\n it with
24
- the block result iff the value has not been changed in the mean time.\n It may
25
- run the block repeatedly if there are other concurrent updates in\n progress.\n*
26
- try_update will run the provided block, passing the current value and\n replacing
27
- it with the block result. If the value changes before the update\n can happen,
28
- it will throw Atomic::ConcurrentUpdateError.\n\nThe atomic repository is at http://github.com/headius/ruby-atomic.\n\nUsage\n=====\n\nThe
29
- simplest way to use \"atomic\" is to call the \"update\" or \"try_update\"\nmethods.\n\n\"try_update\"
30
- and \"update\" both call the given block, passing the current\nvalue and using the
31
- block's result as the new value. If the value is updated\nby another thread before
32
- the block completes, \"try update\" raises a\nConcurrentUpdateError and \"update\"
33
- retries the block. Because \"update\" may call\nthe block several times when multiple
34
- threads are all updating the same value,\nthe block's logic should be kept as simple
35
- as possible.\n\n````ruby\nrequire 'atomic'\n\nmy_atomic = Atomic.new(0)\nmy_atomic.update
16
+ description: ! "Changes in version 1.1.2:\n\nf519385 Attempting to get description
17
+ to look nice on rubygems.org.\n\n<p>atomic: An atomic reference implementation for
18
+ JRuby, Rubinius, and MRI.</p>\n\n<h1 id=\"summary\">Summary</h1>\n\n<p>This library
19
+ provides:</p>\n\n<ul>\n <li>an Atomic class that guarantees atomic updates to its
20
+ contained value</li>\n</ul>\n\n<p>The Atomic class provides accessors for the contained
21
+ “value” plus two update\nmethods:</p>\n\n<ul>\n <li>update will run the provided
22
+ block, passing the current value and replacing\nit with the block result iff the
23
+ value has not been changed in the mean time.\nIt may run the block repeatedly if
24
+ there are other concurrent updates in\nprogress.</li>\n <li>try_update will run
25
+ the provided block, passing the current value and\nreplacing it with the block result.
26
+ If the value changes before the update\ncan happen, it will throw Atomic::ConcurrentUpdateError.</li>\n</ul>\n\n<p>The
27
+ atomic repository is at http://github.com/headius/ruby-atomic.</p>\n\n<h1 id=\"usage\">Usage</h1>\n\n<p>The
28
+ simplest way to use atomic is to call the “update” or “try_update”\nmethods.</p>\n\n<p>“try_update”
29
+ and “update” both call the given block, passing the current\nvalue and using the
30
+ block’s result as the new value. If the value is updated\nby another thread before
31
+ the block completes, “try update” raises a\nConcurrentUpdateError and “update” retries
32
+ the block. Because update may call\nthe block several times when multiple threads
33
+ are all updating the same value,\nthe block’s logic should be kept as simple as
34
+ possible.</p>\n\n<p>````ruby\nrequire ‘atomic’</p>\n\n<p>my_atomic = Atomic.new(0)\nmy_atomic.update
36
35
  {|v| v + 1}\nbegin\n my_atomic.try_update {|v| v + 1}\nrescue Atomic::ConcurrentUpdateError
37
- => cue\n # deal with it (retry, propagate, etc)\nend\n````\n\nIt's also possible
38
- to use the regular get/set operations on the Atomic, if you\nwant to avoid the exception
39
- and respond to contended changes in some other way.\n\n````ruby\nmy_atomic = Atomic.new(0)\nmy_atomic.value
40
- # => 0\nmy_atomic.value = 1\nmy_atomic.swap(2) # => 1\nmy_atomic.compare_and_swap(2,
41
- 3) # => true, updated to 3\nmy_atomic.compare_and_swap(2, 3) # => false, current
42
- is not 2\n````\n\nBuilding\n========\n\nAs of 1.1.0, JDK8 is required to build the
43
- atomic gem, since it attempts to use\nthe new atomic Unsafe.getAndSetObject method
44
- only in JDK8. The resulting code\nshould still work fine as far back as Java 5.\n"
36
+ =&gt; cue\n # deal with it (retry, propagate, etc)\nend\n````</p>\n\n<p>It’s also
37
+ possible to use the regular get/set operations on the Atomic, if you\nwant to avoid
38
+ the exception and respond to contended changes in some other way.</p>\n\n<p><code>ruby\nmy_atomic
39
+ = Atomic.new(0)\nmy_atomic.value # =&gt; 0\nmy_atomic.value = 1\nmy_atomic.swap(2)
40
+ # =&gt; 1\nmy_atomic.compare_and_swap(2, 3) # =&gt; true, updated to 3\nmy_atomic.compare_and_swap(2,
41
+ 3) # =&gt; false, current is not 2\n</code></p>\n\n<h1 id=\"building\">Building</h1>\n\n<p>As
42
+ of 1.1.0, JDK8 is required to build the atomic gem, since it attempts to use\nthe
43
+ new atomic Unsafe.getAndSetObject method only in JDK8. The resulting code\nshould
44
+ still work fine as far back as Java 5.</p>\n\n"
45
45
  email:
46
46
  - headius@headius.com
47
47
  - mental@rydia.net