koalagator 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (832) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +5 -5
  3. data/app/controllers/calagator/admin_controller.rb +3 -2
  4. data/app/controllers/calagator/application_controller.rb +10 -9
  5. data/app/controllers/calagator/events_controller.rb +19 -18
  6. data/app/controllers/calagator/site_controller.rb +6 -5
  7. data/app/controllers/calagator/sources_controller.rb +12 -12
  8. data/app/controllers/calagator/venues_controller.rb +22 -22
  9. data/app/controllers/calagator/versions_controller.rb +4 -4
  10. data/app/helpers/calagator/application_helper.rb +8 -8
  11. data/app/helpers/calagator/events_helper.rb +20 -20
  12. data/app/helpers/calagator/google_event_export_helper.rb +6 -6
  13. data/app/helpers/calagator/mapping_helper.rb +16 -16
  14. data/app/helpers/calagator/sources_helper.rb +1 -1
  15. data/app/helpers/calagator/tags_helper.rb +6 -6
  16. data/app/helpers/calagator/time_range_helper.rb +25 -25
  17. data/app/models/calagator/event/browse.rb +9 -9
  18. data/app/models/calagator/event/ical_renderer.rb +5 -5
  19. data/app/models/calagator/event/overview.rb +1 -1
  20. data/app/models/calagator/event/saver.rb +5 -5
  21. data/app/models/calagator/event/search.rb +8 -8
  22. data/app/models/calagator/event/search_engine/apache_sunspot.rb +1 -1
  23. data/app/models/calagator/event/search_engine/sql.rb +18 -18
  24. data/app/models/calagator/event/search_engine.rb +1 -1
  25. data/app/models/calagator/event.rb +27 -27
  26. data/app/models/calagator/source/importer.rb +3 -3
  27. data/app/models/calagator/source/parser/hcal.rb +15 -15
  28. data/app/models/calagator/source/parser/ical.rb +2 -2
  29. data/app/models/calagator/source/parser.rb +10 -11
  30. data/app/models/calagator/source.rb +11 -11
  31. data/app/models/calagator/venue/geocoder.rb +4 -4
  32. data/app/models/calagator/venue/search.rb +4 -4
  33. data/app/models/calagator/venue/search_engine/apache_sunspot.rb +1 -1
  34. data/app/models/calagator/venue/search_engine/sql.rb +7 -7
  35. data/app/models/calagator/venue/search_engine.rb +1 -1
  36. data/app/models/calagator/venue.rb +17 -17
  37. data/app/observers/calagator/cache_observer.rb +4 -4
  38. data/app/views/calagator/events/index.atom.builder +7 -7
  39. data/app/views/calagator/site/opensearch.xml.builder +3 -3
  40. data/config/initializers/dates.rb +2 -2
  41. data/config/initializers/formtastic.rb +3 -3
  42. data/config/initializers/ics_renderer.rb +1 -1
  43. data/config/initializers/machine_tag_extensions.rb +24 -24
  44. data/config/initializers/mime_types.rb +3 -3
  45. data/config/initializers/paper_trail_manager.rb +1 -1
  46. data/config/initializers/recaptcha.rb +3 -3
  47. data/config/routes.rb +19 -19
  48. data/db/migrate/015_create_updates.rb +2 -2
  49. data/db/migrate/20090912082129_create_versions.rb +5 -5
  50. data/db/migrate/20110717231316_acts_as_taggable_on_migration.rb +1 -1
  51. data/db/migrate/20120709092821_cleanup.rb +1 -1
  52. data/db/migrate/20120831234448_specify_venues_latitude_and_longitude_precision.rb +2 -2
  53. data/db/migrate/20150206085809_remove_updates.rb +2 -2
  54. data/db/migrate/20150407014754_change_collation_for_tag_names.acts_as_taggable_on_engine.rb +1 -1
  55. data/db/migrate/20200327040656_add_missing_indexes_on_taggings.acts_as_taggable_on_engine.rb +3 -3
  56. data/db/seeds.rb +24 -27
  57. data/lib/calagator/denylist_validator.rb +3 -3
  58. data/lib/calagator/duplicate_checking/controller_actions.rb +2 -2
  59. data/lib/calagator/duplicate_checking/duplicate_finder.rb +7 -7
  60. data/lib/calagator/duplicate_checking/duplicate_squasher.rb +2 -2
  61. data/lib/calagator/duplicate_checking.rb +6 -6
  62. data/lib/calagator/engine.rb +2 -1
  63. data/lib/calagator/machine_tag.rb +4 -4
  64. data/lib/calagator/url_prefixer.rb +1 -1
  65. data/lib/calagator/vcalendar.rb +12 -13
  66. data/lib/calagator/version.rb +1 -1
  67. data/lib/calagator.rb +45 -46
  68. data/lib/generators/calagator/install_generator.rb +14 -14
  69. data/lib/generators/calagator/templates/config/initializers/01_calagator.rb +8 -8
  70. data/lib/generators/calagator/templates/config/initializers/02_geokit.rb +1 -1
  71. data/lib/generators/calagator/templates/config/initializers/03_recaptcha.rb +3 -3
  72. data/lib/tasks/auto_annotate_models.rake +46 -46
  73. data/lib/tasks/spec_db.rake +4 -6
  74. data/lib/tasks/sunspot_reindex_calagator.rake +8 -8
  75. data/lib/tasks/sunspot_solr_restart_enhancements.rake +8 -8
  76. data/lib/tasks/update_counter_caches.rake +1 -2
  77. data/lib/theme_reader.rb +7 -7
  78. data/lib/wait_for_solr.rb +2 -2
  79. data/rails_template.rb +15 -15
  80. metadata +21 -1511
  81. data/spec/controllers/calagator/application_controller_spec.rb +0 -71
  82. data/spec/controllers/calagator/events_controller_spec.rb +0 -785
  83. data/spec/controllers/calagator/site_controller_spec.rb +0 -59
  84. data/spec/controllers/calagator/sources_controller_spec.rb +0 -422
  85. data/spec/controllers/calagator/venues_controller_spec.rb +0 -302
  86. data/spec/controllers/calagator/versions_controller_spec.rb +0 -82
  87. data/spec/controllers/squash_many_duplicates_examples.rb +0 -51
  88. data/spec/factories.rb +0 -69
  89. data/spec/features/add_event_spec.rb +0 -108
  90. data/spec/features/add_venue_spec.rb +0 -34
  91. data/spec/features/admin_auth_spec.rb +0 -23
  92. data/spec/features/admin_lock_event_spec.rb +0 -44
  93. data/spec/features/admin_search_event_spec.rb +0 -35
  94. data/spec/features/filter_venues_spec.rb +0 -15
  95. data/spec/features/import_events_from_feed_spec.rb +0 -33
  96. data/spec/features/jsonp_output_spec.rb +0 -11
  97. data/spec/features/managing_event_spec.rb +0 -136
  98. data/spec/features/managing_venue_spec.rb +0 -98
  99. data/spec/features/recent_changes_spec.rb +0 -26
  100. data/spec/features/search_event_spec.rb +0 -33
  101. data/spec/helpers/calagator/application_helper_spec.rb +0 -48
  102. data/spec/helpers/calagator/events_helper_spec.rb +0 -172
  103. data/spec/helpers/calagator/google_event_export_helper_spec.rb +0 -69
  104. data/spec/helpers/calagator/sources_helper_spec.rb +0 -13
  105. data/spec/helpers/calagator/tags_helper_spec.rb +0 -36
  106. data/spec/helpers/calagator/time_range_helper_spec.rb +0 -59
  107. data/spec/lib/calagator/decode_html_entities_hack_spec.rb +0 -53
  108. data/spec/lib/calagator/denylist_validator_spec.rb +0 -65
  109. data/spec/lib/calagator/settings_spec.rb +0 -22
  110. data/spec/lib/calagator/url_prefixer_spec.rb +0 -33
  111. data/spec/lib/calagator/vcalendar_spec.rb +0 -66
  112. data/spec/models/calagator/event/browse_spec.rb +0 -190
  113. data/spec/models/calagator/event/cloner_spec.rb +0 -45
  114. data/spec/models/calagator/event/overview_spec.rb +0 -79
  115. data/spec/models/calagator/event/saver_spec.rb +0 -55
  116. data/spec/models/calagator/event/search_spec.rb +0 -188
  117. data/spec/models/calagator/event_search_spec.rb +0 -150
  118. data/spec/models/calagator/event_spec.rb +0 -807
  119. data/spec/models/calagator/source/parser_hcal_spec.rb +0 -69
  120. data/spec/models/calagator/source/parser_ical_spec.rb +0 -277
  121. data/spec/models/calagator/source/parser_spec.rb +0 -236
  122. data/spec/models/calagator/source_spec.rb +0 -118
  123. data/spec/models/calagator/venue/search_spec.rb +0 -119
  124. data/spec/models/calagator/venue_search_spec.rb +0 -123
  125. data/spec/models/calagator/venue_spec.rb +0 -391
  126. data/spec/models/tag_spec.rb +0 -60
  127. data/spec/rails_helper.rb +0 -41
  128. data/spec/spec_helper.rb +0 -144
  129. data/spec/support/admin_authentication.rb +0 -4
  130. data/spec/support/assert_dom_equal.rb +0 -27
  131. data/spec/support/disable_geocoding.rb +0 -3
  132. data/spec/support/http_samples.rb +0 -9
  133. data/spec/support/paper_trail.rb +0 -9
  134. data/spec/support/samples/facebook.json +0 -23
  135. data/spec/support/samples/hcal_basic.xml +0 -6
  136. data/spec/support/samples/hcal_dup_event_dup_venue.xml +0 -13
  137. data/spec/support/samples/hcal_event_duplicates_fixture.xml +0 -13
  138. data/spec/support/samples/hcal_event_wo_lat_and_long.xml +0 -14
  139. data/spec/support/samples/hcal_multiple.xml +0 -16
  140. data/spec/support/samples/hcal_same_event_twice_with_different_venues.xml +0 -12
  141. data/spec/support/samples/hcal_single.xml +0 -8
  142. data/spec/support/samples/hcal_two_identical_events.xml +0 -14
  143. data/spec/support/samples/hcal_upcoming_v1.html +0 -412
  144. data/spec/support/samples/hcal_upcoming_v2.html +0 -749
  145. data/spec/support/samples/hcal_upcoming_v3.html +0 -685
  146. data/spec/support/samples/hcal_upcoming_v4.html +0 -761
  147. data/spec/support/samples/ical_apple.ics +0 -22
  148. data/spec/support/samples/ical_apple_v3.ics +0 -37
  149. data/spec/support/samples/ical_basic.ics +0 -15
  150. data/spec/support/samples/ical_basic_with_duration.ics +0 -16
  151. data/spec/support/samples/ical_event_with_squashed_venue.ics +0 -12
  152. data/spec/support/samples/ical_eventful_many.ics +0 -504
  153. data/spec/support/samples/ical_gmt.ics +0 -12
  154. data/spec/support/samples/ical_google.ics +0 -786
  155. data/spec/support/samples/ical_multiple_calendars.ics +0 -111
  156. data/spec/support/samples/ical_upcoming.ics +0 -36
  157. data/spec/support/samples/ical_upcoming_many.ics +0 -682
  158. data/spec/support/samples/ical_upcoming_v2.ics +0 -43
  159. data/spec/support/samples/ical_z.ics +0 -10
  160. data/spec/support/samples/meetup.ics +0 -16
  161. data/spec/support/samples/meetup.json +0 -48
  162. data/spec/support/samples/upcoming_v1.xml +0 -8
  163. data/spec/support/samples/upcoming_v2_with_invalid_utc_dates.xml +0 -8
  164. data/spec/support/time_convenience_methods.rb +0 -9
  165. data/spec/support/time_zones.rb +0 -14
  166. data/spec/support/url_helpers.rb +0 -7
  167. data/spec/support/wait_for_ajax.rb +0 -17
  168. data/spec/support/webmock.rb +0 -12
  169. data/spec/test_app/Rakefile +0 -6
  170. data/spec/test_app/app/assets/config/manifest.js +0 -3
  171. data/spec/test_app/app/assets/javascripts/application.js +0 -1
  172. data/spec/test_app/app/assets/stylesheets/application.css +0 -16
  173. data/spec/test_app/app/channels/application_cable/channel.rb +0 -4
  174. data/spec/test_app/app/channels/application_cable/connection.rb +0 -4
  175. data/spec/test_app/app/controllers/application_controller.rb +0 -2
  176. data/spec/test_app/app/helpers/application_helper.rb +0 -2
  177. data/spec/test_app/app/javascript/packs/application.js +0 -15
  178. data/spec/test_app/app/jobs/application_job.rb +0 -7
  179. data/spec/test_app/app/mailers/application_mailer.rb +0 -4
  180. data/spec/test_app/app/models/application_record.rb +0 -3
  181. data/spec/test_app/app/views/layouts/application.html.erb +0 -15
  182. data/spec/test_app/app/views/layouts/mailer.html.erb +0 -13
  183. data/spec/test_app/app/views/layouts/mailer.text.erb +0 -1
  184. data/spec/test_app/bin/rails +0 -4
  185. data/spec/test_app/bin/rake +0 -4
  186. data/spec/test_app/bin/setup +0 -33
  187. data/spec/test_app/config/application.rb +0 -22
  188. data/spec/test_app/config/boot.rb +0 -5
  189. data/spec/test_app/config/cable.yml +0 -10
  190. data/spec/test_app/config/database.yml +0 -25
  191. data/spec/test_app/config/environment.rb +0 -5
  192. data/spec/test_app/config/environments/development.rb +0 -76
  193. data/spec/test_app/config/environments/production.rb +0 -120
  194. data/spec/test_app/config/environments/test.rb +0 -59
  195. data/spec/test_app/config/initializers/01_calagator.rb +0 -90
  196. data/spec/test_app/config/initializers/02_geokit.rb +0 -111
  197. data/spec/test_app/config/initializers/03_recaptcha.rb +0 -10
  198. data/spec/test_app/config/initializers/application_controller_renderer.rb +0 -8
  199. data/spec/test_app/config/initializers/assets.rb +0 -12
  200. data/spec/test_app/config/initializers/backtrace_silencers.rb +0 -8
  201. data/spec/test_app/config/initializers/content_security_policy.rb +0 -28
  202. data/spec/test_app/config/initializers/cookies_serializer.rb +0 -5
  203. data/spec/test_app/config/initializers/filter_parameter_logging.rb +0 -6
  204. data/spec/test_app/config/initializers/inflections.rb +0 -16
  205. data/spec/test_app/config/initializers/mime_types.rb +0 -4
  206. data/spec/test_app/config/initializers/permissions_policy.rb +0 -11
  207. data/spec/test_app/config/initializers/wrap_parameters.rb +0 -14
  208. data/spec/test_app/config/locales/en.yml +0 -33
  209. data/spec/test_app/config/puma.rb +0 -43
  210. data/spec/test_app/config/routes.rb +0 -3
  211. data/spec/test_app/config/storage.yml +0 -34
  212. data/spec/test_app/config.ru +0 -5
  213. data/spec/test_app/coverage/assets/0.13.1/DataTables-1.10.20/images/sort_asc.png +0 -0
  214. data/spec/test_app/coverage/assets/0.13.1/DataTables-1.10.20/images/sort_asc_disabled.png +0 -0
  215. data/spec/test_app/coverage/assets/0.13.1/DataTables-1.10.20/images/sort_both.png +0 -0
  216. data/spec/test_app/coverage/assets/0.13.1/DataTables-1.10.20/images/sort_desc.png +0 -0
  217. data/spec/test_app/coverage/assets/0.13.1/DataTables-1.10.20/images/sort_desc_disabled.png +0 -0
  218. data/spec/test_app/coverage/assets/0.13.1/application.css +0 -1
  219. data/spec/test_app/coverage/assets/0.13.1/application.js +0 -7
  220. data/spec/test_app/coverage/assets/0.13.1/colorbox/border.png +0 -0
  221. data/spec/test_app/coverage/assets/0.13.1/colorbox/controls.png +0 -0
  222. data/spec/test_app/coverage/assets/0.13.1/colorbox/loading.gif +0 -0
  223. data/spec/test_app/coverage/assets/0.13.1/colorbox/loading_background.png +0 -0
  224. data/spec/test_app/coverage/assets/0.13.1/favicon_green.png +0 -0
  225. data/spec/test_app/coverage/assets/0.13.1/favicon_red.png +0 -0
  226. data/spec/test_app/coverage/assets/0.13.1/favicon_yellow.png +0 -0
  227. data/spec/test_app/coverage/assets/0.13.1/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  228. data/spec/test_app/coverage/assets/0.13.1/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  229. data/spec/test_app/coverage/assets/0.13.1/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  230. data/spec/test_app/coverage/assets/0.13.1/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  231. data/spec/test_app/coverage/assets/0.13.1/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  232. data/spec/test_app/coverage/assets/0.13.1/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  233. data/spec/test_app/coverage/assets/0.13.1/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  234. data/spec/test_app/coverage/assets/0.13.1/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  235. data/spec/test_app/coverage/assets/0.13.1/images/ui-icons_222222_256x240.png +0 -0
  236. data/spec/test_app/coverage/assets/0.13.1/images/ui-icons_2e83ff_256x240.png +0 -0
  237. data/spec/test_app/coverage/assets/0.13.1/images/ui-icons_454545_256x240.png +0 -0
  238. data/spec/test_app/coverage/assets/0.13.1/images/ui-icons_888888_256x240.png +0 -0
  239. data/spec/test_app/coverage/assets/0.13.1/images/ui-icons_cd0a0a_256x240.png +0 -0
  240. data/spec/test_app/coverage/assets/0.13.1/loading.gif +0 -0
  241. data/spec/test_app/coverage/assets/0.13.1/magnify.png +0 -0
  242. data/spec/test_app/coverage/index.html +0 -941
  243. data/spec/test_app/db/development.sqlite3 +0 -0
  244. data/spec/test_app/db/schema.rb +0 -100
  245. data/spec/test_app/db/seeds.rb +0 -1
  246. data/spec/test_app/db/test.sqlite3 +0 -0
  247. data/spec/test_app/log/development.log +0 -3391
  248. data/spec/test_app/log/test.log +0 -17258
  249. data/spec/test_app/public/404.html +0 -67
  250. data/spec/test_app/public/422.html +0 -67
  251. data/spec/test_app/public/500.html +0 -66
  252. data/spec/test_app/public/apple-touch-icon-precomposed.png +0 -0
  253. data/spec/test_app/public/apple-touch-icon.png +0 -0
  254. data/spec/test_app/public/favicon.ico +0 -0
  255. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/-7/-7XJAKB05aTb9D7M4-wKdufeweGLquMgwfcxMWTwc_o.cache +0 -1
  256. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/-7/-7fwibfPlSku561tAYl3ncQPhPqyAgS8UIjm3vTx4wM.cache +0 -1
  257. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/-C/-Ch1USFaa9gSzMV1wrRlLR2YMVIEkoOwDS5RpwjLAps.cache +0 -1
  258. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/-T/-TTr6KqD-ujGn2RSF9P09kWDS6EurDUMcK2F-oUAbJQ.cache +0 -0
  259. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/-i/-iKizRHK2nAAXCBcxnbMk2old-RydbtWvKSKk_KbiDs.cache +0 -1
  260. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/-v/-vy9jMe2paDmfsO-pP316MgJPuoPMgXlhFaIHKOZJ1k.cache +0 -4
  261. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/-w/-wz0QB7RNWfommpFHx6Yx0NMgaicnGwjeVwf2OXCUzA.cache +0 -0
  262. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/-z/-zg9cM2m64rO-UuXRBIdr_b6LodH5F7xSquc9k67UUs.cache +0 -1
  263. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/0-/0-fJLnKYs-6s-v-idUJYpglI2q26SYJUDfuSfy91Adg.cache +0 -3
  264. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/07/07XJ-s3aRtPGjnLJy8fR5nrMz8L00xC2iV4Plw0QuoQ.cache +0 -1
  265. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/0B/0B31y_mvgreoKh-rWXaFOu1z4vxqIVtG-MjQuvtnkMg.cache +0 -4
  266. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/0B/0bTu2Ggv55bWmayxHvdD48DHU5WQyyR_xynL16-gBLk.cache +0 -3
  267. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/0J/0JhoQTVMxFIb7QLtDjxey8HOvr9MaD2K8pthPL7d3_8.cache +0 -0
  268. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/0g/0gyL3qjzBkYv6AjwNjzj5fSt89vFLBBPCY3PwwWJtNs.cache +0 -1
  269. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/0t/0tOntD7ttQjtVPVEWWOluYNl5w6xWylA3zmeype08WQ.cache +0 -0
  270. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/0v/0vYFj2UuEi_8AfUTggQbFraiO-JzvkKMRuU1hgmnRfk.cache +0 -0
  271. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/0y/0yqDyDMMG4DNqbYiwi7h3fp4hCMpXVwU4bOGyRWo_VM.cache +0 -1
  272. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/13/13y38Az3BLMjbhBDIh_TPmaWP1cEpi8shcRvO8mXtxc.cache +0 -3
  273. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/1K/1KoCH3tq39tH477ewqaB3XZolH7tUA_tqsL9Z30XxPQ.cache +0 -1
  274. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/1L/1LG4Sx1dR46BZo9C-5sFSBew2pcV5CXHw3YF_y5ySmk.cache +0 -1
  275. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/1P/1PvHPkanwXX-E6w_3XqVMCtdPvKQMzLlMMIjnbb624g.cache +0 -1
  276. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/1Q/1QJn4jg8_tZLAsAadtdtIPJmb_BYM0klc7Yk6a08-ZE.cache +0 -0
  277. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/1U/1UIF81nlAwTTM97bs-UybWTfLy4m2VhoiAw7LIbgSOg.cache +0 -3
  278. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/1U/1UN6zRxUdzxAjmQzSsffhTQE7EhtX3DmJk6UpqJhzc4.cache +0 -2
  279. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/1W/1WiBu3EjDDw9ZFqFPzgA4qscqxnl77yj6I7Jhn6k7Ww.cache +0 -1
  280. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/1Y/1YI9uXuEkXhH5CuziXWu9qbmXJ8DhhdPIL4Ez6rVRtA.cache +0 -1
  281. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/1Y/1YaDfZipLpEhtiKjv5TKne-EW2HSDKgf9bWwujMh1_s.cache +0 -3
  282. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/1Y/1y0XgMkKSRMA0scGbO1b3Gd8MSIrqm5deEXya3z-EWw.cache +0 -1
  283. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/1b/1bb0e7iaTnNG0E4GRYziciIXBaCz8R78vuyjfHVmgnA.cache +0 -1
  284. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/1t/1tp9ezn37wq8rrY5SRwKRcNQT7J2KJJvKuiJ27ZYr1U.cache +0 -0
  285. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/1t/1tx3jVnsLwoFl251XOX7sf27re7RvLPGPBnQc6QdKJo.cache +0 -1
  286. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/22/22-ajlQVk4XBZ4IKqyugmEZ5i2ytaDL6GAMyROeZGN0.cache +0 -1
  287. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/23/237D6jMFFBcznPVCy-X3ivMbtOJipbpNDV1KMFrKD2k.cache +0 -3
  288. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/23/23myBMb2V6pI6SG61PRLM8TBd3nmlE_6CL64NUNNPIU.cache +0 -1
  289. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/27/27657jm06dbQ5wwcV_dilpgRNsRcU6u3NQgOyJDSSl4.cache +0 -3
  290. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/27/27oVvVcXKObtiDyloVl1NtVbIxa6fg8t8wXiGXIPN1g.cache +0 -0
  291. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/2A/2AzIMxo_KkKSMtefA-0hH6Vk39HV0EPXEo1z19a-aZE.cache +0 -0
  292. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/2N/2NpTM98gP2IoDvfdYiq-05O8Wr2_GcMnZchLYWWluVM.cache +0 -1
  293. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/2e/2eyu5FWVlXMGU-A2Ynx-wjFreBSeWffYYp0K7gshSvo.cache +0 -3
  294. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/2h/2Hl12w3l4rXm6ou4lFclUfRLBoDC3JhABIOmIjDxHyg.cache +0 -3
  295. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/2h/2h43eQmDICnVMkiAl7jqBeqbEH4jGBB8dIljmsW06yU.cache +0 -1
  296. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/2m/2mbcL-8QjmdZTEws9Okw2Zm4SjUB0tMaXFnqxz8ojQg.cache +0 -1
  297. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/2u/2uaqew9gc8DiLqry-XPyUkB3ByA6saJArocMkDnkd74.cache +0 -1
  298. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/30/30xfJCcL0sQXTxMQHtPkYVWnEWjHxRJYJ3_G1ljboZ8.cache +0 -3
  299. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/34/3402zq4W0YeU8x-PpCm-GHC0f1GlFmmYlwwsn7ntX78.cache +0 -1
  300. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/3I/3IgPMEOyHojaAjV8J4yv3sM7XoIH6k_57LNDv56IxPo.cache +0 -1
  301. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/3M/3MHNic2hBXuIoI7gDdnli2R4okd_T1-0GbYdNULq6Jw.cache +0 -1
  302. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/3S/3SjPWaTJeH-EeDR9CNpFh2kMuGQCFBwx4m_m07Xp7Lc.cache +0 -0
  303. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/3S/3sPanLJos9eWu1K6eUeeadRmCjKakcuGEfQRLlgQx0g.cache +0 -3
  304. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/3T/3TBBvCTJqGdH-LdBk2zXust_JE2vHi-vUaYiI1X1HyE.cache +0 -1
  305. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/3W/3Wwe8jv9VENWnkRPiFBHmoUhwpFcxi5NB00mfsO40O8.cache +0 -1
  306. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/3a/3a8N2EvWqqiZ7S2AZ1FUDc8l30SqA9MJTm9rWxUh694.cache +0 -0
  307. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/3h/3hFB_6mmnJq-G8kuqZaswBLKeVYqMElC_6XCMPfnZCM.cache +0 -1
  308. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/3p/3pNVTHut4p-0kKEPlmSnwLB4rz2lWslB1Vuc4Osdt-4.cache +0 -3
  309. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/3u/3u3hfKLQbGZZA_u343ogvMF4v4M3qDGOHyGB4orLgUg.cache +0 -1
  310. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/3v/3vAZoAsfIu9whdWaGRv2qEXDfuFXsTyjvf8HtttzCws.cache +0 -2
  311. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/49/4926gV3f_F4GCmRy5S-nFBDcnPYDkIkUvbIaRKojS7Q.cache +0 -1
  312. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/4J/4JsZpomO_X3fahdwM_0vOZX6lrbkrWwmFDJttQOiOMQ.cache +0 -0
  313. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/4Y/4Yp51UvSJobp2kS-oxcCFwrVzG-k5375fFew-2hISEc.cache +0 -1
  314. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/4e/4e4wPnqMmSXbUnZnptbG8EaWZs0WnThlRb8UerqFBKE.cache +0 -2
  315. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/50/50_Iz5FgKyUYI8mbZr-DiPANP_mMdtcX6vVeHWL_a14.cache +0 -2
  316. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/56/56DI2DPlSCErNqURs_5dF1L5d-6a6mcz0aoY5NWEC8c.cache +0 -1
  317. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/56/56QI6W_foAKVgztnbwjw21TXFFAmjVTdUiaxjAFUnK4.cache +0 -3
  318. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/57/57JC5r6PI2Lz8x76pgSfWy25ATBimCKONBrKh6Utc1s.cache +0 -3
  319. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/5O/5OUTcXSvkwD6S63fBJt-vb6Nkm7li145Y8IjPZilqVQ.cache +0 -3
  320. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/5R/5RSCffychDotPmJQ2YCbNQd3sxd49NQoP5sMA9kUcvg.cache +0 -1
  321. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/5S/5Sq0Yl9ztgXlBl4-Rj7hU6u9BfTU_wO6VnqQ7ntzyWs.cache +0 -1
  322. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/5V/5V5g7xlIsB5ZaU7Pb6r2h5zdCNf13Xo1KxUsEW6_Egs.cache +0 -0
  323. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/5a/5aAD_YM5-Cgrn3ZzQWZjAE565L0HAorDqbim558VX-8.cache +0 -0
  324. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/5d/5d4p-4RNJ3HH6CpUPB5hIHXs_y0gNzAU4FR_SUNEYbw.cache +0 -4
  325. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/5i/5ifA0NQutnQP5WyVR2ub5TY1pPJSN-MDBY6KP49RZSM.cache +0 -1
  326. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/5j/5j_lVGVG6k26-eEKSAZ7c8Vj2BKcsVz8F8I20hXMkzg.cache +0 -3
  327. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/5k/5kUF0hlqfJUCUKmx703iXeFcnoyMc38S1YRCrKC3ifU.cache +0 -2
  328. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/5q/5qcU_l7X5WOPvAzG1zK0gs8PVAUGSgE5roZlFEuXW9A.cache +0 -0
  329. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/5y/5y9m-YBlv340Slq73pu1XW7Arnr8qIaFDZ0X1x-Nhcc.cache +0 -1
  330. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/6C/6CzZzpEv63hPLd2504K0NpIxFB1sFOMi_GwunCkfiXo.cache +0 -1
  331. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/6W/6WYk6OIM20O-mJPYDQatDbeykiYkhYZBMbqswFngLxk.cache +0 -1
  332. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/6n/6nUCCLH4EQ8nOqg1e73EuKZDSZiUKLrOnW5mA1aJhn4.cache +0 -3
  333. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/70/70dCJHrhufL46ARsYo85H1i8r2y1gUp7HG2jiqL4tOI.cache +0 -0
  334. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/75/75qDc6vPqc_X5KyZwnBijmdXmqMBXh7dbW19wiupXbw.cache +0 -1
  335. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/7B/7BRuNbi26ckoLAtf8rB8j4IJ8AhSriQEJs41JIm94gQ.cache +0 -1
  336. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/7h/7hRiYYgu3cg2vMkqMxoQjLlFCUoH8Drf18T9qAJWBg8.cache +0 -3
  337. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/7i/7iwBn6gLbrJG1gpFIQnCG5QnHHwlT9K_qUf-HAdCqDM.cache +0 -1
  338. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/8C/8CcVyU_cX8vJEH9Yo4GOt6CKO7K6lDt4I8EPzETUiwM.cache +0 -0
  339. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/8K/8KCQuL5JYEu_sA-_CvzJGMdXqAhs_2-T_o0vP7Es7pE.cache +0 -1
  340. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/8S/8SND6Dc5cQWPuOpa-dPGug5RzbuN6OJq8WhLTscLXDs.cache +0 -0
  341. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/8Y/8Ycnhojo2X8AhVtEWy5mYc_Xe7z2OVRrqd1NoKNCH84.cache +0 -2
  342. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/8e/8eJzGzKlMbAPMK2vz48uJ7xbbuxXRWLaGwvMXXJs40s.cache +0 -1
  343. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/8o/8oj_GdArmvAzbLL1ONriw7AftIjzbUdttygYWVgFgzA.cache +0 -3
  344. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/94/94QS-KUh5I9pXcR0aRgDFCreQ0HduBxXkTknRLJlJQY.cache +0 -1
  345. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/9C/9CN_NA-1XSyXnAUeR5LSmwONQSk7Ge00C5pShk2vvIk.cache +0 -3
  346. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/9C/9CbdWY5m-J9wCdR1Nl5Xizxv3_Wlyhds5fXByY2hq3U.cache +0 -1
  347. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/9I/9ISgaWHOzbWr0V-BBeQVzshVcV7zdQHe1_KwoQ98reg.cache +0 -2
  348. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/9N/9NpdZbFRNyEc-Q5utzeXgA8ai-9vTQdBEV6LRWRhbZs.cache +0 -1
  349. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/9R/9Rr-wylVfo__usTZjeNjdn7_yskD7NkvjwyL5OBOeuo.cache +0 -2
  350. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/9s/9sC41minYG5ynf5v26yJViFkrWRWrRl5-Tzk9D-a0pU.cache +0 -1
  351. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/9t/9tAUj0LPatWIvJMwp5tTEkBDXmXQk7TPAPEaxaFAKyM.cache +0 -3
  352. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/9t/9tK90DH4FwbqPtOmo3XlVp896zbUP3AyA4KMIgJr50g.cache +0 -0
  353. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/9u/9UPfMiuPZraxQJ-P4eEZttQGjkQ4vNr4W8FSBldcAL4.cache +0 -3
  354. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/9u/9u4PRfXq366mAjQdjFpXgq68XBLbUm23u69eBmUPKVk.cache +0 -0
  355. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/A9/A9xNPCsYFKINlI5IGhLbreoK5_Wr_yELaIIXSY_Sp8g.cache +0 -1
  356. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/AE/AE8HpkMYtggM-VI20FezRcw9Kr1a5j1IjPOkgzXlJ68.cache +0 -1
  357. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/AN/ANHM1wLudT9o_dm1dt9fNpNxRY0dcGl_f-QyAyVpi0A.cache +0 -1
  358. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/AU/AUGBnWBl3wOqGBVJKzise9enZbtBxRmdhzCht0Lal4I.cache +0 -0
  359. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Ag/AgFHHToB1OJtQ34X7n3Dif2nf3N76YRpHP2H5WA_GJc.cache +0 -1
  360. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Ak/Akir5YlbQoW6JQpRSZe9_stJizwH3UtSrVj5mHIj_yg.cache +0 -1
  361. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Ak/AktKqBXnWScl3cZpjI4_20vuzktYGJvhTzVXiVTy9kY.cache +0 -1
  362. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Ar/Arim5lyeOMr812djHZvThxbZlvyMC17eQHz-N5I9tbY.cache +0 -0
  363. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Az/AzBxm6CJXnVZ_HOImebnp_-A6zQuB8snE6c6FgSzDIg.cache +0 -0
  364. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Az/az0BJhh8qpQS93Uy--249eKg2995G-tgVHXcXbZup1M.cache +0 -2
  365. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/BH/BHVfZRbIQMAXs2xelHxKSK9RBgGuGFFOYJciD7yVhd4.cache +0 -1
  366. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/BK/BKutacZ639dGACeW_zHDROun3POScMnkmRS37jhqF6g.cache +0 -1
  367. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/BK/BkMaMfXi9y3XS35_cm50yPO_FxDXztCmjIYEy4o17ZQ.cache +0 -3
  368. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/BO/BO6ev96YibldGJjHUzzrXbJoBtfSkq2QGvw63MX7efA.cache +0 -0
  369. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/BO/BomNw1QSWkcZqOuvnMtIO7IVojuo3okaCWaIMijPUYI.cache +0 -0
  370. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/BW/BW442u__rpYcILaPyvdryH8hYhccIFog5pMEn-r-WOo.cache +0 -2
  371. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Be/BEZ6Evcap2d5N9Bl4piaXohydgd4EZ3WeDSjGA_BkkI.cache +0 -0
  372. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Be/BeqywwMspEI-Aq97GghfLTQW3lluoNNZfvOdSIl4SUk.cache +0 -3
  373. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Bn/BnJkx0rrE07xVRBD_3aeHvZpmIZb5ovN_N2Z7mzGfDo.cache +0 -3
  374. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/C9/C9U0Wjj9gHQcKxmgbHVH_xgDQmlWOIICGMQdrsPW7oM.cache +0 -1
  375. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/CG/CGljurajGnz4h-kB8-iLDjkttov1yMKnEoK_zzkbcE0.cache +0 -1
  376. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/CJ/CJDRkD8MTP_S2_pAVaSLXIe7ZJfIp1q0dkqNm5Dh2fQ.cache +0 -0
  377. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/CT/CT2JAUG3_-65snkW6i2_1PQ3o7Ejr2RPgR1cmjhytG8.cache +0 -3
  378. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Cb/Cbkb3jAq10sKVL3M2WG1jcUklTmY5ZgGoNEXuye63so.cache +0 -3
  379. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Cb/cBStL77wKX9L7T3yOWAYotfGEpBMdLRdbPs1FjjKkSw.cache +0 -0
  380. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Cc/CCkwcWe37Kfbr7oIIR7HyaP8ste-V1RGJBViu_LWoRk.cache +0 -1
  381. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Cc/Ccj_tSjdnRZPGXuHZa6_7gF-h-QxXwQDSQUTPRIaKYk.cache +0 -1
  382. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Ce/CelsrriF39DcV0I58W_v2IALsWOTA_st1Nn8vEFTuOE.cache +0 -1
  383. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Ci/Ci9OFFmkJlyRWAz0Atqbd2lozN_CT4a-40YxvY8BCCQ.cache +0 -1
  384. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Ci/ci7oNpLXRXGAxVR8EAHNi28oIfe642JadjmqzwnUFpg.cache +0 -0
  385. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Ck/CkE5vRgNo40ZdyI9gI6oWp5CZx3jpm2tR_Vqz42hkMk.cache +0 -2
  386. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Cr/Cr6zz5H9WbinwiPj0KjhEqGdOyVkyq6dR3QuzxLxhJw.cache +0 -3
  387. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/D0/D0mD7XlRRDHys_ojHAZdpVT0hYUCEU-d2tAXQwtsH_U.cache +0 -3
  388. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/D6/D6ifS3RdOe4dI2lYDAWyC78TJS8R4V1CioK1u1SZT0E.cache +0 -1
  389. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/DR/DRNCbe7tG4HP_e5G_j0Xjs8uLhJT_h-3fURLyzaI08I.cache +0 -1
  390. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/D_/D_QGGYHTHVoi0IjY7pg_FKNB2mcr9u5NSe8IOA1lY7A.cache +0 -3
  391. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Da/Daf-ALNJeTv1oX6OtMHU2bR63fnrv7oKA6x8jDLdEFc.cache +0 -1
  392. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Dy/DyawJ9huP-4h5zILS8Mp5LqI8epcL0trb8mSzmpHsmA.cache +0 -3
  393. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Dy/dynZoh3l4hb0mi9PazlfYwF1y_ugFd9b0SpYid2C2Ys.cache +0 -1
  394. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/E2/E2APOEFmnfg-wWJUjfyXKRMg8FCT2uGGtY-lSerwIp4.cache +0 -1
  395. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/E4/E45VAtENYm2gSAww1buBZ5mG2HwhDwoalEhBbop0VMs.cache +0 -1
  396. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/E5/E5K_HXWCY12hUT5KL3ZdE_TfR_bfbKLLVm2qs9xYOXg.cache +0 -1
  397. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/ED/EDLGRk9JslNI-5SOxbWtw_30x5jSSyza1miSrcf01tc.cache +0 -1
  398. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/ED/edqK5PWc2NuA5pVyzKNxE9Jzu9f3HVYPyd6hq7hRFP8.cache +0 -0
  399. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/EK/EKadd2es9AG8ivDBSSTGzm1R_AhrM1dr8gUknZs-ezU.cache +0 -1
  400. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/EK/eKaM5oDozREYbtT53ztjBgBpDJxTIju5YQmoFxz5GLs.cache +0 -1
  401. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/E_/E_2niwlc8zRCQ0ZRQuU6y8zBA8chZuh0f6ETDZBYcLg.cache +0 -2
  402. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Ec/Ecod6feV9GlHrAdDTMYhhZ0y2MjIIOnqUoius9bCBzU.cache +0 -1
  403. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Ef/EfGxL6HcWeQNHUmHb6HhSUe0Lcc1i9QErUVwX-l_trw.cache +0 -1
  404. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/F1/F1nPddELae203IH-kMbq7F8W2odsIQHZHZGG0URwYMo.cache +0 -0
  405. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/F4/F4ac4sd8_8YjBdGmbu6B_lbfLn0NI5g6MZ3FMcVIsY8.cache +0 -2
  406. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/FC/FCwMdJqkvOLcL-QnRgqLriK6s3cToVfZDOQelozg1CA.cache +0 -4
  407. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/FO/FOJ__unUA9F05ep8NmT3XSm6ChpTKBC9uIYqBYPOR6w.cache +0 -2
  408. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/FZ/FZfF7TfD5WK0Wh4xOl3R52nBhiLeXPeoI2t67Jshc1E.cache +0 -1
  409. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Fa/Fa3xu--wNyo6Akpvin9x7gP2pH5q0LSr8NBL6Y46OmA.cache +0 -2
  410. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Fd/FdzTV813V1AHj_MfWBB-CxnxdFm7CMCy-7wjTfsgv84.cache +0 -1
  411. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Fg/FgGFytTAoHrG8CRF1T5sxKwfjd1tX79oGwVY7FplQlk.cache +0 -3
  412. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Fw/FwHUzrTAAwUH3wRQ4Orl_yjsi2w8o0NYv6smLyKEXwg.cache +0 -1
  413. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/GI/GISC6VDtRegkrZ0GnuTx0UZctzJlKs2dRvnTUCIYXO8.cache +0 -4
  414. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/GJ/GJq1awkCqXnLKKO_ASSRAD79LiP93AJv1KOftwEh69k.cache +0 -3
  415. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/GT/GTemQJCtgRdWLbVjjkV4aGSuGPbk5Eb9hr1dqOkGyhM.cache +0 -0
  416. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Gb/Gbk-J99eh6M4MdlKK5xMekG-07y_CgY9JH4UIdAh8mA.cache +0 -0
  417. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Gf/Gf7aD-3M-aAdz3lvxqTMgVUzyYexKO0DvxkQLBj9heI.cache +0 -1
  418. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Gw/GwfmBxVe71rQTzj5fJ3FtkTaToCSXZEk2s-pYCZkby4.cache +0 -0
  419. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/H8/H8jRhz_Q52AbEAHFbArtoRalTWrCm8VuvQVBwVMRJXo.cache +0 -1
  420. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/HC/HCgc18-T8T4An0Oef2oQB29vSL0kkCYPzUTfJ99fmEQ.cache +0 -3
  421. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/HG/HGA0X3g4KdCfjMtYmQOykwh4jffqLvfql3x841pYScY.cache +0 -1
  422. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/HH/HHWbrYbV8sPDaKEfLcXDT0PbmiYg4jcncU8Hb4MgrJc.cache +0 -3
  423. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/HH/hh2VdLRAbT_vsMqVDuSuPRfkhycGMto9uRyM4y0FbUQ.cache +0 -2
  424. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/HH/hhve04gk_mNu6CVl0DCp03BhMfEaht3m7rvBzk9QZ_0.cache +0 -1
  425. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/HP/HPFulb-5wCgkLMe4018WJk4jwOH7BUgoqivhmRnz4-o.cache +0 -3
  426. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/HR/HR0zRWGZaY5fIz-zdJ7e_12rlZP-RLOZ16yjbK-_GnU.cache +0 -3
  427. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/HY/HY7JFVt4mGzuVsLz4ChwaKlFNHWdAvKn-TrKlWkloDc.cache +0 -0
  428. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/HY/HyBDC_xcTBPAbHazEvmMeuGi-e8CDVEb4FpJ2mx8hco.cache +0 -1
  429. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/HY/HyaFTylDFzeV4ucLiDqspIG4uQULs9ZfkVowUstUmG8.cache +0 -1
  430. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Hn/HnRMoWMdEVYYQTDIBmD4f7ZUcnqe1zx5KZoGVjGSQ2g.cache +0 -1
  431. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Hu/HutMSQ9-IwKTtvnMogCNvYuCW_zHQVOwZY4qp20BYWU.cache +0 -3
  432. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Hz/Hz89nVw2GB-8xFDlqHd1HNWSyTRGCRNzShuVxTh_kCg.cache +0 -0
  433. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/I-/I-5zh0hhiO06h0Eqdq-LInVBPYhs1owy6voiLdXE-ug.cache +0 -1
  434. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/I8/I8PHsGdJTT10b-c5er7PiuBwfKsYTOwQItJVFdF_tKk.cache +0 -0
  435. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/I8/I8wbzdCQrY6A0yJ1fTrxNcIaqCtltZHMwVS6TObgRnI.cache +0 -0
  436. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Ia/IasxMT9bHGJx2rR1H2wgHPqgNWh-InjhH3j6KysgNM0.cache +0 -1
  437. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Ib/Ib3eKdGCag1PWMQKWhjMzJLJI7hFbGM6B8L85ya-rLY.cache +0 -0
  438. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Ib/IbS6pwg-E0bJv-82thBxk8GCDnPr-yGYKIyJ8bp_k7U.cache +0 -3
  439. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Ib/iBFJd_Juw2vJGPQUn_J7-9AtjawGOy5Jb21vbf4cS0I.cache +0 -3
  440. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/J8/J85AfBWM5Y_K57uQFZC-GSWfJQrS8axKZ5Ln3sOYfts.cache +0 -0
  441. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/JB/JBs_zmwbN_9F4OXC2Wo2fJ3CHMVgWUn5MGJjWJedU4I.cache +0 -1
  442. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/JH/JHzip9mqNLH3XN5eDM2ohblmZzA_lORwJFUq7bOaB7M.cache +0 -1
  443. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/JO/JO0Bk4r6lvQxc8P2_q9s1QxrVmQexy_lX80Q38zcWYU.cache +0 -0
  444. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/JO/JOXU-LJ2JtpoXvNNv1W4xxN6_gkLzNr1kQJMpRhirdE.cache +0 -1
  445. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/JO/Jo9TPfwnolsuJPLEHXzci5qTcjrxukh0ksTI6Pu3hwc.cache +0 -1
  446. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/JO/JoG09ZJj53cCgCCifxYjiF-YSxI7tJbMYoISFfnp9GI.cache +0 -0
  447. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/JP/JPt1A7ju4RVdy-m9pODGXlAmX4SeZiOHkdeabT-WKY8.cache +0 -1
  448. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/JP/jPCfFtlQKwHRYyhCQMUM9gk9d8RmBIwcin2UoQS0cP0.cache +0 -3
  449. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/JW/JWib5qODMc288zinflSGRB-NrgwfK4h9_lcsaGqAQGE.cache +0 -1
  450. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Ja/JaCch_aAqSYsHnQblrlWbpXwFdJQ_RZQ8i_6nYAx4wE.cache +0 -0
  451. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Jr/JrAOi_nCXehyFlTIG5NDw8bXzu2B20MWg3jRbhhURoA.cache +0 -2
  452. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/KB/KBpn-M04BCUfZkH3DaW82R64erygpTkFW8CDcLz0Ky0.cache +0 -1
  453. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/KB/KbvHG09YSpF2Zhcn0qLlReGXj5_nZ5LjPvNUNhVyL7Q.cache +0 -0
  454. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/KH/KH5van46GtyXqHgocKR6OqGDZepIxlt_DJ5J-B052VQ.cache +0 -1
  455. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/KP/KP8VQoiRsijAa5ZlbyR5_Ik57oAgvWD0vpU389jlVOQ.cache +0 -0
  456. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/KR/KRPxHNBTeg5Fpq4kZvCutvNzhXEqdNruvFbo_YZLVQc.cache +0 -1
  457. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/KR/KrjMdT0j9KrND3yYaiaOMPwGw6UPGnm2mMNkKrwcCNY.cache +0 -1
  458. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/KR/kRiGMRvoQo5_-yX-S-RmQb_zKeM0XYU1Vq6gPVoLpbE.cache +0 -1
  459. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/KU/KUOPEWzhUGqP3g7M2tUUn0wclfaLEgeN5V5-2hTRfr8.cache +0 -1
  460. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/KU/KuVHBvtTLontYM2cZv9StVphyhOzUnVMt6HjlFxQ5WY.cache +0 -0
  461. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/K_/K_qIiZi4PWaXSfpj2SRm4w57dDMtcDzDg9-mjytdkFM.cache +0 -1
  462. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Kc/Kc66LZ0mQIdB0DHDGfgpmuBd64MTzCFHUDGV3bZUq9Q.cache +0 -0
  463. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Ko/Ko86j3HZkqFVCxkljgVbJQ9snzHhW3wR0LNYYj4smv0.cache +0 -3
  464. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/LF/LFBKhO1HxzfKez4dq2HiMAs7Upfy8XCsQGYU9e45SrM.cache +0 -1
  465. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/LF/LfDccElq24-Js5o0faeZuAoev6TYycwHoFBQM4fS240.cache +0 -0
  466. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/LF/lFB-Wg-UWQDHI9GFZWLKFvAC2v7X4QpXQrpmdIEZUVk.cache +0 -0
  467. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/LF/lFz4ImiaiIu1Oc0336ivmB7Hjk1FiuM0aBBvdgDmZIc.cache +0 -3
  468. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/LK/LKhZU6jzZobkmGPH1qaQqDzXkKSg7KPDCBPhGNhRpJ8.cache +0 -2
  469. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/LN/LNyhzMh4mw48L9ANJQ1Q36H6jMNZ0CftqkVea91GyZI.cache +0 -3
  470. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/LY/LYWwmgKb4cxbYmV7rnwX3_-F1eErgNWaAcDEO_wbW0M.cache +0 -2
  471. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Lm/LmwXlHTRgyaDGkVBfcxIno4nU152AttSDHsguSHZUo0.cache +0 -1
  472. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Lp/LpIVRfZ8d8FN7I1ybB_LHTcuS6gn2Oq53zg8nV87Qvo.cache +0 -1
  473. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/M-/M-fl0ojZ1WWIB6obWNA4eDxRLlUC_s2cxyfmFFq8fik.cache +0 -1
  474. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/MG/MG-EoYG5EegFjtoALp9Ham1RrxQbjPQ7-d_sT5q3jFs.cache +0 -1
  475. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/MP/MPbbbgqAZf6nW9qj4Pd0eIUcf-3Ys_c1e6lQwC4nXW4.cache +0 -1
  476. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Ms/MsXloaedev9FRAcXFEzYM38mp-Oy_HbsJTDeHa2-qr4.cache +0 -3
  477. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Mz/MzBUA0ivS1H5e7wzE5-9Hv3JX7WYBKRkxeCZWdK3C6w.cache +0 -3
  478. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/N2/N2q4tA-AvzYqJAIS5eust-jPucS_bhBgL9ZeGepraI8.cache +0 -1
  479. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/N5/N5raOeJbafuyylkn-2jSeH1Avs6iOMBpawcECjz0ULI.cache +0 -1
  480. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/NL/NLmbV6f2s9gG63x3_o38u3sFT8RInoRmvs9faT9D4lk.cache +0 -2
  481. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Nw/NwKqttWpgMUNBnf75IpJku6XJAg_u0HcMWoCGx8Rg_I.cache +0 -3
  482. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/OU/OUgncaSlXknByrIElAk0w-599yttxt5eSv5Er6JLRHU.cache +0 -1
  483. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/OW/OWg_b3ZSaPzGs5J8kAECmuB8flKvi1t4OboCnjb4FcA.cache +0 -0
  484. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/OW/OwwSdzznlxgsVEc_CzUGV0ieM_8SkyFPWCqQ9N3CTWo.cache +0 -1
  485. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Oa/Oa8_W8IcUWkcLNdZynwbfApGdkh64tafHbX-QbJ36uo.cache +0 -1
  486. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Ob/OB2t4Pb85fokLJ4FpxYlx_rMMSiE2nVMvWp59eTkgMo.cache +0 -3
  487. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Ob/ObKvzrtSTNXKMuVTs1NsvHD5nTv-27B3RmJP5o8c7KQ.cache +0 -0
  488. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Oh/Oh6nSz4nVeMPO_aB9jfZhN4Jtsv6_FK7ObepdswQOIo.cache +0 -3
  489. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Oy/Oy5s9E66OxQpYW2cN1J-CCV7jxQ5OCWhDI-lgTwYe9Q.cache +0 -2
  490. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/P1/P17lo_tPbh86JXurxzVeK2ExKXhTBqSFJY4IrTDoy1Q.cache +0 -3
  491. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/PF/PFFpOYm1OM09MeyUhs57b7wtE5NNukahIf5JzeipUfU.cache +0 -0
  492. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/PY/PY2FCaQFO6RnKkBB9F38EbLAz8k8h6b0O3hQ_WY3G_o.cache +0 -0
  493. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Pn/PnVGnmkdsaYnihvGfK1m20iSvGFlHc-uWD4vxzEZYl0.cache +0 -2
  494. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Pt/PtjzVN-BrIlOHA7GBzLGsxuwonhOae6RwMKiUc1k5is.cache +0 -3
  495. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Q6/Q6WamMyTI89ZgI-yWeb9Efhr_HOZKNNgLboxYsE3BGs.cache +0 -1
  496. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/QF/QFXG7ELQlSYGaWZXJO1dc2pqD3mkfU553v3FQNS_WN4.cache +0 -1
  497. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/QF/QfILdo3PamzN_kgUwKBWtXgb2nlg9ZVPCGS9pxe9nzU.cache +0 -3
  498. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/QG/QGuB_AtVs5ZYOCzB6PVIf8PIhxAWWiHIeXWAoATcexo.cache +0 -0
  499. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/QK/QKhodsYnZ97AXi440JaAm-x2LIsDs2FViJ9KJwxLvXk.cache +0 -3
  500. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/QT/QT16knP0HwG1_5JF_cOMHBLZZ9aTYbnJIbM2W6tSW9M.cache +0 -1
  501. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/QT/QTI92lVqauVCnfn4bOzToWZ-tCO-xQ7HntAyf9UmoZ0.cache +0 -4
  502. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Ql/QlFn7546j2IJAyLY8WDbqosMDgdcA1p_naiLYGa2NYQ.cache +0 -1
  503. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Qm/QmTS_IzUDpp3r8HSUBTBM5TetyUETqa5qtdINSlR6KU.cache +0 -0
  504. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/R-/R-Nyshj4m8P7YN0U48u_RGGxIEAvkrondRl6xJEzjCI.cache +0 -1
  505. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/R0/R0Z2M6oNP5d7PZQU3tP2n-QKyRd6rZm_sHCrqe3LHVA.cache +0 -0
  506. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/R6/R6WoJNxcGfDrLJkwbLWNyLVI-Jf4feyLtpNlAPBmipA.cache +0 -1
  507. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/RD/RDByQ5bhJh89oicftTcNli4H5IuHq12FUE7_tglN_-8.cache +0 -0
  508. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/RM/RMf4SqMd-uUK3qBMkWX9P4MPnwVq398LCO3jdtXawSA.cache +0 -1
  509. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Rg/RgqfpEMqIt8dgxkBw1U02AfvIQDCgLbXDQZYpGfTG9U.cache +0 -1
  510. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Rh/Rh7DhoGOk24qCPXa6Icz-8Di_B5n3JItCv8uBDvbsoo.cache +0 -1
  511. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Rk/Rk2k2urT3qTdDuRqVC1L5MJlPOcvnmizAXiG0ZBED34.cache +0 -2
  512. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Rx/Rx5bxNaRcA0qZC0BOVjvXuxEDM5_yxRq7w-Zm_0XTvg.cache +0 -1
  513. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/SB/SB9CcrMzR3KM-typexibOu1G-Qn3_Qu983LRRZVOfsE.cache +0 -0
  514. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/SB/sbp4RU9ZZkED2GdVorecTDy4jvYn-n50xnZKegm0O4g.cache +0 -1
  515. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/SM/SM5fbmdZx5zkOlx-Ew3h35WYAdorthwFlxV8D-YK_nI.cache +0 -0
  516. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Sj/Sjy621XNgWusTvwOK2VIUBu1J4RjF1ikL0Qpb9DHuCc.cache +0 -0
  517. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Sj/sJaBtEgGnDyK4w2MZCRivx7pvf1jHtLnUk0XaEFLwzQ.cache +0 -0
  518. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Su/Su7F55nrmZZqlJMtK6vD0x-kCOLueZOLaTdELnRa8R0.cache +0 -0
  519. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Su/SuIx7o7t8YNGmQ6TlTA-B-yPG3L177Q4m_xN_WW5d3U.cache +0 -1
  520. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Su/sUDZn7zjaxVdrgVOthcH5WrdjQdgLm4bj4Vwk2a7_Sk.cache +0 -1
  521. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Sv/Sv_PXGZQ3CeqMXw0uzPjg-lzxZHe6j5X9JA5MTEgmvQ.cache +0 -1
  522. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Sx/SxapMP8yv4qsju1PxGiUKq5aROBiGobTkyxBgWuF-iM.cache +0 -2
  523. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/T2/T298pUTbDsy0CKA5JR9eyO06NMeTIngDPmYxCox9gY0.cache +0 -1
  524. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/TA/TAmkjHUAviPKzIHmSa4W9lDitFDKH2od94mTYaFW058.cache +0 -3
  525. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/TE/TEuNJiggxe9dglCccHixjgdXq5qHDn4iG_AZ0Inq1O4.cache +0 -3
  526. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/TM/TMq0hT7VUkoISigp1ZcnwBxu8lXR11gIabDiMWJYjiI.cache +0 -2
  527. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/TM/Tmb9SmW6IzlBJhD-8QuvF4H5OXSbktNwJI8QXlyad6A.cache +0 -0
  528. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/TS/TSp7eFxtwiEu2LOJ9Im8MWyFdu0BCAJ-QqtzXnSrma8.cache +0 -1
  529. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/TV/TVtecNtEGPlOCLwg3V_4GTbLXhNrPGViGrlQffn7FK4.cache +0 -1
  530. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/U6/U6jOS6ijBN2Dj2cEUHxCXLrXDRKd3QlclR0LKn5s7iE.cache +0 -1
  531. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/UD/UDfY4BJxLwUzbd8Uk8NijI9-B4qFpkwaTcVIpMDgWVc.cache +0 -0
  532. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/UK/UKDjtkr0LrvD9qNuZiegDbCjOPhAqZ5FJ8DqG4UwZ3s.cache +0 -0
  533. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/UU/UUv4exH9I_-RAVa1cbb_EcU_gGAnYX6PwnV-7vp3Yjk.cache +0 -1
  534. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Ue/UeLlNIuc3c_3Grm_1kZmXVceh1f5RxDhFr0rOagzwGU.cache +0 -1
  535. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Ui/UI8ImsmXrcCN53DA8Ybfw6LQMSiewCOWHllVpjRzbf0.cache +0 -1
  536. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Ui/Ui_KsdJ0SbiY8_Gln37bRSh4vDs0TOZjlWG0yrzGUqY.cache +0 -1
  537. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Us/UsFUysI4EOHoqeHSs8v93VB0ony6B1SBtWDJ9o52WD4.cache +0 -1
  538. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Us/UsPuUFuSCth9IN-IT3n_zJYwyJVHdx8iCTw4Dak_sEc.cache +0 -1
  539. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Uz/UzARDCAuhsS0cs07RQgJjyKPsteWPmrg43L334TyOX0.cache +0 -0
  540. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/V8/V84_zQJnCvTv1bYtlRAyRxYGtqs4GE_i-ejI0T0VyuY.cache +0 -1
  541. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/VB/VB2A2eOHhqG9y2NFBAlnYHiXN-YwFSTN4Oemeb0VUeY.cache +0 -3
  542. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Va/Va8yHF5e7kp-cnD-wsjDErdgW9zy0BrPwQ5sdTyOmZA.cache +0 -1
  543. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Va/VajaAAKNj_FAHG6VouCUnhOtwKbWHWpleVZOfnqZvNE.cache +0 -4
  544. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Vf/VfgHErU0PjinX3iS64v8LV3fkJThgd-Xb3HzgRKIsE4.cache +0 -0
  545. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Vl/VlWcZrPWK9ItCiVrqCAUR5Jx4lSP0qh-QcpA5w5pEsQ.cache +0 -2
  546. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Vq/VqEP6z4sVjwSmwxPdxZjk3N1NKBiOT6F-uZ9JVt-1Ss.cache +0 -1
  547. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Vt/VtOXxo6_wFiWhlHFlvwCtBEuMLhU0K4Q52_hP3OgcVw.cache +0 -0
  548. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Vy/Vym8XRV34YPbOj_SZlWXgZSoFTXHg6csuht8QZnMFlA.cache +0 -3
  549. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/W7/W7QTj3lfOnoWFHrnSrszV4377wS9pnU_FaLqtahftig.cache +0 -1
  550. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/WE/WEhtyhHDW9G9LbH0ysojzEM4O-oy5_j9HKktObJFrNY.cache +0 -1
  551. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/WL/WL4ZnG_pgzkcOU-D9qLINFBchxsGSwse_SanFSIhZO0.cache +0 -0
  552. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Wr/Wr31HwPsUvlifIICf-IBrBZ6NAUyBttDG_I1l-k4v0I.cache +0 -2
  553. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/X9/X9DeumStYgRyuaDT3KyQV_j2vsuKCZAndwcQcgurgFQ.cache +0 -1
  554. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/XG/XGUusODmkQ_CJsMmD4LrlcAq5B6OgAWcgpWNWpDDHb8.cache +0 -0
  555. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/XL/XLrUK0k5WPpTNpUzZn-E56nHtSzQZiBjTm7aCqrmqf4.cache +0 -0
  556. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/XL/XLtv8iJiK2-YsC3Fd7MHRVrTOe9U7SeXCxWRkjBGGug.cache +0 -0
  557. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/XP/XPHwlHv1QRnzLSMNRQVBudyeCKiH7jAOv16zXabWo0k.cache +0 -1
  558. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/X_/X_5BWyxiLxcA2zmb_SwZ94b81ql7wyIwt-4fD3Bpjgg.cache +0 -4
  559. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Xc/Xc1kxyDATo1avjnKXZ8TJJbnh8ybsULUi9cSFI38wSM.cache +0 -2
  560. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Xe/XeGTWoC3OISo4jax9Ic9fGKNf8_WnB530WuPFYn1pP8.cache +0 -0
  561. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Xf/Xf4k5pTDnSHpBBT0Nf8VuauRKd8QksZMF5qBLKs4GkA.cache +0 -0
  562. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Xq/Xqs_fPeeZZtrWJ5MOOlN8POWfQuGPp37H6OO6S5Ngcs.cache +0 -1
  563. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Xq/xQ21YT7vbiDxeSOd6RijaraT4eDsywfDstTLYZjubNs.cache +0 -1
  564. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Xs/Xs31KIlMtWihN6ZUE4LTBZTKmjfrof-8m3tYhMRavH0.cache +0 -3
  565. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Y-/Y-96y81GYqnDLZHle8tUVdzc_umEnof4OMO5Qc5yHgE.cache +0 -0
  566. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Y6/Y6ulo91YhRwFuJJZ1MVeprC5ugq_gtrWsrYhlJPQinU.cache +0 -1
  567. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Y7/Y7ntEtdrvjoQO_i78kxQxw8VrL5yt3DdoQV_GZH4vX8.cache +0 -1
  568. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/YJ/YJx0Chl_53OVKzHYN2eQtfBm2dROqWj46b54BxclOK8.cache +0 -3
  569. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/YJ/yJA-fg5mxdhO_mgNTMMBKUjwE2UKlN--rrFTUvmM9CU.cache +0 -1
  570. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/YQ/YQ2rdVlnDHTiRhsSuDBet72HXlkot22-Zpqjt8JhvC0.cache +0 -0
  571. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/YQ/yQUzMXPM_yyNOGsX06JpveKLV8WFk_urdjGYDzqRe6s.cache +0 -3
  572. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/YQ/yq2bsMdvmARnaajziTwYB6k9fkbTNVojXmWw1X62gbE.cache +0 -0
  573. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Yx/YxK32o4DkB7fk2EZAA4CCIvt2jWOta1Y9gJOGhL0pYE.cache +0 -3
  574. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Z3/Z3eBMCob85kOtCJ8H7oR2_eOJwIbc_ksgpZ6_IY9wCQ.cache +0 -1
  575. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/ZF/ZFKc0iFZZH0GvftUTp9_QsoB2DjCV5nzPu2MVF6XqTw.cache +0 -3
  576. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/ZV/ZVF6ZjXPwwZRBbOv0RnubODiUoU3MxagAlPyL2BM4zc.cache +0 -1
  577. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/ZV/ZvNwUtZ2Ixn_PLPF7GTUNjxLeWUhrGNiX4Exj9EnRqc.cache +0 -2
  578. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/ZX/ZXRvqMr6ITaaBKk2nHGppboYaALj0P2BEzFoE_sbucA.cache +0 -0
  579. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Zj/ZjVTxpCNLsGp04H7Vq7_SDfzvGZnoCQug0uOZL5-cTc.cache +0 -3
  580. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Zs/ZSTzJGwCY3zCA-Ujc0zK4Ca5B4Hlq_KAH2CENr_XbXE.cache +0 -1
  581. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Zs/ZsTX3lG1m0PV5smUnwv42vtqXWPqmhaWodHvGqe5ijI.cache +0 -3
  582. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/_0/_0mXN0wulrhWAP-yh6eF0_Dr147SCtkAECEcYnRK5Lk.cache +0 -3
  583. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/_6/_601QPIizFSv5VTI5YAEsYsXzx1wVs5jiJvRfj6sLro.cache +0 -1
  584. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/_J/_JKe3zACWhYJ5veFxGtIjmyW2XPEd7zdYDZf0EOOxFU.cache +0 -1
  585. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/_R/_RwOPB_ewMRb_4Hn0AzUtqyW5k8_D48XpMnLLjKTVpQ.cache +0 -1
  586. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/_b/_bOM_a2EncHvl5H2S0gBNLd1pZI9NOk3syiUXVitawk.cache +0 -0
  587. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/_m/_mLUACeUyVCGQ4an6TSrXI7noTgkBSO0PxV9CCRw4nw.cache +0 -1
  588. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/_o/_oXAKeMgkrafsUDsfLTTWUn7OqDfzP7p4xKoRgz5Y_U.cache +0 -0
  589. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/_q/_qNh1-rJGUAJi2CT8z6xLZI28vd8bVNqiN630WFMk6o.cache +0 -0
  590. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/_q/_qrE2Ep60cUMM2k6NhFqQXwtf4k23Rdx2Arn4V3zHqk.cache +0 -3
  591. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/_s/_SFMKe5oG1A5zcSjheDtATDkA0IXTg08KXEJyCsCW1E.cache +0 -3
  592. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/_s/_SrLmCekkKAJFgsYeWW2OuIG_c7CIt20seMNZvz6_h0.cache +0 -1
  593. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/_s/_sDIEpIGdgvao995koYqhK3cYmnEjDlOUKC3iejMyU4.cache +0 -0
  594. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/a8/a8nq6bLJfEVZ21ktubjx2tzHTKYRy19rf8Fmnyc0jU4.cache +0 -3
  595. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/aQ/aQbjtMIKXwRIm3STHz-K0WiX46aH8nNmbSzSaU5xnAQ.cache +0 -1
  596. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/ah/AhGbFZA30i3OtbN4cXW_-hkE8LDDB6g27Izssvv5z4k.cache +0 -1
  597. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/ah/ahZSMhdFX5fhUnzFmHAeGvVBztsE0XMRoOmGBqtxMxQ.cache +0 -0
  598. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/b7/b7MItu2qDY4Odlym2il25kjd7SCIjGUa6CccUjCM4Rs.cache +0 -0
  599. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/bD/bD3Vcs8UOtveXuIlNs8T9KZgSHJaBdZiHaCKUdgE9EM.cache +0 -1
  600. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/bM/bMPiGPTtjQQqelwGAsQuY6d4Boftfkpax5DxGHNdnqc.cache +0 -1
  601. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/bP/bPj6VtSg5JxXYeq40tBCf1vw5CNOW6bjlei25ZLStoo.cache +0 -1
  602. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/c7/C78fSPy64jNTI3STHOllEYrHIO0ZdNZeJgW3EavAyoM.cache +0 -3
  603. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/c7/c71gObHWmNvxjnyNraygmUXq2TYIx-mBuvE_w_obpUg.cache +0 -0
  604. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/cP/cP5JSAPXhu89dO8-ZxVUxZ7_akgU6MPD1QliQ8zBBa0.cache +0 -1
  605. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/cX/CxsDoPlKSO9fvv8qYy0O7V4im5rp3bHJb8XA2ZmmdIM.cache +0 -0
  606. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/cX/cXZ0whkjSRh-JJsbjuoHxP9NRlxxy4EogoLg2A5IhJQ.cache +0 -0
  607. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/cz/czX4JJcYygAn-VDARgioXlpQIWGtFqww7L65eK8y7RY.cache +0 -0
  608. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/d2/d22CxX03APeR2ZmttlYyNbv6Idqt8SCYMUqcIyCrD_k.cache +0 -0
  609. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/dD/dDtUgeWZUD1TS2vn526y7GMIaeYUy5ph-LUO7DCzXpI.cache +0 -0
  610. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/ds/dsK9ODlCUwE0aNr4yLu3G7aiQn1JlwHqicAnvHRM_CA.cache +0 -1
  611. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/dx/dx1-d2apOJCmuzRww7NFa7Gl-eJNiAprC_eS1UV9Kpc.cache +0 -3
  612. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/e1/e1aoqBAUU3VCNw5szBPk_ZEtr6wblxiPhdr1ZbcN-d0.cache +0 -4
  613. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/e6/e6CgQifvK1vGIGG3iM-H-P_Z4gEAelvog14BXLtKisE.cache +0 -3
  614. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/eE/Eec5F1M7mRTvby8Q8LTHyBSttghecYB5UndDnGGt5fw.cache +0 -3
  615. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/eE/eE-9zInd4X_JEY4l-zyUBhhfzafsgcqTPRiiUm_qWA0.cache +0 -1
  616. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/eg/eggm81_lX6-bas5OvY5P_1YQW25tEySux5lov4Rk9pw.cache +0 -0
  617. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/eh/ehYUTEWlNuSS6ms7P4wYcCelo4FgutPOPXb4ME7Bcv8.cache +0 -1
  618. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/eu/eupaIGsd9a11t6jSg8ScWt8YgNWMhFD0GNC55BtQovQ.cache +0 -1
  619. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/ez/ezUZXGyluB2m1_Tzi146GvY_zoF8HhG2avy-5XZHBsg.cache +0 -1
  620. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/ez/ezeMryK4WTeZ38rQU_OWH9EMigfPomsFb1QHOIm1vLg.cache +0 -2
  621. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/f-/f-RuZptQyykxcCZWrBfsC79I8XZHrSJ_AJe6H3iKc7Y.cache +0 -2
  622. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/f_/f_1W7IKtz2Xm_502rSHkPMXrCDESiGPSfQ1OH8pXcF4.cache +0 -0
  623. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/fe/fexWNhjPDlnWaUtIkn_HIsRR6GJVjMUWPBetnx7iinc.cache +0 -1
  624. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/fh/fhgWl6xIviEKLhUHEi-HpXAjZRqyUmHUylm59U7Wtns.cache +0 -3
  625. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/fi/fibI5KxGuSnKHEwi2cryhkeJF3Uvxo_BYIyHsU0KeHw.cache +0 -1
  626. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/ft/ftxYqqnkcr8jEUI8n44MkKeJ3xFgb6t0QASSkRKUp6M.cache +0 -1
  627. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/g0/g0hvkOQcr_1ZpWawxKhA7yBXX0-rmCzcXYo3tEJv-no.cache +0 -0
  628. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/gR/GrE8pilV6kZeUQKg3oYGReZTegum_liU6iTUCD9_ufQ.cache +0 -1
  629. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/gR/gR8kJ45Q2oRmzdf2m0Xs_g-S2A6pmCy6wz7Hxo1Fc_o.cache +0 -1
  630. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/gS/gSKlf9trjKFCfSN-JYH1mqSLfBKMaapncLXYEE6tUAg.cache +0 -0
  631. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/gm/gmDNM_OTJFxgARTDhTW0v8r6qZ0zYlJ3BuLzibNTOVg.cache +0 -2
  632. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/h1/h1_ZDS3GQP3FuqfDYkSm2EE-hUlrS0iA7uJsB-Z7wos.cache +0 -1
  633. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/h3/h3kOhj2sOpQwW9lCd9QyLIInIuE-3Qu37fkw2pcPuws.cache +0 -3
  634. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/h7/h7Vxx04AVNPkizMCZxiCXW2N8h1Y32HSf-ssHmDGgfw.cache +0 -0
  635. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/hJ/hJRq9Gz4ItDNyr8Bcm5zQqgIX1zvZ1lA4DbIdR8OhB4.cache +0 -1
  636. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/hM/hMhiAV1rix9La1wtdx-qXA1H3uCIfPkXFMfuz0xK42M.cache +0 -1
  637. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/hO/hOiojgH9_mEuK5eNCaO8CEOQhYHJJ24ssz9mrQffSbg.cache +0 -1
  638. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/hQ/hQ6luOeld28LrjX-lLFmiVGqAofxi7Esd3701ZWuSKo.cache +0 -1
  639. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/hQ/hQtVdUOGQoSarBzyJHCzyqEOXvsq7VWMym8GoDR6KqY.cache +0 -3
  640. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/ha/hA8pJdxdJ1cacPrVt56xOSc1r6z90EfB8OCgONQUrMk.cache +0 -1
  641. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/ha/hAv7TIkX-EpeFEbpItiWxsDB1ayA-Dm-WS-pIPQN-6Q.cache +0 -3
  642. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/ha/ha0XWMMXFirNTFJzwM1_9w94v92w8PFD3dc4mR0oKI4.cache +0 -1
  643. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/hf/hfph1KKX-RQtNSR8KEaoXDGOCCKNWLNDBekNCdIG8To.cache +0 -0
  644. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/i7/i71GHrCNOOQZZMCT6zJHuHpojm8CZwLEMz3sp4f6Ti8.cache +0 -1
  645. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/i7/i7zXXzhnXMFFiVo1qdltKk0QTyVif3-_T_xiRPze2AA.cache +0 -3
  646. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/iC/iCx1IIfxa_4vivG51yL6D5wtoAhEPiPNDXH7ETeMX0o.cache +0 -3
  647. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/iG/iGyoh4fKy-QGohYDXuiWPERucEri5f0h5oy42eocsKA.cache +0 -0
  648. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/iM/iM1KOiz4_AXIOqI8EyNp28u7rlBINQq12OgXLf0zHz0.cache +0 -2
  649. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/iN/iN1EZuYbFCuUtl65sCVWugUBwkJcBsw8c-56oN_lZjg.cache +0 -0
  650. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/iN/iN2ql855v08hr5GaN3BKD0QBPf1EHZ3i8pGK9mnBEjk.cache +0 -1
  651. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/iO/IoOcp1GcW15q8NuFUhbrb2z5f68wugh6RFXUM-jkGfA.cache +0 -0
  652. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/iO/iO-7LedQ0cv2cK3jzuvxfzETZUHIpxnkJMJvmdnN0n8.cache +0 -1
  653. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/if/ifEafJ0eJC9I2hzSugO9eZbCw6pFqfu8JuGG12FiskM.cache +0 -3
  654. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/if/ifq4msUzwN_ohD9k5tabw5olcPsOvGXP1jf5OdFZr_A.cache +0 -3
  655. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/ii/iiU8EExvFI-QG1EPe2CilTKNGCVZKX-NHRjDkseWOzw.cache +0 -1
  656. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/j4/j4hPrYGUO6-Cz7vtgPZSevM50UedsLErwWs1Dhygqmw.cache +0 -3
  657. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/j7/j7G8H_anK7rhGruTS3TeTt78r3yM2UR0oIUqLbJStNo.cache +0 -1
  658. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/jM/JMa36uOPiUv34whRl0vTh_oT-ao__-5e32_KhjfdEQQ.cache +0 -1
  659. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/jM/jMINCKhdy3qGSHRmlNax_yHfwmqqJSIfdzv76ZVIgOE.cache +0 -0
  660. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/jM/jMU3nYSozJBftGj8_Y8P_AAThQ23sYFB8XR34karyD4.cache +0 -1
  661. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/jg/jgKyAj7Fvja_8CpDJ485D1vFzEjoZJsv19s2uvyaImE.cache +0 -1
  662. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/jj/jj1OFShdyaJHH0lKAa_MUJZh_H7sMMhrAMnCFPFQw_g.cache +0 -1
  663. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/jq/JqoghonoXDIVuCKz30l0_1412PDFldIkOmzIXdsUMOA.cache +0 -3
  664. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/jq/jqvfzI9T_RKJXyaHFJslplnZtt_j2YLAFXfsxtDimRs.cache +0 -3
  665. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/jy/jybGmV7UPmCAq26ARutmzijSDJzLUVgpSKAChtGusXI.cache +0 -3
  666. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/jz/jzcwbrrvYvkCkqknUHSaP2nY4Y8kbUyYqZzjf56BC2Q.cache +0 -0
  667. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/k4/k4JR-tf0vPZSED-C05pdDg7bKEpjwVEikSNkZZQy324.cache +0 -1
  668. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/k8/k8Ve61TaIFel7-h3M2wZeaAJ-pEH0xANsMC3_03RlQg.cache +0 -1
  669. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/kE/kEPZXj2oCSiNtUdUjKueS_eRaNjsqaQU_9pEyAEHPJA.cache +0 -0
  670. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/kL/kL42-UNQ6RkC2P4BqLoBV9yOz3W72JsfPnp2teRH9eA.cache +0 -2
  671. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/kL/kllhrlAAimsEJMtI-8PDecEtix4w7Fb1dsx_KvKvsCI.cache +0 -3
  672. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/km/KM4x_RLQBiu0-oxnT1_UgQauabng_hpsdKb4jzxnySc.cache +0 -0
  673. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/km/kmLCY24eZjdYLy2gfuHcNn_TrqFRfWHphdQbqdIKVZk.cache +0 -1
  674. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/kq/KqrWtOkRy0HzCRM5m2E-feR9IIuN7IREqgsMpgSC-E8.cache +0 -1
  675. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/kq/kqf3lzLTG9paYmKQNQ2wDxOs9Okv8g3xw1hdS2MBB7o.cache +0 -3
  676. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/l1/l1Xa6b_a7G8mfelvgDwZen6THI35uZI0nbwyOgFVQ24.cache +0 -3
  677. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/l3/l3bGE7RUC_Bc5JArR2yRfYaEEWep52-9gmSdwddyM1A.cache +0 -1
  678. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/lC/Lc3NyXfONWrdE74VcV99bILO-yTa8LZRush_qj7xZVU.cache +0 -1
  679. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/lC/lCbR1Fq-_kaloJiwYSSO5pZ0vN2dLkQqAY1e5ZP8Yr0.cache +0 -1
  680. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/lD/lDMumgbXJ_xjWF_hIsKWYYSiWG_k-ureSaKNJ59pOOk.cache +0 -1
  681. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/lD/ldBmaC5bQ1m19eMUBCCNkPULZUV9oOMg6aZsNN3FUNg.cache +0 -0
  682. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/lI/lIGsOzOVgLusuzhgDY16gOWW-U-MYuFY9RT6xB_-BaI.cache +0 -0
  683. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/lI/lIgs1HKJh8USUzDmw1p6u7ZwWDyyBSEvQSY1pzfZQxs.cache +0 -3
  684. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/lI/lImgKssI3Gqis1z2gj6qnt1W3TzOe6Kzhbwy4Qqqhto.cache +0 -2
  685. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/lI/liE4Dv1tDwUfFx8XdPPf_jwrqw2IeIm2impMau7bCjA.cache +0 -1
  686. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/lS/lSgTz254eLHbXIkBBjKZzShFOZ0k2vKyVAQCBygEtnQ.cache +0 -1
  687. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/l_/l_9qswNypFQUo-fhla1UZLOsvfDauSdtyjiUI8ZDM0c.cache +0 -1
  688. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/lv/lvs8zA-bCfomBENt9yscKPdAYL0ujCtPCgiVqPMjuko.cache +0 -0
  689. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/lx/lxxXcPJaYjU8GmyxD4dCdksNFsMCmEbpp3j5BVGv9-Y.cache +0 -1
  690. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/m9/m9BvvHoXXar1_UahDfaALDU6GR3oda_gilEKIbz3GRE.cache +0 -1
  691. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/mA/mAU6I8ZXCwGNimFEBi26uFkREWn-6S5uHr13J0LsDrk.cache +0 -0
  692. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/mB/mBuv812EfHw0uDkrHTX8HiVD0ZPPyLPu9ZLw1S0hfuo.cache +0 -0
  693. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/mF/mF4JJ_Dg6Yk0EXllnIO8mZxPYzwfGQm59lTZbcr8AaQ.cache +0 -1
  694. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/mF/mF_3xyRBbliJp1XZa06sc-95unYp5DmtwaHt9h3j-rw.cache +0 -1
  695. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/mM/mMMNzSP7UG-g6Vjg_MQyUAvKtTBk06ijtc5y5bnxLmk.cache +0 -1
  696. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/mT/MthdGaxhbUYz_JeS-I3cLe2UAL3Kfjq05X09SnEMPyM.cache +0 -1
  697. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/mT/mTrGDkWbINl8PHCphC0do-LCveOVA9nzLg12OT1fCDk.cache +0 -1
  698. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/mU/mU4O9QDqu9j_MDaL3FX55hGohTo7bcxGkh7DZUZxp2k.cache +0 -2
  699. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/md/mdHEHx8LaupDr8RBnlPcCLcVaXXXDLVkDwkA5lyMo5A.cache +0 -3
  700. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/mj/Mj7A9lbnqq8HWQ4oZ_Ft4aWhsRC-UIDzrkVZ8SWrEPU.cache +0 -1
  701. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/mj/mjY2aZZ02nto2GZ71_yAUjF5Jb1XDt7cMy5msyjuThI.cache +0 -1
  702. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/ml/MLS_zZIS5DmriClc8fGrpnAxK5uJapFBikpg76g1Duc.cache +0 -2
  703. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/ml/mlHzBqLxfvuLe9fry0_wF4rB0f3s3EsUGMbumBxnHmI.cache +0 -5
  704. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/mv/mvFTEWDWQzFq6WFWr1DqkBC6EvJKCgNmI2kmfsIZBMU.cache +0 -1
  705. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/mv/mvQEgM0HM-GtCAZ92hVVlblbt-hNw5fdiDyLM3SRfAI.cache +0 -1
  706. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/mw/mwmw5J7pM6zIS_FniRCTubZsEcJczPieQMDS-jRr7Ns.cache +0 -0
  707. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/n6/n6zrSojyBXtqLGUeRvMSsVeU3vVRSyWAOMJ3-2ZTXfk.cache +0 -2
  708. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/nB/NBlxI-WSpIB-yU7yNiFNwSdrNc8Y5uVYBU4m3k8NMHc.cache +0 -0
  709. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/nB/nBsD5HV_9M69r7tHiL19GN0LmBAzqY8RP_ApnYVMniA.cache +0 -3
  710. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/nF/nFqAfMIevxw5LtKHpaVU0fgrDcsjhhidsuxjAhVfY7Y.cache +0 -1
  711. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/nc/nceotsBomMPs9HohTZVjHB8pNWs5WnsiJDVa2z3UpVU.cache +0 -3
  712. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/ne/ney1ugvM5ZS3M4TzOiBSspU4X2DbzLfnLG6v4wei8_0.cache +0 -3
  713. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/no/nowvdfUilO7NiY1rLAaDT-RBvR0mPRqQCWpJ2BlS9Lk.cache +0 -1
  714. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/nv/nvnQXO_8lM2RaEMDm-Wv_W7nf65zwpLOn1nvG9t6TEI.cache +0 -1
  715. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/nx/nx3CLRs_l0mbysXJWMfsAYd7rKkl15x2I4ZfGfV57_w.cache +0 -2
  716. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/nx/nxOONpvff5VUJifSCUzggvOKfBXTIVFE0st69tMiyIY.cache +0 -1
  717. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/oM/oMNuGBm-y8fPi5O0c4egebZg_F1EBmzMM4vc_lRNS2M.cache +0 -1
  718. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/oQ/oQ1DKgAqyN_AkODT8zHD6TvRX5m9b__HnFvOwaKKmYE.cache +0 -3
  719. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/oZ/oZRQTVccot5NMTnpXJba9RtEcwHRLiYCunf7mbm81Tw.cache +0 -3
  720. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/oc/OcU21UkLkT2QMVnf9wO2f9BINk8O88I3CZ3lfxqk2x8.cache +0 -1
  721. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/oc/ocTuFzkL8tmTYnTL_d3O3xOto5Wc1HrImeAvZwZrHoE.cache +0 -1
  722. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/ol/olazfxuT7OksvF_Rqr2lPBMqqytqKEYL7nLAZDVavUc.cache +0 -2
  723. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/op/opkGxVjV6xtEa9vtApIAq9WKw_t6IOzg0HgJbEBX_3I.cache +0 -1
  724. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/p6/p6g6sqDsRPD1NBFGwR3UWLXMirZmK_D9jxfdi32MtWQ.cache +0 -0
  725. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/pR/PRyRtttFlzFBwZ4VoIzGcSG201nboGJf4jeveniG74o.cache +0 -1
  726. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/pR/pR_AQsUMCZwL4hqegKkKT_POFmxemNCPxPi3OVtbLi4.cache +0 -0
  727. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/pU/pUzeHy_OOu9XEG85P4TuB21ZuXn28kdKYfVRec-cnwI.cache +0 -1
  728. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/pb/pbQlAMyKR3C6G3yVnpQUyeATveOEcCGPLkTMDS2qrmI.cache +0 -3
  729. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/pk/pkksBjc53O7xe4oRTWfovtC2Kd7SkSrRVF1Wzoh-Yww.cache +0 -3
  730. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/po/poAvjmLcrOe6zgrDUyTrgaPeufpd28qusmGXxa66q8s.cache +0 -1
  731. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/po/ponYKws_LHGiA09xiK8QHXxvefFF-PzL33KRtp4ggzo.cache +0 -3
  732. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/q-/q-jdRzVKeIUdBKUZYPPMTYxnGQZpNqH3XgRnin5pQ7I.cache +0 -3
  733. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/qO/qO9GO2hMcJbtAM-KW6GtyNriqw6V6zeexYlJxAj6hP8.cache +0 -0
  734. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/qR/qR-EhZ7MnCL0FQK1GR5ojJ8DL5JbJigYiEw3fhC8-1M.cache +0 -1
  735. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/qS/QSwjKX-_IyU4hJ1EF9yT2Us5O0I-IgQENPsGTAnVCeY.cache +0 -3
  736. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/qS/qSfd_ug_Xza4_vkD7fLj8fbheFOWx1Q_PAJB_SR_pRs.cache +0 -0
  737. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/q_/q_VJnhJYyBoSoHWZ9w-_OeXuU7xi-Q4VIebfpopKokk.cache +0 -0
  738. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/qb/qb8bL2VcoO9S5Z-UgASbd4o8dfmLjoamRgQRovAwQpY.cache +0 -3
  739. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/qb/qbyqVkP2JFOGk4vaDBOAO90RvgddYSbTJQI0GdkuYj0.cache +0 -1
  740. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/qu/qu4j9tasMUscoonY-3F6zcmQ54v70p_EDbraEV6F3lI.cache +0 -3
  741. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/qv/qvxABYt_tsq1txK-SsaPhLriSI8nFvFu_RfVE-wm2EQ.cache +0 -2
  742. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/qw/qwqIyguA5wFo-c5Udn-3ZlXhWUo6yI6FXNYe_vNg3zc.cache +0 -1
  743. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/qx/qxG6T191TpT2O61BoBBFPygYO-ChqNGB1EvRLOz7zCo.cache +0 -1
  744. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/rC/rCvL431ZIwByv4CwiWOGTyVrARgvsquAi9Yc__Sd2fI.cache +0 -1
  745. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/rJ/rJZdLrWVorY_eLgu0qO24nnrhRmG1tCnEVBMRa30_rY.cache +0 -1
  746. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/rW/RWAa2ytbz5kNA9bgHXa3fIMSCn-56eYhlpXQQFs1rKk.cache +0 -1
  747. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/rW/Rw3AqKBDDa0hv2hDncHsBCNjieppksE6w1VzthKy7To.cache +0 -3
  748. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/rW/rWv8CC3IFA4D5h-PSd8i3L87xojeeNnXWNwhu6SZuFY.cache +0 -1
  749. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/rZ/rZsZvZ4axnj52j1vaXhK8q--3D-PKMlmAtctY-N-reI.cache +0 -3
  750. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/rZ/rZxIoL5YXC69cj6AvJSEUUsIwdlCDt5RGjko2jpYUqM.cache +0 -2
  751. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/re/reOqYiu2wqavAV2w2lDl0kKaHnJom93xoa39NqKKgWk.cache +0 -3
  752. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/rf/rf5Xm-Eq6VPgcp7ps_aJarFoqAICeOheM4fW7DCLNUE.cache +0 -1
  753. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/rl/rlcguP32SoEjb5xNJ_F9LFbTKKW0xPYWJlVci8CoC0o.cache +0 -1
  754. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/s9/S9gU7PXEaeRZNHC3a7nXXkQMz0lvq1gaZ_cJR5HyjZo.cache +0 -2
  755. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/s9/s9DI_Pu0Pj1gAP4hw0AJCY07BTrTC2wjmHgMFrb5YMY.cache +0 -1
  756. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/sC/sCIE1sgnxJ6u8RotnTm7p4982RF-DUiVHtuw7LTCCWM.cache +0 -4
  757. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/sC/sCNM2nea2ILcY2Ok7jryHeVDFwOa-Dz4OV4RtTbmPB8.cache +0 -1
  758. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/sY/sY_eX37-SwGfn4DdpQEuxeh88T1cpn2wtuU58KkHt6Q.cache +0 -1
  759. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/se/sepIoCoVmKY5OwW59MWbgObT6JTWX_C3bFGHRAJp7kc.cache +0 -1
  760. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/si/siIygtKhObEk2o68Bu4gceNNi_6qjwKOy7odi4pWm6E.cache +0 -3
  761. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/sl/sl4T98LJhUmiSiyhdzH7jzf0Ulf9TN_HejcCElBoZpc.cache +0 -2
  762. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/t0/t09iJCLEHDUsaA8TJIKLuKjF_KMgEvSYtSrcQTW_EG4.cache +0 -3
  763. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/t1/t1G7aHnIxpllzDHowTyOaOEETtPKE5ExfvVsrqGQu7U.cache +0 -1
  764. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/tD/tDutWvJqgQV9oyu_Hq1GwztNtuao5iPGMCzLfU5l61E.cache +0 -2
  765. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/tG/TG9sYfhtpqsA1e7NiRFoxOVUq4lYSeiBAsI8zZfZb2E.cache +0 -1
  766. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/tG/tGhyONiy1Qd94i4EZBY-6oqyXCkrZsJ65tscPbhJr2E.cache +0 -1
  767. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/tT/tTJ4NZGgxNRuk5PWPSlB4Iv8Gwlfz09A3LvFZ3-ca8M.cache +0 -3
  768. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/tk/tkdHqOcLChruWoojV7v2gTTYmprmWprXxltoSyXec8c.cache +0 -1
  769. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/tr/tRo-MNZbEi74JlTNnaROaIPP6Pkae4liBhgs9scYYOE.cache +0 -3
  770. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/tr/tr4Kqi2gHEwOCC9mRVXDWTZKzyV53QiyIlvRALaUjg0.cache +0 -3
  771. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/tx/txwe66CUY5LLuzxV9kKXNm_iqZOuorKC-p3L2fZMbkg.cache +0 -0
  772. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/u5/u5j8bvqkCgreJ_HjBuOllLmahDTw2ALBCG_T_3c2YJo.cache +0 -0
  773. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/u8/u8xEsfwZHwv28WCvM81ZtG9rGeJlasTWuLjAnKT0T4Y.cache +0 -3
  774. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/uL/uLEwTbbdL8Opw8t6dqpsB_7uUT69J3ryQhXW2LBd0N8.cache +0 -1
  775. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/uR/uRjhD29m8WGYRPeMHLy8pzCTgYfr_WtgvLo-chiQwZc.cache +0 -3
  776. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/um/umOvg552J0HtpkqHH3pEgTTLCyp8f67flxJ5MAVYPrs.cache +0 -0
  777. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/uw/uwLxURkMzza0XJ63rxrCOU1qchHoLZO-Lzo6uMu9DFE.cache +0 -1
  778. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/uw/uwvHUyo5XYHpf717DgbmTsv3d3zuUPKPKrgsx-85u24.cache +0 -1
  779. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/v2/v2lW6dtUJLbwuTJYDCh0rvQs7s2tOmBOEuSGIV8dSIo.cache +0 -0
  780. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/vC/vCydQEog4Qb4lJxuqkce-z5vuon3ZX_z3FBKVIQd_ew.cache +0 -1
  781. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/vx/VXp7HwteQ9JRvD3ucnuRAXzOVnVbkf0uohkA-Y7GxZM.cache +0 -3
  782. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/vx/VxD6yO1pSU7_3K1FY0SmXbMR3J_HKV8z2GDrxt_6vWU.cache +0 -3
  783. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/vx/vxTZfn2AUtKV-2ASKmnqUCxP1MyzaFdIy87j9t-yhTU.cache +0 -1
  784. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/vz/vzQvdVTjAXLfK_cl8Vfk6ZgmcZIUzPRUutfBZ4hdvyE.cache +0 -0
  785. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/vz/vzybTBEUhpRXo3e2VhnvT2ao-qMkDK_ZeiUpX36I_Gg.cache +0 -0
  786. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/wB/WBqgYT6StOBq951gYU36GT0E-TpHOOnJRm1v7E2G2zM.cache +0 -1
  787. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/wB/wBLTAIWkqdLI7kqAhWl8J9OggvhxKhP67vbOKXZHwsw.cache +0 -1
  788. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/wF/wFKiSy9VpgZe-dfPOH3eldAh7u6Fi109EwCZGHo6SCs.cache +0 -2
  789. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/wN/wNa3xUWOHqypPjy8S3pBxiWaMnlJLYtID0JZQoesOHg.cache +0 -1
  790. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/wP/Wp3YgBk2X-mXpCBxixEqbTD40-ylI60gMm3YhBdB7Cg.cache +0 -1
  791. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/wP/wP81Zjit5Y3iE_DdwhSHN2eIdTrOb0LvfY9jJB39CI4.cache +0 -1
  792. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/wa/waF1aNJ2Go1VKq-yAYf3ngWceqxrC5KIY1iH7VmN5YE.cache +0 -1
  793. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/wc/wclqcXb80448_VKFGlQ2QVADskG2wEB2Y--OkCNl4og.cache +0 -3
  794. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/wh/whNJgVLsgFshceX1wr6ue6ajoYsdYDiaWcwy2JxmnMU.cache +0 -1
  795. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/wk/wk1UfgM9Vths5KIRvnmOeJp6a2wV33h29GYgA1F1bYw.cache +0 -1
  796. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/wk/wkSOuLScZQXdMVRs0OiJMtdsYFiDHIK1Y-2qp6D3eu0.cache +0 -1
  797. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/wz/wzJabJ5fCaYFNLc5Y7xrJl6q6_ofBX6QqHoV22jdESU.cache +0 -1
  798. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/x3/x3rtSXu_xiVU10wLHFk4ZKrjsu71XE3C1Ca5Gr3LHKU.cache +0 -3
  799. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/xI/XIq9k5cICCs__17IM7frU3c5QZ0XZCOLGe8H1svFkJA.cache +0 -3
  800. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/xI/xIjlX9FeRzNScqL9BCJsKx6UvRBxmm8vdzKfl6iaF6A.cache +0 -3
  801. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/xJ/xJWYazg8Y-WynFiWi_aBjExssVu9gBUW0CV_JETIDGg.cache +0 -1
  802. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/xv/xv6DLcfXBehnbc1jniOi82SmMYE4WL_pIn4OVYg0FvE.cache +0 -1
  803. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/xw/xWt6bF1RLgfcHqvsYN9HV9_lJNq0mjFCM4sUXFyoQoI.cache +0 -0
  804. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/xw/xwZkDc7uGxyDR1Ew7OStyBEc2OkB2I2agn_WYJX9EAA.cache +0 -3
  805. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/xw/xwg_JNzHPzfJbrLhl02_eURM4Gw77-GA248j65CTxSQ.cache +0 -4
  806. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/xz/xzDFM0Hu_rdNJYsIBrxcRr70zobHv_TSNDrZB-cZYz4.cache +0 -3
  807. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/xz/xza6UENuqnm_wNzEUY0Yby1gnTHt4ttgOj7dxUAycps.cache +0 -1
  808. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/yE/yEoVzhbN300zuIgjPIEim5EFwjvOrw8OGW0nubwO0g0.cache +0 -1
  809. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/yE/yEqqlMHGsgd1nZZmV78vUHeulv6KYYTSCze4xjfG-l8.cache +0 -1
  810. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/yM/yMOX1_UN6v29M5V5_EO9FBLF79zvl2SuUrbiLuVHlYE.cache +0 -3
  811. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/yO/YoC4edMUTBwVzS8gHxNmQ9sX6gZ6nAxVtu6xFu2QH_8.cache +0 -1
  812. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/yO/yO06rvaejiA-fMiVVcGIkwJzTNGfgQSJklYDmurl4EE.cache +0 -1
  813. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/yO/yOR406JijlH5eQlWdlPXpaVdaj5feRF49rPdGm2kDYU.cache +0 -3
  814. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/yW/yWQEb5IOH2RdFe2V5beyhlP8KMU231fr29X7XvR7w9w.cache +0 -1
  815. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/yc/yCSglsWl0KQOx-Ef-6XfZzogpsZbfduZ6pkxpRQjVYI.cache +0 -1
  816. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/yc/ycMUa5ApqwTVHPsCf_9boJ_AyveVMCT1h_tGP6Z_mj4.cache +0 -3
  817. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/yd/ydwowT1exqyhJLVQeQVZQ7HEGvRFaJ91KeDYnmBQ4vA.cache +0 -3
  818. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/yh/yhivNfi1oWyHUxKABQXoOI7KrRfnPhCkXGQ11_xii2w.cache +0 -3
  819. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/yl/yl7B0TKkkgi7vRlEreN86Ojdcfu5Oq8c8VydQOjlZfM.cache +0 -1
  820. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/yn/ynTRbihy3wwqnJM-VBa4KSoyypRu512_UWV3shPCa8U.cache +0 -3
  821. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/yt/ytS9ld5Bz2qaxkQqrzjfvImZHq3vBClCVNdTAJA0_cw.cache +0 -1
  822. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/yt/ytSofzNwP69ZJyTEC21f2VT0y_YPJBV5mxvFbSyVN1c.cache +0 -0
  823. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/z-/z-BDBPCCQU4vYR8XI0Me2LsXI7-IhCNDEewWoMdzgUo.cache +0 -1
  824. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/zE/zEoto66t05MKxkAXIRfLLXB7epX5Z6LOf32UbWPGXPI.cache +0 -1
  825. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/zQ/zQhh_ttbvyD-MXQuXQ9QH85ib4HJlNxICU06ZpbTYLk.cache +0 -3
  826. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/zY/zYCrDXgFmqqKlpXFZKiULk24_WEUrUguhJpFtBfGJ0s.cache +0 -0
  827. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/zd/zdBRqE6T7pW1OvcRZiJ7XTNDvGu6y1iyLSYsNzk1mGg.cache +0 -1
  828. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/zd/zdlsms9UJmz8qZDX2buAIRqw3zveAPZp9dc8obcz5ok.cache +0 -1
  829. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/zo/zo0R326v6xzyUkrXtVe7V5FiRoKLqt0aMFXxH0DzjoY.cache +0 -3
  830. data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/zw/zwN79gZh7SGrEhBjxL7lIkA28UV-U_k25fPOaOTG5w4.cache +0 -0
  831. data/spec/test_app/tmp/local_secret.txt +0 -1
  832. data/spec/travis_spec.rb +0 -9
@@ -1,807 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # == Schema Information
4
- #
5
- # Table name: events
6
- #
7
- # id :integer not null, primary key
8
- # description :text
9
- # end_time :datetime
10
- # locked :boolean default(FALSE)
11
- # rrule :string
12
- # start_time :datetime
13
- # title :string
14
- # url :string
15
- # venue_details :text
16
- # created_at :datetime
17
- # updated_at :datetime
18
- # duplicate_of_id :integer
19
- # source_id :integer
20
- # venue_id :integer
21
- #
22
- require 'spec_helper'
23
-
24
- module Calagator
25
- describe Event, type: :model do
26
- describe 'in general' do
27
- it 'is valid' do
28
- event = described_class.new(title: 'Event title', start_time: Time.zone.parse('2008.04.12'))
29
- expect(event).to be_valid
30
- end
31
-
32
- it 'adds a http:// prefix to urls without one' do
33
- event = described_class.new(title: 'Event title', start_time: Time.zone.parse('2008.04.12'), url: 'google.com')
34
- expect(event).to be_valid
35
- end
36
-
37
- it 'validates denylisted words' do
38
- DenylistValidator.any_instance.stub(patterns: [/\bcialis\b/, /\bviagra\b/])
39
- event = described_class.new(title: 'Foo bar cialis', start_time: Time.zone.parse('2008.04.12'), url: 'google.com')
40
- expect(event).not_to be_valid
41
- end
42
-
43
- it 'can be locked' do
44
- event = described_class.create(title: 'Event title', start_time: Time.zone.parse('2008.04.12'))
45
- event.lock_editing!
46
- expect(event.locked).to eq(true)
47
- end
48
-
49
- it 'can be unlocked' do
50
- event = described_class.create(title: 'Event title', start_time: Time.zone.parse('2008.04.12'), locked: true)
51
- event.unlock_editing!
52
- expect(event.locked).to eq(false)
53
- end
54
-
55
- it "can only be deleted when unlocked" do
56
- event = described_class.create(title: 'Event title', start_time: Time.zone.parse('2008.04.12'))
57
-
58
- event.lock_editing!
59
- expect(event.destroy).to eq(false)
60
-
61
- event.unlock_editing!
62
- expect(event.destroy).to be_truthy
63
- end
64
- end
65
-
66
- describe 'when checking time status' do
67
- it 'is old if event ended before today' do
68
- expect(build(:event, start_time: 2.days.ago, end_time: 1.day.ago)).to be_old
69
- end
70
-
71
- it 'is current if event is happening today' do
72
- expect(build(:event, start_time: 1.hour.from_now)).to be_current
73
- end
74
-
75
- it 'is ongoing if it began before today but ends today or later' do
76
- expect(build(:event, start_time: 1.day.ago, end_time: 1.day.from_now)).to be_ongoing
77
- end
78
- end
79
-
80
- describe 'dealing with tags' do
81
- before do
82
- @tags = 'some, tags'
83
- @event = described_class.new(title: 'Tagging Day', start_time: now)
84
- end
85
-
86
- it 'is taggable' do
87
- expect(@event.tag_list).to eq []
88
- end
89
-
90
- it 'adds tags without saving if it is a new record' do
91
- expect(@event).not_to receive :save
92
- expect(@event).to be_new_record
93
- @event.tag_list.add(@tags, parse: true)
94
- expect(@event.tag_list.to_s).to eq @tags
95
- end
96
-
97
- it 'uses tags with punctuation' do
98
- tags = ['.net', 'foo-bar']
99
- @event.tag_list.add(tags)
100
- @event.save
101
-
102
- @event.reload
103
- expect(@event.tags.map(&:name).sort).to eq tags.sort
104
- end
105
-
106
- it 'does not interpret numeric tags as IDs' do
107
- tag = ['123']
108
- @event.tag_list.add(tag)
109
- @event.save
110
-
111
- @event.reload
112
- expect(@event.tags.first.name).to eq '123'
113
- end
114
-
115
- it 'returns a collection of events for a given tag' do
116
- @event.tag_list.add(@tags, parse: true)
117
- @event.save
118
- expect(described_class.tagged_with('tags')).to eq [@event]
119
- end
120
- end
121
-
122
- describe 'when parsing' do
123
- before do
124
- @basic_hcal = read_sample('hcal_basic.xml')
125
- @basic_venue = mock_model(Venue, title: 'Argent Hotel, San Francisco, CA', full_address: '50 3rd St, San Francisco, CA 94103')
126
- @basic_event = described_class.new(
127
- title: 'Web 2.0 Conference',
128
- url: 'http://www.web2con.com/',
129
- start_time: 1.day.from_now,
130
- end_time: nil,
131
- venue: @basic_venue
132
- )
133
- end
134
-
135
- it 'parses an iCalendar into an Event' do
136
- url = 'http://foo.bar/'
137
- actual_ical = Event::IcalRenderer.render(@basic_event)
138
- stub_request(:get, url).to_return(body: actual_ical)
139
-
140
- events = Source::Parser.to_events(url: url)
141
-
142
- expect(events.size).to eq 1
143
- event = events.first
144
- expect(event.title).to eq @basic_event.title
145
- expect(event.url).to eq @basic_event.url
146
- expect(event.description).to be_blank
147
-
148
- expect(event.venue.title).to match "#{@basic_event.venue.title}: #{@basic_event.venue.full_address}"
149
- end
150
-
151
- it 'parses an iCalendar into an Event without a URL and generate it' do
152
- generated_url = 'http://foo.bar/'
153
- @basic_event.url = nil
154
- actual_ical = Event::IcalRenderer.render(@basic_event, url_helper: ->(_event) { generated_url })
155
- url = 'http://foo.bar/'
156
- stub_request(:get, url).to_return(body: actual_ical)
157
-
158
- events = Source::Parser.to_events(url: url)
159
-
160
- expect(events.size).to eq 1
161
- event = events.first
162
- expect(event.title).to eq @basic_event.title
163
- expect(event.url).to eq @basic_event.url
164
- expect(event.description).to match /Imported from: #{generated_url}/
165
-
166
- expect(event.venue.title).to match "#{@basic_event.venue.title}: #{@basic_event.venue.full_address}"
167
- end
168
- end
169
-
170
- describe 'when processing date' do
171
- before do
172
- @event = described_class.new(title: 'MyEvent')
173
- end
174
-
175
- it 'fails to validate if start time is nil' do
176
- @event.start_time = nil
177
- expect(@event).not_to be_valid
178
- expect(@event.errors[:start_time].size).to eq(1)
179
- end
180
-
181
- it 'fails to validate if start time is blank' do
182
- @event.start_time = ''
183
- expect(@event).not_to be_valid
184
- expect(@event.errors[:start_time].size).to eq(1)
185
- end
186
-
187
- it 'fails to validate if end_time is earlier than start time' do
188
- @event.start_time = now
189
- @event.end_time = @event.start_time - 2.hours
190
- expect(@event).to be_invalid
191
- expect(@event.errors[:end_time].size).to eq(1)
192
- end
193
- end
194
-
195
- describe 'when processing url' do
196
- before do
197
- @event = described_class.new(title: 'MyEvent', start_time: now)
198
- end
199
-
200
- let(:valid_urls) do
201
- [
202
- 'hackoregon.org',
203
- 'http://www.meetup.com/Hack_Oregon-Data/events/',
204
- 'example.com',
205
- 'sub.example.com/',
206
- 'sub.domain.my-example.com',
207
- 'example.com/?stuff=true',
208
- 'example.com:5000/?stuff=true',
209
- 'sub.domain.my-example.com/path/to/file/hello.html',
210
- 'hello.museum',
211
- 'http://example.com'
212
- ]
213
- end
214
-
215
- let(:invalid_urls) do
216
- [
217
- 'hackoregon.org, http://www.meetup.com/Hack_Oregon-Data/events/',
218
- "hackoregon.org\nhttp://www.meetup.com/",
219
- 'htttp://www.example.com'
220
- ]
221
- end
222
-
223
- it 'validates with valid urls (with scheme included or not)' do
224
- valid_urls.each do |valid_url|
225
- @event.url = valid_url
226
- expect(@event).to be_valid
227
- end
228
- end
229
-
230
- it 'fails to validate with invalid urls (with scheme included or not)' do
231
- invalid_urls.each do |invalid_url|
232
- @event.url = invalid_url
233
- expect(@event).to be_invalid
234
- end
235
- end
236
- end
237
-
238
- describe '#start_time=' do
239
- it 'clears with nil' do
240
- expect(described_class.new(start_time: nil).start_time).to be_nil
241
- end
242
-
243
- it 'sets from date String' do
244
- event = described_class.new(start_time: '2009-01-02')
245
- expect(event.start_time).to eq Time.zone.parse('2009-01-02')
246
- end
247
-
248
- it 'sets from date-time String' do
249
- event = described_class.new(start_time: '2009-01-02 03:45')
250
- expect(event.start_time).to eq Time.zone.parse('2009-01-02 03:45')
251
- end
252
-
253
- it 'sets from Date' do
254
- event = described_class.new(start_time: Date.parse('2009-02-01'))
255
- expect(event.start_time).to eq Time.zone.parse('2009-02-01')
256
- end
257
-
258
- it 'sets from DateTime' do
259
- event = described_class.new(start_time: Time.zone.parse('2009-01-01 05:30'))
260
- expect(event.start_time).to eq Time.zone.parse('2009-01-01 05:30')
261
- end
262
-
263
- it 'flags an invalid time and reset to nil' do
264
- event = described_class.new(start_time: '2010/1/1')
265
- event.start_time = '1/0'
266
- expect(event.start_time).to be_nil
267
- expect(event.errors[:start_time]).to be_present
268
- end
269
- end
270
-
271
- describe '#end_time=' do
272
- it 'clears with nil' do
273
- expect(described_class.new(end_time: nil).end_time).to be_nil
274
- end
275
-
276
- it 'sets from date String' do
277
- event = described_class.new(end_time: '2009-01-02')
278
- expect(event.end_time).to eq Time.zone.parse('2009-01-02')
279
- end
280
-
281
- it 'sets from date-time String' do
282
- event = described_class.new(end_time: '2009-01-02 03:45')
283
- expect(event.end_time).to eq Time.zone.parse('2009-01-02 03:45')
284
- end
285
-
286
- it 'sets from Date' do
287
- event = described_class.new(end_time: Date.parse('2009-02-01'))
288
- expect(event.end_time).to eq Time.zone.parse('2009-02-01')
289
- end
290
-
291
- it 'sets from DateTime' do
292
- event = described_class.new(end_time: Time.zone.parse('2009-01-01 05:30'))
293
- expect(event.end_time).to eq Time.zone.parse('2009-01-01 05:30')
294
- end
295
-
296
- it 'flags an invalid time' do
297
- event = described_class.new(end_time: '1/0')
298
- expect(event.errors[:end_time]).to be_present
299
- end
300
- end
301
-
302
- describe '#duration' do
303
- it 'returns the event length in seconds' do
304
- event = described_class.new(start_time: '2010-01-01', end_time: '2010-01-03')
305
- expect(event.duration).to eq(172_800)
306
- end
307
-
308
- it "returns zero if start and end times aren't present" do
309
- expect(described_class.new.duration).to eq(0)
310
- end
311
- end
312
-
313
- describe '.search_tag' do
314
- before do
315
- @c = create(:event, title: 'c', start_time: 3.minutes.ago, tag_list: %w[tag wtf])
316
- @b = create(:event, title: 'b', start_time: 2.minutes.ago, tag_list: %w[omg wtf])
317
- @a = create(:event, title: 'a', start_time: 1.minute.ago, tag_list: %w[tag omg])
318
- end
319
-
320
- it 'finds events with the given tag' do
321
- described_class.search_tag('tag').should == [@c, @a]
322
- end
323
-
324
- it 'accepts an order option' do
325
- described_class.search_tag('tag', order: 'name').should == [@a, @c]
326
- end
327
- end
328
-
329
- describe 'when finding by dates' do
330
- before do
331
- @today_midnight = today
332
- @yesterday = @today_midnight.yesterday
333
- @tomorrow = @today_midnight.tomorrow
334
-
335
- @this_venue = Venue.create!(title: 'This venue')
336
-
337
- @started_before_today_and_ends_after_today = described_class.create!(
338
- title: 'Event in progress',
339
- start_time: @yesterday,
340
- end_time: @tomorrow,
341
- venue_id: @this_venue.id
342
- )
343
-
344
- @started_midnight_and_continuing_after = described_class.create!(
345
- title: 'Midnight start',
346
- start_time: @today_midnight,
347
- end_time: @tomorrow,
348
- venue_id: @this_venue.id
349
- )
350
-
351
- @started_and_ended_yesterday = described_class.create!(
352
- title: 'Yesterday start',
353
- start_time: @yesterday,
354
- end_time: @yesterday.end_of_day,
355
- venue_id: @this_venue.id
356
- )
357
-
358
- @started_today_and_no_end_time = described_class.create!(
359
- title: 'nil end time',
360
- start_time: @today_midnight,
361
- end_time: nil,
362
- venue_id: @this_venue.id
363
- )
364
-
365
- @starts_and_ends_tomorrow = described_class.create!(
366
- title: 'starts and ends tomorrow',
367
- start_time: @tomorrow,
368
- end_time: @tomorrow.end_of_day,
369
- venue_id: @this_venue.id
370
- )
371
-
372
- @starts_after_tomorrow = described_class.create!(
373
- title: 'Starting after tomorrow',
374
- start_time: @tomorrow + 1.day,
375
- venue_id: @this_venue.id
376
- )
377
-
378
- @started_before_today_and_ends_at_midnight = described_class.create!(
379
- title: 'Midnight end',
380
- start_time: @yesterday,
381
- end_time: @today_midnight,
382
- venue_id: @this_venue.id
383
- )
384
-
385
- @future_events_for_this_venue = @this_venue.events.future
386
- end
387
-
388
- describe 'for future events' do
389
- before do
390
- @future_events = described_class.future
391
- end
392
-
393
- it 'includes events that started earlier today' do
394
- expect(@future_events).to include @started_midnight_and_continuing_after
395
- end
396
-
397
- it 'includes events with no end time that started today' do
398
- expect(@future_events).to include @started_today_and_no_end_time
399
- end
400
-
401
- it 'includes events that started before today and ended after today' do
402
- events = described_class.future
403
- expect(events).to include @started_before_today_and_ends_after_today
404
- end
405
-
406
- it 'includes events with no end time that started today' do
407
- expect(@future_events).to include @started_today_and_no_end_time
408
- end
409
-
410
- it 'does not include events that ended before today' do
411
- expect(@future_events).not_to include @started_and_ended_yesterday
412
- end
413
- end
414
-
415
- describe 'for future events with venue' do
416
- before do
417
- @another_venue = Venue.create!(title: 'Another venue')
418
-
419
- @future_event_another_venue = described_class.create!(
420
- title: 'Starting after tomorrow',
421
- start_time: @tomorrow + 1.day,
422
- venue_id: @another_venue.id
423
- )
424
-
425
- @future_event_no_venue = described_class.create!(
426
- title: 'Starting after tomorrow',
427
- start_time: @tomorrow + 1.day
428
- )
429
- end
430
-
431
- # TODO: Consider moving these examples elsewhere because they don't appear to relate to this scope. This comment applies to the examples from here...
432
- it 'includes events that started earlier today' do
433
- expect(@future_events_for_this_venue).to include @started_midnight_and_continuing_after
434
- end
435
-
436
- it 'includes events with no end time that started today' do
437
- expect(@future_events_for_this_venue).to include @started_today_and_no_end_time
438
- end
439
-
440
- it 'includes events that started before today and ended after today' do
441
- expect(@future_events_for_this_venue).to include @started_before_today_and_ends_after_today
442
- end
443
-
444
- it 'does not include events that ended before today' do
445
- expect(@future_events_for_this_venue).not_to include @started_and_ended_yesterday
446
- end
447
- # TODO: ...to here.
448
-
449
- it 'does not include events for another venue' do
450
- expect(@future_events_for_this_venue).not_to include @future_event_another_venue
451
- end
452
-
453
- it 'does not include events with no venue' do
454
- expect(@future_events_for_this_venue).not_to include @future_event_no_venue
455
- end
456
- end
457
-
458
- describe 'for date range' do
459
- it 'includes events that started earlier today' do
460
- events = described_class.within_dates(@today_midnight, @tomorrow)
461
- expect(events).to include @started_midnight_and_continuing_after
462
- end
463
-
464
- it 'includes events that started before today and end after today' do
465
- events = described_class.within_dates(@today_midnight, @tomorrow)
466
- expect(events).to include @started_before_today_and_ends_after_today
467
- end
468
-
469
- it 'does not include past events' do
470
- events = described_class.within_dates(@today_midnight, @tomorrow)
471
- expect(events).not_to include @started_and_ended_yesterday
472
- end
473
-
474
- it 'excludes events that start after the end of the range' do
475
- events = described_class.within_dates(@tomorrow, @tomorrow)
476
- expect(events).not_to include @started_today_and_no_end_time
477
- end
478
- end
479
- end
480
-
481
- describe 'when ordering' do
482
- describe 'with .ordered_by_ui_field' do
483
- it 'defaults to order by start time' do
484
- event1 = create(:event, start_time: Time.zone.parse('2003-01-01'))
485
- event2 = create(:event, start_time: Time.zone.parse('2002-01-01'))
486
- event3 = create(:event, start_time: Time.zone.parse('2001-01-01'))
487
-
488
- events = described_class.ordered_by_ui_field(nil)
489
- expect(events).to eq([event3, event2, event1])
490
- end
491
-
492
- it 'can order by event name' do
493
- event1 = create(:event, title: 'CU there')
494
- event2 = create(:event, title: 'Be there')
495
- event3 = create(:event, title: 'An event')
496
-
497
- events = described_class.ordered_by_ui_field('name')
498
- expect(events).to eq([event3, event2, event1])
499
- end
500
-
501
- it 'can order by venue name' do
502
- event1 = create(:event, venue: create(:venue, title: 'C venue'))
503
- event2 = create(:event, venue: create(:venue, title: 'B venue'))
504
- event3 = create(:event, venue: create(:venue, title: 'A venue'))
505
-
506
- events = described_class.ordered_by_ui_field('venue')
507
- expect(events).to eq([event3, event2, event1])
508
- end
509
- end
510
- end
511
-
512
- describe 'with finding duplicates' do
513
- before do
514
- @non_duplicate_event = create(:event)
515
- @duplicate_event = create(:duplicate_event)
516
- @events = [@non_duplicate_event, @duplicate_event]
517
- end
518
-
519
- it 'finds all events that have not been marked as duplicate' do
520
- non_duplicates = described_class.non_duplicates
521
- expect(non_duplicates).to include @non_duplicate_event
522
- expect(non_duplicates).not_to include @duplicate_event
523
- end
524
-
525
- it 'finds all events that have been marked as duplicate' do
526
- duplicates = described_class.marked_duplicates
527
- expect(duplicates).to include @duplicate_event
528
- expect(duplicates).not_to include @non_duplicate_event
529
- end
530
- end
531
-
532
- describe 'with finding duplicates (integration test)' do
533
- subject do
534
- create(:event)
535
- end
536
-
537
- before do
538
- # this event should always be omitted from the results
539
- past = create(:event, start_time: 1.week.ago)
540
- end
541
-
542
- it 'returns future events when provided na' do
543
- future = described_class.create!(title: subject.title, start_time: 1.day.from_now)
544
- events = described_class.find_duplicates_by_type('na')
545
- expect(events).to eq([nil] => [subject, future])
546
- end
547
-
548
- it 'finds duplicate title by title' do
549
- clone = described_class.create!(title: subject.title, start_time: subject.start_time)
550
- events = described_class.find_duplicates_by_type('title')
551
- expect(events).to eq([subject.title] => [subject, clone])
552
- end
553
-
554
- it 'finds duplicate title by any' do
555
- clone = described_class.create!(title: subject.title, start_time: subject.start_time + 1.minute)
556
- events = described_class.find_duplicates_by_type('title')
557
- expect(events).to eq([subject.title] => [subject, clone])
558
- end
559
-
560
- it 'does not find duplicate title by url' do
561
- clone = described_class.create!(title: subject.title, start_time: subject.start_time)
562
- events = described_class.find_duplicates_by_type('url')
563
- expect(events).to be_empty
564
- end
565
-
566
- it 'finds complete duplicates by all' do
567
- clone = described_class.create!(subject.attributes.merge(id: nil))
568
- events = described_class.find_duplicates_by_type('all')
569
- expect(events).to eq([nil] => [subject, clone])
570
- end
571
-
572
- it 'does not find incomplete duplicates by all' do
573
- clone = described_class.create!(subject.attributes.merge(title: 'SpaceCube', start_time: subject.start_time, id: nil))
574
- events = described_class.find_duplicates_by_type('all')
575
- expect(events).to be_empty
576
- end
577
-
578
- it 'finds duplicate for matching multiple fields' do
579
- clone = described_class.create!(title: subject.title, start_time: subject.start_time)
580
- events = described_class.find_duplicates_by_type('title,start_time')
581
- expect(events).to eq([subject.title, subject.start_time] => [subject, clone])
582
- end
583
-
584
- it 'does not find duplicates for mismatching multiple fields' do
585
- clone = described_class.create!(title: 'SpaceCube', start_time: subject.start_time)
586
- events = described_class.find_duplicates_by_type('title,start_time')
587
- expect(events).to be_empty
588
- end
589
- end
590
-
591
- describe 'when squashing duplicates (integration test)' do
592
- before do
593
- @event = create(:event, :with_venue)
594
- @venue = @event.venue
595
- end
596
-
597
- it "consolidates associations, merge tags, and update the venue's counter_cache" do
598
- @event.tag_list.add(%w[first second]) # primary event contains one duplicate tag, and one unique tag
599
-
600
- clone = described_class.create!(@event.attributes.merge(id: nil))
601
- clone.tag_list.replace %w[second third] # duplicate event also contains one duplicate tag, and one unique tag
602
- clone.save!
603
- clone.reload
604
- expect(clone).not_to be_duplicate
605
- expect(@venue.reload.events_count).to eq 2
606
-
607
- described_class.squash(@event, clone)
608
- expect(@event.tag_list.to_a.sort).to eq %w[first second third] # primary now contains all three tags
609
- expect(clone.duplicate_of).to eq @event
610
- expect(@venue.reload.events_count).to eq 1
611
- end
612
- end
613
-
614
- describe 'when checking for squashing' do
615
- before do
616
- @today = today
617
- @primary = described_class.create!(title: 'primary', start_time: @today)
618
- @duplicate1 = described_class.create!(title: '1st duplicate', start_time: @today, duplicate_of_id: @primary.id)
619
- @duplicate2 = described_class.create!(title: '2nd duplicate', start_time: @today, duplicate_of_id: @duplicate1.id)
620
- @orphan = described_class.create!(title: 'orphan', start_time: @today, duplicate_of_id: 999_999)
621
- end
622
-
623
- it 'recognizes a primary' do
624
- expect(@primary).to be_a_primary
625
- end
626
-
627
- it 'recognizes a duplicate' do
628
- expect(@duplicate1).to be_a_duplicate
629
- end
630
-
631
- it 'does not think that a duplicate is a primary' do
632
- expect(@duplicate2).not_to be_a_primary
633
- end
634
-
635
- it 'does not think that a primary is a duplicate' do
636
- expect(@primary).not_to be_a_duplicate
637
- end
638
-
639
- it 'returns the originator of a duplicate' do
640
- expect(@duplicate1.originator).to eq @primary
641
- end
642
-
643
- it 'returns the originator of a secondary duplicate' do
644
- expect(@duplicate2.originator).to eq @primary
645
- end
646
-
647
- it 'returns a primary as its own originator' do
648
- expect(@primary.originator).to eq @primary
649
- end
650
-
651
- it 'returns a marked duplicate as originator if it is orphaned' do
652
- expect(@orphan.originator).to eq @orphan
653
- end
654
- end
655
-
656
- describe 'when versioning' do
657
- it 'has versions' do
658
- expect(described_class.new.versions).to eq []
659
- end
660
-
661
- it 'creates a new version after updating' do
662
- event = described_class.create!(title: 'Event title', start_time: Time.zone.parse('2008.04.12'))
663
- expect(event.versions.count).to eq 1
664
-
665
- event.title = 'New Title'
666
- event.save!
667
- expect(event.versions.count).to eq 2
668
- end
669
- end
670
-
671
- describe 'when converting to iCal' do
672
- def ical_roundtrip(events, opts = {})
673
- parsed_events = RiCal.parse_string(Event::IcalRenderer.render(events, opts)).first.events
674
- if events.is_a?(Event)
675
- parsed_events.first
676
- else
677
- parsed_events
678
- end
679
- end
680
-
681
- it 'produces parsable iCal output' do
682
- expect { ical_roundtrip(build(:event)) }.not_to raise_error
683
- end
684
-
685
- it 'represents an event without an end time as a 1-hour block' do
686
- event = build(:event, start_time: now, end_time: nil)
687
- expect(event.end_time).to be_blank
688
-
689
- rt = ical_roundtrip(event)
690
- expect(rt.dtend - rt.dtstart).to eq 1.hour
691
- end
692
-
693
- it 'sets the appropriate end time if one is given' do
694
- event = build(:event, start_time: now, end_time: now + 2.hours)
695
-
696
- rt = ical_roundtrip(event)
697
- expect(rt.dtend - rt.dtstart).to eq 2.hours
698
- end
699
-
700
- describe "when comparing Event's attributes to its iCalendar output" do
701
- let(:event) { build(:event, id: 123, created_at: now) }
702
- let(:ical) { ical_roundtrip(event) }
703
-
704
- { summary: :title,
705
- created: :created_at,
706
- last_modified: :updated_at,
707
- description: :description,
708
- url: :url,
709
- dtstart: :start_time,
710
- dtstamp: :created_at }.each do |ical_attribute, model_attribute|
711
- it "maps the Event's #{model_attribute} attribute to '#{ical_attribute}' in the iCalendar output" do
712
- model_value = event.send(model_attribute)
713
- ical_value = ical.send(ical_attribute)
714
-
715
- case model_value
716
- when ActiveSupport::TimeWithZone
717
- # Compare raw time because one is using local time zone, while other is using UTC time.
718
- expect(model_value.to_i).to eq ical_value.to_i
719
- else
720
- expect(model_value).to eq ical_value
721
- end
722
- end
723
- end
724
- end
725
-
726
- it 'calls the URL helper to generate a UID' do
727
- event = build(:event)
728
- expect(ical_roundtrip(event, url_helper: ->(_e) { "UID'D!" }).uid).to eq "UID'D!"
729
- end
730
-
731
- it 'strips HTML from the description' do
732
- event = create(:event, description: '<blink>OMFG HTML IS TEH AWESOME</blink>')
733
- expect(ical_roundtrip(event).description).not_to include '<blink>'
734
- end
735
-
736
- it 'includes tags in the description' do
737
- event = build(:event)
738
- event.tag_list.add('tags, folksonomy, categorization', parse: true)
739
- expect(ical_roundtrip(event).description).to include event.tag_list.to_s
740
- end
741
-
742
- it 'leaves URL blank if no URL is provided' do
743
- event = build(:event, url: nil)
744
- expect(ical_roundtrip(event).url).to be_nil
745
- end
746
-
747
- it 'has Source URL if URL helper is given)' do
748
- event = build(:event)
749
- expect(ical_roundtrip(event, url_helper: ->(_e) { 'FAKE' }).description).to match /FAKE/
750
- end
751
-
752
- it 'creates multi-day entries for multi-day events' do
753
- time = Time.zone.now
754
- event = build(:event, start_time: time, end_time: time + 4.days)
755
- parsed_event = ical_roundtrip(event)
756
-
757
- start_time = Date.current
758
- expect(parsed_event.dtstart).to eq start_time
759
- expect(parsed_event.dtend).to eq(start_time + 5.days)
760
- end
761
-
762
- describe 'sequence' do
763
- def event_to_ical(event)
764
- RiCal.parse_string(Event::IcalRenderer.render([event])).first.events.first
765
- end
766
-
767
- it 'sets an initial sequence on a new event' do
768
- event = create(:event)
769
- ical = event_to_ical(event)
770
- expect(ical.sequence).to eq 1
771
- end
772
-
773
- it 'increments the sequence if it is updated' do
774
- event = create(:event)
775
- event.update_attribute(:title, 'Update 1')
776
- ical = event_to_ical(event)
777
- expect(ical.sequence).to eq 2
778
- end
779
-
780
- # it "should offset the squence based the global Calagator.icalendar_sequence_offset" do
781
- # Calagator.should_receive(:icalendar_sequence_offset).and_return(41)
782
- # event = build(:event)
783
- # ical = event_to_ical(event)
784
- # ical.sequence.should eq 42
785
- # end
786
- end
787
-
788
- describe '- the headers' do
789
- before do
790
- @data = Event::IcalRenderer.render(build(:event))
791
- end
792
-
793
- it 'includes the calendar name' do
794
- expect(@data).to match /\sX-WR-CALNAME:#{Calagator.title}\s/
795
- end
796
-
797
- it 'includes the method' do
798
- expect(@data).to match /\sMETHOD:PUBLISH\s/
799
- end
800
-
801
- it 'includes the scale' do
802
- expect(@data).to match /\sCALSCALE:Gregorian\s/i
803
- end
804
- end
805
- end
806
- end
807
- end