acts_as_list 1.0.4 → 1.2.4

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 (41) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +39 -4
  3. data/README.md +17 -9
  4. data/Rakefile +0 -8
  5. data/lib/acts_as_list/active_record/acts/callback_definer.rb +2 -4
  6. data/lib/acts_as_list/active_record/acts/list.rb +33 -34
  7. data/lib/acts_as_list/active_record/acts/position_column_method_definer.rb +15 -6
  8. data/lib/acts_as_list/active_record/acts/scope_method_definer.rb +1 -2
  9. data/lib/acts_as_list/active_record/acts/sequential_updates_method_definer.rb +15 -15
  10. data/lib/acts_as_list/active_record/acts/with_connection.rb +25 -0
  11. data/lib/acts_as_list/version.rb +1 -1
  12. metadata +102 -61
  13. data/.github/FUNDING.yml +0 -3
  14. data/.gitignore +0 -12
  15. data/.travis.yml +0 -55
  16. data/Appraisals +0 -40
  17. data/Gemfile +0 -28
  18. data/acts_as_list.gemspec +0 -34
  19. data/gemfiles/rails_4_2.gemfile +0 -32
  20. data/gemfiles/rails_5_0.gemfile +0 -31
  21. data/gemfiles/rails_5_1.gemfile +0 -31
  22. data/gemfiles/rails_5_2.gemfile +0 -31
  23. data/gemfiles/rails_6_0.gemfile +0 -31
  24. data/gemfiles/rails_6_1.gemfile +0 -31
  25. data/test/database.yml +0 -16
  26. data/test/helper.rb +0 -69
  27. data/test/shared.rb +0 -12
  28. data/test/shared_array_scope_list.rb +0 -177
  29. data/test/shared_list.rb +0 -324
  30. data/test/shared_list_sub.rb +0 -188
  31. data/test/shared_no_addition.rb +0 -38
  32. data/test/shared_quoting.rb +0 -23
  33. data/test/shared_top_addition.rb +0 -110
  34. data/test/shared_zero_based.rb +0 -104
  35. data/test/test_default_scope_with_select.rb +0 -33
  36. data/test/test_joined_list.rb +0 -61
  37. data/test/test_list.rb +0 -1086
  38. data/test/test_no_update_for_extra_classes.rb +0 -131
  39. data/test/test_no_update_for_scope_destruction.rb +0 -69
  40. data/test/test_no_update_for_subclasses.rb +0 -56
  41. data/test/test_scope_with_user_defined_foreign_key.rb +0 -42
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts_as_list
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Swanand Pagnis
8
8
  - Brendon Muir
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-04-19 00:00:00.000000000 Z
12
+ date: 2024-11-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
@@ -17,28 +17,112 @@ dependencies:
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: '4.2'
20
+ version: '6.1'
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: '4.2'
27
+ version: '6.1'
28
28
  - !ruby/object:Gem::Dependency
29
- name: bundler
29
+ name: activesupport
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - ">="
33
33
  - !ruby/object:Gem::Version
34
- version: 1.0.0
35
- type: :development
34
+ version: '6.1'
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: 1.0.0
41
+ version: '6.1'
42
+ - !ruby/object:Gem::Dependency
43
+ name: minitest-hooks
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: 1.5.1
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: 1.5.1
56
+ - !ruby/object:Gem::Dependency
57
+ name: mocha
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: 2.1.0
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: 2.1.0
70
+ - !ruby/object:Gem::Dependency
71
+ name: timecop
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: 0.9.8
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: 0.9.8
84
+ - !ruby/object:Gem::Dependency
85
+ name: mysql2
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: 0.5.6
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: 0.5.6
98
+ - !ruby/object:Gem::Dependency
99
+ name: pg
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - "~>"
103
+ - !ruby/object:Gem::Version
104
+ version: 1.5.5
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: 1.5.5
112
+ - !ruby/object:Gem::Dependency
113
+ name: sqlite3
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - "~>"
117
+ - !ruby/object:Gem::Version
118
+ version: 1.7.2
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - "~>"
124
+ - !ruby/object:Gem::Version
125
+ version: 1.7.2
42
126
  description: This "acts_as" extension provides the capabilities for sorting and reordering
43
127
  a number of objects in a list. The class that has this specified needs to have a
44
128
  "position" column defined as an integer on the mapped database table.
@@ -50,22 +134,10 @@ extensions: []
50
134
  extra_rdoc_files: []
51
135
  files:
52
136
  - ".gemtest"
53
- - ".github/FUNDING.yml"
54
- - ".gitignore"
55
- - ".travis.yml"
56
- - Appraisals
57
137
  - CHANGELOG.md
58
- - Gemfile
59
138
  - MIT-LICENSE
60
139
  - README.md
61
140
  - Rakefile
62
- - acts_as_list.gemspec
63
- - gemfiles/rails_4_2.gemfile
64
- - gemfiles/rails_5_0.gemfile
65
- - gemfiles/rails_5_1.gemfile
66
- - gemfiles/rails_5_2.gemfile
67
- - gemfiles/rails_6_0.gemfile
68
- - gemfiles/rails_6_1.gemfile
69
141
  - init.rb
70
142
  - lib/acts_as_list.rb
71
143
  - lib/acts_as_list/active_record/acts/active_record.rb
@@ -78,32 +150,18 @@ files:
78
150
  - lib/acts_as_list/active_record/acts/scope_method_definer.rb
79
151
  - lib/acts_as_list/active_record/acts/sequential_updates_method_definer.rb
80
152
  - lib/acts_as_list/active_record/acts/top_of_list_method_definer.rb
153
+ - lib/acts_as_list/active_record/acts/with_connection.rb
81
154
  - lib/acts_as_list/version.rb
82
- - test/database.yml
83
- - test/helper.rb
84
- - test/shared.rb
85
- - test/shared_array_scope_list.rb
86
- - test/shared_list.rb
87
- - test/shared_list_sub.rb
88
- - test/shared_no_addition.rb
89
- - test/shared_quoting.rb
90
- - test/shared_top_addition.rb
91
- - test/shared_zero_based.rb
92
- - test/test_default_scope_with_select.rb
93
- - test/test_joined_list.rb
94
- - test/test_list.rb
95
- - test/test_no_update_for_extra_classes.rb
96
- - test/test_no_update_for_scope_destruction.rb
97
- - test/test_no_update_for_subclasses.rb
98
- - test/test_scope_with_user_defined_foreign_key.rb
99
- homepage: http://github.com/brendon/acts_as_list
155
+ homepage: https://github.com/brendon/acts_as_list
100
156
  licenses:
101
157
  - MIT
102
158
  metadata:
103
159
  changelog_uri: https://github.com/brendon/acts_as_list/blob/master/CHANGELOG.md
104
160
  source_code_uri: https://github.com/brendon/acts_as_list
105
161
  bug_tracker_uri: https://github.com/brendon/acts_as_list/issues
106
- post_install_message:
162
+ funding_uri: https://github.com/sponsors/brendon
163
+ rubygems_mfa_required: 'true'
164
+ post_install_message:
107
165
  rdoc_options: []
108
166
  require_paths:
109
167
  - lib
@@ -111,33 +169,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
111
169
  requirements:
112
170
  - - ">="
113
171
  - !ruby/object:Gem::Version
114
- version: 2.4.7
172
+ version: '2.5'
115
173
  required_rubygems_version: !ruby/object:Gem::Requirement
116
174
  requirements:
117
175
  - - ">="
118
176
  - !ruby/object:Gem::Version
119
177
  version: '0'
120
178
  requirements: []
121
- rubygems_version: 3.0.3
122
- signing_key:
179
+ rubygems_version: 3.3.7
180
+ signing_key:
123
181
  specification_version: 4
124
182
  summary: A gem adding sorting, reordering capabilities to an active_record model,
125
183
  allowing it to act as a list
126
- test_files:
127
- - test/database.yml
128
- - test/helper.rb
129
- - test/shared.rb
130
- - test/shared_array_scope_list.rb
131
- - test/shared_list.rb
132
- - test/shared_list_sub.rb
133
- - test/shared_no_addition.rb
134
- - test/shared_quoting.rb
135
- - test/shared_top_addition.rb
136
- - test/shared_zero_based.rb
137
- - test/test_default_scope_with_select.rb
138
- - test/test_joined_list.rb
139
- - test/test_list.rb
140
- - test/test_no_update_for_extra_classes.rb
141
- - test/test_no_update_for_scope_destruction.rb
142
- - test/test_no_update_for_subclasses.rb
143
- - test/test_scope_with_user_defined_foreign_key.rb
184
+ test_files: []
data/.github/FUNDING.yml DELETED
@@ -1,3 +0,0 @@
1
- # These are supported funding model platforms
2
-
3
- github: [brendon]
data/.gitignore DELETED
@@ -1,12 +0,0 @@
1
- *.gem
2
- .bundle
3
- Gemfile.lock
4
- pkg/*
5
- .rvmrc
6
- *.tmproj
7
- .rbenv-version
8
- .ruby-gemset
9
- .ruby-version
10
- # Appraisal generated lockfiles
11
- *.gemfile.lock
12
- .DS_Store
data/.travis.yml DELETED
@@ -1,55 +0,0 @@
1
- language: ruby
2
- cache: bundler
3
- sudo: false
4
- before_script:
5
- - gem uninstall -v '>= 2' -i $(rvm gemdir)@global -ax bundler || true
6
- - gem install bundler -v '< 2'
7
- - mysql -e 'create database acts_as_list;'
8
- - psql -c 'create database acts_as_list;' -U postgres
9
- rvm:
10
- - 2.4
11
- - 2.5
12
- - 2.6
13
- - 2.7
14
- - 3.0
15
- services:
16
- - mysql
17
- - postgresql
18
- env:
19
- - DB=sqlite
20
- - DB=mysql
21
- - DB=postgresql
22
- gemfile:
23
- - gemfiles/rails_4_2.gemfile
24
- - gemfiles/rails_5_0.gemfile
25
- - gemfiles/rails_5_1.gemfile
26
- - gemfiles/rails_5_2.gemfile
27
- - gemfiles/rails_6_0.gemfile
28
- - gemfiles/rails_6_1.gemfile
29
- matrix:
30
- exclude:
31
- - rvm: 2.4
32
- gemfile: gemfiles/rails_6_0.gemfile
33
- - rvm: 2.4
34
- gemfile: gemfiles/rails_6_1.gemfile
35
- # Ruby 2.7 uses a `bigdecimal` version that doesn't support BigDecimal.new
36
- # that Rails 4.2 uses. See also:
37
- # https://github.com/ruby/bigdecimal#which-version-should-you-select
38
- - rvm: 2.7
39
- gemfile: gemfiles/rails_4_2.gemfile
40
- # Ruby 2.7 warning `sqlite3-1.3.13/lib/sqlite3/statement.rb:108: warning: rb_tainted_str_new is deprecated`
41
- # and job wil exceed the maximum log length
42
- # see also: https://github.com/sparklemotion/sqlite3-ruby/issues/276
43
- - rvm: 2.7
44
- gemfile: gemfiles/rails_5_0.gemfile
45
- env: DB=sqlite
46
- # Rails <6 does not support Ruby 3, see:
47
- # https://github.com/rails/rails/issues/40938#issuecomment-751898275
48
- - rvm: 3.0
49
- gemfile: gemfiles/rails_4_2.gemfile
50
- - rvm: 3.0
51
- gemfile: gemfiles/rails_5_0.gemfile
52
- - rvm: 3.0
53
- gemfile: gemfiles/rails_5_1.gemfile
54
- - rvm: 3.0
55
- gemfile: gemfiles/rails_5_2.gemfile
data/Appraisals DELETED
@@ -1,40 +0,0 @@
1
- appraise "rails-4-2" do
2
- group :mysql do
3
- gem "mysql2", "~> 0.4.0"
4
- end
5
- group :postgresql do
6
- gem "pg", "~> 0.18.4"
7
- end
8
- group :test do
9
- gem "test_after_commit", "~> 0.4.2"
10
- end
11
- group :sqlite do
12
- gem "sqlite3", "~> 1.3.13"
13
- end
14
-
15
- gem "activerecord", "~> 4.2.0"
16
- end
17
-
18
- appraise "rails-5-0" do
19
- group :sqlite do
20
- gem "sqlite3", "~> 1.3.13"
21
- end
22
-
23
- gem "activerecord", "~> 5.0.0"
24
- end
25
-
26
- appraise "rails-5-1" do
27
- gem "activerecord", "~> 5.1.0"
28
- end
29
-
30
- appraise "rails-5-2" do
31
- gem "activerecord", "~> 5.2.0"
32
- end
33
-
34
- appraise "rails-6-0" do
35
- gem "activerecord", "~> 6.0.0"
36
- end
37
-
38
- appraise "rails-6-1" do
39
- gem "activerecord", "6.1.0.rc1"
40
- end
data/Gemfile DELETED
@@ -1,28 +0,0 @@
1
- source "http://rubygems.org"
2
-
3
- gemspec
4
-
5
- gem "rake"
6
- gem "appraisal"
7
-
8
- group :development do
9
- gem "github_changelog_generator", "1.9.0"
10
- end
11
-
12
- group :test do
13
- gem "minitest", "~> 5.0"
14
- gem "timecop"
15
- gem "mocha"
16
- end
17
-
18
- group :sqlite do
19
- gem "sqlite3", "~> 1.4"
20
- end
21
-
22
- group :postgresql do
23
- gem "pg", "~> 1.2.0"
24
- end
25
-
26
- group :mysql do
27
- gem "mysql2", "~> 0.5.0"
28
- end
data/acts_as_list.gemspec DELETED
@@ -1,34 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path("../lib", __FILE__)
3
- require "acts_as_list/version"
4
-
5
- Gem::Specification.new do |s|
6
- # Description Meta...
7
- s.name = "acts_as_list"
8
- s.version = ActiveRecord::Acts::List::VERSION
9
- s.platform = Gem::Platform::RUBY
10
- s.authors = ["Swanand Pagnis", "Brendon Muir"]
11
- s.email = %w(swanand.pagnis@gmail.com brendon@spikeatschool.co.nz)
12
- s.homepage = "http://github.com/brendon/acts_as_list"
13
- s.summary = "A gem adding sorting, reordering capabilities to an active_record model, allowing it to act as a list"
14
- s.description = 'This "acts_as" extension provides the capabilities for sorting and reordering a number of objects in a list. The class that has this specified needs to have a "position" column defined as an integer on the mapped database table.'
15
- s.license = "MIT"
16
- s.required_ruby_version = ">= 2.4.7"
17
-
18
- if s.respond_to?(:metadata)
19
- s.metadata['changelog_uri'] = 'https://github.com/brendon/acts_as_list/blob/master/CHANGELOG.md'
20
- s.metadata['source_code_uri'] = 'https://github.com/brendon/acts_as_list'
21
- s.metadata['bug_tracker_uri'] = 'https://github.com/brendon/acts_as_list/issues'
22
- end
23
-
24
- # Load Paths...
25
- s.files = `git ls-files`.split("\n")
26
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
27
- s.executables = `git ls-files -- bin/*`.split("\n").map {|f| File.basename(f)}
28
- s.require_paths = ["lib"]
29
-
30
-
31
- # Dependencies (installed via "bundle install")
32
- s.add_dependency "activerecord", ">= 4.2"
33
- s.add_development_dependency "bundler", ">= 1.0.0"
34
- end
@@ -1,32 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "http://rubygems.org"
4
-
5
- gem "rake"
6
- gem "appraisal"
7
- gem "activerecord", "~> 4.2.0"
8
-
9
- group :development do
10
- gem "github_changelog_generator", "1.9.0"
11
- end
12
-
13
- group :test do
14
- gem "minitest", "~> 5.0"
15
- gem "timecop"
16
- gem "mocha"
17
- gem "test_after_commit", "~> 0.4.2"
18
- end
19
-
20
- group :sqlite do
21
- gem "sqlite3", "~> 1.3.13"
22
- end
23
-
24
- group :postgresql do
25
- gem "pg", "~> 0.18.4"
26
- end
27
-
28
- group :mysql do
29
- gem "mysql2", "~> 0.4.0"
30
- end
31
-
32
- gemspec path: "../"
@@ -1,31 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "http://rubygems.org"
4
-
5
- gem "rake"
6
- gem "appraisal"
7
- gem "activerecord", "~> 5.0.0"
8
-
9
- group :development do
10
- gem "github_changelog_generator", "1.9.0"
11
- end
12
-
13
- group :test do
14
- gem "minitest", "~> 5.0"
15
- gem "timecop"
16
- gem "mocha"
17
- end
18
-
19
- group :sqlite do
20
- gem "sqlite3", "~> 1.3.13"
21
- end
22
-
23
- group :postgresql do
24
- gem "pg", "~> 1.2.0"
25
- end
26
-
27
- group :mysql do
28
- gem "mysql2", "~> 0.5.0"
29
- end
30
-
31
- gemspec path: "../"
@@ -1,31 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "http://rubygems.org"
4
-
5
- gem "rake"
6
- gem "appraisal"
7
- gem "activerecord", "~> 5.1.0"
8
-
9
- group :development do
10
- gem "github_changelog_generator", "1.9.0"
11
- end
12
-
13
- group :test do
14
- gem "minitest", "~> 5.0"
15
- gem "timecop"
16
- gem "mocha"
17
- end
18
-
19
- group :sqlite do
20
- gem "sqlite3", "~> 1.4"
21
- end
22
-
23
- group :postgresql do
24
- gem "pg", "~> 1.2.0"
25
- end
26
-
27
- group :mysql do
28
- gem "mysql2", "~> 0.5.0"
29
- end
30
-
31
- gemspec path: "../"
@@ -1,31 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "http://rubygems.org"
4
-
5
- gem "rake"
6
- gem "appraisal"
7
- gem "activerecord", "~> 5.2.0"
8
-
9
- group :development do
10
- gem "github_changelog_generator", "1.9.0"
11
- end
12
-
13
- group :test do
14
- gem "minitest", "~> 5.0"
15
- gem "timecop"
16
- gem "mocha"
17
- end
18
-
19
- group :sqlite do
20
- gem "sqlite3", "~> 1.4"
21
- end
22
-
23
- group :postgresql do
24
- gem "pg", "~> 1.2.0"
25
- end
26
-
27
- group :mysql do
28
- gem "mysql2", "~> 0.5.0"
29
- end
30
-
31
- gemspec path: "../"
@@ -1,31 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "http://rubygems.org"
4
-
5
- gem "rake"
6
- gem "appraisal"
7
- gem "activerecord", "~> 6.0.0"
8
-
9
- group :development do
10
- gem "github_changelog_generator", "1.9.0"
11
- end
12
-
13
- group :test do
14
- gem "minitest", "~> 5.0"
15
- gem "timecop"
16
- gem "mocha"
17
- end
18
-
19
- group :sqlite do
20
- gem "sqlite3", "~> 1.4"
21
- end
22
-
23
- group :postgresql do
24
- gem "pg", "~> 1.2.0"
25
- end
26
-
27
- group :mysql do
28
- gem "mysql2", "~> 0.5.0"
29
- end
30
-
31
- gemspec path: "../"
@@ -1,31 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "http://rubygems.org"
4
-
5
- gem "rake"
6
- gem "appraisal"
7
- gem "activerecord", "6.1.0.rc1"
8
-
9
- group :development do
10
- gem "github_changelog_generator", "1.9.0"
11
- end
12
-
13
- group :test do
14
- gem "minitest", "~> 5.0"
15
- gem "timecop"
16
- gem "mocha"
17
- end
18
-
19
- group :sqlite do
20
- gem "sqlite3", "~> 1.4"
21
- end
22
-
23
- group :postgresql do
24
- gem "pg", "~> 1.2.0"
25
- end
26
-
27
- group :mysql do
28
- gem "mysql2", "~> 0.5.0"
29
- end
30
-
31
- gemspec path: "../"
data/test/database.yml DELETED
@@ -1,16 +0,0 @@
1
- sqlite:
2
- adapter: sqlite3
3
- database: "file:memdb1?mode=memory&cache=shared"
4
-
5
- mysql:
6
- adapter: mysql2
7
- username: root
8
- password:
9
- database: acts_as_list
10
-
11
- postgresql:
12
- adapter: postgresql
13
- username: postgres
14
- password:
15
- database: acts_as_list
16
- min_messages: ERROR
data/test/helper.rb DELETED
@@ -1,69 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # $DEBUG = true
4
-
5
- require "rubygems"
6
- require "bundler/setup"
7
- begin
8
- Bundler.setup(:default, :development)
9
- rescue Bundler::BundlerError => e
10
- $stderr.puts e.message
11
- $stderr.puts "Run `bundle install` to install missing gems"
12
- exit e.status_code
13
- end
14
- require "active_record"
15
- require "minitest/autorun"
16
- require "mocha/minitest"
17
- require "#{File.dirname(__FILE__)}/../init"
18
-
19
- if defined?(ActiveRecord::VERSION) &&
20
- ActiveRecord::VERSION::MAJOR == 4 && ActiveRecord::VERSION::MINOR >= 2
21
-
22
- # Was removed in Rails 5 and is effectively true.
23
- ActiveRecord::Base.raise_in_transactional_callbacks = true
24
- end
25
-
26
- db_config = YAML.load_file(File.expand_path("../database.yml", __FILE__)).fetch(ENV["DB"] || "sqlite")
27
- ActiveRecord::Base.establish_connection(db_config)
28
- ActiveRecord::Schema.verbose = false
29
-
30
- def teardown_db
31
- if ActiveRecord::VERSION::MAJOR >= 5
32
- tables = ActiveRecord::Base.connection.data_sources
33
- else
34
- tables = ActiveRecord::Base.connection.tables
35
- end
36
-
37
- tables.each do |table|
38
- ActiveRecord::Base.connection.drop_table(table)
39
- end
40
- end
41
-
42
- require "shared"
43
-
44
- # require 'logger'
45
- # ActiveRecord::Base.logger = Logger.new(STDOUT)
46
-
47
- def assert_equal_or_nil(a, b)
48
- if a.nil?
49
- assert_nil b
50
- else
51
- assert_equal a, b
52
- end
53
- end
54
-
55
- def assert_no_deprecation_warning_raised_by(failure_message = 'ActiveRecord deprecation warning raised when we didn\'t expect it', pass_message = 'No ActiveRecord deprecation raised')
56
- original_behavior = ActiveSupport::Deprecation.behavior
57
- ActiveSupport::Deprecation.behavior = :raise
58
- begin
59
- yield
60
- rescue ActiveSupport::DeprecationException => e
61
- flunk "#{failure_message}: #{e}"
62
- rescue
63
- raise
64
- else
65
- pass pass_message
66
- end
67
- ensure
68
- ActiveSupport::Deprecation.behavior = original_behavior
69
- end