dynamic_nested_forms 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (492) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +251 -0
  4. data/Rakefile +23 -0
  5. data/app/assets/javascripts/dynamic_nested_forms.js +65 -0
  6. data/lib/dynamic_nested_forms.rb +4 -0
  7. data/lib/dynamic_nested_forms/engine.rb +19 -0
  8. data/lib/dynamic_nested_forms/version.rb +3 -0
  9. data/lib/dynamic_nested_forms/view_helpers.rb +44 -0
  10. data/lib/tasks/dynamic_nested_forms_tasks.rake +4 -0
  11. data/spec/dummy/Rakefile +6 -0
  12. data/spec/dummy/app/assets/config/manifest.js +4 -0
  13. data/spec/dummy/app/assets/javascripts/application.js +16 -0
  14. data/spec/dummy/app/assets/javascripts/cable.js +13 -0
  15. data/spec/dummy/app/assets/stylesheets/application.css +16 -0
  16. data/spec/dummy/app/assets/stylesheets/scaffold.css +80 -0
  17. data/spec/dummy/app/channels/application_cable/channel.rb +4 -0
  18. data/spec/dummy/app/channels/application_cable/connection.rb +4 -0
  19. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  20. data/spec/dummy/app/controllers/appointments_controller.rb +6 -0
  21. data/spec/dummy/app/controllers/patients_controller.rb +58 -0
  22. data/spec/dummy/app/controllers/physicians_controller.rb +58 -0
  23. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  24. data/spec/dummy/app/jobs/application_job.rb +2 -0
  25. data/spec/dummy/app/mailers/application_mailer.rb +4 -0
  26. data/spec/dummy/app/models/application_record.rb +3 -0
  27. data/spec/dummy/app/models/appointment.rb +4 -0
  28. data/spec/dummy/app/models/patient.rb +6 -0
  29. data/spec/dummy/app/models/physician.rb +4 -0
  30. data/spec/dummy/app/views/appointments/index.html.erb +2 -0
  31. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  32. data/spec/dummy/app/views/layouts/mailer.html.erb +13 -0
  33. data/spec/dummy/app/views/layouts/mailer.text.erb +1 -0
  34. data/spec/dummy/app/views/patients/_appointment_item.html.erb +10 -0
  35. data/spec/dummy/app/views/patients/_form.html.erb +32 -0
  36. data/spec/dummy/app/views/patients/edit.html.erb +6 -0
  37. data/spec/dummy/app/views/patients/index.html.erb +27 -0
  38. data/spec/dummy/app/views/patients/new.html.erb +5 -0
  39. data/spec/dummy/app/views/patients/show.html.erb +9 -0
  40. data/spec/dummy/app/views/physicians/_form.html.erb +22 -0
  41. data/spec/dummy/app/views/physicians/edit.html.erb +6 -0
  42. data/spec/dummy/app/views/physicians/index.html.erb +27 -0
  43. data/spec/dummy/app/views/physicians/new.html.erb +5 -0
  44. data/spec/dummy/app/views/physicians/show.html.erb +9 -0
  45. data/spec/dummy/bin/bundle +3 -0
  46. data/spec/dummy/bin/rails +4 -0
  47. data/spec/dummy/bin/rake +4 -0
  48. data/spec/dummy/bin/setup +38 -0
  49. data/spec/dummy/bin/update +29 -0
  50. data/spec/dummy/bin/yarn +11 -0
  51. data/spec/dummy/config.ru +5 -0
  52. data/spec/dummy/config/application.rb +26 -0
  53. data/spec/dummy/config/boot.rb +5 -0
  54. data/spec/dummy/config/cable.yml +10 -0
  55. data/spec/dummy/config/database.yml +25 -0
  56. data/spec/dummy/config/environment.rb +5 -0
  57. data/spec/dummy/config/environments/development.rb +54 -0
  58. data/spec/dummy/config/environments/production.rb +91 -0
  59. data/spec/dummy/config/environments/test.rb +42 -0
  60. data/spec/dummy/config/initializers/application_controller_renderer.rb +8 -0
  61. data/spec/dummy/config/initializers/assets.rb +14 -0
  62. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  63. data/spec/dummy/config/initializers/cookies_serializer.rb +5 -0
  64. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  65. data/spec/dummy/config/initializers/inflections.rb +16 -0
  66. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  67. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  68. data/spec/dummy/config/locales/en.yml +33 -0
  69. data/spec/dummy/config/puma.rb +56 -0
  70. data/spec/dummy/config/routes.rb +8 -0
  71. data/spec/dummy/config/secrets.yml +32 -0
  72. data/spec/dummy/config/spring.rb +6 -0
  73. data/spec/dummy/db/development.sqlite3 +0 -0
  74. data/spec/dummy/db/migrate/20180131203724_create_physicians.rb +9 -0
  75. data/spec/dummy/db/migrate/20180131203825_create_patients.rb +9 -0
  76. data/spec/dummy/db/migrate/20180131204856_create_appointments.rb +10 -0
  77. data/spec/dummy/db/schema.rb +36 -0
  78. data/spec/dummy/log/development.log +173 -0
  79. data/spec/dummy/package.json +5 -0
  80. data/spec/dummy/public/404.html +67 -0
  81. data/spec/dummy/public/422.html +67 -0
  82. data/spec/dummy/public/500.html +66 -0
  83. data/spec/dummy/public/apple-touch-icon-precomposed.png +0 -0
  84. data/spec/dummy/public/apple-touch-icon.png +0 -0
  85. data/spec/dummy/public/favicon.ico +0 -0
  86. data/spec/dummy/spec +1 -0
  87. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-_/-_dpx2KBh65MqSaQnwFLYd9EuRy39JNrDvqk-iQnzkk.cache +1 -0
  88. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-q/-qohyEJV7_cg6lmN0ZA6iHBdn18KUl75cUaoONz33LY.cache +2 -0
  89. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-z/-zNVUExwmZNRoCEj5V42V2qSfyd6oZn6y3x932iEa2o.cache +0 -0
  90. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/00/00yemVO3zk3m250e1khLRccSEOM7N1i4v61hNfdmUeM.cache +0 -0
  91. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/02/02ItjHyGPwxIgVK8LiAg_BJ5KoCD8NUP6IxnxrPeaf0.cache +0 -0
  92. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/05/05z5V4OW9WUWpK18w0GUaNw1dK6xtjxg5vrxPF0qchw.cache +1 -0
  93. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0A/0AdDFGOcGrjEBEVTZXinRnlVJPMnPMcxbDjP-7kkHrg.cache +1 -0
  94. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0r/0rDtvWY4i7S5OtQpZ16yuQWTkMrOz42WBDu-C6NBcvo.cache +2 -0
  95. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/11/11kFe6G291uMyOqItc1vHficdxz0dsyaPa1cSvLtaOo.cache +1 -0
  96. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1D/1DzcUWZ5_tNSR4Zi7I9iZWXXj0D5GKkmFVVVu9OsVUo.cache +0 -0
  97. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1J/1JcJNjwmCGksJaqK0Nz5dql3N2vaSyRSfuL_jb-kvD8.cache +1 -0
  98. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1Q/1Q2hR5Zbr0KwCk4GJ0TwV0nyGaaxuQuUp6nFO5P2Xgw.cache +0 -0
  99. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1T/1TPrjQfLnjOpNXb0gxcOfMO4j8yYQ_NVVjGrv1-FEeU.cache +1 -0
  100. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1r/1rQDuVZ853JEj1KqtnLQxauQlXHvOBJHBN_Xf85QQmU.cache +1 -0
  101. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/22/22uPwv3f0a5-hXouPvQhTodLtNSvIkdKA1nOZg_P4Wg.cache +2 -0
  102. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/24/246lUwXMLYT77Lnysl6ckPV50uWaLSrsVQWqfQkxClU.cache +2 -0
  103. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/26/26tiRMqI6epr3g6114fBHLNQrdZYMb3YYK4sa6_5bT0.cache +3 -0
  104. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2_/2_P-DTGnmmL6vZZW00aSM3FhK9jiqyfQKNrSUEHio-k.cache +1 -0
  105. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2e/2e_hfvq0pQiOrFs0X1g6GckagPVBv0VAvdDLxdfiyS8.cache +2 -0
  106. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2k/2kn-14N-4DdfwtXP1kq2P5TManmVEgO7aNsxIb5t1KU.cache +0 -0
  107. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2l/2lwB4dub2esLhMADx0rvyOXIVWcyULzYSVL4EjLNL6M.cache +5 -0
  108. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2w/2wZZk_jIufOKf3xO9Mo9367g58c-2zz4ojM4AqfZAPo.cache +0 -0
  109. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3d/3d8QxjC-98AtEY17oXT95Bgm3LsmhsvJoxHH7QI3NOI.cache +0 -0
  110. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3l/3la4NJ5FJ25R8XZ-HeLfPJ7nITj_vTNd4-ss43xNSfQ.cache +0 -0
  111. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/45/45qejQE5DSY73IzOkQeGvbzMFhi-F4_n1KLR5T68-tM.cache +0 -0
  112. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4J/4JWHLwGfL9CuiB_8oKxxSTlfsVhs-JmWdxe7rxO2COc.cache +1 -0
  113. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4O/4OwDlavUexK76uDxY2BpetcSGMs4kYPxqZtRvxLbZxY.cache +1 -0
  114. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4O/4OzoO4XLnId3cC76-PJQEv5rVHR3K_FJVlxEo5o-Zjw.cache +0 -0
  115. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4f/4fKmgJd-Lj7omft_3SPB3i8hsunjv83lFuJZY8GaINA.cache +1 -0
  116. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4i/4irnTQmsOZKauR_yehRvJsT-PQRtVTxoXzI2b8gRXZ0.cache +2 -0
  117. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/58/58TcM0mngs9QAL1pkayzYV9iUiITgis4BG7mkAvB-BI.cache +2 -0
  118. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5F/5FhqFLbqEFjhdf_Yk4ps_4nV3KRMDIN-RHKh7uU88lA.cache +1 -0
  119. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5j/5jimL9UnwTWedeC4bS3P-8GjOzG4v8lCY9Msx6-07rk.cache +2 -0
  120. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5r/5r7qYgH_V6fHdVn3i2Js81OPiiM1Gqfh68vPSAV2Ub0.cache +0 -0
  121. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6A/6A6_g-Q3e4yAiqo93yubEA53W57knwmth-BNyihZOKE.cache +1 -0
  122. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6J/6J7n0cGILd8R69Df67vh0nhVzI_OMFcC6cHBhVOhZIQ.cache +1 -0
  123. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6K/6KkrT2KxzdWLPYTlpDOH6q17IWtcup53iuJE4FjFr1U.cache +1 -0
  124. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6S/6SbByhfHMrWnsQcpRwtwsgoBqk01atbotBEUBdAs0KA.cache +0 -0
  125. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6g/6gjaXl1CtId69wLR-Xo-tdw5RpGyUIBRVXr7C6BrBIc.cache +1 -0
  126. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7r/7r1cZ_rKXEBZC8Bfu2_B1nD3Dgq1XW-cAFmRkLTl_64.cache +3 -0
  127. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7w/7wKJ8d125kP4qYfP4esI3SxDjtZnSzzRUQ1BiFMzJkQ.cache +1 -0
  128. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7z/7zh-7hZD2yLAkIwv_DEc8LezxYUe2Ki30NJAFUf4nPc.cache +0 -0
  129. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/83/83q6xREYgk2jfi2TBSi1cMlC1hDsL4ISZbeGovw-Adw.cache +0 -0
  130. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8C/8CtmjElH85z4-IFVayISUgMn2OAv-fCvi-5xMwa47A4.cache +0 -0
  131. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8R/8RTWQtWchgfRwj5r0A9y2A9TZyCgil1Oq2smbYxRM0g.cache +1 -0
  132. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8U/8U1joWFz--euD45ZZRkyRrfV-cKaZnHry_c6O4xr654.cache +1 -0
  133. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8a/8a9tlMdnJo0xGvNPwnKF33BOxXIVssLvrWXFJXaIlWE.cache +1 -0
  134. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/98/985O_of3d8yIJCVp-cGRQ3ThL5Ut1y8ufW_5ELUg4xM.cache +1 -0
  135. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/9H/9HKUSb-poRTKFoiHfEJD_WubOe4W0-JOE9rdY637MV0.cache +4 -0
  136. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/9M/9M37jvasxIouKt9gcrqZpCQWnNB7Ko7Qbqo61D9UJdU.cache +2 -0
  137. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/9j/9JCURrl8kdWrdL-dH2g2ChaYUG3_zQmh7t3g5ezLp9c.cache +1 -0
  138. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/9j/9jhveWPxPPgswnW_nGjbq5LHUkBLN7k3Tn_tUwXTK6Q.cache +0 -0
  139. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/9p/9pG8PhKzClItvXk_hFe9wAABt1vjg3yPmoi4qQIDvMY.cache +0 -0
  140. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/9s/9s94eJxRw6ln02Xuoc0vgvR_2poaoji9tyzcwgy5Dxg.cache +1 -0
  141. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/AE/AEvPy7zqyVTlyEvJhBKOyfREp-Nb8sc8_y_302tW2Xs.cache +1 -0
  142. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/AE/aeLVAWZvHDf6wTAE5kfMZf1G9rXuUDqdFqJCXquOe_w.cache +2 -0
  143. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/AF/AFyslXayvpiB2s2PdH1M0KmyB3e_5WdrM2f6YUsYNvw.cache +1 -0
  144. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/AO/AOzTjzQ0bSKScEWNvwPKCRHkAnxOAljWZoXak55ZwO0.cache +1 -0
  145. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/AO/aomtW2YP11m_71wuadM2DSPg9xfTDGCIiesQFhfybx4.cache +0 -0
  146. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/A_/A_Amx1kVczOlk5GdqVjhyCN9X16M7ioV9giB4LFoUsk.cache +4 -0
  147. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ad/AdmZh1KiKAGy4XTnuBVKRI_u5SkhcRYHcw1qg1vp-EM.cache +1 -0
  148. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ag/AGeOQsW0CP1tzWZDYojD-DtEGp1xidnxYaweo6zgViY.cache +1 -0
  149. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ag/AgD2VWpkQrvWKuPR-Glo6hm2X3A6CKUknEs3fZMIQDc.cache +0 -0
  150. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ax/AxdFKUxigJnSktw42Ac3Azr2wTg2N_JEDayUG7Nvnog.cache +0 -0
  151. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Az/AzdIBAsnV9GYHP4vlcstpb9nLy2Z0h3dPCx5dL_2thw.cache +0 -0
  152. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/BP/BPgmXKL7D32eU9yDIG1oVkB-yTxs1VNBlC0wvz1drYU.cache +0 -0
  153. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/BW/BWdY-sXQTx1uu_J3VHlFGuRjD6UVHWqg80BeABxQQew.cache +2 -0
  154. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Bs/BsHc3G25RuN3XWuNxsKXUIHNG0HvVztOOC2kyIbv9eY.cache +0 -0
  155. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Bv/BvDSJoxi0yMcXNrKbEM4RadGg99Bkc7pVPUhLUHQgso.cache +3 -0
  156. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/C2/C2kNgtFt3dUa70BjyaDRWLQ_kyBnBanQQP4S_OjAAHc.cache +0 -0
  157. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/CG/CGD90YhOZhhybd66T0KCllRYTWY5fPCjXF0K6tIjNSc.cache +0 -0
  158. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/CG/cGKBgI17fJa6_Ih92fLhZR_Vbs4N_l92f7gSOsuDTKo.cache +0 -0
  159. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/CL/CLQhMPnT-IGL8nvhjapGaqScmETAhtKqmgIVyiQ5ItU.cache +1 -0
  160. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/CO/COMZjC7Syq9Qt4XeVzURhqP1TR3Nt0ivjblvkY9NjK8.cache +1 -0
  161. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/CO/CONbrS7TKvpPhMWXeAwGgf344zsDhuF_xmrS4mjfMNw.cache +0 -0
  162. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Cf/CfPVGLF5aeFDv0-8Ss9HiHpqyJsT1-thFNJ4CLoOItc.cache +2 -0
  163. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ci/Ci9TpED-a9SyzJmE8SPapmI_k3fn7Zh-sbRCBTASsvo.cache +1 -0
  164. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Cx/Cxrfc_JOdb9ao7UA9D8xWvJ4WZbjQxfkIWnOnY0a238.cache +2 -0
  165. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DC/DCJzyHC0kWsPi95JQEZPPiGAuaZh89YV2bzk6RpY2X4.cache +2 -0
  166. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DM/DM5AxoxkZvFwsZi4pVQXYl8OuXAyyx7mlmP7pjhnhSw.cache +2 -0
  167. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Di/DioDOOEbNtDrZ4Jbw45E-4aimPOG4UIW0OauSXp6rgI.cache +1 -0
  168. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Dn/DnYNZg8an0zKkyaM-E7FWfBO-e24pCHQiixV6-cU8qo.cache +1 -0
  169. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Du/DuGPFxzMTEmPEQNY18mexZLcSrL-VifcZDAF6zjHHtg.cache +1 -0
  170. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Dw/DwyB4mQ077qyAwVN1VqSV0EOwBOGS_rQR985VJRnu4g.cache +1 -0
  171. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Dy/DymD7M5mI-Hxqmr86q_Ihd9Ldn5B4rev6h6WoHxr8oo.cache +1 -0
  172. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/E1/E139FraRw0ilw1ZZ4VmQfXfpy_n9M5AN_Li9c5MW_MA.cache +1 -0
  173. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/E1/E1VOM-miu-O9XznmceSubxJ-yY6_b2fgCA7_cgyGsz0.cache +1 -0
  174. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/E6/E67rHxKzuR4EGoGCuvGWtWeg0c__Fjoj8bCMlBlOgtg.cache +1 -0
  175. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/EW/EWKPOTHKAwEMRJOzAB8hPgVefiqQCacQDCj84JkGNPc.cache +1 -0
  176. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Em/EmTExtDWq7RrVzw2tAoVTiOyV_SOGRhKB6QEqvqIPSM.cache +1 -0
  177. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Er/ErjdPqqwCys0WHYFahXLOEIb-ksT4z4fiMzjeMpf_fU.cache +2 -0
  178. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ez/EzyDF8-eYWnRJEebQYjViNz71NnY1ZaApvBjycClAVo.cache +2 -0
  179. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/F-/F-cj7VA_x4c9QJEDXECgPIp3l40uNGYSEeWJZerrsm0.cache +0 -0
  180. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/F4/F4O5nFTBRj38CM_gzW_xE3SbgvVizHN4X_lhVl8BArM.cache +0 -0
  181. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/F7/F7QZhBtdwh65hm2KTwyhN97K1D3hUNwm_cfm-_jIqXk.cache +1 -0
  182. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FA/FAoffyGOTxeZDqzbyWdYfiiu35rMupIA71fYOId3ad0.cache +0 -0
  183. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FF/FFt1TLb3XJEEU7Qud18r4gbr4aHmzRs_CM6LPEULF5w.cache +2 -0
  184. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FQ/FQOZ27eB3Uea1-lGAb6d8K-05CiMGiyiGDKPyVYbPoY.cache +0 -0
  185. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FY/FYHTVbStBksE0f-Lyax_JOw-TH0A1qaTwQggNpcxHzQ.cache +2 -0
  186. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FY/FyVCHA-qwzAdndx0nNziv32YcJvEnBnmXn7C-dxkUOw.cache +1 -0
  187. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Fg/FgVxiIw20k7PsfccKzrwPeXCNKLoHy4lNHZSUKb1COg.cache +1 -0
  188. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Fg/fGMeJxNprlmjJ_juFQR2qSAy7zRnG0b5-KJOvvaS7bw.cache +1 -0
  189. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/G1/G1gu4bUTFJC1qmBDGlN8y3nVUqnHVAiVDY3FUnyh9_o.cache +1 -0
  190. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/G4/G4zXYlPR3UxLlC4JzVIraZ53i7WX2RTdDX-recVPqSQ.cache +1 -0
  191. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/G8/G8l4qxsmZgzo2GoimQEpRPr2M5WD7ZmsLo__Me2sXRk.cache +2 -0
  192. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ga/Garra-llc_-jNMBKg6Sw_QZi-sI1gBCiRiA_-rFeY0U.cache +1 -0
  193. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Gs/GsFPpwMwoNY-r-UmbznlCtY5Nbdp4jK9K5M2LPID-6Q.cache +1 -0
  194. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/HB/HBBozdk1iqTeza4YUYvl2ALD9VhIzc6Xv-TMUD-65RI.cache +4 -0
  195. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/HC/HCDOUd7-S45aJ_PjVAC_Vmjyud3i1aQv4cE3t9_Z3Dw.cache +2 -0
  196. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/HC/HcCDmDA0bk_tp1DvQ_kdmsnNJXu2lFbRJ8xuofMfz8E.cache +1 -0
  197. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/HO/HOf4NCgdY21xMcTP5Ks7upWYb0EMg8N1jbccpcVOawc.cache +0 -0
  198. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/HQ/HQjDrLqlIQ38_A-6cItfgkltxrcbX2W3CTqqykCHuzc.cache +1 -0
  199. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/HQ/HqAMiE_yjMT7QqjXxw9psM1Hgg8s4mhHc-BBu2uUNiU.cache +2 -0
  200. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/HY/HYpagpRCTZ5VfOn1ghvfVHAEAXjKKxou-OoNUItpISY.cache +1 -0
  201. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Hf/HfUyGFpkWVMCE28DlEzBHnxhZMb-2cyFKaE87ura8X8.cache +1 -0
  202. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Hl/HlJ1GV551r6AgOooFEtnRorYXf2sNUWQ3PAVj2rfLSU.cache +1 -0
  203. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/I8/I8nZH_SIdVv0TZ8zfA4E34Qz4RKx2uoLLc5bbQg8HUs.cache +2 -0
  204. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/IJ/IJoC_Hls04YYZ4ggByM7LOS8NWieQa428f-FiLWpsUA.cache +0 -0
  205. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/IZ/IZXNoojTyq0WollpJJV4mDoRp9DxWDh-g03pB0r0MZU.cache +1 -0
  206. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ib/IbXfRUjc0ozv6y-CXQUTrdjBQL5OtEeJQCtPKKnjPHc.cache +0 -0
  207. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ih/IheK5SyQLrJ1jMrFDC9PWGWRZ8_nDXk8HIYWyZSlWWE.cache +1 -0
  208. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Is/IsUTkOLCqtdvFWOXFAWRtgG1zH7-d0N_1Wu2QNjwJrU.cache +1 -0
  209. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/J9/J96siYLqQzlA1VlhSV-4gyCKtMw12k_ZH9_RWMDMwIU.cache +2 -0
  210. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ji/JidHvefZ0kH5DuPYawOVF0TgZjlSfXLnW_Fk3hocEAE.cache +1 -0
  211. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Jr/JrlvW6OVpj0YUMwA7cICG_6I7PUwUX0rSxHqw4TaUes.cache +0 -0
  212. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Jr/jrOhGJreNBIZeuFUxG8RpyjJg0W25aBNtmGOTUY6psg.cache +2 -0
  213. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Js/JSakB4a18Qf19cY-Kba686evHuLQqtIUuM5cx3h1Kyg.cache +1 -0
  214. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Js/JsnZ7Mc0YRtXCPlgGfetMljCOOmoPKSCNm5igczZvQY.cache +0 -0
  215. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ju/JufoMmunqHvg96hpZPlCLhuFEDEFnf5jaDV6o_7O9dg.cache +1 -0
  216. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Jv/JvoEc_oMmbj3TfGit1yDhslE7zvyRjn8xnTfqKdrMUI.cache +1 -0
  217. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/KF/KFJI2JN_tvYfVteXaa8EiQ94_XQOdX4e1nWIGv34xDU.cache +0 -0
  218. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/K_/K_uhGtpY_XCx-JN6QSvSwk5U2mDNKyN4ZF01jYe6QKQ.cache +2 -0
  219. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/L0/L0DyfOF3omPddHLUerCNdnDAgc5V-Ehl0ho0vHJetFc.cache +0 -0
  220. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/L4/L4zcx6aLL0AtfUNYU-za-SlL98Gf5NOti_-nSzv0xTw.cache +1 -0
  221. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/LF/LFaiTT3ALBVAleoua76iaw8V7PXy_ou4h38bNpKTofE.cache +1 -0
  222. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/L_/L_MS4ut9nX7kA-tYbBSCs0Qm4pgbWqMLOAykPSSXcd0.cache +2 -0
  223. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ln/Ln1Pydymc6btGAAPoQLmOHjrvpR46M6LC6Ft4kxnlh0.cache +2 -0
  224. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Lv/LvOL_AAEUNzpg8b3eFhibCiLDTEXfAeOHnmm4EcOiAE.cache +2 -0
  225. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/M8/M8-DjLJv8wVDzQpiDMJS6Mr9wM2_jiHHe0alNqhqrCE.cache +1 -0
  226. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/MB/MB3C95WmAzEMithN4jJYpJ_QcxD0JnhLZshACeiq87M.cache +2 -0
  227. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/MT/MT6B32U77PBurCIv5HrDT5sj7F22U5yf06Jw66T7bVM.cache +1 -0
  228. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Mk/Mk1RKgmkDLFp5AmlMQBdJH6P3pxXpUstiQvLeu2cKTY.cache +0 -0
  229. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/N7/N7fczAIF1hZK838mIjf0rttGQLsliTA7nQ0soaYnJgQ.cache +0 -0
  230. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/NB/NBiE1C4_3RH_qOqLnGJwThX8-EsHJJfpw58YrNZc-Cc.cache +2 -0
  231. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ND/NDCWBFqzDUFiLtBWSIpZoOw2dxWfd_5wcTW6pinqk9A.cache +2 -0
  232. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/NF/NF1Y-9kicOoP4AKCodm8XUpprtERkbKk6_aOTIXiDa4.cache +1 -0
  233. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/NH/NHlhoZHJgsHiO55UYWgQFaHB2hHvNLe-1OyZFVoG2nM.cache +1 -0
  234. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/N_/N_3Q5KxG6XcQeL5PDtsm3dBi4tSHKjp6dyCSYUpEDCc.cache +2 -0
  235. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ne/NeWodyfXESa260e8rgdx9SYPK4AdGdKI-HFbovfQX9E.cache +0 -0
  236. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Nl/Nl4TyaeREkrzC15hO9FuuC6-h0-77pprj8525ov6R30.cache +1 -0
  237. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Nn/NnZMA9QHKbKxboe8eNESCawM8m2JudblbBFVtTkFYVE.cache +1 -0
  238. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/No/No7g1jF-PfJdLvVEw8_9ni9suHiVazeTyBhgdVUJH3g.cache +2 -0
  239. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/No/noM6qYWBZtnVBa_gpqyIPqHz203oHDS4VcVKwR2-4CM.cache +2 -0
  240. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/O7/O7_k03QIjwpw5_V6qEdq7uRW6LLDOERCz3eGabanpYY.cache +1 -0
  241. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/OS/OSMki3kIdKycNVOf370EWoV-6ytGwsLKa8VOo7122-M.cache +1 -0
  242. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/OS/oSlD26f8q5qJZ-u-sUpO78DZiuiEarbw0q4JR9SwOPk.cache +0 -0
  243. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Og/OglA3gPumjeCzE4Hrc2Rn43aAml0fAGZXz-_WmnGiwY.cache +1 -0
  244. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/P0/P02-s7-sLysR5_BPrI86xbpCVwYYfFsHCEAL_DIEU6Q.cache +2 -0
  245. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/PM/PMqRlUDMgILyhQfD0nk3zCnMZRL2E35hPzFmbKoBKi8.cache +1 -0
  246. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/PO/POxJLxMk4lkkk1VMbc8bxR2UChfhvErey3ZrQ5_lDfs.cache +2 -0
  247. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Pb/PBCua-8kd8x-Ab3uhN1je4s7N8OmlKP1TOutBUncQVw.cache +2 -0
  248. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Pb/Pb9lsbyL5zPALBY8tTVYpfr-ZGb-gx_pcq7Pb-eZMFE.cache +2 -0
  249. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Pc/PcdURj1y9AyUjrciwQpprhk9ZTOGB-Qs1jlAwmGuZtk.cache +1 -0
  250. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Pi/PiTkzxN25gZkT9hMTGGWoikYC6GkDxwEpmDI2X9Bm_M.cache +0 -0
  251. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Q0/Q019KOhoRluew35r3D1CP4hHE96YSSc5TLhfeI7A48c.cache +0 -0
  252. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/QD/QDZms31bAeBtstgFEAdvthiI9cr6oQwOdO7KSb37fOg.cache +0 -0
  253. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Qa/QaCy6Gatzg4W8ho3QEYaJ4uIagvsFO90TiKxj8L1RMY.cache +1 -0
  254. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Qa/QaOLnbxkQ4NOpunGcNo8e1av2ihEtf98c8WpYvjy7j0.cache +1 -0
  255. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Qa/qA5djr3KZkiS11OH5_Qsz4Nq70Zsc_V4RJzJynfwr-A.cache +1 -0
  256. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Qx/QxxVcEqV3Zc6l9okbiVzcn7juUiv-2kufWj9uhUqt6Y.cache +2 -0
  257. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/RF/RFUXwP96aasu2WLBbgxAR5iKoLn0nue6SPiwP72vsAs.cache +0 -0
  258. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/RP/RPyyCmOC1gTeBO89ER1zaewSpdxoTTZuQggEJdoS9rA.cache +0 -0
  259. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ra/RArZQXsVesppt_7B4RUP1L8th-s-4FlxzzwmuH53sAQ.cache +0 -0
  260. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ra/RaSbuLwLBtJEy1UhsL46tpOAYWpXZ3c-uz5XLkJ8xeU.cache +1 -0
  261. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ri/RiOipc7ORfBVWccgykGSGIUDku52WFAfIagarG7oKiI.cache +1 -0
  262. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ri/ritSBOYaWqQ0gBNBvJNz9AA8mzXLpB7dnd0-bo2rpqc.cache +1 -0
  263. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Rv/Rvow5ep2Xl5Ra43o-EqM1Zua6m9PRyyQom13BBoJisM.cache +2 -0
  264. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Rw/RWvpsmITTU67kPBtdfLXG3-stubqUi2lWAg7WjnkzLw.cache +1 -0
  265. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Rw/Rw-H_b2bDaOoOIYxwHHrjz6bRobFmiuUD4xCLC3jNKk.cache +1 -0
  266. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/S7/S7g3Hg9BSXabuYWUvoHSV1XuyTp-fdTUN3rOjEoUaY8.cache +2 -0
  267. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/SB/SBcxBni0ezu9NTqvVsOldkoQ4bhqrjuSn93say7V7iA.cache +1 -0
  268. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/SB/SbpUYMenI_4mw3g254J9tSq7DitG9CRr2s9gIATIg5o.cache +1 -0
  269. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/SJ/SJ1mtm_EPnIEnLv1TWCujLOGVuakoX57AqFbfRPdoHI.cache +1 -0
  270. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/TI/TIv-XrucuUvw3iwCuz-SvWSth6D8bY26_ypORRys9m0.cache +0 -0
  271. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/TI/tii_Gu6Br0BEZIctOPePyt6b8PlQWn8f5Hnsc1U8rsk.cache +0 -0
  272. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Tq/Tq1bg6-85smqsgGpemQFdm0ySgnaGb3cgSFbZ4hjUZU.cache +2 -0
  273. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Tu/TuezkL4Pg1TVv80e5-2mvPeHj_GxekJxRnPmcVmixFc.cache +0 -0
  274. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/UA/UApYuQnETPj0oLUUU4UKOfnoBnQs0uoER-y6XJHWb0c.cache +2 -0
  275. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/UC/UC4adJqbL1J8X3dyHAgTIdGZ7adv4c8fTX2sfvsBtCw.cache +1 -0
  276. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/UF/UFg4KNwjA74uZrOGc6sC7oY5sreytAvq1Mdxl-SswIY.cache +1 -0
  277. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/V5/V5VXgSmMbH_QmEtekdlh4ahh3YO-wtbYw6bADadjgUY.cache +0 -0
  278. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/VL/VL1ccX9HRC4lejXJLP-p0OqhIuhql-LlkfEL9bThnd0.cache +0 -0
  279. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/VR/VRbOkfnPqDZOX-yAd0jb2PC1S0c3xfvw7SHzgt1CM8g.cache +1 -0
  280. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ve/VeH_kG62vXbGBDAL6O_lbMY6qIPHkV3FD52vJrf-W-M.cache +0 -0
  281. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Vz/VzIskzbUL7MZYET9siRXSIuMKmQ6zPuwFz2rNkVGn8s.cache +0 -0
  282. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/W8/W8NZjmtIB443EJqisWcqr5p92oBNnR-_KFX9jPRfCUY.cache +1 -0
  283. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/WS/WStgTHFjCtyIzG-rsTntPYV3xo76KjrzVwxHAu-f-cs.cache +2 -0
  284. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/WS/wsTYP36uqC6GmpyesMoJtu_nnrCqA8P0AsIAsnxr4fs.cache +0 -0
  285. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Wf/WfAeQgEj35CvO3glg_BxQPkIAADssEScqSaZ-_-ovhw.cache +2 -0
  286. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Wi/WileadlPYNL70VR-HV1iHvUA-hSJK_fJuhKT38b-uAw.cache +1 -0
  287. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/X7/X7JRU7Vk9GVHai3LZalPxg0P2vFLcFCee7qtQvbBGc8.cache +1 -0
  288. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/XD/XDBJCa2T_Xl1kgVD83z_pLliSuGkRrpsMhlCVNQ7Txs.cache +1 -0
  289. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/XG/XGBtPl-A5Gwh7VzGSH7Im0oAgycmFoxlBQJqCEfcIxw.cache +1 -0
  290. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/XT/XT3-NsX4ITmdkXuVjmzt4FPjy_dArE7-M_ZDOuO7KPE.cache +1 -0
  291. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Xr/XrXc94te3sXcyG-3odPxTzcrjndMSycdWNQymOBGvYs.cache +0 -0
  292. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Y3/Y36YxU8sPFyLf2-r8tnjNiPwyMLA6xuT00ncStmUpzc.cache +0 -0
  293. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Y4/Y4nC8g6WpbzjR_0mhgYbKpTGW-PORdXU6jvtj4acpFs.cache +2 -0
  294. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Y9/Y9B2ALEdNx3LcIgJwLsBeBBZMhxPbMUgksCldhPd1qU.cache +1 -0
  295. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/YO/YOHuxSjU0bbjRS9Gpv8JMu2HmJGqJ55lvrEcR7hysHA.cache +1 -0
  296. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/YO/YoGjt4E_mj9ZW9sLhcRp1PfqNS6BG8d1WXLdZ4GPIUg.cache +1 -0
  297. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ye/Yeq1PVlvVxW9aa8fWmd8dpOur1f9_MrBNyDCwT4GwzM.cache +1 -0
  298. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Yg/YgZNkkO1tg2U5AvQX_eQts5zy6uza8jZzJWrVZAAZ2k.cache +1 -0
  299. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Yw/Yw30uP46dWyACe5_Pa1xzFKD8xGblkLZW_pAaMlQn8w.cache +0 -0
  300. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Z1/Z1Jn2jkPVD7IIg_Dt3PqTNzd6DG9RBkq0vdLJsAUL2w.cache +1 -0
  301. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Z2/Z25esYQbOrd-PI-GLAORy5HX8mrV-ygO3Uylw4uuI88.cache +1 -0
  302. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Z2/Z2YTLSuaj7RmfuPTehj4CtTRTLM_8LoOG7dwAkIaQOY.cache +0 -0
  303. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Z7/Z73QU4Fb6JOakPYwEshjePFwbsoKnTTMFCwOL-gDgec.cache +0 -0
  304. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ZS/ZSaSAixhQgHueWttmlFjA64fL-3nXXlYIB1go-9GWZc.cache +0 -0
  305. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Z_/Z_2q4ua3Zo7mItPe6vs8Q0XcESVyNQdLhsuWQCTR3UI.cache +1 -0
  306. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Zf/Zf98KUQVhbHn10fjiMIKm6E_HGHJmQ-kIhOhdOZQHPo.cache +1 -0
  307. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Zp/ZpN8e4b8ItITSfWkqb59OStE2Y0tnKS1hFo2_9yl2aE.cache +1 -0
  308. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Zq/Zquw2M-7NNfz7rh7Jkhwl_hs1F5KCIZgYIFuFnIzzPk.cache +0 -0
  309. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Zx/ZXwMKJCxAs9EyFEqOZyv6I99005NOA8_3WDng3MdCwQ.cache +2 -0
  310. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Zx/ZxpGDkMCg6gIc0MfSveETCXhTNKI53YQEaQUcyl_2EA.cache +1 -0
  311. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Zx/ZxwA2pvq4n-TIy814YK2rQS0-IB6_vvQobbTMR0oqEM.cache +0 -0
  312. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Zx/zX-xzV_5aVvijErtm0IoQrcn8mZ1Q5LAhrfEY4TArVY.cache +0 -0
  313. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_7/_7cA5uri811DWo4zZEHjdBz59J1f3lYGR05OmNMWKtA.cache +2 -0
  314. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_E/_EctLkA7v7UMKvnhjk00wFXI_gkM0vF1TUoDtaq2EZc.cache +0 -0
  315. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_H/_HfXlHE5q-d_gL-SRmZM8HFSWg5XAhBvg7qgYKbYvG0.cache +2 -0
  316. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_L/_Lo-zPqiGmcXBD0G_WHoa8Un-E0FtMAXHUYOE6EpGcc.cache +1 -0
  317. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_p/_p5lKXFUSNppn9Vg06wX0MbxhaZ_ophplX5vWO90fcA.cache +0 -0
  318. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/a6/a67sTMk07FTe5arQV1VYQ24KWJ4UZ7nTEB8IgPZeSsE.cache +1 -0
  319. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/aA/AAj40vayqTmU9INXGiSdjt90nLaIgvzvYLaj9SCYEu4.cache +2 -0
  320. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/aA/aAuyitASf8u79UaQft3NsGkBwMtWB0LlhWSC-oALj9k.cache +2 -0
  321. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/aK/AKG5rQHmcrlCm4M14-UM2WTpG7OTssW_ouVCXUjBgaM.cache +0 -0
  322. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/aK/aKEc5B4kxsGhpooDo_cuBsrkSsezll14bw7yLRL3Hys.cache +0 -0
  323. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/aN/aNozYALF44SDhpZpWhHDtR43MInv7lVI1e1QUqY9f8k.cache +0 -0
  324. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/aj/aJWHtb8b-BbU1TYJweQtBkGFq7A_lwARzgkEbjB1vP4.cache +0 -0
  325. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/aj/ajbNsPAO4n2HIPTeThz8R203vz546aq1teDXvbiGUd0.cache +1 -0
  326. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/at/atLNo-2fG7_OVu9hiMEb413EJ5vGVCgiGO9GNu3NpDQ.cache +1 -0
  327. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/b1/b1Pnuran8AmespL1vb0_MrpzVTczU9EbUcWFXl2POOA.cache +2 -0
  328. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/b6/b6PC4ylblb5OXyT24zxboLDihngSzl9QC6qsG_4zgAs.cache +1 -0
  329. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/b7/b7IdcEm3D-ZyvzC7woN4_oQG8s9ZYxmwA0_leK6TH3g.cache +2 -0
  330. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/b8/b8-_Fvx29QihIzL75P8-SgDuYcO0Wh1NLP_SzwQE9sc.cache +3 -0
  331. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/b9/b9ktU0uU-vcq3Ig4eKlottKAvafyuc9p64_raWgU8EU.cache +1 -0
  332. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bG/bGy81vqTaEMOUqlJoxRtH0VJj9WLR3s7Fuq8oLDoeLM.cache +1 -0
  333. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bO/bOEil9F5kc-aoazNEqV9c9FBGVNzgjesyE-D8oT1QEs.cache +1 -0
  334. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bb/BBlxN9ZSFkFkQDXDdlmqEoDQZedGneYSU-PfIPUCg04.cache +1 -0
  335. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bb/Bbo8KYCeQRqLyz0k6NC2CBSTY1cdgX9IDZuTpGu5Ab8.cache +2 -0
  336. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bb/bbVXed9V2zR4tCJSa3BDrXDhLXfQlRbGweuWOBf1Yg4.cache +1 -0
  337. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bq/bqOv8JFNB1pglndk5OP6Q15rwVXtCcBOiQrc7UDGq7Q.cache +2 -0
  338. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/c4/c4mXgEGuiTTIbrcuC9R62R88GGZxR2MY7fnm6_Lh8hY.cache +2 -0
  339. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/c5/c5IARIjcX1WtLKM1DkBD0DaVoQNUgCaLQP-N3ul3g4g.cache +2 -0
  340. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/c7/c7IMdP9mvjmqJ2VOoh4xNuA0Zq_PlcH0cxHIcCkJeKs.cache +1 -0
  341. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/cA/cAIabk7u3ab4hZM7mys9ZWohoweTT9RHWofU0j_lRk4.cache +1 -0
  342. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/cE/cEUprtb2nMhhzlYxdp_hw2kisup3BCm-hAKWF21Whdc.cache +0 -0
  343. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/cU/cUl59IIALnjO43Ee8IwoFXUWS3_nzY2L550OVOGyZrA.cache +1 -0
  344. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/cZ/cZeEdwWNQHxKTUUcj21dcpObKW0e3kXNw7v68OEo45U.cache +0 -0
  345. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/cj/cjpKTBCb00-jq6B1KoFGJrP4kvsl8JACc_pqZAORMlM.cache +3 -0
  346. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/cv/cv-r2iefQkpge0QozgMPA5wqXBBodoND50i7eQ9fwI8.cache +1 -0
  347. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dB/DBrDvXHqk905RiSXseQLU6K3UGj7JhDZ6GN9lJIUBJU.cache +1 -0
  348. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dB/dBRlWAfExis3BBGfTdzgWdIZydg06cnf4XhGAcw45lc.cache +1 -0
  349. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dR/dRdg4BtRa_b-HQcAOmoeBVGTbkZ8AP_IhHMJlfmmz34.cache +2 -0
  350. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dp/dpOGrkMkUXtmW7IKQukLhjY3YXnXbEziWe4e00OGgz8.cache +1 -0
  351. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dz/DZs-H4H4zjb6bb9uQ6w-RKBcPoqGWZVavWY332VhjH0.cache +3 -0
  352. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dz/dzlTKnP5b8eiAUVAAAxVrYWXo5ZlFPjWLrE_k6b_e5Y.cache +1 -0
  353. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/e5/e5xk0UQln8jkEM2_0YXVpkGF8nAkR6pbb_MrWnaqJ88.cache +1 -0
  354. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/eN/eNd-2eExMRmuIivXYrW81nJJDpPd3E7tioNGGb18EEc.cache +0 -0
  355. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ef/efZ0yapgVXg72OmOO2DMakUnuCrHCkZDWMeehBj1B2E.cache +0 -0
  356. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ei/ei6L4IlNdDsBqaV1qZ2SZV0i5BuG--T7OQ7FYqToGAE.cache +0 -0
  357. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ei/eisRLxMCQD_ZibF4aqmsVNzU0DPloMeYxKmZxJsP2IE.cache +1 -0
  358. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ej/EjSwFylaexHt-1Ndey-vsVAgYakb9teM_HEeXAUwQAY.cache +1 -0
  359. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ej/ejAwCGxEW0r28IQ-jeERDko0y6erkPnknMyAhcDFyLw.cache +5 -0
  360. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/fh/fh-ungN-aPOy69v51nmz2QiAdaqY-KrZnIlNrwqsjTw.cache +0 -0
  361. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/g6/g68KTUN3op_z8CbTdGTO7Pv7D85M6ORunXHBzEie7xk.cache +2 -0
  362. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/g6/g6urIlRb660WOMxBEBKGc4de0zXKOZJbRHpDQDjNTM4.cache +0 -0
  363. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/g7/g7Hco_O7bW9oIwIG92j-huLs29lW86B-nKybz3y0Cq4.cache +0 -0
  364. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gB/gBZ0_G9QN2Y8CoddkunwvCHYt6sEcdNEySuwZzAKdyk.cache +1 -0
  365. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gE/gEvyGOmyfgQzXdDCOi4gOogc-QAdOJCRep9kAbmcZ-8.cache +0 -0
  366. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gI/gICTZIGRs8FZGYORlNn788tq-W_wdlixHn2oZAd_wR4.cache +0 -0
  367. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gJ/gJwrv6V5DrouFqc3f9jNYo7hK-KdyfLAYaYlvZo-s6M.cache +0 -0
  368. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gO/gOkrGSqNd3eKrcph6rJclu6RYRaKLJ-IXic6Xlt6hK8.cache +1 -0
  369. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gV/gV-B81aZ1ZWfu-sfbXSnZ6_CaaBD5Le9kUcem4Fy-V4.cache +1 -0
  370. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gh/ghMyC2fIlPNtegfi79Bsqo-KkngAt8-wwaUOK3T4FFs.cache +1 -0
  371. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gl/gl7XYkJ7fDAkvxvHEOsZl_Cj7v8o7DggzvXBE_7Z1Eo.cache +0 -0
  372. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gl/glrgYBfBJwg7YKDXJYBdIzdljMKp80LYv7Ypqa9Wk6M.cache +0 -0
  373. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gx/GxD4doOPBM6IlZR3_nR2eC55aj1Xi0qT6YHwyl_-q1o.cache +0 -0
  374. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gx/gxC5rcuPhLBvvCA3WB-MilD2l5G-rGsBKe4cvnqovaI.cache +0 -0
  375. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gy/gy99K5YOJ9vz980GZiO0BXastkirDKTUwmmqdcnDxN8.cache +2 -0
  376. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/h2/h2mpQYBL4euf9-tRttiVvJnogNYijb4cwuS6K9brS8M.cache +0 -0
  377. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hA/hAKzpPw6BQbeyAY1m4G1NGz5Cscxv2_-Ej0q0YWsIKg.cache +2 -0
  378. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hn/hnn-5uFJwR2BYhzDflOX6TRxODY0SIAFnRWYAvSTANM.cache +1 -0
  379. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hp/HPx_t5dFYsKy3XVkPyNAU2DiV4aUuC_4F2XyPZTZM4k.cache +1 -0
  380. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hp/hpD56r_pzDdiZjyBp1JU95oYMB7Ws8Sxbs44aY_yCOs.cache +1 -0
  381. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hr/hrrrTX-tKd50UhI0Bx9xF20rThgsoSN0iHYCzHQDiQ4.cache +1 -0
  382. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hu/huAjXPsW29KX6B5XN84TRh4C877v-0TZy0DxmxsJr8A.cache +1 -0
  383. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/i0/I0UxOQnZN-Z-Lo2OeOSqx3e_78gN6d92HPaTQwiJoqc.cache +1 -0
  384. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/i0/i0lAorTO9xDEqHwSUGywg3rj3AYkxh7GoXZJ7_no-nU.cache +1 -0
  385. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/i6/i6pfxPcKqDlUfADDXmdO07eC1gYmHx3q-sAqNtjCtas.cache +0 -0
  386. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/iC/iCLdByxgQI53vVPobTKhLSi3EeNEd4ucasZnwzAyKvM.cache +0 -0
  387. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ia/ia45HQRY_cFF45sjgec_xPLe9GJN-TuZHJgUZGR5oEY.cache +1 -0
  388. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ia/iaZzXhrZ6T-sfwxD_0Mf1sVg-7LYGgY8t_hYNN8AuBI.cache +2 -0
  389. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ie/iefmJkekTySaaL5jSDr26A3VlC_dK-sSRTwMFdL1rzE.cache +0 -0
  390. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ie/iemkkuyfc4kD_MEgnQv6_T2zwymPNT05UfMMGAkoQWA.cache +1 -0
  391. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/if/ifq0IyfOjLpL23zh1bbNlynjpp1Rnx_2Va-EO1RkQsA.cache +0 -0
  392. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/iv/ivMm1i9AuBGq8gRZBqKCTUmrmjeEwg0A1NGsRUi3BHk.cache +2 -0
  393. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/iw/iwcatISpepRo5DNt21nHXwRpQ-EzTC4YbSSXdx7wwic.cache +1 -0
  394. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/jW/jWeUNOv8qfCZpxMOaDYUtWxxnaI_dfh-uSY59sxG-tM.cache +0 -0
  395. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/k1/k1-wq8c-qR1CmXP9OJDOz4pHwzjiZ4T4EMW-BeQnvc8.cache +0 -0
  396. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/kM/kMCsi4pyWRrrHLMf7INhTFLzY3aE3ymoqh9RCH8x1iQ.cache +1 -0
  397. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/kR/kR0r6mv7yGA1sklIYHL0QKdDwcYwi63ymEQDXqnah08.cache +1 -0
  398. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ka/kalEMNTZrYudT1dKYOmXJdILGgu0DrJKBkQQGrSce4g.cache +0 -0
  399. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/kb/kb6r7Vl_F_OPzG1Pm3R1EmGQqgXhRMSUORtpLxVb0PU.cache +2 -0
  400. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/kb/kbGp1RTojrWz_J94tNZzB3vBnI1oelZt4VhTSIh6rMY.cache +1 -0
  401. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/kc/kcsVRW8RTaLGPG92EoQW3dEYbaq2pI4sfAgwO8edFto.cache +2 -0
  402. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/kh/khotKW8XKS2bV3uYtj1HDtW1d47WBR3llFlnqnQQbJU.cache +3 -0
  403. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ki/kigAWs0gBXi7O4HcF9uOS6U9d-MOJ4JFcfHXbx0VIGo.cache +0 -0
  404. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/kl/klS7DKcrql8L-9YJIackLoJzj0LqGWKUH0Fg7IhPom8.cache +1 -0
  405. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ky/kywMHgfkC-MI3SFsMUqWfb4GOjxdkUEmCoGu4Pw3FQo.cache +1 -0
  406. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/l7/l7tAyk4w-0_6BsGmoQUcql6Yj83waz2UPvogXrcmMhc.cache +1 -0
  407. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lB/lBQIrOIK6BYWcRyD2c5iyRMsKCAmDm8J00-TRPpTfaA.cache +3 -0
  408. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lG/lGeEa_utWfFU0iw8-pKOMuNVUsa9myZ4u61y8LHL0u0.cache +2 -0
  409. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mC/mCuSARCjnD7029f5HhQ9ri6jyalQocxTOth-7iaVL1k.cache +0 -0
  410. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mj/mjRs8nfBoCmCcJ3NeHu9RarHPcHmPZaS2nb38sOtzzA.cache +0 -0
  411. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mx/mXn__2m9pgJqD6GerxcYs0aRFvd-D1ZlhLg_hDk5b3M.cache +2 -0
  412. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mx/mxv0OHxoMbtm_CFk01jeY1XVOy7cP09AxiH2bOZs5OQ.cache +0 -0
  413. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nM/nMYepYe1QRzIvx_r-pcLF78IDiHi8ASLr3gixvq1hkk.cache +1 -0
  414. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oV/oV8A6QlsS9NuyNsTzkLaWX_CtJqcoOj4lXAwI8mUL60.cache +0 -0
  415. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oW/oW4HuwbOqvfMTvo-37ohUBZLI_MDEOQOIUjCKCisLjU.cache +0 -0
  416. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oc/oc5_PHiqSWrJyBDU8FzApbwQlrWQBOc2FHgQcSyIq3c.cache +3 -0
  417. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oo/oo6r-3rtgd8h1yMmGEvKlZGGf4ZvwzDXuIYkAB5fsHI.cache +0 -0
  418. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oq/oqizbgKCYe7Eg_uqTSWJR9tYb7eUKxjWz2AA1Tg0s2M.cache +2 -0
  419. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oy/oyadZaanf692usfxQ4mbWT2p08F2bJLRV_GJjQj6amc.cache +3 -0
  420. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/p8/P8duzpeIDM8ZsEqzCDFs-SXzLsN2nViXVishj5HJX0U.cache +1 -0
  421. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/p8/p8_2jk9UVumApHT-VDvcHSq4GbiMp_VnfphkevGFTzM.cache +0 -0
  422. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pH/pH-SLgN0A-kFYQGuP_WzjYO2D3H5cwe3etewp2TTcxA.cache +1 -0
  423. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pV/pV-FcOF6LE8nspcniEp1rEIH2QcCqyaGioCLBf-u9ZE.cache +1 -0
  424. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/q1/q1UGNwcAUml3vLJgkz2orhmPIcVTpkQ-yGP3w3T_E3E.cache +2 -0
  425. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/q8/q8AiZv_5BQ_CauJYgc8cFOv7sEtElLqZsdBtZcKqeZU.cache +0 -0
  426. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/qC/qCpNl4XbYO4ijNRWGUSvZM-MVitA1R2NCNZWlng8puw.cache +0 -0
  427. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/qM/qM14x-HAesCJBusYMmb4IImFusnCICAZO9qmFwQgB0w.cache +2 -0
  428. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/qR/qRm8oWeRSLW3KkgGALpX8UedDy3aQoWnyiUZvdj5Jt8.cache +2 -0
  429. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/qu/qugExK8oOS2t0AyGV0JcSZrnoNOpMVm0NDAUcFm1byk.cache +1 -0
  430. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/r3/r3s0_cet522mMMbBlnfp5gRATYcIAApJ9Xk29POZCbw.cache +0 -0
  431. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/r4/r4KsiBA7wwyzvB-IC5TyvTv32pi2rO37VxJt7jUX5g8.cache +2 -0
  432. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/rR/rRLz7pT7kNCL3LkcApVXPhq5AwG9TfKPoQWgrK_cmVY.cache +1 -0
  433. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/rb/rbK70BA7_ZWXe83XJGGg9HeFFyyyHS1kBLkz6krHGkI.cache +2 -0
  434. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/rs/rsjLf-Rg5tzCXao-UXHdVwqRWj3AKxO1IaNK0QyQw70.cache +1 -0
  435. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/s-/s-9gzGk7-8cpAJlfHC35VMRNGCPMonatqE18zONO3lQ.cache +0 -0
  436. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sY/sYE0zzUl-Ejo5YnxtlPSUDqF76WiwHQ7IxT-LpLG6yw.cache +0 -0
  437. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sY/sYn-k0FR-s8w4XmAata0Sjk5md9kv6gF6n-vWe5cpKE.cache +1 -0
  438. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/se/selx-Xa4GycKQMCLMKxqM8tLd6OiyXczQBzCTY6bB3I.cache +1 -0
  439. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sw/swAhe9XGxRQhSJ3KSuPhwYwjcizYEKzJRABcln_TUTE.cache +0 -0
  440. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/t4/t4AAfiL0Po7MI2x2P9qb0_HHk1lqmTDKY_S-gEVIvMM.cache +1 -0
  441. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/tO/tOos6QeI7gnwJ_MMLIrW_oNmMhcoF1ckdjdQ0mdIFro.cache +2 -0
  442. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/tR/tRRXV6u8Nl7rgAbG7ECClJuCD6GkWJChw2IoaC_sXpY.cache +1 -0
  443. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/tT/tTgLc_viAyVT0DeRJV5U8kkZySQL6ZL3hqAY9xpJZFo.cache +1 -0
  444. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/tm/tmvPWj2_p961h-MUOZalqS-SuEwUc8NQGvVPLe-RERg.cache +1 -0
  445. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/tv/tv0y70c_ruzwvnobAtY9NHU2eOQAQGnFf_u5gBAvQCs.cache +1 -0
  446. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/u9/u99MFaipsJiSNhsJumcnzx0iTYpf27IdW1SjXlhJFMQ.cache +3 -0
  447. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uB/uB_D65uwrdP01dRaxlCRbW_Dtmot1z2Xlmsy7B1vS_Y.cache +2 -0
  448. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uI/uI8rizb8BB0jhvTPyKr2tZBoXH8jmhKoS1Fm47DNTW4.cache +1 -0
  449. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uQ/uQwtR0aHZpnaZRkQ2Sf9-RMNqDyVO9qCW22OARvgyMw.cache +1 -0
  450. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ud/udL0dz2R10PjJl0ftScnIQbRlQ9HmEOxkUG0b9PUyxE.cache +1 -0
  451. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ut/UT0HJ2j0nnRbwzdkry9FHVUenxCx89PjUTAyUdF1fSk.cache +0 -0
  452. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ut/utgCFDvXuqfd2MsdN2kTKfCyCM3U711_sQU4lcvHKa4.cache +2 -0
  453. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ux/uxWGc9etWAGvHVOblO3YJe9VgmNIAdDtMT_X76DZT58.cache +2 -0
  454. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vH/vHcQBomAcYpMXpMUemqtAh0lVFzJDxZZf_hjmVEJaXM.cache +1 -0
  455. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vN/vNKyDhezqxPoCz6GWqWlHSr9zGaQGyEhz0YB6gZZPaA.cache +1 -0
  456. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vT/vTohGjpFS4FpnNQjsE_yaRLthrjMQvVZp6tDbgfLzC4.cache +0 -0
  457. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/w0/W0EAXuLivuVnjaBDOAXoE7jr7UzM8oLoRw4VL7OG2d4.cache +2 -0
  458. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/w0/w0GgpdnO99MKP4SozubYAB3OU2LOX0AzvOKwYUv4tpY.cache +2 -0
  459. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/w3/w370DWG4Ql66YD2b-wOm7YQHIbRtKHYS6E0uDQzGFrA.cache +3 -0
  460. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/w5/w576KguOnmdwdpJ13bcw63XNcoBCYNd3r5BX3pFXZPM.cache +1 -0
  461. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/w9/W9UZmNZxA4v8-dPfZVIzzom8myMBBr7SboUry2SRC1Y.cache +1 -0
  462. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/w9/W9XCe5y3icZ-fLBfWb-9zCZQuLd4REiqqmh9Hx2In_o.cache +0 -0
  463. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/w9/w9Cq3O-BxoNraGSCCAyGeONGOe6XN2xHpz3bAJHmRLo.cache +2 -0
  464. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wd/wd68jpBgJFIJZ3LWOOuU3kXtZgGE-wKu6IDGvFHYqoU.cache +1 -0
  465. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wz/wzRORn0gTMl6dQSRLAOQAOrf7PCkmxcE7Q2X81j4iQg.cache +2 -0
  466. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/x8/x8zxDaJY6bV5ekAGiW0FT08MZivrrUyKLM9mQT7Mjb8.cache +0 -0
  467. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xB/xBMD-v-c40wEzYVP6ZQBcqgTe-xSzrSqbcGK6UCjs84.cache +1 -0
  468. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xK/xK8QtiJzDuJ7KB3ZnLGK35OCa9OrYlY9Pb-5xhiXOCs.cache +0 -0
  469. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xK/xKMRFMW7shosbOU87en7ufhWVVqFBEMxtMZrwWAqzJ4.cache +1 -0
  470. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xs/xseBIAzHjrZ_lXgCVI6mkAARCCK2J4y2XIBqMl5joTg.cache +2 -0
  471. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/y7/y7LsajWYZ9bSVWvdewORrUamEcyHbu6O_8G8LB_FxIw.cache +2 -0
  472. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/y8/y8i1YT7fhros7lDE4R0jPtnkM8i_0JW9k0hI4L_JxP0.cache +2 -0
  473. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/yM/yMWuVKb1X_P96JsFOksnhEqjUHUIdhf3yBFJhskK9bw.cache +1 -0
  474. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/yV/yV5NnmuErdJ759IDpKn93Cn3kQOfjK4jtZH3wVfPSRU.cache +0 -0
  475. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/yY/YYnefvRv3oD_dH0xVOhjMtiYHIGcxxkZlOUJsKDYPjw.cache +1 -0
  476. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/yY/Yy3Ttoq8twnT0PKeAo54oTUaS338WoF4Lbm2enihq6k.cache +0 -0
  477. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/yY/yYFeyKQhlbbBhOGHRTa8XeSnJp-SmCmoTi4fS_oNKoI.cache +2 -0
  478. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ya/yalP_HI0vztvbUZWjlyjJZ6J7tTjduOAtMfqkswG1IY.cache +1 -0
  479. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/yc/ycJc6zPwhM_MrPIxjWTN4sWB_JZ7RyV0EqEsIUj5YR4.cache +1 -0
  480. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/yh/yhEpj8VHJhi1tjLj21Q3YS3XbT9lvz3xb4ZQEoIfzl4.cache +1 -0
  481. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/yq/yqawWeyJ-EqlxQF9tIL8Wbhku4GcObDlHQwWT1HRA2A.cache +1 -0
  482. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/z3/z3IYw5gQSx4k3XU51rdlZP7YTlJRmW98i8g6JsaCZhQ.cache +0 -0
  483. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zM/zM6ZURhfOTaXUMJQWuULq2cXuOOwURYRAOGH5teIPd4.cache +1 -0
  484. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zV/zVx5gPtV6xu1C8GkiV7gJvSYNGouD9fCMhG3Lfla3lw.cache +1 -0
  485. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zh/zh2IEdLHDjFiyXGqvGmvdDrqQQpwhHfY5syUP7AsqdI.cache +0 -0
  486. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zr/zrTiSbHw8b2hVnf52n-9SXfMeRtiQc6GnCl0D8h9osA.cache +0 -0
  487. data/spec/factories.rb +20 -0
  488. data/spec/features/view_helper_spec.rb +61 -0
  489. data/spec/rails_helper.rb +62 -0
  490. data/spec/spec_helper.rb +96 -0
  491. data/spec/support/factory_bot.rb +3 -0
  492. metadata +678 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 9e5f39dc292991ab5e58896ed58a58508704ad3e331c05e78c86f76672e0c433
4
+ data.tar.gz: 67135d2f013b252664e3720f50f46be6994665fca98bd5e0a61c060e7ca9d93b
5
+ SHA512:
6
+ metadata.gz: e458459ac8311cfbe77f2f1e73e2316ecd2d3dc8a1e8cde71f860aa0cb3048ec4039dfe308dfb836778f2c2cbb048814ea2304a01b8120e5a6be0f89adb58ddf
7
+ data.tar.gz: d283fe9a05b9854f2e58657dd5ac78e6ebccb3a5308f7a81903a845ea0ba63ffcfd59489efe34cefa5c8bbbcc6ffd159a87d2ed8383b47c46a2e65bb408125c3
@@ -0,0 +1,20 @@
1
+ Copyright 2018 Nikolay Lipovtsev
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,251 @@
1
+ # DynamicNestedForms
2
+
3
+ Dynamic Nested Forms with autocomplete and using jQuery.
4
+ Gem helps to make the simple dynamic control of multiple nested forms in Ruby on Rails application.
5
+ - Search for related objects using [jQuery UI Autocomplete](https://jqueryui.com/autocomplete).
6
+ - Easy to add sub-objects directly to a form to create or update the main object.
7
+ - Full management of the nested form.
8
+
9
+ ![Dynamic Nested Forms screenshot](https://user-images.githubusercontent.com/5441376/39106736-62ec2eae-46c6-11e8-867c-94a8e311f7c2.gif)
10
+
11
+ ## Installation
12
+
13
+ Dynamic Nested Forms works with Rails 5.0 onwards
14
+ Add this line to your application's Gemfile:
15
+
16
+ ```ruby
17
+ gem "dynamic_nested_forms"
18
+ ```
19
+
20
+ And then execute:
21
+ ```bash
22
+ $ bundle install
23
+ ```
24
+
25
+ Or install it yourself as:
26
+ ```bash
27
+ $ gem install dynamic_nested_forms
28
+ ```
29
+
30
+ ## Usage
31
+
32
+ ### Configuring Assets
33
+
34
+ Because Dynamic Nested Forms using [jQuery UI Autocomplete](https://jqueryui.com/autocomplete) and internal methods of gem, so add to application.js
35
+
36
+ app/assets/javascripts/application.js
37
+ ```javascript
38
+ //= require jquery
39
+ //= require jquery-ui
40
+ //= require dynamic_nested_forms
41
+ ```
42
+
43
+ If you want to include default styles [jQuery UI Autocomplete](https://jqueryui.com/autocomplete), add in application.css
44
+
45
+ app/assets/stylesheets/application.css
46
+ ```css
47
+ *= require jquery-ui
48
+ ```
49
+
50
+ ### Configuring Models
51
+
52
+ Create related models using standard methods Rails
53
+
54
+ app/models/patient.rb
55
+ ```ruby
56
+ class Patient < ApplicationRecord
57
+ has_many :appointments
58
+ has_many :physicians, through: :appointments
59
+ accepts_nested_attributes_for :appointments, allow_destroy: true
60
+ accepts_nested_attributes_for :physicians
61
+ end
62
+ ```
63
+
64
+ app/models/physician.rb
65
+ ```ruby
66
+ class Physician < ApplicationRecord
67
+ has_many :appointments
68
+ has_many :patients, through: :appointments
69
+ end
70
+ ```
71
+
72
+ app/models/appointment.rb
73
+ ```ruby
74
+ class Appointment < ApplicationRecord
75
+ belongs_to :patient
76
+ belongs_to :physician
77
+ end
78
+ ```
79
+
80
+ ### Configuring Controllers
81
+
82
+ Create contrller for main model and additional controller relationship model
83
+
84
+ app/controllers/patients_controller.rb
85
+ ```ruby
86
+ class PatientsController < ApplicationController
87
+ ...
88
+ # GET /patients/new
89
+ def new
90
+ @patient = Patient.new
91
+ end
92
+
93
+ # GET /patients/1/edit
94
+ def edit
95
+ end
96
+
97
+ # POST /patients
98
+ def create
99
+ @patient = Patient.new(patient_params)
100
+
101
+ if @patient.save
102
+ redirect_to @patient, notice: 'Patient was successfully created.'
103
+ else
104
+ render :new
105
+ end
106
+ end
107
+
108
+ # PATCH/PUT /patients/1
109
+ def update
110
+ if @patient.update(patient_params)
111
+ redirect_to @patient, notice: 'Patient was successfully updated.'
112
+ else
113
+ render :edit
114
+ end
115
+ end
116
+ ...
117
+ end
118
+ ```
119
+
120
+ In additional controller add index action. This will generate collections with searched objects.
121
+ - `params[:term]` - Param with insert chars to autocomplete_to_add_item in view.
122
+ - `params[:added_obj]` - Optional. This param help you to save only unique nested objects.
123
+
124
+ app/controllers/appointments_controller.rb
125
+ ```ruby
126
+ class AppointmentsController < ApplicationController
127
+ def index
128
+ @appointments = Physician.where("name LIKE ?", "%#{params[:term]}%")
129
+ render json: @appointments.map { |u| { value: u.id, label: u.name, content: u.name }}
130
+ end
131
+ end
132
+ ```
133
+
134
+ ### Strong Parameters
135
+
136
+ Don't forget to include the attributes of the associated model into the controller of the main model.
137
+
138
+ app/controllers/patients_controller.rb
139
+ ```ruby
140
+ class PatientsController < ApplicationController
141
+ ...
142
+ def patient_params
143
+ params.require(:patient).permit(:name, appointments_attributes: [:id, :patient_id, :physician_id, :_destroy])
144
+ end
145
+ ...
146
+ end
147
+ ```
148
+
149
+ ### Configuring Routes
150
+
151
+ All three controller Teams, Users, and TeamUsers should be included in the file routes.rb
152
+
153
+ config/routes.rb
154
+ ```ruby
155
+ Rails.application.routes.draw do
156
+
157
+ resources :patients
158
+ resources :physicians
159
+ end
160
+ ```
161
+
162
+ ### Configuring Views
163
+
164
+ Add helper `autocomplete_to_add_item` to enable the search for objects of the associated model and add them as nested form in a main form
165
+
166
+ ```ruby
167
+ autocomplete_to_add_item(name, f, association, source, options = {})
168
+ ```
169
+
170
+ source - The URL the value from search_to_add_fields to be searched.
171
+
172
+ app/views/patients/_form.html.erb
173
+ ```erb
174
+ <%= form_with(model: patient, local: true) do |form| %>
175
+ <div class="field nested-container">
176
+ <%= form.label "Appointments" %>
177
+ <%= autocomplete_to_add_item "autocomplete_appointment", form, :appointments, appointments_index_path %>
178
+ <div class="nested-items">
179
+ <%= form.fields_for :appointments, @appointments do |appointment_f| %>
180
+ <%= render "appointment_item", f: appointment_f %>
181
+ <% end %>
182
+ </div>
183
+ </div>
184
+ <% end %>
185
+ ```
186
+
187
+ app/views/patients/_appointment_item.html.erb
188
+ ```erb
189
+ <div class="nested-item">
190
+ <div class="nested-content">
191
+ <% if f.object.physician %>
192
+ <%= f.object.physician.name %>
193
+ <% end %>
194
+ </div>
195
+ <%= f.hidden_field :physician_id, class: "nested-value" %>
196
+ <%= f.hidden_field :_destroy %>
197
+ <%= link_to_remove_item %>
198
+ </div>
199
+ ```
200
+
201
+ ### Sylize
202
+
203
+ You can add you class to autocomplete form
204
+
205
+ app/views/patients/_form.html.erb
206
+ ```erb
207
+ <%= autocomplete_to_add_item "autocomplete_appointment", form, :appointments, appointments_index_path, class: "my-class" %>
208
+ ```
209
+
210
+ ... or to link_to_remove_item
211
+
212
+ app/views/patients/_appointment_item.html.erb
213
+ ```erb
214
+ <%= link_to_remove_item "Remove", class: "my-class" %>
215
+ ```
216
+
217
+ Rename default link_to_remove_item
218
+
219
+ app/views/patients/_appointment_item.html.erb
220
+ ```erb
221
+ <%= link_to_remove_item "Delete appointment" %>
222
+ ```
223
+
224
+ ... or add icon or special char to link_to_remove_item
225
+
226
+ app/views/patients/_appointment_item.html.erb
227
+ ```erb
228
+ <%= link_to_remove_item "&times;".html_safe %>
229
+ ```
230
+
231
+ ### If you need only unique objects
232
+
233
+ In additional controller add option `params[:added_obj]`. This will generate collections with searched unique objects.
234
+
235
+ app/controllers/appointments_controller.rb
236
+ ```ruby
237
+ class AppointmentsController < ApplicationController
238
+ def index
239
+ @appointments = Physician.where("name LIKE ?", "%#{params[:term]}%").where.not(id: params[:added_obj])
240
+ render json: @appointments.map { |u| { value: u.id, label: u.name, content: u.name }}
241
+ end
242
+ end
243
+ ```
244
+
245
+ ## Contributing
246
+
247
+ [Fork the project](https://help.github.com/articles/fork-a-repo/) and send a [pull request](https://help.github.com/articles/about-pull-requests/) or add an [Issue on GitHub](https://github.com/reformgroup/dynamic_nested_forms/issues)
248
+
249
+ ## License
250
+
251
+ The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
@@ -0,0 +1,23 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+
9
+ RDoc::Task.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'DynamicNestedForms'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.md')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ end
16
+
17
+
18
+
19
+
20
+
21
+
22
+ require 'bundler/gem_tasks'
23
+
@@ -0,0 +1,65 @@
1
+ (function($){
2
+ var createNewId, elCounter;
3
+ elCounter = 0;
4
+
5
+ createNewId = function() {
6
+ return new Date().getTime() + elCounter++;
7
+ };
8
+
9
+ $(document).on('click', '.remove-item', function(e) {
10
+ e.preventDefault();
11
+ $(this).prev('input[type=hidden]').val('1');
12
+ $(this).closest('.nested-item').hide();
13
+ });
14
+
15
+ $(function() {
16
+ $('.autocomplete').each(function() {
17
+ var $this = $(this),
18
+ nestedContainer = $this.parents('.nested-container');
19
+
20
+ $this.autocomplete({
21
+ source: function(request, response) {
22
+ var addedObj = [];
23
+
24
+ // Insert added objects to array
25
+ nestedContainer.find('.nested-item:visible .nested-value').each(function () {
26
+ addedObj.push($(this).val());
27
+ });
28
+
29
+ $.ajax({
30
+ url: $this.data('source'),
31
+ dataType: 'json',
32
+ data: {
33
+ term: request.term,
34
+ added_obj: addedObj
35
+ },
36
+ success: function(data) {
37
+ response(data);
38
+ }
39
+ });
40
+ },
41
+ minLength: parseInt($(this).data('min-length')) || 1,
42
+ focus: function(e, ui) {
43
+ e.preventDefault();
44
+ $this.val(ui.item.label);
45
+ },
46
+ select: function(e, ui) {
47
+ var keepAfterSelect = (String($this.data('keep-after-select')).toLowerCase() == 'true'),
48
+ newId = createNewId(),
49
+ idRegexp = new RegExp($this.data('id'), 'g'),
50
+ content = $.parseHTML( $this.data('item').replace(idRegexp, newId) );
51
+
52
+ e.preventDefault();
53
+
54
+ if (!keepAfterSelect) {
55
+ $this.val('');
56
+ };
57
+
58
+ $('.nested-content', content).text(ui.item.content);
59
+ $('.nested-value', content).val(ui.item.value);
60
+ $('.nested-items').prepend(content);
61
+ }
62
+ });
63
+ });
64
+ });
65
+ })(jQuery);
@@ -0,0 +1,4 @@
1
+ require "dynamic_nested_forms/engine" if defined?(Rails)
2
+
3
+ module DynamicNestedForms
4
+ end
@@ -0,0 +1,19 @@
1
+ module DynamicNestedForms
2
+ class Engine < Rails::Engine
3
+ isolate_namespace DynamicNestedForms
4
+
5
+ config.generators do |g|
6
+ g.test_framework :rspec
7
+ end
8
+
9
+ # configure our plugin on boot
10
+ initializer 'dynamic_nested_forms' do
11
+ ActiveSupport.on_load(:action_view) do
12
+ require "dynamic_nested_forms/view_helpers"
13
+ class ActionView::Base
14
+ include DynamicNestedForms::ViewHelpers
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,3 @@
1
+ module DynamicNestedForms
2
+ VERSION = '0.1.0'
3
+ end
@@ -0,0 +1,44 @@
1
+ module DynamicNestedForms
2
+ module ViewHelpers
3
+ # .nested-container
4
+ # .nested-autocomplete
5
+ # .nested-items
6
+ # .nested-item
7
+ # .nested-content
8
+ # .nested-value
9
+ # .remove-item
10
+ def autocomplete_to_add_item(name, f, association, source, options = {})
11
+ new_object = f.object.send(association).klass.new
12
+ options[:class] = ["autocomplete add-item", options[:class]].compact.join " "
13
+ options[:data] ||= {}
14
+ options[:data][:id] = new_object.object_id
15
+ options[:data][:source] = source
16
+ options[:data][:item] = f.fields_for(association, new_object, child_index: options[:data][:id]) do |builder|
17
+ render(association.to_s.singularize + "_item", f: builder).gsub "\n", ""
18
+ end
19
+
20
+ text_field_tag "autocomplete_nested_content", nil, options
21
+ end
22
+
23
+ # def link_to_add_item(name, f, association, options = {})
24
+ # options = data_attr name, f, association, options
25
+ # link_to name, "#", options
26
+ # end
27
+ #
28
+ # def data_attr(name, f, association, options = {})
29
+ # new_object = f.object.send(association).klass.new
30
+ # options[:class] = ["add-item", options[:class]].compact.join " "
31
+ # options[:id] = new_object.object_id
32
+ # options[:item] = f.fields_for(association, new_object, child_index: options[:id]) do |builder|
33
+ # render(association.to_s.singularize + "_item", f: builder).gsub "\n", ""
34
+ # end
35
+ # options
36
+ # end
37
+
38
+ def link_to_remove_item(name = nil, options = {})
39
+ name ||= "Remove"
40
+ options[:class] = ["remove-item", options[:class]].compact.join " "
41
+ link_to name, "#", options
42
+ end
43
+ end
44
+ end