Skip to content

Commit 360fc51

Browse files
authored
Merge pull request #329 from voormedia/kerrizor/add-rails-6-support
Add Rails 6 support
2 parents d4ad8f2 + 77a2c9f commit 360fc51

File tree

4 files changed

+48
-1
lines changed

4 files changed

+48
-1
lines changed

.travis.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ gemfile:
1111
- gemfiles/Gemfile-rails.5.0.x
1212
- gemfiles/Gemfile-rails.5.1.x
1313
- gemfiles/Gemfile-rails.5.2.x
14+
- gemfiles/Gemfile-rails.6.0.x
1415
- gemfiles/Gemfile-rails.edge
1516
before_install:
1617
- gem install bundler -v '< 2'
@@ -22,4 +23,17 @@ matrix:
2223
- rvm: jruby
2324
- gemfile: gemfiles/Gemfile-rails.edge
2425
fast_finish: true
26+
exclude:
27+
- rvm: 2.2
28+
gemfile: gemfiles/Gemfile-rails.6.0.x
29+
- rvm: 2.2
30+
gemfile: gemfiles/Gemfile-rails.edge
31+
- rvm: 2.3
32+
gemfile: gemfiles/Gemfile-rails.6.0.x
33+
- rvm: 2.3
34+
gemfile: gemfiles/Gemfile-rails.edge
35+
- rvm: 2.4
36+
gemfile: gemfiles/Gemfile-rails.6.0.x
37+
- rvm: 2.4
38+
gemfile: gemfiles/Gemfile-rails.edge
2539
cache: bundler

gemfiles/Gemfile-rails.6.0.x

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
source "http://rubygems.org"
2+
3+
gemspec :path => ".."
4+
5+
gem "activerecord", "~> 6.0.0rc1"
6+
7+
group :development do
8+
gem 'mocha'
9+
gem "rake"
10+
gem "yard"
11+
12+
platforms :ruby do
13+
gem "sqlite3", '~> 1.4'
14+
gem "redcarpet"
15+
end
16+
17+
platforms :jruby do
18+
gem "activerecord-jdbcsqlite3-adapter"
19+
gem "jruby-openssl", :require => false # Silence openssl warnings.
20+
end
21+
end

rails-erd.gemspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ Gem::Specification.new do |s|
1919
s.add_runtime_dependency "choice", "~> 0.2.0"
2020

2121
s.add_development_dependency "pry"
22+
s.add_development_dependency "pry-nav"
2223

2324
s.files = `git ls-files -- {bin,lib,test}/* CHANGES.rdoc LICENSE Rakefile README.md`.split("\n")
2425
s.test_files = `git ls-files -- test/*`.split("\n")

test/test_helper.rb

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
require "rubygems"
22
require "bundler/setup"
33
require 'pry'
4+
require 'pry-nav'
45

56
require "active_record"
67

@@ -71,6 +72,7 @@ def create_model(name, *args, &block)
7172
superklass = args.first.kind_of?(Class) ? args.shift : ActiveRecord::Base
7273
columns = args.first || {}
7374
klass = Object.const_set name.to_sym, Class.new(superklass)
75+
7476
if superklass == ActiveRecord::Base || superklass.abstract_class?
7577
create_table Object.const_get(name.to_sym).table_name, columns, Object.const_get(name.to_sym).primary_key rescue nil
7678
end
@@ -192,10 +194,19 @@ def reset_domain
192194
model.reset_column_information
193195
remove_fully_qualified_constant(model.name)
194196
end
197+
195198
tables_and_views.each do |table|
196199
ActiveRecord::Base.connection.drop_table table
197200
end
198-
ActiveRecord::Base.direct_descendants.clear
201+
202+
if ActiveRecord.version >= Gem::Version.new("6.0.0.rc1")
203+
cv = ActiveSupport::DescendantsTracker.class_variable_get(:@@direct_descendants)
204+
cv.delete(ActiveRecord::Base)
205+
ActiveSupport::DescendantsTracker.class_variable_set(:@@direct_descendants, cv)
206+
else
207+
ActiveRecord::Base.direct_descendants.clear
208+
end
209+
199210
ActiveSupport::Dependencies::Reference.clear!
200211
ActiveRecord::Base.clear_cache!
201212
end

0 commit comments

Comments
 (0)