scenic 0.3.0 → 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 +4 -4
- data/.travis.yml +6 -4
- data/.yardopts +5 -0
- data/CONTRIBUTING.md +25 -0
- data/LICENSE.txt +1 -1
- data/NEWS.md +61 -9
- data/README.md +98 -62
- data/Rakefile +5 -0
- data/bin/setup +7 -0
- data/lib/generators/scenic/generators.rb +11 -0
- data/lib/generators/scenic/materializable.rb +22 -0
- data/lib/generators/scenic/model/USAGE +2 -0
- data/lib/generators/scenic/model/model_generator.rb +31 -4
- data/lib/generators/scenic/model/templates/model.erb +3 -2
- data/lib/generators/scenic/view/USAGE +2 -0
- data/lib/generators/scenic/view/templates/db/migrate/create_view.erb +1 -1
- data/lib/generators/scenic/view/templates/db/migrate/update_view.erb +7 -0
- data/lib/generators/scenic/view/view_generator.rb +5 -2
- data/lib/scenic.rb +13 -2
- data/lib/scenic/adapters/postgres.rb +74 -7
- data/lib/scenic/command_recorder.rb +1 -0
- data/lib/scenic/command_recorder/statement_arguments.rb +1 -0
- data/lib/scenic/configuration.rb +37 -0
- data/lib/scenic/definition.rb +2 -1
- data/lib/scenic/railtie.rb +4 -0
- data/lib/scenic/schema_dumper.rb +3 -6
- data/lib/scenic/statements.rb +61 -41
- data/lib/scenic/version.rb +1 -1
- data/lib/scenic/view.rb +41 -9
- data/scenic.gemspec +2 -2
- data/spec/dummy/db/views/.keep +0 -0
- data/spec/generators/scenic/model/model_generator_spec.rb +11 -0
- data/spec/generators/scenic/view/view_generator_spec.rb +13 -0
- data/spec/scenic/adapters/postgres_spec.rb +57 -14
- data/spec/scenic/configuration_spec.rb +27 -0
- data/spec/scenic/statements_spec.rb +33 -2
- data/spec/smoke +92 -67
- data/spec/support/generator_spec_setup.rb +1 -0
- metadata +19 -10
data/scenic.gemspec
CHANGED
@@ -23,10 +23,10 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.add_development_dependency 'bundler', '>= 1.5'
|
24
24
|
spec.add_development_dependency 'database_cleaner'
|
25
25
|
spec.add_development_dependency 'rake'
|
26
|
-
spec.add_development_dependency 'rspec', '
|
26
|
+
spec.add_development_dependency 'rspec', '>= 3.3'
|
27
27
|
spec.add_development_dependency 'pg'
|
28
28
|
spec.add_development_dependency 'pry'
|
29
|
-
spec.add_development_dependency 'ammeter'
|
29
|
+
spec.add_development_dependency 'ammeter', '>= 1.1.3'
|
30
30
|
|
31
31
|
spec.add_dependency 'activerecord', '>= 4.0.0'
|
32
32
|
spec.add_dependency 'railties', '>= 4.0.0'
|
File without changes
|
@@ -20,6 +20,17 @@ module Scenic::Generators
|
|
20
20
|
run_generator ["current_customer"]
|
21
21
|
model_definition = file("app/models/current_customer.rb")
|
22
22
|
expect(model_definition).to exist
|
23
|
+
expect(model_definition).to have_correct_syntax
|
24
|
+
expect(model_definition).not_to contain("self.refresh")
|
25
|
+
expect(model_definition).to have_correct_syntax
|
26
|
+
end
|
27
|
+
|
28
|
+
it "adds a refresh method to materialized models" do
|
29
|
+
run_generator ["active_user", "--materialized"]
|
30
|
+
model_definition = file("app/models/active_user.rb")
|
31
|
+
|
32
|
+
expect(model_definition).to contain("self.refresh")
|
33
|
+
expect(model_definition).to have_correct_syntax
|
23
34
|
end
|
24
35
|
end
|
25
36
|
end
|
@@ -16,6 +16,7 @@ describe Scenic::Generators::ViewGenerator, :generator do
|
|
16
16
|
with_view_definition("searches", 1, "hello") do
|
17
17
|
migration = file("db/migrate/update_searches_to_version_2.rb")
|
18
18
|
view_definition = file("db/views/searches_v02.sql")
|
19
|
+
allow(Dir).to receive(:entries).and_return(["searches_v01.sql"])
|
19
20
|
|
20
21
|
run_generator ["search"]
|
21
22
|
|
@@ -23,4 +24,16 @@ describe Scenic::Generators::ViewGenerator, :generator do
|
|
23
24
|
expect(view_definition).to exist
|
24
25
|
end
|
25
26
|
end
|
27
|
+
|
28
|
+
it "adds 'materialized: true' to the migration if view is materialized" do
|
29
|
+
with_view_definition("aired_episodes", 1, "hello") do
|
30
|
+
allow(Dir).to receive(:entries).and_return(["aired_episodes_v01.sql"])
|
31
|
+
|
32
|
+
run_generator ["aired_episode", "--materialized"]
|
33
|
+
migration = migration_file(
|
34
|
+
"db/migrate/update_aired_episodes_to_version_2.rb"
|
35
|
+
)
|
36
|
+
expect(migration).to contain "materialized: true"
|
37
|
+
end
|
38
|
+
end
|
26
39
|
end
|
@@ -5,34 +5,77 @@ module Scenic
|
|
5
5
|
describe Postgres, :db do
|
6
6
|
describe "create_view" do
|
7
7
|
it "successfully creates a view" do
|
8
|
-
Postgres.
|
8
|
+
adapter = Postgres.new
|
9
9
|
|
10
|
-
|
10
|
+
adapter.create_view("greetings", "SELECT text 'hi' AS greeting")
|
11
|
+
|
12
|
+
expect(adapter.views.map(&:name)).to include("greetings")
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe "create_materialized_view" do
|
17
|
+
it "successfully creates a materialized view" do
|
18
|
+
adapter = Postgres.new
|
19
|
+
|
20
|
+
adapter.create_materialized_view(
|
21
|
+
"greetings",
|
22
|
+
"SELECT text 'hi' AS greeting",
|
23
|
+
)
|
24
|
+
|
25
|
+
view = adapter.views.first
|
26
|
+
expect(view.name).to eq("greetings")
|
27
|
+
expect(view.materialized).to eq true
|
11
28
|
end
|
12
29
|
end
|
13
30
|
|
14
31
|
describe "drop_view" do
|
15
32
|
it "successfully drops a view" do
|
16
|
-
Postgres.
|
33
|
+
adapter = Postgres.new
|
17
34
|
|
18
|
-
|
35
|
+
adapter.create_view("greetings", "SELECT text 'hi' AS greeting")
|
36
|
+
adapter.drop_view("greetings")
|
19
37
|
|
20
|
-
expect(
|
38
|
+
expect(adapter.views.map(&:name)).not_to include("greetings")
|
21
39
|
end
|
22
40
|
end
|
23
41
|
|
24
|
-
describe "
|
25
|
-
it "
|
26
|
-
|
42
|
+
describe "drop_materialized_view" do
|
43
|
+
it "successfully drops a materialized view" do
|
44
|
+
adapter = Postgres.new
|
27
45
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
46
|
+
adapter.create_materialized_view(
|
47
|
+
"greetings",
|
48
|
+
"SELECT text 'hi' AS greeting",
|
49
|
+
)
|
50
|
+
adapter.drop_materialized_view("greetings")
|
51
|
+
|
52
|
+
expect(adapter.views.map(&:name)).not_to include("greetings")
|
34
53
|
end
|
35
54
|
end
|
55
|
+
|
56
|
+
it "finds views and builds Scenic::View objects" do
|
57
|
+
adapter = Postgres.new
|
58
|
+
|
59
|
+
ActiveRecord::Base.connection.execute(
|
60
|
+
"CREATE VIEW greetings AS SELECT text 'hi' AS greeting"
|
61
|
+
)
|
62
|
+
ActiveRecord::Base.connection.execute(
|
63
|
+
"CREATE MATERIALIZED VIEW farewells AS SELECT text 'bye' AS farewell"
|
64
|
+
)
|
65
|
+
|
66
|
+
expect(adapter.views).to eq([
|
67
|
+
Scenic::View.new(
|
68
|
+
name: "farewells",
|
69
|
+
definition: "SELECT 'bye'::text AS farewell;",
|
70
|
+
materialized: true,
|
71
|
+
),
|
72
|
+
Scenic::View.new(
|
73
|
+
name: "greetings",
|
74
|
+
definition: "SELECT 'hi'::text AS greeting;",
|
75
|
+
materialized: false,
|
76
|
+
),
|
77
|
+
])
|
78
|
+
end
|
36
79
|
end
|
37
80
|
end
|
38
81
|
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
module Scenic
|
4
|
+
describe Configuration do
|
5
|
+
after { restore_default_config }
|
6
|
+
|
7
|
+
it "defaults the database adapter to postgres" do
|
8
|
+
expect(Scenic.configuration.database).to be_a Adapters::Postgres
|
9
|
+
expect(Scenic.database).to be_a Adapters::Postgres
|
10
|
+
end
|
11
|
+
|
12
|
+
it "allows the database adapter to be set" do
|
13
|
+
adapter = double("Scenic Adapter")
|
14
|
+
|
15
|
+
Scenic.configure do |config|
|
16
|
+
config.database = adapter
|
17
|
+
end
|
18
|
+
|
19
|
+
expect(Scenic.configuration.database).to eq adapter
|
20
|
+
expect(Scenic.database).to eq adapter
|
21
|
+
end
|
22
|
+
|
23
|
+
def restore_default_config
|
24
|
+
Scenic.configuration = Configuration.new
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -3,8 +3,8 @@ require "spec_helper"
|
|
3
3
|
module Scenic
|
4
4
|
describe Scenic::Statements do
|
5
5
|
before do
|
6
|
-
|
7
|
-
|
6
|
+
adapter = instance_double("Scenic::Adapaters::Postgres").as_null_object
|
7
|
+
allow(Scenic).to receive(:database).and_return(adapter)
|
8
8
|
end
|
9
9
|
|
10
10
|
describe "create_view" do
|
@@ -37,6 +37,17 @@ module Scenic
|
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
40
|
+
describe "create_view :materialized" do
|
41
|
+
it "sends the create_materialized_view message" do
|
42
|
+
allow(Definition).to receive(:new)
|
43
|
+
.and_return(instance_double("Scenic::Definition").as_null_object)
|
44
|
+
|
45
|
+
connection.create_view(:views, version: 1, materialized: true)
|
46
|
+
|
47
|
+
expect(Scenic.database).to have_received(:create_materialized_view)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
40
51
|
describe "drop_view" do
|
41
52
|
it "removes a view from the database" do
|
42
53
|
connection.drop_view :name
|
@@ -45,6 +56,14 @@ module Scenic
|
|
45
56
|
end
|
46
57
|
end
|
47
58
|
|
59
|
+
describe "drop_view :materialized" do
|
60
|
+
it "removes a materialized view from the database" do
|
61
|
+
connection.drop_view :name, materialized: true
|
62
|
+
|
63
|
+
expect(Scenic.database).to have_received(:drop_materialized_view)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
48
67
|
describe "update_view" do
|
49
68
|
it "drops the existing version and creates the new" do
|
50
69
|
definition = instance_double("Definition", to_sql: "definition")
|
@@ -65,6 +84,18 @@ module Scenic
|
|
65
84
|
end
|
66
85
|
end
|
67
86
|
|
87
|
+
describe "update_view :materialized" do
|
88
|
+
it "raises an error because this is not supported" do
|
89
|
+
definition = instance_double("Definition").as_null_object
|
90
|
+
allow(Definition).to receive(:new).and_return(definition)
|
91
|
+
|
92
|
+
expect { connection.update_view(:name, version: 3, materialized: true) }.
|
93
|
+
to raise_error(/not supported/)
|
94
|
+
expect(Scenic.database).not_to have_received(:drop_materialized_view)
|
95
|
+
expect(Scenic.database).not_to have_received(:create_materialized_view)
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
68
99
|
def connection
|
69
100
|
Class.new { extend Statements }
|
70
101
|
end
|
data/spec/smoke
CHANGED
@@ -3,87 +3,112 @@
|
|
3
3
|
set -euo pipefail
|
4
4
|
|
5
5
|
setup() {
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
6
|
+
cd spec/dummy
|
7
|
+
git init
|
8
|
+
git add -A
|
9
|
+
git commit --no-gpg-sign --message "initial"
|
10
10
|
}
|
11
11
|
|
12
12
|
teardown() {
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
13
|
+
git add -A
|
14
|
+
git reset --hard HEAD
|
15
|
+
rm -rf .git/
|
16
|
+
rake db:drop db:create
|
17
17
|
}
|
18
18
|
|
19
19
|
trap teardown EXIT
|
20
20
|
|
21
21
|
verifySearchResults() {
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
22
|
+
echo "verify search results"
|
23
|
+
local expectedResult=$1
|
24
|
+
local actualResult=$(rails runner "puts Search.first.results")
|
25
|
+
[[ "$actualResult" == "$expectedResult" ]] || exit 1
|
26
|
+
echo "[success]"
|
27
27
|
}
|
28
28
|
|
29
29
|
writeToFileAndMigrateAndVerifySearchResults() {
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
30
|
+
echo "write search definition and migrate"
|
31
|
+
local version=$1
|
32
|
+
local expectedResult=$2
|
33
|
+
local filePath=db/views/searches_v$version\.sql
|
34
|
+
cp /dev/null $filePath
|
35
|
+
echo "SELECT '$expectedResult'::text AS results" >> $filePath
|
36
|
+
rake db:migrate
|
37
|
+
echo "[success]"
|
38
|
+
verifySearchResults $expectedResult
|
39
39
|
}
|
40
40
|
|
41
41
|
main() {
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
42
|
+
setup
|
43
|
+
echo "rails generate scenic:model search"
|
44
|
+
rails generate scenic:model search
|
45
|
+
[[ -f db/views/searches_v01.sql ]] || exit 1
|
46
|
+
[[ -f app/models/search.rb ]] || exit 1
|
47
|
+
[[ -n "$(find db/migrate -maxdepth 1 -name "*create_searches.rb" -print -quit)" ]] || exit 1
|
48
|
+
echo "[success]"
|
49
|
+
|
50
|
+
writeToFileAndMigrateAndVerifySearchResults "01" "search-results"
|
51
|
+
|
52
|
+
echo "rails generate scenic:view search (to get updates search view)"
|
53
|
+
rails generate scenic:view search
|
54
|
+
[[ -f db/views/searches_v02.sql ]] || exit 1
|
55
|
+
cmp db/views/searches_v01.sql db/views/searches_v02.sql || exit 1
|
56
|
+
[[ -n "$(find db/migrate -maxdepth 1 -name "*update_searches_to_version_2.rb" -print -quit)" ]] || exit 1
|
57
|
+
echo "[success]"
|
58
|
+
|
59
|
+
writeToFileAndMigrateAndVerifySearchResults "02" "different-results"
|
60
|
+
|
61
|
+
echo "rake db:rollback"
|
62
|
+
rake db:rollback
|
63
|
+
echo "[success]"
|
64
|
+
|
65
|
+
verifySearchResults "search-results"
|
66
|
+
|
67
|
+
echo "rails destroy scenic:view search"
|
68
|
+
rails destroy scenic:view search
|
69
|
+
[[ ! -f db/views/searches_v02.sql ]] || exit 1
|
70
|
+
[[ -z "$(find db/migrate -maxdepth 1 -name "*update_searches_to_version_2.rb" -print -quit)" ]] || exit 1
|
71
|
+
[[ -f db/views/searches_v01.sql ]] || exit 1
|
72
|
+
[[ -f app/models/search.rb ]] || exit 1
|
73
|
+
[[ -n "$(find db/migrate -maxdepth 1 -name "*create_searches.rb" -print -quit)" ]] || exit 1
|
74
|
+
echo "[success]"
|
75
|
+
|
76
|
+
echo "rake db:rollback"
|
77
|
+
rake db:rollback
|
78
|
+
echo "[success]"
|
79
|
+
|
80
|
+
echo "rails destroy scenic:view search"
|
81
|
+
rails destroy scenic:model search
|
82
|
+
[[ ! -f db/views/searches_v01.sql ]] || exit 1
|
83
|
+
[[ ! -f app/models/search.rb ]] || exit 1
|
84
|
+
[[ -z "$(find db/migrate -maxdepth 1 -name "*create_searches.rb" -print -quit)" ]] || exit 1
|
85
|
+
echo "[success]"
|
86
|
+
|
87
|
+
echo "rails generate scenic:model search (materialized)"
|
88
|
+
rails generate scenic:model search --materialized
|
89
|
+
[[ -f db/views/searches_v01.sql ]] || exit 1
|
90
|
+
[[ -f app/models/search.rb ]] || exit 1
|
91
|
+
[[ -n "$(find db/migrate -maxdepth 1 -name "*create_searches.rb" -print -quit)" ]] || exit 1
|
92
|
+
echo "[success]"
|
93
|
+
|
94
|
+
writeToFileAndMigrateAndVerifySearchResults "01" "search-results"
|
95
|
+
|
96
|
+
echo "refresh materialized view"
|
97
|
+
rails runner "Search.refresh" || exit 1
|
98
|
+
echo "[success]"
|
99
|
+
|
100
|
+
echo "rake db:rollback"
|
101
|
+
rake db:rollback
|
102
|
+
echo "[success]"
|
103
|
+
|
104
|
+
echo "rails destroy scenic:view search --materialized"
|
105
|
+
rails destroy scenic:model search --materialized
|
106
|
+
[[ ! -f app/models/search.rb ]] || exit 1
|
107
|
+
[[ ! -f db/views/searches_v01.sql ]] || exit 1
|
108
|
+
[[ -z "$(find db/migrate -maxdepth 1 -name "*create_searches.rb" -print -quit)" ]] || exit 1
|
109
|
+
echo "[success]"
|
110
|
+
|
111
|
+
echo "[done]"
|
87
112
|
}
|
88
113
|
|
89
114
|
main $*
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scenic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Derek Prior
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-12-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -57,16 +57,16 @@ dependencies:
|
|
57
57
|
name: rspec
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
|
-
- - "
|
60
|
+
- - ">="
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version: '3.
|
62
|
+
version: '3.3'
|
63
63
|
type: :development
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
|
-
- - "
|
67
|
+
- - ">="
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version: '3.
|
69
|
+
version: '3.3'
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: pg
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|
@@ -101,14 +101,14 @@ dependencies:
|
|
101
101
|
requirements:
|
102
102
|
- - ">="
|
103
103
|
- !ruby/object:Gem::Version
|
104
|
-
version:
|
104
|
+
version: 1.1.3
|
105
105
|
type: :development
|
106
106
|
prerelease: false
|
107
107
|
version_requirements: !ruby/object:Gem::Requirement
|
108
108
|
requirements:
|
109
109
|
- - ">="
|
110
110
|
- !ruby/object:Gem::Version
|
111
|
-
version:
|
111
|
+
version: 1.1.3
|
112
112
|
- !ruby/object:Gem::Dependency
|
113
113
|
name: activerecord
|
114
114
|
requirement: !ruby/object:Gem::Requirement
|
@@ -150,11 +150,16 @@ files:
|
|
150
150
|
- ".gitignore"
|
151
151
|
- ".hound.yml"
|
152
152
|
- ".travis.yml"
|
153
|
+
- ".yardopts"
|
154
|
+
- CONTRIBUTING.md
|
153
155
|
- Gemfile
|
154
156
|
- LICENSE.txt
|
155
157
|
- NEWS.md
|
156
158
|
- README.md
|
157
159
|
- Rakefile
|
160
|
+
- bin/setup
|
161
|
+
- lib/generators/scenic/generators.rb
|
162
|
+
- lib/generators/scenic/materializable.rb
|
158
163
|
- lib/generators/scenic/model/USAGE
|
159
164
|
- lib/generators/scenic/model/model_generator.rb
|
160
165
|
- lib/generators/scenic/model/templates/model.erb
|
@@ -166,6 +171,7 @@ files:
|
|
166
171
|
- lib/scenic/adapters/postgres.rb
|
167
172
|
- lib/scenic/command_recorder.rb
|
168
173
|
- lib/scenic/command_recorder/statement_arguments.rb
|
174
|
+
- lib/scenic/configuration.rb
|
169
175
|
- lib/scenic/definition.rb
|
170
176
|
- lib/scenic/railtie.rb
|
171
177
|
- lib/scenic/schema_dumper.rb
|
@@ -186,12 +192,14 @@ files:
|
|
186
192
|
- spec/dummy/config/environments/development.rb
|
187
193
|
- spec/dummy/config/environments/test.rb
|
188
194
|
- spec/dummy/db/migrate/.keep
|
195
|
+
- spec/dummy/db/views/.keep
|
189
196
|
- spec/generators/scenic/model/model_generator_spec.rb
|
190
197
|
- spec/generators/scenic/view/view_generator_spec.rb
|
191
198
|
- spec/integration/revert_spec.rb
|
192
199
|
- spec/scenic/adapters/postgres_spec.rb
|
193
200
|
- spec/scenic/command_recorder/statement_arguments_spec.rb
|
194
201
|
- spec/scenic/command_recorder_spec.rb
|
202
|
+
- spec/scenic/configuration_spec.rb
|
195
203
|
- spec/scenic/definition_spec.rb
|
196
204
|
- spec/scenic/schema_dumper_spec.rb
|
197
205
|
- spec/scenic/statements_spec.rb
|
@@ -219,7 +227,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
219
227
|
version: '0'
|
220
228
|
requirements: []
|
221
229
|
rubyforge_project:
|
222
|
-
rubygems_version: 2.4.
|
230
|
+
rubygems_version: 2.4.8
|
223
231
|
signing_key:
|
224
232
|
specification_version: 4
|
225
233
|
summary: Support for database views in Rails migrations
|
@@ -237,12 +245,14 @@ test_files:
|
|
237
245
|
- spec/dummy/config/environments/development.rb
|
238
246
|
- spec/dummy/config/environments/test.rb
|
239
247
|
- spec/dummy/db/migrate/.keep
|
248
|
+
- spec/dummy/db/views/.keep
|
240
249
|
- spec/generators/scenic/model/model_generator_spec.rb
|
241
250
|
- spec/generators/scenic/view/view_generator_spec.rb
|
242
251
|
- spec/integration/revert_spec.rb
|
243
252
|
- spec/scenic/adapters/postgres_spec.rb
|
244
253
|
- spec/scenic/command_recorder/statement_arguments_spec.rb
|
245
254
|
- spec/scenic/command_recorder_spec.rb
|
255
|
+
- spec/scenic/configuration_spec.rb
|
246
256
|
- spec/scenic/definition_spec.rb
|
247
257
|
- spec/scenic/schema_dumper_spec.rb
|
248
258
|
- spec/scenic/statements_spec.rb
|
@@ -250,4 +260,3 @@ test_files:
|
|
250
260
|
- spec/spec_helper.rb
|
251
261
|
- spec/support/generator_spec_setup.rb
|
252
262
|
- spec/support/view_definition_helpers.rb
|
253
|
-
has_rdoc:
|