activerecord-nulldb-adapter 0.3.1 → 0.3.2
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/Appraisals +3 -0
- data/CHANGES.md +6 -0
- data/Gemfile +1 -1
- data/README.rdoc +3 -4
- data/VERSION +1 -1
- data/activerecord-nulldb-adapter.gemspec +5 -4
- data/gemfiles/activerecord_2.3.gemfile +3 -3
- data/gemfiles/activerecord_3.0.gemfile +2 -2
- data/gemfiles/activerecord_3.1.gemfile +2 -2
- data/gemfiles/activerecord_3.2.gemfile +2 -2
- data/gemfiles/activerecord_4.0.gemfile +2 -2
- data/gemfiles/activerecord_4.1.gemfile +17 -0
- data/lib/active_record/connection_adapters/nulldb_adapter/column.rb +12 -3
- data/lib/active_record/connection_adapters/nulldb_adapter/core.rb +1 -1
- data/spec/nulldb_spec.rb +44 -51
- metadata +21 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 599fc67d2e38b95a598aa65ad53c5f4601021280
|
4
|
+
data.tar.gz: f9f23fb4f7d53378e973a746202ef62176831fd5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c4b2e4abb46f08367f84d5c26751fad6e9b59f78d11d397c22a91cb1cc5426ceb07b51d420adb9274b9b0c7c23b7eaef903c95bbc269f79ccfe8d516d41ef88b
|
7
|
+
data.tar.gz: 696421bb75ef8a63648cca86727ddb9537d4d2a1c91ddadc1123faaed2cd149210eed1db0e5794b104913583f31f02180ec10318648e557e7575cec3558bb0ea
|
data/.travis.yml
CHANGED
@@ -1,10 +1,13 @@
|
|
1
1
|
language: ruby
|
2
2
|
cache: bundler
|
3
|
+
bundler_args: --without development
|
4
|
+
sudo: false
|
3
5
|
|
4
6
|
rvm:
|
5
|
-
- 1.9.3
|
6
7
|
- 2.0.0
|
7
|
-
- 2.1.
|
8
|
+
- 2.1.8
|
9
|
+
- 2.2.4
|
10
|
+
- 2.3.0
|
8
11
|
- jruby
|
9
12
|
- rbx
|
10
13
|
|
@@ -20,3 +23,4 @@ gemfile:
|
|
20
23
|
- gemfiles/activerecord_3.1.gemfile
|
21
24
|
- gemfiles/activerecord_3.2.gemfile
|
22
25
|
- gemfiles/activerecord_4.0.gemfile
|
26
|
+
- gemfiles/activerecord_4.1.gemfile
|
data/Appraisals
CHANGED
data/CHANGES.md
CHANGED
data/Gemfile
CHANGED
data/README.rdoc
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
|
2
1
|
{<img src="https://badge.fury.io/rb/activerecord-nulldb-adapter.png" alt="Gem Version" />}[http://badge.fury.io/rb/activerecord-nulldb-adapter]
|
3
2
|
{<img src="https://codeclimate.com/github/nulldb/nulldb.png" />}[https://codeclimate.com/github/nulldb/nulldb]
|
4
3
|
{<img src="https://travis-ci.org/nulldb/nulldb.png?branch=master" alt="Build Status" />}[https://travis-ci.org/nulldb/nulldb]
|
@@ -17,14 +16,14 @@ a real database.
|
|
17
16
|
== Compatibility
|
18
17
|
|
19
18
|
=== Ruby
|
20
|
-
Currently supported Ruby versions: MRI
|
19
|
+
Currently supported Ruby versions: MRI 2.0.0, 2.1.x, 2.2.x, 2.3.x
|
21
20
|
|
22
21
|
Experimental support provided for: JRuby, Rubinius (both in 1.9 mode)
|
23
22
|
|
24
23
|
=== ActiveRecord
|
25
24
|
Any version of ActiveRecord since 2.0, including ActiveRecord 4.0
|
26
25
|
|
27
|
-
It is tested against AR 2.3, 3.0, 3.1, 3.2 and 4.
|
26
|
+
It is tested against AR 2.3, 3.0, 3.1, 3.2, 4.0 and 4.1.
|
28
27
|
|
29
28
|
== Installation
|
30
29
|
|
@@ -67,7 +66,7 @@ include the same module inside a context:
|
|
67
66
|
# ...
|
68
67
|
end
|
69
68
|
|
70
|
-
If you want to have NullDB enabled by default but disabled for particular contexts then (see this post)[http://andywaite.com/2011/5/18/rspec-disable-nulldb]
|
69
|
+
If you want to have NullDB enabled by default but disabled for particular contexts then (see this post)[https://web.archive.org/web/20120419204019/http://andywaite.com/2011/5/18/rspec-disable-nulldb]
|
71
70
|
|
72
71
|
NullDB::Rspec provides some custom matcher support for verifying
|
73
72
|
expectations about interactions with the database:
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.2
|
@@ -2,16 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: activerecord-nulldb-adapter 0.3.
|
5
|
+
# stub: activerecord-nulldb-adapter 0.3.2 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "activerecord-nulldb-adapter"
|
9
|
-
s.version = "0.3.
|
9
|
+
s.version = "0.3.2"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib"]
|
13
13
|
s.authors = ["Avdi Grimm", "Myron Marston"]
|
14
|
-
s.date = "
|
14
|
+
s.date = "2016-01-25"
|
15
15
|
s.description = "A database backend that translates database interactions into no-ops. Using NullDB enables you to test your model business logic - including after_save hooks - without ever touching a real database."
|
16
16
|
s.email = "myron.marston@gmail.com"
|
17
17
|
s.extra_rdoc_files = [
|
@@ -33,6 +33,7 @@ Gem::Specification.new do |s|
|
|
33
33
|
"gemfiles/activerecord_3.1.gemfile",
|
34
34
|
"gemfiles/activerecord_3.2.gemfile",
|
35
35
|
"gemfiles/activerecord_4.0.gemfile",
|
36
|
+
"gemfiles/activerecord_4.1.gemfile",
|
36
37
|
"lib/active_record/connection_adapters/nulldb_adapter.rb",
|
37
38
|
"lib/active_record/connection_adapters/nulldb_adapter/checkpoint.rb",
|
38
39
|
"lib/active_record/connection_adapters/nulldb_adapter/column.rb",
|
@@ -57,7 +58,7 @@ Gem::Specification.new do |s|
|
|
57
58
|
s.homepage = "http://github.com/nulldb/nulldb"
|
58
59
|
s.licenses = ["MIT"]
|
59
60
|
s.rubyforge_project = "nulldb"
|
60
|
-
s.rubygems_version = "2.
|
61
|
+
s.rubygems_version = "2.4.5.1"
|
61
62
|
s.summary = "The Null Object pattern as applied to ActiveRecord database adapters"
|
62
63
|
|
63
64
|
if s.respond_to? :specification_version then
|
@@ -2,8 +2,8 @@
|
|
2
2
|
|
3
3
|
source "https://rubygems.org"
|
4
4
|
|
5
|
-
gem "iconv", :platforms=>:ruby
|
6
5
|
gem "activerecord", "~> 2.3.0"
|
6
|
+
gem "iconv", :platforms => :ruby
|
7
7
|
|
8
8
|
group :development, :test do
|
9
9
|
gem "spec"
|
@@ -13,6 +13,6 @@ end
|
|
13
13
|
|
14
14
|
group :development do
|
15
15
|
gem "jeweler"
|
16
|
-
gem "appraisal"
|
17
|
-
gem "simplecov", :require=>false
|
16
|
+
gem "appraisal"
|
17
|
+
gem "simplecov", :require => false
|
18
18
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "activerecord", "~> 4.1.0"
|
6
|
+
|
7
|
+
group :development, :test do
|
8
|
+
gem "spec"
|
9
|
+
gem "rspec", ">= 1.2.9"
|
10
|
+
gem "rake"
|
11
|
+
end
|
12
|
+
|
13
|
+
group :development do
|
14
|
+
gem "jeweler"
|
15
|
+
gem "appraisal"
|
16
|
+
gem "simplecov", :require => false
|
17
|
+
end
|
@@ -1,11 +1,20 @@
|
|
1
1
|
class ActiveRecord::ConnectionAdapters::NullDBAdapter
|
2
2
|
class Column < ::ActiveRecord::ConnectionAdapters::Column
|
3
|
+
|
3
4
|
private
|
4
5
|
|
5
6
|
def simplified_type(field_type)
|
6
|
-
|
7
|
-
|
8
|
-
|
7
|
+
super || simplified_type_from_sql_type
|
8
|
+
end
|
9
|
+
|
10
|
+
def simplified_type_from_sql_type
|
11
|
+
case sql_type
|
12
|
+
when :primary_key
|
13
|
+
:integer
|
14
|
+
when :string
|
15
|
+
:string
|
16
|
+
end
|
9
17
|
end
|
18
|
+
|
10
19
|
end
|
11
20
|
end
|
@@ -158,7 +158,7 @@ class ActiveRecord::ConnectionAdapters::NullDBAdapter < ActiveRecord::Connection
|
|
158
158
|
EmptyResult.new
|
159
159
|
end
|
160
160
|
|
161
|
-
def select_rows(statement, name = nil)
|
161
|
+
def select_rows(statement, name = nil, binds = [])
|
162
162
|
[].tap do
|
163
163
|
self.execution_log << Statement.new(entry_point, statement)
|
164
164
|
end
|
data/spec/nulldb_spec.rb
CHANGED
@@ -33,25 +33,25 @@ NullDB.configure {|ndb| ndb.project_root = 'Rails.root'}
|
|
33
33
|
|
34
34
|
describe "NullDB with no schema pre-loaded" do
|
35
35
|
before :each do
|
36
|
-
Kernel.
|
37
|
-
ActiveRecord::Migration.
|
36
|
+
allow( Kernel ).to receive :load
|
37
|
+
allow( ActiveRecord::Migration ).to receive :verbose=
|
38
38
|
end
|
39
39
|
|
40
40
|
it "should load Rails.root/db/schema.rb if no alternate is specified" do
|
41
41
|
ActiveRecord::Base.establish_connection :adapter => :nulldb
|
42
|
-
Kernel.
|
42
|
+
expect( Kernel ).to receive(:load).with("Rails.root/db/schema.rb")
|
43
43
|
ActiveRecord::Base.connection.columns('schema_info')
|
44
44
|
end
|
45
45
|
|
46
46
|
it "should load the specified schema relative to Rails.root" do
|
47
|
-
Kernel.
|
47
|
+
expect( Kernel ).to receive(:load).with("Rails.root/foo/myschema.rb")
|
48
48
|
ActiveRecord::Base.establish_connection :adapter => :nulldb,
|
49
49
|
:schema => "foo/myschema.rb"
|
50
50
|
ActiveRecord::Base.connection.columns('schema_info')
|
51
51
|
end
|
52
52
|
|
53
53
|
it "should suppress migration output" do
|
54
|
-
ActiveRecord::Migration.
|
54
|
+
expect( ActiveRecord::Migration).to receive(:verbose=).with(false)
|
55
55
|
ActiveRecord::Base.establish_connection :adapter => :nulldb,
|
56
56
|
:schema => "foo/myschema.rb"
|
57
57
|
ActiveRecord::Base.connection.columns('schema_info')
|
@@ -99,12 +99,11 @@ describe "NullDB" do
|
|
99
99
|
end
|
100
100
|
|
101
101
|
it "should set the @config instance variable so plugins that assume its there can use it" do
|
102
|
-
Employee.connection.instance_variable_get(:@config)[:adapter].
|
102
|
+
expect( Employee.connection.instance_variable_get(:@config)[:adapter]).to eq :nulldb
|
103
103
|
end
|
104
104
|
|
105
105
|
it "should enable instantiation of AR objects without a database" do
|
106
|
-
@employee.
|
107
|
-
@employee.should be_a_kind_of(ActiveRecord::Base)
|
106
|
+
expect( @employee ).to be_a_kind_of(ActiveRecord::Base)
|
108
107
|
end
|
109
108
|
|
110
109
|
it "should remember columns defined in migrations" do
|
@@ -115,89 +114,92 @@ describe "NullDB" do
|
|
115
114
|
end
|
116
115
|
|
117
116
|
it "should return the appropriate primary key" do
|
118
|
-
ActiveRecord::Base.connection.primary_key('employees').
|
117
|
+
expect( ActiveRecord::Base.connection.primary_key('employees') ).to eq 'id'
|
119
118
|
end
|
120
119
|
|
121
120
|
it "should return a nil primary key on habtm" do
|
122
|
-
ActiveRecord::Base.connection.primary_key('employees_widgets').
|
121
|
+
expect( ActiveRecord::Base.connection.primary_key('employees_widgets') ).to eq nil
|
123
122
|
end
|
124
123
|
|
125
124
|
it "should return an empty array of columns for a table-less model" do
|
126
|
-
TablelessModel.columns.
|
125
|
+
expect( TablelessModel.columns).to eq []
|
127
126
|
end
|
128
127
|
|
129
128
|
it "should enable simulated saving of AR objects" do
|
130
|
-
|
129
|
+
expect{ @employee.save! }.to_not raise_error
|
131
130
|
end
|
132
131
|
|
133
132
|
it "should enable AR callbacks during simulated save" do
|
134
|
-
@employee.
|
133
|
+
expect( @employee ).to receive :on_save_finished
|
135
134
|
@employee.save
|
136
135
|
end
|
137
136
|
|
138
137
|
it "should enable simulated deletes of AR objects" do
|
139
|
-
|
138
|
+
expect{ @employee.destroy }.to_not raise_error
|
140
139
|
end
|
141
140
|
|
142
141
|
it "should enable simulated creates of AR objects" do
|
143
142
|
emp = Employee.create(:name => "Bob Jones")
|
144
|
-
emp.name.
|
143
|
+
expect( emp.name ).to eq "Bob Jones"
|
145
144
|
end
|
146
145
|
|
147
146
|
it "should generate new IDs when inserting unsaved objects" do
|
148
147
|
cxn = Employee.connection
|
149
148
|
id1 = cxn.insert("some sql", "SomeClass Create", "id", nil, nil)
|
150
149
|
id2 = cxn.insert("some sql", "SomeClass Create", "id", nil, nil)
|
151
|
-
id2.
|
150
|
+
expect( id2 ).to eq (id1 + 1)
|
152
151
|
end
|
153
152
|
|
154
153
|
it "should re-use object ID when inserting saved objects" do
|
155
154
|
cxn = Employee.connection
|
156
155
|
id1 = cxn.insert("some sql", "SomeClass Create", "id", 23, nil)
|
157
|
-
id1.
|
156
|
+
expect( id1 ).to eq 23
|
158
157
|
end
|
159
158
|
|
160
159
|
it "should log executed SQL statements" do
|
161
160
|
cxn = Employee.connection
|
162
161
|
exec_count = cxn.execution_log.size
|
163
162
|
@employee.save!
|
164
|
-
cxn.execution_log.size.
|
163
|
+
expect( cxn.execution_log.size ).to eq (exec_count + 1)
|
165
164
|
end
|
166
165
|
|
167
166
|
it "should have the adapter name 'NullDB'" do
|
168
|
-
Employee.connection.adapter_name.
|
167
|
+
expect( Employee.connection.adapter_name ).to eq "NullDB"
|
169
168
|
end
|
170
169
|
|
171
170
|
it "should support migrations" do
|
172
|
-
Employee.connection.supports_migrations
|
171
|
+
expect( Employee.connection.supports_migrations? ).to eq true
|
173
172
|
end
|
174
173
|
|
175
174
|
it "should always have a schema_info table definition" do
|
176
|
-
Employee.connection.tables.
|
175
|
+
expect( Employee.connection.tables ).to include "schema_info"
|
177
176
|
end
|
178
177
|
|
179
178
|
it "should return an empty array from #select" do
|
180
|
-
Employee.connection.select_all("who cares", "blah")
|
179
|
+
result = Employee.connection.select_all("who cares", "blah")
|
180
|
+
expect( result ).to eq []
|
181
181
|
end
|
182
182
|
|
183
183
|
it "should provide a way to set log checkpoints" do
|
184
184
|
cxn = Employee.connection
|
185
185
|
@employee.save!
|
186
|
-
cxn.execution_log_since_checkpoint.size.
|
186
|
+
expect( cxn.execution_log_since_checkpoint.size ).to be > 0
|
187
|
+
|
187
188
|
cxn.checkpoint!
|
188
|
-
cxn.execution_log_since_checkpoint.size.
|
189
|
+
expect( cxn.execution_log_since_checkpoint.size ).to eq 0
|
190
|
+
|
189
191
|
@employee.salary = @employee.salary + 1
|
190
192
|
@employee.save!
|
191
|
-
cxn.execution_log_since_checkpoint.size.
|
193
|
+
expect( cxn.execution_log_since_checkpoint.size ).to eq 1
|
192
194
|
end
|
193
195
|
|
194
196
|
def should_contain_statement(cxn, entry_point)
|
195
|
-
cxn.execution_log_since_checkpoint.
|
197
|
+
expect( cxn.execution_log_since_checkpoint).to \
|
196
198
|
include(ActiveRecord::ConnectionAdapters::NullDBAdapter::Statement.new(entry_point))
|
197
199
|
end
|
198
200
|
|
199
201
|
def should_not_contain_statement(cxn, entry_point)
|
200
|
-
cxn.execution_log_since_checkpoint.
|
202
|
+
expect( cxn.execution_log_since_checkpoint ).to_not \
|
201
203
|
include(ActiveRecord::ConnectionAdapters::NullDBAdapter::Statement.new(entry_point))
|
202
204
|
end
|
203
205
|
|
@@ -241,38 +243,37 @@ describe "NullDB" do
|
|
241
243
|
|
242
244
|
it "should #to_a return empty array on the result of #execute" do
|
243
245
|
result = Employee.connection.execute("blah")
|
244
|
-
result.to_a.
|
245
|
-
result.to_a.
|
246
|
+
expect( result.to_a ).to be_a Array
|
247
|
+
expect( result.to_a ).to be_empty
|
246
248
|
end
|
247
249
|
|
248
250
|
def should_have_column(klass, col_name, col_type)
|
249
251
|
col = klass.columns_hash[col_name.to_s]
|
250
|
-
col.
|
251
|
-
col.type.should == col_type
|
252
|
+
expect(col.type).to eq col_type
|
252
253
|
end
|
253
254
|
|
254
255
|
|
255
256
|
it "should support adding indexes" do
|
256
|
-
Employee.connection.indexes('employees').size.
|
257
|
-
Employee.connection.indexes('employees_widgets').size.
|
257
|
+
expect( Employee.connection.indexes('employees').size ).to eq 2
|
258
|
+
expect( Employee.connection.indexes('employees_widgets').size ).to eq 1
|
258
259
|
end
|
259
260
|
|
260
261
|
it "should support unique indexes" do
|
261
|
-
Employee.connection.indexes('employees').detect{|idx| idx.columns == ["name"]}.unique.
|
262
|
-
Employee.connection.indexes('employees').detect{|idx| idx.columns == ["employee_number"]}.unique.
|
262
|
+
expect( Employee.connection.indexes('employees').detect{|idx| idx.columns == ["name"]}.unique ).to eq false
|
263
|
+
expect( Employee.connection.indexes('employees').detect{|idx| idx.columns == ["employee_number"]}.unique ).to eq true
|
263
264
|
end
|
264
265
|
|
265
266
|
it "should support multi-column indexes" do
|
266
|
-
Employee.connection.indexes('employees_widgets').first.columns.
|
267
|
+
expect( Employee.connection.indexes('employees_widgets').first.columns).to eq ["employee_id", "widget_id"]
|
267
268
|
end
|
268
269
|
|
269
270
|
it "should support custom index names" do
|
270
|
-
Employee.connection.indexes('employees_widgets').first.name.
|
271
|
+
expect( Employee.connection.indexes('employees_widgets').first.name ).to eq 'my_index'
|
271
272
|
end
|
272
273
|
|
273
274
|
it 'should handle ActiveRecord::ConnectionNotEstablished' do
|
274
|
-
ActiveRecord::Base.
|
275
|
-
|
275
|
+
expect( ActiveRecord::Base ).to receive(:connection_pool).and_raise(ActiveRecord::ConnectionNotEstablished)
|
276
|
+
expect { NullDB.nullify }.to_not raise_error
|
276
277
|
end
|
277
278
|
end
|
278
279
|
|
@@ -292,25 +293,17 @@ describe NullDB::RSpec::NullifiedDatabase do
|
|
292
293
|
before { NullDB.checkpoint }
|
293
294
|
|
294
295
|
it 'passes if an execution was made' do
|
295
|
-
|
296
|
+
expect( Employee.connection ).to receive(:insert)
|
297
|
+
allow( Kernel ).to receive :load
|
296
298
|
Employee.create
|
297
|
-
Employee.connection.should have_executed(:insert)
|
298
|
-
end
|
299
|
-
|
300
|
-
it 'fails if an execution was not made' do
|
301
|
-
rspec_root = defined?(RSpec) ? RSpec : Spec
|
302
|
-
|
303
|
-
lambda { Employee.connection.should have_executed(:insert) }.
|
304
|
-
should raise_error(rspec_root::Expectations::ExpectationNotMetError)
|
305
299
|
end
|
306
300
|
end
|
307
301
|
|
308
302
|
describe '.globally_nullify_database' do
|
309
303
|
it 'nullifies the database' do
|
310
|
-
NullDB::RSpec::NullifiedDatabase.
|
311
|
-
NullDB::RSpec::NullifiedDatabase.
|
304
|
+
expect( NullDB::RSpec::NullifiedDatabase ).to respond_to(:nullify_database)
|
305
|
+
expect( NullDB::RSpec::NullifiedDatabase ).to receive(:nullify_database)
|
312
306
|
NullDB::RSpec::NullifiedDatabase.globally_nullify_database
|
313
307
|
end
|
314
308
|
end
|
315
309
|
end
|
316
|
-
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord-nulldb-adapter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Avdi Grimm
|
@@ -9,104 +9,104 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2016-01-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activerecord
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- -
|
18
|
+
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: 2.0.0
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
|
-
- -
|
25
|
+
- - ">="
|
26
26
|
- !ruby/object:Gem::Version
|
27
27
|
version: 2.0.0
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: spec
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- -
|
32
|
+
- - ">="
|
33
33
|
- !ruby/object:Gem::Version
|
34
34
|
version: '0'
|
35
35
|
type: :development
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- -
|
39
|
+
- - ">="
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '0'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: rspec
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
|
-
- -
|
46
|
+
- - ">="
|
47
47
|
- !ruby/object:Gem::Version
|
48
48
|
version: 1.2.9
|
49
49
|
type: :development
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
|
-
- -
|
53
|
+
- - ">="
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: 1.2.9
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
57
|
name: rake
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
|
-
- -
|
60
|
+
- - ">="
|
61
61
|
- !ruby/object:Gem::Version
|
62
62
|
version: '0'
|
63
63
|
type: :development
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
|
-
- -
|
67
|
+
- - ">="
|
68
68
|
- !ruby/object:Gem::Version
|
69
69
|
version: '0'
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: jeweler
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
|
-
- -
|
74
|
+
- - ">="
|
75
75
|
- !ruby/object:Gem::Version
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
79
|
version_requirements: !ruby/object:Gem::Requirement
|
80
80
|
requirements:
|
81
|
-
- -
|
81
|
+
- - ">="
|
82
82
|
- !ruby/object:Gem::Version
|
83
83
|
version: '0'
|
84
84
|
- !ruby/object:Gem::Dependency
|
85
85
|
name: appraisal
|
86
86
|
requirement: !ruby/object:Gem::Requirement
|
87
87
|
requirements:
|
88
|
-
- -
|
88
|
+
- - ">="
|
89
89
|
- !ruby/object:Gem::Version
|
90
90
|
version: '0'
|
91
91
|
type: :development
|
92
92
|
prerelease: false
|
93
93
|
version_requirements: !ruby/object:Gem::Requirement
|
94
94
|
requirements:
|
95
|
-
- -
|
95
|
+
- - ">="
|
96
96
|
- !ruby/object:Gem::Version
|
97
97
|
version: '0'
|
98
98
|
- !ruby/object:Gem::Dependency
|
99
99
|
name: simplecov
|
100
100
|
requirement: !ruby/object:Gem::Requirement
|
101
101
|
requirements:
|
102
|
-
- -
|
102
|
+
- - ">="
|
103
103
|
- !ruby/object:Gem::Version
|
104
104
|
version: '0'
|
105
105
|
type: :development
|
106
106
|
prerelease: false
|
107
107
|
version_requirements: !ruby/object:Gem::Requirement
|
108
108
|
requirements:
|
109
|
-
- -
|
109
|
+
- - ">="
|
110
110
|
- !ruby/object:Gem::Version
|
111
111
|
version: '0'
|
112
112
|
description: A database backend that translates database interactions into no-ops.
|
@@ -119,7 +119,7 @@ extra_rdoc_files:
|
|
119
119
|
- LICENSE
|
120
120
|
- README.rdoc
|
121
121
|
files:
|
122
|
-
- .travis.yml
|
122
|
+
- ".travis.yml"
|
123
123
|
- Appraisals
|
124
124
|
- CHANGES.md
|
125
125
|
- Gemfile
|
@@ -133,6 +133,7 @@ files:
|
|
133
133
|
- gemfiles/activerecord_3.1.gemfile
|
134
134
|
- gemfiles/activerecord_3.2.gemfile
|
135
135
|
- gemfiles/activerecord_4.0.gemfile
|
136
|
+
- gemfiles/activerecord_4.1.gemfile
|
136
137
|
- lib/active_record/connection_adapters/nulldb_adapter.rb
|
137
138
|
- lib/active_record/connection_adapters/nulldb_adapter/checkpoint.rb
|
138
139
|
- lib/active_record/connection_adapters/nulldb_adapter/column.rb
|
@@ -163,17 +164,17 @@ require_paths:
|
|
163
164
|
- lib
|
164
165
|
required_ruby_version: !ruby/object:Gem::Requirement
|
165
166
|
requirements:
|
166
|
-
- -
|
167
|
+
- - ">="
|
167
168
|
- !ruby/object:Gem::Version
|
168
169
|
version: '0'
|
169
170
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
170
171
|
requirements:
|
171
|
-
- -
|
172
|
+
- - ">="
|
172
173
|
- !ruby/object:Gem::Version
|
173
174
|
version: '0'
|
174
175
|
requirements: []
|
175
176
|
rubyforge_project: nulldb
|
176
|
-
rubygems_version: 2.
|
177
|
+
rubygems_version: 2.4.5.1
|
177
178
|
signing_key:
|
178
179
|
specification_version: 4
|
179
180
|
summary: The Null Object pattern as applied to ActiveRecord database adapters
|