cucumber-rails 2.1.0 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Appraisals +9 -18
- data/CHANGELOG.md +14 -4
- data/CONTRIBUTING.md +14 -2
- data/LICENSE +1 -1
- data/README.md +2 -12
- data/Rakefile +4 -4
- data/bin/install_geckodriver.sh +1 -1
- data/cucumber-rails.gemspec +13 -11
- data/dev_tasks/yard.rake +1 -1
- data/dev_tasks/yard/default/layout/html/setup.rb +1 -1
- data/features/capybara_javascript_drivers.feature +56 -6
- data/features/database_cleaner.feature +88 -1
- data/features/step_definitions/cucumber_rails_steps.rb +11 -0
- data/features/support/cucumber_rails_helper.rb +1 -0
- data/features/support/env.rb +1 -1
- data/gemfiles/rails_5_0.gemfile +3 -3
- data/gemfiles/rails_5_1.gemfile +3 -3
- data/gemfiles/rails_5_2.gemfile +2 -3
- data/gemfiles/rails_6_0.gemfile +1 -2
- data/lib/cucumber/rails.rb +7 -3
- data/lib/cucumber/rails/database.rb +6 -60
- data/lib/cucumber/rails/database/deletion_strategy.rb +11 -0
- data/lib/cucumber/rails/database/shared_connection_strategy.rb +25 -0
- data/lib/cucumber/rails/database/strategy.rb +31 -0
- data/lib/cucumber/rails/database/truncation_strategy.rb +11 -0
- data/lib/cucumber/rails/hooks/active_record.rb +16 -14
- data/lib/cucumber/rails/hooks/database_cleaner.rb +9 -3
- data/lib/cucumber/rails/hooks/mail.rb +4 -2
- data/spec/cucumber/rails/database_spec.rb +4 -0
- data/spec/examples.txt +19 -0
- data/tmp/aruba/test_app/Gemfile +62 -0
- data/tmp/aruba/test_app/Gemfile.lock +249 -0
- data/tmp/aruba/test_app/README.md +24 -0
- data/tmp/aruba/test_app/Rakefile +6 -0
- data/tmp/aruba/test_app/app/assets/config/manifest.js +3 -0
- data/tmp/aruba/test_app/app/assets/javascripts/application.js +16 -0
- data/tmp/aruba/test_app/app/assets/javascripts/appointments.coffee +3 -0
- data/tmp/aruba/test_app/app/assets/javascripts/cable.js +13 -0
- data/tmp/aruba/test_app/app/assets/stylesheets/application.css +15 -0
- data/tmp/aruba/test_app/app/assets/stylesheets/appointments.scss +3 -0
- data/tmp/aruba/test_app/app/assets/stylesheets/scaffolds.scss +84 -0
- data/tmp/aruba/test_app/app/channels/application_cable/channel.rb +4 -0
- data/tmp/aruba/test_app/app/channels/application_cable/connection.rb +4 -0
- data/tmp/aruba/test_app/app/controllers/application_controller.rb +2 -0
- data/tmp/aruba/test_app/app/controllers/appointments_controller.rb +74 -0
- data/tmp/aruba/test_app/app/helpers/application_helper.rb +2 -0
- data/tmp/aruba/test_app/app/helpers/appointments_helper.rb +2 -0
- data/tmp/aruba/test_app/app/jobs/application_job.rb +2 -0
- data/tmp/aruba/test_app/app/mailers/application_mailer.rb +4 -0
- data/tmp/aruba/test_app/app/models/application_record.rb +3 -0
- data/tmp/aruba/test_app/app/models/appointment.rb +2 -0
- data/tmp/aruba/test_app/app/views/appointments/_appointment.json.jbuilder +2 -0
- data/tmp/aruba/test_app/app/views/appointments/_form.html.erb +27 -0
- data/tmp/aruba/test_app/app/views/appointments/edit.html.erb +6 -0
- data/tmp/aruba/test_app/app/views/appointments/index.html.erb +29 -0
- data/tmp/aruba/test_app/app/views/appointments/index.json.jbuilder +1 -0
- data/tmp/aruba/test_app/app/views/appointments/new.html.erb +5 -0
- data/tmp/aruba/test_app/app/views/appointments/show.html.erb +14 -0
- data/tmp/aruba/test_app/app/views/appointments/show.json.jbuilder +1 -0
- data/tmp/aruba/test_app/app/views/layouts/application.html.erb +15 -0
- data/tmp/aruba/test_app/app/views/layouts/mailer.html.erb +13 -0
- data/tmp/aruba/test_app/app/views/layouts/mailer.text.erb +1 -0
- data/tmp/aruba/test_app/bin/bundle +3 -0
- data/tmp/aruba/test_app/bin/rails +4 -0
- data/tmp/aruba/test_app/bin/rake +4 -0
- data/tmp/aruba/test_app/bin/setup +36 -0
- data/tmp/aruba/test_app/bin/update +31 -0
- data/tmp/aruba/test_app/bin/yarn +11 -0
- data/tmp/aruba/test_app/config.ru +5 -0
- data/tmp/aruba/test_app/config/application.rb +19 -0
- data/tmp/aruba/test_app/config/boot.rb +3 -0
- data/tmp/aruba/test_app/config/cable.yml +10 -0
- data/tmp/aruba/test_app/config/credentials.yml.enc +1 -0
- data/tmp/aruba/test_app/config/cucumber.yml +9 -0
- data/tmp/aruba/test_app/config/database.yml +25 -0
- data/tmp/aruba/test_app/config/environment.rb +5 -0
- data/tmp/aruba/test_app/config/environments/development.rb +61 -0
- data/tmp/aruba/test_app/config/environments/production.rb +94 -0
- data/tmp/aruba/test_app/config/environments/test.rb +46 -0
- data/tmp/aruba/test_app/config/initializers/application_controller_renderer.rb +8 -0
- data/tmp/aruba/test_app/config/initializers/assets.rb +14 -0
- data/tmp/aruba/test_app/config/initializers/backtrace_silencers.rb +7 -0
- data/tmp/aruba/test_app/config/initializers/content_security_policy.rb +25 -0
- data/tmp/aruba/test_app/config/initializers/cookies_serializer.rb +5 -0
- data/tmp/aruba/test_app/config/initializers/filter_parameter_logging.rb +4 -0
- data/tmp/aruba/test_app/config/initializers/inflections.rb +16 -0
- data/tmp/aruba/test_app/config/initializers/mime_types.rb +4 -0
- data/tmp/aruba/test_app/config/initializers/wrap_parameters.rb +14 -0
- data/tmp/aruba/test_app/config/locales/en.yml +33 -0
- data/tmp/aruba/test_app/config/master.key +1 -0
- data/tmp/aruba/test_app/config/puma.rb +37 -0
- data/tmp/aruba/test_app/config/routes.rb +4 -0
- data/tmp/aruba/test_app/config/storage.yml +34 -0
- data/tmp/aruba/test_app/db/development.sqlite3 +0 -0
- data/tmp/aruba/test_app/db/migrate/20200821080656_create_appointments.rb +10 -0
- data/tmp/aruba/test_app/db/schema.rb +22 -0
- data/tmp/aruba/test_app/db/seeds.rb +7 -0
- data/tmp/aruba/test_app/db/test.sqlite3 +0 -0
- data/tmp/aruba/test_app/features/create_appointment.feature +9 -0
- data/tmp/aruba/test_app/features/create_appointment_steps.rb +19 -0
- data/tmp/aruba/test_app/features/support/env.rb +18 -0
- data/tmp/aruba/test_app/lib/tasks/cucumber.rake +76 -0
- data/tmp/aruba/test_app/log/development.log +27 -0
- data/tmp/aruba/test_app/log/test.log +38 -0
- data/tmp/aruba/test_app/package.json +5 -0
- data/tmp/aruba/test_app/public/404.html +67 -0
- data/tmp/aruba/test_app/public/422.html +67 -0
- data/tmp/aruba/test_app/public/500.html +66 -0
- data/tmp/aruba/test_app/public/apple-touch-icon-precomposed.png +0 -0
- data/tmp/aruba/test_app/public/apple-touch-icon.png +0 -0
- data/tmp/aruba/test_app/public/favicon.ico +0 -0
- data/tmp/aruba/test_app/public/robots.txt +1 -0
- data/tmp/aruba/test_app/script/cucumber +11 -0
- data/tmp/aruba/test_app/test/application_system_test_case.rb +5 -0
- data/tmp/aruba/test_app/test/controllers/appointments_controller_test.rb +48 -0
- data/tmp/aruba/test_app/test/fixtures/appointments.yml +9 -0
- data/tmp/aruba/test_app/test/models/appointment_test.rb +7 -0
- data/tmp/aruba/test_app/test/system/appointments_test.rb +45 -0
- data/tmp/aruba/test_app/test/test_helper.rb +10 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/0I/0I0oT83oN3NKiEi9XIhexiT3XgkA8mKyCbs25v3l20g.cache +1 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/0W/0WnFNEwHN4bhDiFTvyMWURx02L4yP3gkP7vtjzKQFVo.cache +1 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/2B/2Bg65dpvTdePrXa_wG6RsHpQzbqVSiHK0FVa0WdOJ4k.cache +0 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/2r/2r_85kVmIcWzvJH72GapWtLDhaMP2HEziNxykyYpAUg.cache +1 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/72/72jdZDzrM3-D_zYkIiPdAWQNeaFsqah154_QvcqWqTQ.cache +3 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/99/99m8UCKl4j8IpsVOK8ltLHyNh8Ae0nHw3GBkC34V_co.cache +2 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/9O/9OOXnKHBQnaCeE5HDe5csQsItouzWM6rTl8sESvkGTE.cache +1 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/AF/AFloQwm_M7GZudPY87xx4TA0xEeuX9Psl0SJ94i5EyU.cache +3 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/AP/APDAc8aUg_16wNWrVhCJcKeqbxyOScYGVhiDVgbrV7U.cache +0 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/B4/B43LeT9Wba4fLvXw-C_kKq-x9HwYZxnBBiltbIufzzQ.cache +2 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/EO/EOut5kyDPr7aKrHdvDsNJuYarA8XGnpAlDvBimlaC08.cache +0 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/GJ/GJzxuc2i_d4Uhxs4IMnbQXhxBc9CTLrnQyzxwTqKOBw.cache +0 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/Ge/Ge2oyaUStbQszLfXjgTi6LkncyS5SKfV8RJwbRA3HbI.cache +1 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/HC/HCDOUd7-S45aJ_PjVAC_Vmjyud3i1aQv4cE3t9_Z3Dw.cache +2 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/Hv/HvPd_vK17QbhWq8QnCuyhqm0cPaGnHyO9lSzN-icQdg.cache +2 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/II/IIhUO-5-DcfCyD_rVJeHjRMNVJxLmAmXP8i2XEjFpns.cache +1 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/Ka/KaLHRsUYc4EUxUr4q_UhArFJUTF_EaBklpeU4TsE9SY.cache +1 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/MZ/MZcwDENEs93Wd9q7A_7UWdfJrWsBXa0pGp03P9mqG2I.cache +3 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/Nw/NwHea3ImBECnlmojPb9X9ZDfvRRuX_dX9sxISdtp9-A.cache +0 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/PP/PPKuKT7m2PMDHVzBcYjePvXU6CbCW63Iqe3Q2a-Jdh8.cache +1 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/RE/REtgGrS74n4Y7OKRcGvZsA2EUClg_RM66mVgGpySI20.cache +1 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/Rk/RkQLRXSz5LhJQnH7BT-ZDkVK0Rx8N9KhcVwR2A1HY4M.cache +2 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/Sx/SxtNEQ-KKVBCTtsDD-xf4oJEIdBPIHkGktnLXvG-GRk.cache +1 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/TL/TLxLzqEAxKzTHH9EwSg5Lvcp3zgGuhjTjed121DSu9U.cache +0 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/U1/U1D7nCXYBD3VlPnXGs_6mRtlhs-Gvv_vvCUYlTf4Grw.cache +3 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/U6/U6pXyI-5haNcHRdsB-SoztzlXb98-256hFReXsL31J4.cache +2 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/UE/UEKUaC9O_XBO5acP8HnxcJ1dtNM_1C7MTofkTQvPgRA.cache +1 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/UV/UVcnI5bo-eQvULfmzeQUFVTDYEMF2cbAXpsOsh01XNY.cache +1 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/WK/WK8RpMP5qb9GRQTsTHAzlfo8t2nsTLU6B8CQAc4UfOU.cache +1 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/Xk/Xk8p9O39-syzKbpnoMRChld0TpoZFWlNIzeT5XKw2fQ.cache +0 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/Zv/ZvCEW2ZyS-k4cHH7Gd8P2nKFE9Uh1VOrfR-1PYY2yz8.cache +5 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/ac/acWu1-1ZAW1jRVKlHYlzlEg28lk-SdHfTq-P-viJMS0.cache +1 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/b3/b3NiYrQOlN2zxiJYqbl4gmvK6it3Md9gSzAYgsIMhnY.cache +1 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/c1/c1Pm-rFPEB3LXIjOtswD6x8SEAgI9y2BR16jc8ifcsc.cache +1 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/em/emTQG2a9zF8NuvElLOnEpNJp0wq3_gVSDAM60vyXAzE.cache +0 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/fX/fXH3Db_88TmJFhRydoFTx8tZbHAkLzK2ZZ0lsBEg8xA.cache +0 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/gI/gIHntmCf7DbObPL_KZJYSgduAmqX18ZZPOtq85pn8vo.cache +0 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/kP/kPwbLAUCLjv0x6fe5lvZpmUkgmvQSDHSdEOSdbMyDgY.cache +0 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/kT/kT98Z_slHI6SgdEmoAtKAHyJQjTHdbe6GAbB27RP2uI.cache +1 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/mt/mtT4Rwi7H_vHQXdxxPvvzhL4ziA7X9WK-JXzacxWlEA.cache +0 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/mz/mzgD6X_N-fO95dP8Q1Q1sApCrbSmgPgsuEKv65KYcdo.cache +3 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/oi/oiPhXw8pYdWv5T4qRFzePHaXZLI50xMvvTyfry-ILSo.cache +1 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/r-/r--YB1ugrZ4F-ogbLLYNwIH3j9pQ2u_ZBjTJxoS7TrM.cache +1 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/s6/s68UIyg0lNko7IA42JXv_wwy9Ea3WH-zc9h0GYPg88Y.cache +1 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/si/siT97rfEKbIWcCj6KUBChX7kpRBKI2fAeGGwpsz0tTU.cache +0 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/st/stqDgDfAemfEq7ZxlEj6YThpn8_1Nfw2bRVA0N03YTw.cache +1 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/t9/t93lpjyly3MvgKs51_OlLXneJXGyYFGmshXsk4Wr69M.cache +1 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/tE/tEy2QePsDnmFyyAQEric23sSBnfHBst3SEM7p-J7el8.cache +2 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/tR/tRV7SyAY9c71G0o-8bElvNI76KcWhc5NVm48xflMPpM.cache +0 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/tg/tggwa2O6A41xeZTK4SR0qcX0X55aOGg6q8ZWfqma1vM.cache +0 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/uB/uBKOYcdzL_6Amevsu-uKAMTg7QGW5kgC0t5sAZINrcI.cache +0 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/uE/uEyPXY2m04nerJV0pn3p-B-BlkJ08oufpQH1G2QXPw4.cache +1 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/up/upyndqsU9bU6WV8qyMy7MLpcQoybRqgj-qA3C3pjzXY.cache +0 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/ux/uxx-W2TOCdnAEGX0ZLThb_QIEbLYutX8qCwD0glYCKE.cache +3 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/vC/vCsc-q2WmT8vWM2d2pb6_5hFav8mGlylwEKVWQvsumo.cache +1 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/vc/vcgiILg1wO98x-a4kX678ASAFWA1cL0iVx07VkHLPqA.cache +0 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/vu/vu6xNIGT6zorPmcKfd7edgxBltTmIRXU281uyK51kkU.cache +1 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/w4/w4y_Lms54hD2Nivh5PHeccAmh2DX53sc_HDTQYNyNXw.cache +3 -0
- data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/yZ/yZpoD5Zf4RAQoOwi5kMVksuta_0KhYSK_Yy_6Ykyt7E.cache +1 -0
- data/tmp/aruba/test_app/tmp/development_secret.txt +1 -0
- metadata +212 -36
- data/.github/ISSUE_TEMPLATE.md +0 -52
- data/.github/PULL_REQUEST_TEMPLATE.md +0 -42
- data/.gitignore +0 -14
- data/.rspec +0 -4
- data/.rubocop.yml +0 -68
- data/.travis.yml +0 -62
- data/config/.gitignore +0 -1
- data/gemfiles/rails_4_2.gemfile +0 -10
@@ -0,0 +1,27 @@
|
|
1
|
+
<%= form_with(model: appointment, local: true) do |form| %>
|
2
|
+
<% if appointment.errors.any? %>
|
3
|
+
<div id="error_explanation">
|
4
|
+
<h2><%= pluralize(appointment.errors.count, "error") %> prohibited this appointment from being saved:</h2>
|
5
|
+
|
6
|
+
<ul>
|
7
|
+
<% appointment.errors.full_messages.each do |message| %>
|
8
|
+
<li><%= message %></li>
|
9
|
+
<% end %>
|
10
|
+
</ul>
|
11
|
+
</div>
|
12
|
+
<% end %>
|
13
|
+
|
14
|
+
<div class="field">
|
15
|
+
<%= form.label :name %>
|
16
|
+
<%= form.text_field :name %>
|
17
|
+
</div>
|
18
|
+
|
19
|
+
<div class="field">
|
20
|
+
<%= form.label :when %>
|
21
|
+
<%= form.datetime_select :when %>
|
22
|
+
</div>
|
23
|
+
|
24
|
+
<div class="actions">
|
25
|
+
<%= form.submit %>
|
26
|
+
</div>
|
27
|
+
<% end %>
|
@@ -0,0 +1,29 @@
|
|
1
|
+
<p id="notice"><%= notice %></p>
|
2
|
+
|
3
|
+
<h1>Appointments</h1>
|
4
|
+
|
5
|
+
<table>
|
6
|
+
<thead>
|
7
|
+
<tr>
|
8
|
+
<th>Name</th>
|
9
|
+
<th>When</th>
|
10
|
+
<th colspan="3"></th>
|
11
|
+
</tr>
|
12
|
+
</thead>
|
13
|
+
|
14
|
+
<tbody>
|
15
|
+
<% @appointments.each do |appointment| %>
|
16
|
+
<tr>
|
17
|
+
<td><%= appointment.name %></td>
|
18
|
+
<td><%= appointment.when %></td>
|
19
|
+
<td><%= link_to 'Show', appointment %></td>
|
20
|
+
<td><%= link_to 'Edit', edit_appointment_path(appointment) %></td>
|
21
|
+
<td><%= link_to 'Destroy', appointment, method: :delete, data: { confirm: 'Are you sure?' } %></td>
|
22
|
+
</tr>
|
23
|
+
<% end %>
|
24
|
+
</tbody>
|
25
|
+
</table>
|
26
|
+
|
27
|
+
<br>
|
28
|
+
|
29
|
+
<%= link_to 'New Appointment', new_appointment_path %>
|
@@ -0,0 +1 @@
|
|
1
|
+
json.array! @appointments, partial: "appointments/appointment", as: :appointment
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<p id="notice"><%= notice %></p>
|
2
|
+
|
3
|
+
<p>
|
4
|
+
<strong>Name:</strong>
|
5
|
+
<%= @appointment.name %>
|
6
|
+
</p>
|
7
|
+
|
8
|
+
<p>
|
9
|
+
<strong>When:</strong>
|
10
|
+
<%= @appointment.when %>
|
11
|
+
</p>
|
12
|
+
|
13
|
+
<%= link_to 'Edit', edit_appointment_path(@appointment) %> |
|
14
|
+
<%= link_to 'Back', appointments_path %>
|
@@ -0,0 +1 @@
|
|
1
|
+
json.partial! "appointments/appointment", appointment: @appointment
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>TestApp</title>
|
5
|
+
<%= csrf_meta_tags %>
|
6
|
+
<%= csp_meta_tag %>
|
7
|
+
|
8
|
+
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
|
9
|
+
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
|
10
|
+
</head>
|
11
|
+
|
12
|
+
<body>
|
13
|
+
<%= yield %>
|
14
|
+
</body>
|
15
|
+
</html>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= yield %>
|
@@ -0,0 +1,36 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'fileutils'
|
3
|
+
include FileUtils
|
4
|
+
|
5
|
+
# path to your application root.
|
6
|
+
APP_ROOT = File.expand_path('..', __dir__)
|
7
|
+
|
8
|
+
def system!(*args)
|
9
|
+
system(*args) || abort("\n== Command #{args} failed ==")
|
10
|
+
end
|
11
|
+
|
12
|
+
chdir APP_ROOT do
|
13
|
+
# This script is a starting point to setup your application.
|
14
|
+
# Add necessary setup steps to this file.
|
15
|
+
|
16
|
+
puts '== Installing dependencies =='
|
17
|
+
system! 'gem install bundler --conservative'
|
18
|
+
system('bundle check') || system!('bundle install')
|
19
|
+
|
20
|
+
# Install JavaScript dependencies if using Yarn
|
21
|
+
# system('bin/yarn')
|
22
|
+
|
23
|
+
# puts "\n== Copying sample files =="
|
24
|
+
# unless File.exist?('config/database.yml')
|
25
|
+
# cp 'config/database.yml.sample', 'config/database.yml'
|
26
|
+
# end
|
27
|
+
|
28
|
+
puts "\n== Preparing database =="
|
29
|
+
system! 'bin/rails db:setup'
|
30
|
+
|
31
|
+
puts "\n== Removing old logs and tempfiles =="
|
32
|
+
system! 'bin/rails log:clear tmp:clear'
|
33
|
+
|
34
|
+
puts "\n== Restarting application server =="
|
35
|
+
system! 'bin/rails restart'
|
36
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'fileutils'
|
3
|
+
include FileUtils
|
4
|
+
|
5
|
+
# path to your application root.
|
6
|
+
APP_ROOT = File.expand_path('..', __dir__)
|
7
|
+
|
8
|
+
def system!(*args)
|
9
|
+
system(*args) || abort("\n== Command #{args} failed ==")
|
10
|
+
end
|
11
|
+
|
12
|
+
chdir APP_ROOT do
|
13
|
+
# This script is a way to update your development environment automatically.
|
14
|
+
# Add necessary update steps to this file.
|
15
|
+
|
16
|
+
puts '== Installing dependencies =='
|
17
|
+
system! 'gem install bundler --conservative'
|
18
|
+
system('bundle check') || system!('bundle install')
|
19
|
+
|
20
|
+
# Install JavaScript dependencies if using Yarn
|
21
|
+
# system('bin/yarn')
|
22
|
+
|
23
|
+
puts "\n== Updating database =="
|
24
|
+
system! 'bin/rails db:migrate'
|
25
|
+
|
26
|
+
puts "\n== Removing old logs and tempfiles =="
|
27
|
+
system! 'bin/rails log:clear tmp:clear'
|
28
|
+
|
29
|
+
puts "\n== Restarting application server =="
|
30
|
+
system! 'bin/rails restart'
|
31
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
APP_ROOT = File.expand_path('..', __dir__)
|
3
|
+
Dir.chdir(APP_ROOT) do
|
4
|
+
begin
|
5
|
+
exec "yarnpkg", *ARGV
|
6
|
+
rescue Errno::ENOENT
|
7
|
+
$stderr.puts "Yarn executable was not detected in the system."
|
8
|
+
$stderr.puts "Download Yarn at https://yarnpkg.com/en/docs/install"
|
9
|
+
exit 1
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require_relative 'boot'
|
2
|
+
|
3
|
+
require 'rails/all'
|
4
|
+
|
5
|
+
# Require the gems listed in Gemfile, including any gems
|
6
|
+
# you've limited to :test, :development, or :production.
|
7
|
+
Bundler.require(*Rails.groups)
|
8
|
+
|
9
|
+
module TestApp
|
10
|
+
class Application < Rails::Application
|
11
|
+
# Initialize configuration defaults for originally generated Rails version.
|
12
|
+
config.load_defaults 5.2
|
13
|
+
|
14
|
+
# Settings in config/environments/* take precedence over those specified here.
|
15
|
+
# Application configuration can go into files in config/initializers
|
16
|
+
# -- all .rb files in that directory are automatically loaded after loading
|
17
|
+
# the framework and any gems in your application.
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
3+L+PHU0k+DcNwIankz5q6bMvYJ9VE6c6vo5UsJMorUEQS18GuoE0lH3ylXVUhZ31lfv3FVHEf6ktGPGEpMIe4sgRUjRGHGNTH6QKV3sLVc4mfgJQIR+hbddmU51MCs66UsG2AV50JYEUIFEYn0VSaAievjYZp9nxaNx3gE4/x6RWxeR2WtTkU5IoFhc7gZdqKk6mMR2jV4Cf2ZZ+EQQX22Tkq+qDiWQHbGTHz0qFdarwD2223lxnwo994XyRHKbTXZZrXWKJ3NthMV3JzSuIiGppsJjBLwFvc/wO2EEVLHPhu/xIhsykzzTcQCvw1fA5yaI6+rOkE10b17W+aHUHHy29S+cGrWzvrJuQ+tH2UxOGEzqMV0VBIykfqZBgIL+DJuk/BKbZRkzMRL74T/V9yHFDKaar7vZWOZy--7tbhjCg31QRYSqCO--L0mMGYF144mJ6cHFvOwCuQ==
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<%
|
2
|
+
rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : ""
|
3
|
+
rerun = rerun.strip.gsub /\s/, ' '
|
4
|
+
rerun_opts = rerun.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}"
|
5
|
+
std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} --strict --tags 'not @wip'"
|
6
|
+
%>
|
7
|
+
default: <%= std_opts %> features
|
8
|
+
wip: --tags @wip:3 --wip features
|
9
|
+
rerun: <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags 'not @wip'
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# SQLite version 3.x
|
2
|
+
# gem install sqlite3
|
3
|
+
#
|
4
|
+
# Ensure the SQLite 3 gem is defined in your Gemfile
|
5
|
+
# gem 'sqlite3'
|
6
|
+
#
|
7
|
+
default: &default
|
8
|
+
adapter: sqlite3
|
9
|
+
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
|
10
|
+
timeout: 5000
|
11
|
+
|
12
|
+
development:
|
13
|
+
<<: *default
|
14
|
+
database: db/development.sqlite3
|
15
|
+
|
16
|
+
# Warning: The database defined as "test" will be erased and
|
17
|
+
# re-generated from your development database when you run "rake".
|
18
|
+
# Do not set this db to the same as development or production.
|
19
|
+
test:
|
20
|
+
<<: *default
|
21
|
+
database: db/test.sqlite3
|
22
|
+
|
23
|
+
production:
|
24
|
+
<<: *default
|
25
|
+
database: db/production.sqlite3
|
@@ -0,0 +1,61 @@
|
|
1
|
+
Rails.application.configure do
|
2
|
+
# Settings specified here will take precedence over those in config/application.rb.
|
3
|
+
|
4
|
+
# In the development environment your application's code is reloaded on
|
5
|
+
# every request. This slows down response time but is perfect for development
|
6
|
+
# since you don't have to restart the web server when you make code changes.
|
7
|
+
config.cache_classes = false
|
8
|
+
|
9
|
+
# Do not eager load code on boot.
|
10
|
+
config.eager_load = false
|
11
|
+
|
12
|
+
# Show full error reports.
|
13
|
+
config.consider_all_requests_local = true
|
14
|
+
|
15
|
+
# Enable/disable caching. By default caching is disabled.
|
16
|
+
# Run rails dev:cache to toggle caching.
|
17
|
+
if Rails.root.join('tmp', 'caching-dev.txt').exist?
|
18
|
+
config.action_controller.perform_caching = true
|
19
|
+
|
20
|
+
config.cache_store = :memory_store
|
21
|
+
config.public_file_server.headers = {
|
22
|
+
'Cache-Control' => "public, max-age=#{2.days.to_i}"
|
23
|
+
}
|
24
|
+
else
|
25
|
+
config.action_controller.perform_caching = false
|
26
|
+
|
27
|
+
config.cache_store = :null_store
|
28
|
+
end
|
29
|
+
|
30
|
+
# Store uploaded files on the local file system (see config/storage.yml for options)
|
31
|
+
config.active_storage.service = :local
|
32
|
+
|
33
|
+
# Don't care if the mailer can't send.
|
34
|
+
config.action_mailer.raise_delivery_errors = false
|
35
|
+
|
36
|
+
config.action_mailer.perform_caching = false
|
37
|
+
|
38
|
+
# Print deprecation notices to the Rails logger.
|
39
|
+
config.active_support.deprecation = :log
|
40
|
+
|
41
|
+
# Raise an error on page load if there are pending migrations.
|
42
|
+
config.active_record.migration_error = :page_load
|
43
|
+
|
44
|
+
# Highlight code that triggered database queries in logs.
|
45
|
+
config.active_record.verbose_query_logs = true
|
46
|
+
|
47
|
+
# Debug mode disables concatenation and preprocessing of assets.
|
48
|
+
# This option may cause significant delays in view rendering with a large
|
49
|
+
# number of complex assets.
|
50
|
+
config.assets.debug = true
|
51
|
+
|
52
|
+
# Suppress logger output for asset requests.
|
53
|
+
config.assets.quiet = true
|
54
|
+
|
55
|
+
# Raises error for missing translations
|
56
|
+
# config.action_view.raise_on_missing_translations = true
|
57
|
+
|
58
|
+
# Use an evented file watcher to asynchronously detect changes in source code,
|
59
|
+
# routes, locales, etc. This feature depends on the listen gem.
|
60
|
+
config.file_watcher = ActiveSupport::EventedFileUpdateChecker
|
61
|
+
end
|
@@ -0,0 +1,94 @@
|
|
1
|
+
Rails.application.configure do
|
2
|
+
# Settings specified here will take precedence over those in config/application.rb.
|
3
|
+
|
4
|
+
# Code is not reloaded between requests.
|
5
|
+
config.cache_classes = true
|
6
|
+
|
7
|
+
# Eager load code on boot. This eager loads most of Rails and
|
8
|
+
# your application in memory, allowing both threaded web servers
|
9
|
+
# and those relying on copy on write to perform better.
|
10
|
+
# Rake tasks automatically ignore this option for performance.
|
11
|
+
config.eager_load = true
|
12
|
+
|
13
|
+
# Full error reports are disabled and caching is turned on.
|
14
|
+
config.consider_all_requests_local = false
|
15
|
+
config.action_controller.perform_caching = true
|
16
|
+
|
17
|
+
# Ensures that a master key has been made available in either ENV["RAILS_MASTER_KEY"]
|
18
|
+
# or in config/master.key. This key is used to decrypt credentials (and other encrypted files).
|
19
|
+
# config.require_master_key = true
|
20
|
+
|
21
|
+
# Disable serving static files from the `/public` folder by default since
|
22
|
+
# Apache or NGINX already handles this.
|
23
|
+
config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
|
24
|
+
|
25
|
+
# Compress JavaScripts and CSS.
|
26
|
+
config.assets.js_compressor = :uglifier
|
27
|
+
# config.assets.css_compressor = :sass
|
28
|
+
|
29
|
+
# Do not fallback to assets pipeline if a precompiled asset is missed.
|
30
|
+
config.assets.compile = false
|
31
|
+
|
32
|
+
# `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
|
33
|
+
|
34
|
+
# Enable serving of images, stylesheets, and JavaScripts from an asset server.
|
35
|
+
# config.action_controller.asset_host = 'http://assets.example.com'
|
36
|
+
|
37
|
+
# Specifies the header that your server uses for sending files.
|
38
|
+
# config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
|
39
|
+
# config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
|
40
|
+
|
41
|
+
# Store uploaded files on the local file system (see config/storage.yml for options)
|
42
|
+
config.active_storage.service = :local
|
43
|
+
|
44
|
+
# Mount Action Cable outside main process or domain
|
45
|
+
# config.action_cable.mount_path = nil
|
46
|
+
# config.action_cable.url = 'wss://example.com/cable'
|
47
|
+
# config.action_cable.allowed_request_origins = [ 'http://example.com', /http:\/\/example.*/ ]
|
48
|
+
|
49
|
+
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
|
50
|
+
# config.force_ssl = true
|
51
|
+
|
52
|
+
# Use the lowest log level to ensure availability of diagnostic information
|
53
|
+
# when problems arise.
|
54
|
+
config.log_level = :debug
|
55
|
+
|
56
|
+
# Prepend all log lines with the following tags.
|
57
|
+
config.log_tags = [ :request_id ]
|
58
|
+
|
59
|
+
# Use a different cache store in production.
|
60
|
+
# config.cache_store = :mem_cache_store
|
61
|
+
|
62
|
+
# Use a real queuing backend for Active Job (and separate queues per environment)
|
63
|
+
# config.active_job.queue_adapter = :resque
|
64
|
+
# config.active_job.queue_name_prefix = "test_app_#{Rails.env}"
|
65
|
+
|
66
|
+
config.action_mailer.perform_caching = false
|
67
|
+
|
68
|
+
# Ignore bad email addresses and do not raise email delivery errors.
|
69
|
+
# Set this to true and configure the email server for immediate delivery to raise delivery errors.
|
70
|
+
# config.action_mailer.raise_delivery_errors = false
|
71
|
+
|
72
|
+
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
|
73
|
+
# the I18n.default_locale when a translation cannot be found).
|
74
|
+
config.i18n.fallbacks = true
|
75
|
+
|
76
|
+
# Send deprecation notices to registered listeners.
|
77
|
+
config.active_support.deprecation = :notify
|
78
|
+
|
79
|
+
# Use default logging formatter so that PID and timestamp are not suppressed.
|
80
|
+
config.log_formatter = ::Logger::Formatter.new
|
81
|
+
|
82
|
+
# Use a different logger for distributed setups.
|
83
|
+
# require 'syslog/logger'
|
84
|
+
# config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name')
|
85
|
+
|
86
|
+
if ENV["RAILS_LOG_TO_STDOUT"].present?
|
87
|
+
logger = ActiveSupport::Logger.new(STDOUT)
|
88
|
+
logger.formatter = config.log_formatter
|
89
|
+
config.logger = ActiveSupport::TaggedLogging.new(logger)
|
90
|
+
end
|
91
|
+
|
92
|
+
# Do not dump schema after migrations.
|
93
|
+
config.active_record.dump_schema_after_migration = false
|
94
|
+
end
|