sequel-rails 0.9.16 → 1.1.1
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 +5 -5
- data/.travis.yml +39 -60
- data/Gemfile +4 -13
- data/History.md +54 -0
- data/README.md +28 -10
- data/Rakefile +1 -1
- data/ci/rails-4.0.gemfile +3 -11
- data/ci/rails-4.1.gemfile +3 -11
- data/ci/rails-4.2.gemfile +3 -11
- data/ci/rails-5.0.gemfile +3 -3
- data/ci/rails-5.1.gemfile +28 -0
- data/ci/rails-5.2.gemfile +28 -0
- data/ci/rails-6.0.gemfile +28 -0
- data/lib/action_dispatch/middleware/session/sequel_store.rb +21 -9
- data/lib/generators/sequel.rb +7 -7
- data/lib/generators/sequel/migration/migration_generator.rb +1 -1
- data/lib/generators/sequel/migration/templates/migration.rb.erb +2 -0
- data/lib/generators/sequel/model/model_generator.rb +2 -1
- data/lib/generators/sequel/session_migration/session_migration_generator.rb +1 -1
- data/lib/sequel_rails/configuration.rb +7 -4
- data/lib/sequel_rails/db_config.rb +8 -4
- data/lib/sequel_rails/migrations.rb +23 -7
- data/lib/sequel_rails/railtie.rb +21 -5
- data/lib/sequel_rails/railties/database.rake +31 -6
- data/lib/sequel_rails/sequel/plugins/rails_extensions.rb +1 -1
- data/lib/sequel_rails/storage.rb +2 -4
- data/lib/sequel_rails/storage/abstract.rb +17 -5
- data/lib/sequel_rails/storage/jdbc.rb +2 -2
- data/lib/sequel_rails/storage/mysql.rb +1 -0
- data/lib/sequel_rails/storage/postgres.rb +7 -3
- data/lib/sequel_rails/version.rb +1 -1
- data/rubocop-todo.yml +4 -1
- data/sequel-rails.gemspec +13 -21
- data/spec/helpers/io.rb +1 -5
- data/spec/integration/sessions_controller_spec.rb +6 -1
- data/spec/lib/generators/sequel/migration_spec.rb +9 -1
- data/spec/lib/generators/sequel/session_migration_spec.rb +1 -1
- data/spec/lib/sequel_rails/configuration_spec.rb +78 -0
- data/spec/lib/sequel_rails/migrations_spec.rb +21 -4
- data/spec/lib/sequel_rails/railtie_spec.rb +1 -1
- data/spec/lib/sequel_rails/railties/database_rake_spec.rb +42 -0
- data/spec/lib/sequel_rails/storage/mysql_spec.rb +1 -1
- data/spec/lib/sequel_rails/storage/postgres_spec.rb +1 -1
- data/spec/spec_helper.rb +5 -2
- metadata +29 -34
- data/ci/rails-3.2.gemfile +0 -42
@@ -123,7 +123,7 @@ describe SequelRails::Railtie do
|
|
123
123
|
it 'initializing the application fails' do
|
124
124
|
expect do
|
125
125
|
configure_sequel!
|
126
|
-
end.to raise_error
|
126
|
+
end.to raise_error RuntimeError, "Database not configured.\nPlease create config/database.yml or set DATABASE_URL in environment."
|
127
127
|
end
|
128
128
|
end
|
129
129
|
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
|
@@ -69,7 +69,7 @@ describe SequelRails::Storage::Postgres, :postgres do
|
|
69
69
|
describe '#_drop' do
|
70
70
|
it 'uses the dropdb command' do
|
71
71
|
expect(subject).to receive(:`).with(
|
72
|
-
"dropdb --username\\=#{username} --host\\=#{host} --port\\=#{port} #{database}"
|
72
|
+
"dropdb --username\\=#{username} --host\\=#{host} --port\\=#{port} --if-exists #{database}"
|
73
73
|
)
|
74
74
|
subject._drop
|
75
75
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -26,8 +26,10 @@ RSpec.configure do |config|
|
|
26
26
|
:en,
|
27
27
|
'sequel' => {
|
28
28
|
'models' => {
|
29
|
-
'user' => 'translated user'
|
30
|
-
|
29
|
+
'user' => 'translated user'
|
30
|
+
}
|
31
|
+
}
|
32
|
+
)
|
31
33
|
end
|
32
34
|
|
33
35
|
config.around :each do |example|
|
@@ -51,6 +53,7 @@ end
|
|
51
53
|
begin
|
52
54
|
require 'sequel_rails/storage'
|
53
55
|
require 'sequel/extensions/migration'
|
56
|
+
::SequelRails.setup(Rails.env)
|
54
57
|
load "#{Rails.root}/db/schema.rb.init"
|
55
58
|
Sequel::Migration.descendants.first.apply Sequel::Model.db, :up
|
56
59
|
rescue Sequel::DatabaseConnectionError => e
|
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:
|
4
|
+
version: 1.1.1
|
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:
|
12
|
+
date: 2020-06-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activemodel
|
@@ -17,42 +17,42 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version:
|
20
|
+
version: 4.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
|
-
version:
|
27
|
+
version: 4.0.0
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: railties
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
32
|
- - ">="
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version:
|
34
|
+
version: 4.0.0
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - ">="
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version:
|
41
|
+
version: 4.0.0
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: actionpack
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
46
|
- - ">="
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version:
|
48
|
+
version: 4.0.0
|
49
49
|
type: :runtime
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
53
|
- - ">="
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version:
|
55
|
+
version: 4.0.0
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
57
|
name: sequel
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
@@ -62,7 +62,7 @@ dependencies:
|
|
62
62
|
version: '3.28'
|
63
63
|
- - "<"
|
64
64
|
- !ruby/object:Gem::Version
|
65
|
-
version: '
|
65
|
+
version: '6.0'
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
68
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -72,7 +72,7 @@ dependencies:
|
|
72
72
|
version: '3.28'
|
73
73
|
- - "<"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
75
|
+
version: '6.0'
|
76
76
|
- !ruby/object:Gem::Dependency
|
77
77
|
name: combustion
|
78
78
|
requirement: !ruby/object:Gem::Requirement
|
@@ -110,7 +110,7 @@ dependencies:
|
|
110
110
|
version: 0.8.7
|
111
111
|
- - "<"
|
112
112
|
- !ruby/object:Gem::Version
|
113
|
-
version: '
|
113
|
+
version: '12.1'
|
114
114
|
type: :development
|
115
115
|
prerelease: false
|
116
116
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -120,69 +120,63 @@ dependencies:
|
|
120
120
|
version: 0.8.7
|
121
121
|
- - "<"
|
122
122
|
- !ruby/object:Gem::Version
|
123
|
-
version: '
|
123
|
+
version: '12.1'
|
124
124
|
- !ruby/object:Gem::Dependency
|
125
125
|
name: rspec
|
126
126
|
requirement: !ruby/object:Gem::Requirement
|
127
127
|
requirements:
|
128
128
|
- - "~>"
|
129
129
|
- !ruby/object:Gem::Version
|
130
|
-
version: '3.
|
130
|
+
version: '3.7'
|
131
131
|
type: :development
|
132
132
|
prerelease: false
|
133
133
|
version_requirements: !ruby/object:Gem::Requirement
|
134
134
|
requirements:
|
135
135
|
- - "~>"
|
136
136
|
- !ruby/object:Gem::Version
|
137
|
-
version: '3.
|
137
|
+
version: '3.7'
|
138
138
|
- !ruby/object:Gem::Dependency
|
139
139
|
name: rspec-rails
|
140
140
|
requirement: !ruby/object:Gem::Requirement
|
141
141
|
requirements:
|
142
142
|
- - "~>"
|
143
143
|
- !ruby/object:Gem::Version
|
144
|
-
version: '3.
|
145
|
-
- - "<"
|
146
|
-
- !ruby/object:Gem::Version
|
147
|
-
version: '3.3'
|
144
|
+
version: '3.7'
|
148
145
|
type: :development
|
149
146
|
prerelease: false
|
150
147
|
version_requirements: !ruby/object:Gem::Requirement
|
151
148
|
requirements:
|
152
149
|
- - "~>"
|
153
150
|
- !ruby/object:Gem::Version
|
154
|
-
version: '3.
|
155
|
-
- - "<"
|
156
|
-
- !ruby/object:Gem::Version
|
157
|
-
version: '3.3'
|
151
|
+
version: '3.7'
|
158
152
|
- !ruby/object:Gem::Dependency
|
159
153
|
name: rubocop
|
160
154
|
requirement: !ruby/object:Gem::Requirement
|
161
155
|
requirements:
|
162
156
|
- - "~>"
|
163
157
|
- !ruby/object:Gem::Version
|
164
|
-
version: 0.
|
158
|
+
version: 0.52.0
|
165
159
|
type: :development
|
166
160
|
prerelease: false
|
167
161
|
version_requirements: !ruby/object:Gem::Requirement
|
168
162
|
requirements:
|
169
163
|
- - "~>"
|
170
164
|
- !ruby/object:Gem::Version
|
171
|
-
version: 0.
|
165
|
+
version: 0.52.0
|
172
166
|
- !ruby/object:Gem::Dependency
|
173
167
|
name: ammeter
|
174
168
|
requirement: !ruby/object:Gem::Requirement
|
175
169
|
requirements:
|
176
170
|
- - '='
|
177
171
|
- !ruby/object:Gem::Version
|
178
|
-
version: 1.1.
|
172
|
+
version: 1.1.4
|
179
173
|
type: :development
|
180
174
|
prerelease: false
|
181
175
|
version_requirements: !ruby/object:Gem::Requirement
|
182
176
|
requirements:
|
183
177
|
- - '='
|
184
178
|
- !ruby/object:Gem::Version
|
185
|
-
version: 1.1.
|
179
|
+
version: 1.1.4
|
186
180
|
- !ruby/object:Gem::Dependency
|
187
181
|
name: test-unit
|
188
182
|
requirement: !ruby/object:Gem::Requirement
|
@@ -216,11 +210,13 @@ files:
|
|
216
210
|
- LICENSE
|
217
211
|
- README.md
|
218
212
|
- Rakefile
|
219
|
-
- ci/rails-3.2.gemfile
|
220
213
|
- ci/rails-4.0.gemfile
|
221
214
|
- ci/rails-4.1.gemfile
|
222
215
|
- ci/rails-4.2.gemfile
|
223
216
|
- ci/rails-5.0.gemfile
|
217
|
+
- ci/rails-5.1.gemfile
|
218
|
+
- ci/rails-5.2.gemfile
|
219
|
+
- ci/rails-6.0.gemfile
|
224
220
|
- config.ru
|
225
221
|
- lib/action_dispatch/middleware/session/sequel_store.rb
|
226
222
|
- lib/generators/sequel.rb
|
@@ -288,7 +284,7 @@ homepage: http://talentbox.github.io/sequel-rails/
|
|
288
284
|
licenses:
|
289
285
|
- MIT
|
290
286
|
metadata: {}
|
291
|
-
post_install_message:
|
287
|
+
post_install_message:
|
292
288
|
rdoc_options:
|
293
289
|
- "--charset=UTF-8"
|
294
290
|
require_paths:
|
@@ -297,16 +293,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
297
293
|
requirements:
|
298
294
|
- - ">="
|
299
295
|
- !ruby/object:Gem::Version
|
300
|
-
version:
|
296
|
+
version: 2.2.2
|
301
297
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
302
298
|
requirements:
|
303
299
|
- - ">="
|
304
300
|
- !ruby/object:Gem::Version
|
305
|
-
version:
|
301
|
+
version: 1.8.11
|
306
302
|
requirements: []
|
307
|
-
|
308
|
-
|
309
|
-
signing_key:
|
303
|
+
rubygems_version: 3.1.2
|
304
|
+
signing_key:
|
310
305
|
specification_version: 4
|
311
306
|
summary: Use Sequel with Rails (3.x and 4.x)
|
312
307
|
test_files:
|
data/ci/rails-3.2.gemfile
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
source 'https://rubygems.org'
|
2
|
-
|
3
|
-
gem 'railties', '~> 3.2.13'
|
4
|
-
|
5
|
-
gemspec :path => '../'
|
6
|
-
|
7
|
-
gem 'sequel', "#{ENV['SEQUEL']}"
|
8
|
-
|
9
|
-
gem 'fakefs', '0.5.3', :require => 'fakefs/safe'
|
10
|
-
|
11
|
-
# activesupport has an undeclared dependency on tzinfo prior to 4.0.0
|
12
|
-
gem 'tzinfo'
|
13
|
-
|
14
|
-
if RUBY_VERSION < '1.9'
|
15
|
-
gem 'i18n', '< 0.7.0'
|
16
|
-
gem 'rake', '< 11.0.0'
|
17
|
-
end
|
18
|
-
if RUBY_VERSION < '2.0'
|
19
|
-
gem 'rack-cache', "< 1.3.0"
|
20
|
-
end
|
21
|
-
|
22
|
-
# MRI/Rubinius Adapter Dependencies
|
23
|
-
platform :ruby do
|
24
|
-
case
|
25
|
-
when RUBY_VERSION < '1.9'
|
26
|
-
gem 'pg', '~> 0.17.1'
|
27
|
-
when RUBY_VERSION < '2.0'
|
28
|
-
gem 'pg', '~> 0.18.4'
|
29
|
-
else
|
30
|
-
gem 'pg'
|
31
|
-
end
|
32
|
-
gem 'mysql'
|
33
|
-
gem 'mysql2'
|
34
|
-
gem 'sqlite3'
|
35
|
-
end
|
36
|
-
|
37
|
-
# JRuby Adapter Dependencies
|
38
|
-
platform :jruby do
|
39
|
-
gem 'jdbc-sqlite3'
|
40
|
-
gem 'jdbc-mysql'
|
41
|
-
gem 'jdbc-postgres'
|
42
|
-
end
|