couch_potato 0.5.2 → 0.5.3
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/CHANGES.md +14 -3
- data/README.md +10 -4
- data/lib/couch_potato/database.rb +4 -0
- data/lib/couch_potato/version.rb +1 -1
- data/spec/unit/database_spec.rb +11 -1
- metadata +2 -2
data/CHANGES.md
CHANGED
@@ -1,9 +1,20 @@
|
|
1
1
|
## Changes
|
2
2
|
|
3
|
+
### 0.5.3
|
4
|
+
* added CouchPotato::Database.load! (langalex)
|
5
|
+
|
6
|
+
### 0.5.2
|
7
|
+
* added CouchPotato::Database#first and #first! methods (langalex)
|
8
|
+
* added workaround for BigCouch/Cloudant to not add null reduce functions to views (langalex)
|
9
|
+
* don't add _attachments if there are none (langalex)
|
10
|
+
|
11
|
+
### 0.5.1
|
12
|
+
* fixed issues with tzinfo gem (Bernd Ahlers)
|
13
|
+
|
3
14
|
### 0.5.0
|
4
|
-
* time zone support (Time properties are now converted to current Time.zone)
|
5
|
-
* lazy property initialization (performance!)
|
6
|
-
* active_model is now the default validation framework
|
15
|
+
* time zone support (Time properties are now converted to current Time.zone) (langalex)
|
16
|
+
* lazy property initialization (performance!) (langalex)
|
17
|
+
* active_model is now the default validation framework (langalex)
|
7
18
|
|
8
19
|
### 0.4.0
|
9
20
|
* ruby 1.9.2 compatibility (langalex)
|
data/README.md
CHANGED
@@ -254,11 +254,17 @@ If you have larger structures and you only want to load some attributes you can
|
|
254
254
|
view :all, :key => :created_at, :properties => [:name], :type => :properties
|
255
255
|
end
|
256
256
|
|
257
|
-
|
258
|
-
|
257
|
+
CouchPotato.database.view(User.everyone).first.name # => "joe"
|
258
|
+
CouchPotato.database.view(User.everyone).first.bio # => nil
|
259
259
|
|
260
|
-
|
261
|
-
|
260
|
+
CouchPotato.database.first(User.everyone).name # => "joe" # convenience function, returns nil if nothing found
|
261
|
+
CouchPotato.database.first!(User.everyone) # would raise CouchPotato::NotFound if nothing was found
|
262
|
+
|
263
|
+
If you want Rails to automatically show a 404 page when `CouchPotato::NotFound` is raised add this to your `ApplicationController`:
|
264
|
+
|
265
|
+
rescue_from CouchPotato::NotFound {
|
266
|
+
render(:file => '404.html', :status => :not_found, :layout => false)
|
267
|
+
}
|
262
268
|
|
263
269
|
You can also pass in custom map/reduce functions with the custom view spec:
|
264
270
|
|
data/lib/couch_potato/version.rb
CHANGED
data/spec/unit/database_spec.rb
CHANGED
@@ -64,7 +64,17 @@ describe CouchPotato::Database, 'load' do
|
|
64
64
|
db = CouchPotato::Database.new(stub('couchrest db', :info => nil, :get => Parent::Child.json_create({JSON.create_id => 'Parent::Child'})))
|
65
65
|
db.load('1').class.should == Parent::Child
|
66
66
|
end
|
67
|
-
|
67
|
+
end
|
68
|
+
|
69
|
+
describe CouchPotato::Database, 'load!' do
|
70
|
+
it "should raise an error if no document found" do
|
71
|
+
couchrest_db = stub('couchrest db', :info => nil)
|
72
|
+
couchrest_db.stub(:get).and_raise(RestClient::ResourceNotFound)
|
73
|
+
db = CouchPotato::Database.new(couchrest_db)
|
74
|
+
lambda {
|
75
|
+
db.load! '1'
|
76
|
+
}.should raise_error(CouchPotato::NotFound)
|
77
|
+
end
|
68
78
|
end
|
69
79
|
|
70
80
|
describe CouchPotato::Database, 'save_document' do
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: couch_potato
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.5.
|
5
|
+
version: 0.5.3
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Alexander Lang
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-04-
|
13
|
+
date: 2011-04-27 00:00:00 +02:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|