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.
Files changed (189) hide show
  1. checksums.yaml +4 -4
  2. data/Appraisals +9 -18
  3. data/CHANGELOG.md +14 -4
  4. data/CONTRIBUTING.md +14 -2
  5. data/LICENSE +1 -1
  6. data/README.md +2 -12
  7. data/Rakefile +4 -4
  8. data/bin/install_geckodriver.sh +1 -1
  9. data/cucumber-rails.gemspec +13 -11
  10. data/dev_tasks/yard.rake +1 -1
  11. data/dev_tasks/yard/default/layout/html/setup.rb +1 -1
  12. data/features/capybara_javascript_drivers.feature +56 -6
  13. data/features/database_cleaner.feature +88 -1
  14. data/features/step_definitions/cucumber_rails_steps.rb +11 -0
  15. data/features/support/cucumber_rails_helper.rb +1 -0
  16. data/features/support/env.rb +1 -1
  17. data/gemfiles/rails_5_0.gemfile +3 -3
  18. data/gemfiles/rails_5_1.gemfile +3 -3
  19. data/gemfiles/rails_5_2.gemfile +2 -3
  20. data/gemfiles/rails_6_0.gemfile +1 -2
  21. data/lib/cucumber/rails.rb +7 -3
  22. data/lib/cucumber/rails/database.rb +6 -60
  23. data/lib/cucumber/rails/database/deletion_strategy.rb +11 -0
  24. data/lib/cucumber/rails/database/shared_connection_strategy.rb +25 -0
  25. data/lib/cucumber/rails/database/strategy.rb +31 -0
  26. data/lib/cucumber/rails/database/truncation_strategy.rb +11 -0
  27. data/lib/cucumber/rails/hooks/active_record.rb +16 -14
  28. data/lib/cucumber/rails/hooks/database_cleaner.rb +9 -3
  29. data/lib/cucumber/rails/hooks/mail.rb +4 -2
  30. data/spec/cucumber/rails/database_spec.rb +4 -0
  31. data/spec/examples.txt +19 -0
  32. data/tmp/aruba/test_app/Gemfile +62 -0
  33. data/tmp/aruba/test_app/Gemfile.lock +249 -0
  34. data/tmp/aruba/test_app/README.md +24 -0
  35. data/tmp/aruba/test_app/Rakefile +6 -0
  36. data/tmp/aruba/test_app/app/assets/config/manifest.js +3 -0
  37. data/tmp/aruba/test_app/app/assets/javascripts/application.js +16 -0
  38. data/tmp/aruba/test_app/app/assets/javascripts/appointments.coffee +3 -0
  39. data/tmp/aruba/test_app/app/assets/javascripts/cable.js +13 -0
  40. data/tmp/aruba/test_app/app/assets/stylesheets/application.css +15 -0
  41. data/tmp/aruba/test_app/app/assets/stylesheets/appointments.scss +3 -0
  42. data/tmp/aruba/test_app/app/assets/stylesheets/scaffolds.scss +84 -0
  43. data/tmp/aruba/test_app/app/channels/application_cable/channel.rb +4 -0
  44. data/tmp/aruba/test_app/app/channels/application_cable/connection.rb +4 -0
  45. data/tmp/aruba/test_app/app/controllers/application_controller.rb +2 -0
  46. data/tmp/aruba/test_app/app/controllers/appointments_controller.rb +74 -0
  47. data/tmp/aruba/test_app/app/helpers/application_helper.rb +2 -0
  48. data/tmp/aruba/test_app/app/helpers/appointments_helper.rb +2 -0
  49. data/tmp/aruba/test_app/app/jobs/application_job.rb +2 -0
  50. data/tmp/aruba/test_app/app/mailers/application_mailer.rb +4 -0
  51. data/tmp/aruba/test_app/app/models/application_record.rb +3 -0
  52. data/tmp/aruba/test_app/app/models/appointment.rb +2 -0
  53. data/tmp/aruba/test_app/app/views/appointments/_appointment.json.jbuilder +2 -0
  54. data/tmp/aruba/test_app/app/views/appointments/_form.html.erb +27 -0
  55. data/tmp/aruba/test_app/app/views/appointments/edit.html.erb +6 -0
  56. data/tmp/aruba/test_app/app/views/appointments/index.html.erb +29 -0
  57. data/tmp/aruba/test_app/app/views/appointments/index.json.jbuilder +1 -0
  58. data/tmp/aruba/test_app/app/views/appointments/new.html.erb +5 -0
  59. data/tmp/aruba/test_app/app/views/appointments/show.html.erb +14 -0
  60. data/tmp/aruba/test_app/app/views/appointments/show.json.jbuilder +1 -0
  61. data/tmp/aruba/test_app/app/views/layouts/application.html.erb +15 -0
  62. data/tmp/aruba/test_app/app/views/layouts/mailer.html.erb +13 -0
  63. data/tmp/aruba/test_app/app/views/layouts/mailer.text.erb +1 -0
  64. data/tmp/aruba/test_app/bin/bundle +3 -0
  65. data/tmp/aruba/test_app/bin/rails +4 -0
  66. data/tmp/aruba/test_app/bin/rake +4 -0
  67. data/tmp/aruba/test_app/bin/setup +36 -0
  68. data/tmp/aruba/test_app/bin/update +31 -0
  69. data/tmp/aruba/test_app/bin/yarn +11 -0
  70. data/tmp/aruba/test_app/config.ru +5 -0
  71. data/tmp/aruba/test_app/config/application.rb +19 -0
  72. data/tmp/aruba/test_app/config/boot.rb +3 -0
  73. data/tmp/aruba/test_app/config/cable.yml +10 -0
  74. data/tmp/aruba/test_app/config/credentials.yml.enc +1 -0
  75. data/tmp/aruba/test_app/config/cucumber.yml +9 -0
  76. data/tmp/aruba/test_app/config/database.yml +25 -0
  77. data/tmp/aruba/test_app/config/environment.rb +5 -0
  78. data/tmp/aruba/test_app/config/environments/development.rb +61 -0
  79. data/tmp/aruba/test_app/config/environments/production.rb +94 -0
  80. data/tmp/aruba/test_app/config/environments/test.rb +46 -0
  81. data/tmp/aruba/test_app/config/initializers/application_controller_renderer.rb +8 -0
  82. data/tmp/aruba/test_app/config/initializers/assets.rb +14 -0
  83. data/tmp/aruba/test_app/config/initializers/backtrace_silencers.rb +7 -0
  84. data/tmp/aruba/test_app/config/initializers/content_security_policy.rb +25 -0
  85. data/tmp/aruba/test_app/config/initializers/cookies_serializer.rb +5 -0
  86. data/tmp/aruba/test_app/config/initializers/filter_parameter_logging.rb +4 -0
  87. data/tmp/aruba/test_app/config/initializers/inflections.rb +16 -0
  88. data/tmp/aruba/test_app/config/initializers/mime_types.rb +4 -0
  89. data/tmp/aruba/test_app/config/initializers/wrap_parameters.rb +14 -0
  90. data/tmp/aruba/test_app/config/locales/en.yml +33 -0
  91. data/tmp/aruba/test_app/config/master.key +1 -0
  92. data/tmp/aruba/test_app/config/puma.rb +37 -0
  93. data/tmp/aruba/test_app/config/routes.rb +4 -0
  94. data/tmp/aruba/test_app/config/storage.yml +34 -0
  95. data/tmp/aruba/test_app/db/development.sqlite3 +0 -0
  96. data/tmp/aruba/test_app/db/migrate/20200821080656_create_appointments.rb +10 -0
  97. data/tmp/aruba/test_app/db/schema.rb +22 -0
  98. data/tmp/aruba/test_app/db/seeds.rb +7 -0
  99. data/tmp/aruba/test_app/db/test.sqlite3 +0 -0
  100. data/tmp/aruba/test_app/features/create_appointment.feature +9 -0
  101. data/tmp/aruba/test_app/features/create_appointment_steps.rb +19 -0
  102. data/tmp/aruba/test_app/features/support/env.rb +18 -0
  103. data/tmp/aruba/test_app/lib/tasks/cucumber.rake +76 -0
  104. data/tmp/aruba/test_app/log/development.log +27 -0
  105. data/tmp/aruba/test_app/log/test.log +38 -0
  106. data/tmp/aruba/test_app/package.json +5 -0
  107. data/tmp/aruba/test_app/public/404.html +67 -0
  108. data/tmp/aruba/test_app/public/422.html +67 -0
  109. data/tmp/aruba/test_app/public/500.html +66 -0
  110. data/tmp/aruba/test_app/public/apple-touch-icon-precomposed.png +0 -0
  111. data/tmp/aruba/test_app/public/apple-touch-icon.png +0 -0
  112. data/tmp/aruba/test_app/public/favicon.ico +0 -0
  113. data/tmp/aruba/test_app/public/robots.txt +1 -0
  114. data/tmp/aruba/test_app/script/cucumber +11 -0
  115. data/tmp/aruba/test_app/test/application_system_test_case.rb +5 -0
  116. data/tmp/aruba/test_app/test/controllers/appointments_controller_test.rb +48 -0
  117. data/tmp/aruba/test_app/test/fixtures/appointments.yml +9 -0
  118. data/tmp/aruba/test_app/test/models/appointment_test.rb +7 -0
  119. data/tmp/aruba/test_app/test/system/appointments_test.rb +45 -0
  120. data/tmp/aruba/test_app/test/test_helper.rb +10 -0
  121. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/0I/0I0oT83oN3NKiEi9XIhexiT3XgkA8mKyCbs25v3l20g.cache +1 -0
  122. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/0W/0WnFNEwHN4bhDiFTvyMWURx02L4yP3gkP7vtjzKQFVo.cache +1 -0
  123. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/2B/2Bg65dpvTdePrXa_wG6RsHpQzbqVSiHK0FVa0WdOJ4k.cache +0 -0
  124. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/2r/2r_85kVmIcWzvJH72GapWtLDhaMP2HEziNxykyYpAUg.cache +1 -0
  125. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/72/72jdZDzrM3-D_zYkIiPdAWQNeaFsqah154_QvcqWqTQ.cache +3 -0
  126. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/99/99m8UCKl4j8IpsVOK8ltLHyNh8Ae0nHw3GBkC34V_co.cache +2 -0
  127. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/9O/9OOXnKHBQnaCeE5HDe5csQsItouzWM6rTl8sESvkGTE.cache +1 -0
  128. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/AF/AFloQwm_M7GZudPY87xx4TA0xEeuX9Psl0SJ94i5EyU.cache +3 -0
  129. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/AP/APDAc8aUg_16wNWrVhCJcKeqbxyOScYGVhiDVgbrV7U.cache +0 -0
  130. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/B4/B43LeT9Wba4fLvXw-C_kKq-x9HwYZxnBBiltbIufzzQ.cache +2 -0
  131. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/EO/EOut5kyDPr7aKrHdvDsNJuYarA8XGnpAlDvBimlaC08.cache +0 -0
  132. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/GJ/GJzxuc2i_d4Uhxs4IMnbQXhxBc9CTLrnQyzxwTqKOBw.cache +0 -0
  133. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/Ge/Ge2oyaUStbQszLfXjgTi6LkncyS5SKfV8RJwbRA3HbI.cache +1 -0
  134. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/HC/HCDOUd7-S45aJ_PjVAC_Vmjyud3i1aQv4cE3t9_Z3Dw.cache +2 -0
  135. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/Hv/HvPd_vK17QbhWq8QnCuyhqm0cPaGnHyO9lSzN-icQdg.cache +2 -0
  136. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/II/IIhUO-5-DcfCyD_rVJeHjRMNVJxLmAmXP8i2XEjFpns.cache +1 -0
  137. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/Ka/KaLHRsUYc4EUxUr4q_UhArFJUTF_EaBklpeU4TsE9SY.cache +1 -0
  138. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/MZ/MZcwDENEs93Wd9q7A_7UWdfJrWsBXa0pGp03P9mqG2I.cache +3 -0
  139. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/Nw/NwHea3ImBECnlmojPb9X9ZDfvRRuX_dX9sxISdtp9-A.cache +0 -0
  140. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/PP/PPKuKT7m2PMDHVzBcYjePvXU6CbCW63Iqe3Q2a-Jdh8.cache +1 -0
  141. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/RE/REtgGrS74n4Y7OKRcGvZsA2EUClg_RM66mVgGpySI20.cache +1 -0
  142. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/Rk/RkQLRXSz5LhJQnH7BT-ZDkVK0Rx8N9KhcVwR2A1HY4M.cache +2 -0
  143. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/Sx/SxtNEQ-KKVBCTtsDD-xf4oJEIdBPIHkGktnLXvG-GRk.cache +1 -0
  144. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/TL/TLxLzqEAxKzTHH9EwSg5Lvcp3zgGuhjTjed121DSu9U.cache +0 -0
  145. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/U1/U1D7nCXYBD3VlPnXGs_6mRtlhs-Gvv_vvCUYlTf4Grw.cache +3 -0
  146. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/U6/U6pXyI-5haNcHRdsB-SoztzlXb98-256hFReXsL31J4.cache +2 -0
  147. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/UE/UEKUaC9O_XBO5acP8HnxcJ1dtNM_1C7MTofkTQvPgRA.cache +1 -0
  148. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/UV/UVcnI5bo-eQvULfmzeQUFVTDYEMF2cbAXpsOsh01XNY.cache +1 -0
  149. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/WK/WK8RpMP5qb9GRQTsTHAzlfo8t2nsTLU6B8CQAc4UfOU.cache +1 -0
  150. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/Xk/Xk8p9O39-syzKbpnoMRChld0TpoZFWlNIzeT5XKw2fQ.cache +0 -0
  151. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/Zv/ZvCEW2ZyS-k4cHH7Gd8P2nKFE9Uh1VOrfR-1PYY2yz8.cache +5 -0
  152. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/ac/acWu1-1ZAW1jRVKlHYlzlEg28lk-SdHfTq-P-viJMS0.cache +1 -0
  153. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/b3/b3NiYrQOlN2zxiJYqbl4gmvK6it3Md9gSzAYgsIMhnY.cache +1 -0
  154. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/c1/c1Pm-rFPEB3LXIjOtswD6x8SEAgI9y2BR16jc8ifcsc.cache +1 -0
  155. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/em/emTQG2a9zF8NuvElLOnEpNJp0wq3_gVSDAM60vyXAzE.cache +0 -0
  156. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/fX/fXH3Db_88TmJFhRydoFTx8tZbHAkLzK2ZZ0lsBEg8xA.cache +0 -0
  157. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/gI/gIHntmCf7DbObPL_KZJYSgduAmqX18ZZPOtq85pn8vo.cache +0 -0
  158. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/kP/kPwbLAUCLjv0x6fe5lvZpmUkgmvQSDHSdEOSdbMyDgY.cache +0 -0
  159. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/kT/kT98Z_slHI6SgdEmoAtKAHyJQjTHdbe6GAbB27RP2uI.cache +1 -0
  160. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/mt/mtT4Rwi7H_vHQXdxxPvvzhL4ziA7X9WK-JXzacxWlEA.cache +0 -0
  161. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/mz/mzgD6X_N-fO95dP8Q1Q1sApCrbSmgPgsuEKv65KYcdo.cache +3 -0
  162. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/oi/oiPhXw8pYdWv5T4qRFzePHaXZLI50xMvvTyfry-ILSo.cache +1 -0
  163. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/r-/r--YB1ugrZ4F-ogbLLYNwIH3j9pQ2u_ZBjTJxoS7TrM.cache +1 -0
  164. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/s6/s68UIyg0lNko7IA42JXv_wwy9Ea3WH-zc9h0GYPg88Y.cache +1 -0
  165. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/si/siT97rfEKbIWcCj6KUBChX7kpRBKI2fAeGGwpsz0tTU.cache +0 -0
  166. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/st/stqDgDfAemfEq7ZxlEj6YThpn8_1Nfw2bRVA0N03YTw.cache +1 -0
  167. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/t9/t93lpjyly3MvgKs51_OlLXneJXGyYFGmshXsk4Wr69M.cache +1 -0
  168. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/tE/tEy2QePsDnmFyyAQEric23sSBnfHBst3SEM7p-J7el8.cache +2 -0
  169. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/tR/tRV7SyAY9c71G0o-8bElvNI76KcWhc5NVm48xflMPpM.cache +0 -0
  170. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/tg/tggwa2O6A41xeZTK4SR0qcX0X55aOGg6q8ZWfqma1vM.cache +0 -0
  171. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/uB/uBKOYcdzL_6Amevsu-uKAMTg7QGW5kgC0t5sAZINrcI.cache +0 -0
  172. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/uE/uEyPXY2m04nerJV0pn3p-B-BlkJ08oufpQH1G2QXPw4.cache +1 -0
  173. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/up/upyndqsU9bU6WV8qyMy7MLpcQoybRqgj-qA3C3pjzXY.cache +0 -0
  174. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/ux/uxx-W2TOCdnAEGX0ZLThb_QIEbLYutX8qCwD0glYCKE.cache +3 -0
  175. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/vC/vCsc-q2WmT8vWM2d2pb6_5hFav8mGlylwEKVWQvsumo.cache +1 -0
  176. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/vc/vcgiILg1wO98x-a4kX678ASAFWA1cL0iVx07VkHLPqA.cache +0 -0
  177. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/vu/vu6xNIGT6zorPmcKfd7edgxBltTmIRXU281uyK51kkU.cache +1 -0
  178. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/w4/w4y_Lms54hD2Nivh5PHeccAmh2DX53sc_HDTQYNyNXw.cache +3 -0
  179. data/tmp/aruba/test_app/tmp/cache/assets/sprockets/v3.0/yZ/yZpoD5Zf4RAQoOwi5kMVksuta_0KhYSK_Yy_6Ykyt7E.cache +1 -0
  180. data/tmp/aruba/test_app/tmp/development_secret.txt +1 -0
  181. metadata +212 -36
  182. data/.github/ISSUE_TEMPLATE.md +0 -52
  183. data/.github/PULL_REQUEST_TEMPLATE.md +0 -42
  184. data/.gitignore +0 -14
  185. data/.rspec +0 -4
  186. data/.rubocop.yml +0 -68
  187. data/.travis.yml +0 -62
  188. data/config/.gitignore +0 -1
  189. data/gemfiles/rails_4_2.gemfile +0 -10
@@ -0,0 +1,249 @@
1
+ PATH
2
+ remote: /home/luke/Code/cucumber-rails
3
+ specs:
4
+ cucumber-rails (2.1.0)
5
+ capybara (>= 2.12, < 4)
6
+ cucumber (>= 3.0.2, < 4)
7
+ mime-types (>= 2.0, < 4)
8
+ nokogiri (~> 1.8)
9
+ rails (>= 5.0, < 7)
10
+
11
+ GEM
12
+ remote: https://rubygems.org/
13
+ specs:
14
+ actioncable (5.2.4.3)
15
+ actionpack (= 5.2.4.3)
16
+ nio4r (~> 2.0)
17
+ websocket-driver (>= 0.6.1)
18
+ actionmailer (5.2.4.3)
19
+ actionpack (= 5.2.4.3)
20
+ actionview (= 5.2.4.3)
21
+ activejob (= 5.2.4.3)
22
+ mail (~> 2.5, >= 2.5.4)
23
+ rails-dom-testing (~> 2.0)
24
+ actionpack (5.2.4.3)
25
+ actionview (= 5.2.4.3)
26
+ activesupport (= 5.2.4.3)
27
+ rack (~> 2.0, >= 2.0.8)
28
+ rack-test (>= 0.6.3)
29
+ rails-dom-testing (~> 2.0)
30
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
31
+ actionview (5.2.4.3)
32
+ activesupport (= 5.2.4.3)
33
+ builder (~> 3.1)
34
+ erubi (~> 1.4)
35
+ rails-dom-testing (~> 2.0)
36
+ rails-html-sanitizer (~> 1.0, >= 1.0.3)
37
+ activejob (5.2.4.3)
38
+ activesupport (= 5.2.4.3)
39
+ globalid (>= 0.3.6)
40
+ activemodel (5.2.4.3)
41
+ activesupport (= 5.2.4.3)
42
+ activerecord (5.2.4.3)
43
+ activemodel (= 5.2.4.3)
44
+ activesupport (= 5.2.4.3)
45
+ arel (>= 9.0)
46
+ activestorage (5.2.4.3)
47
+ actionpack (= 5.2.4.3)
48
+ activerecord (= 5.2.4.3)
49
+ marcel (~> 0.3.1)
50
+ activesupport (5.2.4.3)
51
+ concurrent-ruby (~> 1.0, >= 1.0.2)
52
+ i18n (>= 0.7, < 2)
53
+ minitest (~> 5.1)
54
+ tzinfo (~> 1.1)
55
+ addressable (2.7.0)
56
+ public_suffix (>= 2.0.2, < 5.0)
57
+ archive-zip (0.12.0)
58
+ io-like (~> 0.3.0)
59
+ arel (9.0.0)
60
+ backports (3.18.1)
61
+ bindex (0.8.1)
62
+ builder (3.2.4)
63
+ byebug (11.1.3)
64
+ capybara (3.33.0)
65
+ addressable
66
+ mini_mime (>= 0.1.3)
67
+ nokogiri (~> 1.8)
68
+ rack (>= 1.6.0)
69
+ rack-test (>= 0.6.3)
70
+ regexp_parser (~> 1.5)
71
+ xpath (~> 3.2)
72
+ childprocess (3.0.0)
73
+ chromedriver-helper (2.1.1)
74
+ archive-zip (~> 0.10)
75
+ nokogiri (~> 1.8)
76
+ coffee-rails (4.2.2)
77
+ coffee-script (>= 2.2.0)
78
+ railties (>= 4.0.0)
79
+ coffee-script (2.4.1)
80
+ coffee-script-source
81
+ execjs
82
+ coffee-script-source (1.12.2)
83
+ concurrent-ruby (1.1.7)
84
+ crass (1.0.6)
85
+ cucumber (3.2.0)
86
+ builder (>= 2.1.2)
87
+ cucumber-core (~> 3.2.0)
88
+ cucumber-expressions (~> 6.0.1)
89
+ cucumber-wire (~> 0.0.1)
90
+ diff-lcs (~> 1.3)
91
+ gherkin (~> 5.1.0)
92
+ multi_json (>= 1.7.5, < 2.0)
93
+ multi_test (>= 0.1.2)
94
+ cucumber-core (3.2.1)
95
+ backports (>= 3.8.0)
96
+ cucumber-tag_expressions (~> 1.1.0)
97
+ gherkin (~> 5.0)
98
+ cucumber-expressions (6.0.1)
99
+ cucumber-tag_expressions (1.1.1)
100
+ cucumber-wire (0.0.1)
101
+ diff-lcs (1.4.4)
102
+ erubi (1.9.0)
103
+ execjs (2.7.0)
104
+ factory_bot (6.1.0)
105
+ activesupport (>= 5.0.0)
106
+ ffi (1.13.1)
107
+ gherkin (5.1.0)
108
+ globalid (0.4.2)
109
+ activesupport (>= 4.2.0)
110
+ i18n (1.8.5)
111
+ concurrent-ruby (~> 1.0)
112
+ io-like (0.3.1)
113
+ jbuilder (2.10.0)
114
+ activesupport (>= 5.0.0)
115
+ listen (3.1.5)
116
+ rb-fsevent (~> 0.9, >= 0.9.4)
117
+ rb-inotify (~> 0.9, >= 0.9.7)
118
+ ruby_dep (~> 1.2)
119
+ loofah (2.6.0)
120
+ crass (~> 1.0.2)
121
+ nokogiri (>= 1.5.9)
122
+ mail (2.7.1)
123
+ mini_mime (>= 0.1.1)
124
+ marcel (0.3.3)
125
+ mimemagic (~> 0.3.2)
126
+ method_source (1.0.0)
127
+ mime-types (3.3.1)
128
+ mime-types-data (~> 3.2015)
129
+ mime-types-data (3.2020.0512)
130
+ mimemagic (0.3.5)
131
+ mini_mime (1.0.2)
132
+ mini_portile2 (2.4.0)
133
+ minitest (5.14.1)
134
+ multi_json (1.15.0)
135
+ multi_test (0.1.2)
136
+ nio4r (2.5.2)
137
+ nokogiri (1.10.10)
138
+ mini_portile2 (~> 2.4.0)
139
+ public_suffix (4.0.5)
140
+ puma (3.12.6)
141
+ rack (2.2.3)
142
+ rack-test (1.1.0)
143
+ rack (>= 1.0, < 3)
144
+ rails (5.2.4.3)
145
+ actioncable (= 5.2.4.3)
146
+ actionmailer (= 5.2.4.3)
147
+ actionpack (= 5.2.4.3)
148
+ actionview (= 5.2.4.3)
149
+ activejob (= 5.2.4.3)
150
+ activemodel (= 5.2.4.3)
151
+ activerecord (= 5.2.4.3)
152
+ activestorage (= 5.2.4.3)
153
+ activesupport (= 5.2.4.3)
154
+ bundler (>= 1.3.0)
155
+ railties (= 5.2.4.3)
156
+ sprockets-rails (>= 2.0.0)
157
+ rails-dom-testing (2.0.3)
158
+ activesupport (>= 4.2.0)
159
+ nokogiri (>= 1.6)
160
+ rails-html-sanitizer (1.3.0)
161
+ loofah (~> 2.3)
162
+ railties (5.2.4.3)
163
+ actionpack (= 5.2.4.3)
164
+ activesupport (= 5.2.4.3)
165
+ method_source
166
+ rake (>= 0.8.7)
167
+ thor (>= 0.19.0, < 2.0)
168
+ rake (13.0.1)
169
+ rb-fsevent (0.10.4)
170
+ rb-inotify (0.10.1)
171
+ ffi (~> 1.0)
172
+ regexp_parser (1.7.1)
173
+ rspec-expectations (3.9.2)
174
+ diff-lcs (>= 1.2.0, < 2.0)
175
+ rspec-support (~> 3.9.0)
176
+ rspec-support (3.9.3)
177
+ ruby_dep (1.5.0)
178
+ rubyzip (2.3.0)
179
+ sass (3.7.4)
180
+ sass-listen (~> 4.0.0)
181
+ sass-listen (4.0.0)
182
+ rb-fsevent (~> 0.9, >= 0.9.4)
183
+ rb-inotify (~> 0.9, >= 0.9.7)
184
+ sass-rails (5.1.0)
185
+ railties (>= 5.2.0)
186
+ sass (~> 3.1)
187
+ sprockets (>= 2.8, < 4.0)
188
+ sprockets-rails (>= 2.0, < 4.0)
189
+ tilt (>= 1.1, < 3)
190
+ selenium-webdriver (3.142.7)
191
+ childprocess (>= 0.5, < 4.0)
192
+ rubyzip (>= 1.2.2)
193
+ sprockets (3.7.2)
194
+ concurrent-ruby (~> 1.0)
195
+ rack (> 1, < 3)
196
+ sprockets-rails (3.2.1)
197
+ actionpack (>= 4.0)
198
+ activesupport (>= 4.0)
199
+ sprockets (>= 3.0.0)
200
+ sqlite3 (1.3.13)
201
+ thor (1.0.1)
202
+ thread_safe (0.3.6)
203
+ tilt (2.0.10)
204
+ turbolinks (5.2.1)
205
+ turbolinks-source (~> 5.2)
206
+ turbolinks-source (5.2.0)
207
+ tzinfo (1.2.7)
208
+ thread_safe (~> 0.1)
209
+ uglifier (4.2.0)
210
+ execjs (>= 0.3.0, < 3)
211
+ web-console (3.7.0)
212
+ actionview (>= 5.0)
213
+ activemodel (>= 5.0)
214
+ bindex (>= 0.4.0)
215
+ railties (>= 5.0)
216
+ websocket-driver (0.7.3)
217
+ websocket-extensions (>= 0.1.0)
218
+ websocket-extensions (0.1.5)
219
+ xpath (3.2.0)
220
+ nokogiri (~> 1.8)
221
+
222
+ PLATFORMS
223
+ ruby
224
+
225
+ DEPENDENCIES
226
+ byebug
227
+ capybara
228
+ chromedriver-helper
229
+ coffee-rails (~> 4.2)
230
+ cucumber-rails!
231
+ factory_bot (>= 3.2)
232
+ jbuilder (~> 2.5)
233
+ listen (>= 3.0.5, < 3.2)
234
+ puma (~> 3.11)
235
+ rails (~> 5.2.4, >= 5.2.4.3)
236
+ rspec-expectations (~> 3.7)
237
+ sass-rails (~> 5.0)
238
+ selenium-webdriver (~> 3.11)
239
+ sqlite3 (~> 1.3.13)
240
+ turbolinks (~> 5)
241
+ tzinfo-data
242
+ uglifier (>= 1.3.0)
243
+ web-console (>= 3.3.0)
244
+
245
+ RUBY VERSION
246
+ ruby 2.5.8p224
247
+
248
+ BUNDLED WITH
249
+ 1.17.3
@@ -0,0 +1,24 @@
1
+ # README
2
+
3
+ This README would normally document whatever steps are necessary to get the
4
+ application up and running.
5
+
6
+ Things you may want to cover:
7
+
8
+ * Ruby version
9
+
10
+ * System dependencies
11
+
12
+ * Configuration
13
+
14
+ * Database creation
15
+
16
+ * Database initialization
17
+
18
+ * How to run the test suite
19
+
20
+ * Services (job queues, cache servers, search engines, etc.)
21
+
22
+ * Deployment instructions
23
+
24
+ * ...
@@ -0,0 +1,6 @@
1
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
2
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
+
4
+ require_relative 'config/application'
5
+
6
+ Rails.application.load_tasks
@@ -0,0 +1,3 @@
1
+ //= link_tree ../images
2
+ //= link_directory ../javascripts .js
3
+ //= link_directory ../stylesheets .css
@@ -0,0 +1,16 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, or any plugin's
5
+ // vendor/assets/javascripts directory can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // compiled file. JavaScript code in this file should be added after the last require_* statement.
9
+ //
10
+ // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11
+ // about supported directives.
12
+ //
13
+ //= require rails-ujs
14
+ //= require activestorage
15
+ //= require turbolinks
16
+ //= require_tree .
@@ -0,0 +1,3 @@
1
+ # Place all the behaviors and hooks related to the matching controller here.
2
+ # All this logic will automatically be available in application.js.
3
+ # You can use CoffeeScript in this file: http://coffeescript.org/
@@ -0,0 +1,13 @@
1
+ // Action Cable provides the framework to deal with WebSockets in Rails.
2
+ // You can generate new channels where WebSocket features live using the `rails generate channel` command.
3
+ //
4
+ //= require action_cable
5
+ //= require_self
6
+ //= require_tree ./channels
7
+
8
+ (function() {
9
+ this.App || (this.App = {});
10
+
11
+ App.cable = ActionCable.createConsumer();
12
+
13
+ }).call(this);
@@ -0,0 +1,15 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's
6
+ * vendor/assets/stylesheets directory can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
+ * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
10
+ * files in this directory. Styles in this file should be added after the last require_* statement.
11
+ * It is generally better to create a new file per style scope.
12
+ *
13
+ *= require_tree .
14
+ *= require_self
15
+ */
@@ -0,0 +1,3 @@
1
+ // Place all the styles related to the appointments controller here.
2
+ // They will automatically be included in application.css.
3
+ // You can use Sass (SCSS) here: http://sass-lang.com/
@@ -0,0 +1,84 @@
1
+ body {
2
+ background-color: #fff;
3
+ color: #333;
4
+ margin: 33px;
5
+ font-family: verdana, arial, helvetica, sans-serif;
6
+ font-size: 13px;
7
+ line-height: 18px;
8
+ }
9
+
10
+ p, ol, ul, td {
11
+ font-family: verdana, arial, helvetica, sans-serif;
12
+ font-size: 13px;
13
+ line-height: 18px;
14
+ }
15
+
16
+ pre {
17
+ background-color: #eee;
18
+ padding: 10px;
19
+ font-size: 11px;
20
+ }
21
+
22
+ a {
23
+ color: #000;
24
+
25
+ &:visited {
26
+ color: #666;
27
+ }
28
+
29
+ &:hover {
30
+ color: #fff;
31
+ background-color: #000;
32
+ }
33
+ }
34
+
35
+ th {
36
+ padding-bottom: 5px;
37
+ }
38
+
39
+ td {
40
+ padding: 0 5px 7px;
41
+ }
42
+
43
+ div {
44
+ &.field, &.actions {
45
+ margin-bottom: 10px;
46
+ }
47
+ }
48
+
49
+ #notice {
50
+ color: green;
51
+ }
52
+
53
+ .field_with_errors {
54
+ padding: 2px;
55
+ background-color: red;
56
+ display: table;
57
+ }
58
+
59
+ #error_explanation {
60
+ width: 450px;
61
+ border: 2px solid red;
62
+ padding: 7px 7px 0;
63
+ margin-bottom: 20px;
64
+ background-color: #f0f0f0;
65
+
66
+ h2 {
67
+ text-align: left;
68
+ font-weight: bold;
69
+ padding: 5px 5px 5px 15px;
70
+ font-size: 12px;
71
+ margin: -7px -7px 0;
72
+ background-color: #c00;
73
+ color: #fff;
74
+ }
75
+
76
+ ul li {
77
+ font-size: 12px;
78
+ list-style: square;
79
+ }
80
+ }
81
+
82
+ label {
83
+ display: block;
84
+ }
@@ -0,0 +1,4 @@
1
+ module ApplicationCable
2
+ class Channel < ActionCable::Channel::Base
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module ApplicationCable
2
+ class Connection < ActionCable::Connection::Base
3
+ end
4
+ end
@@ -0,0 +1,2 @@
1
+ class ApplicationController < ActionController::Base
2
+ end
@@ -0,0 +1,74 @@
1
+ class AppointmentsController < ApplicationController
2
+ before_action :set_appointment, only: [:show, :edit, :update, :destroy]
3
+
4
+ # GET /appointments
5
+ # GET /appointments.json
6
+ def index
7
+ @appointments = Appointment.all
8
+ end
9
+
10
+ # GET /appointments/1
11
+ # GET /appointments/1.json
12
+ def show
13
+ end
14
+
15
+ # GET /appointments/new
16
+ def new
17
+ @appointment = Appointment.new
18
+ end
19
+
20
+ # GET /appointments/1/edit
21
+ def edit
22
+ end
23
+
24
+ # POST /appointments
25
+ # POST /appointments.json
26
+ def create
27
+ @appointment = Appointment.new(appointment_params)
28
+
29
+ respond_to do |format|
30
+ if @appointment.save
31
+ format.html { redirect_to @appointment, notice: 'Appointment was successfully created.' }
32
+ format.json { render :show, status: :created, location: @appointment }
33
+ else
34
+ format.html { render :new }
35
+ format.json { render json: @appointment.errors, status: :unprocessable_entity }
36
+ end
37
+ end
38
+ end
39
+
40
+ # PATCH/PUT /appointments/1
41
+ # PATCH/PUT /appointments/1.json
42
+ def update
43
+ respond_to do |format|
44
+ if @appointment.update(appointment_params)
45
+ format.html { redirect_to @appointment, notice: 'Appointment was successfully updated.' }
46
+ format.json { render :show, status: :ok, location: @appointment }
47
+ else
48
+ format.html { render :edit }
49
+ format.json { render json: @appointment.errors, status: :unprocessable_entity }
50
+ end
51
+ end
52
+ end
53
+
54
+ # DELETE /appointments/1
55
+ # DELETE /appointments/1.json
56
+ def destroy
57
+ @appointment.destroy
58
+ respond_to do |format|
59
+ format.html { redirect_to appointments_url, notice: 'Appointment was successfully destroyed.' }
60
+ format.json { head :no_content }
61
+ end
62
+ end
63
+
64
+ private
65
+ # Use callbacks to share common setup or constraints between actions.
66
+ def set_appointment
67
+ @appointment = Appointment.find(params[:id])
68
+ end
69
+
70
+ # Only allow a list of trusted parameters through.
71
+ def appointment_params
72
+ params.require(:appointment).permit(:name, :when)
73
+ end
74
+ end