scenic-jets 1.5.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/ci.yml +78 -0
  3. data/.gitignore +19 -0
  4. data/.hound.yml +2 -0
  5. data/.rubocop.yml +129 -0
  6. data/.yardopts +4 -0
  7. data/CHANGELOG.md +223 -0
  8. data/CODE_OF_CONDUCT.md +76 -0
  9. data/CONTRIBUTING.md +24 -0
  10. data/Gemfile +16 -0
  11. data/LICENSE.txt +22 -0
  12. data/README.md +5 -0
  13. data/Rakefile +29 -0
  14. data/SECURITY.md +14 -0
  15. data/bin/rake +17 -0
  16. data/bin/rspec +17 -0
  17. data/bin/setup +18 -0
  18. data/bin/yard +16 -0
  19. data/lib/generators/scenic/generators.rb +12 -0
  20. data/lib/generators/scenic/materializable.rb +31 -0
  21. data/lib/generators/scenic/model/USAGE +12 -0
  22. data/lib/generators/scenic/model/model_generator.rb +52 -0
  23. data/lib/generators/scenic/model/templates/model.erb +3 -0
  24. data/lib/generators/scenic/view/USAGE +20 -0
  25. data/lib/generators/scenic/view/templates/db/migrate/create_view.erb +5 -0
  26. data/lib/generators/scenic/view/templates/db/migrate/update_view.erb +12 -0
  27. data/lib/generators/scenic/view/view_generator.rb +127 -0
  28. data/lib/scenic.rb +31 -0
  29. data/lib/scenic/adapters/postgres.rb +256 -0
  30. data/lib/scenic/adapters/postgres/connection.rb +57 -0
  31. data/lib/scenic/adapters/postgres/errors.rb +26 -0
  32. data/lib/scenic/adapters/postgres/index_reapplication.rb +71 -0
  33. data/lib/scenic/adapters/postgres/indexes.rb +53 -0
  34. data/lib/scenic/adapters/postgres/refresh_dependencies.rb +116 -0
  35. data/lib/scenic/adapters/postgres/views.rb +74 -0
  36. data/lib/scenic/command_recorder.rb +52 -0
  37. data/lib/scenic/command_recorder/statement_arguments.rb +51 -0
  38. data/lib/scenic/configuration.rb +37 -0
  39. data/lib/scenic/definition.rb +35 -0
  40. data/lib/scenic/index.rb +36 -0
  41. data/lib/scenic/schema_dumper.rb +44 -0
  42. data/lib/scenic/statements.rb +163 -0
  43. data/lib/scenic/version.rb +3 -0
  44. data/lib/scenic/view.rb +54 -0
  45. data/scenic.gemspec +36 -0
  46. data/spec/acceptance/user_manages_views_spec.rb +88 -0
  47. data/spec/acceptance_helper.rb +33 -0
  48. data/spec/dummy/.gitignore +16 -0
  49. data/spec/dummy/Rakefile +13 -0
  50. data/spec/dummy/app/models/application_record.rb +5 -0
  51. data/spec/dummy/bin/bundle +3 -0
  52. data/spec/dummy/bin/rails +4 -0
  53. data/spec/dummy/bin/rake +4 -0
  54. data/spec/dummy/config.ru +4 -0
  55. data/spec/dummy/config/application.rb +15 -0
  56. data/spec/dummy/config/boot.rb +5 -0
  57. data/spec/dummy/config/database.yml +14 -0
  58. data/spec/dummy/config/environment.rb +5 -0
  59. data/spec/dummy/db/migrate/.keep +0 -0
  60. data/spec/dummy/db/views/.keep +0 -0
  61. data/spec/generators/scenic/model/model_generator_spec.rb +36 -0
  62. data/spec/generators/scenic/view/view_generator_spec.rb +57 -0
  63. data/spec/integration/revert_spec.rb +74 -0
  64. data/spec/scenic/adapters/postgres/connection_spec.rb +79 -0
  65. data/spec/scenic/adapters/postgres/refresh_dependencies_spec.rb +82 -0
  66. data/spec/scenic/adapters/postgres/views_spec.rb +37 -0
  67. data/spec/scenic/adapters/postgres_spec.rb +209 -0
  68. data/spec/scenic/command_recorder/statement_arguments_spec.rb +41 -0
  69. data/spec/scenic/command_recorder_spec.rb +111 -0
  70. data/spec/scenic/configuration_spec.rb +27 -0
  71. data/spec/scenic/definition_spec.rb +62 -0
  72. data/spec/scenic/schema_dumper_spec.rb +115 -0
  73. data/spec/scenic/statements_spec.rb +199 -0
  74. data/spec/spec_helper.rb +22 -0
  75. data/spec/support/generator_spec_setup.rb +14 -0
  76. data/spec/support/view_definition_helpers.rb +10 -0
  77. metadata +307 -0
@@ -0,0 +1,22 @@
1
+ ENV["RAILS_ENV"] = "test"
2
+ require "database_cleaner"
3
+
4
+ require File.expand_path("dummy/config/environment", __dir__)
5
+ require "support/generator_spec_setup"
6
+ require "support/view_definition_helpers"
7
+
8
+ RSpec.configure do |config|
9
+ config.order = "random"
10
+ config.include ViewDefinitionHelpers
11
+ DatabaseCleaner.strategy = :transaction
12
+
13
+ config.around(:each, db: true) do |example|
14
+ DatabaseCleaner.start
15
+ example.run
16
+ DatabaseCleaner.clean
17
+ end
18
+
19
+ if defined? ActiveSupport::Testing::Stream
20
+ config.include ActiveSupport::Testing::Stream
21
+ end
22
+ end
@@ -0,0 +1,14 @@
1
+ require "rspec/rails"
2
+ require "ammeter/rspec/generator/example.rb"
3
+ require "ammeter/rspec/generator/matchers.rb"
4
+ require "ammeter/init"
5
+
6
+ RSpec.configure do |config|
7
+ config.before(:example, :generator) do
8
+ fake_rails_root = File.expand_path("../../tmp", __dir__)
9
+ allow(Rails).to receive(:root).and_return(Pathname.new(fake_rails_root))
10
+
11
+ destination fake_rails_root
12
+ prepare_destination
13
+ end
14
+ end
@@ -0,0 +1,10 @@
1
+ module ViewDefinitionHelpers
2
+ def with_view_definition(name, version, schema)
3
+ definition = Scenic::Definition.new(name, version)
4
+ FileUtils.mkdir_p(File.dirname(definition.full_path))
5
+ File.open(definition.full_path, "w") { |f| f.write(schema) }
6
+ yield
7
+ ensure
8
+ FileUtils.rm_f(definition.full_path)
9
+ end
10
+ end
metadata ADDED
@@ -0,0 +1,307 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: scenic-jets
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.5.4
5
+ platform: ruby
6
+ authors:
7
+ - Derek Prior
8
+ - Caleb Hearth
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2021-07-30 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: bundler
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '1.5'
21
+ type: :development
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: '1.5'
28
+ - !ruby/object:Gem::Dependency
29
+ name: database_cleaner
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: rake
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ - !ruby/object:Gem::Dependency
57
+ name: rspec
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '3.3'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '3.3'
70
+ - !ruby/object:Gem::Dependency
71
+ name: pg
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: '0.19'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '0.19'
84
+ - !ruby/object:Gem::Dependency
85
+ name: pry
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ - !ruby/object:Gem::Dependency
99
+ name: ammeter
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: 1.1.3
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: 1.1.3
112
+ - !ruby/object:Gem::Dependency
113
+ name: yard
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: redcarpet
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
140
+ - !ruby/object:Gem::Dependency
141
+ name: activerecord
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: 4.0.0
147
+ type: :runtime
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: 4.0.0
154
+ - !ruby/object:Gem::Dependency
155
+ name: railties
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: 4.0.0
161
+ type: :runtime
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: 4.0.0
168
+ description: |2
169
+ Adds methods to ActiveRecord::Migration to create and manage database views
170
+ in Rails
171
+ email:
172
+ - derekprior@gmail.com
173
+ - caleb@calebhearth.com
174
+ executables: []
175
+ extensions: []
176
+ extra_rdoc_files: []
177
+ files:
178
+ - ".github/workflows/ci.yml"
179
+ - ".gitignore"
180
+ - ".hound.yml"
181
+ - ".rubocop.yml"
182
+ - ".yardopts"
183
+ - CHANGELOG.md
184
+ - CODE_OF_CONDUCT.md
185
+ - CONTRIBUTING.md
186
+ - Gemfile
187
+ - LICENSE.txt
188
+ - README.md
189
+ - Rakefile
190
+ - SECURITY.md
191
+ - bin/rake
192
+ - bin/rspec
193
+ - bin/setup
194
+ - bin/yard
195
+ - lib/generators/scenic/generators.rb
196
+ - lib/generators/scenic/materializable.rb
197
+ - lib/generators/scenic/model/USAGE
198
+ - lib/generators/scenic/model/model_generator.rb
199
+ - lib/generators/scenic/model/templates/model.erb
200
+ - lib/generators/scenic/view/USAGE
201
+ - lib/generators/scenic/view/templates/db/migrate/create_view.erb
202
+ - lib/generators/scenic/view/templates/db/migrate/update_view.erb
203
+ - lib/generators/scenic/view/view_generator.rb
204
+ - lib/scenic.rb
205
+ - lib/scenic/adapters/postgres.rb
206
+ - lib/scenic/adapters/postgres/connection.rb
207
+ - lib/scenic/adapters/postgres/errors.rb
208
+ - lib/scenic/adapters/postgres/index_reapplication.rb
209
+ - lib/scenic/adapters/postgres/indexes.rb
210
+ - lib/scenic/adapters/postgres/refresh_dependencies.rb
211
+ - lib/scenic/adapters/postgres/views.rb
212
+ - lib/scenic/command_recorder.rb
213
+ - lib/scenic/command_recorder/statement_arguments.rb
214
+ - lib/scenic/configuration.rb
215
+ - lib/scenic/definition.rb
216
+ - lib/scenic/index.rb
217
+ - lib/scenic/schema_dumper.rb
218
+ - lib/scenic/statements.rb
219
+ - lib/scenic/version.rb
220
+ - lib/scenic/view.rb
221
+ - scenic.gemspec
222
+ - spec/acceptance/user_manages_views_spec.rb
223
+ - spec/acceptance_helper.rb
224
+ - spec/dummy/.gitignore
225
+ - spec/dummy/Rakefile
226
+ - spec/dummy/app/models/application_record.rb
227
+ - spec/dummy/bin/bundle
228
+ - spec/dummy/bin/rails
229
+ - spec/dummy/bin/rake
230
+ - spec/dummy/config.ru
231
+ - spec/dummy/config/application.rb
232
+ - spec/dummy/config/boot.rb
233
+ - spec/dummy/config/database.yml
234
+ - spec/dummy/config/environment.rb
235
+ - spec/dummy/db/migrate/.keep
236
+ - spec/dummy/db/views/.keep
237
+ - spec/generators/scenic/model/model_generator_spec.rb
238
+ - spec/generators/scenic/view/view_generator_spec.rb
239
+ - spec/integration/revert_spec.rb
240
+ - spec/scenic/adapters/postgres/connection_spec.rb
241
+ - spec/scenic/adapters/postgres/refresh_dependencies_spec.rb
242
+ - spec/scenic/adapters/postgres/views_spec.rb
243
+ - spec/scenic/adapters/postgres_spec.rb
244
+ - spec/scenic/command_recorder/statement_arguments_spec.rb
245
+ - spec/scenic/command_recorder_spec.rb
246
+ - spec/scenic/configuration_spec.rb
247
+ - spec/scenic/definition_spec.rb
248
+ - spec/scenic/schema_dumper_spec.rb
249
+ - spec/scenic/statements_spec.rb
250
+ - spec/spec_helper.rb
251
+ - spec/support/generator_spec_setup.rb
252
+ - spec/support/view_definition_helpers.rb
253
+ homepage: https://github.com/scenic-views/scenic
254
+ licenses:
255
+ - MIT
256
+ metadata: {}
257
+ post_install_message:
258
+ rdoc_options: []
259
+ require_paths:
260
+ - lib
261
+ required_ruby_version: !ruby/object:Gem::Requirement
262
+ requirements:
263
+ - - ">="
264
+ - !ruby/object:Gem::Version
265
+ version: 2.3.0
266
+ required_rubygems_version: !ruby/object:Gem::Requirement
267
+ requirements:
268
+ - - ">="
269
+ - !ruby/object:Gem::Version
270
+ version: '0'
271
+ requirements: []
272
+ rubygems_version: 3.1.4
273
+ signing_key:
274
+ specification_version: 4
275
+ summary: Support for database views in Rails migrations
276
+ test_files:
277
+ - spec/acceptance/user_manages_views_spec.rb
278
+ - spec/acceptance_helper.rb
279
+ - spec/dummy/.gitignore
280
+ - spec/dummy/Rakefile
281
+ - spec/dummy/app/models/application_record.rb
282
+ - spec/dummy/bin/bundle
283
+ - spec/dummy/bin/rails
284
+ - spec/dummy/bin/rake
285
+ - spec/dummy/config.ru
286
+ - spec/dummy/config/application.rb
287
+ - spec/dummy/config/boot.rb
288
+ - spec/dummy/config/database.yml
289
+ - spec/dummy/config/environment.rb
290
+ - spec/dummy/db/migrate/.keep
291
+ - spec/dummy/db/views/.keep
292
+ - spec/generators/scenic/model/model_generator_spec.rb
293
+ - spec/generators/scenic/view/view_generator_spec.rb
294
+ - spec/integration/revert_spec.rb
295
+ - spec/scenic/adapters/postgres/connection_spec.rb
296
+ - spec/scenic/adapters/postgres/refresh_dependencies_spec.rb
297
+ - spec/scenic/adapters/postgres/views_spec.rb
298
+ - spec/scenic/adapters/postgres_spec.rb
299
+ - spec/scenic/command_recorder/statement_arguments_spec.rb
300
+ - spec/scenic/command_recorder_spec.rb
301
+ - spec/scenic/configuration_spec.rb
302
+ - spec/scenic/definition_spec.rb
303
+ - spec/scenic/schema_dumper_spec.rb
304
+ - spec/scenic/statements_spec.rb
305
+ - spec/spec_helper.rb
306
+ - spec/support/generator_spec_setup.rb
307
+ - spec/support/view_definition_helpers.rb