sequel-rails 1.0.1 → 1.2.0

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.
Files changed (44) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/ci.yml +121 -0
  3. data/.rubocop.yml +9 -3
  4. data/.rubocop_todo.yml +490 -0
  5. data/Gemfile +0 -1
  6. data/History.md +40 -0
  7. data/README.md +58 -11
  8. data/Rakefile +1 -4
  9. data/ci/{rails-5.0.gemfile → rails-5.2.gemfile} +5 -5
  10. data/ci/{rails-4.0.gemfile → rails-6.0.gemfile} +5 -4
  11. data/ci/{rails-4.1.gemfile → rails-6.1.gemfile} +5 -4
  12. data/ci/{rails-4.2.gemfile → rails-7.0.gemfile} +5 -4
  13. data/lib/action_dispatch/middleware/session/sequel_store.rb +21 -9
  14. data/lib/generators/sequel/migration/migration_generator.rb +1 -1
  15. data/lib/generators/sequel/migration/templates/migration.rb.erb +2 -0
  16. data/lib/generators/sequel/session_migration/session_migration_generator.rb +1 -1
  17. data/lib/sequel_rails/configuration.rb +5 -0
  18. data/lib/sequel_rails/db_config.rb +6 -2
  19. data/lib/sequel_rails/migrations.rb +16 -7
  20. data/lib/sequel_rails/railtie.rb +6 -9
  21. data/lib/sequel_rails/railties/database.rake +17 -0
  22. data/lib/sequel_rails/storage/abstract.rb +2 -0
  23. data/lib/sequel_rails/storage/mysql.rb +1 -0
  24. data/lib/sequel_rails/version.rb +1 -1
  25. data/sequel-rails.gemspec +7 -6
  26. data/spec/helpers/io.rb +5 -0
  27. data/spec/integration/sessions_controller_spec.rb +1 -1
  28. data/spec/internal/config/database.yml +3 -0
  29. data/spec/internal/db/schema.rb.init +2 -2
  30. data/spec/lib/generators/sequel/migration_spec.rb +9 -1
  31. data/spec/lib/generators/sequel/session_migration_spec.rb +1 -1
  32. data/spec/lib/sequel_rails/configuration_spec.rb +109 -10
  33. data/spec/lib/sequel_rails/migrations_spec.rb +27 -4
  34. data/spec/lib/sequel_rails/railtie_spec.rb +7 -3
  35. data/spec/lib/sequel_rails/railties/database_rake_spec.rb +42 -0
  36. data/spec/lib/sequel_rails/storage/mysql_spec.rb +1 -1
  37. data/spec/lib/sequel_rails/storage/postgres_spec.rb +11 -0
  38. data/spec/lib/sequel_rails/storage/sqlite_spec.rb +4 -1
  39. data/spec/spec_helper.rb +1 -1
  40. metadata +46 -41
  41. data/.travis.yml +0 -37
  42. data/ci/rails-5.1.gemfile +0 -28
  43. data/lib/sequel_rails/railties/spring_support.rb +0 -14
  44. data/rubocop-todo.yml +0 -39
@@ -21,7 +21,7 @@ describe Sequel::Generators::MigrationGenerator do
21
21
  it 'refuses to generate migration with invalid filename' do
22
22
  expect do
23
23
  run_generator ['add_something:datetime']
24
- end.to raise_error
24
+ end.to raise_error(Sequel::IllegalMigrationNameError)
25
25
  end
26
26
 
27
27
  context 'when name starts with create' do
@@ -251,5 +251,13 @@ describe Sequel::Generators::MigrationGenerator do
251
251
  }
252
252
  end
253
253
  end
254
+
255
+ context 'when invalid migration name' do
256
+ it 'raises error' do
257
+ expect { run_generator ['invalid:file:name'] }
258
+ .to raise_error(Sequel::IllegalMigrationNameError)
259
+ .with_message("Illegal name for migration file: invalid:file:name (only lower case letters, numbers, and '_' allowed)")
260
+ end
261
+ end
254
262
  end
255
263
  end
@@ -11,7 +11,7 @@ describe Sequel::Generators::SessionMigrationGenerator do
11
11
  it 'refuses to generate migration with invalid filename' do
12
12
  expect do
13
13
  run_generator ['add:sessions']
14
- end.to raise_error
14
+ end.to raise_error(Sequel::IllegalMigrationNameError)
15
15
  end
16
16
 
17
17
  it 'creates a new migration for sessions table' do
@@ -96,24 +96,50 @@ describe SequelRails::Configuration do
96
96
  end
97
97
  end
98
98
 
99
+ describe '#test_connect' do
100
+ it 'defaults to true' do
101
+ expect(subject.test_connect).to be true
102
+ end
103
+
104
+ it 'can be assigned' do
105
+ subject.test_connect = true
106
+ expect(subject.test_connect).to be true
107
+ end
108
+
109
+ it 'can be set from merging another hash' do
110
+ subject.merge!(:test_connect => true)
111
+ expect(subject.test_connect).to be true
112
+ end
113
+ end
114
+
99
115
  describe '#connect' do
116
+ let(:adapter) { ENV['TEST_ADAPTER'] || 'postgres' }
100
117
  let(:environments) do
101
118
  {
102
119
  'development' => {
103
- 'adapter' => 'postgres',
120
+ 'adapter' => adapter,
104
121
  'owner' => (ENV['TEST_OWNER'] || ENV['USER']),
105
- 'username' => (ENV['TEST_OWNER'] || ENV['USER']),
122
+ 'username' => (ENV['TEST_USERNAME'] || ENV['TEST_OWNER'] || ENV['USER']),
106
123
  'database' => 'sequel_rails_test_storage_dev',
107
- 'host' => '127.0.0.1',
124
+ 'password' => ENV['TEST_PASSWORD'],
125
+ 'host' => ENV['TEST_DATABASE_HOST'],
126
+ 'port' => ENV['TEST_DATABASE_PORT'],
108
127
  },
109
128
  'test' => {
110
- 'adapter' => 'postgres',
129
+ 'adapter' => adapter,
111
130
  'owner' => (ENV['TEST_OWNER'] || ENV['USER']),
112
- 'username' => (ENV['TEST_OWNER'] || ENV['USER']),
131
+ 'username' => (ENV['TEST_USERNAME'] || ENV['TEST_OWNER'] || ENV['USER']),
113
132
  'database' => 'sequel_rails_test_storage_test',
114
- 'host' => '127.0.0.1',
133
+ 'password' => ENV['TEST_PASSWORD'],
134
+ 'host' => ENV['TEST_DATABASE_HOST'],
135
+ 'port' => ENV['TEST_DATABASE_PORT'],
136
+ },
137
+ 'remote_pg' => {
138
+ 'adapter' => 'postgres',
139
+ 'host' => '10.0.0.1',
140
+ 'database' => 'sequel_rails_test_storage_dev',
115
141
  },
116
- 'remote' => {
142
+ 'remote_mysql' => {
117
143
  'adapter' => 'mysql',
118
144
  'host' => '10.0.0.1',
119
145
  'database' => 'sequel_rails_test_storage_remote',
@@ -135,6 +161,22 @@ describe SequelRails::Configuration do
135
161
  context 'when stubbing SequelRails.jruby?' do
136
162
  before { allow(SequelRails).to receive(:jruby?).and_return(is_jruby) }
137
163
 
164
+ shared_examples 'test_connect' do
165
+ context 'test_connect' do
166
+ it 'passes the value' do
167
+ expect(::Sequel).to receive(:connect) do |hash_or_url, *_|
168
+ if hash_or_url.is_a? Hash
169
+ expect(hash_or_url[:test]).to eq true
170
+ else
171
+ expect(hash_or_url).to include('test=true')
172
+ end
173
+ end
174
+
175
+ subject.connect environment
176
+ end
177
+ end
178
+ end
179
+
138
180
  shared_examples 'max_connections' do
139
181
  context 'with max_connections=7 config option' do
140
182
  let(:max_connections) { 31_337 }
@@ -172,6 +214,44 @@ describe SequelRails::Configuration do
172
214
  end
173
215
  end
174
216
 
217
+ shared_examples 'servers' do
218
+ context 'servers' do
219
+ let(:servers) { { read_only: { host: 'replica' } } }
220
+
221
+ shared_examples 'passes the value only through options hash' do
222
+ it 'passes the value only through options hash' do
223
+ expect(::Sequel).to receive(:connect) do |hash_or_url, *_|
224
+ if hash_or_url.is_a? Hash
225
+ servers.keys.each do |k|
226
+ expect(hash_or_url[:servers][k]).to eq servers[k]
227
+ end
228
+ else
229
+ puts hash_or_url
230
+ expect(hash_or_url).not_to include('servers=')
231
+ end
232
+ end
233
+ subject.connect environment
234
+ end
235
+ end
236
+
237
+ context 'with servers set in config' do
238
+ before do
239
+ subject.servers = servers
240
+ end
241
+
242
+ include_examples 'passes the value only through options hash'
243
+ end
244
+
245
+ context 'with servers set in environment' do
246
+ before do
247
+ environments[environment]['servers'] = servers
248
+ end
249
+
250
+ include_examples 'passes the value only through options hash'
251
+ end
252
+ end
253
+ end
254
+
175
255
  shared_examples 'with DATABASE_URL in ENV' do
176
256
  let(:database_url) { 'adapter://user:pass@host/db' }
177
257
  def with_database_url_env
@@ -245,11 +325,13 @@ describe SequelRails::Configuration do
245
325
  end
246
326
  end
247
327
 
248
- let(:environment) { 'development' }
328
+ let(:environment) { 'remote_pg' }
249
329
 
250
330
  context 'in C-Ruby' do
331
+ include_examples 'test_connect'
251
332
  include_examples 'max_connections'
252
333
  include_examples 'search_path'
334
+ include_examples 'servers'
253
335
  include_examples 'with DATABASE_URL in ENV'
254
336
 
255
337
  let(:is_jruby) { false }
@@ -263,8 +345,10 @@ describe SequelRails::Configuration do
263
345
  end
264
346
 
265
347
  context 'in JRuby' do
348
+ include_examples 'test_connect'
266
349
  include_examples 'max_connections'
267
350
  include_examples 'search_path'
351
+ include_examples 'servers'
268
352
  include_examples 'with DATABASE_URL in ENV'
269
353
 
270
354
  let(:is_jruby) { true }
@@ -273,7 +357,7 @@ describe SequelRails::Configuration do
273
357
  expect(::Sequel).to receive(:connect) do |url, hash|
274
358
  expect(url).to start_with('jdbc:postgresql://')
275
359
  expect(hash[:adapter]).to eq('jdbc:postgresql')
276
- expect(hash[:host]).to eq('127.0.0.1')
360
+ expect(hash[:host]).to eq('10.0.0.1')
277
361
  end
278
362
  subject.connect environment
279
363
  end
@@ -293,10 +377,12 @@ describe SequelRails::Configuration do
293
377
  end
294
378
 
295
379
  context 'for a mysql connection' do
296
- let(:environment) { 'remote' }
380
+ let(:environment) { 'remote_mysql' }
297
381
 
298
382
  context 'in C-Ruby' do
383
+ include_examples 'test_connect'
299
384
  include_examples 'max_connections'
385
+ include_examples 'servers'
300
386
  include_examples 'with DATABASE_URL in ENV'
301
387
 
302
388
  let(:is_jruby) { false }
@@ -310,7 +396,9 @@ describe SequelRails::Configuration do
310
396
  end
311
397
 
312
398
  context 'in JRuby' do
399
+ include_examples 'test_connect'
313
400
  include_examples 'max_connections'
401
+ include_examples 'servers'
314
402
  include_examples 'with DATABASE_URL in ENV'
315
403
 
316
404
  let(:is_jruby) { true }
@@ -349,5 +437,16 @@ describe SequelRails::Configuration do
349
437
  subject.connect environment
350
438
  end
351
439
  end
440
+
441
+ describe 'after each connection hook' do
442
+ let(:environment) { 'development' }
443
+
444
+ it 'runs hook if provided' do
445
+ called = 0
446
+ subject.after_new_connection = ->(_conn){ called += 1 }
447
+ subject.connect environment
448
+ expect(called).to eq(1)
449
+ end
450
+ end
352
451
  end
353
452
  end
@@ -8,23 +8,46 @@ describe SequelRails::Migrations do
8
8
  describe ".#{migration_method}" do
9
9
  let(:result) { double(:result) }
10
10
  context 'with no version specified' do
11
- let(:opts) { {} }
12
11
  it 'runs migrations using Sequel::Migrator' do
13
12
  expect(::Sequel::Migrator).to receive(:run).with(
14
- db, Rails.root.join('db/migrate'), opts
13
+ db,
14
+ Rails.root.join('db/migrate'),
15
+ { :allow_missing_migration_files => false }
15
16
  ).and_return result
16
17
  expect(described_class.send(migration_method)).to be(result)
17
18
  end
18
19
  end
19
20
  context 'with version specified' do
20
- let(:opts) { { :target => 1 } }
21
21
  it 'runs migrations using Sequel::Migrator' do
22
22
  expect(::Sequel::Migrator).to receive(:run).with(
23
- db, Rails.root.join('db/migrate'), opts
23
+ db,
24
+ Rails.root.join('db/migrate'),
25
+ { :allow_missing_migration_files => false, :target => 1 }
24
26
  ).and_return result
25
27
  expect(described_class.send(migration_method, 1)).to be(result)
26
28
  end
27
29
  end
30
+
31
+ context 'with allow_missing_migration_files' do
32
+ around do |ex|
33
+ option = SequelRails.configuration.allow_missing_migration_files
34
+ SequelRails.configuration.allow_missing_migration_files = true
35
+
36
+ ex.run
37
+
38
+ SequelRails.configuration.allow_missing_migration_files = option
39
+ end
40
+
41
+ it 'runs migrations using Sequel::Migrator' do
42
+ expect(::Sequel::Migrator).to receive(:run).with(
43
+ db,
44
+ Rails.root.join('db/migrate'),
45
+ { :allow_missing_migration_files => true }
46
+ ).and_return result
47
+
48
+ described_class.send(migration_method)
49
+ end
50
+ end
28
51
  end
29
52
  end
30
53
 
@@ -93,8 +93,12 @@ describe SequelRails::Railtie do
93
93
 
94
94
  context 'and DATABASE_URL is defined' do
95
95
  let :database_url do
96
- cfg = Combustion::Application.config.database_configuration['test']
97
- SequelRails::DbConfig.new(cfg).url
96
+ if ENV['TEST_ADAPTER']=~/sqlite/
97
+ 'sqlite:/' # in-memory db
98
+ else
99
+ cfg = Combustion::Application.config.database_configuration['test']
100
+ SequelRails::DbConfig.new(cfg).url
101
+ end
98
102
  end
99
103
 
100
104
  around do |ex|
@@ -123,7 +127,7 @@ describe SequelRails::Railtie do
123
127
  it 'initializing the application fails' do
124
128
  expect do
125
129
  configure_sequel!
126
- end.to raise_error
130
+ end.to raise_error RuntimeError, "Database not configured.\nPlease create config/database.yml or set DATABASE_URL in environment."
127
131
  end
128
132
  end
129
133
  end
@@ -99,4 +99,46 @@ describe 'Database rake tasks', :no_transaction => true do
99
99
  end
100
100
  end
101
101
  end
102
+
103
+ describe 'db:sessions:clear' do
104
+ let(:sessions) { Sequel::Model.db.from(:sessions) }
105
+
106
+ after { sessions.delete }
107
+
108
+ it 'truncates sessions table' do
109
+ sessions.insert session_id: 'foo', data: ''
110
+ sessions.insert session_id: 'bar', data: ''
111
+
112
+ Dir.chdir app_root do
113
+ expect { `rake db:sessions:clear` }.to change { sessions.count }.by(-2)
114
+ end
115
+ end
116
+ end
117
+
118
+ describe 'db:sessions:trim' do
119
+ let(:sessions) { Sequel::Model.db.from(:sessions) }
120
+
121
+ before do
122
+ sessions.insert session_id: 'foo', data: '', updated_at: (Date.today - 60).to_time
123
+ sessions.insert session_id: 'bar', data: '', updated_at: Date.today.to_time
124
+ end
125
+
126
+ after { sessions.delete }
127
+
128
+ it 'delete sessions before cutoff' do
129
+ Dir.chdir app_root do
130
+ expect { `rake db:sessions:trim` }.to change { sessions.count }.by(-1)
131
+ end
132
+ end
133
+
134
+ context 'with threshold' do
135
+ it 'delete sessions before cutoff' do
136
+ sessions.insert session_id: 'baz', data: '', updated_at: (Date.today - 44).to_time
137
+
138
+ Dir.chdir app_root do
139
+ expect { `rake db:sessions:trim[45]` }.to change { sessions.count }.by(-1)
140
+ end
141
+ end
142
+ end
143
+ end
102
144
  end
@@ -46,7 +46,7 @@ describe SequelRails::Storage::Mysql, :mysql do
46
46
  let(:dump_file_name) { 'dump.sql' }
47
47
  it 'uses the mysqldump command' do
48
48
  expect(subject).to receive(:`).with(
49
- "mysqldump --user\\=#{username} --password\\=#{password} --host\\=#{host} --port\\=#{port} --no-data --result-file\\=#{dump_file_name} #{database}"
49
+ "mysqldump --user\\=#{username} --password\\=#{password} --host\\=#{host} --port\\=#{port} --no-data --skip-dump-date --result-file\\=#{dump_file_name} #{database}"
50
50
  )
51
51
  subject._dump dump_file_name
52
52
  end
@@ -83,6 +83,17 @@ describe SequelRails::Storage::Postgres, :postgres do
83
83
  end
84
84
  end
85
85
 
86
+ describe '#drop' do
87
+ before do
88
+ stub_const('Sequel::DATABASES', [])
89
+ end
90
+
91
+ it 'properly executes without active sequel connections' do
92
+ expect(Sequel::Model).not_to receive(:db)
93
+ subject.drop
94
+ end
95
+ end
96
+
86
97
  describe '#_dump' do
87
98
  let(:dump_file_name) { 'dump.sql' }
88
99
  it 'uses the pg_dump command' do
@@ -17,7 +17,10 @@ describe SequelRails::Storage::Sqlite, :sqlite do
17
17
  it 'defer to Sequel' do
18
18
  path = double(:path)
19
19
  allow(subject).to receive(:path).and_return path
20
- expect(::Sequel).to receive(:connect).with('adapter' => 'sqlite3', 'database' => path)
20
+ expect(::Sequel).to receive(:connect).with({
21
+ 'adapter' => 'sqlite3',
22
+ 'database' => path
23
+ })
21
24
  subject._create
22
25
  end
23
26
  end
data/spec/spec_helper.rb CHANGED
@@ -13,7 +13,7 @@ require 'ammeter/init'
13
13
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
14
14
 
15
15
  rspec_exclusions = {}
16
- rspec_exclusions[:skip_jdbc] = SequelRails.jruby?
16
+ rspec_exclusions[:skip_jdbc] = !SequelRails.jruby?
17
17
  rspec_exclusions[:postgres] = ENV['TEST_ADAPTER'] != 'postgresql'
18
18
  rspec_exclusions[:mysql] = !%w(mysql mysql2).include?(ENV['TEST_ADAPTER'])
19
19
  rspec_exclusions[:sqlite] = ENV['TEST_ADAPTER'] != 'sqlite3'
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sequel-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brasten Sager (brasten)
8
8
  - Jonathan TRON
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-02-27 00:00:00.000000000 Z
12
+ date: 2022-04-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activemodel
@@ -77,16 +77,16 @@ dependencies:
77
77
  name: combustion
78
78
  requirement: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: '1.3'
83
83
  type: :development
84
84
  prerelease: false
85
85
  version_requirements: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: '1.3'
90
90
  - !ruby/object:Gem::Dependency
91
91
  name: generator_spec
92
92
  requirement: !ruby/object:Gem::Requirement
@@ -107,76 +107,70 @@ dependencies:
107
107
  requirements:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: 0.8.7
111
- - - "<"
112
- - !ruby/object:Gem::Version
113
- version: '12.1'
110
+ version: '0'
114
111
  type: :development
115
112
  prerelease: false
116
113
  version_requirements: !ruby/object:Gem::Requirement
117
114
  requirements:
118
115
  - - ">="
119
116
  - !ruby/object:Gem::Version
120
- version: 0.8.7
121
- - - "<"
122
- - !ruby/object:Gem::Version
123
- version: '12.1'
117
+ version: '0'
124
118
  - !ruby/object:Gem::Dependency
125
119
  name: rspec
126
120
  requirement: !ruby/object:Gem::Requirement
127
121
  requirements:
128
- - - "~>"
122
+ - - ">="
129
123
  - !ruby/object:Gem::Version
130
- version: '3.7'
124
+ version: '0'
131
125
  type: :development
132
126
  prerelease: false
133
127
  version_requirements: !ruby/object:Gem::Requirement
134
128
  requirements:
135
- - - "~>"
129
+ - - ">="
136
130
  - !ruby/object:Gem::Version
137
- version: '3.7'
131
+ version: '0'
138
132
  - !ruby/object:Gem::Dependency
139
133
  name: rspec-rails
140
134
  requirement: !ruby/object:Gem::Requirement
141
135
  requirements:
142
- - - "~>"
136
+ - - ">="
143
137
  - !ruby/object:Gem::Version
144
- version: '3.7'
138
+ version: '0'
145
139
  type: :development
146
140
  prerelease: false
147
141
  version_requirements: !ruby/object:Gem::Requirement
148
142
  requirements:
149
- - - "~>"
143
+ - - ">="
150
144
  - !ruby/object:Gem::Version
151
- version: '3.7'
145
+ version: '0'
152
146
  - !ruby/object:Gem::Dependency
153
147
  name: rubocop
154
148
  requirement: !ruby/object:Gem::Requirement
155
149
  requirements:
156
- - - "~>"
150
+ - - '='
157
151
  - !ruby/object:Gem::Version
158
- version: 0.52.0
152
+ version: 1.27.0
159
153
  type: :development
160
154
  prerelease: false
161
155
  version_requirements: !ruby/object:Gem::Requirement
162
156
  requirements:
163
- - - "~>"
157
+ - - '='
164
158
  - !ruby/object:Gem::Version
165
- version: 0.52.0
159
+ version: 1.27.0
166
160
  - !ruby/object:Gem::Dependency
167
161
  name: ammeter
168
162
  requirement: !ruby/object:Gem::Requirement
169
163
  requirements:
170
164
  - - '='
171
165
  - !ruby/object:Gem::Version
172
- version: 1.1.4
166
+ version: 1.1.5
173
167
  type: :development
174
168
  prerelease: false
175
169
  version_requirements: !ruby/object:Gem::Requirement
176
170
  requirements:
177
171
  - - '='
178
172
  - !ruby/object:Gem::Version
179
- version: 1.1.4
173
+ version: 1.1.5
180
174
  - !ruby/object:Gem::Dependency
181
175
  name: test-unit
182
176
  requirement: !ruby/object:Gem::Requirement
@@ -191,6 +185,20 @@ dependencies:
191
185
  - - ">="
192
186
  - !ruby/object:Gem::Version
193
187
  version: '0'
188
+ - !ruby/object:Gem::Dependency
189
+ name: nokogiri
190
+ requirement: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: 1.13.4
195
+ type: :development
196
+ prerelease: false
197
+ version_requirements: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: 1.13.4
194
202
  description: Integrate Sequel with Rails (3.x and 4.x)
195
203
  email:
196
204
  - brasten@gmail.com
@@ -201,20 +209,20 @@ extra_rdoc_files:
201
209
  - LICENSE
202
210
  - README.md
203
211
  files:
212
+ - ".github/workflows/ci.yml"
204
213
  - ".gitignore"
205
214
  - ".rspec"
206
215
  - ".rubocop.yml"
207
- - ".travis.yml"
216
+ - ".rubocop_todo.yml"
208
217
  - Gemfile
209
218
  - History.md
210
219
  - LICENSE
211
220
  - README.md
212
221
  - Rakefile
213
- - ci/rails-4.0.gemfile
214
- - ci/rails-4.1.gemfile
215
- - ci/rails-4.2.gemfile
216
- - ci/rails-5.0.gemfile
217
- - ci/rails-5.1.gemfile
222
+ - ci/rails-5.2.gemfile
223
+ - ci/rails-6.0.gemfile
224
+ - ci/rails-6.1.gemfile
225
+ - ci/rails-7.0.gemfile
218
226
  - config.ru
219
227
  - lib/action_dispatch/middleware/session/sequel_store.rb
220
228
  - lib/generators/sequel.rb
@@ -238,7 +246,6 @@ files:
238
246
  - lib/sequel_rails/railties/i18n_support.rb
239
247
  - lib/sequel_rails/railties/legacy_model_config.rb
240
248
  - lib/sequel_rails/railties/log_subscriber.rb
241
- - lib/sequel_rails/railties/spring_support.rb
242
249
  - lib/sequel_rails/sequel/database/active_support_notification.rb
243
250
  - lib/sequel_rails/sequel/plugins/rails_extensions.rb
244
251
  - lib/sequel_rails/shellwords.rb
@@ -250,7 +257,6 @@ files:
250
257
  - lib/sequel_rails/storage/postgres.rb
251
258
  - lib/sequel_rails/storage/sqlite.rb
252
259
  - lib/sequel_rails/version.rb
253
- - rubocop-todo.yml
254
260
  - sequel-rails.gemspec
255
261
  - spec/helpers/io.rb
256
262
  - spec/integration/sessions_controller_spec.rb
@@ -282,7 +288,7 @@ homepage: http://talentbox.github.io/sequel-rails/
282
288
  licenses:
283
289
  - MIT
284
290
  metadata: {}
285
- post_install_message:
291
+ post_install_message:
286
292
  rdoc_options:
287
293
  - "--charset=UTF-8"
288
294
  require_paths:
@@ -298,9 +304,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
298
304
  - !ruby/object:Gem::Version
299
305
  version: 1.8.11
300
306
  requirements: []
301
- rubyforge_project:
302
- rubygems_version: 2.6.14
303
- signing_key:
307
+ rubygems_version: 3.3.7
308
+ signing_key:
304
309
  specification_version: 4
305
310
  summary: Use Sequel with Rails (3.x and 4.x)
306
311
  test_files:
data/.travis.yml DELETED
@@ -1,37 +0,0 @@
1
- language: ruby
2
- cache: bundler
3
- sudo: false
4
- rvm:
5
- - 2.2.9
6
- - 2.3.6
7
- - 2.4.3
8
- - 2.5.0
9
- - jruby-9.1.16.0
10
- before_script:
11
- - mysql -e 'create database sequel_rails_test;'
12
- - mysql -e 'create database sequel_rails_test_mysql2;'
13
- - mysql -e 'create database sequel_rails_test_storage_dev;'
14
- - psql -c 'create database sequel_rails_test_storage_dev;' -U postgres
15
- - psql -c 'create database sequel_rails_test;' -U postgres
16
- env:
17
- - SEQUEL='~> 4.0'
18
- - SEQUEL='~> 5.0'
19
- gemfile:
20
- - ci/rails-4.0.gemfile
21
- - ci/rails-4.1.gemfile
22
- - ci/rails-4.2.gemfile
23
- - ci/rails-5.0.gemfile
24
- - ci/rails-5.1.gemfile
25
- matrix:
26
- exclude:
27
- - rvm: 2.4.3
28
- gemfile: ci/rails-4.0.gemfile
29
- - rvm: 2.4.3
30
- gemfile: ci/rails-4.1.gemfile
31
- - rvm: 2.5.0
32
- gemfile: ci/rails-4.0.gemfile
33
- - rvm: 2.5.0
34
- gemfile: ci/rails-4.1.gemfile
35
- notifications:
36
- email:
37
- - jonathan.tron@metrilio.com