persist 0.0.7 → 0.0.8
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.
- data/lib/persist/persist.rb +2 -1
- data/lib/persist/version.rb +6 -2
- data/persist.gemspec +3 -1
- data/test/helper.rb +1 -1
- data/test/test_persist.rb +18 -3
- metadata +19 -3
data/lib/persist/persist.rb
CHANGED
@@ -2,7 +2,8 @@ require 'pstore'
|
|
2
2
|
|
3
3
|
# Public: Implements a DSL around Ruby Standard Library's PStore to facilitate
|
4
4
|
# simple file-persistant storage of Ruby objects in a transactional NoSQL
|
5
|
-
# database.
|
5
|
+
# database. All methods are module methods and should be called on the Persist
|
6
|
+
# module.
|
6
7
|
module Persist
|
7
8
|
class << self
|
8
9
|
# Public: Returns the persistant store Object if initialized.
|
data/lib/persist/version.rb
CHANGED
data/persist.gemspec
CHANGED
data/test/helper.rb
CHANGED
data/test/test_persist.rb
CHANGED
@@ -67,9 +67,24 @@ describe Persist do
|
|
67
67
|
end
|
68
68
|
end
|
69
69
|
|
70
|
-
describe "
|
71
|
-
it "
|
72
|
-
|
70
|
+
describe "a Persist.transaction do" do
|
71
|
+
it "sets multiple keys when commited" do
|
72
|
+
Persist.transaction do
|
73
|
+
Persist.db[:one] = 'first'
|
74
|
+
Persist.db[:two] = 'second'
|
75
|
+
end
|
76
|
+
assert_equal 'first', Persist[:one]
|
77
|
+
assert_equal 'second', Persist[:two]
|
78
|
+
end
|
79
|
+
|
80
|
+
it "sets no keys when aborted" do
|
81
|
+
Persist.transaction do
|
82
|
+
Persist.db[:pre] = 'before'
|
83
|
+
Persist.db.abort
|
84
|
+
Persist.db[:post] = 'after'
|
85
|
+
end
|
86
|
+
assert_nil Persist[:pre]
|
87
|
+
assert_nil Persist[:post]
|
73
88
|
end
|
74
89
|
end
|
75
90
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: persist
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,8 +9,24 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
13
|
-
dependencies:
|
12
|
+
date: 2012-06-25 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: minitest
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
14
30
|
description: A DSL for storing Ruby Objects transactionally in a persistent NoSQL
|
15
31
|
database
|
16
32
|
email:
|