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.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +6 -4
  3. data/.yardopts +5 -0
  4. data/CONTRIBUTING.md +25 -0
  5. data/LICENSE.txt +1 -1
  6. data/NEWS.md +61 -9
  7. data/README.md +98 -62
  8. data/Rakefile +5 -0
  9. data/bin/setup +7 -0
  10. data/lib/generators/scenic/generators.rb +11 -0
  11. data/lib/generators/scenic/materializable.rb +22 -0
  12. data/lib/generators/scenic/model/USAGE +2 -0
  13. data/lib/generators/scenic/model/model_generator.rb +31 -4
  14. data/lib/generators/scenic/model/templates/model.erb +3 -2
  15. data/lib/generators/scenic/view/USAGE +2 -0
  16. data/lib/generators/scenic/view/templates/db/migrate/create_view.erb +1 -1
  17. data/lib/generators/scenic/view/templates/db/migrate/update_view.erb +7 -0
  18. data/lib/generators/scenic/view/view_generator.rb +5 -2
  19. data/lib/scenic.rb +13 -2
  20. data/lib/scenic/adapters/postgres.rb +74 -7
  21. data/lib/scenic/command_recorder.rb +1 -0
  22. data/lib/scenic/command_recorder/statement_arguments.rb +1 -0
  23. data/lib/scenic/configuration.rb +37 -0
  24. data/lib/scenic/definition.rb +2 -1
  25. data/lib/scenic/railtie.rb +4 -0
  26. data/lib/scenic/schema_dumper.rb +3 -6
  27. data/lib/scenic/statements.rb +61 -41
  28. data/lib/scenic/version.rb +1 -1
  29. data/lib/scenic/view.rb +41 -9
  30. data/scenic.gemspec +2 -2
  31. data/spec/dummy/db/views/.keep +0 -0
  32. data/spec/generators/scenic/model/model_generator_spec.rb +11 -0
  33. data/spec/generators/scenic/view/view_generator_spec.rb +13 -0
  34. data/spec/scenic/adapters/postgres_spec.rb +57 -14
  35. data/spec/scenic/configuration_spec.rb +27 -0
  36. data/spec/scenic/statements_spec.rb +33 -2
  37. data/spec/smoke +92 -67
  38. data/spec/support/generator_spec_setup.rb +1 -0
  39. metadata +19 -10
@@ -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', '~> 3.0'
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.create_view("greetings", "SELECT text 'hi' AS greeting")
8
+ adapter = Postgres.new
9
9
 
10
- expect(Postgres.views.map(&:name)).to include("greetings")
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.create_view("greetings", "SELECT text 'hi' AS greeting")
33
+ adapter = Postgres.new
17
34
 
18
- Postgres.drop_view("greetings")
35
+ adapter.create_view("greetings", "SELECT text 'hi' AS greeting")
36
+ adapter.drop_view("greetings")
19
37
 
20
- expect(Postgres.views.map(&:name)).not_to include("greetings")
38
+ expect(adapter.views.map(&:name)).not_to include("greetings")
21
39
  end
22
40
  end
23
41
 
24
- describe "views" do
25
- it "finds views and builds Scenic::View objects" do
26
- ActiveRecord::Base.connection.execute "CREATE VIEW greetings AS SELECT text 'hi' AS greeting"
42
+ describe "drop_materialized_view" do
43
+ it "successfully drops a materialized view" do
44
+ adapter = Postgres.new
27
45
 
28
- expect(Postgres.views).to eq([
29
- View.new(
30
- "viewname" => "greetings",
31
- "definition" => "SELECT 'hi'::text AS greeting;",
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
- allow(Scenic).to receive(:database)
7
- .and_return(class_double("Scenic::Adapters::Postgres").as_null_object)
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
- cd spec/dummy
7
- git init
8
- git add -A
9
- git commit --no-gpg-sign --message "initial"
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
- git add -A
14
- git reset --hard HEAD
15
- rm -rf .git/
16
- rake db:drop db:create
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
- 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]"
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
- 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
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
- 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
- echo "[done]"
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 $*
@@ -1,3 +1,4 @@
1
+ require "rspec/rails"
1
2
  require "ammeter/rspec/generator/example.rb"
2
3
  require "ammeter/rspec/generator/matchers.rb"
3
4
  require "ammeter/init"
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.3.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-01-23 00:00:00.000000000 Z
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.0'
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.0'
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: '0'
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: '0'
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.5
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: