├── .devcontainer ├── Dockerfile ├── devcontainer.json └── docker-compose.yml ├── .github └── workflows │ └── ci.yml ├── .gitignore ├── .yardopts ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── FUNDING.yml ├── Gemfile ├── LICENSE.txt ├── README.md ├── Rakefile ├── SECURITY.md ├── bin ├── rake ├── rspec ├── setup ├── standardrb └── yard ├── lib ├── generators │ └── scenic │ │ ├── generators.rb │ │ ├── materializable.rb │ │ ├── model │ │ ├── USAGE │ │ ├── model_generator.rb │ │ └── templates │ │ │ └── model.erb │ │ └── view │ │ ├── USAGE │ │ ├── templates │ │ └── db │ │ │ └── migrate │ │ │ ├── create_view.erb │ │ │ └── update_view.erb │ │ └── view_generator.rb ├── scenic.rb └── scenic │ ├── adapters │ ├── postgres.rb │ └── postgres │ │ ├── connection.rb │ │ ├── errors.rb │ │ ├── index_creation.rb │ │ ├── index_migration.rb │ │ ├── index_reapplication.rb │ │ ├── indexes.rb │ │ ├── refresh_dependencies.rb │ │ ├── side_by_side.rb │ │ ├── temporary_name.rb │ │ └── views.rb │ ├── command_recorder.rb │ ├── command_recorder │ └── statement_arguments.rb │ ├── configuration.rb │ ├── definition.rb │ ├── index.rb │ ├── railtie.rb │ ├── schema_dumper.rb │ ├── statements.rb │ ├── unaffixed_name.rb │ ├── version.rb │ └── view.rb ├── scenic.gemspec └── spec ├── acceptance └── user_manages_views_spec.rb ├── acceptance_helper.rb ├── dummy ├── .gitignore ├── Rakefile ├── app │ └── models │ │ └── application_record.rb ├── bin │ ├── bundle │ ├── rails │ └── rake ├── config.ru ├── config │ ├── application.rb │ ├── boot.rb │ ├── database.yml │ └── environment.rb └── db │ ├── migrate │ ├── .keep │ └── 20220112154220_add_pg_stat_statements_extension.rb │ ├── schema.rb │ └── views │ └── .keep ├── generators └── scenic │ ├── model │ └── model_generator_spec.rb │ └── view │ └── view_generator_spec.rb ├── integration └── revert_spec.rb ├── scenic ├── adapters │ ├── postgres │ │ ├── connection_spec.rb │ │ ├── index_creation_spec.rb │ │ ├── index_migration_spec.rb │ │ ├── refresh_dependencies_spec.rb │ │ ├── side_by_side_spec.rb │ │ ├── temporary_name_spec.rb │ │ └── views_spec.rb │ └── postgres_spec.rb ├── command_recorder │ └── statement_arguments_spec.rb ├── command_recorder_spec.rb ├── configuration_spec.rb ├── definition_spec.rb ├── schema_dumper_spec.rb └── statements_spec.rb ├── spec_helper.rb └── support ├── database_schema_helpers.rb ├── generator_spec_setup.rb ├── rails_configuration_helpers.rb └── view_definition_helpers.rb /.devcontainer/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/.devcontainer/Dockerfile -------------------------------------------------------------------------------- /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/.devcontainer/devcontainer.json -------------------------------------------------------------------------------- /.devcontainer/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/.devcontainer/docker-compose.yml -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/.gitignore -------------------------------------------------------------------------------- /.yardopts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/.yardopts -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: [calebhearth, derekprior] 2 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/Gemfile -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/README.md -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/Rakefile -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/SECURITY.md -------------------------------------------------------------------------------- /bin/rake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/bin/rake -------------------------------------------------------------------------------- /bin/rspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/bin/rspec -------------------------------------------------------------------------------- /bin/setup: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/bin/setup -------------------------------------------------------------------------------- /bin/standardrb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/bin/standardrb -------------------------------------------------------------------------------- /bin/yard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/bin/yard -------------------------------------------------------------------------------- /lib/generators/scenic/generators.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/generators/scenic/generators.rb -------------------------------------------------------------------------------- /lib/generators/scenic/materializable.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/generators/scenic/materializable.rb -------------------------------------------------------------------------------- /lib/generators/scenic/model/USAGE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/generators/scenic/model/USAGE -------------------------------------------------------------------------------- /lib/generators/scenic/model/model_generator.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/generators/scenic/model/model_generator.rb -------------------------------------------------------------------------------- /lib/generators/scenic/model/templates/model.erb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/generators/scenic/model/templates/model.erb -------------------------------------------------------------------------------- /lib/generators/scenic/view/USAGE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/generators/scenic/view/USAGE -------------------------------------------------------------------------------- /lib/generators/scenic/view/templates/db/migrate/create_view.erb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/generators/scenic/view/templates/db/migrate/create_view.erb -------------------------------------------------------------------------------- /lib/generators/scenic/view/templates/db/migrate/update_view.erb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/generators/scenic/view/templates/db/migrate/update_view.erb -------------------------------------------------------------------------------- /lib/generators/scenic/view/view_generator.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/generators/scenic/view/view_generator.rb -------------------------------------------------------------------------------- /lib/scenic.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/scenic.rb -------------------------------------------------------------------------------- /lib/scenic/adapters/postgres.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/scenic/adapters/postgres.rb -------------------------------------------------------------------------------- /lib/scenic/adapters/postgres/connection.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/scenic/adapters/postgres/connection.rb -------------------------------------------------------------------------------- /lib/scenic/adapters/postgres/errors.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/scenic/adapters/postgres/errors.rb -------------------------------------------------------------------------------- /lib/scenic/adapters/postgres/index_creation.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/scenic/adapters/postgres/index_creation.rb -------------------------------------------------------------------------------- /lib/scenic/adapters/postgres/index_migration.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/scenic/adapters/postgres/index_migration.rb -------------------------------------------------------------------------------- /lib/scenic/adapters/postgres/index_reapplication.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/scenic/adapters/postgres/index_reapplication.rb -------------------------------------------------------------------------------- /lib/scenic/adapters/postgres/indexes.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/scenic/adapters/postgres/indexes.rb -------------------------------------------------------------------------------- /lib/scenic/adapters/postgres/refresh_dependencies.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/scenic/adapters/postgres/refresh_dependencies.rb -------------------------------------------------------------------------------- /lib/scenic/adapters/postgres/side_by_side.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/scenic/adapters/postgres/side_by_side.rb -------------------------------------------------------------------------------- /lib/scenic/adapters/postgres/temporary_name.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/scenic/adapters/postgres/temporary_name.rb -------------------------------------------------------------------------------- /lib/scenic/adapters/postgres/views.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/scenic/adapters/postgres/views.rb -------------------------------------------------------------------------------- /lib/scenic/command_recorder.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/scenic/command_recorder.rb -------------------------------------------------------------------------------- /lib/scenic/command_recorder/statement_arguments.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/scenic/command_recorder/statement_arguments.rb -------------------------------------------------------------------------------- /lib/scenic/configuration.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/scenic/configuration.rb -------------------------------------------------------------------------------- /lib/scenic/definition.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/scenic/definition.rb -------------------------------------------------------------------------------- /lib/scenic/index.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/scenic/index.rb -------------------------------------------------------------------------------- /lib/scenic/railtie.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/scenic/railtie.rb -------------------------------------------------------------------------------- /lib/scenic/schema_dumper.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/scenic/schema_dumper.rb -------------------------------------------------------------------------------- /lib/scenic/statements.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/scenic/statements.rb -------------------------------------------------------------------------------- /lib/scenic/unaffixed_name.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/scenic/unaffixed_name.rb -------------------------------------------------------------------------------- /lib/scenic/version.rb: -------------------------------------------------------------------------------- 1 | module Scenic 2 | VERSION = "1.9.0".freeze 3 | end 4 | -------------------------------------------------------------------------------- /lib/scenic/view.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/lib/scenic/view.rb -------------------------------------------------------------------------------- /scenic.gemspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/scenic.gemspec -------------------------------------------------------------------------------- /spec/acceptance/user_manages_views_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/acceptance/user_manages_views_spec.rb -------------------------------------------------------------------------------- /spec/acceptance_helper.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/acceptance_helper.rb -------------------------------------------------------------------------------- /spec/dummy/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/dummy/.gitignore -------------------------------------------------------------------------------- /spec/dummy/Rakefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/dummy/Rakefile -------------------------------------------------------------------------------- /spec/dummy/app/models/application_record.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/dummy/app/models/application_record.rb -------------------------------------------------------------------------------- /spec/dummy/bin/bundle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/dummy/bin/bundle -------------------------------------------------------------------------------- /spec/dummy/bin/rails: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/dummy/bin/rails -------------------------------------------------------------------------------- /spec/dummy/bin/rake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/dummy/bin/rake -------------------------------------------------------------------------------- /spec/dummy/config.ru: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/dummy/config.ru -------------------------------------------------------------------------------- /spec/dummy/config/application.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/dummy/config/application.rb -------------------------------------------------------------------------------- /spec/dummy/config/boot.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/dummy/config/boot.rb -------------------------------------------------------------------------------- /spec/dummy/config/database.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/dummy/config/database.yml -------------------------------------------------------------------------------- /spec/dummy/config/environment.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/dummy/config/environment.rb -------------------------------------------------------------------------------- /spec/dummy/db/migrate/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/dummy/db/migrate/20220112154220_add_pg_stat_statements_extension.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/dummy/db/migrate/20220112154220_add_pg_stat_statements_extension.rb -------------------------------------------------------------------------------- /spec/dummy/db/schema.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/dummy/db/schema.rb -------------------------------------------------------------------------------- /spec/dummy/db/views/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/generators/scenic/model/model_generator_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/generators/scenic/model/model_generator_spec.rb -------------------------------------------------------------------------------- /spec/generators/scenic/view/view_generator_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/generators/scenic/view/view_generator_spec.rb -------------------------------------------------------------------------------- /spec/integration/revert_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/integration/revert_spec.rb -------------------------------------------------------------------------------- /spec/scenic/adapters/postgres/connection_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/scenic/adapters/postgres/connection_spec.rb -------------------------------------------------------------------------------- /spec/scenic/adapters/postgres/index_creation_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/scenic/adapters/postgres/index_creation_spec.rb -------------------------------------------------------------------------------- /spec/scenic/adapters/postgres/index_migration_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/scenic/adapters/postgres/index_migration_spec.rb -------------------------------------------------------------------------------- /spec/scenic/adapters/postgres/refresh_dependencies_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/scenic/adapters/postgres/refresh_dependencies_spec.rb -------------------------------------------------------------------------------- /spec/scenic/adapters/postgres/side_by_side_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/scenic/adapters/postgres/side_by_side_spec.rb -------------------------------------------------------------------------------- /spec/scenic/adapters/postgres/temporary_name_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/scenic/adapters/postgres/temporary_name_spec.rb -------------------------------------------------------------------------------- /spec/scenic/adapters/postgres/views_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/scenic/adapters/postgres/views_spec.rb -------------------------------------------------------------------------------- /spec/scenic/adapters/postgres_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/scenic/adapters/postgres_spec.rb -------------------------------------------------------------------------------- /spec/scenic/command_recorder/statement_arguments_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/scenic/command_recorder/statement_arguments_spec.rb -------------------------------------------------------------------------------- /spec/scenic/command_recorder_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/scenic/command_recorder_spec.rb -------------------------------------------------------------------------------- /spec/scenic/configuration_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/scenic/configuration_spec.rb -------------------------------------------------------------------------------- /spec/scenic/definition_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/scenic/definition_spec.rb -------------------------------------------------------------------------------- /spec/scenic/schema_dumper_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/scenic/schema_dumper_spec.rb -------------------------------------------------------------------------------- /spec/scenic/statements_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/scenic/statements_spec.rb -------------------------------------------------------------------------------- /spec/spec_helper.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/spec_helper.rb -------------------------------------------------------------------------------- /spec/support/database_schema_helpers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/support/database_schema_helpers.rb -------------------------------------------------------------------------------- /spec/support/generator_spec_setup.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/support/generator_spec_setup.rb -------------------------------------------------------------------------------- /spec/support/rails_configuration_helpers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/support/rails_configuration_helpers.rb -------------------------------------------------------------------------------- /spec/support/view_definition_helpers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scenic-views/scenic/HEAD/spec/support/view_definition_helpers.rb --------------------------------------------------------------------------------