zuora_connect_ui 0.8.1 → 0.8.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1158) hide show
  1. checksums.yaml +4 -4
  2. data/app/helpers/zuora_connect_ui/application_helper.rb +1 -1
  3. data/lib/zuora_connect_ui/version.rb +1 -1
  4. data/vendor/ruby/2.6.0/cache/actionpack-6.0.0.gem +0 -0
  5. data/vendor/ruby/2.6.0/cache/actionview-6.0.0.gem +0 -0
  6. data/vendor/ruby/2.6.0/cache/activesupport-6.0.0.gem +0 -0
  7. data/vendor/ruby/2.6.0/cache/railties-6.0.0.gem +0 -0
  8. data/vendor/ruby/2.6.0/cache/sass-rails-6.0.0.gem +0 -0
  9. data/vendor/ruby/2.6.0/cache/sassc-2.1.0-x86_64-linux.gem +0 -0
  10. data/vendor/ruby/2.6.0/cache/sassc-rails-2.1.2.gem +0 -0
  11. data/vendor/ruby/2.6.0/cache/zeitwerk-2.1.9.gem +0 -0
  12. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/CHANGELOG.md +311 -0
  13. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/MIT-LICENSE +21 -0
  14. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/README.rdoc +58 -0
  15. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/abstract_controller/asset_paths.rb +12 -0
  16. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/abstract_controller/base.rb +267 -0
  17. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/abstract_controller/caching/fragments.rb +150 -0
  18. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/abstract_controller/caching.rb +66 -0
  19. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/abstract_controller/callbacks.rb +224 -0
  20. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/abstract_controller/collector.rb +43 -0
  21. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/abstract_controller/error.rb +6 -0
  22. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/abstract_controller/helpers.rb +194 -0
  23. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/abstract_controller/logger.rb +14 -0
  24. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/abstract_controller/railties/routes_helpers.rb +20 -0
  25. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/abstract_controller/rendering.rb +127 -0
  26. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/abstract_controller/translation.rb +32 -0
  27. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/abstract_controller/url_for.rb +35 -0
  28. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/abstract_controller.rb +27 -0
  29. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/api/api_rendering.rb +16 -0
  30. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/api.rb +150 -0
  31. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/base.rb +271 -0
  32. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/caching.rb +46 -0
  33. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/form_builder.rb +50 -0
  34. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/log_subscriber.rb +81 -0
  35. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/basic_implicit_render.rb +13 -0
  36. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/conditional_get.rb +280 -0
  37. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/content_security_policy.rb +52 -0
  38. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/cookies.rb +16 -0
  39. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/data_streaming.rb +151 -0
  40. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/default_headers.rb +17 -0
  41. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/etag_with_flash.rb +18 -0
  42. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/etag_with_template_digest.rb +57 -0
  43. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/exceptions.rb +74 -0
  44. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/flash.rb +61 -0
  45. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/force_ssl.rb +58 -0
  46. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/head.rb +60 -0
  47. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/helpers.rb +122 -0
  48. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/http_authentication.rb +518 -0
  49. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/implicit_render.rb +63 -0
  50. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/instrumentation.rb +105 -0
  51. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/live.rb +314 -0
  52. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/mime_responds.rb +324 -0
  53. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/parameter_encoding.rb +51 -0
  54. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/params_wrapper.rb +297 -0
  55. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/redirecting.rb +133 -0
  56. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/renderers.rb +181 -0
  57. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/rendering.rb +122 -0
  58. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/request_forgery_protection.rb +456 -0
  59. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/rescue.rb +28 -0
  60. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/streaming.rb +223 -0
  61. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/strong_parameters.rb +1105 -0
  62. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/testing.rb +16 -0
  63. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal/url_for.rb +58 -0
  64. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/metal.rb +256 -0
  65. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/railtie.rb +89 -0
  66. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/railties/helpers.rb +24 -0
  67. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/renderer.rb +130 -0
  68. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/template_assertions.rb +11 -0
  69. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller/test_case.rb +626 -0
  70. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_controller.rb +67 -0
  71. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/http/cache.rb +226 -0
  72. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/http/content_disposition.rb +45 -0
  73. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/http/content_security_policy.rb +284 -0
  74. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/http/filter_parameters.rb +86 -0
  75. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/http/filter_redirect.rb +37 -0
  76. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/http/headers.rb +132 -0
  77. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/http/mime_negotiation.rb +177 -0
  78. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/http/mime_type.rb +350 -0
  79. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/http/mime_types.rb +50 -0
  80. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/http/parameter_filter.rb +12 -0
  81. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/http/parameters.rb +136 -0
  82. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/http/rack_cache.rb +63 -0
  83. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/http/request.rb +427 -0
  84. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/http/response.rb +534 -0
  85. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/http/upload.rb +92 -0
  86. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/http/url.rb +350 -0
  87. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/journey/formatter.rb +189 -0
  88. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/journey/gtg/builder.rb +164 -0
  89. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/journey/gtg/simulator.rb +41 -0
  90. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/journey/gtg/transition_table.rb +158 -0
  91. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/journey/nfa/builder.rb +78 -0
  92. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/journey/nfa/dot.rb +36 -0
  93. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/journey/nfa/simulator.rb +47 -0
  94. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/journey/nfa/transition_table.rb +120 -0
  95. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/journey/nodes/node.rb +141 -0
  96. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/journey/parser.rb +199 -0
  97. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/journey/parser.y +50 -0
  98. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/journey/parser_extras.rb +31 -0
  99. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/journey/path/pattern.rb +203 -0
  100. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/journey/route.rb +204 -0
  101. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/journey/router/utils.rb +102 -0
  102. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/journey/router.rb +153 -0
  103. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/journey/routes.rb +81 -0
  104. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/journey/scanner.rb +71 -0
  105. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/journey/visitors.rb +268 -0
  106. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/journey/visualizer/fsm.css +30 -0
  107. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/journey/visualizer/fsm.js +134 -0
  108. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/journey/visualizer/index.html.erb +52 -0
  109. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/journey.rb +7 -0
  110. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/actionable_exceptions.rb +39 -0
  111. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/callbacks.rb +34 -0
  112. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/cookies.rb +663 -0
  113. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/debug_exceptions.rb +185 -0
  114. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/debug_locks.rb +124 -0
  115. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/debug_view.rb +68 -0
  116. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/exception_wrapper.rb +181 -0
  117. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/executor.rb +21 -0
  118. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/flash.rb +300 -0
  119. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/host_authorization.rb +103 -0
  120. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/public_exceptions.rb +61 -0
  121. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/reloader.rb +12 -0
  122. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/remote_ip.rb +181 -0
  123. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/request_id.rb +43 -0
  124. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/session/abstract_store.rb +92 -0
  125. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/session/cache_store.rb +54 -0
  126. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/session/cookie_store.rb +113 -0
  127. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/session/mem_cache_store.rb +28 -0
  128. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/show_exceptions.rb +62 -0
  129. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/ssl.rb +150 -0
  130. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/stack.rb +148 -0
  131. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/static.rb +129 -0
  132. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/templates/rescues/_actions.html.erb +13 -0
  133. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/templates/rescues/_actions.text.erb +0 -0
  134. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb +24 -0
  135. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/templates/rescues/_request_and_response.text.erb +23 -0
  136. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/templates/rescues/_source.html.erb +29 -0
  137. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/templates/rescues/_source.text.erb +8 -0
  138. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb +62 -0
  139. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/templates/rescues/_trace.text.erb +9 -0
  140. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/templates/rescues/blocked_host.html.erb +7 -0
  141. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/templates/rescues/blocked_host.text.erb +5 -0
  142. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb +38 -0
  143. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/templates/rescues/diagnostics.text.erb +9 -0
  144. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/templates/rescues/invalid_statement.html.erb +24 -0
  145. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/templates/rescues/invalid_statement.text.erb +15 -0
  146. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/templates/rescues/layout.erb +165 -0
  147. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/templates/rescues/missing_exact_template.html.erb +19 -0
  148. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/templates/rescues/missing_exact_template.text.erb +3 -0
  149. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/templates/rescues/missing_template.html.erb +11 -0
  150. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/templates/rescues/missing_template.text.erb +3 -0
  151. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb +32 -0
  152. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/templates/rescues/routing_error.text.erb +11 -0
  153. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb +20 -0
  154. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/templates/rescues/template_error.text.erb +7 -0
  155. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/templates/rescues/unknown_action.html.erb +6 -0
  156. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/templates/rescues/unknown_action.text.erb +3 -0
  157. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/templates/routes/_route.html.erb +16 -0
  158. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/templates/routes/_table.html.erb +203 -0
  159. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/railtie.rb +58 -0
  160. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/request/session.rb +242 -0
  161. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/request/utils.rb +78 -0
  162. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/routing/endpoint.rb +17 -0
  163. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/routing/inspector.rb +274 -0
  164. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/routing/mapper.rb +2289 -0
  165. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/routing/polymorphic_routes.rb +351 -0
  166. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/routing/redirection.rb +201 -0
  167. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/routing/route_set.rb +887 -0
  168. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/routing/routes_proxy.rb +69 -0
  169. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/routing/url_for.rb +237 -0
  170. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/routing.rb +261 -0
  171. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/system_test_case.rb +168 -0
  172. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/system_testing/browser.rb +80 -0
  173. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/system_testing/driver.rb +68 -0
  174. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/system_testing/server.rb +31 -0
  175. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/system_testing/test_helpers/screenshot_helper.rb +97 -0
  176. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/system_testing/test_helpers/setup_and_teardown.rb +33 -0
  177. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/system_testing/test_helpers/undef_methods.rb +26 -0
  178. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/testing/assertion_response.rb +47 -0
  179. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/testing/assertions/response.rb +106 -0
  180. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/testing/assertions/routing.rb +234 -0
  181. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/testing/assertions.rb +24 -0
  182. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/testing/integration.rb +659 -0
  183. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/testing/request_encoder.rb +55 -0
  184. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/testing/test_process.rb +50 -0
  185. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/testing/test_request.rb +71 -0
  186. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/testing/test_response.rb +25 -0
  187. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch.rb +114 -0
  188. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_pack/gem_version.rb +17 -0
  189. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_pack/version.rb +10 -0
  190. data/vendor/ruby/2.6.0/gems/actionpack-6.0.0/lib/action_pack.rb +26 -0
  191. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/CHANGELOG.md +271 -0
  192. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/MIT-LICENSE +21 -0
  193. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/README.rdoc +40 -0
  194. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/base.rb +312 -0
  195. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/buffers.rb +67 -0
  196. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/cache_expiry.rb +54 -0
  197. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/context.rb +32 -0
  198. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/dependency_tracker.rb +175 -0
  199. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/digestor.rb +126 -0
  200. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/flows.rb +76 -0
  201. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/gem_version.rb +17 -0
  202. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/active_model_helper.rb +55 -0
  203. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/asset_tag_helper.rb +488 -0
  204. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/asset_url_helper.rb +470 -0
  205. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/atom_feed_helper.rb +205 -0
  206. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/cache_helper.rb +271 -0
  207. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/capture_helper.rb +216 -0
  208. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/controller_helper.rb +36 -0
  209. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/csp_helper.rb +26 -0
  210. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/csrf_helper.rb +35 -0
  211. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/date_helper.rb +1200 -0
  212. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/debug_helper.rb +36 -0
  213. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/form_helper.rb +2569 -0
  214. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/form_options_helper.rb +896 -0
  215. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/form_tag_helper.rb +920 -0
  216. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/javascript_helper.rb +95 -0
  217. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/number_helper.rb +456 -0
  218. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/output_safety_helper.rb +70 -0
  219. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/rendering_helper.rb +101 -0
  220. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/sanitize_helper.rb +171 -0
  221. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tag_helper.rb +314 -0
  222. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/base.rb +196 -0
  223. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/check_box.rb +66 -0
  224. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/checkable.rb +18 -0
  225. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/collection_check_boxes.rb +36 -0
  226. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/collection_helpers.rb +119 -0
  227. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/collection_radio_buttons.rb +31 -0
  228. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/collection_select.rb +30 -0
  229. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/color_field.rb +27 -0
  230. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/date_field.rb +15 -0
  231. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/date_select.rb +74 -0
  232. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/datetime_field.rb +32 -0
  233. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/datetime_local_field.rb +21 -0
  234. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/datetime_select.rb +10 -0
  235. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/email_field.rb +10 -0
  236. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/file_field.rb +10 -0
  237. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/grouped_collection_select.rb +31 -0
  238. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/hidden_field.rb +10 -0
  239. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/label.rb +81 -0
  240. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/month_field.rb +15 -0
  241. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/number_field.rb +20 -0
  242. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/password_field.rb +14 -0
  243. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/placeholderable.rb +24 -0
  244. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/radio_button.rb +33 -0
  245. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/range_field.rb +10 -0
  246. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/search_field.rb +27 -0
  247. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/select.rb +43 -0
  248. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/tel_field.rb +10 -0
  249. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/text_area.rb +24 -0
  250. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/text_field.rb +34 -0
  251. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/time_field.rb +15 -0
  252. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/time_select.rb +10 -0
  253. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/time_zone_select.rb +22 -0
  254. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/translator.rb +39 -0
  255. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/url_field.rb +10 -0
  256. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags/week_field.rb +15 -0
  257. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/tags.rb +44 -0
  258. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/text_helper.rb +486 -0
  259. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/translation_helper.rb +145 -0
  260. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers/url_helper.rb +676 -0
  261. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/helpers.rb +66 -0
  262. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/layouts.rb +433 -0
  263. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/locale/en.yml +56 -0
  264. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/log_subscriber.rb +96 -0
  265. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/lookup_context.rb +316 -0
  266. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/model_naming.rb +14 -0
  267. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/path_set.rb +95 -0
  268. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/railtie.rb +105 -0
  269. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/record_identifier.rb +112 -0
  270. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/renderer/abstract_renderer.rb +108 -0
  271. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/renderer/partial_renderer/collection_caching.rb +103 -0
  272. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/renderer/partial_renderer.rb +563 -0
  273. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/renderer/renderer.rb +68 -0
  274. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/renderer/streaming_template_renderer.rb +105 -0
  275. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/renderer/template_renderer.rb +108 -0
  276. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/rendering.rb +171 -0
  277. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/routing_url_for.rb +146 -0
  278. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/tasks/cache_digests.rake +25 -0
  279. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/template/error.rb +161 -0
  280. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/template/handlers/builder.rb +25 -0
  281. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/template/handlers/erb/erubi.rb +87 -0
  282. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/template/handlers/erb.rb +84 -0
  283. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/template/handlers/html.rb +11 -0
  284. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/template/handlers/raw.rb +11 -0
  285. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/template/handlers.rb +92 -0
  286. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/template/html.rb +43 -0
  287. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/template/inline.rb +22 -0
  288. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/template/raw_file.rb +28 -0
  289. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/template/resolver.rb +394 -0
  290. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/template/sources/file.rb +17 -0
  291. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/template/sources.rb +13 -0
  292. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/template/text.rb +35 -0
  293. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/template/types.rb +57 -0
  294. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/template.rb +393 -0
  295. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/test_case.rb +300 -0
  296. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/testing/resolvers.rb +67 -0
  297. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/unbound_template.rb +32 -0
  298. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/version.rb +10 -0
  299. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view/view_paths.rb +129 -0
  300. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/action_view.rb +98 -0
  301. data/vendor/ruby/2.6.0/gems/actionview-6.0.0/lib/assets/compiled/rails-ujs.js +746 -0
  302. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/CHANGELOG.md +572 -0
  303. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/MIT-LICENSE +20 -0
  304. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/README.rdoc +40 -0
  305. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/actionable_error.rb +48 -0
  306. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/all.rb +5 -0
  307. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/array_inquirer.rb +48 -0
  308. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/backtrace_cleaner.rb +132 -0
  309. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/benchmarkable.rb +51 -0
  310. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/builder.rb +8 -0
  311. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/cache/file_store.rb +196 -0
  312. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/cache/mem_cache_store.rb +212 -0
  313. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/cache/memory_store.rb +174 -0
  314. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/cache/null_store.rb +48 -0
  315. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/cache/redis_cache_store.rb +488 -0
  316. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/cache/strategy/local_cache.rb +194 -0
  317. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/cache/strategy/local_cache_middleware.rb +45 -0
  318. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/cache.rb +830 -0
  319. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/callbacks.rb +856 -0
  320. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/concern.rb +171 -0
  321. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/concurrency/load_interlock_aware_monitor.rb +17 -0
  322. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/concurrency/share_lock.rb +227 -0
  323. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/configurable.rb +146 -0
  324. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/array/access.rb +104 -0
  325. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/array/conversions.rb +213 -0
  326. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/array/extract.rb +21 -0
  327. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/array/extract_options.rb +31 -0
  328. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/array/grouping.rb +109 -0
  329. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/array/inquiry.rb +19 -0
  330. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/array/prepend_and_append.rb +5 -0
  331. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/array/wrap.rb +48 -0
  332. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/array.rb +9 -0
  333. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/benchmark.rb +16 -0
  334. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/big_decimal/conversions.rb +14 -0
  335. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/big_decimal.rb +3 -0
  336. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/class/attribute.rb +141 -0
  337. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/class/attribute_accessors.rb +6 -0
  338. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/class/subclasses.rb +54 -0
  339. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/class.rb +4 -0
  340. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/date/acts_like.rb +10 -0
  341. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/date/blank.rb +14 -0
  342. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/date/calculations.rb +146 -0
  343. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/date/conversions.rb +96 -0
  344. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/date/zones.rb +8 -0
  345. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/date.rb +7 -0
  346. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/date_and_time/calculations.rb +351 -0
  347. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/date_and_time/compatibility.rb +16 -0
  348. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/date_and_time/zones.rb +41 -0
  349. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/date_time/acts_like.rb +16 -0
  350. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/date_time/blank.rb +14 -0
  351. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/date_time/calculations.rb +211 -0
  352. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/date_time/compatibility.rb +18 -0
  353. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/date_time/conversions.rb +107 -0
  354. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/date_time.rb +7 -0
  355. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/digest/uuid.rb +53 -0
  356. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/digest.rb +3 -0
  357. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/enumerable.rb +188 -0
  358. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/file/atomic.rb +70 -0
  359. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/file.rb +3 -0
  360. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/hash/compact.rb +5 -0
  361. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/hash/conversions.rb +263 -0
  362. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/hash/deep_merge.rb +34 -0
  363. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/hash/deep_transform_values.rb +46 -0
  364. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/hash/except.rb +24 -0
  365. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/hash/indifferent_access.rb +24 -0
  366. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/hash/keys.rb +143 -0
  367. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/hash/reverse_merge.rb +25 -0
  368. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/hash/slice.rb +26 -0
  369. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/hash/transform_values.rb +5 -0
  370. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/hash.rb +10 -0
  371. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/integer/inflections.rb +31 -0
  372. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/integer/multiple.rb +12 -0
  373. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/integer/time.rb +22 -0
  374. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/integer.rb +5 -0
  375. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/kernel/concern.rb +14 -0
  376. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/kernel/reporting.rb +45 -0
  377. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/kernel/singleton_class.rb +8 -0
  378. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/kernel.rb +5 -0
  379. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/load_error.rb +9 -0
  380. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/marshal.rb +24 -0
  381. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/module/aliasing.rb +31 -0
  382. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/module/anonymous.rb +30 -0
  383. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/module/attr_internal.rb +38 -0
  384. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/module/attribute_accessors.rb +212 -0
  385. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/module/attribute_accessors_per_thread.rb +144 -0
  386. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/module/concerning.rb +134 -0
  387. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/module/delegation.rb +313 -0
  388. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/module/deprecation.rb +25 -0
  389. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/module/introspection.rb +86 -0
  390. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/module/reachable.rb +6 -0
  391. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/module/redefine_method.rb +40 -0
  392. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/module/remove_method.rb +17 -0
  393. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/module.rb +13 -0
  394. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/name_error.rb +38 -0
  395. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/numeric/bytes.rb +66 -0
  396. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/numeric/conversions.rb +136 -0
  397. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/numeric/inquiry.rb +5 -0
  398. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/numeric/time.rb +66 -0
  399. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/numeric.rb +5 -0
  400. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/object/acts_like.rb +21 -0
  401. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/object/blank.rb +155 -0
  402. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/object/conversions.rb +6 -0
  403. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/object/deep_dup.rb +55 -0
  404. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/object/duplicable.rb +49 -0
  405. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/object/inclusion.rb +29 -0
  406. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/object/instance_variables.rb +30 -0
  407. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/object/json.rb +228 -0
  408. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/object/to_param.rb +3 -0
  409. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/object/to_query.rb +89 -0
  410. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/object/try.rb +156 -0
  411. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/object/with_options.rb +82 -0
  412. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/object.rb +16 -0
  413. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/range/compare_range.rb +70 -0
  414. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/range/conversions.rb +41 -0
  415. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/range/each.rb +25 -0
  416. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/range/include_range.rb +9 -0
  417. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/range/include_time_with_zone.rb +23 -0
  418. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/range/overlaps.rb +10 -0
  419. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/range.rb +7 -0
  420. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/regexp.rb +7 -0
  421. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/securerandom.rb +45 -0
  422. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/string/access.rb +114 -0
  423. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/string/behavior.rb +8 -0
  424. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/string/conversions.rb +59 -0
  425. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/string/exclude.rb +13 -0
  426. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/string/filters.rb +145 -0
  427. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/string/indent.rb +45 -0
  428. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/string/inflections.rb +259 -0
  429. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/string/inquiry.rb +15 -0
  430. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/string/multibyte.rb +58 -0
  431. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/string/output_safety.rb +314 -0
  432. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/string/starts_ends_with.rb +6 -0
  433. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/string/strip.rb +27 -0
  434. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/string/zones.rb +16 -0
  435. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/string.rb +15 -0
  436. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/time/acts_like.rb +10 -0
  437. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/time/calculations.rb +344 -0
  438. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/time/compatibility.rb +16 -0
  439. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/time/conversions.rb +72 -0
  440. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/time/zones.rb +113 -0
  441. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/time.rb +7 -0
  442. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext/uri.rb +25 -0
  443. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/core_ext.rb +5 -0
  444. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/current_attributes.rb +203 -0
  445. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/dependencies/autoload.rb +79 -0
  446. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/dependencies/interlock.rb +57 -0
  447. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/dependencies/zeitwerk_integration.rb +110 -0
  448. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/dependencies.rb +806 -0
  449. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/deprecation/behaviors.rb +109 -0
  450. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/deprecation/constant_accessor.rb +52 -0
  451. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/deprecation/instance_delegator.rb +39 -0
  452. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/deprecation/method_wrappers.rb +78 -0
  453. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/deprecation/proxy_wrappers.rb +173 -0
  454. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/deprecation/reporting.rb +114 -0
  455. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/deprecation.rb +46 -0
  456. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/descendants_tracker.rb +109 -0
  457. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/digest.rb +20 -0
  458. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/duration/iso8601_parser.rb +124 -0
  459. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/duration/iso8601_serializer.rb +54 -0
  460. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/duration.rb +433 -0
  461. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/encrypted_configuration.rb +45 -0
  462. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/encrypted_file.rb +100 -0
  463. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/evented_file_update_checker.rb +235 -0
  464. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/execution_wrapper.rb +129 -0
  465. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/executor.rb +8 -0
  466. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/file_update_checker.rb +163 -0
  467. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/gem_version.rb +17 -0
  468. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/gzip.rb +38 -0
  469. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/hash_with_indifferent_access.rb +399 -0
  470. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/i18n.rb +16 -0
  471. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/i18n_railtie.rb +126 -0
  472. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/inflections.rb +72 -0
  473. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/inflector/inflections.rb +257 -0
  474. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/inflector/methods.rb +398 -0
  475. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/inflector/transliterate.rb +147 -0
  476. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/inflector.rb +9 -0
  477. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/json/decoding.rb +76 -0
  478. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/json/encoding.rb +134 -0
  479. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/json.rb +4 -0
  480. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/key_generator.rb +41 -0
  481. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/lazy_load_hooks.rb +82 -0
  482. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/locale/en.rb +31 -0
  483. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/locale/en.yml +135 -0
  484. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/log_subscriber/test_helper.rb +106 -0
  485. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/log_subscriber.rb +135 -0
  486. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/logger.rb +93 -0
  487. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/logger_silence.rb +45 -0
  488. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/logger_thread_safe_level.rb +56 -0
  489. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/message_encryptor.rb +227 -0
  490. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/message_verifier.rb +205 -0
  491. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/messages/metadata.rb +71 -0
  492. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/messages/rotation_configuration.rb +22 -0
  493. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/messages/rotator.rb +56 -0
  494. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/multibyte/chars.rb +216 -0
  495. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/multibyte/unicode.rb +157 -0
  496. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/multibyte.rb +23 -0
  497. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/notifications/fanout.rb +244 -0
  498. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/notifications/instrumenter.rb +164 -0
  499. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/notifications.rb +253 -0
  500. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/number_helper/number_converter.rb +184 -0
  501. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/number_helper/number_to_currency_converter.rb +46 -0
  502. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/number_helper/number_to_delimited_converter.rb +31 -0
  503. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/number_helper/number_to_human_converter.rb +70 -0
  504. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/number_helper/number_to_human_size_converter.rb +61 -0
  505. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/number_helper/number_to_percentage_converter.rb +16 -0
  506. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/number_helper/number_to_phone_converter.rb +60 -0
  507. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/number_helper/number_to_rounded_converter.rb +56 -0
  508. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/number_helper/rounding_helper.rb +66 -0
  509. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/number_helper.rb +378 -0
  510. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/option_merger.rb +27 -0
  511. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/ordered_hash.rb +50 -0
  512. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/ordered_options.rb +85 -0
  513. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/parameter_filter.rb +129 -0
  514. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/per_thread_registry.rb +60 -0
  515. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/proxy_object.rb +15 -0
  516. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/rails.rb +29 -0
  517. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/railtie.rb +80 -0
  518. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/reloader.rb +130 -0
  519. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/rescuable.rb +174 -0
  520. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/security_utils.rb +31 -0
  521. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/string_inquirer.rb +34 -0
  522. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/subscriber.rb +169 -0
  523. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/tagged_logging.rb +88 -0
  524. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/test_case.rb +163 -0
  525. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/testing/assertions.rb +228 -0
  526. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/testing/autorun.rb +7 -0
  527. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/testing/constant_lookup.rb +51 -0
  528. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/testing/declarative.rb +28 -0
  529. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/testing/deprecation.rb +38 -0
  530. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/testing/file_fixtures.rb +38 -0
  531. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/testing/isolation.rb +110 -0
  532. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/testing/method_call_assertions.rb +70 -0
  533. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/testing/parallelization.rb +128 -0
  534. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/testing/setup_and_teardown.rb +55 -0
  535. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/testing/stream.rb +44 -0
  536. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/testing/tagged_logging.rb +27 -0
  537. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/testing/time_helpers.rb +200 -0
  538. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/time.rb +20 -0
  539. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/time_with_zone.rb +561 -0
  540. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/values/time_zone.rb +570 -0
  541. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/version.rb +10 -0
  542. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/xml_mini/jdom.rb +183 -0
  543. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/xml_mini/libxml.rb +80 -0
  544. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/xml_mini/libxmlsax.rb +83 -0
  545. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/xml_mini/nokogiri.rb +83 -0
  546. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/xml_mini/nokogirisax.rb +86 -0
  547. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/xml_mini/rexml.rb +130 -0
  548. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support/xml_mini.rb +202 -0
  549. data/vendor/ruby/2.6.0/gems/activesupport-6.0.0/lib/active_support.rb +96 -0
  550. data/vendor/ruby/2.6.0/gems/railties-6.0.0/CHANGELOG.md +429 -0
  551. data/vendor/ruby/2.6.0/gems/railties-6.0.0/MIT-LICENSE +20 -0
  552. data/vendor/ruby/2.6.0/gems/railties-6.0.0/RDOC_MAIN.rdoc +98 -0
  553. data/vendor/ruby/2.6.0/gems/railties-6.0.0/README.rdoc +40 -0
  554. data/vendor/ruby/2.6.0/gems/railties-6.0.0/exe/rails +10 -0
  555. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/minitest/rails_plugin.rb +59 -0
  556. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/all.rb +24 -0
  557. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/api/generator.rb +38 -0
  558. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/api/task.rb +201 -0
  559. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/app_loader.rb +77 -0
  560. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/app_updater.rb +37 -0
  561. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/application/bootstrap.rb +81 -0
  562. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/application/configuration.rb +370 -0
  563. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/application/default_middleware_stack.rb +110 -0
  564. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/application/dummy_erb_compiler.rb +18 -0
  565. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/application/finisher.rb +250 -0
  566. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/application/routes_reloader.rb +55 -0
  567. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/application.rb +660 -0
  568. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/application_controller.rb +29 -0
  569. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/autoloaders.rb +48 -0
  570. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/backtrace_cleaner.rb +22 -0
  571. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/cli.rb +19 -0
  572. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/code_statistics.rb +115 -0
  573. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/code_statistics_calculator.rb +88 -0
  574. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/command/actions.rb +54 -0
  575. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/command/base.rb +165 -0
  576. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/command/behavior.rb +84 -0
  577. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/command/environment_argument.rb +40 -0
  578. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/command/helpers/editor.rb +35 -0
  579. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/command/spellchecker.rb +58 -0
  580. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/command.rb +114 -0
  581. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/commands/application/application_command.rb +31 -0
  582. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/commands/console/console_command.rb +106 -0
  583. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/commands/credentials/USAGE +58 -0
  584. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/commands/credentials/credentials_command.rb +112 -0
  585. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/commands/db/system/change/change_command.rb +20 -0
  586. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/commands/dbconsole/dbconsole_command.rb +182 -0
  587. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/commands/destroy/destroy_command.rb +28 -0
  588. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/commands/dev/dev_command.rb +19 -0
  589. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/commands/encrypted/USAGE +28 -0
  590. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/commands/encrypted/encrypted_command.rb +87 -0
  591. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/commands/generate/generate_command.rb +30 -0
  592. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/commands/help/USAGE +16 -0
  593. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/commands/help/help_command.rb +15 -0
  594. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/commands/initializers/initializers_command.rb +23 -0
  595. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/commands/new/new_command.rb +19 -0
  596. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/commands/notes/notes_command.rb +39 -0
  597. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/commands/plugin/plugin_command.rb +45 -0
  598. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/commands/rake/rake_command.rb +51 -0
  599. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/commands/routes/routes_command.rb +37 -0
  600. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/commands/runner/USAGE +20 -0
  601. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/commands/runner/runner_command.rb +57 -0
  602. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/commands/secrets/USAGE +60 -0
  603. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/commands/secrets/secrets_command.rb +65 -0
  604. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/commands/server/server_command.rb +312 -0
  605. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/commands/test/test_command.rb +37 -0
  606. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/commands/version/version_command.rb +11 -0
  607. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/commands.rb +18 -0
  608. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/configuration.rb +131 -0
  609. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/console/app.rb +38 -0
  610. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/console/helpers.rb +19 -0
  611. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/dev_caching.rb +44 -0
  612. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/engine/commands.rb +9 -0
  613. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/engine/configuration.rb +91 -0
  614. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/engine/railties.rb +23 -0
  615. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/engine/updater.rb +21 -0
  616. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/engine.rb +731 -0
  617. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/gem_version.rb +17 -0
  618. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/actions/create_migration.rb +71 -0
  619. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/actions.rb +350 -0
  620. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/active_model.rb +80 -0
  621. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/app_base.rb +440 -0
  622. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/app_name.rb +50 -0
  623. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/base.rb +417 -0
  624. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/css/assets/assets_generator.rb +15 -0
  625. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/css/assets/templates/stylesheet.css +4 -0
  626. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/css/scaffold/scaffold_generator.rb +18 -0
  627. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/database.rb +58 -0
  628. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/erb/controller/controller_generator.rb +24 -0
  629. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/erb/controller/templates/view.html.erb.tt +2 -0
  630. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/erb/mailer/mailer_generator.rb +42 -0
  631. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/erb/mailer/templates/layout.html.erb.tt +13 -0
  632. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/erb/mailer/templates/layout.text.erb.tt +1 -0
  633. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/erb/mailer/templates/view.html.erb.tt +5 -0
  634. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/erb/mailer/templates/view.text.erb.tt +3 -0
  635. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/erb/scaffold/scaffold_generator.rb +33 -0
  636. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/erb/scaffold/templates/_form.html.erb.tt +37 -0
  637. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/erb/scaffold/templates/edit.html.erb.tt +6 -0
  638. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/erb/scaffold/templates/index.html.erb.tt +31 -0
  639. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/erb/scaffold/templates/new.html.erb.tt +5 -0
  640. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/erb/scaffold/templates/show.html.erb.tt +19 -0
  641. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/erb.rb +27 -0
  642. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/generated_attribute.rb +203 -0
  643. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/migration.rb +75 -0
  644. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/model_helpers.rb +37 -0
  645. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/named_base.rb +227 -0
  646. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/USAGE +14 -0
  647. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/app_generator.rb +588 -0
  648. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/Gemfile.tt +78 -0
  649. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/README.md.tt +24 -0
  650. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/Rakefile.tt +6 -0
  651. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/app/assets/config/manifest.js.tt +2 -0
  652. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/app/assets/stylesheets/application.css.tt +15 -0
  653. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/app/channels/application_cable/channel.rb.tt +4 -0
  654. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/app/channels/application_cable/connection.rb.tt +4 -0
  655. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/app/controllers/application_controller.rb.tt +2 -0
  656. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/app/helpers/application_helper.rb.tt +2 -0
  657. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/app/javascript/channels/consumer.js +6 -0
  658. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/app/javascript/channels/index.js +5 -0
  659. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/app/javascript/packs/application.js.tt +23 -0
  660. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/app/jobs/application_job.rb.tt +7 -0
  661. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/app/mailers/application_mailer.rb.tt +4 -0
  662. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/app/models/application_record.rb.tt +3 -0
  663. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb.tt +24 -0
  664. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/app/views/layouts/mailer.html.erb.tt +13 -0
  665. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/app/views/layouts/mailer.text.erb.tt +1 -0
  666. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/bin/rails.tt +3 -0
  667. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/bin/rake.tt +3 -0
  668. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/bin/setup.tt +39 -0
  669. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/bin/yarn.tt +10 -0
  670. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/application.rb.tt +47 -0
  671. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/boot.rb.tt +6 -0
  672. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/cable.yml.tt +10 -0
  673. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/databases/frontbase.yml.tt +50 -0
  674. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/databases/ibm_db.yml.tt +86 -0
  675. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/databases/jdbc.yml.tt +69 -0
  676. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/databases/jdbcmysql.yml.tt +53 -0
  677. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/databases/jdbcpostgresql.yml.tt +69 -0
  678. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/databases/jdbcsqlite3.yml.tt +24 -0
  679. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/databases/mysql.yml.tt +58 -0
  680. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/databases/oracle.yml.tt +61 -0
  681. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/databases/postgresql.yml.tt +85 -0
  682. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/databases/sqlite3.yml.tt +25 -0
  683. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/databases/sqlserver.yml.tt +52 -0
  684. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/environment.rb.tt +5 -0
  685. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt +72 -0
  686. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt +124 -0
  687. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt +56 -0
  688. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/initializers/application_controller_renderer.rb.tt +8 -0
  689. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/initializers/assets.rb.tt +16 -0
  690. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/initializers/backtrace_silencers.rb.tt +7 -0
  691. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/initializers/content_security_policy.rb.tt +32 -0
  692. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/initializers/cookies_serializer.rb.tt +5 -0
  693. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/initializers/cors.rb.tt +16 -0
  694. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/initializers/filter_parameter_logging.rb.tt +4 -0
  695. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/initializers/inflections.rb.tt +16 -0
  696. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/initializers/mime_types.rb.tt +4 -0
  697. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_6_0.rb.tt +45 -0
  698. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/initializers/wrap_parameters.rb.tt +16 -0
  699. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/locales/en.yml +33 -0
  700. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/puma.rb.tt +38 -0
  701. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/routes.rb.tt +3 -0
  702. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/spring.rb.tt +6 -0
  703. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config/storage.yml.tt +34 -0
  704. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/config.ru.tt +5 -0
  705. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/db/seeds.rb.tt +7 -0
  706. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/gitignore.tt +35 -0
  707. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/package.json.tt +11 -0
  708. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/public/404.html +67 -0
  709. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/public/422.html +67 -0
  710. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/public/500.html +66 -0
  711. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/public/apple-touch-icon-precomposed.png +0 -0
  712. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/public/apple-touch-icon.png +0 -0
  713. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/public/favicon.ico +0 -0
  714. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/public/robots.txt +1 -0
  715. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/ruby-version.tt +1 -0
  716. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/test/application_system_test_case.rb.tt +5 -0
  717. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/test/channels/application_cable/connection_test.rb.tt +11 -0
  718. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/app/templates/test/test_helper.rb.tt +19 -0
  719. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/application_record/application_record_generator.rb +9 -0
  720. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/assets/USAGE +17 -0
  721. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/assets/assets_generator.rb +26 -0
  722. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/assets/templates/stylesheet.css +4 -0
  723. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/controller/USAGE +18 -0
  724. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/controller/controller_generator.rb +77 -0
  725. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/controller/templates/controller.rb.tt +13 -0
  726. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/credentials/credentials_generator.rb +56 -0
  727. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/db/system/change/change_generator.rb +65 -0
  728. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/encrypted_file/encrypted_file_generator.rb +27 -0
  729. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/encryption_key_file/encryption_key_file_generator.rb +58 -0
  730. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/generator/USAGE +13 -0
  731. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/generator/generator_generator.rb +28 -0
  732. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/generator/templates/%file_name%_generator.rb.tt +3 -0
  733. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/generator/templates/USAGE.tt +8 -0
  734. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/helper/USAGE +13 -0
  735. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/helper/helper_generator.rb +20 -0
  736. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/helper/templates/helper.rb.tt +4 -0
  737. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/integration_test/USAGE +10 -0
  738. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/integration_test/integration_test_generator.rb +9 -0
  739. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/master_key/master_key_generator.rb +53 -0
  740. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/migration/USAGE +35 -0
  741. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/migration/migration_generator.rb +10 -0
  742. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/model/USAGE +114 -0
  743. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/model/model_generator.rb +14 -0
  744. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/USAGE +10 -0
  745. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/plugin_generator.rb +430 -0
  746. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/%name%.gemspec.tt +33 -0
  747. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/Gemfile.tt +48 -0
  748. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/MIT-LICENSE.tt +20 -0
  749. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/README.md.tt +28 -0
  750. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/Rakefile.tt +28 -0
  751. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/app/controllers/%namespaced_name%/application_controller.rb.tt +6 -0
  752. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/app/helpers/%namespaced_name%/application_helper.rb.tt +5 -0
  753. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/app/jobs/%namespaced_name%/application_job.rb.tt +5 -0
  754. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/app/mailers/%namespaced_name%/application_mailer.rb.tt +7 -0
  755. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/app/models/%namespaced_name%/application_record.rb.tt +6 -0
  756. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/app/views/layouts/%namespaced_name%/application.html.erb.tt +18 -0
  757. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/bin/rails.tt +30 -0
  758. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/bin/test.tt +4 -0
  759. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/config/routes.rb.tt +6 -0
  760. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/gitignore.tt +18 -0
  761. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/engine.rb.tt +7 -0
  762. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/railtie.rb.tt +5 -0
  763. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/version.rb.tt +1 -0
  764. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%.rb.tt +7 -0
  765. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/lib/tasks/%namespaced_name%_tasks.rake.tt +4 -0
  766. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/rails/application.rb.tt +23 -0
  767. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/rails/boot.rb.tt +5 -0
  768. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/rails/dummy_manifest.js.tt +10 -0
  769. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/rails/engine_manifest.js.tt +6 -0
  770. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/rails/javascripts.js.tt +17 -0
  771. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/rails/routes.rb.tt +3 -0
  772. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/rails/stylesheets.css +15 -0
  773. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/test/%namespaced_name%_test.rb.tt +7 -0
  774. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/test/application_system_test_case.rb.tt +5 -0
  775. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/test/integration/navigation_test.rb.tt +7 -0
  776. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/plugin/templates/test/test_helper.rb.tt +29 -0
  777. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/resource/USAGE +23 -0
  778. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/resource/resource_generator.rb +21 -0
  779. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/resource_route/resource_route_generator.rb +48 -0
  780. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/scaffold/USAGE +41 -0
  781. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/scaffold/scaffold_generator.rb +36 -0
  782. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/scaffold/templates/scaffold.css +80 -0
  783. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/scaffold_controller/USAGE +19 -0
  784. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/scaffold_controller/scaffold_controller_generator.rb +51 -0
  785. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/scaffold_controller/templates/api_controller.rb.tt +61 -0
  786. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/scaffold_controller/templates/controller.rb.tt +68 -0
  787. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/system_test/USAGE +10 -0
  788. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/system_test/system_test_generator.rb +9 -0
  789. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/task/USAGE +9 -0
  790. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/task/task_generator.rb +13 -0
  791. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/rails/task/templates/task.rb.tt +8 -0
  792. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/resource_helpers.rb +82 -0
  793. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/test_case.rb +37 -0
  794. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/test_unit/controller/controller_generator.rb +17 -0
  795. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/test_unit/controller/templates/functional_test.rb.tt +23 -0
  796. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/test_unit/generator/generator_generator.rb +28 -0
  797. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/test_unit/generator/templates/generator_test.rb.tt +16 -0
  798. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/test_unit/helper/helper_generator.rb +11 -0
  799. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/test_unit/integration/integration_generator.rb +21 -0
  800. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/test_unit/integration/templates/integration_test.rb.tt +9 -0
  801. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/test_unit/job/job_generator.rb +20 -0
  802. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/test_unit/job/templates/unit_test.rb.tt +9 -0
  803. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/test_unit/mailer/mailer_generator.rb +28 -0
  804. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/test_unit/mailer/templates/functional_test.rb.tt +21 -0
  805. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/test_unit/mailer/templates/preview.rb.tt +13 -0
  806. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/test_unit/model/model_generator.rb +37 -0
  807. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/test_unit/model/templates/fixtures.yml.tt +29 -0
  808. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/test_unit/model/templates/unit_test.rb.tt +9 -0
  809. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/test_unit/plugin/plugin_generator.rb +15 -0
  810. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/test_unit/plugin/templates/%file_name%_test.rb.tt +7 -0
  811. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/test_unit/plugin/templates/test_helper.rb +2 -0
  812. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/test_unit/scaffold/scaffold_generator.rb +69 -0
  813. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/test_unit/scaffold/templates/api_functional_test.rb.tt +44 -0
  814. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/test_unit/scaffold/templates/functional_test.rb.tt +54 -0
  815. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/test_unit/scaffold/templates/system_test.rb.tt +57 -0
  816. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/test_unit/system/system_generator.rb +24 -0
  817. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/test_unit/system/templates/application_system_test_case.rb.tt +5 -0
  818. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/test_unit/system/templates/system_test.rb.tt +9 -0
  819. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/test_unit.rb +10 -0
  820. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/testing/assertions.rb +127 -0
  821. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/testing/behaviour.rb +114 -0
  822. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators/testing/setup_and_teardown.rb +20 -0
  823. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/generators.rb +325 -0
  824. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/info.rb +105 -0
  825. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/info_controller.rb +46 -0
  826. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/initializable.rb +95 -0
  827. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/mailers_controller.rb +100 -0
  828. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/paths.rb +237 -0
  829. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/plugin/test.rb +9 -0
  830. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/rack/logger.rb +80 -0
  831. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/rack.rb +7 -0
  832. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/railtie/configurable.rb +37 -0
  833. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/railtie/configuration.rb +102 -0
  834. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/railtie.rb +260 -0
  835. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/ruby_version_check.rb +15 -0
  836. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/secrets.rb +105 -0
  837. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/source_annotation_extractor.rb +162 -0
  838. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/tasks/annotations.rake +22 -0
  839. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/tasks/dev.rake +11 -0
  840. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/tasks/engine.rake +88 -0
  841. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/tasks/framework.rake +62 -0
  842. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/tasks/initializers.rake +9 -0
  843. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/tasks/log.rake +41 -0
  844. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/tasks/middleware.rake +9 -0
  845. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/tasks/misc.rake +79 -0
  846. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/tasks/restart.rake +9 -0
  847. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/tasks/routes.rake +9 -0
  848. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/tasks/statistics.rake +35 -0
  849. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/tasks/tmp.rake +44 -0
  850. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/tasks/yarn.rake +18 -0
  851. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/tasks/zeitwerk.rake +66 -0
  852. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/tasks.rb +23 -0
  853. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/templates/layouts/application.html.erb +36 -0
  854. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/templates/rails/info/properties.html.erb +1 -0
  855. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/templates/rails/info/routes.html.erb +9 -0
  856. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/templates/rails/mailers/email.html.erb +162 -0
  857. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/templates/rails/mailers/index.html.erb +8 -0
  858. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/templates/rails/mailers/mailer.html.erb +6 -0
  859. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/templates/rails/welcome/index.html.erb +74 -0
  860. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/test_help.rb +50 -0
  861. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/test_unit/line_filtering.rb +13 -0
  862. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/test_unit/railtie.rb +29 -0
  863. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/test_unit/reporter.rb +110 -0
  864. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/test_unit/runner.rb +143 -0
  865. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/test_unit/testing.rake +58 -0
  866. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/version.rb +10 -0
  867. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails/welcome_controller.rb +10 -0
  868. data/vendor/ruby/2.6.0/gems/railties-6.0.0/lib/rails.rb +119 -0
  869. data/vendor/ruby/2.6.0/gems/sass-rails-6.0.0/MIT-LICENSE +21 -0
  870. data/vendor/ruby/2.6.0/gems/sass-rails-6.0.0/README.md +103 -0
  871. data/vendor/ruby/2.6.0/gems/sass-rails-6.0.0/lib/sass/rails/importer.rb +5 -0
  872. data/vendor/ruby/2.6.0/gems/sass-rails-6.0.0/lib/sass/rails/logger.rb +5 -0
  873. data/vendor/ruby/2.6.0/gems/sass-rails-6.0.0/lib/sass/rails/railtie.rb +1 -0
  874. data/vendor/ruby/2.6.0/gems/sass-rails-6.0.0/lib/sass/rails/version.rb +5 -0
  875. data/vendor/ruby/2.6.0/gems/sass-rails-6.0.0/lib/sass/rails.rb +1 -0
  876. data/vendor/ruby/2.6.0/gems/sass-rails-6.0.0/lib/sass-rails.rb +1 -0
  877. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/CHANGELOG.md +75 -0
  878. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/CODE_OF_CONDUCT.md +10 -0
  879. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/Gemfile +2 -0
  880. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/LICENSE.txt +22 -0
  881. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/README.md +68 -0
  882. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/Rakefile +53 -0
  883. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/depend +4 -0
  884. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/extconf.rb +84 -0
  885. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/VERSION +1 -0
  886. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/contrib/plugin.cpp +60 -0
  887. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/include/sass/base.h +96 -0
  888. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/include/sass/context.h +170 -0
  889. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/include/sass/functions.h +139 -0
  890. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/include/sass/values.h +145 -0
  891. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/include/sass/version.h +12 -0
  892. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/include/sass.h +15 -0
  893. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/include/sass2scss.h +120 -0
  894. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/ast.cpp +963 -0
  895. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/ast.hpp +905 -0
  896. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/ast2c.cpp +80 -0
  897. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/ast2c.hpp +39 -0
  898. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/ast_def_macros.hpp +132 -0
  899. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/ast_fwd_decl.cpp +30 -0
  900. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/ast_fwd_decl.hpp +341 -0
  901. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/ast_sel_cmp.cpp +909 -0
  902. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/ast_sel_unify.cpp +280 -0
  903. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/ast_selectors.cpp +1475 -0
  904. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/ast_selectors.hpp +568 -0
  905. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/ast_supports.cpp +130 -0
  906. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/ast_supports.hpp +121 -0
  907. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/ast_values.cpp +967 -0
  908. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/ast_values.hpp +489 -0
  909. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/b64/cencode.h +32 -0
  910. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/b64/encode.h +79 -0
  911. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/backtrace.cpp +50 -0
  912. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/backtrace.hpp +29 -0
  913. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/base64vlq.cpp +47 -0
  914. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/base64vlq.hpp +30 -0
  915. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/bind.cpp +312 -0
  916. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/bind.hpp +15 -0
  917. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/c2ast.cpp +64 -0
  918. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/c2ast.hpp +14 -0
  919. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/c99func.c +54 -0
  920. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/cencode.c +108 -0
  921. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/check_nesting.cpp +394 -0
  922. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/check_nesting.hpp +66 -0
  923. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/color_maps.cpp +651 -0
  924. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/color_maps.hpp +331 -0
  925. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/constants.cpp +194 -0
  926. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/constants.hpp +194 -0
  927. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/context.cpp +890 -0
  928. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/context.hpp +152 -0
  929. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/cssize.cpp +604 -0
  930. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/cssize.hpp +77 -0
  931. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/debug.hpp +43 -0
  932. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/debugger.hpp +807 -0
  933. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/emitter.cpp +298 -0
  934. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/emitter.hpp +103 -0
  935. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/environment.cpp +260 -0
  936. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/environment.hpp +119 -0
  937. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/error_handling.cpp +212 -0
  938. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/error_handling.hpp +229 -0
  939. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/eval.cpp +1657 -0
  940. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/eval.hpp +112 -0
  941. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/expand.cpp +822 -0
  942. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/expand.hpp +78 -0
  943. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/extend.cpp +2132 -0
  944. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/extend.hpp +86 -0
  945. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/file.cpp +522 -0
  946. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/file.hpp +133 -0
  947. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/fn_colors.cpp +594 -0
  948. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/fn_colors.hpp +85 -0
  949. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/fn_lists.cpp +284 -0
  950. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/fn_lists.hpp +34 -0
  951. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/fn_maps.cpp +94 -0
  952. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/fn_maps.hpp +30 -0
  953. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/fn_miscs.cpp +256 -0
  954. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/fn_miscs.hpp +40 -0
  955. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/fn_numbers.cpp +220 -0
  956. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/fn_numbers.hpp +45 -0
  957. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/fn_selectors.cpp +235 -0
  958. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/fn_selectors.hpp +35 -0
  959. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/fn_strings.cpp +254 -0
  960. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/fn_strings.hpp +34 -0
  961. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/fn_utils.cpp +156 -0
  962. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/fn_utils.hpp +56 -0
  963. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/inspect.cpp +1087 -0
  964. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/inspect.hpp +99 -0
  965. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/json.cpp +1436 -0
  966. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/json.hpp +117 -0
  967. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/kwd_arg_macros.hpp +28 -0
  968. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/lexer.cpp +184 -0
  969. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/lexer.hpp +315 -0
  970. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/listize.cpp +84 -0
  971. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/listize.hpp +38 -0
  972. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/mapping.hpp +18 -0
  973. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/memory/SharedPtr.cpp +33 -0
  974. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/memory/SharedPtr.hpp +286 -0
  975. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/node.cpp +322 -0
  976. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/node.hpp +118 -0
  977. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/operation.hpp +213 -0
  978. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/operators.cpp +266 -0
  979. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/operators.hpp +30 -0
  980. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/output.cpp +339 -0
  981. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/output.hpp +47 -0
  982. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/parser.cpp +3153 -0
  983. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/parser.hpp +402 -0
  984. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/paths.hpp +71 -0
  985. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/plugins.cpp +188 -0
  986. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/plugins.hpp +57 -0
  987. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/position.cpp +184 -0
  988. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/position.hpp +124 -0
  989. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/prelexer.cpp +1780 -0
  990. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/prelexer.hpp +484 -0
  991. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/remove_placeholders.cpp +87 -0
  992. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/remove_placeholders.hpp +34 -0
  993. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/sass.cpp +155 -0
  994. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/sass.hpp +142 -0
  995. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/sass2scss.cpp +895 -0
  996. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/sass_context.cpp +772 -0
  997. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/sass_context.hpp +129 -0
  998. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/sass_functions.cpp +210 -0
  999. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/sass_functions.hpp +50 -0
  1000. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/sass_util.cpp +152 -0
  1001. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/sass_util.hpp +256 -0
  1002. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/sass_values.cpp +365 -0
  1003. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/sass_values.hpp +82 -0
  1004. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/source_map.cpp +198 -0
  1005. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/source_map.hpp +62 -0
  1006. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/subset_map.cpp +58 -0
  1007. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/subset_map.hpp +76 -0
  1008. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/to_value.cpp +114 -0
  1009. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/to_value.hpp +46 -0
  1010. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/units.cpp +505 -0
  1011. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/units.hpp +110 -0
  1012. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/utf8/checked.h +336 -0
  1013. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/utf8/core.h +332 -0
  1014. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/utf8/unchecked.h +235 -0
  1015. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/utf8.h +34 -0
  1016. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/utf8_string.cpp +105 -0
  1017. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/utf8_string.hpp +37 -0
  1018. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/util.cpp +725 -0
  1019. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/util.hpp +106 -0
  1020. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/util_string.cpp +75 -0
  1021. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/util_string.hpp +19 -0
  1022. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/values.cpp +140 -0
  1023. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/ext/libsass/src/values.hpp +12 -0
  1024. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/dependency.rb +17 -0
  1025. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/engine.rb +139 -0
  1026. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/error.rb +37 -0
  1027. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/functions_handler.rb +75 -0
  1028. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/import_handler.rb +50 -0
  1029. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/importer.rb +31 -0
  1030. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/libsass.so +0 -0
  1031. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/native/lib_c.rb +21 -0
  1032. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/native/native_context_api.rb +147 -0
  1033. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/native/native_functions_api.rb +159 -0
  1034. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/native/sass2scss_api.rb +10 -0
  1035. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/native/sass_input_style.rb +13 -0
  1036. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/native/sass_output_style.rb +12 -0
  1037. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/native/sass_value.rb +97 -0
  1038. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/native/string_list.rb +10 -0
  1039. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/native.rb +62 -0
  1040. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/sass_2_scss.rb +9 -0
  1041. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/script/functions.rb +8 -0
  1042. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/script/value/bool.rb +32 -0
  1043. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/script/value/color.rb +95 -0
  1044. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/script/value/list.rb +136 -0
  1045. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/script/value/map.rb +69 -0
  1046. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/script/value/number.rb +389 -0
  1047. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/script/value/string.rb +96 -0
  1048. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/script/value.rb +137 -0
  1049. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/script/value_conversion/base.rb +13 -0
  1050. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/script/value_conversion/bool.rb +13 -0
  1051. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/script/value_conversion/color.rb +18 -0
  1052. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/script/value_conversion/list.rb +25 -0
  1053. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/script/value_conversion/map.rb +21 -0
  1054. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/script/value_conversion/number.rb +13 -0
  1055. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/script/value_conversion/string.rb +17 -0
  1056. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/script/value_conversion.rb +69 -0
  1057. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/script.rb +19 -0
  1058. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/util/normalized_map.rb +117 -0
  1059. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/util.rb +231 -0
  1060. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc/version.rb +5 -0
  1061. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/lib/sassc.rb +57 -0
  1062. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/sassc.gemspec +69 -0
  1063. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/test/custom_importer_test.rb +127 -0
  1064. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/test/engine_test.rb +314 -0
  1065. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/test/error_test.rb +29 -0
  1066. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/test/fixtures/paths.scss +10 -0
  1067. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/test/functions_test.rb +303 -0
  1068. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/test/native_test.rb +213 -0
  1069. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/test/output_style_test.rb +107 -0
  1070. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/test/sass_2_scss_test.rb +14 -0
  1071. data/vendor/ruby/2.6.0/gems/sassc-2.1.0-x86_64-linux/test/test_helper.rb +45 -0
  1072. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/CODE_OF_CONDUCT.md +10 -0
  1073. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/Gemfile +7 -0
  1074. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/LICENSE.txt +22 -0
  1075. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/README.md +124 -0
  1076. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/Rakefile +33 -0
  1077. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/gemfiles/rails_4_2.gemfile +6 -0
  1078. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/gemfiles/rails_5_2.gemfile +6 -0
  1079. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/gemfiles/sprockets-rails_2_3.gemfile +6 -0
  1080. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/gemfiles/sprockets-rails_3_0.gemfile +6 -0
  1081. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/gemfiles/sprockets_3_0.gemfile +6 -0
  1082. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/gemfiles/sprockets_4_0.gemfile +6 -0
  1083. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/lib/rails/generators/sass/assets/assets_generator.rb +13 -0
  1084. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/lib/rails/generators/sass/assets/templates/stylesheet.sass +3 -0
  1085. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/lib/rails/generators/sass/scaffold/scaffold_generator.rb +9 -0
  1086. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/lib/rails/generators/sass_scaffold.rb +15 -0
  1087. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/lib/rails/generators/scss/assets/assets_generator.rb +13 -0
  1088. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/lib/rails/generators/scss/assets/templates/stylesheet.scss +3 -0
  1089. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/lib/rails/generators/scss/scaffold/scaffold_generator.rb +10 -0
  1090. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/lib/sassc/rails/compressor.rb +34 -0
  1091. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/lib/sassc/rails/functions.rb +13 -0
  1092. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/lib/sassc/rails/importer.rb +181 -0
  1093. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/lib/sassc/rails/railtie.rb +81 -0
  1094. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/lib/sassc/rails/template.rb +113 -0
  1095. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/lib/sassc/rails/version.rb +7 -0
  1096. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/lib/sassc/rails.rb +10 -0
  1097. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/lib/sassc-rails.rb +4 -0
  1098. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/sassc-rails.gemspec +32 -0
  1099. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/config/manifest.js +3 -0
  1100. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/fonts/fake-font.ttf +0 -0
  1101. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/images/1x1.png +0 -0
  1102. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/images/rails.png +0 -0
  1103. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/_top_level_partial.scss +3 -0
  1104. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/application.scss +5 -0
  1105. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/css_application.css +11 -0
  1106. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/css_erb_handler.css.erb +3 -0
  1107. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/css_sass_erb_handler.sass.erb +2 -0
  1108. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/css_sass_handler.css.sass +2 -0
  1109. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/css_scss_erb_handler.scss.erb +3 -0
  1110. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/css_scss_handler.css.scss +3 -0
  1111. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/erb_render_with_context.css.erb +1804 -0
  1112. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/glob_multiple_extensions_test.scss +1 -0
  1113. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/glob_test.scss +1 -0
  1114. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/globbed/globbed.scss +3 -0
  1115. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/globbed/nested/nested_glob.scss +3 -0
  1116. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/globbed_multiple_extensions/glob.scss.erb +3 -0
  1117. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/helpers_test.scss +18 -0
  1118. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/imports_test.scss +23 -0
  1119. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/in_load_paths/partial_in_load_paths.scss +3 -0
  1120. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/partials/_css_sass_import.sass +5 -0
  1121. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/partials/_explicit_extension_import.foo +3 -0
  1122. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/partials/_sass_import.sass +2 -0
  1123. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/partials/_scss_import.scss +9 -0
  1124. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/partials/_without_css_ext.scss +3 -0
  1125. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/partials/subfolder/_relative_sass.sass +2 -0
  1126. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/partials/subfolder/_relative_scss.scss +3 -0
  1127. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/partials/subfolder/relative_not_a_partial.scss +3 -0
  1128. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/sass_erb_handler.sass.erb +2 -0
  1129. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/scss_erb_handler.scss.erb +3 -0
  1130. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/special_characters.scss +5 -0
  1131. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/subfolder/_defaults.scss +3 -0
  1132. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/subfolder/another_plain.css +3 -0
  1133. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/subfolder/plain.css +3 -0
  1134. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/subfolder/second_level.scss +2 -0
  1135. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/dummy/app/assets/stylesheets/syntax_error.scss +3 -0
  1136. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/sassc_rails_test.rb +334 -0
  1137. data/vendor/ruby/2.6.0/gems/sassc-rails-2.1.2/test/test_helper.rb +17 -0
  1138. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.9/README.md +533 -0
  1139. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.9/lib/zeitwerk/error.rb +7 -0
  1140. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.9/lib/zeitwerk/explicit_namespace.rb +80 -0
  1141. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.9/lib/zeitwerk/gem_inflector.rb +19 -0
  1142. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.9/lib/zeitwerk/inflector.rb +19 -0
  1143. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.9/lib/zeitwerk/kernel.rb +33 -0
  1144. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.9/lib/zeitwerk/loader/callbacks.rb +71 -0
  1145. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.9/lib/zeitwerk/loader.rb +742 -0
  1146. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.9/lib/zeitwerk/real_mod_name.rb +15 -0
  1147. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.9/lib/zeitwerk/registry.rb +147 -0
  1148. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.9/lib/zeitwerk/version.rb +5 -0
  1149. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.9/lib/zeitwerk.rb +12 -0
  1150. data/vendor/ruby/2.6.0/specifications/actionpack-6.0.0.gemspec +53 -0
  1151. data/vendor/ruby/2.6.0/specifications/actionview-6.0.0.gemspec +53 -0
  1152. data/vendor/ruby/2.6.0/specifications/activesupport-6.0.0.gemspec +47 -0
  1153. data/vendor/ruby/2.6.0/specifications/railties-6.0.0.gemspec +53 -0
  1154. data/vendor/ruby/2.6.0/specifications/sass-rails-6.0.0.gemspec +32 -0
  1155. data/vendor/ruby/2.6.0/specifications/sassc-2.1.0-x86_64-linux.gemspec +58 -0
  1156. data/vendor/ruby/2.6.0/specifications/sassc-rails-2.1.2.gemspec +56 -0
  1157. data/vendor/ruby/2.6.0/specifications/zeitwerk-2.1.9.gemspec +21 -0
  1158. metadata +1156 -2
@@ -0,0 +1,1200 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "date"
4
+ require "action_view/helpers/tag_helper"
5
+ require "active_support/core_ext/array/extract_options"
6
+ require "active_support/core_ext/date/conversions"
7
+ require "active_support/core_ext/hash/slice"
8
+ require "active_support/core_ext/object/acts_like"
9
+ require "active_support/core_ext/object/with_options"
10
+
11
+ module ActionView
12
+ module Helpers #:nodoc:
13
+ # = Action View Date Helpers
14
+ #
15
+ # The Date Helper primarily creates select/option tags for different kinds of dates and times or date and time
16
+ # elements. All of the select-type methods share a number of common options that are as follows:
17
+ #
18
+ # * <tt>:prefix</tt> - overwrites the default prefix of "date" used for the select names. So specifying "birthday"
19
+ # would give \birthday[month] instead of \date[month] if passed to the <tt>select_month</tt> method.
20
+ # * <tt>:include_blank</tt> - set to true if it should be possible to set an empty date.
21
+ # * <tt>:discard_type</tt> - set to true if you want to discard the type part of the select name. If set to true,
22
+ # the <tt>select_month</tt> method would use simply "date" (which can be overwritten using <tt>:prefix</tt>) instead
23
+ # of \date[month].
24
+ module DateHelper
25
+ MINUTES_IN_YEAR = 525600
26
+ MINUTES_IN_QUARTER_YEAR = 131400
27
+ MINUTES_IN_THREE_QUARTERS_YEAR = 394200
28
+
29
+ # Reports the approximate distance in time between two Time, Date or DateTime objects or integers as seconds.
30
+ # Pass <tt>include_seconds: true</tt> if you want more detailed approximations when distance < 1 min, 29 secs.
31
+ # Distances are reported based on the following table:
32
+ #
33
+ # 0 <-> 29 secs # => less than a minute
34
+ # 30 secs <-> 1 min, 29 secs # => 1 minute
35
+ # 1 min, 30 secs <-> 44 mins, 29 secs # => [2..44] minutes
36
+ # 44 mins, 30 secs <-> 89 mins, 29 secs # => about 1 hour
37
+ # 89 mins, 30 secs <-> 23 hrs, 59 mins, 29 secs # => about [2..24] hours
38
+ # 23 hrs, 59 mins, 30 secs <-> 41 hrs, 59 mins, 29 secs # => 1 day
39
+ # 41 hrs, 59 mins, 30 secs <-> 29 days, 23 hrs, 59 mins, 29 secs # => [2..29] days
40
+ # 29 days, 23 hrs, 59 mins, 30 secs <-> 44 days, 23 hrs, 59 mins, 29 secs # => about 1 month
41
+ # 44 days, 23 hrs, 59 mins, 30 secs <-> 59 days, 23 hrs, 59 mins, 29 secs # => about 2 months
42
+ # 59 days, 23 hrs, 59 mins, 30 secs <-> 1 yr minus 1 sec # => [2..12] months
43
+ # 1 yr <-> 1 yr, 3 months # => about 1 year
44
+ # 1 yr, 3 months <-> 1 yr, 9 months # => over 1 year
45
+ # 1 yr, 9 months <-> 2 yr minus 1 sec # => almost 2 years
46
+ # 2 yrs <-> max time or date # => (same rules as 1 yr)
47
+ #
48
+ # With <tt>include_seconds: true</tt> and the difference < 1 minute 29 seconds:
49
+ # 0-4 secs # => less than 5 seconds
50
+ # 5-9 secs # => less than 10 seconds
51
+ # 10-19 secs # => less than 20 seconds
52
+ # 20-39 secs # => half a minute
53
+ # 40-59 secs # => less than a minute
54
+ # 60-89 secs # => 1 minute
55
+ #
56
+ # from_time = Time.now
57
+ # distance_of_time_in_words(from_time, from_time + 50.minutes) # => about 1 hour
58
+ # distance_of_time_in_words(from_time, 50.minutes.from_now) # => about 1 hour
59
+ # distance_of_time_in_words(from_time, from_time + 15.seconds) # => less than a minute
60
+ # distance_of_time_in_words(from_time, from_time + 15.seconds, include_seconds: true) # => less than 20 seconds
61
+ # distance_of_time_in_words(from_time, 3.years.from_now) # => about 3 years
62
+ # distance_of_time_in_words(from_time, from_time + 60.hours) # => 3 days
63
+ # distance_of_time_in_words(from_time, from_time + 45.seconds, include_seconds: true) # => less than a minute
64
+ # distance_of_time_in_words(from_time, from_time - 45.seconds, include_seconds: true) # => less than a minute
65
+ # distance_of_time_in_words(from_time, 76.seconds.from_now) # => 1 minute
66
+ # distance_of_time_in_words(from_time, from_time + 1.year + 3.days) # => about 1 year
67
+ # distance_of_time_in_words(from_time, from_time + 3.years + 6.months) # => over 3 years
68
+ # distance_of_time_in_words(from_time, from_time + 4.years + 9.days + 30.minutes + 5.seconds) # => about 4 years
69
+ #
70
+ # to_time = Time.now + 6.years + 19.days
71
+ # distance_of_time_in_words(from_time, to_time, include_seconds: true) # => about 6 years
72
+ # distance_of_time_in_words(to_time, from_time, include_seconds: true) # => about 6 years
73
+ # distance_of_time_in_words(Time.now, Time.now) # => less than a minute
74
+ #
75
+ # With the <tt>scope</tt> option, you can define a custom scope for Rails
76
+ # to look up the translation.
77
+ #
78
+ # For example you can define the following in your locale (e.g. en.yml).
79
+ #
80
+ # datetime:
81
+ # distance_in_words:
82
+ # short:
83
+ # about_x_hours:
84
+ # one: 'an hour'
85
+ # other: '%{count} hours'
86
+ #
87
+ # See https://github.com/svenfuchs/rails-i18n/blob/master/rails/locale/en.yml
88
+ # for more examples.
89
+ #
90
+ # Which will then result in the following:
91
+ #
92
+ # from_time = Time.now
93
+ # distance_of_time_in_words(from_time, from_time + 50.minutes, scope: 'datetime.distance_in_words.short') # => "an hour"
94
+ # distance_of_time_in_words(from_time, from_time + 3.hours, scope: 'datetime.distance_in_words.short') # => "3 hours"
95
+ def distance_of_time_in_words(from_time, to_time = 0, options = {})
96
+ options = {
97
+ scope: :'datetime.distance_in_words'
98
+ }.merge!(options)
99
+
100
+ from_time = normalize_distance_of_time_argument_to_time(from_time)
101
+ to_time = normalize_distance_of_time_argument_to_time(to_time)
102
+ from_time, to_time = to_time, from_time if from_time > to_time
103
+ distance_in_minutes = ((to_time - from_time) / 60.0).round
104
+ distance_in_seconds = (to_time - from_time).round
105
+
106
+ I18n.with_options locale: options[:locale], scope: options[:scope] do |locale|
107
+ case distance_in_minutes
108
+ when 0..1
109
+ return distance_in_minutes == 0 ?
110
+ locale.t(:less_than_x_minutes, count: 1) :
111
+ locale.t(:x_minutes, count: distance_in_minutes) unless options[:include_seconds]
112
+
113
+ case distance_in_seconds
114
+ when 0..4 then locale.t :less_than_x_seconds, count: 5
115
+ when 5..9 then locale.t :less_than_x_seconds, count: 10
116
+ when 10..19 then locale.t :less_than_x_seconds, count: 20
117
+ when 20..39 then locale.t :half_a_minute
118
+ when 40..59 then locale.t :less_than_x_minutes, count: 1
119
+ else locale.t :x_minutes, count: 1
120
+ end
121
+
122
+ when 2...45 then locale.t :x_minutes, count: distance_in_minutes
123
+ when 45...90 then locale.t :about_x_hours, count: 1
124
+ # 90 mins up to 24 hours
125
+ when 90...1440 then locale.t :about_x_hours, count: (distance_in_minutes.to_f / 60.0).round
126
+ # 24 hours up to 42 hours
127
+ when 1440...2520 then locale.t :x_days, count: 1
128
+ # 42 hours up to 30 days
129
+ when 2520...43200 then locale.t :x_days, count: (distance_in_minutes.to_f / 1440.0).round
130
+ # 30 days up to 60 days
131
+ when 43200...86400 then locale.t :about_x_months, count: (distance_in_minutes.to_f / 43200.0).round
132
+ # 60 days up to 365 days
133
+ when 86400...525600 then locale.t :x_months, count: (distance_in_minutes.to_f / 43200.0).round
134
+ else
135
+ from_year = from_time.year
136
+ from_year += 1 if from_time.month >= 3
137
+ to_year = to_time.year
138
+ to_year -= 1 if to_time.month < 3
139
+ leap_years = (from_year > to_year) ? 0 : (from_year..to_year).count { |x| Date.leap?(x) }
140
+ minute_offset_for_leap_year = leap_years * 1440
141
+ # Discount the leap year days when calculating year distance.
142
+ # e.g. if there are 20 leap year days between 2 dates having the same day
143
+ # and month then the based on 365 days calculation
144
+ # the distance in years will come out to over 80 years when in written
145
+ # English it would read better as about 80 years.
146
+ minutes_with_offset = distance_in_minutes - minute_offset_for_leap_year
147
+ remainder = (minutes_with_offset % MINUTES_IN_YEAR)
148
+ distance_in_years = (minutes_with_offset.div MINUTES_IN_YEAR)
149
+ if remainder < MINUTES_IN_QUARTER_YEAR
150
+ locale.t(:about_x_years, count: distance_in_years)
151
+ elsif remainder < MINUTES_IN_THREE_QUARTERS_YEAR
152
+ locale.t(:over_x_years, count: distance_in_years)
153
+ else
154
+ locale.t(:almost_x_years, count: distance_in_years + 1)
155
+ end
156
+ end
157
+ end
158
+ end
159
+
160
+ # Like <tt>distance_of_time_in_words</tt>, but where <tt>to_time</tt> is fixed to <tt>Time.now</tt>.
161
+ #
162
+ # time_ago_in_words(3.minutes.from_now) # => 3 minutes
163
+ # time_ago_in_words(3.minutes.ago) # => 3 minutes
164
+ # time_ago_in_words(Time.now - 15.hours) # => about 15 hours
165
+ # time_ago_in_words(Time.now) # => less than a minute
166
+ # time_ago_in_words(Time.now, include_seconds: true) # => less than 5 seconds
167
+ #
168
+ # from_time = Time.now - 3.days - 14.minutes - 25.seconds
169
+ # time_ago_in_words(from_time) # => 3 days
170
+ #
171
+ # from_time = (3.days + 14.minutes + 25.seconds).ago
172
+ # time_ago_in_words(from_time) # => 3 days
173
+ #
174
+ # Note that you cannot pass a <tt>Numeric</tt> value to <tt>time_ago_in_words</tt>.
175
+ #
176
+ def time_ago_in_words(from_time, options = {})
177
+ distance_of_time_in_words(from_time, Time.now, options)
178
+ end
179
+
180
+ alias_method :distance_of_time_in_words_to_now, :time_ago_in_words
181
+
182
+ # Returns a set of select tags (one for year, month, and day) pre-selected for accessing a specified date-based
183
+ # attribute (identified by +method+) on an object assigned to the template (identified by +object+).
184
+ #
185
+ # ==== Options
186
+ # * <tt>:use_month_numbers</tt> - Set to true if you want to use month numbers rather than month names (e.g.
187
+ # "2" instead of "February").
188
+ # * <tt>:use_two_digit_numbers</tt> - Set to true if you want to display two digit month and day numbers (e.g.
189
+ # "02" instead of "February" and "08" instead of "8").
190
+ # * <tt>:use_short_month</tt> - Set to true if you want to use abbreviated month names instead of full
191
+ # month names (e.g. "Feb" instead of "February").
192
+ # * <tt>:add_month_numbers</tt> - Set to true if you want to use both month numbers and month names (e.g.
193
+ # "2 - February" instead of "February").
194
+ # * <tt>:use_month_names</tt> - Set to an array with 12 month names if you want to customize month names.
195
+ # Note: You can also use Rails' i18n functionality for this.
196
+ # * <tt>:month_format_string</tt> - Set to a format string. The string gets passed keys +:number+ (integer)
197
+ # and +:name+ (string). A format string would be something like "%{name} (%<number>02d)" for example.
198
+ # See <tt>Kernel.sprintf</tt> for documentation on format sequences.
199
+ # * <tt>:date_separator</tt> - Specifies a string to separate the date fields. Default is "" (i.e. nothing).
200
+ # * <tt>:time_separator</tt> - Specifies a string to separate the time fields. Default is "" (i.e. nothing).
201
+ # * <tt>:datetime_separator</tt>- Specifies a string to separate the date and time fields. Default is "" (i.e. nothing).
202
+ # * <tt>:start_year</tt> - Set the start year for the year select. Default is <tt>Date.today.year - 5</tt> if
203
+ # you are creating new record. While editing existing record, <tt>:start_year</tt> defaults to
204
+ # the current selected year minus 5.
205
+ # * <tt>:end_year</tt> - Set the end year for the year select. Default is <tt>Date.today.year + 5</tt> if
206
+ # you are creating new record. While editing existing record, <tt>:end_year</tt> defaults to
207
+ # the current selected year plus 5.
208
+ # * <tt>:year_format</tt> - Set format of years for year select. Lambda should be passed.
209
+ # * <tt>:discard_day</tt> - Set to true if you don't want to show a day select. This includes the day
210
+ # as a hidden field instead of showing a select field. Also note that this implicitly sets the day to be the
211
+ # first of the given month in order to not create invalid dates like 31 February.
212
+ # * <tt>:discard_month</tt> - Set to true if you don't want to show a month select. This includes the month
213
+ # as a hidden field instead of showing a select field. Also note that this implicitly sets :discard_day to true.
214
+ # * <tt>:discard_year</tt> - Set to true if you don't want to show a year select. This includes the year
215
+ # as a hidden field instead of showing a select field.
216
+ # * <tt>:order</tt> - Set to an array containing <tt>:day</tt>, <tt>:month</tt> and <tt>:year</tt> to
217
+ # customize the order in which the select fields are shown. If you leave out any of the symbols, the respective
218
+ # select will not be shown (like when you set <tt>discard_xxx: true</tt>. Defaults to the order defined in
219
+ # the respective locale (e.g. [:year, :month, :day] in the en locale that ships with Rails).
220
+ # * <tt>:include_blank</tt> - Include a blank option in every select field so it's possible to set empty
221
+ # dates.
222
+ # * <tt>:default</tt> - Set a default date if the affected date isn't set or is +nil+.
223
+ # * <tt>:selected</tt> - Set a date that overrides the actual value.
224
+ # * <tt>:disabled</tt> - Set to true if you want show the select fields as disabled.
225
+ # * <tt>:prompt</tt> - Set to true (for a generic prompt), a prompt string or a hash of prompt strings
226
+ # for <tt>:year</tt>, <tt>:month</tt>, <tt>:day</tt>, <tt>:hour</tt>, <tt>:minute</tt> and <tt>:second</tt>.
227
+ # Setting this option prepends a select option with a generic prompt (Day, Month, Year, Hour, Minute, Seconds)
228
+ # or the given prompt string.
229
+ # * <tt>:with_css_classes</tt> - Set to true or a hash of strings. Use true if you want to assign generic styles for
230
+ # select tags. This automatically set classes 'year', 'month', 'day', 'hour', 'minute' and 'second'. A hash of
231
+ # strings for <tt>:year</tt>, <tt>:month</tt>, <tt>:day</tt>, <tt>:hour</tt>, <tt>:minute</tt>, <tt>:second</tt>
232
+ # will extend the select type with the given value. Use +html_options+ to modify every select tag in the set.
233
+ # * <tt>:use_hidden</tt> - Set to true if you only want to generate hidden input tags.
234
+ #
235
+ # If anything is passed in the +html_options+ hash it will be applied to every select tag in the set.
236
+ #
237
+ # NOTE: Discarded selects will default to 1. So if no month select is available, January will be assumed.
238
+ #
239
+ # # Generates a date select that when POSTed is stored in the article variable, in the written_on attribute.
240
+ # date_select("article", "written_on")
241
+ #
242
+ # # Generates a date select that when POSTed is stored in the article variable, in the written_on attribute,
243
+ # # with the year in the year drop down box starting at 1995.
244
+ # date_select("article", "written_on", start_year: 1995)
245
+ #
246
+ # # Generates a date select that when POSTed is stored in the article variable, in the written_on attribute,
247
+ # # with the year in the year drop down box starting at 1995, numbers used for months instead of words,
248
+ # # and without a day select box.
249
+ # date_select("article", "written_on", start_year: 1995, use_month_numbers: true,
250
+ # discard_day: true, include_blank: true)
251
+ #
252
+ # # Generates a date select that when POSTed is stored in the article variable, in the written_on attribute,
253
+ # # with two digit numbers used for months and days.
254
+ # date_select("article", "written_on", use_two_digit_numbers: true)
255
+ #
256
+ # # Generates a date select that when POSTed is stored in the article variable, in the written_on attribute
257
+ # # with the fields ordered as day, month, year rather than month, day, year.
258
+ # date_select("article", "written_on", order: [:day, :month, :year])
259
+ #
260
+ # # Generates a date select that when POSTed is stored in the user variable, in the birthday attribute
261
+ # # lacking a year field.
262
+ # date_select("user", "birthday", order: [:month, :day])
263
+ #
264
+ # # Generates a date select that when POSTed is stored in the article variable, in the written_on attribute
265
+ # # which is initially set to the date 3 days from the current date
266
+ # date_select("article", "written_on", default: 3.days.from_now)
267
+ #
268
+ # # Generates a date select that when POSTed is stored in the article variable, in the written_on attribute
269
+ # # which is set in the form with today's date, regardless of the value in the Active Record object.
270
+ # date_select("article", "written_on", selected: Date.today)
271
+ #
272
+ # # Generates a date select that when POSTed is stored in the credit_card variable, in the bill_due attribute
273
+ # # that will have a default day of 20.
274
+ # date_select("credit_card", "bill_due", default: { day: 20 })
275
+ #
276
+ # # Generates a date select with custom prompts.
277
+ # date_select("article", "written_on", prompt: { day: 'Select day', month: 'Select month', year: 'Select year' })
278
+ #
279
+ # # Generates a date select with custom year format.
280
+ # date_select("article", "written_on", year_format: ->(year) { "Heisei #{year - 1988}" })
281
+ #
282
+ # The selects are prepared for multi-parameter assignment to an Active Record object.
283
+ #
284
+ # Note: If the day is not included as an option but the month is, the day will be set to the 1st to ensure that
285
+ # all month choices are valid.
286
+ def date_select(object_name, method, options = {}, html_options = {})
287
+ Tags::DateSelect.new(object_name, method, self, options, html_options).render
288
+ end
289
+
290
+ # Returns a set of select tags (one for hour, minute and optionally second) pre-selected for accessing a
291
+ # specified time-based attribute (identified by +method+) on an object assigned to the template (identified by
292
+ # +object+). You can include the seconds with <tt>:include_seconds</tt>. You can get hours in the AM/PM format
293
+ # with <tt>:ampm</tt> option.
294
+ #
295
+ # This method will also generate 3 input hidden tags, for the actual year, month and day unless the option
296
+ # <tt>:ignore_date</tt> is set to +true+. If you set the <tt>:ignore_date</tt> to +true+, you must have a
297
+ # +date_select+ on the same method within the form otherwise an exception will be raised.
298
+ #
299
+ # If anything is passed in the html_options hash it will be applied to every select tag in the set.
300
+ #
301
+ # # Creates a time select tag that, when POSTed, will be stored in the article variable in the sunrise attribute.
302
+ # time_select("article", "sunrise")
303
+ #
304
+ # # Creates a time select tag with a seconds field that, when POSTed, will be stored in the article variables in
305
+ # # the sunrise attribute.
306
+ # time_select("article", "start_time", include_seconds: true)
307
+ #
308
+ # # You can set the <tt>:minute_step</tt> to 15 which will give you: 00, 15, 30, and 45.
309
+ # time_select 'game', 'game_time', { minute_step: 15 }
310
+ #
311
+ # # Creates a time select tag with a custom prompt. Use <tt>prompt: true</tt> for generic prompts.
312
+ # time_select("article", "written_on", prompt: { hour: 'Choose hour', minute: 'Choose minute', second: 'Choose seconds' })
313
+ # time_select("article", "written_on", prompt: { hour: true }) # generic prompt for hours
314
+ # time_select("article", "written_on", prompt: true) # generic prompts for all
315
+ #
316
+ # # You can set :ampm option to true which will show the hours as: 12 PM, 01 AM .. 11 PM.
317
+ # time_select 'game', 'game_time', { ampm: true }
318
+ #
319
+ # The selects are prepared for multi-parameter assignment to an Active Record object.
320
+ #
321
+ # Note: If the day is not included as an option but the month is, the day will be set to the 1st to ensure that
322
+ # all month choices are valid.
323
+ def time_select(object_name, method, options = {}, html_options = {})
324
+ Tags::TimeSelect.new(object_name, method, self, options, html_options).render
325
+ end
326
+
327
+ # Returns a set of select tags (one for year, month, day, hour, and minute) pre-selected for accessing a
328
+ # specified datetime-based attribute (identified by +method+) on an object assigned to the template (identified
329
+ # by +object+).
330
+ #
331
+ # If anything is passed in the html_options hash it will be applied to every select tag in the set.
332
+ #
333
+ # # Generates a datetime select that, when POSTed, will be stored in the article variable in the written_on
334
+ # # attribute.
335
+ # datetime_select("article", "written_on")
336
+ #
337
+ # # Generates a datetime select with a year select that starts at 1995 that, when POSTed, will be stored in the
338
+ # # article variable in the written_on attribute.
339
+ # datetime_select("article", "written_on", start_year: 1995)
340
+ #
341
+ # # Generates a datetime select with a default value of 3 days from the current time that, when POSTed, will
342
+ # # be stored in the trip variable in the departing attribute.
343
+ # datetime_select("trip", "departing", default: 3.days.from_now)
344
+ #
345
+ # # Generate a datetime select with hours in the AM/PM format
346
+ # datetime_select("article", "written_on", ampm: true)
347
+ #
348
+ # # Generates a datetime select that discards the type that, when POSTed, will be stored in the article variable
349
+ # # as the written_on attribute.
350
+ # datetime_select("article", "written_on", discard_type: true)
351
+ #
352
+ # # Generates a datetime select with a custom prompt. Use <tt>prompt: true</tt> for generic prompts.
353
+ # datetime_select("article", "written_on", prompt: { day: 'Choose day', month: 'Choose month', year: 'Choose year' })
354
+ # datetime_select("article", "written_on", prompt: { hour: true }) # generic prompt for hours
355
+ # datetime_select("article", "written_on", prompt: true) # generic prompts for all
356
+ #
357
+ # The selects are prepared for multi-parameter assignment to an Active Record object.
358
+ def datetime_select(object_name, method, options = {}, html_options = {})
359
+ Tags::DatetimeSelect.new(object_name, method, self, options, html_options).render
360
+ end
361
+
362
+ # Returns a set of HTML select-tags (one for year, month, day, hour, minute, and second) pre-selected with the
363
+ # +datetime+. It's also possible to explicitly set the order of the tags using the <tt>:order</tt> option with
364
+ # an array of symbols <tt>:year</tt>, <tt>:month</tt> and <tt>:day</tt> in the desired order. If you do not
365
+ # supply a Symbol, it will be appended onto the <tt>:order</tt> passed in. You can also add
366
+ # <tt>:date_separator</tt>, <tt>:datetime_separator</tt> and <tt>:time_separator</tt> keys to the +options+ to
367
+ # control visual display of the elements.
368
+ #
369
+ # If anything is passed in the html_options hash it will be applied to every select tag in the set.
370
+ #
371
+ # my_date_time = Time.now + 4.days
372
+ #
373
+ # # Generates a datetime select that defaults to the datetime in my_date_time (four days after today).
374
+ # select_datetime(my_date_time)
375
+ #
376
+ # # Generates a datetime select that defaults to today (no specified datetime)
377
+ # select_datetime()
378
+ #
379
+ # # Generates a datetime select that defaults to the datetime in my_date_time (four days after today)
380
+ # # with the fields ordered year, month, day rather than month, day, year.
381
+ # select_datetime(my_date_time, order: [:year, :month, :day])
382
+ #
383
+ # # Generates a datetime select that defaults to the datetime in my_date_time (four days after today)
384
+ # # with a '/' between each date field.
385
+ # select_datetime(my_date_time, date_separator: '/')
386
+ #
387
+ # # Generates a datetime select that defaults to the datetime in my_date_time (four days after today)
388
+ # # with a date fields separated by '/', time fields separated by '' and the date and time fields
389
+ # # separated by a comma (',').
390
+ # select_datetime(my_date_time, date_separator: '/', time_separator: '', datetime_separator: ',')
391
+ #
392
+ # # Generates a datetime select that discards the type of the field and defaults to the datetime in
393
+ # # my_date_time (four days after today)
394
+ # select_datetime(my_date_time, discard_type: true)
395
+ #
396
+ # # Generate a datetime field with hours in the AM/PM format
397
+ # select_datetime(my_date_time, ampm: true)
398
+ #
399
+ # # Generates a datetime select that defaults to the datetime in my_date_time (four days after today)
400
+ # # prefixed with 'payday' rather than 'date'
401
+ # select_datetime(my_date_time, prefix: 'payday')
402
+ #
403
+ # # Generates a datetime select with a custom prompt. Use <tt>prompt: true</tt> for generic prompts.
404
+ # select_datetime(my_date_time, prompt: { day: 'Choose day', month: 'Choose month', year: 'Choose year' })
405
+ # select_datetime(my_date_time, prompt: { hour: true }) # generic prompt for hours
406
+ # select_datetime(my_date_time, prompt: true) # generic prompts for all
407
+ def select_datetime(datetime = Time.current, options = {}, html_options = {})
408
+ DateTimeSelector.new(datetime, options, html_options).select_datetime
409
+ end
410
+
411
+ # Returns a set of HTML select-tags (one for year, month, and day) pre-selected with the +date+.
412
+ # It's possible to explicitly set the order of the tags using the <tt>:order</tt> option with an array of
413
+ # symbols <tt>:year</tt>, <tt>:month</tt> and <tt>:day</tt> in the desired order.
414
+ # If the array passed to the <tt>:order</tt> option does not contain all the three symbols, all tags will be hidden.
415
+ #
416
+ # If anything is passed in the html_options hash it will be applied to every select tag in the set.
417
+ #
418
+ # my_date = Time.now + 6.days
419
+ #
420
+ # # Generates a date select that defaults to the date in my_date (six days after today).
421
+ # select_date(my_date)
422
+ #
423
+ # # Generates a date select that defaults to today (no specified date).
424
+ # select_date()
425
+ #
426
+ # # Generates a date select that defaults to the date in my_date (six days after today)
427
+ # # with the fields ordered year, month, day rather than month, day, year.
428
+ # select_date(my_date, order: [:year, :month, :day])
429
+ #
430
+ # # Generates a date select that discards the type of the field and defaults to the date in
431
+ # # my_date (six days after today).
432
+ # select_date(my_date, discard_type: true)
433
+ #
434
+ # # Generates a date select that defaults to the date in my_date,
435
+ # # which has fields separated by '/'.
436
+ # select_date(my_date, date_separator: '/')
437
+ #
438
+ # # Generates a date select that defaults to the datetime in my_date (six days after today)
439
+ # # prefixed with 'payday' rather than 'date'.
440
+ # select_date(my_date, prefix: 'payday')
441
+ #
442
+ # # Generates a date select with a custom prompt. Use <tt>prompt: true</tt> for generic prompts.
443
+ # select_date(my_date, prompt: { day: 'Choose day', month: 'Choose month', year: 'Choose year' })
444
+ # select_date(my_date, prompt: { hour: true }) # generic prompt for hours
445
+ # select_date(my_date, prompt: true) # generic prompts for all
446
+ def select_date(date = Date.current, options = {}, html_options = {})
447
+ DateTimeSelector.new(date, options, html_options).select_date
448
+ end
449
+
450
+ # Returns a set of HTML select-tags (one for hour and minute).
451
+ # You can set <tt>:time_separator</tt> key to format the output, and
452
+ # the <tt>:include_seconds</tt> option to include an input for seconds.
453
+ #
454
+ # If anything is passed in the html_options hash it will be applied to every select tag in the set.
455
+ #
456
+ # my_time = Time.now + 5.days + 7.hours + 3.minutes + 14.seconds
457
+ #
458
+ # # Generates a time select that defaults to the time in my_time.
459
+ # select_time(my_time)
460
+ #
461
+ # # Generates a time select that defaults to the current time (no specified time).
462
+ # select_time()
463
+ #
464
+ # # Generates a time select that defaults to the time in my_time,
465
+ # # which has fields separated by ':'.
466
+ # select_time(my_time, time_separator: ':')
467
+ #
468
+ # # Generates a time select that defaults to the time in my_time,
469
+ # # that also includes an input for seconds.
470
+ # select_time(my_time, include_seconds: true)
471
+ #
472
+ # # Generates a time select that defaults to the time in my_time, that has fields
473
+ # # separated by ':' and includes an input for seconds.
474
+ # select_time(my_time, time_separator: ':', include_seconds: true)
475
+ #
476
+ # # Generate a time select field with hours in the AM/PM format
477
+ # select_time(my_time, ampm: true)
478
+ #
479
+ # # Generates a time select field with hours that range from 2 to 14
480
+ # select_time(my_time, start_hour: 2, end_hour: 14)
481
+ #
482
+ # # Generates a time select with a custom prompt. Use <tt>:prompt</tt> to true for generic prompts.
483
+ # select_time(my_time, prompt: { day: 'Choose day', month: 'Choose month', year: 'Choose year' })
484
+ # select_time(my_time, prompt: { hour: true }) # generic prompt for hours
485
+ # select_time(my_time, prompt: true) # generic prompts for all
486
+ def select_time(datetime = Time.current, options = {}, html_options = {})
487
+ DateTimeSelector.new(datetime, options, html_options).select_time
488
+ end
489
+
490
+ # Returns a select tag with options for each of the seconds 0 through 59 with the current second selected.
491
+ # The <tt>datetime</tt> can be either a +Time+ or +DateTime+ object or an integer.
492
+ # Override the field name using the <tt>:field_name</tt> option, 'second' by default.
493
+ #
494
+ # my_time = Time.now + 16.seconds
495
+ #
496
+ # # Generates a select field for seconds that defaults to the seconds for the time in my_time.
497
+ # select_second(my_time)
498
+ #
499
+ # # Generates a select field for seconds that defaults to the number given.
500
+ # select_second(33)
501
+ #
502
+ # # Generates a select field for seconds that defaults to the seconds for the time in my_time
503
+ # # that is named 'interval' rather than 'second'.
504
+ # select_second(my_time, field_name: 'interval')
505
+ #
506
+ # # Generates a select field for seconds with a custom prompt. Use <tt>prompt: true</tt> for a
507
+ # # generic prompt.
508
+ # select_second(14, prompt: 'Choose seconds')
509
+ def select_second(datetime, options = {}, html_options = {})
510
+ DateTimeSelector.new(datetime, options, html_options).select_second
511
+ end
512
+
513
+ # Returns a select tag with options for each of the minutes 0 through 59 with the current minute selected.
514
+ # Also can return a select tag with options by <tt>minute_step</tt> from 0 through 59 with the 00 minute
515
+ # selected. The <tt>datetime</tt> can be either a +Time+ or +DateTime+ object or an integer.
516
+ # Override the field name using the <tt>:field_name</tt> option, 'minute' by default.
517
+ #
518
+ # my_time = Time.now + 10.minutes
519
+ #
520
+ # # Generates a select field for minutes that defaults to the minutes for the time in my_time.
521
+ # select_minute(my_time)
522
+ #
523
+ # # Generates a select field for minutes that defaults to the number given.
524
+ # select_minute(14)
525
+ #
526
+ # # Generates a select field for minutes that defaults to the minutes for the time in my_time
527
+ # # that is named 'moment' rather than 'minute'.
528
+ # select_minute(my_time, field_name: 'moment')
529
+ #
530
+ # # Generates a select field for minutes with a custom prompt. Use <tt>prompt: true</tt> for a
531
+ # # generic prompt.
532
+ # select_minute(14, prompt: 'Choose minutes')
533
+ def select_minute(datetime, options = {}, html_options = {})
534
+ DateTimeSelector.new(datetime, options, html_options).select_minute
535
+ end
536
+
537
+ # Returns a select tag with options for each of the hours 0 through 23 with the current hour selected.
538
+ # The <tt>datetime</tt> can be either a +Time+ or +DateTime+ object or an integer.
539
+ # Override the field name using the <tt>:field_name</tt> option, 'hour' by default.
540
+ #
541
+ # my_time = Time.now + 6.hours
542
+ #
543
+ # # Generates a select field for hours that defaults to the hour for the time in my_time.
544
+ # select_hour(my_time)
545
+ #
546
+ # # Generates a select field for hours that defaults to the number given.
547
+ # select_hour(13)
548
+ #
549
+ # # Generates a select field for hours that defaults to the hour for the time in my_time
550
+ # # that is named 'stride' rather than 'hour'.
551
+ # select_hour(my_time, field_name: 'stride')
552
+ #
553
+ # # Generates a select field for hours with a custom prompt. Use <tt>prompt: true</tt> for a
554
+ # # generic prompt.
555
+ # select_hour(13, prompt: 'Choose hour')
556
+ #
557
+ # # Generate a select field for hours in the AM/PM format
558
+ # select_hour(my_time, ampm: true)
559
+ #
560
+ # # Generates a select field that includes options for hours from 2 to 14.
561
+ # select_hour(my_time, start_hour: 2, end_hour: 14)
562
+ def select_hour(datetime, options = {}, html_options = {})
563
+ DateTimeSelector.new(datetime, options, html_options).select_hour
564
+ end
565
+
566
+ # Returns a select tag with options for each of the days 1 through 31 with the current day selected.
567
+ # The <tt>date</tt> can also be substituted for a day number.
568
+ # If you want to display days with a leading zero set the <tt>:use_two_digit_numbers</tt> key in +options+ to true.
569
+ # Override the field name using the <tt>:field_name</tt> option, 'day' by default.
570
+ #
571
+ # my_date = Time.now + 2.days
572
+ #
573
+ # # Generates a select field for days that defaults to the day for the date in my_date.
574
+ # select_day(my_date)
575
+ #
576
+ # # Generates a select field for days that defaults to the number given.
577
+ # select_day(5)
578
+ #
579
+ # # Generates a select field for days that defaults to the number given, but displays it with two digits.
580
+ # select_day(5, use_two_digit_numbers: true)
581
+ #
582
+ # # Generates a select field for days that defaults to the day for the date in my_date
583
+ # # that is named 'due' rather than 'day'.
584
+ # select_day(my_date, field_name: 'due')
585
+ #
586
+ # # Generates a select field for days with a custom prompt. Use <tt>prompt: true</tt> for a
587
+ # # generic prompt.
588
+ # select_day(5, prompt: 'Choose day')
589
+ def select_day(date, options = {}, html_options = {})
590
+ DateTimeSelector.new(date, options, html_options).select_day
591
+ end
592
+
593
+ # Returns a select tag with options for each of the months January through December with the current month
594
+ # selected. The month names are presented as keys (what's shown to the user) and the month numbers (1-12) are
595
+ # used as values (what's submitted to the server). It's also possible to use month numbers for the presentation
596
+ # instead of names -- set the <tt>:use_month_numbers</tt> key in +options+ to true for this to happen. If you
597
+ # want both numbers and names, set the <tt>:add_month_numbers</tt> key in +options+ to true. If you would prefer
598
+ # to show month names as abbreviations, set the <tt>:use_short_month</tt> key in +options+ to true. If you want
599
+ # to use your own month names, set the <tt>:use_month_names</tt> key in +options+ to an array of 12 month names.
600
+ # If you want to display months with a leading zero set the <tt>:use_two_digit_numbers</tt> key in +options+ to true.
601
+ # Override the field name using the <tt>:field_name</tt> option, 'month' by default.
602
+ #
603
+ # # Generates a select field for months that defaults to the current month that
604
+ # # will use keys like "January", "March".
605
+ # select_month(Date.today)
606
+ #
607
+ # # Generates a select field for months that defaults to the current month that
608
+ # # is named "start" rather than "month".
609
+ # select_month(Date.today, field_name: 'start')
610
+ #
611
+ # # Generates a select field for months that defaults to the current month that
612
+ # # will use keys like "1", "3".
613
+ # select_month(Date.today, use_month_numbers: true)
614
+ #
615
+ # # Generates a select field for months that defaults to the current month that
616
+ # # will use keys like "1 - January", "3 - March".
617
+ # select_month(Date.today, add_month_numbers: true)
618
+ #
619
+ # # Generates a select field for months that defaults to the current month that
620
+ # # will use keys like "Jan", "Mar".
621
+ # select_month(Date.today, use_short_month: true)
622
+ #
623
+ # # Generates a select field for months that defaults to the current month that
624
+ # # will use keys like "Januar", "Marts."
625
+ # select_month(Date.today, use_month_names: %w(Januar Februar Marts ...))
626
+ #
627
+ # # Generates a select field for months that defaults to the current month that
628
+ # # will use keys with two digit numbers like "01", "03".
629
+ # select_month(Date.today, use_two_digit_numbers: true)
630
+ #
631
+ # # Generates a select field for months with a custom prompt. Use <tt>prompt: true</tt> for a
632
+ # # generic prompt.
633
+ # select_month(14, prompt: 'Choose month')
634
+ def select_month(date, options = {}, html_options = {})
635
+ DateTimeSelector.new(date, options, html_options).select_month
636
+ end
637
+
638
+ # Returns a select tag with options for each of the five years on each side of the current, which is selected.
639
+ # The five year radius can be changed using the <tt>:start_year</tt> and <tt>:end_year</tt> keys in the
640
+ # +options+. Both ascending and descending year lists are supported by making <tt>:start_year</tt> less than or
641
+ # greater than <tt>:end_year</tt>. The <tt>date</tt> can also be substituted for a year given as a number.
642
+ # Override the field name using the <tt>:field_name</tt> option, 'year' by default.
643
+ #
644
+ # # Generates a select field for years that defaults to the current year that
645
+ # # has ascending year values.
646
+ # select_year(Date.today, start_year: 1992, end_year: 2007)
647
+ #
648
+ # # Generates a select field for years that defaults to the current year that
649
+ # # is named 'birth' rather than 'year'.
650
+ # select_year(Date.today, field_name: 'birth')
651
+ #
652
+ # # Generates a select field for years that defaults to the current year that
653
+ # # has descending year values.
654
+ # select_year(Date.today, start_year: 2005, end_year: 1900)
655
+ #
656
+ # # Generates a select field for years that defaults to the year 2006 that
657
+ # # has ascending year values.
658
+ # select_year(2006, start_year: 2000, end_year: 2010)
659
+ #
660
+ # # Generates a select field for years with a custom prompt. Use <tt>prompt: true</tt> for a
661
+ # # generic prompt.
662
+ # select_year(14, prompt: 'Choose year')
663
+ def select_year(date, options = {}, html_options = {})
664
+ DateTimeSelector.new(date, options, html_options).select_year
665
+ end
666
+
667
+ # Returns an HTML time tag for the given date or time.
668
+ #
669
+ # time_tag Date.today # =>
670
+ # <time datetime="2010-11-04">November 04, 2010</time>
671
+ # time_tag Time.now # =>
672
+ # <time datetime="2010-11-04T17:55:45+01:00">November 04, 2010 17:55</time>
673
+ # time_tag Date.yesterday, 'Yesterday' # =>
674
+ # <time datetime="2010-11-03">Yesterday</time>
675
+ # time_tag Date.today, datetime: Date.today.strftime('%G-W%V') # =>
676
+ # <time datetime="2010-W44">November 04, 2010</time>
677
+ #
678
+ # <%= time_tag Time.now do %>
679
+ # <span>Right now</span>
680
+ # <% end %>
681
+ # # => <time datetime="2010-11-04T17:55:45+01:00"><span>Right now</span></time>
682
+ def time_tag(date_or_time, *args, &block)
683
+ options = args.extract_options!
684
+ format = options.delete(:format) || :long
685
+ content = args.first || I18n.l(date_or_time, format: format)
686
+
687
+ content_tag("time", content, options.reverse_merge(datetime: date_or_time.iso8601), &block)
688
+ end
689
+
690
+ private
691
+
692
+ def normalize_distance_of_time_argument_to_time(value)
693
+ if value.is_a?(Numeric)
694
+ Time.at(value)
695
+ elsif value.respond_to?(:to_time)
696
+ value.to_time
697
+ else
698
+ raise ArgumentError, "#{value.inspect} can't be converted to a Time value"
699
+ end
700
+ end
701
+ end
702
+
703
+ class DateTimeSelector #:nodoc:
704
+ include ActionView::Helpers::TagHelper
705
+
706
+ DEFAULT_PREFIX = "date"
707
+ POSITION = {
708
+ year: 1, month: 2, day: 3, hour: 4, minute: 5, second: 6
709
+ }.freeze
710
+
711
+ AMPM_TRANSLATION = Hash[
712
+ [[0, "12 AM"], [1, "01 AM"], [2, "02 AM"], [3, "03 AM"],
713
+ [4, "04 AM"], [5, "05 AM"], [6, "06 AM"], [7, "07 AM"],
714
+ [8, "08 AM"], [9, "09 AM"], [10, "10 AM"], [11, "11 AM"],
715
+ [12, "12 PM"], [13, "01 PM"], [14, "02 PM"], [15, "03 PM"],
716
+ [16, "04 PM"], [17, "05 PM"], [18, "06 PM"], [19, "07 PM"],
717
+ [20, "08 PM"], [21, "09 PM"], [22, "10 PM"], [23, "11 PM"]]
718
+ ].freeze
719
+
720
+ def initialize(datetime, options = {}, html_options = {})
721
+ @options = options.dup
722
+ @html_options = html_options.dup
723
+ @datetime = datetime
724
+ @options[:datetime_separator] ||= " &mdash; "
725
+ @options[:time_separator] ||= " : "
726
+ end
727
+
728
+ def select_datetime
729
+ order = date_order.dup
730
+ order -= [:hour, :minute, :second]
731
+ @options[:discard_year] ||= true unless order.include?(:year)
732
+ @options[:discard_month] ||= true unless order.include?(:month)
733
+ @options[:discard_day] ||= true if @options[:discard_month] || !order.include?(:day)
734
+ @options[:discard_minute] ||= true if @options[:discard_hour]
735
+ @options[:discard_second] ||= true unless @options[:include_seconds] && !@options[:discard_minute]
736
+
737
+ set_day_if_discarded
738
+
739
+ if @options[:tag] && @options[:ignore_date]
740
+ select_time
741
+ else
742
+ [:day, :month, :year].each { |o| order.unshift(o) unless order.include?(o) }
743
+ order += [:hour, :minute, :second] unless @options[:discard_hour]
744
+
745
+ build_selects_from_types(order)
746
+ end
747
+ end
748
+
749
+ def select_date
750
+ order = date_order.dup
751
+
752
+ @options[:discard_hour] = true
753
+ @options[:discard_minute] = true
754
+ @options[:discard_second] = true
755
+
756
+ @options[:discard_year] ||= true unless order.include?(:year)
757
+ @options[:discard_month] ||= true unless order.include?(:month)
758
+ @options[:discard_day] ||= true if @options[:discard_month] || !order.include?(:day)
759
+
760
+ set_day_if_discarded
761
+
762
+ [:day, :month, :year].each { |o| order.unshift(o) unless order.include?(o) }
763
+
764
+ build_selects_from_types(order)
765
+ end
766
+
767
+ def select_time
768
+ order = []
769
+
770
+ @options[:discard_month] = true
771
+ @options[:discard_year] = true
772
+ @options[:discard_day] = true
773
+ @options[:discard_second] ||= true unless @options[:include_seconds]
774
+
775
+ order += [:year, :month, :day] unless @options[:ignore_date]
776
+
777
+ order += [:hour, :minute]
778
+ order << :second if @options[:include_seconds]
779
+
780
+ build_selects_from_types(order)
781
+ end
782
+
783
+ def select_second
784
+ if @options[:use_hidden] || @options[:discard_second]
785
+ build_hidden(:second, sec) if @options[:include_seconds]
786
+ else
787
+ build_options_and_select(:second, sec)
788
+ end
789
+ end
790
+
791
+ def select_minute
792
+ if @options[:use_hidden] || @options[:discard_minute]
793
+ build_hidden(:minute, min)
794
+ else
795
+ build_options_and_select(:minute, min, step: @options[:minute_step])
796
+ end
797
+ end
798
+
799
+ def select_hour
800
+ if @options[:use_hidden] || @options[:discard_hour]
801
+ build_hidden(:hour, hour)
802
+ else
803
+ options = {}
804
+ options[:ampm] = @options[:ampm] || false
805
+ options[:start] = @options[:start_hour] || 0
806
+ options[:end] = @options[:end_hour] || 23
807
+ build_options_and_select(:hour, hour, options)
808
+ end
809
+ end
810
+
811
+ def select_day
812
+ if @options[:use_hidden] || @options[:discard_day]
813
+ build_hidden(:day, day || 1)
814
+ else
815
+ build_options_and_select(:day, day, start: 1, end: 31, leading_zeros: false, use_two_digit_numbers: @options[:use_two_digit_numbers])
816
+ end
817
+ end
818
+
819
+ def select_month
820
+ if @options[:use_hidden] || @options[:discard_month]
821
+ build_hidden(:month, month || 1)
822
+ else
823
+ month_options = []
824
+ 1.upto(12) do |month_number|
825
+ options = { value: month_number }
826
+ options[:selected] = "selected" if month == month_number
827
+ month_options << content_tag("option", month_name(month_number), options) + "\n"
828
+ end
829
+ build_select(:month, month_options.join)
830
+ end
831
+ end
832
+
833
+ def select_year
834
+ if !@datetime || @datetime == 0
835
+ val = "1"
836
+ middle_year = Date.today.year
837
+ else
838
+ val = middle_year = year
839
+ end
840
+
841
+ if @options[:use_hidden] || @options[:discard_year]
842
+ build_hidden(:year, val)
843
+ else
844
+ options = {}
845
+ options[:start] = @options[:start_year] || middle_year - 5
846
+ options[:end] = @options[:end_year] || middle_year + 5
847
+ options[:step] = options[:start] < options[:end] ? 1 : -1
848
+ options[:leading_zeros] = false
849
+ options[:max_years_allowed] = @options[:max_years_allowed] || 1000
850
+
851
+ if (options[:end] - options[:start]).abs > options[:max_years_allowed]
852
+ raise ArgumentError, "There are too many years options to be built. Are you sure you haven't mistyped something? You can provide the :max_years_allowed parameter."
853
+ end
854
+
855
+ build_select(:year, build_year_options(val, options))
856
+ end
857
+ end
858
+
859
+ private
860
+ %w( sec min hour day month year ).each do |method|
861
+ define_method(method) do
862
+ case @datetime
863
+ when Hash then @datetime[method.to_sym]
864
+ when Numeric then @datetime
865
+ when nil then nil
866
+ else @datetime.send(method)
867
+ end
868
+ end
869
+ end
870
+
871
+ # If the day is hidden, the day should be set to the 1st so all month and year choices are
872
+ # valid. Otherwise, February 31st or February 29th, 2011 can be selected, which are invalid.
873
+ def set_day_if_discarded
874
+ if @datetime && @options[:discard_day]
875
+ @datetime = @datetime.change(day: 1)
876
+ end
877
+ end
878
+
879
+ # Returns translated month names, but also ensures that a custom month
880
+ # name array has a leading +nil+ element.
881
+ def month_names
882
+ @month_names ||= begin
883
+ month_names = @options[:use_month_names] || translated_month_names
884
+ month_names.unshift(nil) if month_names.size < 13
885
+ month_names
886
+ end
887
+ end
888
+
889
+ # Returns translated month names.
890
+ # => [nil, "January", "February", "March",
891
+ # "April", "May", "June", "July",
892
+ # "August", "September", "October",
893
+ # "November", "December"]
894
+ #
895
+ # If <tt>:use_short_month</tt> option is set
896
+ # => [nil, "Jan", "Feb", "Mar", "Apr", "May", "Jun",
897
+ # "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
898
+ def translated_month_names
899
+ key = @options[:use_short_month] ? :'date.abbr_month_names' : :'date.month_names'
900
+ I18n.translate(key, locale: @options[:locale])
901
+ end
902
+
903
+ # Looks up month names by number (1-based):
904
+ #
905
+ # month_name(1) # => "January"
906
+ #
907
+ # If the <tt>:use_month_numbers</tt> option is passed:
908
+ #
909
+ # month_name(1) # => 1
910
+ #
911
+ # If the <tt>:use_two_month_numbers</tt> option is passed:
912
+ #
913
+ # month_name(1) # => '01'
914
+ #
915
+ # If the <tt>:add_month_numbers</tt> option is passed:
916
+ #
917
+ # month_name(1) # => "1 - January"
918
+ #
919
+ # If the <tt>:month_format_string</tt> option is passed:
920
+ #
921
+ # month_name(1) # => "January (01)"
922
+ #
923
+ # depending on the format string.
924
+ def month_name(number)
925
+ if @options[:use_month_numbers]
926
+ number
927
+ elsif @options[:use_two_digit_numbers]
928
+ "%02d" % number
929
+ elsif @options[:add_month_numbers]
930
+ "#{number} - #{month_names[number]}"
931
+ elsif format_string = @options[:month_format_string]
932
+ format_string % { number: number, name: month_names[number] }
933
+ else
934
+ month_names[number]
935
+ end
936
+ end
937
+
938
+ # Looks up year names by number.
939
+ #
940
+ # year_name(1998) # => 1998
941
+ #
942
+ # If the <tt>:year_format</tt> option is passed:
943
+ #
944
+ # year_name(1998) # => "Heisei 10"
945
+ def year_name(number)
946
+ if year_format_lambda = @options[:year_format]
947
+ year_format_lambda.call(number)
948
+ else
949
+ number
950
+ end
951
+ end
952
+
953
+ def date_order
954
+ @date_order ||= @options[:order] || translated_date_order
955
+ end
956
+
957
+ def translated_date_order
958
+ date_order = I18n.translate(:'date.order', locale: @options[:locale], default: [])
959
+ date_order = date_order.map(&:to_sym)
960
+
961
+ forbidden_elements = date_order - [:year, :month, :day]
962
+ if forbidden_elements.any?
963
+ raise StandardError,
964
+ "#{@options[:locale]}.date.order only accepts :year, :month and :day"
965
+ end
966
+
967
+ date_order
968
+ end
969
+
970
+ # Build full select tag from date type and options.
971
+ def build_options_and_select(type, selected, options = {})
972
+ build_select(type, build_options(selected, options))
973
+ end
974
+
975
+ # Build select option HTML from date value and options.
976
+ # build_options(15, start: 1, end: 31)
977
+ # => "<option value="1">1</option>
978
+ # <option value="2">2</option>
979
+ # <option value="3">3</option>..."
980
+ #
981
+ # If <tt>use_two_digit_numbers: true</tt> option is passed
982
+ # build_options(15, start: 1, end: 31, use_two_digit_numbers: true)
983
+ # => "<option value="1">01</option>
984
+ # <option value="2">02</option>
985
+ # <option value="3">03</option>..."
986
+ #
987
+ # If <tt>:step</tt> options is passed
988
+ # build_options(15, start: 1, end: 31, step: 2)
989
+ # => "<option value="1">1</option>
990
+ # <option value="3">3</option>
991
+ # <option value="5">5</option>..."
992
+ def build_options(selected, options = {})
993
+ options = {
994
+ leading_zeros: true, ampm: false, use_two_digit_numbers: false
995
+ }.merge!(options)
996
+
997
+ start = options.delete(:start) || 0
998
+ stop = options.delete(:end) || 59
999
+ step = options.delete(:step) || 1
1000
+ leading_zeros = options.delete(:leading_zeros)
1001
+
1002
+ select_options = []
1003
+ start.step(stop, step) do |i|
1004
+ value = leading_zeros ? sprintf("%02d", i) : i
1005
+ tag_options = { value: value }
1006
+ tag_options[:selected] = "selected" if selected == i
1007
+ text = options[:use_two_digit_numbers] ? sprintf("%02d", i) : value
1008
+ text = options[:ampm] ? AMPM_TRANSLATION[i] : text
1009
+ select_options << content_tag("option", text, tag_options)
1010
+ end
1011
+
1012
+ (select_options.join("\n") + "\n").html_safe
1013
+ end
1014
+
1015
+ # Build select option HTML for year.
1016
+ # If <tt>year_format</tt> option is not passed
1017
+ # build_year_options(1998, start: 1998, end: 2000)
1018
+ # => "<option value="1998" selected="selected">1998</option>
1019
+ # <option value="1999">1999</option>
1020
+ # <option value="2000">2000</option>"
1021
+ #
1022
+ # If <tt>year_format</tt> option is passed
1023
+ # build_year_options(1998, start: 1998, end: 2000, year_format: ->year { "Heisei #{ year - 1988 }" })
1024
+ # => "<option value="1998" selected="selected">Heisei 10</option>
1025
+ # <option value="1999">Heisei 11</option>
1026
+ # <option value="2000">Heisei 12</option>"
1027
+ def build_year_options(selected, options = {})
1028
+ start = options.delete(:start)
1029
+ stop = options.delete(:end)
1030
+ step = options.delete(:step)
1031
+
1032
+ select_options = []
1033
+ start.step(stop, step) do |value|
1034
+ tag_options = { value: value }
1035
+ tag_options[:selected] = "selected" if selected == value
1036
+ text = year_name(value)
1037
+ select_options << content_tag("option", text, tag_options)
1038
+ end
1039
+
1040
+ (select_options.join("\n") + "\n").html_safe
1041
+ end
1042
+
1043
+ # Builds select tag from date type and HTML select options.
1044
+ # build_select(:month, "<option value="1">January</option>...")
1045
+ # => "<select id="post_written_on_2i" name="post[written_on(2i)]">
1046
+ # <option value="1">January</option>...
1047
+ # </select>"
1048
+ def build_select(type, select_options_as_html)
1049
+ select_options = {
1050
+ id: input_id_from_type(type),
1051
+ name: input_name_from_type(type)
1052
+ }.merge!(@html_options)
1053
+ select_options[:disabled] = "disabled" if @options[:disabled]
1054
+ select_options[:class] = css_class_attribute(type, select_options[:class], @options[:with_css_classes]) if @options[:with_css_classes]
1055
+
1056
+ select_html = +"\n"
1057
+ select_html << content_tag("option", "", value: "") + "\n" if @options[:include_blank]
1058
+ select_html << prompt_option_tag(type, @options[:prompt]) + "\n" if @options[:prompt]
1059
+ select_html << select_options_as_html
1060
+
1061
+ (content_tag("select", select_html.html_safe, select_options) + "\n").html_safe
1062
+ end
1063
+
1064
+ # Builds the css class value for the select element
1065
+ # css_class_attribute(:year, 'date optional', { year: 'my-year' })
1066
+ # => "date optional my-year"
1067
+ def css_class_attribute(type, html_options_class, options) # :nodoc:
1068
+ css_class = \
1069
+ case options
1070
+ when Hash
1071
+ options[type.to_sym]
1072
+ else
1073
+ type
1074
+ end
1075
+
1076
+ [html_options_class, css_class].compact.join(" ")
1077
+ end
1078
+
1079
+ # Builds a prompt option tag with supplied options or from default options.
1080
+ # prompt_option_tag(:month, prompt: 'Select month')
1081
+ # => "<option value="">Select month</option>"
1082
+ def prompt_option_tag(type, options)
1083
+ prompt = \
1084
+ case options
1085
+ when Hash
1086
+ default_options = { year: false, month: false, day: false, hour: false, minute: false, second: false }
1087
+ default_options.merge!(options)[type.to_sym]
1088
+ when String
1089
+ options
1090
+ else
1091
+ I18n.translate(:"datetime.prompts.#{type}", locale: @options[:locale])
1092
+ end
1093
+
1094
+ prompt ? content_tag("option", prompt, value: "") : ""
1095
+ end
1096
+
1097
+ # Builds hidden input tag for date part and value.
1098
+ # build_hidden(:year, 2008)
1099
+ # => "<input id="post_written_on_1i" name="post[written_on(1i)]" type="hidden" value="2008" />"
1100
+ def build_hidden(type, value)
1101
+ select_options = {
1102
+ type: "hidden",
1103
+ id: input_id_from_type(type),
1104
+ name: input_name_from_type(type),
1105
+ value: value
1106
+ }.merge!(@html_options.slice(:disabled))
1107
+ select_options[:disabled] = "disabled" if @options[:disabled]
1108
+
1109
+ tag(:input, select_options) + "\n".html_safe
1110
+ end
1111
+
1112
+ # Returns the name attribute for the input tag.
1113
+ # => post[written_on(1i)]
1114
+ def input_name_from_type(type)
1115
+ prefix = @options[:prefix] || ActionView::Helpers::DateTimeSelector::DEFAULT_PREFIX
1116
+ prefix += "[#{@options[:index]}]" if @options.has_key?(:index)
1117
+
1118
+ field_name = @options[:field_name] || type.to_s
1119
+ if @options[:include_position]
1120
+ field_name += "(#{ActionView::Helpers::DateTimeSelector::POSITION[type]}i)"
1121
+ end
1122
+
1123
+ @options[:discard_type] ? prefix : "#{prefix}[#{field_name}]"
1124
+ end
1125
+
1126
+ # Returns the id attribute for the input tag.
1127
+ # => "post_written_on_1i"
1128
+ def input_id_from_type(type)
1129
+ id = input_name_from_type(type).gsub(/([\[\(])|(\]\[)/, "_").gsub(/[\]\)]/, "")
1130
+ id = @options[:namespace] + "_" + id if @options[:namespace]
1131
+
1132
+ id
1133
+ end
1134
+
1135
+ # Given an ordering of datetime components, create the selection HTML
1136
+ # and join them with their appropriate separators.
1137
+ def build_selects_from_types(order)
1138
+ select = +""
1139
+ first_visible = order.find { |type| !@options[:"discard_#{type}"] }
1140
+ order.reverse_each do |type|
1141
+ separator = separator(type) unless type == first_visible # don't add before first visible field
1142
+ select.insert(0, separator.to_s + send("select_#{type}").to_s)
1143
+ end
1144
+ select.html_safe
1145
+ end
1146
+
1147
+ # Returns the separator for a given datetime component.
1148
+ def separator(type)
1149
+ return "" if @options[:use_hidden]
1150
+
1151
+ case type
1152
+ when :year, :month, :day
1153
+ @options[:"discard_#{type}"] ? "" : @options[:date_separator]
1154
+ when :hour
1155
+ (@options[:discard_year] && @options[:discard_day]) ? "" : @options[:datetime_separator]
1156
+ when :minute, :second
1157
+ @options[:"discard_#{type}"] ? "" : @options[:time_separator]
1158
+ end
1159
+ end
1160
+ end
1161
+
1162
+ class FormBuilder
1163
+ # Wraps ActionView::Helpers::DateHelper#date_select for form builders:
1164
+ #
1165
+ # <%= form_for @person do |f| %>
1166
+ # <%= f.date_select :birth_date %>
1167
+ # <%= f.submit %>
1168
+ # <% end %>
1169
+ #
1170
+ # Please refer to the documentation of the base helper for details.
1171
+ def date_select(method, options = {}, html_options = {})
1172
+ @template.date_select(@object_name, method, objectify_options(options), html_options)
1173
+ end
1174
+
1175
+ # Wraps ActionView::Helpers::DateHelper#time_select for form builders:
1176
+ #
1177
+ # <%= form_for @race do |f| %>
1178
+ # <%= f.time_select :average_lap %>
1179
+ # <%= f.submit %>
1180
+ # <% end %>
1181
+ #
1182
+ # Please refer to the documentation of the base helper for details.
1183
+ def time_select(method, options = {}, html_options = {})
1184
+ @template.time_select(@object_name, method, objectify_options(options), html_options)
1185
+ end
1186
+
1187
+ # Wraps ActionView::Helpers::DateHelper#datetime_select for form builders:
1188
+ #
1189
+ # <%= form_for @person do |f| %>
1190
+ # <%= f.datetime_select :last_request_at %>
1191
+ # <%= f.submit %>
1192
+ # <% end %>
1193
+ #
1194
+ # Please refer to the documentation of the base helper for details.
1195
+ def datetime_select(method, options = {}, html_options = {})
1196
+ @template.datetime_select(@object_name, method, objectify_options(options), html_options)
1197
+ end
1198
+ end
1199
+ end
1200
+ end