Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
135 changes: 135 additions & 0 deletions .github/workflows/prs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,23 @@ jobs:
- '2.5'
- '2.7'
- '3.0'
- '3.1'
activerecord:
- '5.2'
- '6.0'
- '6.1'
- '7.0'
db:
- skip
dbversion:
- skip
exclude:
- ruby: '3.0'
activerecord: '5.2'
- ruby: '3.1'
activerecord: '5.2'
- ruby: '2.5'
activerecord: '7.0'
- db: skip
dbversion: skip
include:
Expand Down Expand Up @@ -67,6 +74,22 @@ jobs:
activerecord: '6.0'
db: postgresql
dbversion: '12'
- ruby: '2.5'
activerecord: '6.1'
db: postgresql
dbversion: '9.6'
- ruby: '2.5'
activerecord: '6.1'
db: postgresql
dbversion: '10'
- ruby: '2.5'
activerecord: '6.1'
db: postgresql
dbversion: '11'
- ruby: '2.5'
activerecord: '6.1'
db: postgresql
dbversion: '12'
- ruby: '2.7'
activerecord: '5.2'
db: postgresql
Expand Down Expand Up @@ -99,6 +122,38 @@ jobs:
activerecord: '6.0'
db: postgresql
dbversion: '12'
- ruby: '2.7'
activerecord: '6.1'
db: postgresql
dbversion: '9.6'
- ruby: '2.7'
activerecord: '6.1'
db: postgresql
dbversion: '10'
- ruby: '2.7'
activerecord: '6.1'
db: postgresql
dbversion: '11'
- ruby: '2.7'
activerecord: '6.1'
db: postgresql
dbversion: '12'
- ruby: '2.7'
activerecord: '7.0'
db: postgresql
dbversion: '9.6'
- ruby: '2.7'
activerecord: '7.0'
db: postgresql
dbversion: '10'
- ruby: '2.7'
activerecord: '7.0'
db: postgresql
dbversion: '11'
- ruby: '2.7'
activerecord: '7.0'
db: postgresql
dbversion: '12'
- ruby: '3.0'
activerecord: '6.0'
db: postgresql
Expand All @@ -115,6 +170,86 @@ jobs:
activerecord: '6.0'
db: postgresql
dbversion: '12'
- ruby: '3.0'
activerecord: '6.1'
db: postgresql
dbversion: '9.6'
- ruby: '3.0'
activerecord: '6.1'
db: postgresql
dbversion: '10'
- ruby: '3.0'
activerecord: '6.1'
db: postgresql
dbversion: '11'
- ruby: '3.0'
activerecord: '6.1'
db: postgresql
dbversion: '12'
- ruby: '3.0'
activerecord: '7.0'
db: postgresql
dbversion: '9.6'
- ruby: '3.0'
activerecord: '7.0'
db: postgresql
dbversion: '10'
- ruby: '3.0'
activerecord: '7.0'
db: postgresql
dbversion: '11'
- ruby: '3.0'
activerecord: '7.0'
db: postgresql
dbversion: '12'
- ruby: '3.1'
activerecord: '6.0'
db: postgresql
dbversion: '9.6'
- ruby: '3.1'
activerecord: '6.0'
db: postgresql
dbversion: '10'
- ruby: '3.1'
activerecord: '6.0'
db: postgresql
dbversion: '11'
- ruby: '3.1'
activerecord: '6.0'
db: postgresql
dbversion: '12'
- ruby: '3.1'
activerecord: '6.1'
db: postgresql
dbversion: '9.6'
- ruby: '3.1'
activerecord: '6.1'
db: postgresql
dbversion: '10'
- ruby: '3.1'
activerecord: '6.1'
db: postgresql
dbversion: '11'
- ruby: '3.1'
activerecord: '6.1'
db: postgresql
dbversion: '12'
- ruby: '3.1'
activerecord: '7.0'
db: postgresql
dbversion: '9.6'
- ruby: '3.1'
activerecord: '7.0'
db: postgresql
dbversion: '10'
- ruby: '3.1'
activerecord: '7.0'
db: postgresql
dbversion: '11'
- ruby: '3.1'
activerecord: '7.0'
db: postgresql
dbversion: '12'
env:
BUNDLE_GEMFILE: "${{ github.workspace }}/gemfiles/activerecord-${{ matrix.activerecord }}/Gemfile.${{ matrix.db }}"
POSTGRESQL_DB_HOST: 127.0.0.1
Expand Down
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,17 @@ SchemaPlus::Enums is tested on:
<!-- These lines are auto-generated by schema_dev based on schema_dev.yml -->
* ruby **2.5** with activerecord **5.2**, using **postgresql:9.6**, **postgresql:10**, **postgresql:11** or **postgresql:12**
* ruby **2.5** with activerecord **6.0**, using **postgresql:9.6**, **postgresql:10**, **postgresql:11** or **postgresql:12**
* ruby **2.5** with activerecord **6.1**, using **postgresql:9.6**, **postgresql:10**, **postgresql:11** or **postgresql:12**
* ruby **2.7** with activerecord **5.2**, using **postgresql:9.6**, **postgresql:10**, **postgresql:11** or **postgresql:12**
* ruby **2.7** with activerecord **6.0**, using **postgresql:9.6**, **postgresql:10**, **postgresql:11** or **postgresql:12**
* ruby **2.7** with activerecord **6.1**, using **postgresql:9.6**, **postgresql:10**, **postgresql:11** or **postgresql:12**
* ruby **2.7** with activerecord **7.0**, using **postgresql:9.6**, **postgresql:10**, **postgresql:11** or **postgresql:12**
* ruby **3.0** with activerecord **6.0**, using **postgresql:9.6**, **postgresql:10**, **postgresql:11** or **postgresql:12**
* ruby **3.0** with activerecord **6.1**, using **postgresql:9.6**, **postgresql:10**, **postgresql:11** or **postgresql:12**
* ruby **3.0** with activerecord **7.0**, using **postgresql:9.6**, **postgresql:10**, **postgresql:11** or **postgresql:12**
* ruby **3.1** with activerecord **6.0**, using **postgresql:9.6**, **postgresql:10**, **postgresql:11** or **postgresql:12**
* ruby **3.1** with activerecord **6.1**, using **postgresql:9.6**, **postgresql:10**, **postgresql:11** or **postgresql:12**
* ruby **3.1** with activerecord **7.0**, using **postgresql:9.6**, **postgresql:10**, **postgresql:11** or **postgresql:12**

<!-- SCHEMA_DEV: MATRIX - end -->

Expand Down
4 changes: 4 additions & 0 deletions gemfiles/activerecord-6.1/Gemfile.base
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
base_gemfile = File.expand_path('../../Gemfile.base', __FILE__)
eval File.read(base_gemfile)

gem "activerecord", ">= 6.1", "< 6.2"
10 changes: 10 additions & 0 deletions gemfiles/activerecord-6.1/Gemfile.postgresql
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
base_gemfile = File.expand_path('../Gemfile.base', __FILE__)
eval File.read(base_gemfile), binding, base_gemfile

platform :ruby do
gem "pg"
end

platform :jruby do
gem 'activerecord-jdbcpostgresql-adapter'
end
4 changes: 4 additions & 0 deletions gemfiles/activerecord-7.0/Gemfile.base
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
base_gemfile = File.expand_path('../../Gemfile.base', __FILE__)
eval File.read(base_gemfile)

gem "activerecord", ">= 7.0", "< 7.1"
10 changes: 10 additions & 0 deletions gemfiles/activerecord-7.0/Gemfile.postgresql
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
base_gemfile = File.expand_path('../Gemfile.base', __FILE__)
eval File.read(base_gemfile), binding, base_gemfile

platform :ruby do
gem "pg"
end

platform :jruby do
gem 'activerecord-jdbcpostgresql-adapter'
end
3 changes: 3 additions & 0 deletions schema_dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,12 @@ ruby:
- 2.5
- 2.7
- 3.0
- 3.1
activerecord:
- 5.2
- 6.0
- 6.1
- 7.0
db:
- postgresql
dbversions:
Expand Down
6 changes: 3 additions & 3 deletions schema_plus_enums.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ Gem::Specification.new do |gem|

gem.required_ruby_version = '>= 2.5'

gem.add_dependency 'activerecord', '>= 5.2', '< 6.1'
gem.add_dependency 'schema_plus_core', '~> 3.0.0'
gem.add_dependency 'activerecord', '>= 5.2', '< 7.1'
gem.add_dependency 'schema_plus_core', '~> 3.1.0'

gem.add_development_dependency 'bundler'
gem.add_development_dependency 'rake', '~> 13.0'
gem.add_development_dependency 'rspec', '~> 3.0'
gem.add_development_dependency 'schema_dev', '~> 4.1'
gem.add_development_dependency 'schema_dev', '~> 4.2.0'
end
4 changes: 2 additions & 2 deletions spec/enum_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ def enum_fields(name, schema = 'public')
migration.execute 'DROP TYPE IF EXISTS color'
end

context 'when postgresql version is >= 10', pg_version: '>= 10.0' do
context 'when postgresql version is >= 10', postgresql: '>= 10.0' do
it 'renames the value' do
expect {
migration.rename_enum_value('color', 'green', 'orange')
Expand All @@ -257,7 +257,7 @@ def enum_fields(name, schema = 'public')
end
end

context 'when postgresql version is < 10', pg_version: '< 10.0' do
context 'when postgresql version is < 10', postgresql: '< 10.0' do
it 'raises an error' do
expect {
migration.rename_enum_value('color', 'green', 'orange')
Expand Down
9 changes: 1 addition & 8 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# frozen_string_literal: true

require 'simplecov'
SimpleCov.start
SimpleCov.start unless SimpleCov.running

$LOAD_PATH.unshift(File.dirname(__FILE__))
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
Expand All @@ -20,13 +20,6 @@
RSpec.configure do |config|
config.warnings = true

config.filter_run_excluding pg_version: lambda { |v|
version = ActiveRecord::Base.connection.select_value("SHOW server_version").match(/(\d+\.\d+)/)[1]
postgresql_version = Gem::Version.new(version)
test = Gem::Requirement.new(v)
!test.satisfied_by?(postgresql_version)
}

config.after do
ActiveRecord::Base.connection.tap do |c|
c.enums.each do |p, e, _|
Expand Down