From fe030406c367e91141efa111898ee83b0c9696c3 Mon Sep 17 00:00:00 2001 From: Amos Chan Date: Sat, 8 Jul 2017 17:58:03 -0400 Subject: [PATCH 01/20] Move basechurch to apps folder --- .gitignore | 29 +++++++------------ .ruby-version | 1 - .travis.yml | 13 --------- .hound.yml => apps/basechurch/.hound.yml | 0 .rspec => apps/basechurch/.rspec | 0 .../basechurch/CONTRIBUTING.md | 0 Capfile => apps/basechurch/Capfile | 0 Gemfile => apps/basechurch/Gemfile | 0 Gemfile.lock => apps/basechurch/Gemfile.lock | 0 Guardfile => apps/basechurch/Guardfile | 0 MIT-LICENSE => apps/basechurch/MIT-LICENSE | 0 README.md => apps/basechurch/README.md | 0 Rakefile => apps/basechurch/Rakefile | 0 .../app}/assets/images/basechurch/.keep | 0 .../javascripts/basechurch/application.js | 0 .../stylesheets/basechurch/application.css | 0 .../api/v1/announcements_controller.rb | 0 .../api/v1/bulletins_controller.rb | 0 .../controllers/api/v1/groups_controller.rb | 0 .../controllers/api/v1/posts_controller.rb | 0 .../controllers/api/v1/sermons_controller.rb | 0 .../controllers/api/v1/users_controller.rb | 0 .../controllers/application_controller.rb | 0 .../application_resource_controller.rb | 0 .../app}/controllers/landing_controller.rb | 0 .../app}/controllers/passwords_controller.rb | 0 .../controllers/registrations_controller.rb | 0 .../app}/controllers/sessions_controller.rb | 0 .../app}/helpers/application_helper.rb | 0 .../lib/basechurch_resource_serializer.rb | 0 .../basechurch/app}/lib/random_filename.rb | 0 {app => apps/basechurch/app}/lib/s3_signer.rb | 0 .../app}/middleware/selective_stack.rb | 0 .../basechurch/app}/models/announcement.rb | 0 .../basechurch/app}/models/attachment.rb | 0 .../basechurch/app}/models/bulletin.rb | 0 .../basechurch/app}/models/concerns/.keep | 0 {app => apps/basechurch/app}/models/group.rb | 0 {app => apps/basechurch/app}/models/post.rb | 0 {app => apps/basechurch/app}/models/sermon.rb | 0 {app => apps/basechurch/app}/models/user.rb | 0 .../resources/api/v1/announcement_resource.rb | 0 .../resources/api/v1/bulletin_resource.rb | 0 .../app}/resources/api/v1/group_resource.rb | 0 .../app}/resources/api/v1/post_resource.rb | 0 .../app}/resources/api/v1/sermon_resource.rb | 0 .../app}/resources/api/v1/user_resource.rb | 0 .../basechurch/app}/settings/aws_settings.rb | 0 .../app}/settings/redis_settings.rb | 0 .../basechurch/app}/settings/secrets.rb | 0 .../app}/validators/iso8601_validator.rb | 0 .../iso8601_value_formatter.rb | 0 .../layouts/basechurch/application.html.erb | 0 config.ru => apps/basechurch/config.ru | 0 .../basechurch/config}/application.rb | 0 {config => apps/basechurch/config}/aws.yml | 0 {config => apps/basechurch/config}/boot.rb | 0 .../basechurch/config}/chef/.chef/knife.rb | 0 .../basechurch/config}/chef/.gitignore | 0 .../config/chef/data_bags}/.gitkeep | 0 .../config/chef/environments}/.gitkeep | 0 .../basechurch/config/chef/nodes}/.gitkeep | 0 .../config}/chef/nodes/104.131.162.148.json | 0 .../config}/chef/nodes/104.131.66.72.json | 0 .../basechurch/config/chef/roles}/.gitkeep | 0 .../config/chef/site-cookbooks}/.gitkeep | 0 .../chef/site-cookbooks/mcac/CHANGELOG.md | 0 .../chef/site-cookbooks/mcac/README.md | 0 .../site-cookbooks/mcac/attributes/default.rb | 0 .../mcac/files/default/bash_profile | 0 .../chef/site-cookbooks/mcac/metadata.rb | 0 .../chef/site-cookbooks/mcac/recipes/app.rb | 0 .../site-cookbooks/mcac/recipes/default.rb | 0 .../chef/site-cookbooks/mcac/recipes/nginx.rb | 0 .../site-cookbooks/mcac/recipes/postgres.rb | 0 .../chef/site-cookbooks/mcac/recipes/rbenv.rb | 0 .../chef/site-cookbooks/mcac/recipes/redis.rb | 0 .../chef/site-cookbooks/mcac/recipes/ssh.rb | 0 .../chef/site-cookbooks/mcac/recipes/users.rb | 0 .../mcac/templates/database.yml.erb | 0 .../mcac/templates/nginx.conf.erb | 0 .../mcac/templates/unicorn.rb.erb | 0 .../mcac/templates/unicorn.sh.erb | 0 .../basechurch/config}/database.yml | 0 {config => apps/basechurch/config}/deploy.rb | 0 .../basechurch/config}/deploy/production.rb | 0 .../basechurch/config}/deploy/staging.rb | 0 .../basechurch/config}/environment.rb | 0 .../config}/environments/development.rb | 0 .../config}/environments/production.rb | 0 .../config}/environments/staging.rb | 0 .../basechurch/config}/environments/test.rb | 0 .../basechurch/config}/initializers/devise.rb | 0 .../config}/initializers/devise_token_auth.rb | 0 .../config}/initializers/extensions.rb | 0 .../config}/initializers/friendly_id.rb | 0 .../config}/initializers/jsonapi_resources.rb | 0 .../config}/initializers/omniauth.rb | 0 .../initializers/rspec_api_documentation.rb | 0 .../config}/initializers/sidekiq.rb | 0 .../config}/initializers/wrap_parameters.rb | 0 {config => apps/basechurch/config}/redis.yml | 0 {config => apps/basechurch/config}/routes.rb | 0 .../basechurch/config}/secrets.yml | 0 .../basechurch/config}/secrets.yml.example | 0 .../basechurch/config}/test-secrets.yml | 0 .../migrate/20141104023408_create_users.rb | 0 ...on_migration.acts_as_taggable_on_engine.rb | 0 ...ique_indices.acts_as_taggable_on_engine.rb | 0 ...ache_to_tags.acts_as_taggable_on_engine.rb | 0 ...ggable_index.acts_as_taggable_on_engine.rb | 0 .../migrate/20141104050852_create_groups.rb | 0 .../20141107023441_create_bulletins.rb | 0 ...0141107024218_add_group_id_to_bulletins.rb | 0 .../20141115220442_rename_date_column.rb | 0 .../migrate/20141122193506_create_api_keys.rb | 0 .../migrate/20141127050515_create_posts.rb | 0 ...20141130222902_create_friendly_id_slugs.rb | 0 .../20141216021608_create_announcements.rb | 0 ...227065555_add_slug_to_basechurch_groups.rb | 0 ...20150506020938_add_url_to_announcements.rb | 0 ...50517033542_add_banner_url_to_bulletins.rb | 0 ...525002323_add_sermon_notes_to_bulletins.rb | 0 ...150527041615_add_audio_url_to_bulletins.rb | 0 .../20150530024856_add_banner_url_to_post.rb | 0 ...4207_add_about_and_banner_url_to_groups.rb | 0 .../20150807030656_create_attachments.rb | 0 ...50808012750_remove_banner_url_from_post.rb | 0 ...banner_url_and_audio_url_from_bulletins.rb | 0 .../20150825021220_remove_attachments.rb | 0 ...826021028_create_basechurch_attachments.rb | 0 ...20150913035436_rename_basechurch_tables.rb | 0 .../20160309214255_add_kind_to_posts.rb | 0 .../20160414233629_add_details_to_groups.rb | 0 .../migrate/20160621012226_create_sermons.rb | 0 ...160624024551_add_sermon_id_to_bulletins.rb | 0 .../20161011033416_drop_apikeys_table.rb | 0 {db => apps/basechurch/db}/schema.rb | 0 {db => apps/basechurch/db}/seeds.rb | 0 {lib => apps/basechurch/lib}/basechurch.rb | 0 .../basechurch/lib}/basechurch/version.rb | 0 .../lib}/capistrano/substitute_strings.rb | 0 .../lib}/capistrano/tasks/check_revision.cap | 0 .../basechurch/lib}/capistrano/tasks/logs.cap | 0 .../lib}/capistrano/tasks/monit.cap | 0 .../lib}/capistrano/tasks/nginx.cap | 0 .../lib}/capistrano/tasks/restart.cap | 0 .../lib}/capistrano/tasks/run_tests.cap | 0 .../lib}/capistrano/tasks/setup_config.cap | 0 .../basechurch/lib}/capistrano/template.rb | 0 .../basechurch/lib}/has_attachment.rb | 0 .../basechurch/lib}/tasks/attachments.rake | 0 .../lib}/tasks/basechurch_tasks.rake | 0 setup_vps.sh => apps/basechurch/setup_vps.sh | 0 .../spec}/acceptance/announcements_spec.rb | 0 .../spec}/acceptance/bulletins_spec.rb | 0 .../spec}/acceptance/groups_spec.rb | 0 .../basechurch/spec}/acceptance/posts_spec.rb | 0 .../spec}/acceptance/sermons_spec.rb | 0 .../basechurch/spec}/acceptance/users_spec.rb | 0 .../spec}/controllers/concerns/.keep | 0 .../registrations_controller_spec.rb | 0 .../controllers/sessions_controller_spec.rb | 0 .../spec}/lib/random_filename_spec.rb | 0 .../basechurch/spec}/lib/s3_signer_spec.rb | 0 .../spec}/models/announcement_spec.rb | 0 .../basechurch/spec}/models/bulletin_spec.rb | 0 .../basechurch/spec}/models/group_spec.rb | 0 .../basechurch/spec}/models/post_spec.rb | 0 .../basechurch/spec}/models/sermon_spec.rb | 0 .../basechurch/spec}/models/user_spec.rb | 0 .../basechurch/spec}/rails_helper.rb | 0 .../api/v1/announcement_resource_spec.rb | 0 .../api/v1/bulletin_resource_spec.rb | 0 .../resources/api/v1/group_resource_spec.rb | 0 .../resources/api/v1/post_resource_spec.rb | 0 .../resources/api/v1/sermon_resource_spec.rb | 0 .../resources/api/v1/user_resource_spec.rb | 0 .../routing/announcements_routing_spec.rb | 0 .../spec}/routing/bulletins_routing_spec.rb | 0 .../spec}/routing/groups_routing_spec.rb | 0 .../spec}/routing/posts_routing_spec.rb | 0 {spec => apps/basechurch/spec}/spec_helper.rb | 0 .../basechurch/spec}/support/devise.rb | 0 .../spec}/support/factories/announcements.rb | 0 .../spec}/support/factories/attachments.rb | 0 .../spec}/support/factories/bulletins.rb | 0 .../spec}/support/factories/groups.rb | 0 .../spec}/support/factories/posts.rb | 0 .../spec}/support/factories/sermons.rb | 0 .../spec}/support/factories/users.rb | 0 .../basechurch/spec}/support/factory_girl.rb | 0 .../spec}/support/request_helpers.rb | 0 .../shared_examples/authenticated_action.rb | 0 .../support/shared_examples/has_attachment.rb | 0 .../support/shared_examples/s3_signing.rb | 0 .../validators/iso8601_validator_spec.rb | 0 config/chef/site-cookbooks/.gitkeep | 0 198 files changed, 10 insertions(+), 33 deletions(-) delete mode 100644 .ruby-version delete mode 100644 .travis.yml rename .hound.yml => apps/basechurch/.hound.yml (100%) rename .rspec => apps/basechurch/.rspec (100%) rename CONTRIBUTING.md => apps/basechurch/CONTRIBUTING.md (100%) rename Capfile => apps/basechurch/Capfile (100%) rename Gemfile => apps/basechurch/Gemfile (100%) rename Gemfile.lock => apps/basechurch/Gemfile.lock (100%) rename Guardfile => apps/basechurch/Guardfile (100%) rename MIT-LICENSE => apps/basechurch/MIT-LICENSE (100%) rename README.md => apps/basechurch/README.md (100%) rename Rakefile => apps/basechurch/Rakefile (100%) rename {app => apps/basechurch/app}/assets/images/basechurch/.keep (100%) rename {app => apps/basechurch/app}/assets/javascripts/basechurch/application.js (100%) rename {app => apps/basechurch/app}/assets/stylesheets/basechurch/application.css (100%) rename {app => apps/basechurch/app}/controllers/api/v1/announcements_controller.rb (100%) rename {app => apps/basechurch/app}/controllers/api/v1/bulletins_controller.rb (100%) rename {app => apps/basechurch/app}/controllers/api/v1/groups_controller.rb (100%) rename {app => apps/basechurch/app}/controllers/api/v1/posts_controller.rb (100%) rename {app => apps/basechurch/app}/controllers/api/v1/sermons_controller.rb (100%) rename {app => apps/basechurch/app}/controllers/api/v1/users_controller.rb (100%) rename {app => apps/basechurch/app}/controllers/application_controller.rb (100%) rename {app => apps/basechurch/app}/controllers/application_resource_controller.rb (100%) rename {app => apps/basechurch/app}/controllers/landing_controller.rb (100%) rename {app => apps/basechurch/app}/controllers/passwords_controller.rb (100%) rename {app => apps/basechurch/app}/controllers/registrations_controller.rb (100%) rename {app => apps/basechurch/app}/controllers/sessions_controller.rb (100%) rename {app => apps/basechurch/app}/helpers/application_helper.rb (100%) rename {app => apps/basechurch/app}/lib/basechurch_resource_serializer.rb (100%) rename {app => apps/basechurch/app}/lib/random_filename.rb (100%) rename {app => apps/basechurch/app}/lib/s3_signer.rb (100%) rename {app => apps/basechurch/app}/middleware/selective_stack.rb (100%) rename {app => apps/basechurch/app}/models/announcement.rb (100%) rename {app => apps/basechurch/app}/models/attachment.rb (100%) rename {app => apps/basechurch/app}/models/bulletin.rb (100%) rename {app => apps/basechurch/app}/models/concerns/.keep (100%) rename {app => apps/basechurch/app}/models/group.rb (100%) rename {app => apps/basechurch/app}/models/post.rb (100%) rename {app => apps/basechurch/app}/models/sermon.rb (100%) rename {app => apps/basechurch/app}/models/user.rb (100%) rename {app => apps/basechurch/app}/resources/api/v1/announcement_resource.rb (100%) rename {app => apps/basechurch/app}/resources/api/v1/bulletin_resource.rb (100%) rename {app => apps/basechurch/app}/resources/api/v1/group_resource.rb (100%) rename {app => apps/basechurch/app}/resources/api/v1/post_resource.rb (100%) rename {app => apps/basechurch/app}/resources/api/v1/sermon_resource.rb (100%) rename {app => apps/basechurch/app}/resources/api/v1/user_resource.rb (100%) rename {app => apps/basechurch/app}/settings/aws_settings.rb (100%) rename {app => apps/basechurch/app}/settings/redis_settings.rb (100%) rename {app => apps/basechurch/app}/settings/secrets.rb (100%) rename {app => apps/basechurch/app}/validators/iso8601_validator.rb (100%) rename {app => apps/basechurch/app}/value_formatters/iso8601_value_formatter.rb (100%) rename {app => apps/basechurch/app}/views/layouts/basechurch/application.html.erb (100%) rename config.ru => apps/basechurch/config.ru (100%) rename {config => apps/basechurch/config}/application.rb (100%) rename {config => apps/basechurch/config}/aws.yml (100%) rename {config => apps/basechurch/config}/boot.rb (100%) rename {config => apps/basechurch/config}/chef/.chef/knife.rb (100%) rename {config => apps/basechurch/config}/chef/.gitignore (100%) rename {config/chef/cookbooks => apps/basechurch/config/chef/data_bags}/.gitkeep (100%) rename {config/chef/data_bags => apps/basechurch/config/chef/environments}/.gitkeep (100%) rename {config/chef/environments => apps/basechurch/config/chef/nodes}/.gitkeep (100%) rename {config => apps/basechurch/config}/chef/nodes/104.131.162.148.json (100%) rename {config => apps/basechurch/config}/chef/nodes/104.131.66.72.json (100%) rename {config/chef/nodes => apps/basechurch/config/chef/roles}/.gitkeep (100%) rename {config/chef/roles => apps/basechurch/config/chef/site-cookbooks}/.gitkeep (100%) rename {config => apps/basechurch/config}/chef/site-cookbooks/mcac/CHANGELOG.md (100%) rename {config => apps/basechurch/config}/chef/site-cookbooks/mcac/README.md (100%) rename {config => apps/basechurch/config}/chef/site-cookbooks/mcac/attributes/default.rb (100%) rename {config => apps/basechurch/config}/chef/site-cookbooks/mcac/files/default/bash_profile (100%) rename {config => apps/basechurch/config}/chef/site-cookbooks/mcac/metadata.rb (100%) rename {config => apps/basechurch/config}/chef/site-cookbooks/mcac/recipes/app.rb (100%) rename {config => apps/basechurch/config}/chef/site-cookbooks/mcac/recipes/default.rb (100%) rename {config => apps/basechurch/config}/chef/site-cookbooks/mcac/recipes/nginx.rb (100%) rename {config => apps/basechurch/config}/chef/site-cookbooks/mcac/recipes/postgres.rb (100%) rename {config => apps/basechurch/config}/chef/site-cookbooks/mcac/recipes/rbenv.rb (100%) rename {config => apps/basechurch/config}/chef/site-cookbooks/mcac/recipes/redis.rb (100%) rename {config => apps/basechurch/config}/chef/site-cookbooks/mcac/recipes/ssh.rb (100%) rename {config => apps/basechurch/config}/chef/site-cookbooks/mcac/recipes/users.rb (100%) rename {config => apps/basechurch/config}/chef/site-cookbooks/mcac/templates/database.yml.erb (100%) rename {config => apps/basechurch/config}/chef/site-cookbooks/mcac/templates/nginx.conf.erb (100%) rename {config => apps/basechurch/config}/chef/site-cookbooks/mcac/templates/unicorn.rb.erb (100%) rename {config => apps/basechurch/config}/chef/site-cookbooks/mcac/templates/unicorn.sh.erb (100%) rename {config => apps/basechurch/config}/database.yml (100%) rename {config => apps/basechurch/config}/deploy.rb (100%) rename {config => apps/basechurch/config}/deploy/production.rb (100%) rename {config => apps/basechurch/config}/deploy/staging.rb (100%) rename {config => apps/basechurch/config}/environment.rb (100%) rename {config => apps/basechurch/config}/environments/development.rb (100%) rename {config => apps/basechurch/config}/environments/production.rb (100%) rename {config => apps/basechurch/config}/environments/staging.rb (100%) rename {config => apps/basechurch/config}/environments/test.rb (100%) rename {config => apps/basechurch/config}/initializers/devise.rb (100%) rename {config => apps/basechurch/config}/initializers/devise_token_auth.rb (100%) rename {config => apps/basechurch/config}/initializers/extensions.rb (100%) rename {config => apps/basechurch/config}/initializers/friendly_id.rb (100%) rename {config => apps/basechurch/config}/initializers/jsonapi_resources.rb (100%) rename {config => apps/basechurch/config}/initializers/omniauth.rb (100%) rename {config => apps/basechurch/config}/initializers/rspec_api_documentation.rb (100%) rename {config => apps/basechurch/config}/initializers/sidekiq.rb (100%) rename {config => apps/basechurch/config}/initializers/wrap_parameters.rb (100%) rename {config => apps/basechurch/config}/redis.yml (100%) rename {config => apps/basechurch/config}/routes.rb (100%) rename {config => apps/basechurch/config}/secrets.yml (100%) rename {config => apps/basechurch/config}/secrets.yml.example (100%) rename {config => apps/basechurch/config}/test-secrets.yml (100%) rename {db => apps/basechurch/db}/migrate/20141104023408_create_users.rb (100%) rename {db => apps/basechurch/db}/migrate/20141104050710_acts_as_taggable_on_migration.acts_as_taggable_on_engine.rb (100%) rename {db => apps/basechurch/db}/migrate/20141104050711_add_missing_unique_indices.acts_as_taggable_on_engine.rb (100%) rename {db => apps/basechurch/db}/migrate/20141104050712_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb (100%) rename {db => apps/basechurch/db}/migrate/20141104050713_add_missing_taggable_index.acts_as_taggable_on_engine.rb (100%) rename {db => apps/basechurch/db}/migrate/20141104050852_create_groups.rb (100%) rename {db => apps/basechurch/db}/migrate/20141107023441_create_bulletins.rb (100%) rename {db => apps/basechurch/db}/migrate/20141107024218_add_group_id_to_bulletins.rb (100%) rename {db => apps/basechurch/db}/migrate/20141115220442_rename_date_column.rb (100%) rename {db => apps/basechurch/db}/migrate/20141122193506_create_api_keys.rb (100%) rename {db => apps/basechurch/db}/migrate/20141127050515_create_posts.rb (100%) rename {db => apps/basechurch/db}/migrate/20141130222902_create_friendly_id_slugs.rb (100%) rename {db => apps/basechurch/db}/migrate/20141216021608_create_announcements.rb (100%) rename {db => apps/basechurch/db}/migrate/20141227065555_add_slug_to_basechurch_groups.rb (100%) rename {db => apps/basechurch/db}/migrate/20150506020938_add_url_to_announcements.rb (100%) rename {db => apps/basechurch/db}/migrate/20150517033542_add_banner_url_to_bulletins.rb (100%) rename {db => apps/basechurch/db}/migrate/20150525002323_add_sermon_notes_to_bulletins.rb (100%) rename {db => apps/basechurch/db}/migrate/20150527041615_add_audio_url_to_bulletins.rb (100%) rename {db => apps/basechurch/db}/migrate/20150530024856_add_banner_url_to_post.rb (100%) rename {db => apps/basechurch/db}/migrate/20150714004207_add_about_and_banner_url_to_groups.rb (100%) rename {db => apps/basechurch/db}/migrate/20150807030656_create_attachments.rb (100%) rename {db => apps/basechurch/db}/migrate/20150808012750_remove_banner_url_from_post.rb (100%) rename {db => apps/basechurch/db}/migrate/20150808025204_remove_banner_url_and_audio_url_from_bulletins.rb (100%) rename {db => apps/basechurch/db}/migrate/20150825021220_remove_attachments.rb (100%) rename {db => apps/basechurch/db}/migrate/20150826021028_create_basechurch_attachments.rb (100%) rename {db => apps/basechurch/db}/migrate/20150913035436_rename_basechurch_tables.rb (100%) rename {db => apps/basechurch/db}/migrate/20160309214255_add_kind_to_posts.rb (100%) rename {db => apps/basechurch/db}/migrate/20160414233629_add_details_to_groups.rb (100%) rename {db => apps/basechurch/db}/migrate/20160621012226_create_sermons.rb (100%) rename {db => apps/basechurch/db}/migrate/20160624024551_add_sermon_id_to_bulletins.rb (100%) rename {db => apps/basechurch/db}/migrate/20161011033416_drop_apikeys_table.rb (100%) rename {db => apps/basechurch/db}/schema.rb (100%) rename {db => apps/basechurch/db}/seeds.rb (100%) rename {lib => apps/basechurch/lib}/basechurch.rb (100%) rename {lib => apps/basechurch/lib}/basechurch/version.rb (100%) rename {lib => apps/basechurch/lib}/capistrano/substitute_strings.rb (100%) rename {lib => apps/basechurch/lib}/capistrano/tasks/check_revision.cap (100%) rename {lib => apps/basechurch/lib}/capistrano/tasks/logs.cap (100%) rename {lib => apps/basechurch/lib}/capistrano/tasks/monit.cap (100%) rename {lib => apps/basechurch/lib}/capistrano/tasks/nginx.cap (100%) rename {lib => apps/basechurch/lib}/capistrano/tasks/restart.cap (100%) rename {lib => apps/basechurch/lib}/capistrano/tasks/run_tests.cap (100%) rename {lib => apps/basechurch/lib}/capistrano/tasks/setup_config.cap (100%) rename {lib => apps/basechurch/lib}/capistrano/template.rb (100%) rename {lib => apps/basechurch/lib}/has_attachment.rb (100%) rename {lib => apps/basechurch/lib}/tasks/attachments.rake (100%) rename {lib => apps/basechurch/lib}/tasks/basechurch_tasks.rake (100%) rename setup_vps.sh => apps/basechurch/setup_vps.sh (100%) rename {spec => apps/basechurch/spec}/acceptance/announcements_spec.rb (100%) rename {spec => apps/basechurch/spec}/acceptance/bulletins_spec.rb (100%) rename {spec => apps/basechurch/spec}/acceptance/groups_spec.rb (100%) rename {spec => apps/basechurch/spec}/acceptance/posts_spec.rb (100%) rename {spec => apps/basechurch/spec}/acceptance/sermons_spec.rb (100%) rename {spec => apps/basechurch/spec}/acceptance/users_spec.rb (100%) rename {spec => apps/basechurch/spec}/controllers/concerns/.keep (100%) rename {spec => apps/basechurch/spec}/controllers/registrations_controller_spec.rb (100%) rename {spec => apps/basechurch/spec}/controllers/sessions_controller_spec.rb (100%) rename {spec => apps/basechurch/spec}/lib/random_filename_spec.rb (100%) rename {spec => apps/basechurch/spec}/lib/s3_signer_spec.rb (100%) rename {spec => apps/basechurch/spec}/models/announcement_spec.rb (100%) rename {spec => apps/basechurch/spec}/models/bulletin_spec.rb (100%) rename {spec => apps/basechurch/spec}/models/group_spec.rb (100%) rename {spec => apps/basechurch/spec}/models/post_spec.rb (100%) rename {spec => apps/basechurch/spec}/models/sermon_spec.rb (100%) rename {spec => apps/basechurch/spec}/models/user_spec.rb (100%) rename {spec => apps/basechurch/spec}/rails_helper.rb (100%) rename {spec => apps/basechurch/spec}/resources/api/v1/announcement_resource_spec.rb (100%) rename {spec => apps/basechurch/spec}/resources/api/v1/bulletin_resource_spec.rb (100%) rename {spec => apps/basechurch/spec}/resources/api/v1/group_resource_spec.rb (100%) rename {spec => apps/basechurch/spec}/resources/api/v1/post_resource_spec.rb (100%) rename {spec => apps/basechurch/spec}/resources/api/v1/sermon_resource_spec.rb (100%) rename {spec => apps/basechurch/spec}/resources/api/v1/user_resource_spec.rb (100%) rename {spec => apps/basechurch/spec}/routing/announcements_routing_spec.rb (100%) rename {spec => apps/basechurch/spec}/routing/bulletins_routing_spec.rb (100%) rename {spec => apps/basechurch/spec}/routing/groups_routing_spec.rb (100%) rename {spec => apps/basechurch/spec}/routing/posts_routing_spec.rb (100%) rename {spec => apps/basechurch/spec}/spec_helper.rb (100%) rename {spec => apps/basechurch/spec}/support/devise.rb (100%) rename {spec => apps/basechurch/spec}/support/factories/announcements.rb (100%) rename {spec => apps/basechurch/spec}/support/factories/attachments.rb (100%) rename {spec => apps/basechurch/spec}/support/factories/bulletins.rb (100%) rename {spec => apps/basechurch/spec}/support/factories/groups.rb (100%) rename {spec => apps/basechurch/spec}/support/factories/posts.rb (100%) rename {spec => apps/basechurch/spec}/support/factories/sermons.rb (100%) rename {spec => apps/basechurch/spec}/support/factories/users.rb (100%) rename {spec => apps/basechurch/spec}/support/factory_girl.rb (100%) rename {spec => apps/basechurch/spec}/support/request_helpers.rb (100%) rename {spec => apps/basechurch/spec}/support/shared_examples/authenticated_action.rb (100%) rename {spec => apps/basechurch/spec}/support/shared_examples/has_attachment.rb (100%) rename {spec => apps/basechurch/spec}/support/shared_examples/s3_signing.rb (100%) rename {spec => apps/basechurch/spec}/validators/iso8601_validator_spec.rb (100%) delete mode 100644 config/chef/site-cookbooks/.gitkeep diff --git a/.gitignore b/.gitignore index 2187948..f626790 100644 --- a/.gitignore +++ b/.gitignore @@ -1,27 +1,18 @@ -# See https://help.github.com/articles/ignoring-files for more about ignoring files. -# -# If you find yourself ignoring temporary files generated by your text editor -# or operating system, you probably want to add a global ignore instead: -# git config --global core.excludesfile '~/.gitignore_global' +.bundle -# Ignore bundler config. -/.bundle +apps/basechurch/build +apps/basechurch/coverage -/build - -/coverage - -/db/*.sqlite3 -/db/*.sqlite3-journal -/log/*.log -/tmp -/bin -/doc +apps/basechurch/db/*.sqlite3 +apps/basechurch/db/*.sqlite3-journal +apps/basechurch/log/*.log +apps/basechurch/tmp +apps/basechurch/bin +apps/basechurch/doc +apps/basechurch/public production-secrets.yml development-secrets.yml staging-secrets.yml -public dump.rdb -config/secrets.yml diff --git a/.ruby-version b/.ruby-version deleted file mode 100644 index 2bf1c1c..0000000 --- a/.ruby-version +++ /dev/null @@ -1 +0,0 @@ -2.3.1 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 8c7f649..0000000 --- a/.travis.yml +++ /dev/null @@ -1,13 +0,0 @@ -language: ruby -rvm: -- 2.3.1 -script: - - RAILS_ENV=test bundle exec rake db:migrate --trace - - bundle exec rake -addons: - code_climate: - repo_token: - secure: eKtahgCOYZC/FzHgPSRYWLG/c7dRelaUZgCHV5TyoIn+akelAPRs+B334J8ahAfArLIVL2iUNpGQVdbDAMyQNd0BcQROkzj2qicGX5BTpaGRjDRHOVUDpevykZJl6oqy4WjvMevSp2xxY1ejZmbOwW/NzRQfSd79ekxGr+J0V/0= -notifications: - slack: - secure: G6VLedqT8kXanccqUeRRej2aXkR0SMFSwCBX/hbsNy+qoC7WSTFjMr98ijTn3eTykz1nBk+d2d2sfSm5dreIsl7jsF+eqHYKmZzGb13/YG6lvf2+GNyFduhoKJC3NWj1dqPO2QS+8g9YYBpGJIpnlp+PkSck5ewqd+mDXr53QbA= diff --git a/.hound.yml b/apps/basechurch/.hound.yml similarity index 100% rename from .hound.yml rename to apps/basechurch/.hound.yml diff --git a/.rspec b/apps/basechurch/.rspec similarity index 100% rename from .rspec rename to apps/basechurch/.rspec diff --git a/CONTRIBUTING.md b/apps/basechurch/CONTRIBUTING.md similarity index 100% rename from CONTRIBUTING.md rename to apps/basechurch/CONTRIBUTING.md diff --git a/Capfile b/apps/basechurch/Capfile similarity index 100% rename from Capfile rename to apps/basechurch/Capfile diff --git a/Gemfile b/apps/basechurch/Gemfile similarity index 100% rename from Gemfile rename to apps/basechurch/Gemfile diff --git a/Gemfile.lock b/apps/basechurch/Gemfile.lock similarity index 100% rename from Gemfile.lock rename to apps/basechurch/Gemfile.lock diff --git a/Guardfile b/apps/basechurch/Guardfile similarity index 100% rename from Guardfile rename to apps/basechurch/Guardfile diff --git a/MIT-LICENSE b/apps/basechurch/MIT-LICENSE similarity index 100% rename from MIT-LICENSE rename to apps/basechurch/MIT-LICENSE diff --git a/README.md b/apps/basechurch/README.md similarity index 100% rename from README.md rename to apps/basechurch/README.md diff --git a/Rakefile b/apps/basechurch/Rakefile similarity index 100% rename from Rakefile rename to apps/basechurch/Rakefile diff --git a/app/assets/images/basechurch/.keep b/apps/basechurch/app/assets/images/basechurch/.keep similarity index 100% rename from app/assets/images/basechurch/.keep rename to apps/basechurch/app/assets/images/basechurch/.keep diff --git a/app/assets/javascripts/basechurch/application.js b/apps/basechurch/app/assets/javascripts/basechurch/application.js similarity index 100% rename from app/assets/javascripts/basechurch/application.js rename to apps/basechurch/app/assets/javascripts/basechurch/application.js diff --git a/app/assets/stylesheets/basechurch/application.css b/apps/basechurch/app/assets/stylesheets/basechurch/application.css similarity index 100% rename from app/assets/stylesheets/basechurch/application.css rename to apps/basechurch/app/assets/stylesheets/basechurch/application.css diff --git a/app/controllers/api/v1/announcements_controller.rb b/apps/basechurch/app/controllers/api/v1/announcements_controller.rb similarity index 100% rename from app/controllers/api/v1/announcements_controller.rb rename to apps/basechurch/app/controllers/api/v1/announcements_controller.rb diff --git a/app/controllers/api/v1/bulletins_controller.rb b/apps/basechurch/app/controllers/api/v1/bulletins_controller.rb similarity index 100% rename from app/controllers/api/v1/bulletins_controller.rb rename to apps/basechurch/app/controllers/api/v1/bulletins_controller.rb diff --git a/app/controllers/api/v1/groups_controller.rb b/apps/basechurch/app/controllers/api/v1/groups_controller.rb similarity index 100% rename from app/controllers/api/v1/groups_controller.rb rename to apps/basechurch/app/controllers/api/v1/groups_controller.rb diff --git a/app/controllers/api/v1/posts_controller.rb b/apps/basechurch/app/controllers/api/v1/posts_controller.rb similarity index 100% rename from app/controllers/api/v1/posts_controller.rb rename to apps/basechurch/app/controllers/api/v1/posts_controller.rb diff --git a/app/controllers/api/v1/sermons_controller.rb b/apps/basechurch/app/controllers/api/v1/sermons_controller.rb similarity index 100% rename from app/controllers/api/v1/sermons_controller.rb rename to apps/basechurch/app/controllers/api/v1/sermons_controller.rb diff --git a/app/controllers/api/v1/users_controller.rb b/apps/basechurch/app/controllers/api/v1/users_controller.rb similarity index 100% rename from app/controllers/api/v1/users_controller.rb rename to apps/basechurch/app/controllers/api/v1/users_controller.rb diff --git a/app/controllers/application_controller.rb b/apps/basechurch/app/controllers/application_controller.rb similarity index 100% rename from app/controllers/application_controller.rb rename to apps/basechurch/app/controllers/application_controller.rb diff --git a/app/controllers/application_resource_controller.rb b/apps/basechurch/app/controllers/application_resource_controller.rb similarity index 100% rename from app/controllers/application_resource_controller.rb rename to apps/basechurch/app/controllers/application_resource_controller.rb diff --git a/app/controllers/landing_controller.rb b/apps/basechurch/app/controllers/landing_controller.rb similarity index 100% rename from app/controllers/landing_controller.rb rename to apps/basechurch/app/controllers/landing_controller.rb diff --git a/app/controllers/passwords_controller.rb b/apps/basechurch/app/controllers/passwords_controller.rb similarity index 100% rename from app/controllers/passwords_controller.rb rename to apps/basechurch/app/controllers/passwords_controller.rb diff --git a/app/controllers/registrations_controller.rb b/apps/basechurch/app/controllers/registrations_controller.rb similarity index 100% rename from app/controllers/registrations_controller.rb rename to apps/basechurch/app/controllers/registrations_controller.rb diff --git a/app/controllers/sessions_controller.rb b/apps/basechurch/app/controllers/sessions_controller.rb similarity index 100% rename from app/controllers/sessions_controller.rb rename to apps/basechurch/app/controllers/sessions_controller.rb diff --git a/app/helpers/application_helper.rb b/apps/basechurch/app/helpers/application_helper.rb similarity index 100% rename from app/helpers/application_helper.rb rename to apps/basechurch/app/helpers/application_helper.rb diff --git a/app/lib/basechurch_resource_serializer.rb b/apps/basechurch/app/lib/basechurch_resource_serializer.rb similarity index 100% rename from app/lib/basechurch_resource_serializer.rb rename to apps/basechurch/app/lib/basechurch_resource_serializer.rb diff --git a/app/lib/random_filename.rb b/apps/basechurch/app/lib/random_filename.rb similarity index 100% rename from app/lib/random_filename.rb rename to apps/basechurch/app/lib/random_filename.rb diff --git a/app/lib/s3_signer.rb b/apps/basechurch/app/lib/s3_signer.rb similarity index 100% rename from app/lib/s3_signer.rb rename to apps/basechurch/app/lib/s3_signer.rb diff --git a/app/middleware/selective_stack.rb b/apps/basechurch/app/middleware/selective_stack.rb similarity index 100% rename from app/middleware/selective_stack.rb rename to apps/basechurch/app/middleware/selective_stack.rb diff --git a/app/models/announcement.rb b/apps/basechurch/app/models/announcement.rb similarity index 100% rename from app/models/announcement.rb rename to apps/basechurch/app/models/announcement.rb diff --git a/app/models/attachment.rb b/apps/basechurch/app/models/attachment.rb similarity index 100% rename from app/models/attachment.rb rename to apps/basechurch/app/models/attachment.rb diff --git a/app/models/bulletin.rb b/apps/basechurch/app/models/bulletin.rb similarity index 100% rename from app/models/bulletin.rb rename to apps/basechurch/app/models/bulletin.rb diff --git a/app/models/concerns/.keep b/apps/basechurch/app/models/concerns/.keep similarity index 100% rename from app/models/concerns/.keep rename to apps/basechurch/app/models/concerns/.keep diff --git a/app/models/group.rb b/apps/basechurch/app/models/group.rb similarity index 100% rename from app/models/group.rb rename to apps/basechurch/app/models/group.rb diff --git a/app/models/post.rb b/apps/basechurch/app/models/post.rb similarity index 100% rename from app/models/post.rb rename to apps/basechurch/app/models/post.rb diff --git a/app/models/sermon.rb b/apps/basechurch/app/models/sermon.rb similarity index 100% rename from app/models/sermon.rb rename to apps/basechurch/app/models/sermon.rb diff --git a/app/models/user.rb b/apps/basechurch/app/models/user.rb similarity index 100% rename from app/models/user.rb rename to apps/basechurch/app/models/user.rb diff --git a/app/resources/api/v1/announcement_resource.rb b/apps/basechurch/app/resources/api/v1/announcement_resource.rb similarity index 100% rename from app/resources/api/v1/announcement_resource.rb rename to apps/basechurch/app/resources/api/v1/announcement_resource.rb diff --git a/app/resources/api/v1/bulletin_resource.rb b/apps/basechurch/app/resources/api/v1/bulletin_resource.rb similarity index 100% rename from app/resources/api/v1/bulletin_resource.rb rename to apps/basechurch/app/resources/api/v1/bulletin_resource.rb diff --git a/app/resources/api/v1/group_resource.rb b/apps/basechurch/app/resources/api/v1/group_resource.rb similarity index 100% rename from app/resources/api/v1/group_resource.rb rename to apps/basechurch/app/resources/api/v1/group_resource.rb diff --git a/app/resources/api/v1/post_resource.rb b/apps/basechurch/app/resources/api/v1/post_resource.rb similarity index 100% rename from app/resources/api/v1/post_resource.rb rename to apps/basechurch/app/resources/api/v1/post_resource.rb diff --git a/app/resources/api/v1/sermon_resource.rb b/apps/basechurch/app/resources/api/v1/sermon_resource.rb similarity index 100% rename from app/resources/api/v1/sermon_resource.rb rename to apps/basechurch/app/resources/api/v1/sermon_resource.rb diff --git a/app/resources/api/v1/user_resource.rb b/apps/basechurch/app/resources/api/v1/user_resource.rb similarity index 100% rename from app/resources/api/v1/user_resource.rb rename to apps/basechurch/app/resources/api/v1/user_resource.rb diff --git a/app/settings/aws_settings.rb b/apps/basechurch/app/settings/aws_settings.rb similarity index 100% rename from app/settings/aws_settings.rb rename to apps/basechurch/app/settings/aws_settings.rb diff --git a/app/settings/redis_settings.rb b/apps/basechurch/app/settings/redis_settings.rb similarity index 100% rename from app/settings/redis_settings.rb rename to apps/basechurch/app/settings/redis_settings.rb diff --git a/app/settings/secrets.rb b/apps/basechurch/app/settings/secrets.rb similarity index 100% rename from app/settings/secrets.rb rename to apps/basechurch/app/settings/secrets.rb diff --git a/app/validators/iso8601_validator.rb b/apps/basechurch/app/validators/iso8601_validator.rb similarity index 100% rename from app/validators/iso8601_validator.rb rename to apps/basechurch/app/validators/iso8601_validator.rb diff --git a/app/value_formatters/iso8601_value_formatter.rb b/apps/basechurch/app/value_formatters/iso8601_value_formatter.rb similarity index 100% rename from app/value_formatters/iso8601_value_formatter.rb rename to apps/basechurch/app/value_formatters/iso8601_value_formatter.rb diff --git a/app/views/layouts/basechurch/application.html.erb b/apps/basechurch/app/views/layouts/basechurch/application.html.erb similarity index 100% rename from app/views/layouts/basechurch/application.html.erb rename to apps/basechurch/app/views/layouts/basechurch/application.html.erb diff --git a/config.ru b/apps/basechurch/config.ru similarity index 100% rename from config.ru rename to apps/basechurch/config.ru diff --git a/config/application.rb b/apps/basechurch/config/application.rb similarity index 100% rename from config/application.rb rename to apps/basechurch/config/application.rb diff --git a/config/aws.yml b/apps/basechurch/config/aws.yml similarity index 100% rename from config/aws.yml rename to apps/basechurch/config/aws.yml diff --git a/config/boot.rb b/apps/basechurch/config/boot.rb similarity index 100% rename from config/boot.rb rename to apps/basechurch/config/boot.rb diff --git a/config/chef/.chef/knife.rb b/apps/basechurch/config/chef/.chef/knife.rb similarity index 100% rename from config/chef/.chef/knife.rb rename to apps/basechurch/config/chef/.chef/knife.rb diff --git a/config/chef/.gitignore b/apps/basechurch/config/chef/.gitignore similarity index 100% rename from config/chef/.gitignore rename to apps/basechurch/config/chef/.gitignore diff --git a/config/chef/cookbooks/.gitkeep b/apps/basechurch/config/chef/data_bags/.gitkeep similarity index 100% rename from config/chef/cookbooks/.gitkeep rename to apps/basechurch/config/chef/data_bags/.gitkeep diff --git a/config/chef/data_bags/.gitkeep b/apps/basechurch/config/chef/environments/.gitkeep similarity index 100% rename from config/chef/data_bags/.gitkeep rename to apps/basechurch/config/chef/environments/.gitkeep diff --git a/config/chef/environments/.gitkeep b/apps/basechurch/config/chef/nodes/.gitkeep similarity index 100% rename from config/chef/environments/.gitkeep rename to apps/basechurch/config/chef/nodes/.gitkeep diff --git a/config/chef/nodes/104.131.162.148.json b/apps/basechurch/config/chef/nodes/104.131.162.148.json similarity index 100% rename from config/chef/nodes/104.131.162.148.json rename to apps/basechurch/config/chef/nodes/104.131.162.148.json diff --git a/config/chef/nodes/104.131.66.72.json b/apps/basechurch/config/chef/nodes/104.131.66.72.json similarity index 100% rename from config/chef/nodes/104.131.66.72.json rename to apps/basechurch/config/chef/nodes/104.131.66.72.json diff --git a/config/chef/nodes/.gitkeep b/apps/basechurch/config/chef/roles/.gitkeep similarity index 100% rename from config/chef/nodes/.gitkeep rename to apps/basechurch/config/chef/roles/.gitkeep diff --git a/config/chef/roles/.gitkeep b/apps/basechurch/config/chef/site-cookbooks/.gitkeep similarity index 100% rename from config/chef/roles/.gitkeep rename to apps/basechurch/config/chef/site-cookbooks/.gitkeep diff --git a/config/chef/site-cookbooks/mcac/CHANGELOG.md b/apps/basechurch/config/chef/site-cookbooks/mcac/CHANGELOG.md similarity index 100% rename from config/chef/site-cookbooks/mcac/CHANGELOG.md rename to apps/basechurch/config/chef/site-cookbooks/mcac/CHANGELOG.md diff --git a/config/chef/site-cookbooks/mcac/README.md b/apps/basechurch/config/chef/site-cookbooks/mcac/README.md similarity index 100% rename from config/chef/site-cookbooks/mcac/README.md rename to apps/basechurch/config/chef/site-cookbooks/mcac/README.md diff --git a/config/chef/site-cookbooks/mcac/attributes/default.rb b/apps/basechurch/config/chef/site-cookbooks/mcac/attributes/default.rb similarity index 100% rename from config/chef/site-cookbooks/mcac/attributes/default.rb rename to apps/basechurch/config/chef/site-cookbooks/mcac/attributes/default.rb diff --git a/config/chef/site-cookbooks/mcac/files/default/bash_profile b/apps/basechurch/config/chef/site-cookbooks/mcac/files/default/bash_profile similarity index 100% rename from config/chef/site-cookbooks/mcac/files/default/bash_profile rename to apps/basechurch/config/chef/site-cookbooks/mcac/files/default/bash_profile diff --git a/config/chef/site-cookbooks/mcac/metadata.rb b/apps/basechurch/config/chef/site-cookbooks/mcac/metadata.rb similarity index 100% rename from config/chef/site-cookbooks/mcac/metadata.rb rename to apps/basechurch/config/chef/site-cookbooks/mcac/metadata.rb diff --git a/config/chef/site-cookbooks/mcac/recipes/app.rb b/apps/basechurch/config/chef/site-cookbooks/mcac/recipes/app.rb similarity index 100% rename from config/chef/site-cookbooks/mcac/recipes/app.rb rename to apps/basechurch/config/chef/site-cookbooks/mcac/recipes/app.rb diff --git a/config/chef/site-cookbooks/mcac/recipes/default.rb b/apps/basechurch/config/chef/site-cookbooks/mcac/recipes/default.rb similarity index 100% rename from config/chef/site-cookbooks/mcac/recipes/default.rb rename to apps/basechurch/config/chef/site-cookbooks/mcac/recipes/default.rb diff --git a/config/chef/site-cookbooks/mcac/recipes/nginx.rb b/apps/basechurch/config/chef/site-cookbooks/mcac/recipes/nginx.rb similarity index 100% rename from config/chef/site-cookbooks/mcac/recipes/nginx.rb rename to apps/basechurch/config/chef/site-cookbooks/mcac/recipes/nginx.rb diff --git a/config/chef/site-cookbooks/mcac/recipes/postgres.rb b/apps/basechurch/config/chef/site-cookbooks/mcac/recipes/postgres.rb similarity index 100% rename from config/chef/site-cookbooks/mcac/recipes/postgres.rb rename to apps/basechurch/config/chef/site-cookbooks/mcac/recipes/postgres.rb diff --git a/config/chef/site-cookbooks/mcac/recipes/rbenv.rb b/apps/basechurch/config/chef/site-cookbooks/mcac/recipes/rbenv.rb similarity index 100% rename from config/chef/site-cookbooks/mcac/recipes/rbenv.rb rename to apps/basechurch/config/chef/site-cookbooks/mcac/recipes/rbenv.rb diff --git a/config/chef/site-cookbooks/mcac/recipes/redis.rb b/apps/basechurch/config/chef/site-cookbooks/mcac/recipes/redis.rb similarity index 100% rename from config/chef/site-cookbooks/mcac/recipes/redis.rb rename to apps/basechurch/config/chef/site-cookbooks/mcac/recipes/redis.rb diff --git a/config/chef/site-cookbooks/mcac/recipes/ssh.rb b/apps/basechurch/config/chef/site-cookbooks/mcac/recipes/ssh.rb similarity index 100% rename from config/chef/site-cookbooks/mcac/recipes/ssh.rb rename to apps/basechurch/config/chef/site-cookbooks/mcac/recipes/ssh.rb diff --git a/config/chef/site-cookbooks/mcac/recipes/users.rb b/apps/basechurch/config/chef/site-cookbooks/mcac/recipes/users.rb similarity index 100% rename from config/chef/site-cookbooks/mcac/recipes/users.rb rename to apps/basechurch/config/chef/site-cookbooks/mcac/recipes/users.rb diff --git a/config/chef/site-cookbooks/mcac/templates/database.yml.erb b/apps/basechurch/config/chef/site-cookbooks/mcac/templates/database.yml.erb similarity index 100% rename from config/chef/site-cookbooks/mcac/templates/database.yml.erb rename to apps/basechurch/config/chef/site-cookbooks/mcac/templates/database.yml.erb diff --git a/config/chef/site-cookbooks/mcac/templates/nginx.conf.erb b/apps/basechurch/config/chef/site-cookbooks/mcac/templates/nginx.conf.erb similarity index 100% rename from config/chef/site-cookbooks/mcac/templates/nginx.conf.erb rename to apps/basechurch/config/chef/site-cookbooks/mcac/templates/nginx.conf.erb diff --git a/config/chef/site-cookbooks/mcac/templates/unicorn.rb.erb b/apps/basechurch/config/chef/site-cookbooks/mcac/templates/unicorn.rb.erb similarity index 100% rename from config/chef/site-cookbooks/mcac/templates/unicorn.rb.erb rename to apps/basechurch/config/chef/site-cookbooks/mcac/templates/unicorn.rb.erb diff --git a/config/chef/site-cookbooks/mcac/templates/unicorn.sh.erb b/apps/basechurch/config/chef/site-cookbooks/mcac/templates/unicorn.sh.erb similarity index 100% rename from config/chef/site-cookbooks/mcac/templates/unicorn.sh.erb rename to apps/basechurch/config/chef/site-cookbooks/mcac/templates/unicorn.sh.erb diff --git a/config/database.yml b/apps/basechurch/config/database.yml similarity index 100% rename from config/database.yml rename to apps/basechurch/config/database.yml diff --git a/config/deploy.rb b/apps/basechurch/config/deploy.rb similarity index 100% rename from config/deploy.rb rename to apps/basechurch/config/deploy.rb diff --git a/config/deploy/production.rb b/apps/basechurch/config/deploy/production.rb similarity index 100% rename from config/deploy/production.rb rename to apps/basechurch/config/deploy/production.rb diff --git a/config/deploy/staging.rb b/apps/basechurch/config/deploy/staging.rb similarity index 100% rename from config/deploy/staging.rb rename to apps/basechurch/config/deploy/staging.rb diff --git a/config/environment.rb b/apps/basechurch/config/environment.rb similarity index 100% rename from config/environment.rb rename to apps/basechurch/config/environment.rb diff --git a/config/environments/development.rb b/apps/basechurch/config/environments/development.rb similarity index 100% rename from config/environments/development.rb rename to apps/basechurch/config/environments/development.rb diff --git a/config/environments/production.rb b/apps/basechurch/config/environments/production.rb similarity index 100% rename from config/environments/production.rb rename to apps/basechurch/config/environments/production.rb diff --git a/config/environments/staging.rb b/apps/basechurch/config/environments/staging.rb similarity index 100% rename from config/environments/staging.rb rename to apps/basechurch/config/environments/staging.rb diff --git a/config/environments/test.rb b/apps/basechurch/config/environments/test.rb similarity index 100% rename from config/environments/test.rb rename to apps/basechurch/config/environments/test.rb diff --git a/config/initializers/devise.rb b/apps/basechurch/config/initializers/devise.rb similarity index 100% rename from config/initializers/devise.rb rename to apps/basechurch/config/initializers/devise.rb diff --git a/config/initializers/devise_token_auth.rb b/apps/basechurch/config/initializers/devise_token_auth.rb similarity index 100% rename from config/initializers/devise_token_auth.rb rename to apps/basechurch/config/initializers/devise_token_auth.rb diff --git a/config/initializers/extensions.rb b/apps/basechurch/config/initializers/extensions.rb similarity index 100% rename from config/initializers/extensions.rb rename to apps/basechurch/config/initializers/extensions.rb diff --git a/config/initializers/friendly_id.rb b/apps/basechurch/config/initializers/friendly_id.rb similarity index 100% rename from config/initializers/friendly_id.rb rename to apps/basechurch/config/initializers/friendly_id.rb diff --git a/config/initializers/jsonapi_resources.rb b/apps/basechurch/config/initializers/jsonapi_resources.rb similarity index 100% rename from config/initializers/jsonapi_resources.rb rename to apps/basechurch/config/initializers/jsonapi_resources.rb diff --git a/config/initializers/omniauth.rb b/apps/basechurch/config/initializers/omniauth.rb similarity index 100% rename from config/initializers/omniauth.rb rename to apps/basechurch/config/initializers/omniauth.rb diff --git a/config/initializers/rspec_api_documentation.rb b/apps/basechurch/config/initializers/rspec_api_documentation.rb similarity index 100% rename from config/initializers/rspec_api_documentation.rb rename to apps/basechurch/config/initializers/rspec_api_documentation.rb diff --git a/config/initializers/sidekiq.rb b/apps/basechurch/config/initializers/sidekiq.rb similarity index 100% rename from config/initializers/sidekiq.rb rename to apps/basechurch/config/initializers/sidekiq.rb diff --git a/config/initializers/wrap_parameters.rb b/apps/basechurch/config/initializers/wrap_parameters.rb similarity index 100% rename from config/initializers/wrap_parameters.rb rename to apps/basechurch/config/initializers/wrap_parameters.rb diff --git a/config/redis.yml b/apps/basechurch/config/redis.yml similarity index 100% rename from config/redis.yml rename to apps/basechurch/config/redis.yml diff --git a/config/routes.rb b/apps/basechurch/config/routes.rb similarity index 100% rename from config/routes.rb rename to apps/basechurch/config/routes.rb diff --git a/config/secrets.yml b/apps/basechurch/config/secrets.yml similarity index 100% rename from config/secrets.yml rename to apps/basechurch/config/secrets.yml diff --git a/config/secrets.yml.example b/apps/basechurch/config/secrets.yml.example similarity index 100% rename from config/secrets.yml.example rename to apps/basechurch/config/secrets.yml.example diff --git a/config/test-secrets.yml b/apps/basechurch/config/test-secrets.yml similarity index 100% rename from config/test-secrets.yml rename to apps/basechurch/config/test-secrets.yml diff --git a/db/migrate/20141104023408_create_users.rb b/apps/basechurch/db/migrate/20141104023408_create_users.rb similarity index 100% rename from db/migrate/20141104023408_create_users.rb rename to apps/basechurch/db/migrate/20141104023408_create_users.rb diff --git a/db/migrate/20141104050710_acts_as_taggable_on_migration.acts_as_taggable_on_engine.rb b/apps/basechurch/db/migrate/20141104050710_acts_as_taggable_on_migration.acts_as_taggable_on_engine.rb similarity index 100% rename from db/migrate/20141104050710_acts_as_taggable_on_migration.acts_as_taggable_on_engine.rb rename to apps/basechurch/db/migrate/20141104050710_acts_as_taggable_on_migration.acts_as_taggable_on_engine.rb diff --git a/db/migrate/20141104050711_add_missing_unique_indices.acts_as_taggable_on_engine.rb b/apps/basechurch/db/migrate/20141104050711_add_missing_unique_indices.acts_as_taggable_on_engine.rb similarity index 100% rename from db/migrate/20141104050711_add_missing_unique_indices.acts_as_taggable_on_engine.rb rename to apps/basechurch/db/migrate/20141104050711_add_missing_unique_indices.acts_as_taggable_on_engine.rb diff --git a/db/migrate/20141104050712_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb b/apps/basechurch/db/migrate/20141104050712_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb similarity index 100% rename from db/migrate/20141104050712_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb rename to apps/basechurch/db/migrate/20141104050712_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb diff --git a/db/migrate/20141104050713_add_missing_taggable_index.acts_as_taggable_on_engine.rb b/apps/basechurch/db/migrate/20141104050713_add_missing_taggable_index.acts_as_taggable_on_engine.rb similarity index 100% rename from db/migrate/20141104050713_add_missing_taggable_index.acts_as_taggable_on_engine.rb rename to apps/basechurch/db/migrate/20141104050713_add_missing_taggable_index.acts_as_taggable_on_engine.rb diff --git a/db/migrate/20141104050852_create_groups.rb b/apps/basechurch/db/migrate/20141104050852_create_groups.rb similarity index 100% rename from db/migrate/20141104050852_create_groups.rb rename to apps/basechurch/db/migrate/20141104050852_create_groups.rb diff --git a/db/migrate/20141107023441_create_bulletins.rb b/apps/basechurch/db/migrate/20141107023441_create_bulletins.rb similarity index 100% rename from db/migrate/20141107023441_create_bulletins.rb rename to apps/basechurch/db/migrate/20141107023441_create_bulletins.rb diff --git a/db/migrate/20141107024218_add_group_id_to_bulletins.rb b/apps/basechurch/db/migrate/20141107024218_add_group_id_to_bulletins.rb similarity index 100% rename from db/migrate/20141107024218_add_group_id_to_bulletins.rb rename to apps/basechurch/db/migrate/20141107024218_add_group_id_to_bulletins.rb diff --git a/db/migrate/20141115220442_rename_date_column.rb b/apps/basechurch/db/migrate/20141115220442_rename_date_column.rb similarity index 100% rename from db/migrate/20141115220442_rename_date_column.rb rename to apps/basechurch/db/migrate/20141115220442_rename_date_column.rb diff --git a/db/migrate/20141122193506_create_api_keys.rb b/apps/basechurch/db/migrate/20141122193506_create_api_keys.rb similarity index 100% rename from db/migrate/20141122193506_create_api_keys.rb rename to apps/basechurch/db/migrate/20141122193506_create_api_keys.rb diff --git a/db/migrate/20141127050515_create_posts.rb b/apps/basechurch/db/migrate/20141127050515_create_posts.rb similarity index 100% rename from db/migrate/20141127050515_create_posts.rb rename to apps/basechurch/db/migrate/20141127050515_create_posts.rb diff --git a/db/migrate/20141130222902_create_friendly_id_slugs.rb b/apps/basechurch/db/migrate/20141130222902_create_friendly_id_slugs.rb similarity index 100% rename from db/migrate/20141130222902_create_friendly_id_slugs.rb rename to apps/basechurch/db/migrate/20141130222902_create_friendly_id_slugs.rb diff --git a/db/migrate/20141216021608_create_announcements.rb b/apps/basechurch/db/migrate/20141216021608_create_announcements.rb similarity index 100% rename from db/migrate/20141216021608_create_announcements.rb rename to apps/basechurch/db/migrate/20141216021608_create_announcements.rb diff --git a/db/migrate/20141227065555_add_slug_to_basechurch_groups.rb b/apps/basechurch/db/migrate/20141227065555_add_slug_to_basechurch_groups.rb similarity index 100% rename from db/migrate/20141227065555_add_slug_to_basechurch_groups.rb rename to apps/basechurch/db/migrate/20141227065555_add_slug_to_basechurch_groups.rb diff --git a/db/migrate/20150506020938_add_url_to_announcements.rb b/apps/basechurch/db/migrate/20150506020938_add_url_to_announcements.rb similarity index 100% rename from db/migrate/20150506020938_add_url_to_announcements.rb rename to apps/basechurch/db/migrate/20150506020938_add_url_to_announcements.rb diff --git a/db/migrate/20150517033542_add_banner_url_to_bulletins.rb b/apps/basechurch/db/migrate/20150517033542_add_banner_url_to_bulletins.rb similarity index 100% rename from db/migrate/20150517033542_add_banner_url_to_bulletins.rb rename to apps/basechurch/db/migrate/20150517033542_add_banner_url_to_bulletins.rb diff --git a/db/migrate/20150525002323_add_sermon_notes_to_bulletins.rb b/apps/basechurch/db/migrate/20150525002323_add_sermon_notes_to_bulletins.rb similarity index 100% rename from db/migrate/20150525002323_add_sermon_notes_to_bulletins.rb rename to apps/basechurch/db/migrate/20150525002323_add_sermon_notes_to_bulletins.rb diff --git a/db/migrate/20150527041615_add_audio_url_to_bulletins.rb b/apps/basechurch/db/migrate/20150527041615_add_audio_url_to_bulletins.rb similarity index 100% rename from db/migrate/20150527041615_add_audio_url_to_bulletins.rb rename to apps/basechurch/db/migrate/20150527041615_add_audio_url_to_bulletins.rb diff --git a/db/migrate/20150530024856_add_banner_url_to_post.rb b/apps/basechurch/db/migrate/20150530024856_add_banner_url_to_post.rb similarity index 100% rename from db/migrate/20150530024856_add_banner_url_to_post.rb rename to apps/basechurch/db/migrate/20150530024856_add_banner_url_to_post.rb diff --git a/db/migrate/20150714004207_add_about_and_banner_url_to_groups.rb b/apps/basechurch/db/migrate/20150714004207_add_about_and_banner_url_to_groups.rb similarity index 100% rename from db/migrate/20150714004207_add_about_and_banner_url_to_groups.rb rename to apps/basechurch/db/migrate/20150714004207_add_about_and_banner_url_to_groups.rb diff --git a/db/migrate/20150807030656_create_attachments.rb b/apps/basechurch/db/migrate/20150807030656_create_attachments.rb similarity index 100% rename from db/migrate/20150807030656_create_attachments.rb rename to apps/basechurch/db/migrate/20150807030656_create_attachments.rb diff --git a/db/migrate/20150808012750_remove_banner_url_from_post.rb b/apps/basechurch/db/migrate/20150808012750_remove_banner_url_from_post.rb similarity index 100% rename from db/migrate/20150808012750_remove_banner_url_from_post.rb rename to apps/basechurch/db/migrate/20150808012750_remove_banner_url_from_post.rb diff --git a/db/migrate/20150808025204_remove_banner_url_and_audio_url_from_bulletins.rb b/apps/basechurch/db/migrate/20150808025204_remove_banner_url_and_audio_url_from_bulletins.rb similarity index 100% rename from db/migrate/20150808025204_remove_banner_url_and_audio_url_from_bulletins.rb rename to apps/basechurch/db/migrate/20150808025204_remove_banner_url_and_audio_url_from_bulletins.rb diff --git a/db/migrate/20150825021220_remove_attachments.rb b/apps/basechurch/db/migrate/20150825021220_remove_attachments.rb similarity index 100% rename from db/migrate/20150825021220_remove_attachments.rb rename to apps/basechurch/db/migrate/20150825021220_remove_attachments.rb diff --git a/db/migrate/20150826021028_create_basechurch_attachments.rb b/apps/basechurch/db/migrate/20150826021028_create_basechurch_attachments.rb similarity index 100% rename from db/migrate/20150826021028_create_basechurch_attachments.rb rename to apps/basechurch/db/migrate/20150826021028_create_basechurch_attachments.rb diff --git a/db/migrate/20150913035436_rename_basechurch_tables.rb b/apps/basechurch/db/migrate/20150913035436_rename_basechurch_tables.rb similarity index 100% rename from db/migrate/20150913035436_rename_basechurch_tables.rb rename to apps/basechurch/db/migrate/20150913035436_rename_basechurch_tables.rb diff --git a/db/migrate/20160309214255_add_kind_to_posts.rb b/apps/basechurch/db/migrate/20160309214255_add_kind_to_posts.rb similarity index 100% rename from db/migrate/20160309214255_add_kind_to_posts.rb rename to apps/basechurch/db/migrate/20160309214255_add_kind_to_posts.rb diff --git a/db/migrate/20160414233629_add_details_to_groups.rb b/apps/basechurch/db/migrate/20160414233629_add_details_to_groups.rb similarity index 100% rename from db/migrate/20160414233629_add_details_to_groups.rb rename to apps/basechurch/db/migrate/20160414233629_add_details_to_groups.rb diff --git a/db/migrate/20160621012226_create_sermons.rb b/apps/basechurch/db/migrate/20160621012226_create_sermons.rb similarity index 100% rename from db/migrate/20160621012226_create_sermons.rb rename to apps/basechurch/db/migrate/20160621012226_create_sermons.rb diff --git a/db/migrate/20160624024551_add_sermon_id_to_bulletins.rb b/apps/basechurch/db/migrate/20160624024551_add_sermon_id_to_bulletins.rb similarity index 100% rename from db/migrate/20160624024551_add_sermon_id_to_bulletins.rb rename to apps/basechurch/db/migrate/20160624024551_add_sermon_id_to_bulletins.rb diff --git a/db/migrate/20161011033416_drop_apikeys_table.rb b/apps/basechurch/db/migrate/20161011033416_drop_apikeys_table.rb similarity index 100% rename from db/migrate/20161011033416_drop_apikeys_table.rb rename to apps/basechurch/db/migrate/20161011033416_drop_apikeys_table.rb diff --git a/db/schema.rb b/apps/basechurch/db/schema.rb similarity index 100% rename from db/schema.rb rename to apps/basechurch/db/schema.rb diff --git a/db/seeds.rb b/apps/basechurch/db/seeds.rb similarity index 100% rename from db/seeds.rb rename to apps/basechurch/db/seeds.rb diff --git a/lib/basechurch.rb b/apps/basechurch/lib/basechurch.rb similarity index 100% rename from lib/basechurch.rb rename to apps/basechurch/lib/basechurch.rb diff --git a/lib/basechurch/version.rb b/apps/basechurch/lib/basechurch/version.rb similarity index 100% rename from lib/basechurch/version.rb rename to apps/basechurch/lib/basechurch/version.rb diff --git a/lib/capistrano/substitute_strings.rb b/apps/basechurch/lib/capistrano/substitute_strings.rb similarity index 100% rename from lib/capistrano/substitute_strings.rb rename to apps/basechurch/lib/capistrano/substitute_strings.rb diff --git a/lib/capistrano/tasks/check_revision.cap b/apps/basechurch/lib/capistrano/tasks/check_revision.cap similarity index 100% rename from lib/capistrano/tasks/check_revision.cap rename to apps/basechurch/lib/capistrano/tasks/check_revision.cap diff --git a/lib/capistrano/tasks/logs.cap b/apps/basechurch/lib/capistrano/tasks/logs.cap similarity index 100% rename from lib/capistrano/tasks/logs.cap rename to apps/basechurch/lib/capistrano/tasks/logs.cap diff --git a/lib/capistrano/tasks/monit.cap b/apps/basechurch/lib/capistrano/tasks/monit.cap similarity index 100% rename from lib/capistrano/tasks/monit.cap rename to apps/basechurch/lib/capistrano/tasks/monit.cap diff --git a/lib/capistrano/tasks/nginx.cap b/apps/basechurch/lib/capistrano/tasks/nginx.cap similarity index 100% rename from lib/capistrano/tasks/nginx.cap rename to apps/basechurch/lib/capistrano/tasks/nginx.cap diff --git a/lib/capistrano/tasks/restart.cap b/apps/basechurch/lib/capistrano/tasks/restart.cap similarity index 100% rename from lib/capistrano/tasks/restart.cap rename to apps/basechurch/lib/capistrano/tasks/restart.cap diff --git a/lib/capistrano/tasks/run_tests.cap b/apps/basechurch/lib/capistrano/tasks/run_tests.cap similarity index 100% rename from lib/capistrano/tasks/run_tests.cap rename to apps/basechurch/lib/capistrano/tasks/run_tests.cap diff --git a/lib/capistrano/tasks/setup_config.cap b/apps/basechurch/lib/capistrano/tasks/setup_config.cap similarity index 100% rename from lib/capistrano/tasks/setup_config.cap rename to apps/basechurch/lib/capistrano/tasks/setup_config.cap diff --git a/lib/capistrano/template.rb b/apps/basechurch/lib/capistrano/template.rb similarity index 100% rename from lib/capistrano/template.rb rename to apps/basechurch/lib/capistrano/template.rb diff --git a/lib/has_attachment.rb b/apps/basechurch/lib/has_attachment.rb similarity index 100% rename from lib/has_attachment.rb rename to apps/basechurch/lib/has_attachment.rb diff --git a/lib/tasks/attachments.rake b/apps/basechurch/lib/tasks/attachments.rake similarity index 100% rename from lib/tasks/attachments.rake rename to apps/basechurch/lib/tasks/attachments.rake diff --git a/lib/tasks/basechurch_tasks.rake b/apps/basechurch/lib/tasks/basechurch_tasks.rake similarity index 100% rename from lib/tasks/basechurch_tasks.rake rename to apps/basechurch/lib/tasks/basechurch_tasks.rake diff --git a/setup_vps.sh b/apps/basechurch/setup_vps.sh similarity index 100% rename from setup_vps.sh rename to apps/basechurch/setup_vps.sh diff --git a/spec/acceptance/announcements_spec.rb b/apps/basechurch/spec/acceptance/announcements_spec.rb similarity index 100% rename from spec/acceptance/announcements_spec.rb rename to apps/basechurch/spec/acceptance/announcements_spec.rb diff --git a/spec/acceptance/bulletins_spec.rb b/apps/basechurch/spec/acceptance/bulletins_spec.rb similarity index 100% rename from spec/acceptance/bulletins_spec.rb rename to apps/basechurch/spec/acceptance/bulletins_spec.rb diff --git a/spec/acceptance/groups_spec.rb b/apps/basechurch/spec/acceptance/groups_spec.rb similarity index 100% rename from spec/acceptance/groups_spec.rb rename to apps/basechurch/spec/acceptance/groups_spec.rb diff --git a/spec/acceptance/posts_spec.rb b/apps/basechurch/spec/acceptance/posts_spec.rb similarity index 100% rename from spec/acceptance/posts_spec.rb rename to apps/basechurch/spec/acceptance/posts_spec.rb diff --git a/spec/acceptance/sermons_spec.rb b/apps/basechurch/spec/acceptance/sermons_spec.rb similarity index 100% rename from spec/acceptance/sermons_spec.rb rename to apps/basechurch/spec/acceptance/sermons_spec.rb diff --git a/spec/acceptance/users_spec.rb b/apps/basechurch/spec/acceptance/users_spec.rb similarity index 100% rename from spec/acceptance/users_spec.rb rename to apps/basechurch/spec/acceptance/users_spec.rb diff --git a/spec/controllers/concerns/.keep b/apps/basechurch/spec/controllers/concerns/.keep similarity index 100% rename from spec/controllers/concerns/.keep rename to apps/basechurch/spec/controllers/concerns/.keep diff --git a/spec/controllers/registrations_controller_spec.rb b/apps/basechurch/spec/controllers/registrations_controller_spec.rb similarity index 100% rename from spec/controllers/registrations_controller_spec.rb rename to apps/basechurch/spec/controllers/registrations_controller_spec.rb diff --git a/spec/controllers/sessions_controller_spec.rb b/apps/basechurch/spec/controllers/sessions_controller_spec.rb similarity index 100% rename from spec/controllers/sessions_controller_spec.rb rename to apps/basechurch/spec/controllers/sessions_controller_spec.rb diff --git a/spec/lib/random_filename_spec.rb b/apps/basechurch/spec/lib/random_filename_spec.rb similarity index 100% rename from spec/lib/random_filename_spec.rb rename to apps/basechurch/spec/lib/random_filename_spec.rb diff --git a/spec/lib/s3_signer_spec.rb b/apps/basechurch/spec/lib/s3_signer_spec.rb similarity index 100% rename from spec/lib/s3_signer_spec.rb rename to apps/basechurch/spec/lib/s3_signer_spec.rb diff --git a/spec/models/announcement_spec.rb b/apps/basechurch/spec/models/announcement_spec.rb similarity index 100% rename from spec/models/announcement_spec.rb rename to apps/basechurch/spec/models/announcement_spec.rb diff --git a/spec/models/bulletin_spec.rb b/apps/basechurch/spec/models/bulletin_spec.rb similarity index 100% rename from spec/models/bulletin_spec.rb rename to apps/basechurch/spec/models/bulletin_spec.rb diff --git a/spec/models/group_spec.rb b/apps/basechurch/spec/models/group_spec.rb similarity index 100% rename from spec/models/group_spec.rb rename to apps/basechurch/spec/models/group_spec.rb diff --git a/spec/models/post_spec.rb b/apps/basechurch/spec/models/post_spec.rb similarity index 100% rename from spec/models/post_spec.rb rename to apps/basechurch/spec/models/post_spec.rb diff --git a/spec/models/sermon_spec.rb b/apps/basechurch/spec/models/sermon_spec.rb similarity index 100% rename from spec/models/sermon_spec.rb rename to apps/basechurch/spec/models/sermon_spec.rb diff --git a/spec/models/user_spec.rb b/apps/basechurch/spec/models/user_spec.rb similarity index 100% rename from spec/models/user_spec.rb rename to apps/basechurch/spec/models/user_spec.rb diff --git a/spec/rails_helper.rb b/apps/basechurch/spec/rails_helper.rb similarity index 100% rename from spec/rails_helper.rb rename to apps/basechurch/spec/rails_helper.rb diff --git a/spec/resources/api/v1/announcement_resource_spec.rb b/apps/basechurch/spec/resources/api/v1/announcement_resource_spec.rb similarity index 100% rename from spec/resources/api/v1/announcement_resource_spec.rb rename to apps/basechurch/spec/resources/api/v1/announcement_resource_spec.rb diff --git a/spec/resources/api/v1/bulletin_resource_spec.rb b/apps/basechurch/spec/resources/api/v1/bulletin_resource_spec.rb similarity index 100% rename from spec/resources/api/v1/bulletin_resource_spec.rb rename to apps/basechurch/spec/resources/api/v1/bulletin_resource_spec.rb diff --git a/spec/resources/api/v1/group_resource_spec.rb b/apps/basechurch/spec/resources/api/v1/group_resource_spec.rb similarity index 100% rename from spec/resources/api/v1/group_resource_spec.rb rename to apps/basechurch/spec/resources/api/v1/group_resource_spec.rb diff --git a/spec/resources/api/v1/post_resource_spec.rb b/apps/basechurch/spec/resources/api/v1/post_resource_spec.rb similarity index 100% rename from spec/resources/api/v1/post_resource_spec.rb rename to apps/basechurch/spec/resources/api/v1/post_resource_spec.rb diff --git a/spec/resources/api/v1/sermon_resource_spec.rb b/apps/basechurch/spec/resources/api/v1/sermon_resource_spec.rb similarity index 100% rename from spec/resources/api/v1/sermon_resource_spec.rb rename to apps/basechurch/spec/resources/api/v1/sermon_resource_spec.rb diff --git a/spec/resources/api/v1/user_resource_spec.rb b/apps/basechurch/spec/resources/api/v1/user_resource_spec.rb similarity index 100% rename from spec/resources/api/v1/user_resource_spec.rb rename to apps/basechurch/spec/resources/api/v1/user_resource_spec.rb diff --git a/spec/routing/announcements_routing_spec.rb b/apps/basechurch/spec/routing/announcements_routing_spec.rb similarity index 100% rename from spec/routing/announcements_routing_spec.rb rename to apps/basechurch/spec/routing/announcements_routing_spec.rb diff --git a/spec/routing/bulletins_routing_spec.rb b/apps/basechurch/spec/routing/bulletins_routing_spec.rb similarity index 100% rename from spec/routing/bulletins_routing_spec.rb rename to apps/basechurch/spec/routing/bulletins_routing_spec.rb diff --git a/spec/routing/groups_routing_spec.rb b/apps/basechurch/spec/routing/groups_routing_spec.rb similarity index 100% rename from spec/routing/groups_routing_spec.rb rename to apps/basechurch/spec/routing/groups_routing_spec.rb diff --git a/spec/routing/posts_routing_spec.rb b/apps/basechurch/spec/routing/posts_routing_spec.rb similarity index 100% rename from spec/routing/posts_routing_spec.rb rename to apps/basechurch/spec/routing/posts_routing_spec.rb diff --git a/spec/spec_helper.rb b/apps/basechurch/spec/spec_helper.rb similarity index 100% rename from spec/spec_helper.rb rename to apps/basechurch/spec/spec_helper.rb diff --git a/spec/support/devise.rb b/apps/basechurch/spec/support/devise.rb similarity index 100% rename from spec/support/devise.rb rename to apps/basechurch/spec/support/devise.rb diff --git a/spec/support/factories/announcements.rb b/apps/basechurch/spec/support/factories/announcements.rb similarity index 100% rename from spec/support/factories/announcements.rb rename to apps/basechurch/spec/support/factories/announcements.rb diff --git a/spec/support/factories/attachments.rb b/apps/basechurch/spec/support/factories/attachments.rb similarity index 100% rename from spec/support/factories/attachments.rb rename to apps/basechurch/spec/support/factories/attachments.rb diff --git a/spec/support/factories/bulletins.rb b/apps/basechurch/spec/support/factories/bulletins.rb similarity index 100% rename from spec/support/factories/bulletins.rb rename to apps/basechurch/spec/support/factories/bulletins.rb diff --git a/spec/support/factories/groups.rb b/apps/basechurch/spec/support/factories/groups.rb similarity index 100% rename from spec/support/factories/groups.rb rename to apps/basechurch/spec/support/factories/groups.rb diff --git a/spec/support/factories/posts.rb b/apps/basechurch/spec/support/factories/posts.rb similarity index 100% rename from spec/support/factories/posts.rb rename to apps/basechurch/spec/support/factories/posts.rb diff --git a/spec/support/factories/sermons.rb b/apps/basechurch/spec/support/factories/sermons.rb similarity index 100% rename from spec/support/factories/sermons.rb rename to apps/basechurch/spec/support/factories/sermons.rb diff --git a/spec/support/factories/users.rb b/apps/basechurch/spec/support/factories/users.rb similarity index 100% rename from spec/support/factories/users.rb rename to apps/basechurch/spec/support/factories/users.rb diff --git a/spec/support/factory_girl.rb b/apps/basechurch/spec/support/factory_girl.rb similarity index 100% rename from spec/support/factory_girl.rb rename to apps/basechurch/spec/support/factory_girl.rb diff --git a/spec/support/request_helpers.rb b/apps/basechurch/spec/support/request_helpers.rb similarity index 100% rename from spec/support/request_helpers.rb rename to apps/basechurch/spec/support/request_helpers.rb diff --git a/spec/support/shared_examples/authenticated_action.rb b/apps/basechurch/spec/support/shared_examples/authenticated_action.rb similarity index 100% rename from spec/support/shared_examples/authenticated_action.rb rename to apps/basechurch/spec/support/shared_examples/authenticated_action.rb diff --git a/spec/support/shared_examples/has_attachment.rb b/apps/basechurch/spec/support/shared_examples/has_attachment.rb similarity index 100% rename from spec/support/shared_examples/has_attachment.rb rename to apps/basechurch/spec/support/shared_examples/has_attachment.rb diff --git a/spec/support/shared_examples/s3_signing.rb b/apps/basechurch/spec/support/shared_examples/s3_signing.rb similarity index 100% rename from spec/support/shared_examples/s3_signing.rb rename to apps/basechurch/spec/support/shared_examples/s3_signing.rb diff --git a/spec/validators/iso8601_validator_spec.rb b/apps/basechurch/spec/validators/iso8601_validator_spec.rb similarity index 100% rename from spec/validators/iso8601_validator_spec.rb rename to apps/basechurch/spec/validators/iso8601_validator_spec.rb diff --git a/config/chef/site-cookbooks/.gitkeep b/config/chef/site-cookbooks/.gitkeep deleted file mode 100644 index e69de29..0000000 From e890bc8a00b8df57191b02f1184e3438aed690a1 Mon Sep 17 00:00:00 2001 From: Amos Chan Date: Tue, 4 Jul 2017 21:51:07 -0400 Subject: [PATCH 02/20] Initial docker compose file Start basechurch with: docker-compose -f docker-compose.yml -f docker-compose.dev.yml --- apps/basechurch/.env.dev | 3 ++ apps/basechurch/Dockerfile | 8 +++++ apps/basechurch/config/database.yml | 22 +++++-------- apps/basechurch/db/schema.rb | 43 ++++++++++++++------------ apps/basechurch/docker-compose.dev.yml | 6 ++++ apps/basechurch/docker-compose.yml | 13 ++++++++ 6 files changed, 61 insertions(+), 34 deletions(-) create mode 100644 apps/basechurch/.env.dev create mode 100644 apps/basechurch/Dockerfile create mode 100644 apps/basechurch/docker-compose.dev.yml create mode 100644 apps/basechurch/docker-compose.yml diff --git a/apps/basechurch/.env.dev b/apps/basechurch/.env.dev new file mode 100644 index 0000000..fb3d214 --- /dev/null +++ b/apps/basechurch/.env.dev @@ -0,0 +1,3 @@ +DATABASE_HOST=db +DATABASE_USER=postgres +DATABASE_PASSWORD= diff --git a/apps/basechurch/Dockerfile b/apps/basechurch/Dockerfile new file mode 100644 index 0000000..0cd15e7 --- /dev/null +++ b/apps/basechurch/Dockerfile @@ -0,0 +1,8 @@ +FROM ruby:2.3.1 +RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs +RUN mkdir /app +WORKDIR /app +ADD Gemfile /app/Gemfile +ADD Gemfile.lock /app/Gemfile.lock +RUN bundle install +ADD . /app diff --git a/apps/basechurch/config/database.yml b/apps/basechurch/config/database.yml index 9d1152d..c348837 100644 --- a/apps/basechurch/config/database.yml +++ b/apps/basechurch/config/database.yml @@ -1,25 +1,17 @@ -# SQLite version 3.x -# gem install sqlite3 -# -# Ensure the SQLite 3 gem is defined in your Gemfile -# gem 'sqlite3' -# default: &default - adapter: sqlite3 - pool: 10 - timeout: 50000 + adapter: postgresql + database: mcac + encoding: utf8 + host: <%= ENV["DATABASE_HOST"] %> + username: <%= ENV["DATABASE_USER"] %> + password: <%= ENV["DATABASE_PASSWORD"] %> + pool: 5 development: <<: *default - database: db/development.sqlite3 -# Warning: The database defined as "test" will be erased and -# re-generated from your development database when you run "rake". -# Do not set this db to the same as development or production. test: <<: *default - database: db/test.sqlite3 production: <<: *default - database: db/production.sqlite3 diff --git a/apps/basechurch/db/schema.rb b/apps/basechurch/db/schema.rb index 558328e..9209cbc 100644 --- a/apps/basechurch/db/schema.rb +++ b/apps/basechurch/db/schema.rb @@ -13,6 +13,9 @@ ActiveRecord::Schema.define(version: 20161011033416) do + # These are extensions that must be enabled in order to support this database + enable_extension "plpgsql" + create_table "announcements", force: :cascade do |t| t.integer "post_id" t.integer "bulletin_id" @@ -23,8 +26,8 @@ t.string "url" end - add_index "announcements", ["bulletin_id"], name: "index_announcements_on_bulletin_id" - add_index "announcements", ["post_id"], name: "index_announcements_on_post_id" + add_index "announcements", ["bulletin_id"], name: "index_announcements_on_bulletin_id", using: :btree + add_index "announcements", ["post_id"], name: "index_announcements_on_post_id", using: :btree create_table "attachments", force: :cascade do |t| t.string "key" @@ -35,7 +38,7 @@ t.datetime "updated_at" end - add_index "attachments", ["attachable_type", "attachable_id"], name: "attachments_polymorphic_keys_index" + add_index "attachments", ["attachable_type", "attachable_id"], name: "attachments_polymorphic_keys_index", using: :btree create_table "bulletins", force: :cascade do |t| t.datetime "published_at" @@ -49,7 +52,7 @@ t.integer "sermon_id" end - add_index "bulletins", ["sermon_id"], name: "index_bulletins_on_sermon_id" + add_index "bulletins", ["sermon_id"], name: "index_bulletins_on_sermon_id", using: :btree create_table "friendly_id_slugs", force: :cascade do |t| t.string "slug", null: false @@ -59,10 +62,10 @@ t.datetime "created_at" end - add_index "friendly_id_slugs", ["slug", "sluggable_type", "scope"], name: "index_friendly_id_slugs_on_slug_and_sluggable_type_and_scope", unique: true - add_index "friendly_id_slugs", ["slug", "sluggable_type"], name: "index_friendly_id_slugs_on_slug_and_sluggable_type" - add_index "friendly_id_slugs", ["sluggable_id"], name: "index_friendly_id_slugs_on_sluggable_id" - add_index "friendly_id_slugs", ["sluggable_type"], name: "index_friendly_id_slugs_on_sluggable_type" + add_index "friendly_id_slugs", ["slug", "sluggable_type", "scope"], name: "index_friendly_id_slugs_on_slug_and_sluggable_type_and_scope", unique: true, using: :btree + add_index "friendly_id_slugs", ["slug", "sluggable_type"], name: "index_friendly_id_slugs_on_slug_and_sluggable_type", using: :btree + add_index "friendly_id_slugs", ["sluggable_id"], name: "index_friendly_id_slugs_on_sluggable_id", using: :btree + add_index "friendly_id_slugs", ["sluggable_type"], name: "index_friendly_id_slugs_on_sluggable_type", using: :btree create_table "groups", force: :cascade do |t| t.string "name" @@ -76,7 +79,7 @@ t.string "meet_details" end - add_index "groups", ["slug"], name: "index_groups_on_slug", unique: true + add_index "groups", ["slug"], name: "index_groups_on_slug", unique: true, using: :btree create_table "posts", force: :cascade do |t| t.integer "group_id" @@ -91,9 +94,9 @@ t.integer "kind", default: 0 end - add_index "posts", ["author_id"], name: "index_posts_on_author_id" - add_index "posts", ["editor_id"], name: "index_posts_on_editor_id" - add_index "posts", ["group_id"], name: "index_posts_on_group_id" + add_index "posts", ["author_id"], name: "index_posts_on_author_id", using: :btree + add_index "posts", ["editor_id"], name: "index_posts_on_editor_id", using: :btree + add_index "posts", ["group_id"], name: "index_posts_on_group_id", using: :btree create_table "sermons", force: :cascade do |t| t.integer "group_id" @@ -106,7 +109,7 @@ t.datetime "updated_at", null: false end - add_index "sermons", ["group_id"], name: "index_sermons_on_group_id" + add_index "sermons", ["group_id"], name: "index_sermons_on_group_id", using: :btree create_table "taggings", force: :cascade do |t| t.integer "tag_id" @@ -118,15 +121,15 @@ t.datetime "created_at" end - add_index "taggings", ["tag_id", "taggable_id", "taggable_type", "context", "tagger_id", "tagger_type"], name: "taggings_idx", unique: true - add_index "taggings", ["taggable_id", "taggable_type", "context"], name: "index_taggings_on_taggable_id_and_taggable_type_and_context" + add_index "taggings", ["tag_id", "taggable_id", "taggable_type", "context", "tagger_id", "tagger_type"], name: "taggings_idx", unique: true, using: :btree + add_index "taggings", ["taggable_id", "taggable_type", "context"], name: "index_taggings_on_taggable_id_and_taggable_type_and_context", using: :btree create_table "tags", force: :cascade do |t| t.string "name" t.integer "taggings_count", default: 0 end - add_index "tags", ["name"], name: "index_tags_on_name", unique: true + add_index "tags", ["name"], name: "index_tags_on_name", unique: true, using: :btree create_table "users", force: :cascade do |t| t.string "provider", null: false @@ -153,8 +156,10 @@ t.datetime "updated_at" end - add_index "users", ["email"], name: "index_users_on_email" - add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true - add_index "users", ["uid", "provider"], name: "index_users_on_uid_and_provider", unique: true + add_index "users", ["email"], name: "index_users_on_email", using: :btree + add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true, using: :btree + add_index "users", ["uid", "provider"], name: "index_users_on_uid_and_provider", unique: true, using: :btree + add_foreign_key "bulletins", "sermons" + add_foreign_key "sermons", "groups" end diff --git a/apps/basechurch/docker-compose.dev.yml b/apps/basechurch/docker-compose.dev.yml new file mode 100644 index 0000000..76fb48c --- /dev/null +++ b/apps/basechurch/docker-compose.dev.yml @@ -0,0 +1,6 @@ +version: '3' +services: + web: + env_file: + - ./.env.dev + diff --git a/apps/basechurch/docker-compose.yml b/apps/basechurch/docker-compose.yml new file mode 100644 index 0000000..2bc3f30 --- /dev/null +++ b/apps/basechurch/docker-compose.yml @@ -0,0 +1,13 @@ +version: '3' +services: + db: + image: postgres + web: + build: . + command: bundle exec rails s -p 3000 -b '0.0.0.0' + volumes: + - .:/app + ports: + - "3000:3000" + depends_on: + - db From ce5e5c26b700197068ac82e6dc0ee79cfe5698d0 Mon Sep 17 00:00:00 2001 From: Amos Chan Date: Sun, 9 Jul 2017 20:23:03 -0400 Subject: [PATCH 03/20] Make tests pass on docker --- .../app/resources/api/v1/post_resource.rb | 2 +- .../app/resources/api/v1/sermon_resource.rb | 2 +- apps/basechurch/config/database.yml | 1 + apps/basechurch/docker-compose.dev.yml | 6 ---- apps/basechurch/docker-compose.override.yml | 12 +++++++ apps/basechurch/docker-compose.yml | 6 ---- .../spec/acceptance/bulletins_spec.rb | 2 +- apps/basechurch/spec/acceptance/posts_spec.rb | 6 ++-- .../spec/acceptance/sermons_spec.rb | 6 ++-- bin/init.sh | 31 +++++++++++++++++++ bin/shutdown.sh | 7 +++++ bin/test.sh | 21 +++++++++++++ 12 files changed, 81 insertions(+), 21 deletions(-) delete mode 100644 apps/basechurch/docker-compose.dev.yml create mode 100644 apps/basechurch/docker-compose.override.yml create mode 100755 bin/init.sh create mode 100755 bin/shutdown.sh create mode 100755 bin/test.sh diff --git a/apps/basechurch/app/resources/api/v1/post_resource.rb b/apps/basechurch/app/resources/api/v1/post_resource.rb index 97f911b..53e5bf8 100644 --- a/apps/basechurch/app/resources/api/v1/post_resource.rb +++ b/apps/basechurch/app/resources/api/v1/post_resource.rb @@ -29,7 +29,7 @@ def group_slug end def tags - @model.tag_list + @model.tag_list.sort end def tags=(tags) diff --git a/apps/basechurch/app/resources/api/v1/sermon_resource.rb b/apps/basechurch/app/resources/api/v1/sermon_resource.rb index cdf2623..4f2212f 100644 --- a/apps/basechurch/app/resources/api/v1/sermon_resource.rb +++ b/apps/basechurch/app/resources/api/v1/sermon_resource.rb @@ -6,7 +6,7 @@ class Api::V1::SermonResource < JSONAPI::Resource has_one :group def tags - @model.tag_list + @model.tag_list.sort end def tags=(tags) diff --git a/apps/basechurch/config/database.yml b/apps/basechurch/config/database.yml index c348837..4b78bb9 100644 --- a/apps/basechurch/config/database.yml +++ b/apps/basechurch/config/database.yml @@ -12,6 +12,7 @@ development: test: <<: *default + database: mcac_test production: <<: *default diff --git a/apps/basechurch/docker-compose.dev.yml b/apps/basechurch/docker-compose.dev.yml deleted file mode 100644 index 76fb48c..0000000 --- a/apps/basechurch/docker-compose.dev.yml +++ /dev/null @@ -1,6 +0,0 @@ -version: '3' -services: - web: - env_file: - - ./.env.dev - diff --git a/apps/basechurch/docker-compose.override.yml b/apps/basechurch/docker-compose.override.yml new file mode 100644 index 0000000..c4dfaef --- /dev/null +++ b/apps/basechurch/docker-compose.override.yml @@ -0,0 +1,12 @@ +version: '3' +services: + db: + image: postgres + web: + env_file: + - ./.env.dev + volumes: + - .:/app + depends_on: + - db + diff --git a/apps/basechurch/docker-compose.yml b/apps/basechurch/docker-compose.yml index 2bc3f30..8525cda 100644 --- a/apps/basechurch/docker-compose.yml +++ b/apps/basechurch/docker-compose.yml @@ -1,13 +1,7 @@ version: '3' services: - db: - image: postgres web: build: . command: bundle exec rails s -p 3000 -b '0.0.0.0' - volumes: - - .:/app ports: - "3000:3000" - depends_on: - - db diff --git a/apps/basechurch/spec/acceptance/bulletins_spec.rb b/apps/basechurch/spec/acceptance/bulletins_spec.rb index 7d41506..edd5cbc 100644 --- a/apps/basechurch/spec/acceptance/bulletins_spec.rb +++ b/apps/basechurch/spec/acceptance/bulletins_spec.rb @@ -14,7 +14,7 @@ def expect_bulletin(payload, model) end get "api/v1/sunday" do - let!(:english_service) { create(:group, :completed, slug: "english-service") } + let!(:english_service) { create(:group, :completed, id: 1, slug: "english-service") } let!(:old_bulletin) do create(:bulletin, :completed, group: english_service, published_at: 10.days.ago) diff --git a/apps/basechurch/spec/acceptance/posts_spec.rb b/apps/basechurch/spec/acceptance/posts_spec.rb index ae25ed0..70685a8 100644 --- a/apps/basechurch/spec/acceptance/posts_spec.rb +++ b/apps/basechurch/spec/acceptance/posts_spec.rb @@ -12,7 +12,7 @@ def expect_post(payload, model) expect(attributes["content"]).to eq model.content expect(attributes["kind"]).to eq model.kind expect(attributes["published-at"]).to eq model.published_at.localtime("+00:00").iso8601 - expect(attributes["tags"]).to eq model.tag_list + expect(attributes["tags"]).to eq model.tag_list.sort expect(attributes["title"]).to eq model.title end @@ -100,7 +100,7 @@ def expect_post(payload, model) to eq data_attributes_published_at.to_time.localtime("+00:00").iso8601 expect(subject.title).to eq data_attributes_title expect(subject.content).to eq data_attributes_content - expect(subject.tag_list).to eq data_attributes_tags + expect(subject.tag_list.sort).to eq data_attributes_tags expect(subject.kind).to eq data_attributes_kind expect(subject.group).to eq group @@ -179,7 +179,7 @@ def expect_post(payload, model) expect(subject.title).to eq data_attributes_title expect(subject.content).to eq data_attributes_content - expect(subject.tag_list).to eq data_attributes_tags + expect(subject.tag_list.sort).to eq data_attributes_tags expect(subject.kind).to eq data_attributes_kind expect(subject.group).to eq group diff --git a/apps/basechurch/spec/acceptance/sermons_spec.rb b/apps/basechurch/spec/acceptance/sermons_spec.rb index 4725a07..4834e42 100644 --- a/apps/basechurch/spec/acceptance/sermons_spec.rb +++ b/apps/basechurch/spec/acceptance/sermons_spec.rb @@ -15,7 +15,7 @@ def expect_sermon(payload, model) expect(attributes["published-at"]).to eq model.published_at.localtime("+00:00").iso8601 expect(attributes["series"]).to eq model.series expect(attributes["speaker"]).to eq model.speaker - expect(attributes["tags"]).to eq model.tag_list + expect(attributes["tags"]).to eq model.tag_list.sort end get "api/v1/sermons/:id" do @@ -103,7 +103,7 @@ def expect_sermon(payload, model) expect(subject.notes).to eq data_attributes_notes expect(subject.series).to eq data_attributes_series expect(subject.speaker).to eq data_attributes_speaker - expect(subject.tag_list).to eq data_attributes_tags + expect(subject.tag_list.sort).to eq data_attributes_tags expect_sermon(response["data"], subject) end @@ -195,7 +195,7 @@ def expect_sermon(payload, model) expect(subject.notes).to eq data_attributes_notes expect(subject.series).to eq data_attributes_series expect(subject.speaker).to eq data_attributes_speaker - expect(subject.tag_list).to eq data_attributes_tags + expect(subject.tag_list.sort).to eq data_attributes_tags expect_sermon(response["data"], subject) end diff --git a/bin/init.sh b/bin/init.sh new file mode 100755 index 0000000..0c4df7f --- /dev/null +++ b/bin/init.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +docker-compose \ + -f apps/basechurch/docker-compose.yml \ + -f apps/basechurch/docker-compose.override.yml \ + up -d db + +docker-compose \ + -f apps/basechurch/docker-compose.yml \ + -f apps/basechurch/docker-compose.override.yml \ + run web rm /app/tmp/pids/server.pid + +docker-compose \ + -f apps/basechurch/docker-compose.yml \ + -f apps/basechurch/docker-compose.override.yml \ + run web bundle exec rake db:create + +docker-compose \ + -f apps/basechurch/docker-compose.yml \ + -f apps/basechurch/docker-compose.override.yml \ + run web bundle exec rake db:migrate + +docker-compose \ + -f apps/basechurch/docker-compose.yml \ + -f apps/basechurch/docker-compose.override.yml \ + run web bundle exec rake db:seed + +docker-compose \ + -f apps/basechurch/docker-compose.yml \ + -f apps/basechurch/docker-compose.override.yml \ + up -d diff --git a/bin/shutdown.sh b/bin/shutdown.sh new file mode 100755 index 0000000..072311d --- /dev/null +++ b/bin/shutdown.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +docker-compose \ + -f apps/basechurch/docker-compose.yml \ + -f apps/basechurch/docker-compose.override.yml \ + down + diff --git a/bin/test.sh b/bin/test.sh new file mode 100755 index 0000000..1a7e9d4 --- /dev/null +++ b/bin/test.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +docker-compose \ + -f apps/basechurch/docker-compose.yml \ + -f apps/basechurch/docker-compose.override.yml \ + up -d db + +docker-compose \ + -f apps/basechurch/docker-compose.yml \ + -f apps/basechurch/docker-compose.override.yml \ + run -e RAILS_ENV=test web bundle exec rake db:create + +docker-compose \ + -f apps/basechurch/docker-compose.yml \ + -f apps/basechurch/docker-compose.override.yml \ + run -e RAILS_ENV=test web bundle exec rake db:migrate + +docker-compose \ + -f apps/basechurch/docker-compose.yml \ + -f apps/basechurch/docker-compose.override.yml \ + run web bundle exec rspec From 0997578dad98b3e27c0fe95aee2cc07712ff21d8 Mon Sep 17 00:00:00 2001 From: Amos Chan Date: Sun, 9 Jul 2017 20:39:52 -0400 Subject: [PATCH 04/20] Test on travis with docker --- .travis.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..f1c5a8d --- /dev/null +++ b/.travis.yml @@ -0,0 +1,16 @@ +sudo: required + +services: + - docker + +script: + - ./bin/test.sh + +addons: + code_climate: + repo_token: + secure: eKtahgCOYZC/FzHgPSRYWLG/c7dRelaUZgCHV5TyoIn+akelAPRs+B334J8ahAfArLIVL2iUNpGQVdbDAMyQNd0BcQROkzj2qicGX5BTpaGRjDRHOVUDpevykZJl6oqy4WjvMevSp2xxY1ejZmbOwW/NzRQfSd79ekxGr+J0V/0= + +notifications: + slack: + secure: G6VLedqT8kXanccqUeRRej2aXkR0SMFSwCBX/hbsNy+qoC7WSTFjMr98ijTn3eTykz1nBk+d2d2sfSm5dreIsl7jsF+eqHYKmZzGb13/YG6lvf2+GNyFduhoKJC3NWj1dqPO2QS+8g9YYBpGJIpnlp+PkSck5ewqd+mDXr53QbA= From 9ffef0526abe5a3a87a133ef96d0a0ed2517ef46 Mon Sep 17 00:00:00 2001 From: Amos Chan Date: Tue, 1 Aug 2017 21:17:10 -0400 Subject: [PATCH 05/20] Fetch secrets from ENV --- .gitignore | 2 ++ apps/basechurch/.env.dev | 6 ++++++ apps/basechurch/app/settings/secrets.rb | 7 +------ apps/basechurch/config/secrets.yml | 10 ++++++---- apps/basechurch/config/test-secrets.yml | 7 ------- 5 files changed, 15 insertions(+), 17 deletions(-) delete mode 100644 apps/basechurch/config/test-secrets.yml diff --git a/.gitignore b/.gitignore index f626790..ccb44ac 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ .bundle +.env.production + apps/basechurch/build apps/basechurch/coverage diff --git a/apps/basechurch/.env.dev b/apps/basechurch/.env.dev index fb3d214..98ee5f8 100644 --- a/apps/basechurch/.env.dev +++ b/apps/basechurch/.env.dev @@ -1,3 +1,9 @@ +AWS_ACCESS_KEY_ID=test_aws_access_key_id +AWS_SECRET_ACCESS_KEY=test_aws_secret_access_key DATABASE_HOST=db DATABASE_USER=postgres DATABASE_PASSWORD= +FB_APP_ID=a2222222222222 +FB_APP_SECRET=a222222222333 +PRERENDER_IO_TOKEN=test_prerender_token +SECRET_KEY_BASE=asdlkjfh23lkj4h23lkjehfsd7f8xc98zxvhxkvjhenrweefdxi99 diff --git a/apps/basechurch/app/settings/secrets.rb b/apps/basechurch/app/settings/secrets.rb index 64bbba6..2368e56 100644 --- a/apps/basechurch/app/settings/secrets.rb +++ b/apps/basechurch/app/settings/secrets.rb @@ -1,9 +1,4 @@ class Secrets < Settingslogic - if ["staging", "production"].include?(Rails.env) - source "#{Rails.root}/config/secrets.yml" - else - source "#{Rails.root}/config/#{Rails.env}-secrets.yml" - end - + source "#{Rails.root}/config/secrets.yml" namespace Rails.env end diff --git a/apps/basechurch/config/secrets.yml b/apps/basechurch/config/secrets.yml index 5affcfa..75dbf23 100644 --- a/apps/basechurch/config/secrets.yml +++ b/apps/basechurch/config/secrets.yml @@ -1,8 +1,10 @@ default: &default - secret_key_base: <%= Secrets.secret_key_base %> - aws_access_key_id: <%= Secrets.aws_access_key_id %> - aws_secret_access_key: <%= Secrets.aws_secret_access_key %> - prerender_io_token: <%= Secrets.prerender_io_token %> + aws_access_key_id: <%= ENV["AWS_ACCESS_KEY_ID"] %> + aws_secret_access_key: <%= ENV["AWS_SECRET_ACCESS_KEY"] %> + fb_app_id: <%= ENV["FB_APP_ID"] %> + fb_app_secret: <%= ENV["FB_APP_SECRET"] %> + prerender_io_token: <%= ENV["PRERENDER_IO_TOKEN"] %> + secret_key_base: <%= ENV["SECRET_KEY_BASE"] %> test: *default development: *default diff --git a/apps/basechurch/config/test-secrets.yml b/apps/basechurch/config/test-secrets.yml deleted file mode 100644 index 1093923..0000000 --- a/apps/basechurch/config/test-secrets.yml +++ /dev/null @@ -1,7 +0,0 @@ -test: - secret_key_base: asdlkjfh23lkj4h23lkjehfsd7f8xc98zxvhxkvjhenrweefdxi99 - aws_access_key_id: test_aws_access_key_id - aws_secret_access_key: test_aws_secret_access_key - fb_app_id: test_fb_app_id - fb_app_secret: test_fb_app_secret - prerender_io_token: test_prerender_token From 70fec45a6ce2f27077c3506aaaeb35e697636de1 Mon Sep 17 00:00:00 2001 From: Amos Chan Date: Wed, 2 Aug 2017 22:22:28 -0400 Subject: [PATCH 06/20] Add script to create swarm --- bin/createswarm.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 bin/createswarm.sh diff --git a/bin/createswarm.sh b/bin/createswarm.sh new file mode 100644 index 0000000..76e0e91 --- /dev/null +++ b/bin/createswarm.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +for i in 1 2 3; do docker-machine create --driver digitalocean \ + --digitalocean-image ubuntu-16-04-x64 \ + --digitalocean-access-token $FISHER_HALL_DOTOKEN \ + --digitalocean-size 2gb node-$i; done + +docker-machine ssh node-1 docker swarm init --advertise-addr $(docker-machine ip node-1) + +for i in 1 2 3; do \ + docker-machine ssh node-$i docker swarm join --token SWMTKN-1-3l8l43ag0sisurwpq8r37862r6mtsx9drelj75b6c0yw5dybo3-eebwijloeem96a1u2v79u5p6o 138.197.107.247:2377; done From 48510f0a2e5d7fc5271e79d5eddc8519532d8eb1 Mon Sep 17 00:00:00 2001 From: Amos Chan Date: Mon, 21 Aug 2017 19:38:16 -0400 Subject: [PATCH 07/20] Rename web to api --- apps/basechurch/docker-compose.override.yml | 4 ++-- apps/basechurch/docker-compose.yml | 10 ++++++++-- bin/init-prod.sh | 18 ++++++++++++++++++ bin/init.sh | 8 ++++---- 4 files changed, 32 insertions(+), 8 deletions(-) create mode 100755 bin/init-prod.sh diff --git a/apps/basechurch/docker-compose.override.yml b/apps/basechurch/docker-compose.override.yml index c4dfaef..bc2a0e1 100644 --- a/apps/basechurch/docker-compose.override.yml +++ b/apps/basechurch/docker-compose.override.yml @@ -1,8 +1,8 @@ version: '3' services: db: - image: postgres - web: + image: postgres:latest + api: env_file: - ./.env.dev volumes: diff --git a/apps/basechurch/docker-compose.yml b/apps/basechurch/docker-compose.yml index 8525cda..3b46ef5 100644 --- a/apps/basechurch/docker-compose.yml +++ b/apps/basechurch/docker-compose.yml @@ -1,7 +1,13 @@ version: '3' services: - web: - build: . + db: + image: postgres:latest + api: + image: fisherhall/api:latest command: bundle exec rails s -p 3000 -b '0.0.0.0' ports: - "3000:3000" + env_file: + - ./.env.dev + depends_on: + - db diff --git a/bin/init-prod.sh b/bin/init-prod.sh new file mode 100755 index 0000000..fc1dabf --- /dev/null +++ b/bin/init-prod.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +docker-compose \ + -f apps/basechurch/docker-compose.yml \ + up -d db + +docker-compose \ + -f apps/basechurch/docker-compose.yml \ + run api rm /app/tmp/pids/server.pid + +docker-compose \ + -f apps/basechurch/docker-compose.yml \ + run api bundle exec rake db:create db:migrate db:seed + +docker-compose \ + -f apps/basechurch/docker-compose.yml \ + up -d + diff --git a/bin/init.sh b/bin/init.sh index 0c4df7f..21cd753 100755 --- a/bin/init.sh +++ b/bin/init.sh @@ -8,22 +8,22 @@ docker-compose \ docker-compose \ -f apps/basechurch/docker-compose.yml \ -f apps/basechurch/docker-compose.override.yml \ - run web rm /app/tmp/pids/server.pid + run api rm /app/tmp/pids/server.pid docker-compose \ -f apps/basechurch/docker-compose.yml \ -f apps/basechurch/docker-compose.override.yml \ - run web bundle exec rake db:create + run api bundle exec rake db:create docker-compose \ -f apps/basechurch/docker-compose.yml \ -f apps/basechurch/docker-compose.override.yml \ - run web bundle exec rake db:migrate + run api bundle exec rake db:migrate docker-compose \ -f apps/basechurch/docker-compose.yml \ -f apps/basechurch/docker-compose.override.yml \ - run web bundle exec rake db:seed + run api bundle exec rake db:seed docker-compose \ -f apps/basechurch/docker-compose.yml \ From f96f6d08ed83ff5609e262ab9d7599211525c271 Mon Sep 17 00:00:00 2001 From: Amos Chan Date: Mon, 21 Aug 2017 21:12:56 -0400 Subject: [PATCH 08/20] Create default postgres db --- apps/basechurch/docker-compose.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/basechurch/docker-compose.yml b/apps/basechurch/docker-compose.yml index 3b46ef5..46b72f4 100644 --- a/apps/basechurch/docker-compose.yml +++ b/apps/basechurch/docker-compose.yml @@ -2,6 +2,8 @@ version: '3' services: db: image: postgres:latest + environment: + POSTGRES_DB: mcac api: image: fisherhall/api:latest command: bundle exec rails s -p 3000 -b '0.0.0.0' From c3bfe674926d2fcce4db27a135575ea32cf1ce58 Mon Sep 17 00:00:00 2001 From: Amos Chan Date: Mon, 21 Aug 2017 21:28:25 -0400 Subject: [PATCH 09/20] Remove sidekiq and redis from api service --- apps/basechurch/Gemfile | 1 - apps/basechurch/Gemfile.lock | 15 ------- .../app/controllers/landing_controller.rb | 39 ------------------- .../basechurch/app/settings/redis_settings.rb | 4 -- .../basechurch/config/initializers/sidekiq.rb | 7 ---- apps/basechurch/config/redis.yml | 5 --- apps/basechurch/docker-compose.override.yml | 1 + 7 files changed, 1 insertion(+), 71 deletions(-) delete mode 100644 apps/basechurch/app/controllers/landing_controller.rb delete mode 100644 apps/basechurch/app/settings/redis_settings.rb delete mode 100644 apps/basechurch/config/initializers/sidekiq.rb delete mode 100644 apps/basechurch/config/redis.yml diff --git a/apps/basechurch/Gemfile b/apps/basechurch/Gemfile index ce774e9..abfc520 100644 --- a/apps/basechurch/Gemfile +++ b/apps/basechurch/Gemfile @@ -70,5 +70,4 @@ gem "rack-rewrite", "~> 1.5.0" gem "rails", "~> 4.2.4" gem "rails-api", "~> 0.3.1" gem "settingslogic" -gem "sidekiq" gem "validate_url", "~> 1.0.0" diff --git a/apps/basechurch/Gemfile.lock b/apps/basechurch/Gemfile.lock index e1ade31..5bdeb12 100644 --- a/apps/basechurch/Gemfile.lock +++ b/apps/basechurch/Gemfile.lock @@ -103,7 +103,6 @@ GEM simplecov (>= 0.7.1, < 1.0.0) coderay (1.1.1) concurrent-ruby (1.0.2) - connection_pool (2.2.0) coveralls (0.8.15) json (>= 1.8, < 3) simplecov (~> 0.12.0) @@ -290,8 +289,6 @@ GEM websocket (~> 1.0) rack (1.6.4) rack-cors (0.4.0) - rack-protection (1.5.3) - rack rack-rewrite (1.5.1) rack-test (0.6.3) rack (>= 1.0) @@ -327,7 +324,6 @@ GEM rb-fsevent (0.9.7) rb-inotify (0.9.7) ffi (>= 0.5.0) - redis (3.3.1) responders (2.3.0) railties (>= 4.2.0, < 5.1) rspec (3.5.0) @@ -377,20 +373,11 @@ GEM settingslogic (2.0.9) sfl (2.2) shellany (0.0.1) - sidekiq (4.1.4) - concurrent-ruby (~> 1.0) - connection_pool (~> 2.2, >= 2.2.0) - redis (~> 3.2, >= 3.2.1) - sinatra (>= 1.4.7) simplecov (0.12.0) docile (~> 1.1.0) json (>= 1.8, < 3) simplecov-html (~> 0.10.0) simplecov-html (0.10.0) - sinatra (1.4.7) - rack (~> 1.5) - rack-protection (~> 1.4) - tilt (>= 1.3, < 3) slop (3.6.0) specinfra (2.61.2) net-scp @@ -415,7 +402,6 @@ GEM tins (~> 1.0) thor (0.19.1) thread_safe (0.3.5) - tilt (2.0.5) timecop (0.8.1) tins (1.12.0) travis (1.5.8) @@ -485,7 +471,6 @@ DEPENDENCIES rspec_api_documentation rubocop settingslogic - sidekiq spring sqlite3 timecop diff --git a/apps/basechurch/app/controllers/landing_controller.rb b/apps/basechurch/app/controllers/landing_controller.rb deleted file mode 100644 index f873143..0000000 --- a/apps/basechurch/app/controllers/landing_controller.rb +++ /dev/null @@ -1,39 +0,0 @@ -class LandingController < ApplicationController - SHORT_UUID_V4_REGEXP = /\A[0-9a-f]{7}\z/i - - def index - index_key = if Rails.env.development? - "basechurch:index:__development__" - elsif fetch_revision - "basechurch:index:#{fetch_revision}" - else - Sidekiq.redis do |r| - "basechurch:index:#{r.get("basechurch:index:current")}" - end - end - index = Sidekiq.redis { |r| r.get(index_key) } - render text: process_index(index), layout: false - end - - private - - def fetch_revision - rev = params[:revision] - if rev =~ SHORT_UUID_V4_REGEXP - rev - end - end - - def process_index(index) - return "INDEX_NOT_FOUND" unless index - - index.sub!(/CSRF_TOKEN/, form_authenticity_token) - - if Rails.env.development? - index.sub!("/ember-cli-live-reload", - "http://localhost:4200/ember-cli-live-reload") - end - - index - end -end diff --git a/apps/basechurch/app/settings/redis_settings.rb b/apps/basechurch/app/settings/redis_settings.rb deleted file mode 100644 index 3ff43c9..0000000 --- a/apps/basechurch/app/settings/redis_settings.rb +++ /dev/null @@ -1,4 +0,0 @@ -class RedisSettings < Settingslogic - source "#{Rails.root}/config/redis.yml" - namespace Rails.env -end diff --git a/apps/basechurch/config/initializers/sidekiq.rb b/apps/basechurch/config/initializers/sidekiq.rb deleted file mode 100644 index da49bfb..0000000 --- a/apps/basechurch/config/initializers/sidekiq.rb +++ /dev/null @@ -1,7 +0,0 @@ -Sidekiq.configure_server do |config| - config.redis = { url: RedisSettings.url } -end - -Sidekiq.configure_client do |config| - config.redis = { url: RedisSettings.url } -end diff --git a/apps/basechurch/config/redis.yml b/apps/basechurch/config/redis.yml deleted file mode 100644 index 0c8d925..0000000 --- a/apps/basechurch/config/redis.yml +++ /dev/null @@ -1,5 +0,0 @@ -test: - url: redis://localhost:6379 - -development: - url: redis://localhost:6379 diff --git a/apps/basechurch/docker-compose.override.yml b/apps/basechurch/docker-compose.override.yml index bc2a0e1..92bf112 100644 --- a/apps/basechurch/docker-compose.override.yml +++ b/apps/basechurch/docker-compose.override.yml @@ -3,6 +3,7 @@ services: db: image: postgres:latest api: + build: . env_file: - ./.env.dev volumes: From 2c8a3c354e32d590f2666fe8f85e1012a3ff1ccb Mon Sep 17 00:00:00 2001 From: Amos Chan Date: Mon, 28 Aug 2017 21:21:47 -0400 Subject: [PATCH 10/20] Update docker compose files --- apps/basechurch/docker-compose.yml | 10 ++-------- bin/createswarm.sh | 11 +++++++++-- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/apps/basechurch/docker-compose.yml b/apps/basechurch/docker-compose.yml index 46b72f4..100ca40 100644 --- a/apps/basechurch/docker-compose.yml +++ b/apps/basechurch/docker-compose.yml @@ -1,15 +1,9 @@ version: '3' services: - db: - image: postgres:latest - environment: - POSTGRES_DB: mcac api: image: fisherhall/api:latest + env_file: + - ./.env.production command: bundle exec rails s -p 3000 -b '0.0.0.0' ports: - "3000:3000" - env_file: - - ./.env.dev - depends_on: - - db diff --git a/bin/createswarm.sh b/bin/createswarm.sh index 76e0e91..437c205 100644 --- a/bin/createswarm.sh +++ b/bin/createswarm.sh @@ -1,11 +1,18 @@ #!/bin/bash -for i in 1 2 3; do docker-machine create --driver digitalocean \ +for i in 1 2; do docker-machine create --driver digitalocean \ --digitalocean-image ubuntu-16-04-x64 \ --digitalocean-access-token $FISHER_HALL_DOTOKEN \ - --digitalocean-size 2gb node-$i; done + --digitalocean-private-networking \ + --digitalocean-size 512mb node-$i; done docker-machine ssh node-1 docker swarm init --advertise-addr $(docker-machine ip node-1) for i in 1 2 3; do \ docker-machine ssh node-$i docker swarm join --token SWMTKN-1-3l8l43ag0sisurwpq8r37862r6mtsx9drelj75b6c0yw5dybo3-eebwijloeem96a1u2v79u5p6o 138.197.107.247:2377; done + + +docker-machine scp apps/basechurch/docker-compose.yml node-1:~ +docker-machine scp apps/basechurch/.env.dev node-1:~ + +docker stack deploy --compose-file docker-compose.yml fisherhall From 458b563337eda05081972b7ed802bfa46d19d438 Mon Sep 17 00:00:00 2001 From: Amos Chan Date: Mon, 4 Sep 2017 13:23:17 -0400 Subject: [PATCH 11/20] Initial commit of landing page --- .gitignore | 5 + apps/landing/.env.dev | 1 + apps/landing/.idea/codeStyleSettings.xml | 9 + .../landing_jar_with_dependencies.xml | 9 + apps/landing/.idea/misc.xml | 6 + apps/landing/.idea/modules.xml | 8 + apps/landing/.idea/workspace.xml | 466 ++++++++++++++++++ apps/landing/Dockerfile | 17 + apps/landing/docker-compose.override.yml | 6 + apps/landing/docker-compose.yml | 14 + apps/landing/landing.iml | 12 + apps/landing/pom.xml | 73 +++ .../main/java/church/mcac/Application.java | 14 + .../java/church/mcac/LandingController.java | 28 ++ .../target/maven-archiver/pom.properties | 5 + 15 files changed, 673 insertions(+) create mode 100644 apps/landing/.env.dev create mode 100644 apps/landing/.idea/codeStyleSettings.xml create mode 100644 apps/landing/.idea/libraries/landing_jar_with_dependencies.xml create mode 100644 apps/landing/.idea/misc.xml create mode 100644 apps/landing/.idea/modules.xml create mode 100644 apps/landing/.idea/workspace.xml create mode 100644 apps/landing/Dockerfile create mode 100644 apps/landing/docker-compose.override.yml create mode 100644 apps/landing/docker-compose.yml create mode 100644 apps/landing/landing.iml create mode 100644 apps/landing/pom.xml create mode 100644 apps/landing/src/main/java/church/mcac/Application.java create mode 100644 apps/landing/src/main/java/church/mcac/LandingController.java create mode 100644 apps/landing/target/maven-archiver/pom.properties diff --git a/.gitignore b/.gitignore index ccb44ac..8c849e7 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,8 @@ development-secrets.yml staging-secrets.yml dump.rdb + +.DS_Store + +apps/landing/target +apps/landing/out diff --git a/apps/landing/.env.dev b/apps/landing/.env.dev new file mode 100644 index 0000000..19c1cdd --- /dev/null +++ b/apps/landing/.env.dev @@ -0,0 +1 @@ +REDIS_HOST=redis diff --git a/apps/landing/.idea/codeStyleSettings.xml b/apps/landing/.idea/codeStyleSettings.xml new file mode 100644 index 0000000..5555dd2 --- /dev/null +++ b/apps/landing/.idea/codeStyleSettings.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/apps/landing/.idea/libraries/landing_jar_with_dependencies.xml b/apps/landing/.idea/libraries/landing_jar_with_dependencies.xml new file mode 100644 index 0000000..249937a --- /dev/null +++ b/apps/landing/.idea/libraries/landing_jar_with_dependencies.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/apps/landing/.idea/misc.xml b/apps/landing/.idea/misc.xml new file mode 100644 index 0000000..0548357 --- /dev/null +++ b/apps/landing/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/apps/landing/.idea/modules.xml b/apps/landing/.idea/modules.xml new file mode 100644 index 0000000..5d418ec --- /dev/null +++ b/apps/landing/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/apps/landing/.idea/workspace.xml b/apps/landing/.idea/workspace.xml new file mode 100644 index 0000000..24976a7 --- /dev/null +++ b/apps/landing/.idea/workspace.xml @@ -0,0 +1,466 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1504536716601 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - No facets are configured - - - - - - - - - - - - - - - 1.8 - - - - - - - - landing - - - - - - - - landing-jar-with-dependencies - - - - - - - - \ No newline at end of file diff --git a/apps/landing/src/main/java/church/mcac/Application.java b/apps/landing/src/main/java/church/mcac/Application.java index eaed59f..1c14ff5 100644 --- a/apps/landing/src/main/java/church/mcac/Application.java +++ b/apps/landing/src/main/java/church/mcac/Application.java @@ -7,13 +7,9 @@ public class Application { public static void main(String[] args) { Jedis jedis = new Jedis(System.getenv().get("REDIS_HOST")); + Environment environment = Environment.fromEnvironmentVariable(System.getenv("ENVIRONMENT")); + LandingPageStore landingPageStore = LandingPageStore.defaultImplementation(jedis, environment); - if (Environment.isDevelopment()) { - jedis.set("basechurch:index:current", "CURRENT_REVISION"); - jedis.set("basechurch:index:CURRENT_REVISION", "

Latest Hello World

"); - jedis.set("basechurch:index:secret", "

Secret Hello World

"); - } - - get("*", LandingController.indexRoute(jedis)); + get("*", new LandingController(landingPageStore).indexRoute); } } diff --git a/apps/landing/src/main/java/church/mcac/Environment.java b/apps/landing/src/main/java/church/mcac/Environment.java index 627fcd7..9a3380b 100644 --- a/apps/landing/src/main/java/church/mcac/Environment.java +++ b/apps/landing/src/main/java/church/mcac/Environment.java @@ -3,14 +3,6 @@ public enum Environment { TEST, DEVELOPMENT, STAGING, PRODUCTION; - public static boolean isDevelopment() { - return Environment.fromEnvironmentVariable(System.getenv("ENVIRONMENT")) == Environment.DEVELOPMENT; - } - - public static boolean isProduction() { - return Environment.fromEnvironmentVariable(System.getenv("ENVIRONMENT")) == Environment.PRODUCTION; - } - public static Environment fromEnvironmentVariable(String envVar) { switch (envVar.toLowerCase()) { case "test": diff --git a/apps/landing/src/main/java/church/mcac/LandingController.java b/apps/landing/src/main/java/church/mcac/LandingController.java index 05535a9..f1b8472 100644 --- a/apps/landing/src/main/java/church/mcac/LandingController.java +++ b/apps/landing/src/main/java/church/mcac/LandingController.java @@ -8,35 +8,13 @@ import java.util.Optional; public class LandingController { - private Jedis jedis; + private LandingPageStore store; - private LandingController(Jedis jedis) { - this.jedis = jedis; + public LandingController(LandingPageStore store) { + this.store = store; } - public static Route indexRoute(Jedis jedis) { - return new LandingController(jedis).getIndex(); - } - - public Route getIndex() { - return (Request request, Response response) -> { - return fetchLandingPageContents(request); - }; - } - - private String fetchLandingPageContents(Request request) { - return jedis.get(fetchRevisionKey(request)); - } - - private String fetchRevisionKey(Request request) { - String revision = Optional.ofNullable(request.queryParams("revision")) - .filter(s -> !s.isEmpty()) - .orElse(getCurrentRevision()); - - return String.format("basechurch:index:%s", revision); - } - - private String getCurrentRevision() { - return jedis.get("basechurch:index:current"); - } + public final Route indexRoute = (Request request, Response response) -> { + return store.getFromRevision(Optional.ofNullable(request.queryParams("revision"))); + }; } diff --git a/apps/landing/src/main/java/church/mcac/LandingPageStore.java b/apps/landing/src/main/java/church/mcac/LandingPageStore.java new file mode 100644 index 0000000..8b2f0dd --- /dev/null +++ b/apps/landing/src/main/java/church/mcac/LandingPageStore.java @@ -0,0 +1,51 @@ +package church.mcac; + +import redis.clients.jedis.Jedis; +import spark.Request; + +import java.util.Optional; + +public interface LandingPageStore { + public String getFromRevision(Optional revision); + + public static LandingPageStore defaultImplementation(Jedis jedis, Environment environment) { + return new LandingPageStoreImpl(jedis, environment); + } +} + +class LandingPageStoreImpl implements LandingPageStore { + private Jedis jedis; + private Environment environment; + + LandingPageStoreImpl(Jedis jedis, Environment environment) { + this.jedis = jedis; + this.environment = environment; + + if (environment == Environment.DEVELOPMENT) { + seedDevelopmentData(); + } + } + + @Override + public String getFromRevision(Optional revision) { + return jedis.get(fetchRevisionKey(revision)); + } + + private String fetchRevisionKey(Optional optionalRevision) { + String revision = optionalRevision. + filter(s -> !s.isEmpty()). + orElse(getCurrentRevision()); + + return String.format("basechurch:index:%s", revision); + } + + private String getCurrentRevision() { + return jedis.get("basechurch:index:current"); + } + + private void seedDevelopmentData() { + jedis.set("basechurch:index:current", "CURRENT_REVISION"); + jedis.set("basechurch:index:CURRENT_REVISION", "

Latest Hello World V2

"); + jedis.set("basechurch:index:secret", "

Secret Hello World

"); + } +} From 6a6b9a51196b58347362cb83f28ec6c7cd27dc1f Mon Sep 17 00:00:00 2001 From: Amos Chan Date: Tue, 10 Oct 2017 13:00:22 -0400 Subject: [PATCH 16/20] Add tests for LandingPageStore --- apps/landing/.env.test | 2 + apps/landing/.gitignore | 68 +++++++ apps/landing/Dockerfile | 5 +- apps/landing/docker-compose.test.yml | 10 + apps/landing/landing.iml | 12 -- apps/landing/pom.xml | 171 +++++++++++------- .../assembly/test-jar-with-dependencies.xml | 19 ++ .../mcac => io/fisherhall}/Application.java | 2 +- .../mcac => io/fisherhall}/Environment.java | 2 +- .../fisherhall}/LandingController.java | 3 +- .../fisherhall}/LandingPageStore.java | 9 +- .../io/fisherhall/LandingPageStoreTest.java | 36 ++++ bin/shutdown.sh | 5 + bin/test-landing.sh | 14 ++ 14 files changed, 266 insertions(+), 92 deletions(-) create mode 100644 apps/landing/.env.test create mode 100644 apps/landing/.gitignore create mode 100644 apps/landing/docker-compose.test.yml delete mode 100644 apps/landing/landing.iml create mode 100644 apps/landing/src/main/assembly/test-jar-with-dependencies.xml rename apps/landing/src/main/java/{church/mcac => io/fisherhall}/Application.java (95%) rename apps/landing/src/main/java/{church/mcac => io/fisherhall}/Environment.java (94%) rename apps/landing/src/main/java/{church/mcac => io/fisherhall}/LandingController.java (88%) rename apps/landing/src/main/java/{church/mcac => io/fisherhall}/LandingPageStore.java (87%) create mode 100644 apps/landing/src/test/java/io/fisherhall/LandingPageStoreTest.java create mode 100755 bin/test-landing.sh diff --git a/apps/landing/.env.test b/apps/landing/.env.test new file mode 100644 index 0000000..2bc6a2d --- /dev/null +++ b/apps/landing/.env.test @@ -0,0 +1,2 @@ +REDIS_HOST=test +ENVIRONMENT=test diff --git a/apps/landing/.gitignore b/apps/landing/.gitignore new file mode 100644 index 0000000..06f3619 --- /dev/null +++ b/apps/landing/.gitignore @@ -0,0 +1,68 @@ +# Created by https://www.gitignore.io/api/intellij + +### Intellij ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff: +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/dictionaries + +# Sensitive or high-churn files: +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.xml +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml + +# Gradle: +.idea/**/gradle.xml +.idea/**/libraries + +# CMake +cmake-build-debug/ + +# Mongo Explorer plugin: +.idea/**/mongoSettings.xml + +## File-based project format: +*.iws + +## Plugin-specific files: + +# IntelliJ +/out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Ruby plugin and RubyMine +/.rakeTasks + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +### Intellij Patch ### +# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 + +*.iml +modules.xml +.idea/misc.xml +*.ipr + +# Sonarlint plugin +.idea/sonarlint + +# End of https://www.gitignore.io/api/intellij diff --git a/apps/landing/Dockerfile b/apps/landing/Dockerfile index 2fdebe7..42b5969 100644 --- a/apps/landing/Dockerfile +++ b/apps/landing/Dockerfile @@ -10,8 +10,7 @@ WORKDIR /app # Prepare by downloading dependencies ADD pom.xml /app/pom.xml RUN ["mvn", "dependency:resolve"] -RUN ["mvn", "verify"] -# Adding source, compile and package into a fat jar ADD src /app/src -RUN ["mvn", "package"] +RUN ["mvn", "verify", "-DskipTests"] +RUN ["mvn", "package", "-DskipTests"] diff --git a/apps/landing/docker-compose.test.yml b/apps/landing/docker-compose.test.yml new file mode 100644 index 0000000..fce76c1 --- /dev/null +++ b/apps/landing/docker-compose.test.yml @@ -0,0 +1,10 @@ +version: '3' +services: + landing: + build: . + env_file: + - ./.env.test + volumes: + - ./target:/app/target + - ./src:/app/src + command: bash -c "mvn package && java -jar target/landing-test-jar-with-dependencies.jar" diff --git a/apps/landing/landing.iml b/apps/landing/landing.iml deleted file mode 100644 index 3525a10..0000000 --- a/apps/landing/landing.iml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/apps/landing/pom.xml b/apps/landing/pom.xml index ff15d11..5021fef 100644 --- a/apps/landing/pom.xml +++ b/apps/landing/pom.xml @@ -1,73 +1,108 @@ - - 4.0.0 + 4.0.0 - landing - landing - 1.0-SNAPSHOT + io.fisherhall + landing + 1.0-SNAPSHOT - - - com.sparkjava - spark-core - 2.6.0 - - - redis.clients - jedis - 2.9.0 - - - - - - org.apache.maven.plugins - maven-jar-plugin - 2.4 - - landing - - - true - church.mcac.Application - dependency-jars/ - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.1 - - 1.8 - 1.8 - - - - org.apache.maven.plugins - maven-assembly-plugin - - - - attached - - package - - landing - - jar-with-dependencies - - - - church.mcac.Application - - - - - - - - + + + com.sparkjava + spark-core + 2.6.0 + + + redis.clients + jedis + 2.9.0 + + + junit + junit + 4.12 + test + + + + + + org.apache.maven.plugins + maven-jar-plugin + 2.4 + + landing + + + true + io.fisherhall.Application + dependency-jars/ + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.1 + + 1.8 + 1.8 + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + attached + + package + + landing + + jar-with-dependencies + + + + io.fisherhall.Application + + + + + + + + org.apache.maven.plugins + maven-jar-plugin + + + + test-jar + + + + + + org.apache.maven.plugins + maven-assembly-plugin + + + src/main/assembly/test-jar-with-dependencies.xml + + + + + package + + single + + + + + + diff --git a/apps/landing/src/main/assembly/test-jar-with-dependencies.xml b/apps/landing/src/main/assembly/test-jar-with-dependencies.xml new file mode 100644 index 0000000..832c66c --- /dev/null +++ b/apps/landing/src/main/assembly/test-jar-with-dependencies.xml @@ -0,0 +1,19 @@ + + test-jar-with-dependencies + + jar + + false + + + / + true + + true + true + test + + + diff --git a/apps/landing/src/main/java/church/mcac/Application.java b/apps/landing/src/main/java/io/fisherhall/Application.java similarity index 95% rename from apps/landing/src/main/java/church/mcac/Application.java rename to apps/landing/src/main/java/io/fisherhall/Application.java index 1c14ff5..86cc0d9 100644 --- a/apps/landing/src/main/java/church/mcac/Application.java +++ b/apps/landing/src/main/java/io/fisherhall/Application.java @@ -1,4 +1,4 @@ -package church.mcac; +package io.fisherhall; import redis.clients.jedis.Jedis; diff --git a/apps/landing/src/main/java/church/mcac/Environment.java b/apps/landing/src/main/java/io/fisherhall/Environment.java similarity index 94% rename from apps/landing/src/main/java/church/mcac/Environment.java rename to apps/landing/src/main/java/io/fisherhall/Environment.java index 9a3380b..6543e45 100644 --- a/apps/landing/src/main/java/church/mcac/Environment.java +++ b/apps/landing/src/main/java/io/fisherhall/Environment.java @@ -1,4 +1,4 @@ -package church.mcac; +package io.fisherhall; public enum Environment { TEST, DEVELOPMENT, STAGING, PRODUCTION; diff --git a/apps/landing/src/main/java/church/mcac/LandingController.java b/apps/landing/src/main/java/io/fisherhall/LandingController.java similarity index 88% rename from apps/landing/src/main/java/church/mcac/LandingController.java rename to apps/landing/src/main/java/io/fisherhall/LandingController.java index f1b8472..d020b35 100644 --- a/apps/landing/src/main/java/church/mcac/LandingController.java +++ b/apps/landing/src/main/java/io/fisherhall/LandingController.java @@ -1,6 +1,5 @@ -package church.mcac; +package io.fisherhall; -import redis.clients.jedis.Jedis; import spark.Request; import spark.Response; import spark.Route; diff --git a/apps/landing/src/main/java/church/mcac/LandingPageStore.java b/apps/landing/src/main/java/io/fisherhall/LandingPageStore.java similarity index 87% rename from apps/landing/src/main/java/church/mcac/LandingPageStore.java rename to apps/landing/src/main/java/io/fisherhall/LandingPageStore.java index 8b2f0dd..aa97614 100644 --- a/apps/landing/src/main/java/church/mcac/LandingPageStore.java +++ b/apps/landing/src/main/java/io/fisherhall/LandingPageStore.java @@ -1,23 +1,22 @@ -package church.mcac; +package io.fisherhall; import redis.clients.jedis.Jedis; -import spark.Request; import java.util.Optional; public interface LandingPageStore { public String getFromRevision(Optional revision); - public static LandingPageStore defaultImplementation(Jedis jedis, Environment environment) { + public static LandingPageStore defaultImplementation(Jedis jedis, io.fisherhall.Environment environment) { return new LandingPageStoreImpl(jedis, environment); } } class LandingPageStoreImpl implements LandingPageStore { private Jedis jedis; - private Environment environment; + private io.fisherhall.Environment environment; - LandingPageStoreImpl(Jedis jedis, Environment environment) { + LandingPageStoreImpl(Jedis jedis, io.fisherhall.Environment environment) { this.jedis = jedis; this.environment = environment; diff --git a/apps/landing/src/test/java/io/fisherhall/LandingPageStoreTest.java b/apps/landing/src/test/java/io/fisherhall/LandingPageStoreTest.java new file mode 100644 index 0000000..efab982 --- /dev/null +++ b/apps/landing/src/test/java/io/fisherhall/LandingPageStoreTest.java @@ -0,0 +1,36 @@ +package io.fisherhall; + +import org.junit.Before; +import org.junit.Test; +import redis.clients.jedis.Jedis; + +import java.util.Optional; + +import static org.junit.Assert.assertEquals; + +public class LandingPageStoreTest { + private Jedis jedis; + private LandingPageStore store; + + @Before + public void beforeEach() { + jedis = new Jedis("redis"); + jedis.flushAll(); + store = LandingPageStore.defaultImplementation(jedis, Environment.TEST); + } + + @Test + public void getFromRevision_with_no_revision() { + jedis.set("basechurch:index:current", "CURRENT_REVISION"); + jedis.set("basechurch:index:CURRENT_REVISION", "My landing page"); + + assertEquals("My landing page", store.getFromRevision(Optional.empty())); + } + + @Test + public void getFromRevision_with_revision() { + jedis.set("basechurch:index:1", "v1 landing page"); + + assertEquals("v1 landing page", store.getFromRevision(Optional.of("1"))); + } +} \ No newline at end of file diff --git a/bin/shutdown.sh b/bin/shutdown.sh index 072311d..bcf8311 100755 --- a/bin/shutdown.sh +++ b/bin/shutdown.sh @@ -5,3 +5,8 @@ docker-compose \ -f apps/basechurch/docker-compose.override.yml \ down +docker-compose \ + -f apps/landing/docker-compose.yml \ + -f apps/landing/docker-compose.override.yml \ + down + diff --git a/bin/test-landing.sh b/bin/test-landing.sh new file mode 100755 index 0000000..ffc277c --- /dev/null +++ b/bin/test-landing.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +docker-compose \ + -f apps/landing/docker-compose.yml \ + -f apps/landing/docker-compose.override.yml \ + -f apps/landing/docker-compose.test.yml \ + up -d redis + +docker-compose \ + -f apps/landing/docker-compose.yml \ + -f apps/landing/docker-compose.override.yml \ + -f apps/landing/docker-compose.test.yml \ + run landing mvn test + From 4dbc3a4321bd7e00a02aecbf586fe76388b7fe25 Mon Sep 17 00:00:00 2001 From: Amos Chan Date: Tue, 10 Oct 2017 16:18:33 -0400 Subject: [PATCH 17/20] Add landing specs to travis --- .travis.yml | 3 ++- apps/landing/docker-compose.test.yml | 2 -- bin/{test.sh => test-basechurch.sh} | 6 +++--- 3 files changed, 5 insertions(+), 6 deletions(-) rename bin/{test.sh => test-basechurch.sh} (77%) diff --git a/.travis.yml b/.travis.yml index f1c5a8d..2eb4c14 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,8 @@ services: - docker script: - - ./bin/test.sh + - ./bin/test-basechurch.sh + - ./bin/test-landing.sh addons: code_climate: diff --git a/apps/landing/docker-compose.test.yml b/apps/landing/docker-compose.test.yml index fce76c1..8029fe7 100644 --- a/apps/landing/docker-compose.test.yml +++ b/apps/landing/docker-compose.test.yml @@ -1,10 +1,8 @@ version: '3' services: landing: - build: . env_file: - ./.env.test volumes: - ./target:/app/target - ./src:/app/src - command: bash -c "mvn package && java -jar target/landing-test-jar-with-dependencies.jar" diff --git a/bin/test.sh b/bin/test-basechurch.sh similarity index 77% rename from bin/test.sh rename to bin/test-basechurch.sh index 1a7e9d4..da4d69d 100755 --- a/bin/test.sh +++ b/bin/test-basechurch.sh @@ -8,14 +8,14 @@ docker-compose \ docker-compose \ -f apps/basechurch/docker-compose.yml \ -f apps/basechurch/docker-compose.override.yml \ - run -e RAILS_ENV=test web bundle exec rake db:create + run -e RAILS_ENV=test api bundle exec rake db:create docker-compose \ -f apps/basechurch/docker-compose.yml \ -f apps/basechurch/docker-compose.override.yml \ - run -e RAILS_ENV=test web bundle exec rake db:migrate + run -e RAILS_ENV=test api bundle exec rake db:migrate docker-compose \ -f apps/basechurch/docker-compose.yml \ -f apps/basechurch/docker-compose.override.yml \ - run web bundle exec rspec + run api bundle exec rspec From aee2000e158a0e2aac1c1d5ef35d7bdd14670acd Mon Sep 17 00:00:00 2001 From: Amos Chan Date: Tue, 10 Oct 2017 16:45:52 -0400 Subject: [PATCH 18/20] Fix basechurch specs --- apps/basechurch/.env.test | 9 +++++++++ apps/basechurch/docker-compose.override.yml | 2 +- apps/basechurch/docker-compose.yml | 2 +- bin/test-basechurch.sh | 2 ++ 4 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 apps/basechurch/.env.test diff --git a/apps/basechurch/.env.test b/apps/basechurch/.env.test new file mode 100644 index 0000000..98ee5f8 --- /dev/null +++ b/apps/basechurch/.env.test @@ -0,0 +1,9 @@ +AWS_ACCESS_KEY_ID=test_aws_access_key_id +AWS_SECRET_ACCESS_KEY=test_aws_secret_access_key +DATABASE_HOST=db +DATABASE_USER=postgres +DATABASE_PASSWORD= +FB_APP_ID=a2222222222222 +FB_APP_SECRET=a222222222333 +PRERENDER_IO_TOKEN=test_prerender_token +SECRET_KEY_BASE=asdlkjfh23lkj4h23lkjehfsd7f8xc98zxvhxkvjhenrweefdxi99 diff --git a/apps/basechurch/docker-compose.override.yml b/apps/basechurch/docker-compose.override.yml index 92bf112..e60ce9b 100644 --- a/apps/basechurch/docker-compose.override.yml +++ b/apps/basechurch/docker-compose.override.yml @@ -5,7 +5,7 @@ services: api: build: . env_file: - - ./.env.dev + - ./.env.${BASECHURCH_ENV} volumes: - .:/app depends_on: diff --git a/apps/basechurch/docker-compose.yml b/apps/basechurch/docker-compose.yml index 100ca40..3c9b512 100644 --- a/apps/basechurch/docker-compose.yml +++ b/apps/basechurch/docker-compose.yml @@ -3,7 +3,7 @@ services: api: image: fisherhall/api:latest env_file: - - ./.env.production + - ./.env.${BASECHURCH_ENV} command: bundle exec rails s -p 3000 -b '0.0.0.0' ports: - "3000:3000" diff --git a/bin/test-basechurch.sh b/bin/test-basechurch.sh index da4d69d..33fd11c 100755 --- a/bin/test-basechurch.sh +++ b/bin/test-basechurch.sh @@ -1,5 +1,7 @@ #!/bin/bash +export BASECHURCH_ENV=test + docker-compose \ -f apps/basechurch/docker-compose.yml \ -f apps/basechurch/docker-compose.override.yml \ From 7bf83978115d9469cb926defc05f2b6ad225b578 Mon Sep 17 00:00:00 2001 From: Amos Chan Date: Tue, 10 Oct 2017 19:24:04 -0400 Subject: [PATCH 19/20] Choose env file based on BASECHURCH_ENV --- apps/landing/docker-compose.override.yml | 2 +- apps/landing/docker-compose.test.yml | 2 +- apps/landing/docker-compose.yml | 2 +- bin/test-landing.sh | 2 ++ 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/landing/docker-compose.override.yml b/apps/landing/docker-compose.override.yml index eedff6d..3fb9d5c 100644 --- a/apps/landing/docker-compose.override.yml +++ b/apps/landing/docker-compose.override.yml @@ -3,7 +3,7 @@ services: landing: build: . env_file: - - ./.env.dev + - ./.env.${BASECHURCH_ENV} volumes: - ./target:/app/target command: bash -c "mvn package && java -jar target/landing-jar-with-dependencies.jar" diff --git a/apps/landing/docker-compose.test.yml b/apps/landing/docker-compose.test.yml index 8029fe7..d242227 100644 --- a/apps/landing/docker-compose.test.yml +++ b/apps/landing/docker-compose.test.yml @@ -2,7 +2,7 @@ version: '3' services: landing: env_file: - - ./.env.test + - ./.env.${BASECHURCH_ENV} volumes: - ./target:/app/target - ./src:/app/src diff --git a/apps/landing/docker-compose.yml b/apps/landing/docker-compose.yml index 63e9a1c..d551081 100644 --- a/apps/landing/docker-compose.yml +++ b/apps/landing/docker-compose.yml @@ -5,7 +5,7 @@ services: landing: image: fisherhall/landing:latest env_file: - - ./.env.production + - ./.env.${BASECHURCH_ENV} command: java -jar target/landing-jar-with-dependencies.jar ports: - "4567:4567" diff --git a/bin/test-landing.sh b/bin/test-landing.sh index ffc277c..b97fcc3 100755 --- a/bin/test-landing.sh +++ b/bin/test-landing.sh @@ -1,5 +1,7 @@ #!/bin/bash +export BASECHURCH_ENV=test + docker-compose \ -f apps/landing/docker-compose.yml \ -f apps/landing/docker-compose.override.yml \ From 3815e2e857a3edce371a1183a600fca610006fd8 Mon Sep 17 00:00:00 2001 From: Amos Chan Date: Tue, 10 Oct 2017 21:14:35 -0400 Subject: [PATCH 20/20] Make environent a local variable --- .../src/main/java/io/fisherhall/LandingController.java | 8 ++++---- .../src/main/java/io/fisherhall/LandingPageStore.java | 2 -- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/apps/landing/src/main/java/io/fisherhall/LandingController.java b/apps/landing/src/main/java/io/fisherhall/LandingController.java index d020b35..3c7d724 100644 --- a/apps/landing/src/main/java/io/fisherhall/LandingController.java +++ b/apps/landing/src/main/java/io/fisherhall/LandingController.java @@ -9,11 +9,11 @@ public class LandingController { private LandingPageStore store; - public LandingController(LandingPageStore store) { - this.store = store; - } - public final Route indexRoute = (Request request, Response response) -> { return store.getFromRevision(Optional.ofNullable(request.queryParams("revision"))); }; + + public LandingController(LandingPageStore store) { + this.store = store; + } } diff --git a/apps/landing/src/main/java/io/fisherhall/LandingPageStore.java b/apps/landing/src/main/java/io/fisherhall/LandingPageStore.java index aa97614..dd48096 100644 --- a/apps/landing/src/main/java/io/fisherhall/LandingPageStore.java +++ b/apps/landing/src/main/java/io/fisherhall/LandingPageStore.java @@ -14,11 +14,9 @@ public static LandingPageStore defaultImplementation(Jedis jedis, io.fisherhall. class LandingPageStoreImpl implements LandingPageStore { private Jedis jedis; - private io.fisherhall.Environment environment; LandingPageStoreImpl(Jedis jedis, io.fisherhall.Environment environment) { this.jedis = jedis; - this.environment = environment; if (environment == Environment.DEVELOPMENT) { seedDevelopmentData();