Skip to content

Commit 0617a43

Browse files
committed
add in global rails: version rspec filter and update postgresql filter to support specifying DB version
1 parent 9a3ced4 commit 0617a43

1 file changed

Lines changed: 20 additions & 2 deletions

File tree

  • lib/schema_dev/rspec

lib/schema_dev/rspec/db.rb

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,30 @@ def setup
1414
connect
1515
RSpec.configure do |config|
1616
config.include Helpers
17-
config.filter_run_excluding postgresql: :only unless Helpers.postgresql?
18-
config.filter_run_excluding postgresql: :skip if Helpers.postgresql?
17+
config.filter_run_excluding postgresql: -> (v) {
18+
if Helpers.postgresql?
19+
case v
20+
when String
21+
version = ActiveRecord::Base.connection.select_value("SHOW server_version").match(/(\d+\.\d+)/)[1]
22+
postgresql_version = Gem::Version.new(version)
23+
test = Gem::Requirement.new(v)
24+
!test.satisfied_by?(postgresql_version)
25+
else
26+
v == :skip
27+
end
28+
else
29+
v == :only
30+
end
31+
}
1932
config.filter_run_excluding mysql: :only unless Helpers.mysql?
2033
config.filter_run_excluding mysql: :skip if Helpers.mysql?
2134
config.filter_run_excluding sqlite3: :only unless Helpers.sqlite3?
2235
config.filter_run_excluding sqlite3: :skip if Helpers.sqlite3?
36+
config.filter_run_excluding rails: -> (v) {
37+
rails_version = Gem::Version.new(ActiveRecord::VERSION::STRING)
38+
test = Gem::Requirement.new(v)
39+
!test.satisfied_by?(rails_version)
40+
}
2341
end
2442
end
2543

0 commit comments

Comments
 (0)