couchrest_model 2.0.4 → 2.1.0.beta1
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 +4 -4
- data/.travis.yml +6 -2
- data/README.md +12 -3
- data/VERSION +1 -1
- data/benchmarks/Gemfile +7 -0
- data/benchmarks/connections.rb +69 -0
- data/couchrest_model.gemspec +11 -13
- data/history.md +6 -0
- data/lib/couchrest/model/design.rb +0 -2
- data/lib/couchrest/model/designs/view.rb +36 -16
- data/lib/couchrest/model/document_queries.rb +5 -9
- data/lib/couchrest/model/errors.rb +8 -0
- data/lib/couchrest/model/support/couchrest_database.rb +12 -4
- data/lib/couchrest/model/validations.rb +1 -1
- data/lib/couchrest/model/validations/uniqueness.rb +11 -1
- data/spec/fixtures/models/course.rb +1 -1
- data/spec/spec_helper.rb +2 -2
- data/spec/unit/assocations_spec.rb +1 -1
- data/spec/unit/attachment_spec.rb +1 -1
- data/spec/unit/base_spec.rb +5 -5
- data/spec/unit/casted_spec.rb +2 -2
- data/spec/unit/connection_spec.rb +3 -3
- data/spec/unit/design_spec.rb +2 -2
- data/spec/unit/designs/design_mapper_spec.rb +1 -1
- data/spec/unit/designs/migrations_spec.rb +1 -1
- data/spec/unit/designs/view_spec.rb +118 -43
- data/spec/unit/designs_spec.rb +10 -13
- data/spec/unit/embeddable_spec.rb +2 -4
- data/spec/unit/persistence_spec.rb +13 -5
- data/spec/unit/property_protection_spec.rb +5 -5
- data/spec/unit/property_spec.rb +9 -9
- data/spec/unit/proxyable_spec.rb +15 -15
- data/spec/unit/subclass_spec.rb +1 -1
- data/spec/unit/utils/migrate_spec.rb +3 -3
- data/spec/unit/validations_spec.rb +7 -7
- metadata +60 -44
data/spec/unit/designs_spec.rb
CHANGED
@@ -136,7 +136,7 @@ describe CouchRest::Model::Designs do
|
|
136
136
|
|
137
137
|
it "will fail if reduce is not specific in view" do
|
138
138
|
@mod.create(:title => 'This is a test')
|
139
|
-
lambda { @mod.by_title_fail.first }.should raise_error(
|
139
|
+
lambda { @mod.by_title_fail.first }.should raise_error(CouchRest::NotFound)
|
140
140
|
end
|
141
141
|
|
142
142
|
it "will perform view request" do
|
@@ -212,14 +212,16 @@ describe CouchRest::Model::Designs do
|
|
212
212
|
end
|
213
213
|
end
|
214
214
|
it "should barf on all if no database given" do
|
215
|
-
|
215
|
+
expect do
|
216
|
+
Unattached.all.first
|
217
|
+
end.to raise_error(CouchRest::Model::DatabaseNotDefined)
|
216
218
|
end
|
217
219
|
it "should query all" do
|
218
220
|
rs = Unattached.all.database(@db).all
|
219
|
-
rs.length.
|
221
|
+
expect(rs.length).to eql(4)
|
220
222
|
end
|
221
223
|
it "should barf on query if no database given" do
|
222
|
-
|
224
|
+
expect() { Unattached.by_title.all }.to raise_error(CouchRest::Model::DatabaseNotDefined)
|
223
225
|
end
|
224
226
|
it "should make the design doc upon first query" do
|
225
227
|
Unattached.by_title.database(@db)
|
@@ -230,22 +232,17 @@ describe CouchRest::Model::Designs do
|
|
230
232
|
rs = Unattached.by_title.database(@db).startkey("bbb").endkey("eee")
|
231
233
|
rs.length.should == 3
|
232
234
|
end
|
233
|
-
it "should return nil on get if no database given" do
|
234
|
-
Unattached.get("aaa").should be_nil
|
235
|
-
end
|
236
|
-
it "should barf on get! if no database given" do
|
237
|
-
lambda{Unattached.get!("aaa")}.should raise_error
|
238
|
-
end
|
239
235
|
it "should get from specific database" do
|
240
236
|
u = Unattached.get(@first_id, @db)
|
241
237
|
u.title.should == "aaa"
|
242
238
|
end
|
243
239
|
it "should barf on first if no database given" do
|
244
|
-
|
240
|
+
expect{ Unattached.first }.to raise_error(CouchRest::Model::DatabaseNotDefined)
|
245
241
|
end
|
246
|
-
it "should get first" do
|
242
|
+
it "should get first with database set" do
|
247
243
|
u = Unattached.all.database(@db).first
|
248
|
-
u.title.
|
244
|
+
expect(u.title).to match(/\A...\z/)
|
245
|
+
expect(u.database).to eql(@db)
|
249
246
|
end
|
250
247
|
it "should get last" do
|
251
248
|
u = Unattached.all.database(@db).last
|
@@ -15,8 +15,7 @@ class OldFashionedMixin < Hash
|
|
15
15
|
end
|
16
16
|
|
17
17
|
class DummyModel < CouchRest::Model::Base
|
18
|
-
use_database
|
19
|
-
raise "Default DB not set" if TEST_SERVER.default_database.nil?
|
18
|
+
use_database DB
|
20
19
|
property :casted_attribute, WithCastedModelMixin
|
21
20
|
property :keywords, [String]
|
22
21
|
property :old_casted_attribute, OldFashionedMixin
|
@@ -45,8 +44,7 @@ class WithCastedCallBackModel
|
|
45
44
|
end
|
46
45
|
|
47
46
|
class CastedCallbackDoc < CouchRest::Model::Base
|
48
|
-
use_database
|
49
|
-
raise "Default DB not set" if TEST_SERVER.default_database.nil?
|
47
|
+
use_database DB
|
50
48
|
property :callback_model, WithCastedCallBackModel
|
51
49
|
end
|
52
50
|
|
@@ -262,7 +262,7 @@ describe CouchRest::Model::Persistence do
|
|
262
262
|
end
|
263
263
|
it "should make it go away" do
|
264
264
|
@dobj.destroy
|
265
|
-
|
265
|
+
expect(Basic.get(@dobj.id)).to be_nil
|
266
266
|
end
|
267
267
|
it "should freeze the object" do
|
268
268
|
@dobj.destroy
|
@@ -272,7 +272,7 @@ describe CouchRest::Model::Persistence do
|
|
272
272
|
it "trying to save after should fail" do
|
273
273
|
@dobj.destroy
|
274
274
|
lambda { @dobj.save }.should raise_error(StandardError)
|
275
|
-
|
275
|
+
expect(Basic.get(@dobj.id)).to be_nil
|
276
276
|
end
|
277
277
|
it "should make destroyed? true" do
|
278
278
|
@dobj.destroyed?.should be_false
|
@@ -303,13 +303,21 @@ describe CouchRest::Model::Persistence do
|
|
303
303
|
Article.get("").should be_nil
|
304
304
|
end
|
305
305
|
it "should raise an error if `get!` is used and the document doesn't exist" do
|
306
|
-
expect{ Article.get!('matt aimonetti') }.to raise_error
|
306
|
+
expect{ Article.get!('matt aimonetti') }.to raise_error(CouchRest::Model::DocumentNotFound)
|
307
307
|
end
|
308
308
|
it "should raise an error if `get!` is requested with a blank id" do
|
309
|
-
expect{ Article.get!("") }.to raise_error
|
309
|
+
expect{ Article.get!("") }.to raise_error(CouchRest::Model::DocumentNotFound)
|
310
310
|
end
|
311
311
|
it "should raise an error if `find!` is used and the document doesn't exist" do
|
312
|
-
expect{ Article.find!('matt aimonetti') }.to raise_error
|
312
|
+
expect{ Article.find!('matt aimonetti') }.to raise_error(CouchRest::Model::DocumentNotFound)
|
313
|
+
end
|
314
|
+
context "without a database" do
|
315
|
+
it "should cause #get to raise an error" do
|
316
|
+
Article.stub(:database).and_return(nil)
|
317
|
+
expect{ Article.get('foo') }.to raise_error(CouchRest::Model::DatabaseNotDefined)
|
318
|
+
expect{ Article.get!('foo') }.to raise_error(CouchRest::Model::DatabaseNotDefined)
|
319
|
+
end
|
320
|
+
|
313
321
|
end
|
314
322
|
end
|
315
323
|
|
@@ -4,7 +4,7 @@ describe "Model Attributes" do
|
|
4
4
|
|
5
5
|
describe "no declarations" do
|
6
6
|
class NoProtection < CouchRest::Model::Base
|
7
|
-
use_database
|
7
|
+
use_database DB
|
8
8
|
property :name
|
9
9
|
property :phone
|
10
10
|
end
|
@@ -44,7 +44,7 @@ describe "Model Attributes" do
|
|
44
44
|
|
45
45
|
describe "Model Base", "accessible flag" do
|
46
46
|
class WithAccessible < CouchRest::Model::Base
|
47
|
-
use_database
|
47
|
+
use_database DB
|
48
48
|
property :name, :accessible => true
|
49
49
|
property :admin, :default => false
|
50
50
|
end
|
@@ -81,7 +81,7 @@ describe "Model Attributes" do
|
|
81
81
|
|
82
82
|
describe "Model Base", "protected flag" do
|
83
83
|
class WithProtected < CouchRest::Model::Base
|
84
|
-
use_database
|
84
|
+
use_database DB
|
85
85
|
property :name
|
86
86
|
property :admin, :default => false, :protected => true
|
87
87
|
end
|
@@ -127,7 +127,7 @@ describe "Model Attributes" do
|
|
127
127
|
|
128
128
|
describe "Model Base", "mixing protected and accessible flags" do
|
129
129
|
class WithBothAndUnspecified < CouchRest::Model::Base
|
130
|
-
use_database
|
130
|
+
use_database DB
|
131
131
|
property :name, :accessible => true
|
132
132
|
property :admin, :default => false, :protected => true
|
133
133
|
property :phone, :default => 'unset phone number'
|
@@ -147,7 +147,7 @@ describe "Model Attributes" do
|
|
147
147
|
|
148
148
|
describe "from database" do
|
149
149
|
class WithProtected < CouchRest::Model::Base
|
150
|
-
use_database
|
150
|
+
use_database DB
|
151
151
|
property :name
|
152
152
|
property :admin, :default => false, :protected => true
|
153
153
|
design do
|
data/spec/unit/property_spec.rb
CHANGED
@@ -509,26 +509,26 @@ describe "Property Class" do
|
|
509
509
|
describe "casting" do
|
510
510
|
it "should cast a value" do
|
511
511
|
property = CouchRest::Model::Property.new(:test, :type => Date)
|
512
|
-
parent =
|
512
|
+
parent = double("FooObject")
|
513
513
|
property.cast(parent, "2010-06-16").should eql(Date.new(2010, 6, 16))
|
514
514
|
property.cast_value(parent, "2010-06-16").should eql(Date.new(2010, 6, 16))
|
515
515
|
end
|
516
516
|
|
517
517
|
it "should cast an array of values" do
|
518
518
|
property = CouchRest::Model::Property.new(:test, :type => [Date])
|
519
|
-
parent =
|
519
|
+
parent = double("FooObject")
|
520
520
|
property.cast(parent, ["2010-06-01", "2010-06-02"]).should eql([Date.new(2010, 6, 1), Date.new(2010, 6, 2)])
|
521
521
|
end
|
522
522
|
|
523
523
|
it "should cast an array of values with array option" do
|
524
524
|
property = CouchRest::Model::Property.new(:test, :type => Date, :array => true)
|
525
|
-
parent =
|
525
|
+
parent = double("FooObject")
|
526
526
|
property.cast(parent, ["2010-06-01", "2010-06-02"]).should eql([Date.new(2010, 6, 1), Date.new(2010, 6, 2)])
|
527
527
|
end
|
528
528
|
|
529
529
|
context "when allow_blank is false" do
|
530
530
|
let :parent do
|
531
|
-
|
531
|
+
double("FooObject")
|
532
532
|
end
|
533
533
|
|
534
534
|
it "should convert blank to nil" do
|
@@ -544,13 +544,13 @@ describe "Property Class" do
|
|
544
544
|
|
545
545
|
it "should set a CastedArray on array of Objects" do
|
546
546
|
property = CouchRest::Model::Property.new(:test, :type => [Object])
|
547
|
-
parent =
|
547
|
+
parent = double("FooObject")
|
548
548
|
property.cast(parent, ["2010-06-01", "2010-06-02"]).class.should eql(CouchRest::Model::CastedArray)
|
549
549
|
end
|
550
550
|
|
551
551
|
it "should set a CastedArray on array of Strings" do
|
552
552
|
property = CouchRest::Model::Property.new(:test, :type => [String])
|
553
|
-
parent =
|
553
|
+
parent = double("FooObject")
|
554
554
|
property.cast(parent, ["2010-06-01", "2010-06-02"]).class.should eql(CouchRest::Model::CastedArray)
|
555
555
|
end
|
556
556
|
|
@@ -573,20 +573,20 @@ describe "Property Class" do
|
|
573
573
|
def as_json; ary; end
|
574
574
|
end
|
575
575
|
property = CouchRest::Model::Property.new(:test, :type => prop)
|
576
|
-
parent =
|
576
|
+
parent = double("FooClass")
|
577
577
|
cast = property.cast(parent, [1, 2])
|
578
578
|
cast.ary.should eql([1, 2])
|
579
579
|
end
|
580
580
|
|
581
581
|
it "should set parent as casted_by object in CastedArray" do
|
582
582
|
property = CouchRest::Model::Property.new(:test, :type => [Object])
|
583
|
-
parent =
|
583
|
+
parent = double("FooObject")
|
584
584
|
property.cast(parent, ["2010-06-01", "2010-06-02"]).casted_by.should eql(parent)
|
585
585
|
end
|
586
586
|
|
587
587
|
it "should set casted_by on new value" do
|
588
588
|
property = CouchRest::Model::Property.new(:test, :type => CatToy)
|
589
|
-
parent =
|
589
|
+
parent = double("CatObject")
|
590
590
|
cast = property.cast(parent, {:name => 'catnip'})
|
591
591
|
cast.casted_by.should eql(parent)
|
592
592
|
end
|
data/spec/unit/proxyable_spec.rb
CHANGED
@@ -27,9 +27,9 @@ describe CouchRest::Model::Proxyable do
|
|
27
27
|
end
|
28
28
|
|
29
29
|
it "should provide proxy database from method" do
|
30
|
-
@class.
|
31
|
-
@obj.proxy_database.
|
32
|
-
@obj.proxy_database.name.
|
30
|
+
expect(@class).to receive(:proxy_database_method).at_least(:twice).and_return(:slug)
|
31
|
+
expect(@obj.proxy_database).to be_a(CouchRest::Database)
|
32
|
+
expect(@obj.proxy_database.name).to eql('couchrest_proxy')
|
33
33
|
end
|
34
34
|
|
35
35
|
it "should raise an error if called and no proxy_database_method set" do
|
@@ -84,7 +84,7 @@ describe CouchRest::Model::Proxyable do
|
|
84
84
|
end
|
85
85
|
|
86
86
|
it "should create a new method" do
|
87
|
-
DummyProxyable.stub
|
87
|
+
DummyProxyable.stub(:method_defined?).and_return(true)
|
88
88
|
DummyProxyable.proxy_for(:cats)
|
89
89
|
DummyProxyable.new.should respond_to(:cats)
|
90
90
|
end
|
@@ -178,10 +178,10 @@ describe CouchRest::Model::Proxyable do
|
|
178
178
|
end
|
179
179
|
|
180
180
|
before :each do
|
181
|
-
@design_doc =
|
182
|
-
@design_doc.stub
|
183
|
-
@model =
|
184
|
-
@model.stub
|
181
|
+
@design_doc = double('Design')
|
182
|
+
@design_doc.stub(:view_names).and_return(['all', 'by_name'])
|
183
|
+
@model = double('Cat')
|
184
|
+
@model.stub(:design_docs).and_return([@design_doc])
|
185
185
|
@obj = @klass.new(@model, 'owner', 'owner_name', 'database')
|
186
186
|
end
|
187
187
|
|
@@ -213,7 +213,7 @@ describe CouchRest::Model::Proxyable do
|
|
213
213
|
end
|
214
214
|
|
215
215
|
it "should create 'find_by_name' view that forwards to normal view" do
|
216
|
-
view =
|
216
|
+
view = double('view')
|
217
217
|
view.should_receive('key').with('name').and_return(view)
|
218
218
|
view.should_receive('first').and_return(nil)
|
219
219
|
@obj.should_receive(:by_name).and_return(view)
|
@@ -221,7 +221,7 @@ describe CouchRest::Model::Proxyable do
|
|
221
221
|
end
|
222
222
|
|
223
223
|
it "should create 'find_by_name!' that raises error when there are no results" do
|
224
|
-
view =
|
224
|
+
view = double('view')
|
225
225
|
view.should_receive('key').with('name').and_return(view)
|
226
226
|
view.should_receive('first').and_return(nil)
|
227
227
|
@obj.should_receive(:by_name).and_return(view)
|
@@ -243,21 +243,21 @@ describe CouchRest::Model::Proxyable do
|
|
243
243
|
end
|
244
244
|
|
245
245
|
it "should proxy #count" do
|
246
|
-
view =
|
246
|
+
view = double('View')
|
247
247
|
view.should_receive(:count).and_return(nil)
|
248
248
|
@model.should_receive(:all).and_return(view)
|
249
249
|
@obj.count
|
250
250
|
end
|
251
251
|
|
252
252
|
it "should proxy #first" do
|
253
|
-
view =
|
253
|
+
view = double('View')
|
254
254
|
view.should_receive(:first).and_return(nil)
|
255
255
|
@model.should_receive(:all).and_return(view)
|
256
256
|
@obj.first
|
257
257
|
end
|
258
258
|
|
259
259
|
it "should proxy #last" do
|
260
|
-
view =
|
260
|
+
view = double('View')
|
261
261
|
view.should_receive(:last).and_return(nil)
|
262
262
|
@model.should_receive(:all).and_return(view)
|
263
263
|
@obj.last
|
@@ -279,7 +279,7 @@ describe CouchRest::Model::Proxyable do
|
|
279
279
|
|
280
280
|
describe "#proxy_update" do
|
281
281
|
it "should set returned doc fields" do
|
282
|
-
doc =
|
282
|
+
doc = double(:Document)
|
283
283
|
doc.should_receive(:is_a?).with(@model).and_return(true)
|
284
284
|
doc.should_receive(:database=).with('database')
|
285
285
|
doc.should_receive(:model_proxy=).with(@obj)
|
@@ -288,7 +288,7 @@ describe CouchRest::Model::Proxyable do
|
|
288
288
|
end
|
289
289
|
|
290
290
|
it "should not set anything if matching document not provided" do
|
291
|
-
doc =
|
291
|
+
doc = double(:DocumentFoo)
|
292
292
|
doc.should_receive(:is_a?).with(@model).and_return(false)
|
293
293
|
doc.should_not_receive(:database=)
|
294
294
|
doc.should_not_receive(:model_proxy=)
|
data/spec/unit/subclass_spec.rb
CHANGED
@@ -12,10 +12,10 @@ describe CouchRest::Model::Utils::Migrate do
|
|
12
12
|
@module.load_all_models
|
13
13
|
end
|
14
14
|
it "should detect if Rails is available and require models" do
|
15
|
-
Rails =
|
16
|
-
Rails.stub
|
15
|
+
Rails = double()
|
16
|
+
Rails.stub(:root).and_return("")
|
17
17
|
Dir.should_receive(:[]).with("app/models/**/*.rb").and_return(['failed_require'])
|
18
|
-
# we can't
|
18
|
+
# we can't double require, so just expect an error
|
19
19
|
expect {
|
20
20
|
@module.load_all_models
|
21
21
|
}.to raise_error(LoadError)
|
@@ -76,9 +76,9 @@ describe CouchRest::Model::Validations do
|
|
76
76
|
it "should allow specific view" do
|
77
77
|
@obj = WithUniqueValidationProxy.new(:title => 'test 7')
|
78
78
|
@obj.class.should_not_receive('by_title')
|
79
|
-
view =
|
80
|
-
view.stub
|
81
|
-
proxy =
|
79
|
+
view = double('View')
|
80
|
+
view.stub(:rows).and_return([])
|
81
|
+
proxy = double('Proxy')
|
82
82
|
proxy.should_receive('by_title').and_return(view)
|
83
83
|
proxy.should_receive('respond_to?').with('by_title').and_return(true)
|
84
84
|
@obj.should_receive('proxy').and_return(proxy)
|
@@ -88,12 +88,12 @@ describe CouchRest::Model::Validations do
|
|
88
88
|
|
89
89
|
context "when proxied" do
|
90
90
|
it "should lookup the model_proxy" do
|
91
|
-
view =
|
92
|
-
view.stub
|
93
|
-
mp =
|
91
|
+
view = double('View')
|
92
|
+
view.stub(:rows).and_return([])
|
93
|
+
mp = double(:ModelProxy)
|
94
94
|
mp.should_receive(:by_title).and_return(view)
|
95
95
|
@obj = WithUniqueValidation.new(:title => 'test 8')
|
96
|
-
@obj.stub
|
96
|
+
@obj.stub(:model_proxy).twice.and_return(mp)
|
97
97
|
@obj.valid?
|
98
98
|
end
|
99
99
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: couchrest_model
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.1.0.beta1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- J. Chris Anderson
|
@@ -12,56 +12,36 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2015-
|
15
|
+
date: 2015-07-10 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: couchrest
|
19
19
|
requirement: !ruby/object:Gem::Requirement
|
20
20
|
requirements:
|
21
|
-
- -
|
21
|
+
- - '='
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version:
|
23
|
+
version: 2.0.0.rc3
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
26
|
version_requirements: !ruby/object:Gem::Requirement
|
27
27
|
requirements:
|
28
|
-
- -
|
28
|
+
- - '='
|
29
29
|
- !ruby/object:Gem::Version
|
30
|
-
version:
|
31
|
-
- !ruby/object:Gem::Dependency
|
32
|
-
name: mime-types
|
33
|
-
requirement: !ruby/object:Gem::Requirement
|
34
|
-
requirements:
|
35
|
-
- - ">="
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: '1.16'
|
38
|
-
type: :runtime
|
39
|
-
prerelease: false
|
40
|
-
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
requirements:
|
42
|
-
- - ">="
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
version: '1.16'
|
30
|
+
version: 2.0.0.rc3
|
45
31
|
- !ruby/object:Gem::Dependency
|
46
32
|
name: activemodel
|
47
33
|
requirement: !ruby/object:Gem::Requirement
|
48
34
|
requirements:
|
49
|
-
- - "
|
35
|
+
- - "~>"
|
50
36
|
- !ruby/object:Gem::Version
|
51
37
|
version: '4.0'
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '3.0'
|
55
38
|
type: :runtime
|
56
39
|
prerelease: false
|
57
40
|
version_requirements: !ruby/object:Gem::Requirement
|
58
41
|
requirements:
|
59
|
-
- - "
|
42
|
+
- - "~>"
|
60
43
|
- !ruby/object:Gem::Version
|
61
44
|
version: '4.0'
|
62
|
-
- - ">="
|
63
|
-
- !ruby/object:Gem::Version
|
64
|
-
version: '3.0'
|
65
45
|
- !ruby/object:Gem::Dependency
|
66
46
|
name: tzinfo
|
67
47
|
requirement: !ruby/object:Gem::Requirement
|
@@ -82,70 +62,104 @@ dependencies:
|
|
82
62
|
requirements:
|
83
63
|
- - "~>"
|
84
64
|
- !ruby/object:Gem::Version
|
85
|
-
version: 2.
|
65
|
+
version: 2.14.1
|
86
66
|
type: :development
|
87
67
|
prerelease: false
|
88
68
|
version_requirements: !ruby/object:Gem::Requirement
|
89
69
|
requirements:
|
90
70
|
- - "~>"
|
91
71
|
- !ruby/object:Gem::Version
|
92
|
-
version: 2.
|
72
|
+
version: 2.14.1
|
93
73
|
- !ruby/object:Gem::Dependency
|
94
|
-
name:
|
74
|
+
name: rack-test
|
95
75
|
requirement: !ruby/object:Gem::Requirement
|
96
76
|
requirements:
|
97
|
-
- - "
|
77
|
+
- - ">="
|
98
78
|
- !ruby/object:Gem::Version
|
99
|
-
version:
|
79
|
+
version: 0.5.7
|
100
80
|
type: :development
|
101
81
|
prerelease: false
|
102
82
|
version_requirements: !ruby/object:Gem::Requirement
|
103
83
|
requirements:
|
104
|
-
- - "
|
84
|
+
- - ">="
|
105
85
|
- !ruby/object:Gem::Version
|
106
|
-
version:
|
86
|
+
version: 0.5.7
|
107
87
|
- !ruby/object:Gem::Dependency
|
108
|
-
name:
|
88
|
+
name: rake
|
109
89
|
requirement: !ruby/object:Gem::Requirement
|
110
90
|
requirements:
|
111
91
|
- - ">="
|
112
92
|
- !ruby/object:Gem::Version
|
113
|
-
version: 0.
|
93
|
+
version: 0.8.0
|
114
94
|
type: :development
|
115
95
|
prerelease: false
|
116
96
|
version_requirements: !ruby/object:Gem::Requirement
|
117
97
|
requirements:
|
118
98
|
- - ">="
|
119
99
|
- !ruby/object:Gem::Version
|
120
|
-
version: 0.
|
100
|
+
version: 0.8.0
|
121
101
|
- !ruby/object:Gem::Dependency
|
122
|
-
name:
|
102
|
+
name: test-unit
|
123
103
|
requirement: !ruby/object:Gem::Requirement
|
124
104
|
requirements:
|
125
105
|
- - ">="
|
126
106
|
- !ruby/object:Gem::Version
|
127
|
-
version: 0
|
107
|
+
version: '0'
|
128
108
|
type: :development
|
129
109
|
prerelease: false
|
130
110
|
version_requirements: !ruby/object:Gem::Requirement
|
131
111
|
requirements:
|
132
112
|
- - ">="
|
133
113
|
- !ruby/object:Gem::Version
|
134
|
-
version: 0
|
114
|
+
version: '0'
|
115
|
+
- !ruby/object:Gem::Dependency
|
116
|
+
name: minitest
|
117
|
+
requirement: !ruby/object:Gem::Requirement
|
118
|
+
requirements:
|
119
|
+
- - ">"
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: '4.1'
|
122
|
+
type: :development
|
123
|
+
prerelease: false
|
124
|
+
version_requirements: !ruby/object:Gem::Requirement
|
125
|
+
requirements:
|
126
|
+
- - ">"
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
version: '4.1'
|
135
129
|
- !ruby/object:Gem::Dependency
|
136
130
|
name: kaminari
|
137
131
|
requirement: !ruby/object:Gem::Requirement
|
138
132
|
requirements:
|
139
|
-
- - "
|
133
|
+
- - ">="
|
140
134
|
- !ruby/object:Gem::Version
|
141
135
|
version: 0.14.1
|
136
|
+
- - "<"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 0.16.0
|
142
139
|
type: :development
|
143
140
|
prerelease: false
|
144
141
|
version_requirements: !ruby/object:Gem::Requirement
|
145
142
|
requirements:
|
146
|
-
- - "
|
143
|
+
- - ">="
|
147
144
|
- !ruby/object:Gem::Version
|
148
145
|
version: 0.14.1
|
146
|
+
- - "<"
|
147
|
+
- !ruby/object:Gem::Version
|
148
|
+
version: 0.16.0
|
149
|
+
- !ruby/object:Gem::Dependency
|
150
|
+
name: mime-types
|
151
|
+
requirement: !ruby/object:Gem::Requirement
|
152
|
+
requirements:
|
153
|
+
- - "<"
|
154
|
+
- !ruby/object:Gem::Version
|
155
|
+
version: '3.0'
|
156
|
+
type: :development
|
157
|
+
prerelease: false
|
158
|
+
version_requirements: !ruby/object:Gem::Requirement
|
159
|
+
requirements:
|
160
|
+
- - "<"
|
161
|
+
- !ruby/object:Gem::Version
|
162
|
+
version: '3.0'
|
149
163
|
description: CouchRest Model provides aditional features to the standard CouchRest
|
150
164
|
Document class such as properties, view designs, associations, callbacks, typecasting
|
151
165
|
and validations.
|
@@ -166,6 +180,8 @@ files:
|
|
166
180
|
- Rakefile
|
167
181
|
- THANKS.md
|
168
182
|
- VERSION
|
183
|
+
- benchmarks/Gemfile
|
184
|
+
- benchmarks/connections.rb
|
169
185
|
- benchmarks/dirty.rb
|
170
186
|
- couchrest_model.gemspec
|
171
187
|
- history.md
|
@@ -293,7 +309,7 @@ rubyforge_project:
|
|
293
309
|
rubygems_version: 2.4.6
|
294
310
|
signing_key:
|
295
311
|
specification_version: 4
|
296
|
-
summary: Extends the CouchRest Document for advanced modelling.
|
312
|
+
summary: Extends the CouchRest Document class for advanced modelling.
|
297
313
|
test_files:
|
298
314
|
- spec/fixtures/attachments/README
|
299
315
|
- spec/fixtures/attachments/couchdb.png
|