schema_plus_views 0.4.1 → 1.0.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 764ef6eec1c0ff4459d83f12c562e0f05c29a3bfb69fd333184e0a7a05591c46
4
- data.tar.gz: eb78bcad2c15b3c07a3dbbaee7e90626b914da1fb78d69c6bb478818a7b268e6
3
+ metadata.gz: b6dc17514d0000f4bdfee9c6840afec09ce47fa0635d89cefbc82667f197b904
4
+ data.tar.gz: b12b99196f5d28b120e97aae3bd7bfc698a7e004439b6e0538ffbc2c079ecd13
5
5
  SHA512:
6
- metadata.gz: 89a1a4eba2cd2c3f45e831d3525e71430da8a6171891947da8fe73abf1356b12424a94b23e59a7b570e6c5ed3f63062c7c1b6993f1990aba78561753d2b7b9eb
7
- data.tar.gz: f569fa1e50557eadefd3c5bbf4975d6d2a6c0cdde63098ca8706f1c8775d83f999a46c7435fe957031040e2d05db0d0bd6ec36c54c05b140d7b22049807cf2e3
6
+ metadata.gz: 03666f035ea72b9f03a6ff2d20321adb8a1adb7e0c13682229e3f9f52e7c94876408e9597eb4c42c8b6eac5ae6c046c826d3cc7daa8ed2ab4b4afbf00326ba82
7
+ data.tar.gz: 192ccf942b56d1d09409895d7b9c9eb9693ec30fa497ddad80ec5114c0090f4d13a6db37ea070b3df124bd1e65af5d8069a2fcf76b56206aa0436745568a8d4f
@@ -0,0 +1,194 @@
1
+ # This file was auto-generated by the schema_dev tool, based on the data in
2
+ # ./schema_dev.yml
3
+ # Please do not edit this file; any changes will be overwritten next time
4
+ # schema_dev gets run.
5
+ ---
6
+ name: CI PR Builds
7
+ 'on':
8
+ push:
9
+ branches:
10
+ - master
11
+ pull_request:
12
+ concurrency:
13
+ group: ci-${{ github.ref }}
14
+ cancel-in-progress: true
15
+ jobs:
16
+ test:
17
+ runs-on: ubuntu-latest
18
+ strategy:
19
+ fail-fast: false
20
+ matrix:
21
+ ruby:
22
+ - '2.5'
23
+ - '2.7'
24
+ - '3.0'
25
+ activerecord:
26
+ - '5.2'
27
+ - '6.0'
28
+ db:
29
+ - mysql2
30
+ - sqlite3
31
+ - skip
32
+ dbversion:
33
+ - skip
34
+ exclude:
35
+ - ruby: '3.0'
36
+ activerecord: '5.2'
37
+ - db: skip
38
+ dbversion: skip
39
+ include:
40
+ - ruby: '2.5'
41
+ activerecord: '5.2'
42
+ db: postgresql
43
+ dbversion: '9.6'
44
+ - ruby: '2.5'
45
+ activerecord: '5.2'
46
+ db: postgresql
47
+ dbversion: '10'
48
+ - ruby: '2.5'
49
+ activerecord: '5.2'
50
+ db: postgresql
51
+ dbversion: '11'
52
+ - ruby: '2.5'
53
+ activerecord: '5.2'
54
+ db: postgresql
55
+ dbversion: '12'
56
+ - ruby: '2.5'
57
+ activerecord: '6.0'
58
+ db: postgresql
59
+ dbversion: '9.6'
60
+ - ruby: '2.5'
61
+ activerecord: '6.0'
62
+ db: postgresql
63
+ dbversion: '10'
64
+ - ruby: '2.5'
65
+ activerecord: '6.0'
66
+ db: postgresql
67
+ dbversion: '11'
68
+ - ruby: '2.5'
69
+ activerecord: '6.0'
70
+ db: postgresql
71
+ dbversion: '12'
72
+ - ruby: '2.7'
73
+ activerecord: '5.2'
74
+ db: postgresql
75
+ dbversion: '9.6'
76
+ - ruby: '2.7'
77
+ activerecord: '5.2'
78
+ db: postgresql
79
+ dbversion: '10'
80
+ - ruby: '2.7'
81
+ activerecord: '5.2'
82
+ db: postgresql
83
+ dbversion: '11'
84
+ - ruby: '2.7'
85
+ activerecord: '5.2'
86
+ db: postgresql
87
+ dbversion: '12'
88
+ - ruby: '2.7'
89
+ activerecord: '6.0'
90
+ db: postgresql
91
+ dbversion: '9.6'
92
+ - ruby: '2.7'
93
+ activerecord: '6.0'
94
+ db: postgresql
95
+ dbversion: '10'
96
+ - ruby: '2.7'
97
+ activerecord: '6.0'
98
+ db: postgresql
99
+ dbversion: '11'
100
+ - ruby: '2.7'
101
+ activerecord: '6.0'
102
+ db: postgresql
103
+ dbversion: '12'
104
+ - ruby: '3.0'
105
+ activerecord: '6.0'
106
+ db: postgresql
107
+ dbversion: '9.6'
108
+ - ruby: '3.0'
109
+ activerecord: '6.0'
110
+ db: postgresql
111
+ dbversion: '10'
112
+ - ruby: '3.0'
113
+ activerecord: '6.0'
114
+ db: postgresql
115
+ dbversion: '11'
116
+ - ruby: '3.0'
117
+ activerecord: '6.0'
118
+ db: postgresql
119
+ dbversion: '12'
120
+ env:
121
+ BUNDLE_GEMFILE: "${{ github.workspace }}/gemfiles/activerecord-${{ matrix.activerecord }}/Gemfile.${{ matrix.db }}"
122
+ MYSQL_DB_HOST: 127.0.0.1
123
+ MYSQL_DB_USER: root
124
+ MYSQL_DB_PASS: database
125
+ POSTGRESQL_DB_HOST: 127.0.0.1
126
+ POSTGRESQL_DB_USER: schema_plus_test
127
+ POSTGRESQL_DB_PASS: database
128
+ steps:
129
+ - uses: actions/checkout@v2
130
+ - name: Set up Ruby
131
+ uses: ruby/setup-ruby@v1
132
+ with:
133
+ ruby-version: "${{ matrix.ruby }}"
134
+ bundler-cache: true
135
+ - name: Run bundle update
136
+ run: bundle update
137
+ - name: Start Mysql
138
+ if: matrix.db == 'mysql2'
139
+ run: |
140
+ docker run --rm --detach \
141
+ -e MYSQL_ROOT_PASSWORD=$MYSQL_DB_PASS \
142
+ -p 3306:3306 \
143
+ --health-cmd "mysqladmin ping --host=127.0.0.1 --password=$MYSQL_DB_PASS --silent" \
144
+ --health-interval 5s \
145
+ --health-timeout 5s \
146
+ --health-retries 5 \
147
+ --name database mysql:5.6
148
+ - name: Start Postgresql
149
+ if: matrix.db == 'postgresql'
150
+ run: |
151
+ docker run --rm --detach \
152
+ -e POSTGRES_USER=$POSTGRESQL_DB_USER \
153
+ -e POSTGRES_PASSWORD=$POSTGRESQL_DB_PASS \
154
+ -p 5432:5432 \
155
+ --health-cmd "pg_isready -q" \
156
+ --health-interval 5s \
157
+ --health-timeout 5s \
158
+ --health-retries 5 \
159
+ --name database postgres:${{ matrix.dbversion }}
160
+ - name: Wait for database to start
161
+ if: "(matrix.db == 'postgresql' || matrix.db == 'mysql2')"
162
+ run: |
163
+ COUNT=0
164
+ ATTEMPTS=20
165
+ until [[ $COUNT -eq $ATTEMPTS ]]; do
166
+ [ "$(docker inspect -f {{.State.Health.Status}} database)" == "healthy" ] && break
167
+ echo $(( COUNT++ )) > /dev/null
168
+ sleep 2
169
+ done
170
+ - name: Create testing database
171
+ if: "(matrix.db == 'postgresql' || matrix.db == 'mysql2')"
172
+ run: bundle exec rake create_ci_database
173
+ - name: Run tests
174
+ run: bundle exec rake spec
175
+ - name: Shutdown database
176
+ if: always() && (matrix.db == 'postgresql' || matrix.db == 'mysql2')
177
+ run: docker stop database
178
+ - name: Coveralls Parallel
179
+ if: "${{ !env.ACT }}"
180
+ uses: coverallsapp/github-action@master
181
+ with:
182
+ github-token: "${{ secrets.GITHUB_TOKEN }}"
183
+ flag-name: run-${{ matrix.ruby }}-${{ matrix.activerecord }}-${{ matrix.db }}-${{ matrix.dbversion }}
184
+ parallel: true
185
+ finish:
186
+ needs: test
187
+ runs-on: ubuntu-latest
188
+ steps:
189
+ - name: Coveralls Finished
190
+ if: "${{ !env.ACT }}"
191
+ uses: coverallsapp/github-action@master
192
+ with:
193
+ github-token: "${{ secrets.GITHUB_TOKEN }}"
194
+ parallel-finished: true
data/.gitignore CHANGED
@@ -2,6 +2,7 @@
2
2
  /tmp
3
3
  /pkg
4
4
  /Gemfile.local
5
+ /.idea
5
6
 
6
7
  *.lock
7
8
  *.log
data/.simplecov ADDED
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ SimpleCov.configure do
4
+ enable_coverage :branch
5
+ add_filter '/spec/'
6
+
7
+ add_group 'Binaries', '/bin/'
8
+ add_group 'Libraries', '/lib/'
9
+
10
+ if ENV['CI']
11
+ require 'simplecov-lcov'
12
+
13
+ SimpleCov::Formatter::LcovFormatter.config do |c|
14
+ c.report_with_single_file = true
15
+ c.single_report_path = 'coverage/lcov.info'
16
+ end
17
+
18
+ formatter SimpleCov::Formatter::LcovFormatter
19
+ end
20
+ end
data/Gemfile CHANGED
@@ -1,5 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source "http://rubygems.org"
2
4
 
3
5
  gemspec
4
6
 
5
- File.exist?(gemfile_local = File.expand_path('../Gemfile.local', __FILE__)) and eval File.read(gemfile_local), binding, gemfile_local
7
+ gemfile_local = File.expand_path '../Gemfile.local', __FILE__
8
+ eval File.read(gemfile_local), binding, gemfile_local if File.exist? gemfile_local
data/README.md CHANGED
@@ -1,7 +1,6 @@
1
1
  [![Gem Version](https://badge.fury.io/rb/schema_plus_views.svg)](http://badge.fury.io/rb/schema_plus_views)
2
- [![Build Status](https://secure.travis-ci.org/SchemaPlus/schema_plus_views.svg)](http://travis-ci.org/SchemaPlus/schema_plus_views)
3
- [![Coverage Status](https://img.shields.io/coveralls/SchemaPlus/schema_plus_views.svg)](https://coveralls.io/r/SchemaPlus/schema_plus_views)
4
- [![Dependency Status](https://gemnasium.com/lomba/schema_plus_views.svg)](https://gemnasium.com/SchemaPlus/schema_plus_views)
2
+ [![Build Status](https://github.com/SchemaPlus/schema_plus_views/actions/workflows/pr.yml/badge.svg)](http://github.com/SchemaPlus/schema_plus_views/actions)
3
+ [![Coverage Status](https://coveralls.io/github/SchemaPlus/schema_plus_views/badge.svg)](https://coveralls.io/github/SchemaPlus/schema_plus_views)
5
4
 
6
5
  # SchemaPlus::Views
7
6
 
@@ -28,8 +27,11 @@ SchemaPlus::Views is tested on:
28
27
 
29
28
  <!-- SCHEMA_DEV: MATRIX - begin -->
30
29
  <!-- These lines are auto-generated by schema_dev based on schema_dev.yml -->
31
- * ruby **2.5.9** with activerecord **5.2**, using **mysql2**, **sqlite3** or **postgresql**
32
- * ruby **2.7.3** with activerecord **5.2**, using **mysql2**, **sqlite3** or **postgresql**
30
+ * ruby **2.5** with activerecord **5.2**, using **mysql2**, **sqlite3**, **postgresql:9.6**, **postgresql:10**, **postgresql:11** or **postgresql:12**
31
+ * ruby **2.5** with activerecord **6.0**, using **mysql2**, **sqlite3**, **postgresql:9.6**, **postgresql:10**, **postgresql:11** or **postgresql:12**
32
+ * ruby **2.7** with activerecord **5.2**, using **mysql2**, **sqlite3**, **postgresql:9.6**, **postgresql:10**, **postgresql:11** or **postgresql:12**
33
+ * ruby **2.7** with activerecord **6.0**, using **mysql2**, **sqlite3**, **postgresql:9.6**, **postgresql:10**, **postgresql:11** or **postgresql:12**
34
+ * ruby **3.0** with activerecord **6.0**, using **mysql2**, **sqlite3**, **postgresql:9.6**, **postgresql:10**, **postgresql:11** or **postgresql:12**
33
35
 
34
36
  <!-- SCHEMA_DEV: MATRIX - end -->
35
37
 
@@ -189,17 +191,18 @@ options in `env.options`
189
191
 
190
192
  ## History
191
193
 
192
- * 0.4.1 - Corrected spacing around dumped schema
193
- * 0.4.0 - Added support for Rails 5.2 and materialized views in PostgreSQL
194
- * 0.3.1 - Upgrade schema_plus_core and schema_dev dependencies
195
- * 0.3.0
194
+ * **1.0.0** - Add ruby 3 and AR 6.0, drop Ruy < 2.5
195
+ * **0.4.1** - Corrected spacing around dumped schema
196
+ * **0.4.0** - Added support for Rails 5.2 and materialized views in PostgreSQL
197
+ * **0.3.1** - Upgrade schema_plus_core and schema_dev dependencies
198
+ * **0.3.0**
196
199
  - Added middleware stacks
197
200
  - Bug fix: view_definition: strip white space from result (postgresql)
198
- * 0.2.3 - Remove unnecessary escaping in dump; use single-quote heredoc
199
- * 0.2.2 - Prettier dumps: use heredoc for definition string
200
- * 0.2.1 - Fix db:rollback
201
- * 0.2.0 - Added :allow_replace option (thanks to [@hcarver](https://github.com/hcarver))
202
- * 0.1.0 - Initial release, extracted from schema_plus 1.x
201
+ * **0.2.3** - Remove unnecessary escaping in dump; use single-quote heredoc
202
+ * **0.2.2** - Prettier dumps: use heredoc for definition string
203
+ * **0.2.1** - Fix db:rollback
204
+ * **0.2.0** - Added :allow_replace option (thanks to [@hcarver](https://github.com/hcarver))
205
+ * **0.1.0** - Initial release, extracted from schema_plus 1.x
203
206
 
204
207
  ## Development & Testing
205
208
 
@@ -212,7 +215,7 @@ Some things to know about to help you develop and test:
212
215
  * **schema_dev**: SchemaPlus::Views uses [schema_dev](https://github.com/SchemaPlus/schema_dev) to
213
216
  facilitate running rspec tests on the matrix of ruby, activerecord, and database
214
217
  versions that the gem supports, both locally and on
215
- [travis-ci](http://travis-ci.org/SchemaPlus/schema_plus_views)
218
+ [github actions](https://github.com/SchemaPlus/schema_plus_views/actions)
216
219
 
217
220
  To to run rspec locally on the full matrix, do:
218
221
 
@@ -224,7 +227,6 @@ Some things to know about to help you develop and test:
224
227
  The matrix of configurations is specified in `schema_dev.yml` in
225
228
  the project root.
226
229
 
227
-
228
230
  <!-- SCHEMA_DEV: TEMPLATE USES SCHEMA_DEV - end -->
229
231
 
230
232
  <!-- SCHEMA_DEV: TEMPLATE USES SCHEMA_PLUS_CORE - begin -->
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bundler'
2
4
  Bundler::GemHelper.install_tasks
3
5
 
@@ -0,0 +1,4 @@
1
+ base_gemfile = File.expand_path('../../Gemfile.base', __FILE__)
2
+ eval File.read(base_gemfile)
3
+
4
+ gem "activerecord", ">= 6.0", "< 6.1"
@@ -0,0 +1,10 @@
1
+ base_gemfile = File.expand_path('../Gemfile.base', __FILE__)
2
+ eval File.read(base_gemfile), binding, base_gemfile
3
+
4
+ platform :ruby do
5
+ gem "mysql2"
6
+ end
7
+
8
+ platform :jruby do
9
+ gem 'activerecord-jdbcmysql-adapter'
10
+ end
@@ -0,0 +1,10 @@
1
+ base_gemfile = File.expand_path('../Gemfile.base', __FILE__)
2
+ eval File.read(base_gemfile), binding, base_gemfile
3
+
4
+ platform :ruby do
5
+ gem "pg"
6
+ end
7
+
8
+ platform :jruby do
9
+ gem 'activerecord-jdbcpostgresql-adapter'
10
+ end
@@ -0,0 +1,10 @@
1
+ base_gemfile = File.expand_path('../Gemfile.base', __FILE__)
2
+ eval File.read(base_gemfile), binding, base_gemfile
3
+
4
+ platform :ruby do
5
+ gem "sqlite3"
6
+ end
7
+
8
+ platform :jruby do
9
+ gem 'activerecord-jdbcsqlite3-adapter', '>=1.3.0.beta2'
10
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SchemaPlus::Views
2
4
  module ActiveRecord
3
5
  module ConnectionAdapters
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SchemaPlus::Views
2
4
  module ActiveRecord
3
5
  module ConnectionAdapters
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SchemaPlus::Views
2
4
  module ActiveRecord
3
5
  module ConnectionAdapters
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SchemaPlus::Views
2
4
  module ActiveRecord
3
5
  module ConnectionAdapters
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SchemaPlus::Views
2
4
  module ActiveRecord
3
5
  module Migration
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SchemaPlus::Views
2
4
  module Middleware
3
5
 
@@ -21,7 +23,7 @@ module SchemaPlus::Views
21
23
  end
22
24
  end
23
25
 
24
- view = View.new(
26
+ view = ::SchemaPlus::Views::SchemaDump::View.new(
25
27
  name: view_name,
26
28
  definition: definition,
27
29
  view_type: view_type,
@@ -47,26 +49,6 @@ module SchemaPlus::Views
47
49
 
48
50
  options
49
51
  end
50
-
51
- # quacks like a SchemaMonkey Dump::Table
52
- class View < KeyStruct[:name, :definition, :view_type, :indexes]
53
- def assemble(stream)
54
- extra_options = ", materialized: true" if view_type == :materialized
55
- heredelim = "END_VIEW_#{name.upcase}"
56
- stream.puts <<~ENDVIEW
57
- create_view "#{name}", <<-'#{heredelim}', :force => true#{extra_options}
58
- #{definition}
59
- #{heredelim}
60
- ENDVIEW
61
-
62
- indexes.each do |index|
63
- stream.write "add_index \"#{name}\", "
64
- index.assemble(stream)
65
- stream.puts ""
66
- end
67
- stream.puts ""
68
- end
69
- end
70
52
  end
71
53
  end
72
54
 
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SchemaPlus
4
+ module Views
5
+ class SchemaDump
6
+ # quacks like a SchemaMonkey Dump::Table
7
+ class View < Struct.new(:name, :definition, :view_type, :indexes, keyword_init: true)
8
+ def assemble(stream)
9
+ extra_options = ", materialized: true" if view_type == :materialized
10
+ heredelim = "END_VIEW_#{name.upcase}"
11
+ stream.puts <<~ENDVIEW
12
+ create_view "#{name}", <<-'#{heredelim}', :force => true#{extra_options}
13
+ #{definition}
14
+ #{heredelim}
15
+ ENDVIEW
16
+ stream.puts
17
+
18
+ indexes.each do |index|
19
+ stream.write " add_index \"#{name}\", "
20
+ index.assemble(stream)
21
+ stream.puts ""
22
+ end
23
+ stream.puts ""
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SchemaPlus
2
4
  module Views
3
- VERSION = "0.4.1"
5
+ VERSION = '1.0.0'
4
6
  end
5
7
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'schema_plus/core'
2
4
 
3
5
  module SchemaPlus
@@ -9,6 +11,7 @@ require_relative 'views/version'
9
11
  require_relative 'views/active_record/connection_adapters/abstract_adapter'
10
12
  require_relative 'views/active_record/migration/command_recorder'
11
13
  require_relative 'views/middleware'
14
+ require_relative 'views/schema_dump'
12
15
 
13
16
  module SchemaPlus::Views
14
17
  module ActiveRecord
@@ -1 +1,3 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'schema_plus/views'
data/schema_dev.yml CHANGED
@@ -1,8 +1,10 @@
1
1
  ruby:
2
- - 2.5.9
3
- - 2.7.3
2
+ - 2.5
3
+ - 2.7
4
+ - 3.0
4
5
  activerecord:
5
6
  - 5.2
7
+ - 6.0
6
8
  db:
7
9
  - mysql2
8
10
  - sqlite3
@@ -1,4 +1,5 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  lib = File.expand_path('../lib', __FILE__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
5
  require 'schema_plus/views/version'
@@ -17,13 +18,13 @@ Gem::Specification.new do |gem|
17
18
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
19
  gem.require_paths = ["lib"]
19
20
 
20
- gem.add_dependency "activerecord", "~> 5.2"
21
- gem.add_dependency "schema_plus_core"
21
+ gem.required_ruby_version = '>= 2.5'
22
+
23
+ gem.add_dependency "activerecord", '>= 5.2', '< 6.1'
24
+ gem.add_dependency "schema_plus_core", '~> 3.0'
22
25
 
23
26
  gem.add_development_dependency "bundler"
24
- gem.add_development_dependency "rake", "~> 10.0"
25
- gem.add_development_dependency "rspec", "~> 3.0"
26
- gem.add_development_dependency "schema_dev", "~> 3.13.1"
27
- gem.add_development_dependency "simplecov"
28
- gem.add_development_dependency "simplecov-gem-profile"
27
+ gem.add_development_dependency "rake", '~> 13.0'
28
+ gem.add_development_dependency "rspec", '~> 3.0'
29
+ gem.add_development_dependency "schema_dev", '~> 4.1'
29
30
  end
data/spec/dumper_spec.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  class Item < ActiveRecord::Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  class Item < ActiveRecord::Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  module TestMiddleware
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  class Item < ActiveRecord::Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe "with multiple schemas" do
data/spec/sanity_spec.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
 
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'simplecov'
2
- require 'simplecov-gem-profile'
3
- SimpleCov.start "gem"
4
+ SimpleCov.start
4
5
 
5
6
  $LOAD_PATH.unshift(File.dirname(__FILE__))
6
7
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
metadata CHANGED
@@ -1,43 +1,49 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: schema_plus_views
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ronen barzel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-14 00:00:00.000000000 Z
11
+ date: 2022-05-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '5.2'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '6.1'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: '5.2'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '6.1'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: schema_plus_core
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
- - - ">="
37
+ - - "~>"
32
38
  - !ruby/object:Gem::Version
33
- version: '0'
39
+ version: '3.0'
34
40
  type: :runtime
35
41
  prerelease: false
36
42
  version_requirements: !ruby/object:Gem::Requirement
37
43
  requirements:
38
- - - ">="
44
+ - - "~>"
39
45
  - !ruby/object:Gem::Version
40
- version: '0'
46
+ version: '3.0'
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: bundler
43
49
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +64,14 @@ dependencies:
58
64
  requirements:
59
65
  - - "~>"
60
66
  - !ruby/object:Gem::Version
61
- version: '10.0'
67
+ version: '13.0'
62
68
  type: :development
63
69
  prerelease: false
64
70
  version_requirements: !ruby/object:Gem::Requirement
65
71
  requirements:
66
72
  - - "~>"
67
73
  - !ruby/object:Gem::Version
68
- version: '10.0'
74
+ version: '13.0'
69
75
  - !ruby/object:Gem::Dependency
70
76
  name: rspec
71
77
  requirement: !ruby/object:Gem::Requirement
@@ -86,42 +92,14 @@ dependencies:
86
92
  requirements:
87
93
  - - "~>"
88
94
  - !ruby/object:Gem::Version
89
- version: 3.13.1
95
+ version: '4.1'
90
96
  type: :development
91
97
  prerelease: false
92
98
  version_requirements: !ruby/object:Gem::Requirement
93
99
  requirements:
94
100
  - - "~>"
95
101
  - !ruby/object:Gem::Version
96
- version: 3.13.1
97
- - !ruby/object:Gem::Dependency
98
- name: simplecov
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: simplecov-gem-profile
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
102
+ version: '4.1'
125
103
  description:
126
104
  email:
127
105
  - ronen@barzel.org
@@ -129,8 +107,9 @@ executables: []
129
107
  extensions: []
130
108
  extra_rdoc_files: []
131
109
  files:
110
+ - ".github/workflows/prs.yml"
132
111
  - ".gitignore"
133
- - ".travis.yml"
112
+ - ".simplecov"
134
113
  - Gemfile
135
114
  - LICENSE.txt
136
115
  - README.md
@@ -140,6 +119,10 @@ files:
140
119
  - gemfiles/activerecord-5.2/Gemfile.mysql2
141
120
  - gemfiles/activerecord-5.2/Gemfile.postgresql
142
121
  - gemfiles/activerecord-5.2/Gemfile.sqlite3
122
+ - gemfiles/activerecord-6.0/Gemfile.base
123
+ - gemfiles/activerecord-6.0/Gemfile.mysql2
124
+ - gemfiles/activerecord-6.0/Gemfile.postgresql
125
+ - gemfiles/activerecord-6.0/Gemfile.sqlite3
143
126
  - lib/schema_plus/views.rb
144
127
  - lib/schema_plus/views/active_record/connection_adapters/abstract_adapter.rb
145
128
  - lib/schema_plus/views/active_record/connection_adapters/mysql2_adapter.rb
@@ -147,6 +130,7 @@ files:
147
130
  - lib/schema_plus/views/active_record/connection_adapters/sqlite3_adapter.rb
148
131
  - lib/schema_plus/views/active_record/migration/command_recorder.rb
149
132
  - lib/schema_plus/views/middleware.rb
133
+ - lib/schema_plus/views/schema_dump.rb
150
134
  - lib/schema_plus/views/version.rb
151
135
  - lib/schema_plus_views.rb
152
136
  - schema_dev.yml
@@ -170,7 +154,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
170
154
  requirements:
171
155
  - - ">="
172
156
  - !ruby/object:Gem::Version
173
- version: '0'
157
+ version: '2.5'
174
158
  required_rubygems_version: !ruby/object:Gem::Requirement
175
159
  requirements:
176
160
  - - ">="
data/.travis.yml DELETED
@@ -1,89 +0,0 @@
1
- # This file was auto-generated by the schema_dev tool, based on the data in
2
- # ./schema_dev.yml
3
- # Please do not edit this file; any changes will be overwritten next time
4
- # schema_dev gets run.
5
- ---
6
- rvm:
7
- - 2.5.9
8
- - 2.7.3
9
- gemfile:
10
- - gemfiles/activerecord-5.2/Gemfile.sqlite3
11
- before_script: bundle exec rake create_databases
12
- after_script: bundle exec rake drop_databases
13
- script: bundle exec rake travis
14
- jobs:
15
- include:
16
- - gemfile: gemfiles/activerecord-5.2/Gemfile.mysql2
17
- rvm: 2.5.9
18
- services:
19
- - mysql
20
- env: MYSQL_DB_USER=travis
21
- - gemfile: gemfiles/activerecord-5.2/Gemfile.postgresql
22
- rvm: 2.5.9
23
- addons:
24
- postgresql: '10'
25
- apt:
26
- packages:
27
- - postgresql-10
28
- - postgresql-client-10
29
- env: POSTGRESQL_DB_USER=postgres
30
- - gemfile: gemfiles/activerecord-5.2/Gemfile.postgresql
31
- rvm: 2.5.9
32
- addons:
33
- postgresql: '11'
34
- apt:
35
- packages:
36
- - postgresql-11
37
- - postgresql-client-11
38
- env: POSTGRESQL_DB_USER=travis PGPORT=5433
39
- - gemfile: gemfiles/activerecord-5.2/Gemfile.postgresql
40
- rvm: 2.5.9
41
- addons:
42
- postgresql: '12'
43
- apt:
44
- packages:
45
- - postgresql-12
46
- - postgresql-client-12
47
- env: POSTGRESQL_DB_USER=travis PGPORT=5433
48
- - gemfile: gemfiles/activerecord-5.2/Gemfile.postgresql
49
- rvm: 2.5.9
50
- addons:
51
- postgresql: '9.6'
52
- env: POSTGRESQL_DB_USER=postgres
53
- - gemfile: gemfiles/activerecord-5.2/Gemfile.mysql2
54
- rvm: 2.7.3
55
- services:
56
- - mysql
57
- env: MYSQL_DB_USER=travis
58
- - gemfile: gemfiles/activerecord-5.2/Gemfile.postgresql
59
- rvm: 2.7.3
60
- addons:
61
- postgresql: '11'
62
- apt:
63
- packages:
64
- - postgresql-11
65
- - postgresql-client-11
66
- env: POSTGRESQL_DB_USER=travis PGPORT=5433
67
- - gemfile: gemfiles/activerecord-5.2/Gemfile.postgresql
68
- rvm: 2.7.3
69
- addons:
70
- postgresql: '12'
71
- apt:
72
- packages:
73
- - postgresql-12
74
- - postgresql-client-12
75
- env: POSTGRESQL_DB_USER=travis PGPORT=5433
76
- - gemfile: gemfiles/activerecord-5.2/Gemfile.postgresql
77
- rvm: 2.7.3
78
- addons:
79
- postgresql: '10'
80
- apt:
81
- packages:
82
- - postgresql-10
83
- - postgresql-client-10
84
- env: POSTGRESQL_DB_USER=postgres
85
- - gemfile: gemfiles/activerecord-5.2/Gemfile.postgresql
86
- rvm: 2.7.3
87
- addons:
88
- postgresql: '9.6'
89
- env: POSTGRESQL_DB_USER=postgres