elm-rails 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (591) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +7 -0
  3. data/lib/elm/rails/helper.rb +53 -0
  4. data/lib/elm/rails/railtie.rb +29 -0
  5. data/lib/elm/rails/sprockets.rb +62 -0
  6. data/lib/elm/rails/version.rb +1 -1
  7. data/lib/elm/rails.rb +2 -0
  8. data/lib/elm-rails.rb +1 -3
  9. data/test/pipeline_test.rb +19 -0
  10. data/test/rails4.2/Gemfile +50 -0
  11. data/test/rails4.2/Gemfile.lock +170 -0
  12. data/test/rails4.2/README.rdoc +28 -0
  13. data/test/rails4.2/Rakefile +6 -0
  14. data/test/rails4.2/app/assets/elm/App.elm +7 -0
  15. data/test/rails4.2/app/assets/javascripts/application.js +1 -0
  16. data/test/rails4.2/app/assets/stylesheets/application.css +15 -0
  17. data/test/rails4.2/app/controllers/application_controller.rb +5 -0
  18. data/test/rails4.2/app/helpers/application_helper.rb +2 -0
  19. data/test/rails4.2/app/views/layouts/application.html.erb +14 -0
  20. data/test/rails4.2/bin/bundle +3 -0
  21. data/test/rails4.2/bin/rails +9 -0
  22. data/test/rails4.2/bin/rake +9 -0
  23. data/test/rails4.2/bin/setup +29 -0
  24. data/test/rails4.2/bin/spring +16 -0
  25. data/test/rails4.2/config/application.rb +26 -0
  26. data/test/rails4.2/config/boot.rb +3 -0
  27. data/test/rails4.2/config/database.yml +25 -0
  28. data/test/rails4.2/config/environment.rb +5 -0
  29. data/test/rails4.2/config/environments/development.rb +41 -0
  30. data/test/rails4.2/config/environments/production.rb +79 -0
  31. data/test/rails4.2/config/environments/test.rb +42 -0
  32. data/test/rails4.2/config/initializers/assets.rb +11 -0
  33. data/test/rails4.2/config/initializers/backtrace_silencers.rb +7 -0
  34. data/test/rails4.2/config/initializers/cookies_serializer.rb +3 -0
  35. data/test/rails4.2/config/initializers/filter_parameter_logging.rb +4 -0
  36. data/test/rails4.2/config/initializers/inflections.rb +16 -0
  37. data/test/rails4.2/config/initializers/mime_types.rb +4 -0
  38. data/test/rails4.2/config/initializers/session_store.rb +3 -0
  39. data/test/rails4.2/config/initializers/wrap_parameters.rb +14 -0
  40. data/test/rails4.2/config/locales/en.yml +23 -0
  41. data/test/rails4.2/config/routes.rb +56 -0
  42. data/test/rails4.2/config/secrets.yml +22 -0
  43. data/test/rails4.2/config.ru +4 -0
  44. data/test/rails4.2/db/seeds.rb +7 -0
  45. data/test/rails4.2/elm-package.json +15 -0
  46. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Array.elmi +0 -0
  47. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Array.elmo +54 -0
  48. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Basics.elmi +0 -0
  49. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Basics.elmo +125 -0
  50. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Bitwise.elmi +0 -0
  51. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Bitwise.elmo +7 -0
  52. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Char.elmi +0 -0
  53. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Char.elmo +42 -0
  54. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Color.elmi +0 -0
  55. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Color.elmo +165 -0
  56. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Date.elmi +0 -0
  57. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Date.elmo +32 -0
  58. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Debug.elmi +0 -0
  59. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Debug.elmo +2 -0
  60. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Dict.elmi +0 -0
  61. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Dict.elmo +916 -0
  62. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Json-Decode.elmi +0 -0
  63. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Json-Decode.elmo +62 -0
  64. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Json-Encode.elmi +0 -0
  65. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Json-Encode.elmo +10 -0
  66. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/List.elmi +0 -0
  67. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/List.elmo +545 -0
  68. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Maybe.elmi +0 -0
  69. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Maybe.elmo +72 -0
  70. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform-Cmd.elmi +0 -0
  71. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform-Cmd.elmo +14 -0
  72. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform-Sub.elmi +0 -0
  73. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform-Sub.elmo +5 -0
  74. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform.elmi +0 -0
  75. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform.elmo +9 -0
  76. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Process.elmi +0 -0
  77. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Process.elmo +3 -0
  78. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Random.elmi +0 -0
  79. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Random.elmo +378 -0
  80. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Regex.elmi +0 -0
  81. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Regex.elmo +16 -0
  82. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Result.elmi +0 -0
  83. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Result.elmo +141 -0
  84. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Set.elmi +0 -0
  85. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Set.elmo +130 -0
  86. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/String.elmi +0 -0
  87. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/String.elmo +43 -0
  88. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Task.elmi +0 -0
  89. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Task.elmo +196 -0
  90. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Time.elmi +0 -0
  91. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Time.elmo +187 -0
  92. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Tuple.elmi +0 -0
  93. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Tuple.elmo +26 -0
  94. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/graph.dat +0 -0
  95. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Attributes.elmi +0 -0
  96. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Attributes.elmo +349 -0
  97. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Events.elmi +0 -0
  98. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Events.elmo +114 -0
  99. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Keyed.elmi +0 -0
  100. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Keyed.elmo +3 -0
  101. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Lazy.elmi +0 -0
  102. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Lazy.elmo +3 -0
  103. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html.elmi +0 -0
  104. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html.elmo +124 -0
  105. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/graph.dat +0 -0
  106. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Debug.elmi +0 -0
  107. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Debug.elmo +622 -0
  108. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Expando.elmi +0 -0
  109. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Expando.elmo +1353 -0
  110. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Helpers.elmi +0 -0
  111. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Helpers.elmo +45 -0
  112. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-History.elmi +0 -0
  113. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-History.elmo +367 -0
  114. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Metadata.elmi +0 -0
  115. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Metadata.elmo +393 -0
  116. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Overlay.elmi +0 -0
  117. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Overlay.elmo +793 -0
  118. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Report.elmi +0 -0
  119. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Report.elmo +98 -0
  120. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom.elmi +0 -0
  121. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom.elmo +30 -0
  122. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/graph.dat +0 -0
  123. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/user/project/1.0.0/Main.elmi +0 -0
  124. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/user/project/1.0.0/Main.elmo +2 -0
  125. data/test/rails4.2/elm-stuff/exact-dependencies.json +5 -0
  126. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/CONTRIBUTING.md +41 -0
  127. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/LICENSE +30 -0
  128. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/README.md +34 -0
  129. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/changelog.md +143 -0
  130. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/elm-package.json +38 -0
  131. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Array.elm +240 -0
  132. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Basics.elm +655 -0
  133. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Bitwise.elm +90 -0
  134. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Char.elm +103 -0
  135. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Color.elm +456 -0
  136. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Date.elm +150 -0
  137. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Debug.elm +62 -0
  138. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Dict.elm +661 -0
  139. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Json/Decode.elm +520 -0
  140. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Json/Encode.elm +102 -0
  141. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/List.elm +603 -0
  142. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Maybe.elm +157 -0
  143. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Array.js +967 -0
  144. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Basics.js +141 -0
  145. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Bitwise.js +13 -0
  146. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Char.js +14 -0
  147. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Date.js +33 -0
  148. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Debug.js +30 -0
  149. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Json.js +580 -0
  150. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/List.js +137 -0
  151. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Platform.js +560 -0
  152. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Regex.js +119 -0
  153. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Scheduler.js +281 -0
  154. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/String.js +335 -0
  155. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Time.js +27 -0
  156. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Utils.js +489 -0
  157. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Platform/Cmd.elm +67 -0
  158. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Platform/Sub.elm +52 -0
  159. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Platform.elm +145 -0
  160. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Process.elm +106 -0
  161. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Random.elm +532 -0
  162. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Regex.elm +148 -0
  163. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Result.elm +210 -0
  164. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Set.elm +168 -0
  165. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/String.elm +464 -0
  166. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Task.elm +278 -0
  167. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Time.elm +243 -0
  168. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Tuple.elm +61 -0
  169. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Array.elm +90 -0
  170. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Basics.elm +158 -0
  171. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Bitwise.elm +50 -0
  172. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Char.elm +93 -0
  173. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/CodeGen.elm +59 -0
  174. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Dict.elm +79 -0
  175. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Equality.elm +28 -0
  176. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Json.elm +83 -0
  177. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/List.elm +165 -0
  178. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Regex.elm +46 -0
  179. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Result.elm +60 -0
  180. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Set.elm +29 -0
  181. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/String.elm +41 -0
  182. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test.elm +40 -0
  183. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/elm-package.json +16 -0
  184. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/run-tests.sh +18 -0
  185. data/test/rails4.2/elm-stuff/packages/elm-lang/html/2.0.0/LICENSE +30 -0
  186. data/test/rails4.2/elm-stuff/packages/elm-lang/html/2.0.0/README.md +5 -0
  187. data/test/rails4.2/elm-stuff/packages/elm-lang/html/2.0.0/elm-package.json +21 -0
  188. data/test/rails4.2/elm-stuff/packages/elm-lang/html/2.0.0/properties-vs-attributes.md +15 -0
  189. data/test/rails4.2/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Attributes.elm +1009 -0
  190. data/test/rails4.2/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Events.elm +269 -0
  191. data/test/rails4.2/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Keyed.elm +48 -0
  192. data/test/rails4.2/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Lazy.elm +48 -0
  193. data/test/rails4.2/elm-stuff/packages/elm-lang/html/2.0.0/src/Html.elm +923 -0
  194. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/LICENSE +30 -0
  195. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/README.md +5 -0
  196. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/elm-package.json +17 -0
  197. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/Native/Debug.js +280 -0
  198. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/Native/VirtualDom.js +1881 -0
  199. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom/Debug.elm +567 -0
  200. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom/Expando.elm +659 -0
  201. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom/Helpers.elm +137 -0
  202. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom/History.elm +290 -0
  203. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom/Metadata.elm +326 -0
  204. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom/Overlay.elm +541 -0
  205. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom/Report.elm +99 -0
  206. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom.elm +331 -0
  207. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/tests/Native/TestHelpers.js +35 -0
  208. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/tests/TestCases/Lazy.elm +72 -0
  209. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/tests/TestHelpers.elm +34 -0
  210. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/tests/TestMain.elm +18 -0
  211. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/tests/elm-package.json +18 -0
  212. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/tests/run-tests.sh +24 -0
  213. data/test/rails4.2/log/development.log +0 -0
  214. data/test/rails4.2/public/404.html +67 -0
  215. data/test/rails4.2/public/422.html +67 -0
  216. data/test/rails4.2/public/500.html +66 -0
  217. data/test/rails4.2/public/assets/App-7d929e251b1b5953bc83f870e24e45eb1fa7b0a02381f6f35c22e4f2217c741f.elm +7 -0
  218. data/test/rails4.2/public/assets/App-7d929e251b1b5953bc83f870e24e45eb1fa7b0a02381f6f35c22e4f2217c741f.elm.gz +0 -0
  219. data/test/rails4.2/public/assets/application-469de1fc2cc36f411d3b3eadfedae733601a2e46e2b263ae5f43edfd07b90f9a.js +7832 -0
  220. data/test/rails4.2/public/assets/application-469de1fc2cc36f411d3b3eadfedae733601a2e46e2b263ae5f43edfd07b90f9a.js.gz +0 -0
  221. data/test/rails4.2/public/assets/application-e80e8f2318043e8af94dddc2adad5a4f09739a8ebb323b3ab31cd71d45fd9113.css +16 -0
  222. data/test/rails4.2/public/assets/application-e80e8f2318043e8af94dddc2adad5a4f09739a8ebb323b3ab31cd71d45fd9113.css.gz +0 -0
  223. data/test/rails4.2/public/favicon.ico +0 -0
  224. data/test/rails4.2/public/robots.txt +5 -0
  225. data/test/rails4.2/test/test_helper.rb +10 -0
  226. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/3Z/3ZUHn6AXhav97w7CxzPk35QWKSdt2_NCypMlfBdbups.cache +12 -0
  227. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/5L/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache +2 -0
  228. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/71/71BGoYgC3JqePcE6mkmZGNm3Hfsplh6GflNISb1nXDY.cache +0 -0
  229. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/7S/7SQg7etrus-CzMQvT50aoqaBFr3g7-XySHgIIYYi120.cache +1 -0
  230. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/8C/8CWOHQ8XpWWEQhSbnexku4svsDm4D6D4khMM1U-hefo.cache +1 -0
  231. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/IL/ILmLNBWq6NCoxa6wQBxL0QZQ1tl0B5EIHe7XNBBzD1c.cache +0 -0
  232. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/Jw/Jw2wqmTaqaVoWeJUIJTeAya_hLYhvjMluyuIExcy7RQ.cache +1 -0
  233. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/KO/KOowMnhBFbIfSnPnJZMvcBO-Ty7jfGMZhfCPyToJ0A0.cache +0 -0
  234. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/LY/LYDHbQunWPAx1lUtqHvYce69OCXyJ_ddebDFMKNuqlI.cache +2 -0
  235. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/OI/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache +2 -0
  236. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/SD/SDBBYwPJLyEQ0kGeBlzlcA-ZfyOrEXYYMADcJmj99CY.cache +1 -0
  237. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/SQ/SQimA5KzAj_p9zMNAsX60SUcMn2uuF16TZC9Klnra0I.cache +0 -0
  238. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/TB/TB5cZ_yulrrkXOX5VPV-Hy5BzCg9Qmp1Cd76AK0H1bw.cache +1 -0
  239. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/Xr/Xrv18wc_alopx84_TfluuduEqUFCvzvieMl9h0IONy8.cache +1 -0
  240. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/_0/_0WRX8uYUBKibrKHGMOPi9ffV0Inaw32I7fxq3XqXZE.cache +1 -0
  241. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/cQ/cQqYRTAhh55ixFFFweV5kSlUV8uTd-quLQSppYOw_HY.cache +0 -0
  242. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/f7/f7vLTrT3HIZzA85tAlEpmeTxMz_oRIycHo8pJytouk4.cache +1 -0
  243. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/gz/gztd2iOfuGm_FtspKA2TGTb05WC_ma2r-cStMmahKA4.cache +1 -0
  244. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/hU/hUc40B5Z1hDZyLf6j_tnQZtdiKDG5hlWrztJBska0PE.cache +3 -0
  245. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/pu/puuyFOZIeE21lmTrCNiNXukuNcijKwpMdOYC1egNvNg.cache +3 -0
  246. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/tR/tRv7-RPbJTn8ti-ONHftBMGXAAV4zzK02vrO2kOYsMA.cache +1 -0
  247. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/vP/vPP5AGlfEDDH5hIun-dIdpO1CYuIZo_fknD6Gkm2hKE.cache +2 -0
  248. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/yv/yvroNANofqgnk7FsbrrvJ5jFI9iXwLYf9WP7_ZKa82k.cache +1 -0
  249. data/test/rails5.0/Gemfile +51 -0
  250. data/test/rails5.0/Gemfile.lock +183 -0
  251. data/test/rails5.0/README.md +24 -0
  252. data/test/rails5.0/Rakefile +6 -0
  253. data/test/rails5.0/app/assets/config/manifest.js +3 -0
  254. data/test/rails5.0/app/assets/elm/App.elm +7 -0
  255. data/test/rails5.0/app/assets/javascripts/application.js +1 -0
  256. data/test/rails5.0/app/assets/javascripts/cable.js +13 -0
  257. data/test/rails5.0/app/assets/stylesheets/application.css +15 -0
  258. data/test/rails5.0/app/channels/application_cable/channel.rb +4 -0
  259. data/test/rails5.0/app/channels/application_cable/connection.rb +4 -0
  260. data/test/rails5.0/app/controllers/application_controller.rb +3 -0
  261. data/test/rails5.0/app/helpers/application_helper.rb +2 -0
  262. data/test/rails5.0/app/jobs/application_job.rb +2 -0
  263. data/test/rails5.0/app/mailers/application_mailer.rb +4 -0
  264. data/test/rails5.0/app/models/application_record.rb +3 -0
  265. data/test/rails5.0/app/views/layouts/application.html.erb +14 -0
  266. data/test/rails5.0/app/views/layouts/mailer.html.erb +13 -0
  267. data/test/rails5.0/app/views/layouts/mailer.text.erb +1 -0
  268. data/test/rails5.0/bin/bundle +3 -0
  269. data/test/rails5.0/bin/rails +9 -0
  270. data/test/rails5.0/bin/rake +9 -0
  271. data/test/rails5.0/bin/setup +34 -0
  272. data/test/rails5.0/bin/spring +16 -0
  273. data/test/rails5.0/bin/update +29 -0
  274. data/test/rails5.0/config/application.rb +15 -0
  275. data/test/rails5.0/config/boot.rb +3 -0
  276. data/test/rails5.0/config/cable.yml +9 -0
  277. data/test/rails5.0/config/database.yml +25 -0
  278. data/test/rails5.0/config/environment.rb +5 -0
  279. data/test/rails5.0/config/environments/development.rb +54 -0
  280. data/test/rails5.0/config/environments/production.rb +86 -0
  281. data/test/rails5.0/config/environments/test.rb +42 -0
  282. data/test/rails5.0/config/initializers/application_controller_renderer.rb +6 -0
  283. data/test/rails5.0/config/initializers/assets.rb +11 -0
  284. data/test/rails5.0/config/initializers/backtrace_silencers.rb +7 -0
  285. data/test/rails5.0/config/initializers/cookies_serializer.rb +5 -0
  286. data/test/rails5.0/config/initializers/filter_parameter_logging.rb +4 -0
  287. data/test/rails5.0/config/initializers/inflections.rb +16 -0
  288. data/test/rails5.0/config/initializers/mime_types.rb +4 -0
  289. data/test/rails5.0/config/initializers/new_framework_defaults.rb +24 -0
  290. data/test/rails5.0/config/initializers/session_store.rb +3 -0
  291. data/test/rails5.0/config/initializers/wrap_parameters.rb +14 -0
  292. data/test/rails5.0/config/locales/en.yml +23 -0
  293. data/test/rails5.0/config/puma.rb +47 -0
  294. data/test/rails5.0/config/routes.rb +3 -0
  295. data/test/rails5.0/config/secrets.yml +22 -0
  296. data/test/rails5.0/config/spring.rb +6 -0
  297. data/test/rails5.0/config.ru +5 -0
  298. data/test/rails5.0/db/seeds.rb +7 -0
  299. data/test/rails5.0/elm-package.json +15 -0
  300. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Array.elmi +0 -0
  301. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Array.elmo +54 -0
  302. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Basics.elmi +0 -0
  303. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Basics.elmo +125 -0
  304. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Bitwise.elmi +0 -0
  305. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Bitwise.elmo +7 -0
  306. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Char.elmi +0 -0
  307. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Char.elmo +42 -0
  308. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Color.elmi +0 -0
  309. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Color.elmo +165 -0
  310. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Date.elmi +0 -0
  311. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Date.elmo +32 -0
  312. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Debug.elmi +0 -0
  313. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Debug.elmo +2 -0
  314. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Dict.elmi +0 -0
  315. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Dict.elmo +916 -0
  316. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Json-Decode.elmi +0 -0
  317. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Json-Decode.elmo +62 -0
  318. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Json-Encode.elmi +0 -0
  319. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Json-Encode.elmo +10 -0
  320. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/List.elmi +0 -0
  321. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/List.elmo +545 -0
  322. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Maybe.elmi +0 -0
  323. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Maybe.elmo +72 -0
  324. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform-Cmd.elmi +0 -0
  325. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform-Cmd.elmo +14 -0
  326. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform-Sub.elmi +0 -0
  327. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform-Sub.elmo +5 -0
  328. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform.elmi +0 -0
  329. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform.elmo +9 -0
  330. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Process.elmi +0 -0
  331. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Process.elmo +3 -0
  332. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Random.elmi +0 -0
  333. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Random.elmo +378 -0
  334. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Regex.elmi +0 -0
  335. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Regex.elmo +16 -0
  336. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Result.elmi +0 -0
  337. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Result.elmo +141 -0
  338. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Set.elmi +0 -0
  339. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Set.elmo +130 -0
  340. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/String.elmi +0 -0
  341. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/String.elmo +43 -0
  342. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Task.elmi +0 -0
  343. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Task.elmo +196 -0
  344. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Time.elmi +0 -0
  345. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Time.elmo +187 -0
  346. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Tuple.elmi +0 -0
  347. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Tuple.elmo +26 -0
  348. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/graph.dat +0 -0
  349. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Attributes.elmi +0 -0
  350. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Attributes.elmo +349 -0
  351. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Events.elmi +0 -0
  352. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Events.elmo +114 -0
  353. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Keyed.elmi +0 -0
  354. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Keyed.elmo +3 -0
  355. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Lazy.elmi +0 -0
  356. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Lazy.elmo +3 -0
  357. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html.elmi +0 -0
  358. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html.elmo +124 -0
  359. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/graph.dat +0 -0
  360. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Debug.elmi +0 -0
  361. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Debug.elmo +622 -0
  362. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Expando.elmi +0 -0
  363. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Expando.elmo +1353 -0
  364. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Helpers.elmi +0 -0
  365. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Helpers.elmo +45 -0
  366. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-History.elmi +0 -0
  367. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-History.elmo +367 -0
  368. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Metadata.elmi +0 -0
  369. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Metadata.elmo +393 -0
  370. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Overlay.elmi +0 -0
  371. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Overlay.elmo +793 -0
  372. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Report.elmi +0 -0
  373. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Report.elmo +98 -0
  374. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom.elmi +0 -0
  375. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom.elmo +30 -0
  376. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/graph.dat +0 -0
  377. data/test/rails5.0/elm-stuff/exact-dependencies.json +5 -0
  378. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/CONTRIBUTING.md +41 -0
  379. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/LICENSE +30 -0
  380. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/README.md +34 -0
  381. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/changelog.md +143 -0
  382. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/elm-package.json +38 -0
  383. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Array.elm +240 -0
  384. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Basics.elm +655 -0
  385. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Bitwise.elm +90 -0
  386. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Char.elm +103 -0
  387. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Color.elm +456 -0
  388. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Date.elm +150 -0
  389. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Debug.elm +62 -0
  390. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Dict.elm +661 -0
  391. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Json/Decode.elm +520 -0
  392. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Json/Encode.elm +102 -0
  393. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/List.elm +603 -0
  394. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Maybe.elm +157 -0
  395. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Array.js +967 -0
  396. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Basics.js +141 -0
  397. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Bitwise.js +13 -0
  398. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Char.js +14 -0
  399. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Date.js +33 -0
  400. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Debug.js +30 -0
  401. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Json.js +580 -0
  402. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/List.js +137 -0
  403. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Platform.js +560 -0
  404. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Regex.js +119 -0
  405. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Scheduler.js +281 -0
  406. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/String.js +335 -0
  407. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Time.js +27 -0
  408. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Utils.js +489 -0
  409. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Platform/Cmd.elm +67 -0
  410. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Platform/Sub.elm +52 -0
  411. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Platform.elm +145 -0
  412. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Process.elm +106 -0
  413. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Random.elm +532 -0
  414. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Regex.elm +148 -0
  415. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Result.elm +210 -0
  416. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Set.elm +168 -0
  417. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/String.elm +464 -0
  418. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Task.elm +278 -0
  419. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Time.elm +243 -0
  420. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Tuple.elm +61 -0
  421. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Array.elm +90 -0
  422. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Basics.elm +158 -0
  423. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Bitwise.elm +50 -0
  424. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Char.elm +93 -0
  425. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/CodeGen.elm +59 -0
  426. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Dict.elm +79 -0
  427. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Equality.elm +28 -0
  428. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Json.elm +83 -0
  429. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/List.elm +165 -0
  430. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Regex.elm +46 -0
  431. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Result.elm +60 -0
  432. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Set.elm +29 -0
  433. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/String.elm +41 -0
  434. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test.elm +40 -0
  435. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/elm-package.json +16 -0
  436. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/run-tests.sh +18 -0
  437. data/test/rails5.0/elm-stuff/packages/elm-lang/html/2.0.0/LICENSE +30 -0
  438. data/test/rails5.0/elm-stuff/packages/elm-lang/html/2.0.0/README.md +5 -0
  439. data/test/rails5.0/elm-stuff/packages/elm-lang/html/2.0.0/elm-package.json +21 -0
  440. data/test/rails5.0/elm-stuff/packages/elm-lang/html/2.0.0/properties-vs-attributes.md +15 -0
  441. data/test/rails5.0/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Attributes.elm +1009 -0
  442. data/test/rails5.0/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Events.elm +269 -0
  443. data/test/rails5.0/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Keyed.elm +48 -0
  444. data/test/rails5.0/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Lazy.elm +48 -0
  445. data/test/rails5.0/elm-stuff/packages/elm-lang/html/2.0.0/src/Html.elm +923 -0
  446. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/LICENSE +30 -0
  447. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/README.md +5 -0
  448. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/elm-package.json +17 -0
  449. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/Native/Debug.js +280 -0
  450. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/Native/VirtualDom.js +1881 -0
  451. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom/Debug.elm +567 -0
  452. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom/Expando.elm +659 -0
  453. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom/Helpers.elm +137 -0
  454. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom/History.elm +290 -0
  455. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom/Metadata.elm +326 -0
  456. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom/Overlay.elm +541 -0
  457. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom/Report.elm +99 -0
  458. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom.elm +331 -0
  459. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/tests/Native/TestHelpers.js +35 -0
  460. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/tests/TestCases/Lazy.elm +72 -0
  461. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/tests/TestHelpers.elm +34 -0
  462. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/tests/TestMain.elm +18 -0
  463. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/tests/elm-package.json +18 -0
  464. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/tests/run-tests.sh +24 -0
  465. data/test/rails5.0/log/development.log +0 -0
  466. data/test/rails5.0/log/test.log +0 -0
  467. data/test/rails5.0/public/404.html +67 -0
  468. data/test/rails5.0/public/422.html +67 -0
  469. data/test/rails5.0/public/500.html +66 -0
  470. data/test/rails5.0/public/apple-touch-icon-precomposed.png +0 -0
  471. data/test/rails5.0/public/apple-touch-icon.png +0 -0
  472. data/test/rails5.0/public/assets/App-1602b94f98947092c88dc265ff74f09a5e843f8da65d389ffbc3e33780fffede.elm +9 -0
  473. data/test/rails5.0/public/assets/App-1602b94f98947092c88dc265ff74f09a5e843f8da65d389ffbc3e33780fffede.elm.gz +0 -0
  474. data/test/rails5.0/public/assets/App-5e519e981b0f90300c651aefaa6caae0d86b07d230d233a1bfb0d39a5d880e3c.elm +1 -0
  475. data/test/rails5.0/public/assets/App-5e519e981b0f90300c651aefaa6caae0d86b07d230d233a1bfb0d39a5d880e3c.elm.gz +0 -0
  476. data/test/rails5.0/public/assets/App-7d929e251b1b5953bc83f870e24e45eb1fa7b0a02381f6f35c22e4f2217c741f.elm +7 -0
  477. data/test/rails5.0/public/assets/App-7d929e251b1b5953bc83f870e24e45eb1fa7b0a02381f6f35c22e4f2217c741f.elm.gz +0 -0
  478. data/test/rails5.0/public/assets/App-8a8d0e9bfb375345038db521f127df9481ab51071ed163f15245377ceb88eaca.elm +8 -0
  479. data/test/rails5.0/public/assets/App-8a8d0e9bfb375345038db521f127df9481ab51071ed163f15245377ceb88eaca.elm.gz +0 -0
  480. data/test/rails5.0/public/assets/App-eca9cb629bea66373157a8cc52c5b0f93a31aaf50ecff27c10d7239be48b248f.elm +9 -0
  481. data/test/rails5.0/public/assets/App-eca9cb629bea66373157a8cc52c5b0f93a31aaf50ecff27c10d7239be48b248f.elm.gz +0 -0
  482. data/test/rails5.0/public/assets/application-4586df2c9172aec6cc707426ba5f83f7a590a4aeac2fe816fa5023c32963f2f9.js +12198 -0
  483. data/test/rails5.0/public/assets/application-4586df2c9172aec6cc707426ba5f83f7a590a4aeac2fe816fa5023c32963f2f9.js.gz +0 -0
  484. data/test/rails5.0/public/assets/application-469de1fc2cc36f411d3b3eadfedae733601a2e46e2b263ae5f43edfd07b90f9a.js +7832 -0
  485. data/test/rails5.0/public/assets/application-469de1fc2cc36f411d3b3eadfedae733601a2e46e2b263ae5f43edfd07b90f9a.js.gz +0 -0
  486. data/test/rails5.0/public/assets/application-af04b226fd7202dfc532ce7aedb95a0128277937e90d3b3a3d35e1cce9e16886.css +16 -0
  487. data/test/rails5.0/public/assets/application-af04b226fd7202dfc532ce7aedb95a0128277937e90d3b3a3d35e1cce9e16886.css.gz +0 -0
  488. data/test/rails5.0/public/favicon.ico +0 -0
  489. data/test/rails5.0/public/robots.txt +5 -0
  490. data/test/rails5.0/test/test_helper.rb +10 -0
  491. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/0Y/0YB7dUAeS_crvTkoNmYLCXhHXzZyo1iBdHiGDB66haY.cache +0 -0
  492. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/1N/1NhL0zKSPgA05Uc-SJFX3grlL83t06cgOrX3bVN59rY.cache +3 -0
  493. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/1a/1aCAw9tIoeRlkEQrkNffBdK1iX2sVmGKo0ZSDujjzzQ.cache +1 -0
  494. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/35/35k3BKm9w8BazTN5Y5LaRFfxzV1IXXkXfhyMO-0bbqE.cache +1 -0
  495. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/3H/3HMMKH-mmYBvbL_QMZIVF9hFTjtLPFytSfllY3Quc40.cache +1 -0
  496. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/4L/4LstvGmpBCrhBQdjwm9XUSk8KT0o7CTK79wVCZD0rYA.cache +0 -0
  497. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/5n/5nYbBZ2v-Olkh8gU3Gj8q75NJNzG188X8wVFaRMSO4Y.cache +0 -0
  498. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/6k/6kGz9Pbsl1lurmvNTUwodRApjpjcg44MDFmGicCYtkM.cache +1 -0
  499. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/6x/6xh5M9_QsilQ8b2CIjSm980iyp5htgQNGpe2smD8EFY.cache +1 -0
  500. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/7E/7EmKgeIbIEosUjuD7RwrwSOU6qG-YNCXISqzKAIj6XY.cache +1 -0
  501. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/7r/7rKBKpKdQ-dlqhkkPc_YTTDH8Hcb-aA25EWqyF_SCnM.cache +0 -0
  502. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/8E/8EqfkaQzxFfiMRJxFhO6QMYvUsGoreG0wuo0Z9ZIQMI.cache +1 -0
  503. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/9S/9SjxHQK7xOt2WfMDQSUnTh7cRFOD9pYnDnhz-fYcGIM.cache +1 -0
  504. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/9Y/9YPGrz99c2jdTmAXI-gcar5ZuLy_DICUkenwTffZpXM.cache +3 -0
  505. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/9n/9nNrLIfeQBbmhfdE-wyq6IofxTnrSh_qjbhxpIV8e8k.cache +0 -0
  506. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/AD/ADdMEFmbNhFvLXTmHzEKQ6aeGjlW3xFS-SNaOS9G5E0.cache +1 -0
  507. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Aq/AqD6i7Uh0R4iSD3LnqgXtyhDzZulN4Ll4BYugwcVMd8.cache +14 -0
  508. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/B1/B12JeqH5j_oNIiH4FIhK4IIogEXMhp7HkXRDG5_W9TE.cache +1 -0
  509. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/B9/B9QjSHDYRcZ6vHYyAL-9LVloVXrAxRNuLBhBQlszyYY.cache +0 -0
  510. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Br/BrAzyoqGDsBq0SuTmtVy_UPxIRQ6GT9GZ4rtUWXur50.cache +1 -0
  511. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Bx/BxzoG0KxeNLac4xTNeJv3qfeytbNBw58xj2zD-xdbrE.cache +2 -0
  512. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/H1/H1jTfx5eWFTr9nS4BAYci_jWFKDFikgWTQfytyXbxE8.cache +1 -0
  513. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/He/HeCPR0vx95YOit3sQBrJqvU-qt5UlrVo6oR3gmLsVRE.cache +1 -0
  514. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Ik/IkfUJk7rZOFkONwuH61NE0Qm02VNU_Kzs2BXpLxU_jA.cache +0 -0
  515. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Il/Il5IfApBiO1hgPEjL4xSAmMFSLuMGqPKdqHxVKl4xto.cache +0 -0
  516. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/J0/J0jmom5PJvcEBroo5EmWZWwS-qIS_vrXeDWc7eno-Bo.cache +1 -0
  517. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Ja/JacseGFSNScIY88_jg9qPVjxr8noy1N-SqVqj639jqM.cache +2 -0
  518. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/KK/KKsRXpOYUoX-CUIJkA1HOY5KZSS95aEclXJ2W435720.cache +3 -0
  519. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Kg/Kgkr5ONb7guGJNJQ1Kk_cYcJ8P9SyW6pQ9rcBL1NRU4.cache +1 -0
  520. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Ko/Ko3lwpLJwK6NWfB58rcpen0NlXa3kpCsc4RAKKT6Kpk.cache +0 -0
  521. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/LY/LYDHbQunWPAx1lUtqHvYce69OCXyJ_ddebDFMKNuqlI.cache +0 -0
  522. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/NB/NBzfgqIkjfw28ZiYRd57NZjfR58xLNoos_RalMVjNbg.cache +1 -0
  523. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Nf/NfYfMVLdt_Ou9w7rLSKpXrPDpgDbZrBnQ4z-Hum-6vI.cache +3 -0
  524. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/O9/O9TrSGgLM3Z_MRoHypJwNImwwSQ4RrvgHT8jvNgJEw8.cache +1 -0
  525. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/OD/ODpH56RUMtxnzhaH5U_u4tOMq8TBgYFxa_uOtVDIYYY.cache +0 -0
  526. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Og/Ogbuh2wE0u29GxE1agxdqtbvGm1gNQDgbAsON6mmqEs.cache +1 -0
  527. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/PD/PDGhNPQf4tpr04KnK-MVoL7vfP1-IkOZ82t96aM9rzU.cache +0 -0
  528. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/S0/S0YVAAdEQsPWUvEL2HO_0mkuTBPd1YN5qnFMZdbl__s.cache +1 -0
  529. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/SH/SHzDzeCYjrPInxH5PdvvnaSwG6saboDBExYeizii9l8.cache +12 -0
  530. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/V3/V3n8zFh7QU2BX4zbGf-6u3v3UV6gk-Kd4ukzWRKzygE.cache +0 -0
  531. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/VJ/VJhOylb5YLNno0g3xGtELVfa6ADi2hjAKipWJHNwmaw.cache +3 -0
  532. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/VU/VUgLLHwZhPSRCNTktsMDxGoe9FM10f1KyYCYHtM9i6s.cache +1 -0
  533. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/VX/VXJe3zEbcTeaXjBIUHOqnlo0wzUJFGr4qbX1a07mhCU.cache +1 -0
  534. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Vl/VlNigKvkrAT-d0xZ-dPrWFc5-ftFTPWjgV-pNXINZNI.cache +1 -0
  535. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/W9/W9hQOrzOprntvhFuuLQMjVuIqkA4glCKEU85O97ePPg.cache +1 -0
  536. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Wl/WlA2b2ztRT1INWN_KF2AQYcgo6xtPD5MN4Xbn6Y0P4c.cache +1 -0
  537. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/XO/XOQxQt2ChZX9nP-bS-4LeZpDoXqgy8b0ZeDrBv7Fm7E.cache +0 -0
  538. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Ya/YA2cPxMXBtg-8-rve8W_M3jPY9XWs7m0Shsiqp8gQws.cache +1 -0
  539. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Ya/YayMISAqD-Y3vBFywwKrXbUovGf5o77HUF5s8mnQgO0.cache +0 -0
  540. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Yh/YhLPDOqEMwfXgbP2sDA4lj6jrbOvB7bC_uxlXzV_TQE.cache +1 -0
  541. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Yi/YiYRhSq0opHKMpfxdgTluU5wxBb3DiqZwjHmFTpvFHw.cache +1 -0
  542. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/_g/_gcA7ve5b9gRqyMtexel8zqzGx251FMb6tjSg2RWOW8.cache +1 -0
  543. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/aO/aOnqAc44IjU1sN_EMsXGnQ0JKh9IcG460FYR5bIrFms.cache +1 -0
  544. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/bP/bPPhf5cxBG77CDeKdBShe42BgQoDTLDoTLD3zruq1W0.cache +1 -0
  545. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/ba/baB1035_Crz8wasVlcXhl_FU16sjjVvXpxIe38OPvXQ.cache +1 -0
  546. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/df/dfWZd4DzOiImVd7W0kkLrInPO1OOqVzpfz5sSvjF-Uo.cache +1 -0
  547. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/eA/eAld1SKvn6CmGs606xnR5u_RD-9jztgHGg80umZcU1E.cache +1 -0
  548. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/gh/ghVAcaqdDpGTOqJjPARKgCiR8CiHW6QlnKTOF9e9ORI.cache +1 -0
  549. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/hR/hRvM5YCxMAgeLQZUX1xYPkVAuja6B4tOqBQAkydPLJU.cache +1 -0
  550. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/hU/hUc40B5Z1hDZyLf6j_tnQZtdiKDG5hlWrztJBska0PE.cache +3 -0
  551. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/hp/hppUy6OHEQcsWCk8s_i6M5mO9LNdD9yRZb5kX4ptVrc.cache +1 -0
  552. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/iU/iUAm_moTHIafsRJIY5-RfSh2OKUIz_yhNnQqpUVBNYQ.cache +3 -0
  553. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/jZ/JZxXAA7PYxyTc8rmt8jxfR8grbq2jBfZbseUMSuH8zk.cache +1 -0
  554. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/jZ/jZMUnpPr_EmTmI8mHPj7EQicOUHDug2aEoohjId_0Yk.cache +0 -0
  555. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/je/je5iFjCcUlxNbZPRHgNBSB6qWaC9kCNxQ6q1yj_qOOY.cache +1 -0
  556. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/kV/kVOpHbvQlTwqjBkr02sqtQqzLzxINYcecM_naAzjdC0.cache +1 -0
  557. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/lt/ltXAG0-rNlM_PLKTy1WHlI7D1O_CMbd84zaRydmU-Rg.cache +3 -0
  558. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/n3/n3lkVpUjkcCDAQhxykQ6y8IP6y1JdTtH06FRqfkq9LI.cache +0 -0
  559. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/nJ/nJdrXYYtjc5zT8HUWi7je-yfrVicfQZvwRqPzaCa6wk.cache +0 -0
  560. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/n_/n_xYqQYhwEMQknb3jFQnjlxxBE9TzMNHCdJ-bEyZFIw.cache +2 -0
  561. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/nd/nd-cz3iq2NvZgc2KOeAgQoVy3JMKsXNeLqWxG6FteZI.cache +0 -0
  562. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/nx/nxTv3sKVUQZADJyM3dPaVmUA78MIsMLD_K279yN_GsI.cache +2 -0
  563. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/oW/oWyRdiks7gwGe0iIy_7eP4tuLKREDJpw5zmcvzTcz6A.cache +1 -0
  564. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/pg/pg9UjX5tF6eU8BVS5bMsq1C-zoY8SryXO2KGgRQlTss.cache +1 -0
  565. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/pu/puuyFOZIeE21lmTrCNiNXukuNcijKwpMdOYC1egNvNg.cache +3 -0
  566. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/qA/qAs4p5gy36IKHVRTncIU2bEoe5U7AfqZbEfHn53X_8o.cache +1 -0
  567. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/r5/r50Jp6i83eTDHlxTfnNc3wsRhTkVGnBnoPm8Qu6ygk4.cache +1 -0
  568. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/rw/rwpefxNnYvOKp9N-3v7kg_-CK3lbIjgExClJ5C2qDlc.cache +1 -0
  569. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/sD/sDyffi23VNNBUqPAOf8uo7Jc_-JJBh_XGi-sG-OwCi4.cache +1 -0
  570. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/sJ/sJ_lXp0OZ-d7xXSO7IYvbYXNnRfmoF4y_wtVeHyro0M.cache +0 -0
  571. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/sV/sVvb4rIxllY1RcnneFQOouJRcNLkQOPJsXMXfyrpWl4.cache +1 -0
  572. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/st/stJIDRPJd8LU1crSDOT6xb63bnHMwWO4uZ61z36ULO4.cache +1 -0
  573. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/tE/tEY3hs40EEJehLXOpxKqICNDETqbP3DVCUnrgXfyQxw.cache +1 -0
  574. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/uG/uGZh7ticrbdLry2ydkTxxa9RaZYIsvbcJ057EcQueW8.cache +0 -0
  575. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/v9/v9cyeu6pHsQwNBnaL4mINPaINTR7_dNGEQ00mceS32c.cache +1 -0
  576. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/vK/vKJHMH5Wqw3Wo2DhWgK89qPpgICbKVGlbi7Epi81gWU.cache +1 -0
  577. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/vP/vPP5AGlfEDDH5hIun-dIdpO1CYuIZo_fknD6Gkm2hKE.cache +2 -0
  578. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/vV/vV1yyk2vB13JUn09187gZiT8X8m5KEuoXpzNXurlOac.cache +1 -0
  579. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/vm/vmwJEykJEbQgCiW25SHHCVsIr-mYCWzhbBqXfnXbeag.cache +1 -0
  580. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/w4/w4A4RKVM0xMsKjHNht7XVaSOGkromySr10SKObjndhE.cache +7 -0
  581. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/wA/wADgvgw7vRo-sR-CZWwBHg9f7eRGZxNv8hM5eYH4JDU.cache +1 -0
  582. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/x7/x7PYh8DJvPykcEqpVab2vcY9-GFz-3cqtoMlRAu94Uc.cache +2 -0
  583. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/zB/zBYhnUcTDDOZYknO_mReeJDV-GDjp4GG2arMnzKck4c.cache +3 -0
  584. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/zC/zCss2J7QY-MVljeBbkecU985YlJ18YOkRRGy4BnJtkQ.cache +1 -0
  585. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/zm/zm9elFKfdhwhhSo15dXPFF3VYW_YQj-vbTgLhM-twP0.cache +1 -0
  586. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/zv/zvZfghSs_sLIZlmb5anW4qZc40WkO23Afn41Xy2RljQ.cache +1 -0
  587. metadata +1166 -10
  588. data/app/assets/javascripts/elm_modules.js.erb +0 -1
  589. data/app/helpers/elm_view_helper.rb +0 -21
  590. data/app/views/elm/mount_script.js.erb +0 -29
  591. data/lib/elm/rails/engine.rb +0 -6
@@ -0,0 +1,661 @@
1
+ module Dict exposing
2
+ ( Dict
3
+ , empty, singleton, insert, update
4
+ , isEmpty, get, remove, member, size
5
+ , filter
6
+ , partition
7
+ , foldl, foldr, map
8
+ , union, intersect, diff, merge
9
+ , keys, values
10
+ , toList, fromList
11
+ )
12
+
13
+ {-| A dictionary mapping unique keys to values. The keys can be any comparable
14
+ type. This includes `Int`, `Float`, `Time`, `Char`, `String`, and tuples or
15
+ lists of comparable types.
16
+
17
+ Insert, remove, and query operations all take *O(log n)* time.
18
+
19
+ # Dictionaries
20
+ @docs Dict
21
+
22
+ # Build
23
+ @docs empty, singleton, insert, update, remove
24
+
25
+ # Query
26
+ @docs isEmpty, member, get, size
27
+
28
+ # Lists
29
+ @docs keys, values, toList, fromList
30
+
31
+ # Transform
32
+ @docs map, foldl, foldr, filter, partition
33
+
34
+ # Combine
35
+ @docs union, intersect, diff, merge
36
+
37
+ -}
38
+
39
+
40
+ import Basics exposing (..)
41
+ import Maybe exposing (..)
42
+ import List exposing (..)
43
+ import Native.Debug
44
+ import String
45
+
46
+
47
+
48
+ -- DICTIONARIES
49
+
50
+
51
+ -- BBlack and NBlack should only be used during the deletion
52
+ -- algorithm. Any other occurrence is a bug and should fail an assert.
53
+ type NColor
54
+ = Red
55
+ | Black
56
+ | BBlack -- Double Black, counts as 2 blacks for the invariant
57
+ | NBlack -- Negative Black, counts as -1 blacks for the invariant
58
+
59
+
60
+ type LeafColor
61
+ = LBlack
62
+ | LBBlack -- Double Black, counts as 2
63
+
64
+
65
+ {-| A dictionary of keys and values. So a `(Dict String User)` is a dictionary
66
+ that lets you look up a `String` (such as user names) and find the associated
67
+ `User`.
68
+ -}
69
+ type Dict k v
70
+ = RBNode_elm_builtin NColor k v (Dict k v) (Dict k v)
71
+ | RBEmpty_elm_builtin LeafColor
72
+
73
+
74
+ {-| Create an empty dictionary. -}
75
+ empty : Dict k v
76
+ empty =
77
+ RBEmpty_elm_builtin LBlack
78
+
79
+
80
+ maxWithDefault : k -> v -> Dict k v -> (k, v)
81
+ maxWithDefault k v r =
82
+ case r of
83
+ RBEmpty_elm_builtin _ ->
84
+ (k, v)
85
+
86
+ RBNode_elm_builtin _ kr vr _ rr ->
87
+ maxWithDefault kr vr rr
88
+
89
+
90
+ {-| Get the value associated with a key. If the key is not found, return
91
+ `Nothing`. This is useful when you are not sure if a key will be in the
92
+ dictionary.
93
+
94
+ animals = fromList [ ("Tom", Cat), ("Jerry", Mouse) ]
95
+
96
+ get "Tom" animals == Just Cat
97
+ get "Jerry" animals == Just Mouse
98
+ get "Spike" animals == Nothing
99
+
100
+ -}
101
+ get : comparable -> Dict comparable v -> Maybe v
102
+ get targetKey dict =
103
+ case dict of
104
+ RBEmpty_elm_builtin _ ->
105
+ Nothing
106
+
107
+ RBNode_elm_builtin _ key value left right ->
108
+ case compare targetKey key of
109
+ LT ->
110
+ get targetKey left
111
+
112
+ EQ ->
113
+ Just value
114
+
115
+ GT ->
116
+ get targetKey right
117
+
118
+
119
+ {-| Determine if a key is in a dictionary. -}
120
+ member : comparable -> Dict comparable v -> Bool
121
+ member key dict =
122
+ case get key dict of
123
+ Just _ ->
124
+ True
125
+
126
+ Nothing ->
127
+ False
128
+
129
+
130
+ {-| Determine the number of key-value pairs in the dictionary. -}
131
+ size : Dict k v -> Int
132
+ size dict =
133
+ sizeHelp 0 dict
134
+
135
+
136
+ sizeHelp : Int -> Dict k v -> Int
137
+ sizeHelp n dict =
138
+ case dict of
139
+ RBEmpty_elm_builtin _ ->
140
+ n
141
+
142
+ RBNode_elm_builtin _ _ _ left right ->
143
+ sizeHelp (sizeHelp (n+1) right) left
144
+
145
+
146
+ {-| Determine if a dictionary is empty.
147
+
148
+ isEmpty empty == True
149
+ -}
150
+ isEmpty : Dict k v -> Bool
151
+ isEmpty dict =
152
+ dict == empty
153
+
154
+
155
+ {- The actual pattern match here is somewhat lax. If it is given invalid input,
156
+ it will do the wrong thing. The expected behavior is:
157
+
158
+ red node => black node
159
+ black node => same
160
+ bblack node => xxx
161
+ nblack node => xxx
162
+
163
+ black leaf => same
164
+ bblack leaf => xxx
165
+ -}
166
+ ensureBlackRoot : Dict k v -> Dict k v
167
+ ensureBlackRoot dict =
168
+ case dict of
169
+ RBNode_elm_builtin Red key value left right ->
170
+ RBNode_elm_builtin Black key value left right
171
+
172
+ _ ->
173
+ dict
174
+
175
+
176
+ {-| Insert a key-value pair into a dictionary. Replaces value when there is
177
+ a collision. -}
178
+ insert : comparable -> v -> Dict comparable v -> Dict comparable v
179
+ insert key value dict =
180
+ update key (always (Just value)) dict
181
+
182
+
183
+ {-| Remove a key-value pair from a dictionary. If the key is not found,
184
+ no changes are made. -}
185
+ remove : comparable -> Dict comparable v -> Dict comparable v
186
+ remove key dict =
187
+ update key (always Nothing) dict
188
+
189
+
190
+ type Flag = Insert | Remove | Same
191
+
192
+
193
+ {-| Update the value of a dictionary for a specific key with a given function. -}
194
+ update : comparable -> (Maybe v -> Maybe v) -> Dict comparable v -> Dict comparable v
195
+ update k alter dict =
196
+ let
197
+ up dict =
198
+ case dict of
199
+ -- expecting only black nodes, never double black nodes here
200
+ RBEmpty_elm_builtin _ ->
201
+ case alter Nothing of
202
+ Nothing ->
203
+ (Same, empty)
204
+
205
+ Just v ->
206
+ (Insert, RBNode_elm_builtin Red k v empty empty)
207
+
208
+ RBNode_elm_builtin clr key value left right ->
209
+ case compare k key of
210
+ EQ ->
211
+ case alter (Just value) of
212
+ Nothing ->
213
+ (Remove, rem clr left right)
214
+
215
+ Just newValue ->
216
+ (Same, RBNode_elm_builtin clr key newValue left right)
217
+
218
+ LT ->
219
+ let (flag, newLeft) = up left in
220
+ case flag of
221
+ Same ->
222
+ (Same, RBNode_elm_builtin clr key value newLeft right)
223
+
224
+ Insert ->
225
+ (Insert, balance clr key value newLeft right)
226
+
227
+ Remove ->
228
+ (Remove, bubble clr key value newLeft right)
229
+
230
+ GT ->
231
+ let (flag, newRight) = up right in
232
+ case flag of
233
+ Same ->
234
+ (Same, RBNode_elm_builtin clr key value left newRight)
235
+
236
+ Insert ->
237
+ (Insert, balance clr key value left newRight)
238
+
239
+ Remove ->
240
+ (Remove, bubble clr key value left newRight)
241
+
242
+ (flag, updatedDict) =
243
+ up dict
244
+ in
245
+ case flag of
246
+ Same ->
247
+ updatedDict
248
+
249
+ Insert ->
250
+ ensureBlackRoot updatedDict
251
+
252
+ Remove ->
253
+ blacken updatedDict
254
+
255
+
256
+ {-| Create a dictionary with one key-value pair. -}
257
+ singleton : comparable -> v -> Dict comparable v
258
+ singleton key value =
259
+ insert key value empty
260
+
261
+
262
+
263
+ -- HELPERS
264
+
265
+
266
+ isBBlack : Dict k v -> Bool
267
+ isBBlack dict =
268
+ case dict of
269
+ RBNode_elm_builtin BBlack _ _ _ _ ->
270
+ True
271
+
272
+ RBEmpty_elm_builtin LBBlack ->
273
+ True
274
+
275
+ _ ->
276
+ False
277
+
278
+
279
+ moreBlack : NColor -> NColor
280
+ moreBlack color =
281
+ case color of
282
+ Black ->
283
+ BBlack
284
+
285
+ Red ->
286
+ Black
287
+
288
+ NBlack ->
289
+ Red
290
+
291
+ BBlack ->
292
+ Native.Debug.crash "Can't make a double black node more black!"
293
+
294
+
295
+ lessBlack : NColor -> NColor
296
+ lessBlack color =
297
+ case color of
298
+ BBlack ->
299
+ Black
300
+
301
+ Black ->
302
+ Red
303
+
304
+ Red ->
305
+ NBlack
306
+
307
+ NBlack ->
308
+ Native.Debug.crash "Can't make a negative black node less black!"
309
+
310
+
311
+ {- The actual pattern match here is somewhat lax. If it is given invalid input,
312
+ it will do the wrong thing. The expected behavior is:
313
+
314
+ node => less black node
315
+
316
+ bblack leaf => black leaf
317
+ black leaf => xxx
318
+ -}
319
+ lessBlackTree : Dict k v -> Dict k v
320
+ lessBlackTree dict =
321
+ case dict of
322
+ RBNode_elm_builtin c k v l r ->
323
+ RBNode_elm_builtin (lessBlack c) k v l r
324
+
325
+ RBEmpty_elm_builtin _ ->
326
+ RBEmpty_elm_builtin LBlack
327
+
328
+
329
+ reportRemBug : String -> NColor -> String -> String -> a
330
+ reportRemBug msg c lgot rgot =
331
+ Native.Debug.crash <|
332
+ String.concat
333
+ [ "Internal red-black tree invariant violated, expected "
334
+ , msg, " and got ", toString c, "/", lgot, "/", rgot
335
+ , "\nPlease report this bug to <https://github.com/elm-lang/core/issues>"
336
+ ]
337
+
338
+
339
+ -- Remove the top node from the tree, may leave behind BBlacks
340
+ rem : NColor -> Dict k v -> Dict k v -> Dict k v
341
+ rem color left right =
342
+ case (left, right) of
343
+ (RBEmpty_elm_builtin _, RBEmpty_elm_builtin _) ->
344
+ case color of
345
+ Red ->
346
+ RBEmpty_elm_builtin LBlack
347
+
348
+ Black ->
349
+ RBEmpty_elm_builtin LBBlack
350
+
351
+ _ ->
352
+ Native.Debug.crash "cannot have bblack or nblack nodes at this point"
353
+
354
+ (RBEmpty_elm_builtin cl, RBNode_elm_builtin cr k v l r) ->
355
+ case (color, cl, cr) of
356
+ (Black, LBlack, Red) ->
357
+ RBNode_elm_builtin Black k v l r
358
+
359
+ _ ->
360
+ reportRemBug "Black/LBlack/Red" color (toString cl) (toString cr)
361
+
362
+ (RBNode_elm_builtin cl k v l r, RBEmpty_elm_builtin cr) ->
363
+ case (color, cl, cr) of
364
+ (Black, Red, LBlack) ->
365
+ RBNode_elm_builtin Black k v l r
366
+
367
+ _ ->
368
+ reportRemBug "Black/Red/LBlack" color (toString cl) (toString cr)
369
+
370
+ -- l and r are both RBNodes
371
+ (RBNode_elm_builtin cl kl vl ll rl, RBNode_elm_builtin _ _ _ _ _) ->
372
+ let
373
+ (k, v) =
374
+ maxWithDefault kl vl rl
375
+
376
+ newLeft =
377
+ removeMax cl kl vl ll rl
378
+ in
379
+ bubble color k v newLeft right
380
+
381
+
382
+ -- Kills a BBlack or moves it upward, may leave behind NBlack
383
+ bubble : NColor -> k -> v -> Dict k v -> Dict k v -> Dict k v
384
+ bubble c k v l r =
385
+ if isBBlack l || isBBlack r then
386
+ balance (moreBlack c) k v (lessBlackTree l) (lessBlackTree r)
387
+
388
+ else
389
+ RBNode_elm_builtin c k v l r
390
+
391
+
392
+ -- Removes rightmost node, may leave root as BBlack
393
+ removeMax : NColor -> k -> v -> Dict k v -> Dict k v -> Dict k v
394
+ removeMax c k v l r =
395
+ case r of
396
+ RBEmpty_elm_builtin _ ->
397
+ rem c l r
398
+
399
+ RBNode_elm_builtin cr kr vr lr rr ->
400
+ bubble c k v l (removeMax cr kr vr lr rr)
401
+
402
+
403
+ -- generalized tree balancing act
404
+ balance : NColor -> k -> v -> Dict k v -> Dict k v -> Dict k v
405
+ balance c k v l r =
406
+ let
407
+ tree =
408
+ RBNode_elm_builtin c k v l r
409
+ in
410
+ if blackish tree then
411
+ balanceHelp tree
412
+
413
+ else
414
+ tree
415
+
416
+
417
+ blackish : Dict k v -> Bool
418
+ blackish t =
419
+ case t of
420
+ RBNode_elm_builtin c _ _ _ _ ->
421
+ c == Black || c == BBlack
422
+
423
+ RBEmpty_elm_builtin _ ->
424
+ True
425
+
426
+
427
+ balanceHelp : Dict k v -> Dict k v
428
+ balanceHelp tree =
429
+ case tree of
430
+ -- double red: left, left
431
+ RBNode_elm_builtin col zk zv (RBNode_elm_builtin Red yk yv (RBNode_elm_builtin Red xk xv a b) c) d ->
432
+ balancedTree col xk xv yk yv zk zv a b c d
433
+
434
+ -- double red: left, right
435
+ RBNode_elm_builtin col zk zv (RBNode_elm_builtin Red xk xv a (RBNode_elm_builtin Red yk yv b c)) d ->
436
+ balancedTree col xk xv yk yv zk zv a b c d
437
+
438
+ -- double red: right, left
439
+ RBNode_elm_builtin col xk xv a (RBNode_elm_builtin Red zk zv (RBNode_elm_builtin Red yk yv b c) d) ->
440
+ balancedTree col xk xv yk yv zk zv a b c d
441
+
442
+ -- double red: right, right
443
+ RBNode_elm_builtin col xk xv a (RBNode_elm_builtin Red yk yv b (RBNode_elm_builtin Red zk zv c d)) ->
444
+ balancedTree col xk xv yk yv zk zv a b c d
445
+
446
+ -- handle double blacks
447
+ RBNode_elm_builtin BBlack xk xv a (RBNode_elm_builtin NBlack zk zv (RBNode_elm_builtin Black yk yv b c) (RBNode_elm_builtin Black _ _ _ _ as d)) ->
448
+ RBNode_elm_builtin Black yk yv (RBNode_elm_builtin Black xk xv a b) (balance Black zk zv c (redden d))
449
+
450
+ RBNode_elm_builtin BBlack zk zv (RBNode_elm_builtin NBlack xk xv (RBNode_elm_builtin Black _ _ _ _ as a) (RBNode_elm_builtin Black yk yv b c)) d ->
451
+ RBNode_elm_builtin Black yk yv (balance Black xk xv (redden a) b) (RBNode_elm_builtin Black zk zv c d)
452
+
453
+ _ ->
454
+ tree
455
+
456
+
457
+ balancedTree : NColor -> k -> v -> k -> v -> k -> v -> Dict k v -> Dict k v -> Dict k v -> Dict k v -> Dict k v
458
+ balancedTree col xk xv yk yv zk zv a b c d =
459
+ RBNode_elm_builtin
460
+ (lessBlack col)
461
+ yk
462
+ yv
463
+ (RBNode_elm_builtin Black xk xv a b)
464
+ (RBNode_elm_builtin Black zk zv c d)
465
+
466
+
467
+ -- make the top node black
468
+ blacken : Dict k v -> Dict k v
469
+ blacken t =
470
+ case t of
471
+ RBEmpty_elm_builtin _ ->
472
+ RBEmpty_elm_builtin LBlack
473
+
474
+ RBNode_elm_builtin _ k v l r ->
475
+ RBNode_elm_builtin Black k v l r
476
+
477
+
478
+ -- make the top node red
479
+ redden : Dict k v -> Dict k v
480
+ redden t =
481
+ case t of
482
+ RBEmpty_elm_builtin _ ->
483
+ Native.Debug.crash "can't make a Leaf red"
484
+
485
+ RBNode_elm_builtin _ k v l r ->
486
+ RBNode_elm_builtin Red k v l r
487
+
488
+
489
+
490
+ -- COMBINE
491
+
492
+
493
+ {-| Combine two dictionaries. If there is a collision, preference is given
494
+ to the first dictionary.
495
+ -}
496
+ union : Dict comparable v -> Dict comparable v -> Dict comparable v
497
+ union t1 t2 =
498
+ foldl insert t2 t1
499
+
500
+
501
+ {-| Keep a key-value pair when its key appears in the second dictionary.
502
+ Preference is given to values in the first dictionary.
503
+ -}
504
+ intersect : Dict comparable v -> Dict comparable v -> Dict comparable v
505
+ intersect t1 t2 =
506
+ filter (\k _ -> member k t2) t1
507
+
508
+
509
+ {-| Keep a key-value pair when its key does not appear in the second dictionary.
510
+ -}
511
+ diff : Dict comparable v -> Dict comparable v -> Dict comparable v
512
+ diff t1 t2 =
513
+ foldl (\k v t -> remove k t) t1 t2
514
+
515
+
516
+ {-| The most general way of combining two dictionaries. You provide three
517
+ accumulators for when a given key appears:
518
+
519
+ 1. Only in the left dictionary.
520
+ 2. In both dictionaries.
521
+ 3. Only in the right dictionary.
522
+
523
+ You then traverse all the keys from lowest to highest, building up whatever
524
+ you want.
525
+ -}
526
+ merge
527
+ : (comparable -> a -> result -> result)
528
+ -> (comparable -> a -> b -> result -> result)
529
+ -> (comparable -> b -> result -> result)
530
+ -> Dict comparable a
531
+ -> Dict comparable b
532
+ -> result
533
+ -> result
534
+ merge leftStep bothStep rightStep leftDict rightDict initialResult =
535
+ let
536
+ stepState rKey rValue (list, result) =
537
+ case list of
538
+ [] ->
539
+ (list, rightStep rKey rValue result)
540
+
541
+ (lKey, lValue) :: rest ->
542
+ if lKey < rKey then
543
+ stepState rKey rValue (rest, leftStep lKey lValue result)
544
+
545
+ else if lKey > rKey then
546
+ (list, rightStep rKey rValue result)
547
+
548
+ else
549
+ (rest, bothStep lKey lValue rValue result)
550
+
551
+ (leftovers, intermediateResult) =
552
+ foldl stepState (toList leftDict, initialResult) rightDict
553
+ in
554
+ List.foldl (\(k,v) result -> leftStep k v result) intermediateResult leftovers
555
+
556
+
557
+
558
+ -- TRANSFORM
559
+
560
+
561
+ {-| Apply a function to all values in a dictionary.
562
+ -}
563
+ map : (comparable -> a -> b) -> Dict comparable a -> Dict comparable b
564
+ map f dict =
565
+ case dict of
566
+ RBEmpty_elm_builtin _ ->
567
+ RBEmpty_elm_builtin LBlack
568
+
569
+ RBNode_elm_builtin clr key value left right ->
570
+ RBNode_elm_builtin clr key (f key value) (map f left) (map f right)
571
+
572
+
573
+ {-| Fold over the key-value pairs in a dictionary, in order from lowest
574
+ key to highest key.
575
+ -}
576
+ foldl : (comparable -> v -> b -> b) -> b -> Dict comparable v -> b
577
+ foldl f acc dict =
578
+ case dict of
579
+ RBEmpty_elm_builtin _ ->
580
+ acc
581
+
582
+ RBNode_elm_builtin _ key value left right ->
583
+ foldl f (f key value (foldl f acc left)) right
584
+
585
+
586
+ {-| Fold over the key-value pairs in a dictionary, in order from highest
587
+ key to lowest key.
588
+ -}
589
+ foldr : (comparable -> v -> b -> b) -> b -> Dict comparable v -> b
590
+ foldr f acc t =
591
+ case t of
592
+ RBEmpty_elm_builtin _ ->
593
+ acc
594
+
595
+ RBNode_elm_builtin _ key value left right ->
596
+ foldr f (f key value (foldr f acc right)) left
597
+
598
+
599
+ {-| Keep a key-value pair when it satisfies a predicate. -}
600
+ filter : (comparable -> v -> Bool) -> Dict comparable v -> Dict comparable v
601
+ filter predicate dictionary =
602
+ let
603
+ add key value dict =
604
+ if predicate key value then
605
+ insert key value dict
606
+
607
+ else
608
+ dict
609
+ in
610
+ foldl add empty dictionary
611
+
612
+
613
+ {-| Partition a dictionary according to a predicate. The first dictionary
614
+ contains all key-value pairs which satisfy the predicate, and the second
615
+ contains the rest.
616
+ -}
617
+ partition : (comparable -> v -> Bool) -> Dict comparable v -> (Dict comparable v, Dict comparable v)
618
+ partition predicate dict =
619
+ let
620
+ add key value (t1, t2) =
621
+ if predicate key value then
622
+ (insert key value t1, t2)
623
+
624
+ else
625
+ (t1, insert key value t2)
626
+ in
627
+ foldl add (empty, empty) dict
628
+
629
+
630
+
631
+ -- LISTS
632
+
633
+
634
+ {-| Get all of the keys in a dictionary, sorted from lowest to highest.
635
+
636
+ keys (fromList [(0,"Alice"),(1,"Bob")]) == [0,1]
637
+ -}
638
+ keys : Dict comparable v -> List comparable
639
+ keys dict =
640
+ foldr (\key value keyList -> key :: keyList) [] dict
641
+
642
+
643
+ {-| Get all of the values in a dictionary, in the order of their keys.
644
+
645
+ values (fromList [(0,"Alice"),(1,"Bob")]) == ["Alice", "Bob"]
646
+ -}
647
+ values : Dict comparable v -> List v
648
+ values dict =
649
+ foldr (\key value valueList -> value :: valueList) [] dict
650
+
651
+
652
+ {-| Convert a dictionary into an association list of key-value pairs, sorted by keys. -}
653
+ toList : Dict comparable v -> List (comparable,v)
654
+ toList dict =
655
+ foldr (\key value list -> (key,value) :: list) [] dict
656
+
657
+
658
+ {-| Convert an association list into a dictionary. -}
659
+ fromList : List (comparable,v) -> Dict comparable v
660
+ fromList assocs =
661
+ List.foldl (\(key,value) dict -> insert key value dict) empty assocs