disco_app 0.14.4 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Rakefile +1 -5
- data/app/clients/disco_app/api_client.rb +5 -4
- data/app/clients/disco_app/graphql_client.rb +85 -0
- data/app/controllers/disco_app/admin/app_settings_controller.rb +2 -0
- data/app/controllers/disco_app/admin/application_controller.rb +1 -0
- data/app/controllers/disco_app/admin/concerns/app_settings_controller.rb +2 -1
- data/app/controllers/disco_app/admin/concerns/authenticated_controller.rb +5 -3
- data/app/controllers/disco_app/admin/concerns/plans_controller.rb +3 -2
- data/app/controllers/disco_app/admin/concerns/shops_controller.rb +1 -0
- data/app/controllers/disco_app/admin/concerns/sources_controller.rb +2 -1
- data/app/controllers/disco_app/admin/concerns/subscriptions_controller.rb +3 -2
- data/app/controllers/disco_app/admin/plans_controller.rb +2 -0
- data/app/controllers/disco_app/admin/resources/shops_controller.rb +2 -0
- data/app/controllers/disco_app/admin/shops_controller.rb +2 -0
- data/app/controllers/disco_app/admin/sources_controller.rb +2 -0
- data/app/controllers/disco_app/admin/subscriptions_controller.rb +2 -0
- data/app/controllers/disco_app/charges_controller.rb +6 -7
- data/app/controllers/disco_app/concerns/app_proxy_controller.rb +6 -6
- data/app/controllers/disco_app/concerns/authenticated_controller.rb +24 -25
- data/app/controllers/disco_app/concerns/carrier_request_controller.rb +22 -11
- data/app/controllers/disco_app/concerns/user_authenticated_controller.rb +1 -0
- data/app/controllers/disco_app/concerns/webhooks_controller.rb +49 -0
- data/app/controllers/disco_app/flow/actions_controller.rb +9 -0
- data/app/controllers/disco_app/flow/concerns/actions_controller.rb +50 -0
- data/app/controllers/disco_app/frame_controller.rb +0 -1
- data/app/controllers/disco_app/install_controller.rb +3 -6
- data/app/controllers/disco_app/subscriptions_controller.rb +12 -4
- data/app/controllers/disco_app/user_sessions_controller.rb +1 -0
- data/app/controllers/disco_app/webhooks_controller.rb +2 -44
- data/app/controllers/sessions_controller.rb +4 -3
- data/app/helpers/disco_app/application_helper.rb +7 -7
- data/app/jobs/disco_app/app_installed_job.rb +2 -0
- data/app/jobs/disco_app/app_uninstalled_job.rb +2 -0
- data/app/jobs/disco_app/concerns/app_installed_job.rb +2 -3
- data/app/jobs/disco_app/concerns/app_uninstalled_job.rb +2 -1
- data/app/jobs/disco_app/concerns/render_asset_group_job.rb +1 -0
- data/app/jobs/disco_app/concerns/shop_update_job.rb +9 -2
- data/app/jobs/disco_app/concerns/subscription_changed_job.rb +2 -1
- data/app/jobs/disco_app/concerns/synchronise_carrier_service_job.rb +8 -7
- data/app/jobs/disco_app/concerns/synchronise_resources_job.rb +1 -0
- data/app/jobs/disco_app/concerns/synchronise_users_job.rb +6 -3
- data/app/jobs/disco_app/concerns/synchronise_webhooks_job.rb +4 -5
- data/app/jobs/disco_app/flow/process_action_job.rb +11 -0
- data/app/jobs/disco_app/flow/process_trigger_job.rb +11 -0
- data/app/jobs/disco_app/render_asset_group_job.rb +2 -0
- data/app/jobs/disco_app/shop_job.rb +10 -10
- data/app/jobs/disco_app/shop_update_job.rb +2 -0
- data/app/jobs/disco_app/subscription_changed_job.rb +2 -0
- data/app/jobs/disco_app/synchronise_carrier_service_job.rb +2 -0
- data/app/jobs/disco_app/synchronise_resources_job.rb +2 -0
- data/app/jobs/disco_app/synchronise_users_job.rb +2 -0
- data/app/jobs/disco_app/synchronise_webhooks_job.rb +2 -0
- data/app/models/application_record.rb +2 -0
- data/app/models/disco_app/app_settings.rb +2 -0
- data/app/models/disco_app/application_charge.rb +1 -1
- data/app/models/disco_app/concerns/app_settings.rb +2 -0
- data/app/models/disco_app/concerns/can_be_liquified.rb +29 -14
- data/app/models/disco_app/concerns/has_metafields.rb +1 -2
- data/app/models/disco_app/concerns/plan.rb +3 -4
- data/app/models/disco_app/concerns/plan_code.rb +1 -2
- data/app/models/disco_app/concerns/renders_assets.rb +14 -18
- data/app/models/disco_app/concerns/shop.rb +11 -12
- data/app/models/disco_app/concerns/source.rb +2 -3
- data/app/models/disco_app/concerns/subscription.rb +3 -3
- data/app/models/disco_app/concerns/synchronises.rb +10 -15
- data/app/models/disco_app/concerns/taggable.rb +1 -0
- data/app/models/disco_app/concerns/user.rb +3 -2
- data/app/models/disco_app/flow/action.rb +9 -0
- data/app/models/disco_app/flow/concerns/action.rb +27 -0
- data/app/models/disco_app/flow/concerns/trigger.rb +27 -0
- data/app/models/disco_app/flow/trigger.rb +9 -0
- data/app/models/disco_app/plan.rb +2 -0
- data/app/models/disco_app/plan_code.rb +2 -0
- data/app/models/disco_app/session_storage.rb +3 -0
- data/app/models/disco_app/shop.rb +2 -0
- data/app/models/disco_app/source.rb +2 -0
- data/app/models/disco_app/subscription.rb +2 -0
- data/app/models/disco_app/user.rb +2 -0
- data/app/resources/disco_app/admin/resources/concerns/shop_resource.rb +12 -15
- data/app/resources/disco_app/admin/resources/shop_resource.rb +1 -0
- data/app/services/disco_app/carrier_request_service.rb +3 -3
- data/app/services/disco_app/charges_service.rb +26 -34
- data/app/services/disco_app/flow/create_action.rb +35 -0
- data/app/services/disco_app/flow/create_trigger.rb +34 -0
- data/app/services/disco_app/flow/process_action.rb +50 -0
- data/app/services/disco_app/flow/process_trigger.rb +52 -0
- data/app/services/disco_app/partner_app_service.rb +1 -1
- data/app/services/disco_app/proxy_service.rb +2 -2
- data/app/services/disco_app/request_validation_service.rb +2 -2
- data/app/services/disco_app/subscription_service.rb +60 -32
- data/app/services/disco_app/webhook_service.rb +9 -11
- data/config/routes.rb +7 -3
- data/db/migrate/20150525000000_create_shops_if_not_existent.rb +80 -80
- data/db/migrate/20170315062548_create_disco_app_sources.rb +2 -0
- data/db/migrate/20170315062629_add_sources_to_shop_subscriptions.rb +3 -1
- data/db/migrate/20170327214540_create_disco_app_users.rb +2 -1
- data/db/migrate/20170606160751_fix_disco_app_users_index.rb +2 -0
- data/db/migrate/20181229100327_create_flow_actions_and_triggers.rb +32 -0
- data/lib/disco_app/configuration.rb +9 -5
- data/lib/disco_app/constants.rb +4 -2
- data/lib/disco_app/engine.rb +1 -1
- data/lib/disco_app/session.rb +1 -0
- data/lib/disco_app/support/file_fixtures.rb +2 -1
- data/lib/disco_app/version.rb +3 -1
- data/lib/generators/disco_app/install/USAGE +5 -0
- data/lib/generators/disco_app/install/install_generator.rb +287 -0
- data/lib/generators/disco_app/{templates → install/templates}/assets/javascripts/application.js +0 -0
- data/lib/generators/disco_app/{templates → install/templates}/assets/javascripts/components.js +0 -0
- data/lib/generators/disco_app/{templates → install/templates}/assets/stylesheets/application.scss +0 -0
- data/lib/generators/disco_app/install/templates/config/appsignal.yml +12 -0
- data/lib/generators/disco_app/install/templates/config/cable.yml.tt +11 -0
- data/lib/generators/disco_app/{templates → install/templates}/config/database.yml.tt +6 -3
- data/lib/generators/disco_app/install/templates/config/environments/staging.rb +108 -0
- data/lib/generators/disco_app/{templates → install/templates}/config/puma.rb +0 -0
- data/lib/generators/disco_app/{templates → install/templates}/controllers/home_controller.rb +1 -0
- data/lib/generators/disco_app/{templates → install/templates}/initializers/disco_app.rb +0 -0
- data/lib/generators/disco_app/install/templates/initializers/session_store.rb +2 -0
- data/lib/generators/disco_app/{templates → install/templates}/initializers/shopify_app.rb +0 -0
- data/lib/generators/disco_app/{templates → install/templates}/initializers/shopify_session_repository.rb +0 -0
- data/lib/generators/disco_app/install/templates/initializers/timber.rb +6 -0
- data/lib/generators/disco_app/{templates → install/templates}/root/.editorconfig +0 -0
- data/lib/generators/disco_app/{templates → install/templates}/root/.env +3 -0
- data/lib/generators/disco_app/{templates → install/templates}/root/.env.local +3 -0
- data/lib/generators/disco_app/install/templates/root/.github/PULL_REQUEST_TEMPLATE.md +18 -0
- data/lib/generators/disco_app/{templates → install/templates}/root/.gitignore +10 -0
- data/lib/generators/disco_app/install/templates/root/.rspec +1 -0
- data/lib/generators/disco_app/{templates → install/templates}/root/.rubocop.yml +263 -170
- data/lib/generators/disco_app/{templates → install/templates}/root/.ruby-version +0 -0
- data/lib/generators/disco_app/{templates → install/templates}/root/CHECKS +0 -0
- data/lib/generators/disco_app/{templates → install/templates}/root/Procfile +0 -0
- data/lib/generators/disco_app/{templates → install/templates}/root/README.md +0 -0
- data/lib/generators/disco_app/install/templates/spec/rails_helper.rb +40 -0
- data/lib/generators/disco_app/install/templates/spec/spec_helper.rb +24 -0
- data/lib/generators/disco_app/install/templates/spec/support/active_job.rb +13 -0
- data/lib/generators/disco_app/install/templates/spec/support/coveralls.rb +3 -0
- data/lib/generators/disco_app/install/templates/spec/support/database_cleaner.rb +17 -0
- data/lib/generators/disco_app/install/templates/spec/support/factory_bot.rb +3 -0
- data/lib/generators/disco_app/install/templates/spec/support/helpers/json_helper.rb +13 -0
- data/lib/generators/disco_app/install/templates/spec/support/shared_examples/a_synchronise_job.rb +12 -0
- data/lib/generators/disco_app/install/templates/spec/support/shoulda.rb +6 -0
- data/lib/generators/disco_app/install/templates/spec/support/vcr.rb +14 -0
- data/lib/generators/disco_app/install/templates/spec/support/webmock.rb +8 -0
- data/lib/generators/disco_app/{templates → install/templates}/views/home/index.html.erb +0 -0
- data/lib/generators/disco_app/react/USAGE +5 -0
- data/lib/generators/disco_app/react/react_generator.rb +108 -0
- data/lib/generators/disco_app/react/templates/app/controllers/embedded/api/base_controller.rb +18 -0
- data/lib/generators/disco_app/react/templates/app/controllers/embedded/api/home_controller.rb +10 -0
- data/lib/generators/disco_app/react/templates/app/controllers/embedded/api/shops_controller.rb +11 -0
- data/lib/generators/disco_app/react/templates/app/controllers/embedded/api/users_controller.rb +11 -0
- data/lib/generators/disco_app/react/templates/app/controllers/embedded/home_controller.rb +13 -0
- data/lib/generators/disco_app/react/templates/app/models/api_response.rb +107 -0
- data/lib/generators/disco_app/react/templates/app/serializers/disco_app/shop_serializer.rb +13 -0
- data/lib/generators/disco_app/react/templates/app/serializers/disco_app/user_serializer.rb +13 -0
- data/lib/generators/disco_app/react/templates/app/serializers/empty_serializer.rb +5 -0
- data/lib/generators/disco_app/react/templates/app/serializers/error_serializer.rb +76 -0
- data/lib/generators/disco_app/react/templates/app/views/embedded/home/index.html.erb +12 -0
- data/lib/generators/disco_app/react/templates/app/views/layouts/embedded.html.erb +10 -0
- data/lib/generators/disco_app/react/templates/app/webpack/javascripts/embedded/components/App.jsx +77 -0
- data/lib/generators/disco_app/react/templates/app/webpack/javascripts/embedded/components/HomePage.jsx +34 -0
- data/lib/generators/disco_app/react/templates/app/webpack/javascripts/embedded/components/Shared/EmbeddedPage.jsx +70 -0
- data/lib/generators/disco_app/react/templates/app/webpack/javascripts/embedded/components/Shared/ErrorBanner.jsx +58 -0
- data/lib/generators/disco_app/react/templates/app/webpack/javascripts/embedded/components/Shared/PaginationWrapper.jsx +10 -0
- data/lib/generators/disco_app/react/templates/app/webpack/javascripts/embedded/components/Shared/ScrollToTop.jsx +23 -0
- data/lib/generators/disco_app/react/templates/app/webpack/javascripts/embedded/components/withApi.jsx +125 -0
- data/lib/generators/disco_app/react/templates/app/webpack/javascripts/embedded/index.jsx +39 -0
- data/lib/generators/disco_app/react/templates/app/webpack/javascripts/embedded/utils.js +19 -0
- data/lib/generators/disco_app/react/templates/app/webpack/packs/embedded.js +2 -0
- data/lib/generators/disco_app/react/templates/app/webpack/stylesheets/embedded/shared/banners.scss +7 -0
- data/lib/generators/disco_app/react/templates/app/webpack/stylesheets/embedded/shared/busy.scss +3 -0
- data/lib/generators/disco_app/react/templates/app/webpack/stylesheets/embedded/shared/index.scss +3 -0
- data/lib/generators/disco_app/react/templates/app/webpack/stylesheets/embedded/shared/pagination.scss +5 -0
- data/lib/generators/disco_app/react/templates/app/webpack/stylesheets/embedded.scss +2 -0
- data/lib/generators/disco_app/react/templates/config/initializers/mime_types.rb +13 -0
- data/lib/generators/disco_app/react/templates/config/initializers/omniauth.rb +27 -0
- data/lib/generators/disco_app/react/templates/config/initializers/version.rb.tt +7 -0
- data/lib/generators/disco_app/react/templates/config/webpack/staging.js +5 -0
- data/lib/generators/disco_app/react/templates/config/webpack/test.js +5 -0
- data/lib/generators/disco_app/react/templates/config/webpacker.yml +96 -0
- data/lib/generators/disco_app/react/templates/root/.eslintignore +5 -0
- data/lib/generators/disco_app/react/templates/root/.eslintrc +69 -0
- data/lib/generators/disco_app/react/templates/root/.prettierrc +3 -0
- data/lib/generators/disco_app/react/templates/root/VERSION +1 -0
- data/lib/generators/disco_app/react/templates/root/babel.config.js +72 -0
- data/lib/generators/disco_app/react/templates/root/package.json.tt +84 -0
- data/lib/generators/disco_app/react/templates/root/postcss.config.js +14 -0
- data/lib/tasks/api.rake +0 -2
- data/lib/tasks/carrier_service.rake +0 -2
- data/lib/tasks/database.rake +1 -1
- data/lib/tasks/sessions.rake +0 -2
- data/lib/tasks/shops.rake +0 -2
- data/lib/tasks/users.rake +0 -2
- data/lib/tasks/webhooks.rake +0 -2
- data/test/clients/disco_app/api_client_test.rb +3 -3
- data/test/controllers/disco_app/admin/shops_controller_test.rb +1 -0
- data/test/controllers/disco_app/charges_controller_test.rb +7 -8
- data/test/controllers/disco_app/install_controller_test.rb +2 -1
- data/test/controllers/disco_app/subscriptions_controller_test.rb +1 -0
- data/test/controllers/disco_app/webhooks_controller_test.rb +1 -0
- data/test/controllers/home_controller_test.rb +1 -1
- data/test/disco_app_test.rb +3 -1
- data/test/dummy/Rakefile +1 -1
- data/test/dummy/app/controllers/application_controller.rb +2 -0
- data/test/dummy/app/controllers/carrier_request_controller.rb +1 -0
- data/test/dummy/app/controllers/disco_app/admin/shops_controller.rb +1 -0
- data/test/dummy/app/controllers/home_controller.rb +1 -0
- data/test/dummy/app/controllers/proxy_controller.rb +1 -0
- data/test/dummy/app/jobs/disco_app/app_installed_job.rb +2 -3
- data/test/dummy/app/jobs/disco_app/app_uninstalled_job.rb +1 -0
- data/test/dummy/app/models/application_record.rb +2 -0
- data/test/dummy/app/models/cart.rb +4 -3
- data/test/dummy/app/models/disco_app/shop.rb +4 -5
- data/test/dummy/app/models/js_configuration.rb +1 -0
- data/test/dummy/app/models/product.rb +3 -2
- data/test/dummy/app/models/widget_configuration.rb +1 -0
- data/test/dummy/bin/bundle +1 -1
- data/test/dummy/bin/rails +1 -1
- data/test/dummy/bin/setup +8 -8
- data/test/dummy/config/application.rb +4 -3
- data/test/dummy/config/boot.rb +2 -2
- data/test/dummy/config/database.yml +3 -0
- data/test/dummy/config/environment.rb +1 -1
- data/test/dummy/config/environments/staging.rb +85 -0
- data/test/dummy/config/initializers/disco_app.rb +1 -1
- data/test/dummy/config/initializers/omniauth.rb +3 -4
- data/test/dummy/config/initializers/session_store.rb +1 -1
- data/test/dummy/config/routes.rb +0 -2
- data/test/dummy/config/secrets.yml +3 -0
- data/test/dummy/db/migrate/20160307182229_create_products.rb +3 -1
- data/test/dummy/db/migrate/20160530160739_create_asset_models.rb +3 -1
- data/test/dummy/db/migrate/20161105054746_create_carts.rb +2 -1
- data/test/dummy/db/schema.rb +179 -152
- data/test/dummy/log/development.log +123 -0
- data/test/dummy/log/test.log +22884 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/-p/-p4kkBudGSkrc-Hs2yVEjJfJGuf9E8MY-5Huo4W9iZ0.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/02/02ODr719GA9zZyrA_CgJwh5Vg-Pq_dHkMMbUvRIygtA.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/0y/0yiARCmpEBX_JoExohBEcHFx0vv-nWUcjHbxtQbEA3w.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/12/12KLSO9fSADQ-vGWrYiIRQqP1yFoPcxxZfCvm6paqnE.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/1h/1ho8ca9C4lfKF780RN8l2MHAActK0WYWa_5I_LQO_ag.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/2E/2E5jz5DyydbByixysW06PLr06e_FQdg9TtbY_LxsRo8.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/2J/2JdcXeYI4Ed1DoLpSzLbKAvxbzMjrdwRoNICGVN45dU.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/2X/2X74oB94L9QPqDYRPZkVEcbdsec1wp6qB_y7h3qwYp4.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/32/32y6lFrrvtuqVj8A3uafoeX0iA_l4YhD5PJS1JvQIfk.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/35/35LlNk3lHMnnozK9qRT4mpTbnAtOnjBpfHIybikbcfo.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/3X/3Xl5kEo1hpRF6kHX2lvLp2kUaNDYGuAkylPqJsOLKXQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/4H/4HXBYKkHtI3ZmDZncAS7pdUwtVhzmwt8XWQMGH1R5xo.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/4H/4hR2zE1hAnLGpPIQS2v71qG-jmiWb2SHAbGiQjxijck.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/4O/4OJh4kuEsZJ7ok8p5Wd0wui5pwAE46AFCurNgp2gSmk.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/4Q/4Qe1126dQRjtMngpBX8SwgKoZu8tQFMDj6XxRU8h4TM.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/4a/4aPQ7FUdl3IqfTnkIvvU_TbAQVz9rEuUbGQk4YMlFHc.cache +4 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/4t/4t0ZbDDyABeGi5MqrX0f4_dHY4BEtHc_zGRi1rkQRog.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/5e/5efYNzR4038HZsit1p-T65aXkUBH4ZVleUZb9hEvXIw.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/5f/5fTS4gj7gRDTvcAIYd46ZVrIJqJxQXrLVHhxzWoSJnw.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/6B/6B5j5ojbS7-L49BW-pNvcpI-SvSgiwvMtK7cKz9UnVE.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/87/87o1fQc0-Zza8i-HNr9IqA4HYu8ePoAOkIJKIKf8Z6c.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/8G/8Gp6gCGqi_pI4TmiSRkdhdWznz8tSvZmez3YdyJLNDk.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/8Z/8Z6fieaymg-zBK1iKgH2xBNnbfeA8Or1VfihnmwZfDc.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/95/95puf81N4E8lDxbeI9yL09DueyWMUjfsUJ9IAP5jOOM.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/9E/9E3lx2-LKkXgLWP5jG38B5uCsGiSeWq2po03Die5KF4.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/9m/9m2H02fp4A1UDiXojyy9sl9NgiiNhAbWFL99jKLSUXQ.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/A-/A-NmGmyyn0mjkLyKGGU0KRIZalJ2fZNyOkgZt5e910I.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/AF/AFq71LdWk8T3oJ3clzVzZV--uw0vgLDhG7eMv-RzXWQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/AV/AVaNyVl3EijOrYMZaI7oNgwVbsBIxZHrTKLar1ze83A.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/B-/B-Qo2b4ZsaxV28WasrCQxMuvqER0D7WhzdE4ydvu6bs.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/BC/BCGc2X3UiMM53c7SecA7o8rP8PnnWI-msrib8ngDCzU.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/B_/B_Zzsw0s5HhMI_CS94zPqXl1CdI5oR2CksO7cRDTQKk.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Bk/BkOwynwXRQOTj1eL9WyhTbRj-UqFPIrWaIpShoHs9Ck.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/CP/CPGMneZZYKfNQIQfykCtq6C_kPvs-Q_5IT7-62sQig8.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/D4/D4FYk677edDaB59dMMpaLK_laiH2ExaAoNfQ3tckUe0.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/D9/D9O72M_cglvDAMJDjtzio3B6-aC_mmcbI4mLvvKnBX8.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/DM/DMgq30X20--UWPvaAZ5Cf4oEvG4tBBHF4gLe5mnePRI.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/E0/E03lez839JRYKgxWxjIrCnVdXJ26UoZDCSHUmR4ojdc.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/E4/E4Pb3S8O5ZHVIkRSm6c-VFO-17tIFqQzHVloIC9yVQQ.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ep/Eph4FRIXVEgT6ofe0aGn6s-8A-Q0jsyxstY422Btwgk.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Eq/Eq6J05FaAYDioPfJRie-I5fIzVt8N8Cc9fFrum3R0kU.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ev/EvGs2l1aBK0RXGSw8osKl01fEOHn6RuiWkR55TIZADE.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/F3/F3sM5VHZOb3PYnt59S-zBWfWtU_HMpihPI61bBdqtPo.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/FV/FVpKiOBNCAznp4Ya_eMnQ38K-xO3tK46uPBg-mFB4v4.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/G5/G5aZsL6LP4HC_Of4i2yYsPaOm8dEOLIXkYdZ6tfuYH4.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/GP/GPc2gCWO8la32JX3fK1ArDYv3QM63WVQ4S0iwpyJinA.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Hg/Hgo9RBfSwY8h8vBNKW38aTRYrA2POVwE2v0ZUs4H4iY.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/I2/I2iRIXHbnG_vgyhptOqXgQHRe8AIPfa34zmkDL06ibY.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/IT/ITu-bZPOSBI44uFwzG-2bXQvYQvlsjFhIzQtA6FjpzI.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/IU/IUU7_XlyzslBC48YPBBx35oNruWg9vN906B_uV4GiDg.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Jt/JtSpiYSuQ7CjfmgQNb7_FLI2Bls3o7yLZf-2Yn3Tp2U.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/KA/KA1WZHj-tCh9wJTjQ82C6RW2abPAHfPbczUvt3U0tBA.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Kr/KrbYQRjOQilz5PwngxqljeBbo7gnho2oNCzt9xeostM.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Kv/KvrosnOxWBhs2jdBY359Jd_PuPgvRxTEhknjpLZI2J4.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/LB/LBKCbI8U7auhpX6SCBMuQUyESeMLr90SUzMlnB2u9K0.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Lx/LxvZGzkKI0YLuIZB1jBioj31ElpU3JOmhzZrQIqu6f4.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/MA/MAY9X_jK8UHgcT3acJjAPNRR1io9S2E5KXFZjk9BVoc.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/MA/MAjMl63wcw2lt9F7Fu0Aml-DdcReV0Op4kCwLLkgZzE.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Mb/MbUcsjDehlhHnLqP_sU8IKStNYDZEz09Ga5gk4psMZU.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Mf/Mfdr1mda4l8eqbsSlL2hylksXaiTeYfwU-fq4ko_F_s.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/ND/NDwUm11hTOtktv5tkuUYsrSYAA911qwhO2acqloyxas.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/ND/ndYRNd1Jv1ESobiH7xjHCJXHooPNdUPSxG8OUoCVi40.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Nu/NuS-wdnyjTJSg7hUaprtYh_3hQyvNGTTaRSmK0tUNiU.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Nz/NzUGztrNqSgb4WfJOviqI6mjmx1g1L9T6V7BdOgZs3A.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Oo/Oox1vL8lRd_YME1JHrD8fTh4Osz1njTWieFpIZ0_G2Y.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Pj/PjFSX3ELsmK13-CVKc39OnguIcUMb4EbMV6s0lspCps.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Qa/Qa6iUyiZsHRjXGz39RPFnBoVYB2YNZJRlihJjDXm1Bk.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Qa/qA0PpX9EMQtQoiP0QbK5bYMUX9OkK1OKTIKwGLtqEMw.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Qv/Qvrsp8Of-JGCe25QvfmdH--wQL5vGbLtKiKb921jFq4.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Qx/QxOtw5pSMh_dcbeU_FmhURV2lEsclOCcFfNrk2EoSRA.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/RB/RBgpR6mjFySj9-G4E_qadgKjQbF7G_pAA6D_iRDUk1k.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/RY/RYr7AxgrTd-Qg2KQa84E8ph9qmA7YFrdrVHMRxMxh_w.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Re/ReX-_166hRZykFAwmvCQ19NZEbV6Wa82TEZyyIJna4I.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Rk/Rk2lt4VSCTBJ_5w3zwlezlAymCnCIrj-u4hkGrphzDM.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Rl/RlgTK-oa7AfiImaIV0ABJ7Gfbg0PdFMeQitXJ-wgKA4.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/SG/SGGTeEpmk20e5GZV4hcfdbmHMbsQgC8C1VhYlrrQ66M.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/SK/SKaaVqp6uc_kLTIG2y22QaCGc6g3O4GhL8G4LwJJB8s.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Sw/SwRQFgc8QgHfYpyQ7yxe3tPOoP2VJ4Gg6hNH1-fS7LQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/TF/TFzMURDWcxBdkePR_mAtaTIrdc4vWlLJuL48b_xiOxQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ul/Ulgt7E1quzZA4FaG37lmxJCoTzG74eHZg-dpjniHHYw.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Vr/Vr3hv8nrf3Q9kTPp7bZK9GzGVXU77Yrd_iW4QjMda08.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Wg/WgJ8nC_59fjWlE7iFIGPD94i3QCNLt1kR9gcAFkou_4.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Wi/WiufxFw0JHFbFUn_8t_eC06A3pMN-vHT-Bs-bxXLsJk.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Wx/WxK5JQ5Syi4DSTgcxH3k0-PfF_g7eeb7qW1z5EEqEkY.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/XB/XBj30cQH2Bw6KE9wpF6ylqczHNtz1rvailJi85_aXFY.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Xf/XfRpHm7iz1vW_wpIEZRO4i4dFQLBLzmdP3UPg1tcf-E.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Xt/Xtcw2vyNc82l8ChsSieO0h0kbELj9P2Tw9TxjmttoEw.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Y0/Y0IFckg4LNe1fBvLBTvZct2gfX_g_1MpAMoTBU8qfLg.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Y0/y0SkzhEQe_b3MQq69A2KH5LjHUB7vPYj6wp4neZzf6Q.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Y4/Y4jdKVp7dOOcuMaUutQ1s4NmmLXq47L1LWhyXZXEaLg.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/YE/YEjjWfxdNXU6i_3BklG7anaVrOdu-5jksfoL9GufaGU.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Yi/YitmSGSMIDji4aC0llOHl0AS6taxqjRk6e_SYw-V1Is.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Zb/Zbler-n-7XzOneefutPvH2Cu1UsS967fqjldXwVuStU.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Zs/Zs5ig01Gu3Y1thnsToaKQbOIFKAQPCQm0HEEec_vblE.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/_C/_C10TQWkrfsm41Aaav86lCOkEcLdO7fX8yojbphLRbE.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/_G/_GCN7qhLkwrwMKEGcBZ9ITsu0QC1l9HD9XaViXBlNQM.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/_H/_HRU4CZPSyJ4PEUvsGMJSiIVZqSkNIvU3PoQGUB4l2I.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/_T/_TQROPFCUq0STw2BzbGITspAWA8dF_WvVa7aR02nXAE.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/_d/_dgNuvKh1O-ss5yC3qg8KPo3anB_pzCXJw3sphxrAFI.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/_p/_pqVJRc7OZRexEiqcsNQKd5ip8aNkUW9mKQc6OpAp8I.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/a1/a1P7jCwGayzCGMYDX1CYCSvT7-pi0eiRewg9KbC-6mI.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/ao/aoPwSmt5N3P9MyBoWUSbkg8F3_b0jhvKuZ6GlBbwRw0.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/au/au5wohs0fb0VW1crV3GXkqZs18247x-hRKniPTdRqRM.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/bW/bWiegRudr21oJdzrS11Fu6RMJ9hjYELHp5F94RA6zRI.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/c1/c1tUtq98JfLhITxPjfdj6g0Ys9pCpneLHq6wBa9v4co.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/cC/cCneJUl-S3YnUyRCXIUSQxORgSrNf3K24tBhWxLceo4.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/cK/cK54mTNBuCdAdDEaSzhZ43uo00XDN8FDTMcsViGpmUc.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/cy/cydtDFqB_RwfVSEq7ACddUz8us2dp3h4WtZnAJTukfU.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/dY/dYKoKcEw2XuaSJKsyIixsGilwIzRPtXACDh0e-w3PAM.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/eY/eYr7xslMqmPqzIH5i1RCZ-XnPoU9owIbQ-hnrsR9SFk.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/ec/ecxUdWV-k6NvipoXNVXRmH32mnDSwr-ZeNVGhBlpYQQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/ej/ejTWaTrHa-76kUnlqc-EfP1NfTPMyHyqS00NMupK9WQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/f7/f7tLgf7D2qMZcsHSt8R97kFvH30wBYGkeLz9-8U6uhc.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/fX/fXmxRq4KBzpEegCEzFlkLnWGxPMakZmprlIYMFbQJ1E.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/g7/g7UL8J5-FXcqK8YQM_ghdj_iEx4xnApvwAaWbgBV0TY.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/gV/gVz5L3gA5w0S8o3yZpVZF-mP-TreyN5iepl1RRZ-R-E.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/hI/hIpGOQMTq1d2_3DlNrPG4Q7MfO1WPpkjtd7RFyBWu3A.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/hI/hiDKOMo7TGsMf1DyunEb03ce439H742gxAM3mgi6Ihg.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/iG/iGaY16bCJiW0AwP1GzM9Uwad-mZCe1Q937irWUgiI9c.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/iy/iyzEFHfDRV_piHvWtrdYZuaKMqScr_j4oPKDNHfsDjU.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/kn/knb5R_X55aCiFz3vJWuSUSQPM4CHSNnp0iae5UMECcw.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/lJ/lJBk3thZoWRjF0s__eDJF7w6qLdkFpA4eAbwgxH_Dho.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/lY/lYQpdxF4JQIu4RN2ECazZRXa2r04cIJxhUIa05qojZE.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/m4/m4QRh4VcQWkjLezj3he7eCiAI-NzVhXPeLzAAcIlYxU.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/mH/mHZUE9U2nO5Wpi1_6ZOvKorTK0DB1XAgAy8vCzKwPUE.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/mM/mMFR0RXDB_d00Q-DWF3raKUOK_pKIoLKWe8sbByIbmA.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/mj/mjHlIUoMbdf3_s3E3yHmx6cD3XBpNw44VkLuszduuQU.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/mj/mjVM7LYY8IA7tuNN3xA7teC_8er8vfGYt2yIlZtm9ss.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/my/myTGA5_heGVdkdReWuRE40AphRvs-JEHfS14DVL5pIk.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/nb/nbBwrQkAIneOVTkIGBCdsMtZIT4043SIOR6sXJP_LHU.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/nq/nqJAnHctHKNe0jSpv19MqPf8BB_w495YOe2rzF_ehos.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/nq/nqj0Mk3m_97LBVDR7MZgIC80X4_mAeL6ZwDdqgtI1Gw.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/od/odSXqZl0ZH48zGt8AMIRhQkDU-YtstjobbS5e7ZkN3k.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/pO/pOygnjQeOv1F__tZVlOBgQIns_FPOY0Hg8jD24Q1MzQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/pZ/pZ0SU1EHDUQqCK7f8encuHCG6TMsPQBoRaMFxy5vqfo.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/pp/ppVvwCOmFUDtfjoiXcUyRCdjSHm90PXKtkb4qnuRXco.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/pu/puTfP5YER7biq4Y4_EFFbcfDeYmOSuBt6z0CGzwFGkA.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/q1/q1F3pWmX7ZJXbKtQUuNQE2PWTRGmvfAySjo0yHBS_BM.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/q8/q8rvNJwHhh0RwP_ggTBQX15sVQfAGmHVkhopI3IPsHY.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/q9/q9Mvo1FFlvxT_LCt7H3xYwBY1V5h3Jpe0eEXH8fv5Wk.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/qG/qGfHn3hSyl2R1i-xwZDvumLbhV-cFIv5USU0_1iehb4.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/qS/qSUOLK2mlX6Qg4pb39vYusg3MMB-5KqC4PqOt3qqU_I.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/qZ/qZ7PeULj1cXaHw1RbEoymDg9vVEWoqR7b2tfe6Bjc-g.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/ql/qldoyykCYdfXs4qvYwGJiKYSq-r0R1Hlw6cjY8IUfmk.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/s9/s91U__cBvKPCirRM_cTGjn2d8Iv3KUJ2NbC6HeITxbg.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/sI/sINrJvpYJWwxFKLJbhUC7OAf7ZuyUP888wzWFOlBPts.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/sI/sIyfH9Z6L3jrjvuKCFI7EqiQOZ2AETT6OvpnumLpjQg.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/sU/sU13DKNwa_RkHnSkgjrhcBWQed7kETAwwikJRsAU00M.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/sq/sqx5Hs0Pydu-MUCvGvLJVo9B2Q3rFkn88DuIz9KSkaU.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/tp/tpDl_cHg-S7_NzWixr_IxfubDy8a3sRY9mOfB_eDu_0.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/tt/tthgO-QyL3rkOmOxkriE3s0lD3m_en6g7IVBmP6WfpQ.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/tu/tuvygi0c8-7HYCnG21mYtnMbRq3byGoC-v0EPr_rcqw.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/u7/u7Ba9DdA5Y5nYCATAuCiIkwdzV8uFn2mIAz6uIKQGCY.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/u9/u9kCUfXtoYIqW4g4MTByGD589fmczyYmfBSV1aBwKlA.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/vo/vo2bQsrDyQHltM8J3UVYBos-ex4ksUlyS_JaAXL9gp8.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/wN/wNuzOUQkHcNtINLMu5i-oArMVgYINdApTU3CTGrBcr0.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/xH/xHIb5G7OYHTA8bRoeHgv0B_-ttn9qrt7X8tNzWmBOSw.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/yG/yGybriOHUct9EJuL4y_xiTsDmXYhzyhtdyjMl_bdnyA.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/yH/yHWDEeVRq__H83jsasoRVfR13AGZqz3-ljrem37eYhA.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/yJ/yJOgszuKdJlo777tz6syyQBm-5U9m92DdtWG80FyLrk.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/zN/zN6nRw3aNJhIaKnykNJFXsCpDZNJhoeGEh6OC0YmBEQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/zZ/zZz-dhRhZqpFP0QbFY4EnkgUw5okSYV61DC3u-Uo_Lg.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/zy/zyV8aFlgWhLDl1dtI6PHd8CiddDhYL9jpZTc6f00L2Y.cache +0 -0
- data/test/integration/synchronises_test.rb +2 -1
- data/test/jobs/disco_app/app_installed_job_test.rb +27 -8
- data/test/jobs/disco_app/app_uninstalled_job_test.rb +5 -2
- data/test/jobs/disco_app/send_subscription_job_test.rb +3 -2
- data/test/jobs/disco_app/synchronise_carrier_service_job_test.rb +1 -0
- data/test/jobs/disco_app/synchronise_users_job_test.rb +1 -0
- data/test/jobs/disco_app/synchronise_webhooks_job_test.rb +31 -14
- data/test/models/disco_app/can_be_liquified_test.rb +3 -1
- data/test/models/disco_app/has_metafields_test.rb +37 -18
- data/test/models/disco_app/renders_assets_test.rb +2 -1
- data/test/models/disco_app/session_test.rb +2 -2
- data/test/services/disco_app/charges_service_test.rb +7 -8
- data/test/services/disco_app/flow/create_action_test.rb +51 -0
- data/test/services/disco_app/flow/create_trigger_test.rb +56 -0
- data/test/services/disco_app/flow/process_action_test.rb +68 -0
- data/test/services/disco_app/flow/process_trigger_test.rb +61 -0
- data/test/services/disco_app/subscription_service_test.rb +3 -2
- data/test/support/test_file_fixtures.rb +2 -2
- data/test/support/test_shopify_api.rb +1 -1
- data/test/test_helper.rb +7 -7
- data/test/vcr/flow_trigger_invalid_title.yml +35 -0
- data/test/vcr/flow_trigger_valid.yml +38 -0
- metadata +732 -250
- data/app/clients/disco_app/rollbar_client.rb +0 -53
- data/app/clients/disco_app/rollbar_client_error.rb +0 -2
- data/lib/generators/disco_app/USAGE +0 -5
- data/lib/generators/disco_app/disco_app_generator.rb +0 -236
- data/lib/generators/disco_app/templates/config/newrelic.yml +0 -26
- data/lib/generators/disco_app/templates/initializers/rollbar.rb +0 -23
- data/lib/generators/disco_app/templates/initializers/session_store.rb +0 -2
- data/lib/generators/disco_app/templates/root/.codeclimate.yml +0 -7
- data/lib/tasks/rollbar.rake +0 -24
@@ -0,0 +1,32 @@
|
|
1
|
+
class CreateFlowActionsAndTriggers < ActiveRecord::Migration[5.2]
|
2
|
+
|
3
|
+
def change
|
4
|
+
create_table :disco_app_flow_actions do |t|
|
5
|
+
t.integer :shop_id, limit: 8
|
6
|
+
t.string :action_id
|
7
|
+
t.string :action_run_id
|
8
|
+
t.jsonb :properties, default: {}
|
9
|
+
t.integer :status, default: 0
|
10
|
+
t.datetime :processed_at, null: true
|
11
|
+
t.jsonb :processing_errors, default: []
|
12
|
+
t.timestamps null: false
|
13
|
+
end
|
14
|
+
|
15
|
+
create_table :disco_app_flow_triggers do |t|
|
16
|
+
t.integer :shop_id, limit: 8
|
17
|
+
t.string :title
|
18
|
+
t.string :resource_name
|
19
|
+
t.string :resource_url
|
20
|
+
t.jsonb :properties, default: {}
|
21
|
+
t.integer :status, default: 0
|
22
|
+
t.datetime :processed_at, null: true
|
23
|
+
t.jsonb :processing_errors, default: []
|
24
|
+
t.timestamps null: false
|
25
|
+
end
|
26
|
+
|
27
|
+
add_foreign_key :disco_app_flow_actions, :disco_app_shops, column: :shop_id, on_delete: :cascade
|
28
|
+
add_foreign_key :disco_app_flow_triggers, :disco_app_shops, column: :shop_id, on_delete: :cascade
|
29
|
+
add_index :disco_app_flow_actions, :action_run_id, unique: true
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
@@ -8,6 +8,10 @@ module DiscoApp
|
|
8
8
|
# Set the list of Shopify webhook topics to register.
|
9
9
|
attr_accessor :webhook_topics
|
10
10
|
|
11
|
+
# Set Flow configuration
|
12
|
+
attr_accessor :flow_actions
|
13
|
+
attr_accessor :flow_triggers
|
14
|
+
|
11
15
|
# Set the below if using an application proxy.
|
12
16
|
attr_accessor :app_proxy_prefix
|
13
17
|
|
@@ -16,17 +20,17 @@ module DiscoApp
|
|
16
20
|
|
17
21
|
# Set the below to create real Shopify charges.
|
18
22
|
attr_accessor :real_charges
|
19
|
-
|
23
|
+
alias real_charges? real_charges
|
20
24
|
|
21
25
|
# Optional configuration, usually useful for development environments.
|
22
26
|
attr_accessor :skip_proxy_verification
|
23
|
-
|
27
|
+
alias skip_proxy_verification? skip_proxy_verification
|
24
28
|
attr_accessor :skip_webhook_verification
|
25
|
-
|
29
|
+
alias skip_webhook_verification? skip_webhook_verification
|
26
30
|
attr_accessor :skip_carrier_request_verification
|
27
|
-
|
31
|
+
alias skip_carrier_request_verification? skip_carrier_request_verification
|
28
32
|
attr_accessor :skip_oauth
|
29
|
-
|
33
|
+
alias skip_oauth? skip_oauth
|
30
34
|
|
31
35
|
end
|
32
36
|
|
data/lib/disco_app/constants.rb
CHANGED
data/lib/disco_app/engine.rb
CHANGED
@@ -19,7 +19,7 @@ module DiscoApp
|
|
19
19
|
|
20
20
|
# Ensure our frame assets are included for precompilation.
|
21
21
|
initializer 'disco_app.assets.precompile' do |app|
|
22
|
-
app.config.assets.precompile += %w
|
22
|
+
app.config.assets.precompile += %w[disco_app/icon.svg disco_app/admin.css disco_app/frame.css disco_app/frame.js]
|
23
23
|
end
|
24
24
|
|
25
25
|
end
|
data/lib/disco_app/session.rb
CHANGED
@@ -11,7 +11,8 @@ module DiscoApp::Test
|
|
11
11
|
def json_fixture(path, dir: 'json', parse: true)
|
12
12
|
filename = Rails.root.join('test', 'fixtures', dir, "#{path}.json")
|
13
13
|
return File.read(filename) unless parse
|
14
|
-
|
14
|
+
|
15
|
+
HashWithIndifferentAccess.new(JSON.parse(File.read(filename)))
|
15
16
|
end
|
16
17
|
|
17
18
|
# Webhook fixtures are special-case JSON fixtures.
|
data/lib/disco_app/version.rb
CHANGED
@@ -0,0 +1,287 @@
|
|
1
|
+
module DiscoApp
|
2
|
+
module Generators
|
3
|
+
class InstallGenerator < Rails::Generators::Base
|
4
|
+
|
5
|
+
source_root File.expand_path('templates', __dir__)
|
6
|
+
|
7
|
+
# Copy a number of template files to the top-level directory of our application:
|
8
|
+
#
|
9
|
+
# - .env and .env.local for settings environment variables in development with dotenv-rails;
|
10
|
+
# - Slightly customised version of the default Rails .gitignore;
|
11
|
+
# - Default simple Procfile for Heroku;
|
12
|
+
# - .editorconfig to help enforce 2-space tabs, newlines and truncated whitespace for editors that support it.
|
13
|
+
# - README/PULL REQUEST template
|
14
|
+
#
|
15
|
+
def copy_root_files
|
16
|
+
%w[.editorconfig .env .env.local .gitignore .rubocop.yml Procfile CHECKS README.md].each do |file|
|
17
|
+
copy_file "root/#{file}", file
|
18
|
+
end
|
19
|
+
directory 'root/.github'
|
20
|
+
end
|
21
|
+
|
22
|
+
# Remove a number of root files.
|
23
|
+
def remove_root_files
|
24
|
+
%w[README.rdoc].each do |file|
|
25
|
+
remove_file file
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
# Configure the application's Gemfile.
|
30
|
+
def configure_gemfile
|
31
|
+
# Remove sqlite.
|
32
|
+
gsub_file 'Gemfile', /^# Use sqlite3 as the database for Active Record\ngem 'sqlite3'/m, ''
|
33
|
+
|
34
|
+
# Add gem requirements.
|
35
|
+
gem 'active_link_to'
|
36
|
+
gem 'activeresource'
|
37
|
+
gem 'acts_as_singleton'
|
38
|
+
gem 'appsignal'
|
39
|
+
gem 'classnames-rails'
|
40
|
+
gem 'nokogiri'
|
41
|
+
gem 'oj'
|
42
|
+
gem 'pg'
|
43
|
+
gem 'premailer-rails'
|
44
|
+
gem 'react-rails'
|
45
|
+
gem 'render_anywhere'
|
46
|
+
gem 'shopify_app'
|
47
|
+
gem 'sidekiq'
|
48
|
+
gem 'timber', '~> 3.0'
|
49
|
+
gem 'timber-rails', '~> 1.0'
|
50
|
+
|
51
|
+
# Indicate which gems should only be used in production.
|
52
|
+
gem_group :production do
|
53
|
+
gem 'mailgun_rails'
|
54
|
+
gem 'rails_12factor'
|
55
|
+
end
|
56
|
+
|
57
|
+
# Indicate which gems should only be used in development.
|
58
|
+
gem_group :production do
|
59
|
+
gem 'rb-readline'
|
60
|
+
end
|
61
|
+
|
62
|
+
gem_group :development do
|
63
|
+
gem 'rubocop'
|
64
|
+
gem 'rubocop-performance'
|
65
|
+
gem 'rubocop-rails'
|
66
|
+
end
|
67
|
+
|
68
|
+
# Indicate which gems should only be used in development and test.
|
69
|
+
gem_group :development, :test do
|
70
|
+
gem 'coveralls'
|
71
|
+
gem 'dotenv-rails'
|
72
|
+
gem 'factory_bot_rails'
|
73
|
+
gem 'faker'
|
74
|
+
gem 'mechanize'
|
75
|
+
gem 'rspec-rails'
|
76
|
+
gem 'vcr'
|
77
|
+
gem 'webmock'
|
78
|
+
end
|
79
|
+
|
80
|
+
gem_group :test do
|
81
|
+
gem 'database_cleaner'
|
82
|
+
gem 'shoulda-matchers'
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
# copy template for pg configuration
|
87
|
+
def update_database_config
|
88
|
+
template 'config/database.yml.tt'
|
89
|
+
end
|
90
|
+
|
91
|
+
# Run bundle install to add our new gems before running tasks.
|
92
|
+
def bundle_install
|
93
|
+
Bundler.with_clean_env do
|
94
|
+
run 'bundle install'
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
def support_staging_environment
|
99
|
+
copy_file 'config/environments/staging.rb', 'config/environments/staging.rb'
|
100
|
+
end
|
101
|
+
|
102
|
+
# Make any required adjustments to the application configuration.
|
103
|
+
def configure_application
|
104
|
+
# The force_ssl flag is commented by default for production.
|
105
|
+
# Uncomment to ensure config.force_ssl = true in production.
|
106
|
+
uncomment_lines 'config/environments/production.rb', /force_ssl/
|
107
|
+
|
108
|
+
# Set time zone to UTC
|
109
|
+
application "config.time_zone = 'UTC'"
|
110
|
+
application '# Ensure UTC is the default timezone'
|
111
|
+
|
112
|
+
# Set server side rendereing for components.js
|
113
|
+
application <<~CONFIG
|
114
|
+
# Enable server side react rendering
|
115
|
+
config.react.server_renderer_options = {
|
116
|
+
# files to load for prerendering
|
117
|
+
files: ['components.js']
|
118
|
+
}
|
119
|
+
CONFIG
|
120
|
+
|
121
|
+
# Set defaults for various charge attributes.
|
122
|
+
application "config.x.shopify_charges_default_trial_days = 14\n"
|
123
|
+
application 'config.x.shopify_charges_default_price = 10.00'
|
124
|
+
application 'config.x.shopify_charges_default_type = :recurring'
|
125
|
+
application '# Set defaults for charges created by the application'
|
126
|
+
|
127
|
+
# Set the "real charges" config variable to false explicitly by default.
|
128
|
+
# Only in production do we read from the environment variable and
|
129
|
+
# potentially have it become true.
|
130
|
+
application "config.x.shopify_charges_real = false\n"
|
131
|
+
application '# Explicitly prevent real charges being created by default'
|
132
|
+
application "config.x.shopify_charges_real = ENV['SHOPIFY_CHARGES_REAL'] == 'true'\n", env: :production
|
133
|
+
application '# Allow real charges in production with an ENV variable', env: :production
|
134
|
+
|
135
|
+
# Configure session storage.
|
136
|
+
application "ActiveRecord::SessionStore::Session.table_name = 'disco_app_sessions'"
|
137
|
+
application 'ActionDispatch::Session::ActiveRecordStore.session_class = DiscoApp::Session'
|
138
|
+
application '# Configure custom session storage'
|
139
|
+
|
140
|
+
# Set Sidekiq as the queue adapter in production.
|
141
|
+
application "config.active_job.queue_adapter = :sidekiq\n", env: :production
|
142
|
+
application '# Use Sidekiq as the active job backend', env: :production
|
143
|
+
|
144
|
+
# Set Sidekiq as the queue adapter in staging.
|
145
|
+
application "config.active_job.queue_adapter = :sidekiq\n", env: :staging
|
146
|
+
application '# Use Sidekiq as the active job backend', env: :staging
|
147
|
+
|
148
|
+
# Ensure the application configuration uses the DEFAULT_HOST environment
|
149
|
+
# variable to set up support for reverse routing absolute URLS (needed when
|
150
|
+
# generating Webhook URLs for example).
|
151
|
+
application "routes.default_url_options[:host] = ENV['DEFAULT_HOST']\n"
|
152
|
+
application '# Set the default host for absolute URL routing purposes'
|
153
|
+
|
154
|
+
# Configure React in development, staging and production.
|
155
|
+
application 'config.react.variant = :development', env: :development
|
156
|
+
application '# Use development variant of React in development.', env: :development
|
157
|
+
application 'config.react.variant = :production', env: :staging
|
158
|
+
application '# Use production variant of React in staging.', env: :staging
|
159
|
+
application 'config.react.variant = :production', env: :production
|
160
|
+
application '# Use production variant of React in production.', env: :production
|
161
|
+
|
162
|
+
# Configure Factory Bot as the Rails testing fixture replacement
|
163
|
+
application <<~CONFIG
|
164
|
+
config.generators do |g|
|
165
|
+
g.test_framework :rspec, fixtures: true, view_specs: false, helper_specs: false, routing_specs: false
|
166
|
+
g.fixture_replacement :factory_bot, dir: 'spec/factories'
|
167
|
+
end
|
168
|
+
CONFIG
|
169
|
+
|
170
|
+
# Copy over the default puma configuration.
|
171
|
+
copy_file 'config/puma.rb', 'config/puma.rb'
|
172
|
+
|
173
|
+
# Mail configuration
|
174
|
+
configuration = <<-CONFIG.strip_heredoc
|
175
|
+
|
176
|
+
# Configure ActionMailer to use MailGun
|
177
|
+
if ENV['MAILGUN_API_KEY']
|
178
|
+
config.action_mailer.delivery_method = :mailgun
|
179
|
+
config.action_mailer.mailgun_settings = {
|
180
|
+
api_key: ENV['MAILGUN_API_KEY'],
|
181
|
+
domain: ENV['MAILGUN_API_DOMAIN']
|
182
|
+
}
|
183
|
+
end
|
184
|
+
CONFIG
|
185
|
+
application configuration, env: :production
|
186
|
+
application configuration, env: :staging
|
187
|
+
|
188
|
+
# Monitoring configuration
|
189
|
+
copy_file 'config/appsignal.yml', 'config/appsignal.yml'
|
190
|
+
end
|
191
|
+
|
192
|
+
# Add entries to .env and .env.local
|
193
|
+
def add_env_variables
|
194
|
+
configuration = <<-CONFIG.strip_heredoc
|
195
|
+
|
196
|
+
MAILGUN_API_KEY=
|
197
|
+
MAILGUN_API_DOMAIN=
|
198
|
+
CONFIG
|
199
|
+
append_to_file '.env', configuration
|
200
|
+
append_to_file '.env.local', configuration
|
201
|
+
end
|
202
|
+
|
203
|
+
# Set up routes.
|
204
|
+
def setup_routes
|
205
|
+
route "mount DiscoApp::Engine, at: '/'"
|
206
|
+
end
|
207
|
+
|
208
|
+
# Run generators.
|
209
|
+
def run_generators
|
210
|
+
generate 'shopify_app:install'
|
211
|
+
generate 'shopify_app:home_controller'
|
212
|
+
generate 'react:install'
|
213
|
+
end
|
214
|
+
|
215
|
+
def configure_rspec
|
216
|
+
directory 'spec'
|
217
|
+
copy_file 'root/.rspec', '.rspec'
|
218
|
+
end
|
219
|
+
|
220
|
+
# Copy template files to the appropriate location. In some cases, we'll be
|
221
|
+
# overwriting or removing existing files or those created by ShopifyApp.
|
222
|
+
def copy_and_remove_files
|
223
|
+
# Copy initializers
|
224
|
+
copy_file 'initializers/shopify_app.rb', 'config/initializers/shopify_app.rb'
|
225
|
+
copy_file 'initializers/disco_app.rb', 'config/initializers/disco_app.rb'
|
226
|
+
copy_file 'initializers/shopify_session_repository.rb', 'config/initializers/shopify_session_repository.rb'
|
227
|
+
copy_file 'initializers/session_store.rb', 'config/initializers/session_store.rb'
|
228
|
+
copy_file 'initializers/timber.rb', 'config/initializers/timber.rb'
|
229
|
+
|
230
|
+
# Copy default home controller and view
|
231
|
+
copy_file 'controllers/home_controller.rb', 'app/controllers/home_controller.rb'
|
232
|
+
copy_file 'views/home/index.html.erb', 'app/views/home/index.html.erb'
|
233
|
+
|
234
|
+
# Copy assets
|
235
|
+
copy_file 'assets/javascripts/application.js', 'app/assets/javascripts/application.js'
|
236
|
+
copy_file 'assets/javascripts/components.js', 'app/assets/javascripts/components.js'
|
237
|
+
copy_file 'assets/stylesheets/application.scss', 'app/assets/stylesheets/application.scss'
|
238
|
+
|
239
|
+
# Remove application.css
|
240
|
+
remove_file 'app/assets/stylesheets/application.css'
|
241
|
+
|
242
|
+
# Remove the layout files created by ShopifyApp
|
243
|
+
remove_file 'app/views/layouts/application.html.erb'
|
244
|
+
remove_file 'app/views/layouts/embedded_app.html.erb'
|
245
|
+
|
246
|
+
# Remove the test directory generated by rails new
|
247
|
+
remove_dir 'test'
|
248
|
+
end
|
249
|
+
|
250
|
+
# Copy engine migrations over.
|
251
|
+
def install_migrations
|
252
|
+
rake 'disco_app:install:migrations'
|
253
|
+
end
|
254
|
+
|
255
|
+
# Create PG database
|
256
|
+
def create_database
|
257
|
+
rake 'db:create'
|
258
|
+
end
|
259
|
+
|
260
|
+
# Run migrations.
|
261
|
+
def migrate
|
262
|
+
rake 'db:migrate'
|
263
|
+
end
|
264
|
+
|
265
|
+
# Lock down the application to a specific Ruby version:
|
266
|
+
#
|
267
|
+
# - Via .ruby-version file for rbenv in development;
|
268
|
+
# - Via a Gemfile line in production.
|
269
|
+
#
|
270
|
+
# This should be the last operation, to allow all other operations to run in the initial Ruby version.
|
271
|
+
def set_ruby_version
|
272
|
+
copy_file 'root/.ruby-version', '.ruby-version'
|
273
|
+
prepend_to_file 'Gemfile', "ruby '2.5.0'\n"
|
274
|
+
end
|
275
|
+
|
276
|
+
private
|
277
|
+
|
278
|
+
# This method of finding the component.js manifest taken from the
|
279
|
+
# install generator in react-rails.
|
280
|
+
# See https://github.com/reactjs/react-rails/blob/3f0af13fa755d6e95969c17728d0354c234f3a37/lib/generators/react/install_generator.rb#L53-L55
|
281
|
+
def components
|
282
|
+
Pathname.new(destination_root).join('app/assets/javascripts', 'components.js')
|
283
|
+
end
|
284
|
+
|
285
|
+
end
|
286
|
+
end
|
287
|
+
end
|
data/lib/generators/disco_app/{templates → install/templates}/assets/javascripts/application.js
RENAMED
File without changes
|
data/lib/generators/disco_app/{templates → install/templates}/assets/javascripts/components.js
RENAMED
File without changes
|
data/lib/generators/disco_app/{templates → install/templates}/assets/stylesheets/application.scss
RENAMED
File without changes
|
@@ -0,0 +1,12 @@
|
|
1
|
+
default: &defaults
|
2
|
+
name: <%= ENV['SHOPIFY_APP_NAME'] || 'Unknown App' %>
|
3
|
+
push_api_key: <%= ENV['APPSIGNAL_PUSH_API_KEY'] %>
|
4
|
+
development:
|
5
|
+
<<: *defaults
|
6
|
+
active: false
|
7
|
+
staging:
|
8
|
+
<<: *defaults
|
9
|
+
active: true
|
10
|
+
production:
|
11
|
+
<<: *defaults
|
12
|
+
active: true
|
@@ -4,18 +4,21 @@ default: &default
|
|
4
4
|
pool: 5
|
5
5
|
timeout: 5000
|
6
6
|
prepared_statements: false
|
7
|
-
|
7
|
+
|
8
8
|
development:
|
9
9
|
<<: *default
|
10
10
|
host: localhost
|
11
11
|
port: 5432
|
12
12
|
database: <%= Rails.application.class.parent_name.downcase %>
|
13
|
-
|
13
|
+
|
14
14
|
test:
|
15
15
|
<<: *default
|
16
16
|
host: localhost
|
17
17
|
port: 5432
|
18
18
|
database: <%= Rails.application.class.parent_name.downcase %>_test
|
19
|
-
|
19
|
+
|
20
|
+
staging:
|
21
|
+
<<: *default
|
22
|
+
|
20
23
|
production:
|
21
24
|
<<: *default
|
@@ -0,0 +1,108 @@
|
|
1
|
+
Rails.application.configure do
|
2
|
+
# Configure ActionMailer to use MailGun
|
3
|
+
if ENV['MAILGUN_API_KEY']
|
4
|
+
config.action_mailer.delivery_method = :mailgun
|
5
|
+
config.action_mailer.mailgun_settings = {
|
6
|
+
api_key: ENV['MAILGUN_API_KEY'],
|
7
|
+
domain: ENV['MAILGUN_API_DOMAIN']
|
8
|
+
}
|
9
|
+
end
|
10
|
+
|
11
|
+
# Use production variant of React in staging.
|
12
|
+
config.react.variant = :production
|
13
|
+
# Use Sidekiq as the active job backend
|
14
|
+
config.active_job.queue_adapter = :sidekiq
|
15
|
+
|
16
|
+
# Allow real charges in production with an ENV variable
|
17
|
+
config.x.shopify_charges_real = false
|
18
|
+
|
19
|
+
# Settings specified here will take precedence over those in config/application.rb.
|
20
|
+
|
21
|
+
# Code is not reloaded between requests.
|
22
|
+
config.cache_classes = true
|
23
|
+
|
24
|
+
# Eager load code on boot. This eager loads most of Rails and
|
25
|
+
# your application in memory, allowing both threaded web servers
|
26
|
+
# and those relying on copy on write to perform better.
|
27
|
+
# Rake tasks automatically ignore this option for performance.
|
28
|
+
config.eager_load = true
|
29
|
+
|
30
|
+
# Full error reports are disabled and caching is turned on.
|
31
|
+
config.consider_all_requests_local = false
|
32
|
+
config.action_controller.perform_caching = true
|
33
|
+
|
34
|
+
# Attempt to read encrypted secrets from `config/secrets.yml.enc`.
|
35
|
+
# Requires an encryption key in `ENV["RAILS_MASTER_KEY"]` or
|
36
|
+
# `config/secrets.yml.key`.
|
37
|
+
config.read_encrypted_secrets = true
|
38
|
+
|
39
|
+
# Disable serving static files from the `/public` folder by default since
|
40
|
+
# Apache or NGINX already handles this.
|
41
|
+
config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
|
42
|
+
|
43
|
+
# Compress JavaScripts and CSS.
|
44
|
+
config.assets.js_compressor = :uglifier
|
45
|
+
# config.assets.css_compressor = :sass
|
46
|
+
|
47
|
+
# Do not fallback to assets pipeline if a precompiled asset is missed.
|
48
|
+
config.assets.compile = false
|
49
|
+
|
50
|
+
# `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
|
51
|
+
|
52
|
+
# Enable serving of images, stylesheets, and JavaScripts from an asset server.
|
53
|
+
# config.action_controller.asset_host = 'http://assets.example.com'
|
54
|
+
|
55
|
+
# Specifies the header that your server uses for sending files.
|
56
|
+
# config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
|
57
|
+
# config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
|
58
|
+
|
59
|
+
# Mount Action Cable outside main process or domain
|
60
|
+
# config.action_cable.mount_path = nil
|
61
|
+
# config.action_cable.url = 'wss://example.com/cable'
|
62
|
+
# config.action_cable.allowed_request_origins = [ 'http://example.com', /http:\/\/example.*/ ]
|
63
|
+
|
64
|
+
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
|
65
|
+
config.force_ssl = true
|
66
|
+
|
67
|
+
# Use the lowest log level to ensure availability of diagnostic information
|
68
|
+
# when problems arise.
|
69
|
+
config.log_level = :debug
|
70
|
+
|
71
|
+
# Prepend all log lines with the following tags.
|
72
|
+
config.log_tags = [:request_id]
|
73
|
+
|
74
|
+
# Use a different cache store in staging.
|
75
|
+
# config.cache_store = :mem_cache_store
|
76
|
+
|
77
|
+
# Use a real queuing backend for Active Job (and separate queues per environment)
|
78
|
+
# config.active_job.queue_adapter = :resque
|
79
|
+
# config.active_job.queue_name_prefix = "example_app_#{Rails.env}"
|
80
|
+
config.action_mailer.perform_caching = false
|
81
|
+
|
82
|
+
# Ignore bad email addresses and do not raise email delivery errors.
|
83
|
+
# Set this to true and configure the email server for immediate delivery to raise delivery errors.
|
84
|
+
# config.action_mailer.raise_delivery_errors = false
|
85
|
+
|
86
|
+
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
|
87
|
+
# the I18n.default_locale when a translation cannot be found).
|
88
|
+
config.i18n.fallbacks = true
|
89
|
+
|
90
|
+
# Send deprecation notices to registered listeners.
|
91
|
+
config.active_support.deprecation = :notify
|
92
|
+
|
93
|
+
# Use default logging formatter so that PID and timestamp are not suppressed.
|
94
|
+
config.log_formatter = ::Logger::Formatter.new
|
95
|
+
|
96
|
+
# Use a different logger for distributed setups.
|
97
|
+
# require 'syslog/logger'
|
98
|
+
# config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name')
|
99
|
+
|
100
|
+
if ENV['RAILS_LOG_TO_STDOUT'].present?
|
101
|
+
logger = ActiveSupport::Logger.new(STDOUT)
|
102
|
+
logger.formatter = config.log_formatter
|
103
|
+
config.logger = ActiveSupport::TaggedLogging.new(logger)
|
104
|
+
end
|
105
|
+
|
106
|
+
# Do not dump schema after migrations.
|
107
|
+
config.active_record.dump_schema_after_migration = false
|
108
|
+
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,18 @@
|
|
1
|
+
Jira: [XXX-1](https://discodev.atlassian.net/browse/XXX-1)
|
2
|
+
|
3
|
+
### Description
|
4
|
+
A brief overview of the work done. Be sure to provide some context to the issue/feature, so that the reviewer can jump right on in and review your sweet, sweet code.
|
5
|
+
|
6
|
+
Highlight any interesting design decisions that you may have taken.
|
7
|
+
|
8
|
+
### Notes
|
9
|
+
* A bulleted list of any secondary information that you feel would be useful to the reviewer.
|
10
|
+
* Gotchas, new dependencies, unusual data migrations, etc., would all live here.
|
11
|
+
|
12
|
+
### Checklist
|
13
|
+
|
14
|
+
- [ ] Updated README and any other relevant documentation.
|
15
|
+
- [ ] Tested changes locally.
|
16
|
+
- [ ] Updated test suite and made sure that it all passes.
|
17
|
+
- [ ] Ensured that Rubocop and friends are happy.
|
18
|
+
- [ ] Checked that this PR is referencing the correct base.
|
@@ -15,11 +15,19 @@ pickle-email-*.html
|
|
15
15
|
.byebug_history
|
16
16
|
.DS_Store
|
17
17
|
.disco_app
|
18
|
+
/public/packs
|
19
|
+
/public/packs-test
|
20
|
+
/node_modules
|
21
|
+
yarn-debug.log*
|
22
|
+
.yarn-integrity
|
18
23
|
|
19
24
|
## Environment normalisation:
|
20
25
|
/.bundle
|
21
26
|
/vendor/bundle
|
27
|
+
/vendor/ruby
|
22
28
|
/.env.local
|
29
|
+
.envrc
|
30
|
+
.pryrc
|
23
31
|
|
24
32
|
# these should all be checked in to normalise the environment:
|
25
33
|
# Gemfile.lock, .ruby-version, .ruby-gemset
|
@@ -37,3 +45,5 @@ bower.json
|
|
37
45
|
|
38
46
|
# Editors
|
39
47
|
.idea
|
48
|
+
.vscode
|
49
|
+
TAGS
|
@@ -0,0 +1 @@
|
|
1
|
+
--require spec_helper
|