utopia 2.13.4 → 2.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (353) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/development.yml +62 -0
  3. data/README.md +3 -5
  4. data/bake/utopia/yarn.rb +4 -2
  5. data/docs/_components/jquery-litebox/jquery.litebox.css +23 -0
  6. data/docs/_components/jquery-litebox/jquery.litebox.gallery.css +48 -0
  7. data/docs/_components/jquery-litebox/jquery.litebox.js +30 -0
  8. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.apache.css +6 -0
  9. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.bash.css +4 -10
  10. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.clang.css +5 -2
  11. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.diff.css +8 -8
  12. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.ruby.css +1 -1
  13. data/docs/_components/jquery-syntax/base/jquery.syntax.core.css +43 -47
  14. data/docs/_components/jquery-syntax/jquery.syntax.brush.apache.js +3 -41
  15. data/docs/_components/jquery-syntax/jquery.syntax.brush.applescript.js +5 -57
  16. data/docs/_components/jquery-syntax/jquery.syntax.brush.assembly.js +3 -37
  17. data/docs/_components/jquery-syntax/jquery.syntax.brush.bash-script.js +4 -67
  18. data/docs/_components/jquery-syntax/jquery.syntax.brush.bash.js +2 -33
  19. data/docs/_components/jquery-syntax/jquery.syntax.brush.basic.js +5 -51
  20. data/docs/_components/jquery-syntax/jquery.syntax.brush.clang.js +5 -89
  21. data/docs/_components/jquery-syntax/jquery.syntax.brush.csharp.js +4 -47
  22. data/docs/_components/jquery-syntax/jquery.syntax.brush.css.js +5 -80
  23. data/docs/_components/jquery-syntax/jquery.syntax.brush.diff.js +2 -24
  24. data/docs/_components/jquery-syntax/jquery.syntax.brush.go.js +3 -47
  25. data/docs/_components/jquery-syntax/jquery.syntax.brush.haskell.js +3 -45
  26. data/docs/_components/jquery-syntax/jquery.syntax.brush.html.js +4 -66
  27. data/docs/_components/jquery-syntax/jquery.syntax.brush.io.js +3 -45
  28. data/docs/_components/jquery-syntax/jquery.syntax.brush.java.js +4 -45
  29. data/docs/_components/jquery-syntax/jquery.syntax.brush.javascript.js +3 -40
  30. data/docs/_components/jquery-syntax/jquery.syntax.brush.kai.js +2 -29
  31. data/docs/_components/jquery-syntax/jquery.syntax.brush.lisp.js +2 -34
  32. data/docs/_components/jquery-syntax/jquery.syntax.brush.lua.js +3 -44
  33. data/docs/_components/jquery-syntax/jquery.syntax.brush.nginx.js +2 -31
  34. data/docs/_components/jquery-syntax/jquery.syntax.brush.ocaml.js +4 -73
  35. data/docs/_components/jquery-syntax/jquery.syntax.brush.ooc.js +4 -46
  36. data/docs/_components/jquery-syntax/jquery.syntax.brush.pascal.js +4 -51
  37. data/docs/_components/jquery-syntax/jquery.syntax.brush.perl5.js +3 -52
  38. data/docs/_components/jquery-syntax/jquery.syntax.brush.php-script.js +4 -48
  39. data/docs/_components/jquery-syntax/jquery.syntax.brush.php.js +2 -15
  40. data/docs/_components/jquery-syntax/jquery.syntax.brush.plain.js +2 -10
  41. data/docs/_components/jquery-syntax/jquery.syntax.brush.protobuf.js +3 -43
  42. data/docs/_components/jquery-syntax/jquery.syntax.brush.python.js +5 -44
  43. data/docs/_components/jquery-syntax/jquery.syntax.brush.ruby.js +5 -77
  44. data/docs/_components/jquery-syntax/jquery.syntax.brush.scala.js +4 -44
  45. data/docs/_components/jquery-syntax/jquery.syntax.brush.smalltalk.js +2 -29
  46. data/docs/_components/jquery-syntax/jquery.syntax.brush.sql.js +4 -31
  47. data/docs/_components/jquery-syntax/jquery.syntax.brush.super-collider.js +3 -57
  48. data/docs/_components/jquery-syntax/jquery.syntax.brush.swift.js +3 -55
  49. data/docs/_components/jquery-syntax/jquery.syntax.brush.trenni.js +2 -35
  50. data/docs/_components/jquery-syntax/jquery.syntax.brush.xml.js +4 -50
  51. data/docs/_components/jquery-syntax/jquery.syntax.brush.yaml.js +2 -29
  52. data/docs/_components/jquery-syntax/jquery.syntax.cache.js +7 -65
  53. data/docs/_components/jquery-syntax/jquery.syntax.core.js +34 -1098
  54. data/docs/_components/jquery-syntax/jquery.syntax.editor.js +11 -291
  55. data/docs/_components/jquery-syntax/jquery.syntax.js +8 -258
  56. data/docs/_components/jquery/jquery.js +1678 -1026
  57. data/docs/_components/jquery/jquery.min.js +2 -4
  58. data/docs/_components/jquery/jquery.min.map +1 -1
  59. data/docs/_components/jquery/jquery.slim.js +1602 -932
  60. data/docs/_components/jquery/jquery.slim.min.js +2 -4
  61. data/docs/_components/jquery/jquery.slim.min.map +1 -1
  62. data/docs/_static/icon.png +0 -0
  63. data/docs/_static/site.css +100 -114
  64. data/docs/{wiki/development-environment-setup.html → development-environment-setup/index.html} +9 -15
  65. data/docs/{wiki/faq/what-is-xnode.html → faq/what-is-xnode/index.html} +9 -15
  66. data/docs/index.html +25 -31
  67. data/docs/javascript/index.html +108 -0
  68. data/docs/{wiki/middleware/content.html → middleware/content/index.html} +9 -15
  69. data/docs/{wiki/middleware/controller/actions.html → middleware/controller/actions/index.html} +11 -17
  70. data/docs/{wiki/middleware/controller.html → middleware/controller/index.html} +9 -15
  71. data/docs/{wiki/middleware/controller/rewrite.html → middleware/controller/rewrite/index.html} +9 -15
  72. data/docs/{wiki/middleware/localization.html → middleware/localization/index.html} +9 -15
  73. data/docs/{wiki/middleware/redirection.html → middleware/redirection/index.html} +9 -15
  74. data/docs/{wiki/middleware/session.html → middleware/session/index.html} +9 -15
  75. data/docs/{wiki/middleware/static.html → middleware/static/index.html} +9 -15
  76. data/docs/{wiki/server-setup.html → server-setup/index.html} +11 -42
  77. data/docs/{wiki/testing.html → testing/index.html} +10 -16
  78. data/docs/{wiki/updating-utopia.html → updating-utopia/index.html} +9 -15
  79. data/docs/{wiki/your-first-page.html → your-first-page/index.html} +11 -17
  80. data/lib/utopia/content.rb +23 -19
  81. data/lib/utopia/content/link.rb +29 -34
  82. data/lib/utopia/content/links.rb +185 -123
  83. data/lib/utopia/content/node.rb +13 -17
  84. data/lib/utopia/content/response.rb +2 -2
  85. data/lib/utopia/localization.rb +18 -10
  86. data/lib/utopia/path.rb +36 -32
  87. data/lib/utopia/version.rb +1 -1
  88. data/setup/site/Gemfile +7 -5
  89. data/spec/utopia/command_spec.rb +1 -1
  90. data/spec/utopia/content/links/bar/index.xnode +0 -0
  91. data/spec/utopia/content/links/bar/parent/child/index.en.xnode +0 -0
  92. data/spec/utopia/content/links/bar/parent/child/index.ja.xnode +0 -0
  93. data/spec/utopia/content/links/bar/parent/links.yaml +2 -0
  94. data/spec/utopia/content/links/index.xnode +0 -0
  95. data/spec/utopia/content/links/links.yaml +10 -1
  96. data/spec/utopia/content/links/redirect/links.yaml +2 -0
  97. data/spec/utopia/content/links_spec.rb +160 -43
  98. data/spec/utopia/content/localized/links.yaml +2 -5
  99. data/spec/utopia/content/node_spec.rb +1 -1
  100. data/spec/utopia/path_spec.rb +50 -5
  101. data/wiki/Gemfile +9 -0
  102. data/wiki/config.ru +7 -0
  103. data/{documentation/pages/wiki/development-environment-setup/content.md → wiki/pages/development-environment-setup/index.md} +0 -0
  104. data/wiki/pages/faq/links.yaml +2 -0
  105. data/{documentation/pages/wiki/faq/what-is-xnode/content.md → wiki/pages/faq/what-is-xnode/index.md} +1 -1
  106. data/wiki/pages/faq/what-is-xnode/links.yaml +2 -0
  107. data/{documentation/pages/wiki/content.md → wiki/pages/index.md} +2 -2
  108. data/{documentation/pages/wiki/javascript/content.md → wiki/pages/javascript/index.md} +15 -13
  109. data/wiki/pages/javascript/links.yaml +2 -0
  110. data/wiki/pages/links.yaml +2 -0
  111. data/{documentation/pages/wiki/middleware/content/content.md → wiki/pages/middleware/content/index.md} +0 -0
  112. data/{documentation/pages/wiki/middleware/controller/actions/content.md → wiki/pages/middleware/controller/actions/index.md} +2 -2
  113. data/{documentation/pages/wiki/middleware/controller/content.md → wiki/pages/middleware/controller/index.md} +0 -0
  114. data/{documentation/pages/wiki → wiki/pages}/middleware/controller/links.yaml +0 -0
  115. data/{documentation/pages/wiki/middleware/controller/rewrite/content.md → wiki/pages/middleware/controller/rewrite/index.md} +0 -0
  116. data/{documentation/pages/wiki/middleware/localization/content.md → wiki/pages/middleware/localization/index.md} +0 -0
  117. data/{documentation/pages/wiki/middleware/redirection/content.md → wiki/pages/middleware/redirection/index.md} +0 -0
  118. data/{documentation/pages/wiki/middleware/session/content.md → wiki/pages/middleware/session/index.md} +0 -0
  119. data/{documentation/pages/wiki/middleware/static/content.md → wiki/pages/middleware/static/index.md} +0 -0
  120. data/{documentation/pages/wiki/server-setup/content.md → wiki/pages/server-setup/index.md} +0 -0
  121. data/{documentation/pages/wiki/testing/content.md → wiki/pages/testing/index.md} +0 -0
  122. data/{documentation/pages/wiki/updating-utopia/content.md → wiki/pages/updating-utopia/index.md} +0 -0
  123. data/{documentation/pages/wiki/your-first-page/content.md → wiki/pages/your-first-page/index.md} +2 -2
  124. metadata +56 -263
  125. data/.travis.yml +0 -28
  126. data/Rakefile +0 -33
  127. data/docs/_components/jquery/core.js +0 -482
  128. data/docs/_static/utopia-background.svg +0 -1
  129. data/docs/_static/utopia.svg +0 -1
  130. data/docs/code/Utopia.html +0 -517
  131. data/docs/code/Utopia/Basename.html +0 -654
  132. data/docs/code/Utopia/Bootstrap.html +0 -538
  133. data/docs/code/Utopia/Command.html +0 -213
  134. data/docs/code/Utopia/Command/Environment.html +0 -321
  135. data/docs/code/Utopia/Command/Server.html +0 -214
  136. data/docs/code/Utopia/Command/Server/Create.html +0 -222
  137. data/docs/code/Utopia/Command/Server/Environment.html +0 -236
  138. data/docs/code/Utopia/Command/Server/Update.html +0 -317
  139. data/docs/code/Utopia/Command/Setup.html +0 -145
  140. data/docs/code/Utopia/Command/Setup/Server.html +0 -298
  141. data/docs/code/Utopia/Command/Setup/Site.html +0 -180
  142. data/docs/code/Utopia/Command/Site.html +0 -285
  143. data/docs/code/Utopia/Command/Site/Create.html +0 -324
  144. data/docs/code/Utopia/Command/Site/Update.html +0 -407
  145. data/docs/code/Utopia/Command/Top.html +0 -279
  146. data/docs/code/Utopia/Content.html +0 -832
  147. data/docs/code/Utopia/Content/Document.html +0 -1822
  148. data/docs/code/Utopia/Content/Document/State.html +0 -1220
  149. data/docs/code/Utopia/Content/Link.html +0 -1286
  150. data/docs/code/Utopia/Content/Links.html +0 -847
  151. data/docs/code/Utopia/Content/MarkupParser.html +0 -881
  152. data/docs/code/Utopia/Content/MarkupParser/ParsedTag.html +0 -422
  153. data/docs/code/Utopia/Content/MarkupParser/UnbalancedTagError.html +0 -615
  154. data/docs/code/Utopia/Content/Namespace.html +0 -485
  155. data/docs/code/Utopia/Content/Node.html +0 -1188
  156. data/docs/code/Utopia/Content/Node/Context.html +0 -938
  157. data/docs/code/Utopia/Content/Response.html +0 -813
  158. data/docs/code/Utopia/Content/SymbolicHash.html +0 -419
  159. data/docs/code/Utopia/Content/Tag.html +0 -399
  160. data/docs/code/Utopia/Content/Tags.html +0 -136
  161. data/docs/code/Utopia/Content/Tags/ContentTag.html +0 -187
  162. data/docs/code/Utopia/Content/Tags/DeferredTag.html +0 -193
  163. data/docs/code/Utopia/Content/Tags/Library.html +0 -333
  164. data/docs/code/Utopia/Content/Tags/NodeTag.html +0 -193
  165. data/docs/code/Utopia/Content/UnbalancedTagError.html +0 -298
  166. data/docs/code/Utopia/ContentLength.html +0 -343
  167. data/docs/code/Utopia/Controller.html +0 -907
  168. data/docs/code/Utopia/Controller/Actions.html +0 -289
  169. data/docs/code/Utopia/Controller/Actions/Action.html +0 -984
  170. data/docs/code/Utopia/Controller/Actions/ClassMethods.html +0 -442
  171. data/docs/code/Utopia/Controller/Base.html +0 -1216
  172. data/docs/code/Utopia/Controller/Respond.html +0 -293
  173. data/docs/code/Utopia/Controller/Respond/ClassMethods.html +0 -236
  174. data/docs/code/Utopia/Controller/Respond/Converter.html +0 -256
  175. data/docs/code/Utopia/Controller/Respond/Converter/Callback.html +0 -484
  176. data/docs/code/Utopia/Controller/Respond/Converter/ToJSON.html +0 -381
  177. data/docs/code/Utopia/Controller/Respond/Passthrough.html +0 -297
  178. data/docs/code/Utopia/Controller/Respond/Responder.html +0 -535
  179. data/docs/code/Utopia/Controller/Rewrite.html +0 -290
  180. data/docs/code/Utopia/Controller/Rewrite/ClassMethods.html +0 -242
  181. data/docs/code/Utopia/Controller/Rewrite/ExtractPrefixRule.html +0 -364
  182. data/docs/code/Utopia/Controller/Rewrite/Rewriter.html +0 -464
  183. data/docs/code/Utopia/Controller/Rewrite/Rule.html +0 -209
  184. data/docs/code/Utopia/Controller/Variables.html +0 -550
  185. data/docs/code/Utopia/Controllers.html +0 -244
  186. data/docs/code/Utopia/Exceptions.html +0 -127
  187. data/docs/code/Utopia/Exceptions/Handler.html +0 -526
  188. data/docs/code/Utopia/Exceptions/Mailer.html +0 -482
  189. data/docs/code/Utopia/Extensions.html +0 -117
  190. data/docs/code/Utopia/Extensions/ArraySplit.html +0 -183
  191. data/docs/code/Utopia/Extensions/DateTimeComparison.html +0 -193
  192. data/docs/code/Utopia/Extensions/TimeDateComparison.html +0 -193
  193. data/docs/code/Utopia/HTTP.html +0 -250
  194. data/docs/code/Utopia/HTTP/Status.html +0 -415
  195. data/docs/code/Utopia/Locale.html +0 -606
  196. data/docs/code/Utopia/Localization.html +0 -1241
  197. data/docs/code/Utopia/Localization/Wrapper.html +0 -459
  198. data/docs/code/Utopia/Logger.html +0 -205
  199. data/docs/code/Utopia/Logger/CompactFormatter.html +0 -335
  200. data/docs/code/Utopia/Path.html +0 -3310
  201. data/docs/code/Utopia/Path/Matcher.html +0 -518
  202. data/docs/code/Utopia/Path/Matcher/MatchData.html +0 -475
  203. data/docs/code/Utopia/Redirection.html +0 -151
  204. data/docs/code/Utopia/Redirection/ClientRedirect.html +0 -717
  205. data/docs/code/Utopia/Redirection/DirectoryIndex.html +0 -298
  206. data/docs/code/Utopia/Redirection/Errors.html +0 -476
  207. data/docs/code/Utopia/Redirection/Moved.html +0 -312
  208. data/docs/code/Utopia/Redirection/RequestFailure.html +0 -226
  209. data/docs/code/Utopia/Redirection/Rewrite.html +0 -296
  210. data/docs/code/Utopia/Session.html +0 -889
  211. data/docs/code/Utopia/Session/LazyHash.html +0 -859
  212. data/docs/code/Utopia/Setup.html +0 -970
  213. data/docs/code/Utopia/Static.html +0 -696
  214. data/docs/code/Utopia/Static/LocalFile.html +0 -1104
  215. data/docs/code/Utopia/Static/MimeTypeLoader.html +0 -541
  216. data/docs/code/Utopia/Static/MimeTypeLoader/ExpansionError.html +0 -124
  217. data/docs/code/Utopia/Tags.html +0 -115
  218. data/docs/code/Utopia/Tags/Environment.html +0 -314
  219. data/docs/code/Utopia/Tags/EnvironmentTag.html +0 -314
  220. data/docs/code/Utopia/Tags/Library.html +0 -340
  221. data/docs/code/_index.html +0 -758
  222. data/docs/code/class_list.html +0 -51
  223. data/docs/code/css/common.css +0 -1
  224. data/docs/code/css/full_list.css +0 -58
  225. data/docs/code/css/style.css +0 -496
  226. data/docs/code/file.README.html +0 -171
  227. data/docs/code/file_list.html +0 -56
  228. data/docs/code/frames.html +0 -17
  229. data/docs/code/index.html +0 -171
  230. data/docs/code/js/app.js +0 -292
  231. data/docs/code/js/full_list.js +0 -216
  232. data/docs/code/js/jquery.js +0 -4
  233. data/docs/code/materials/utopia.png +0 -0
  234. data/docs/code/materials/utopia.svg +0 -1
  235. data/docs/code/method_list.html +0 -3443
  236. data/docs/code/top-level-namespace.html +0 -110
  237. data/docs/wiki.html +0 -92
  238. data/docs/wiki/development-environment-setup/index.html +0 -60
  239. data/docs/wiki/edit.html +0 -103
  240. data/docs/wiki/faq/what-is-xnode/index.html +0 -79
  241. data/docs/wiki/javascript.html +0 -153
  242. data/docs/wiki/javascript/index.html +0 -153
  243. data/docs/wiki/middleware/content/index.html +0 -64
  244. data/docs/wiki/middleware/controller/actions/index.html +0 -117
  245. data/docs/wiki/middleware/controller/actions/rewrite/index.html +0 -48
  246. data/docs/wiki/middleware/controller/index.html +0 -104
  247. data/docs/wiki/middleware/controller/rewrite/index.html +0 -111
  248. data/docs/wiki/middleware/localization/index.html +0 -59
  249. data/docs/wiki/middleware/redirection/index.html +0 -61
  250. data/docs/wiki/middleware/session/index.html +0 -71
  251. data/docs/wiki/middleware/static/index.html +0 -57
  252. data/docs/wiki/server-setup/index.html +0 -118
  253. data/docs/wiki/testing/index.html +0 -59
  254. data/docs/wiki/updating-utopia/index.html +0 -108
  255. data/docs/wiki/your-first-page/index.html +0 -80
  256. data/documentation/.rspec +0 -4
  257. data/documentation/.yarnrc +0 -1
  258. data/documentation/Gemfile +0 -19
  259. data/documentation/Guardfile +0 -9
  260. data/documentation/Rakefile +0 -9
  261. data/documentation/config.ru +0 -41
  262. data/documentation/config/README.md +0 -7
  263. data/documentation/config/environment.rb +0 -12
  264. data/documentation/lib/readme.txt +0 -1
  265. data/documentation/pages/_editor.xnode +0 -64
  266. data/documentation/pages/_heading.xnode +0 -2
  267. data/documentation/pages/_page.xnode +0 -40
  268. data/documentation/pages/errors/exception.xnode +0 -5
  269. data/documentation/pages/errors/file-not-found.xnode +0 -5
  270. data/documentation/pages/links.yaml +0 -2
  271. data/documentation/pages/wiki/_listing.xnode +0 -32
  272. data/documentation/pages/wiki/_navigation.xnode +0 -15
  273. data/documentation/pages/wiki/controller.rb +0 -48
  274. data/documentation/pages/wiki/edit.xnode +0 -10
  275. data/documentation/pages/wiki/links.yaml +0 -6
  276. data/documentation/pages/wiki/show.xnode +0 -12
  277. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.apache.css +0 -6
  278. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.applescript.css +0 -5
  279. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.assembly.css +0 -8
  280. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.bash-script.css +0 -6
  281. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.bash.css +0 -10
  282. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.clang.css +0 -3
  283. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.css.css +0 -14
  284. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.diff.css +0 -16
  285. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.html.css +0 -5
  286. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.ocaml.css +0 -3
  287. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.protobuf.css +0 -2
  288. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.python.css +0 -6
  289. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.ruby.css +0 -2
  290. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.xml.css +0 -18
  291. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.core.css +0 -62
  292. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.editor.css +0 -6
  293. data/documentation/public/_components/jquery-syntax/base/theme.js +0 -1
  294. data/documentation/public/_components/jquery-syntax/bright/jquery.syntax.core.css +0 -27
  295. data/documentation/public/_components/jquery-syntax/bright/theme.js +0 -1
  296. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.apache.js +0 -41
  297. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.applescript.js +0 -57
  298. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.assembly.js +0 -37
  299. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.bash-script.js +0 -67
  300. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.bash.js +0 -33
  301. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.basic.js +0 -51
  302. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.clang.js +0 -89
  303. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.csharp.js +0 -47
  304. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.css.js +0 -80
  305. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.diff.js +0 -24
  306. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.go.js +0 -47
  307. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.haskell.js +0 -45
  308. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.html.js +0 -66
  309. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.io.js +0 -45
  310. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.java.js +0 -45
  311. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.javascript.js +0 -40
  312. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.kai.js +0 -29
  313. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.lisp.js +0 -34
  314. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.lua.js +0 -44
  315. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.nginx.js +0 -31
  316. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.ocaml.js +0 -73
  317. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.ooc.js +0 -46
  318. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.pascal.js +0 -51
  319. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.perl5.js +0 -52
  320. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.php-script.js +0 -48
  321. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.php.js +0 -15
  322. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.plain.js +0 -10
  323. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.protobuf.js +0 -43
  324. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.python.js +0 -44
  325. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.ruby.js +0 -77
  326. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.scala.js +0 -44
  327. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.smalltalk.js +0 -29
  328. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.sql.js +0 -31
  329. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.super-collider.js +0 -57
  330. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.swift.js +0 -55
  331. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.trenni.js +0 -35
  332. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.xml.js +0 -50
  333. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.yaml.js +0 -29
  334. data/documentation/public/_components/jquery-syntax/jquery.syntax.cache.js +0 -65
  335. data/documentation/public/_components/jquery-syntax/jquery.syntax.core.js +0 -1098
  336. data/documentation/public/_components/jquery-syntax/jquery.syntax.editor.js +0 -291
  337. data/documentation/public/_components/jquery-syntax/jquery.syntax.js +0 -258
  338. data/documentation/public/_components/jquery-syntax/jquery.syntax.min.js +0 -13
  339. data/documentation/public/_components/jquery-syntax/paper/jquery.syntax.core.css +0 -31
  340. data/documentation/public/_components/jquery-syntax/paper/theme.js +0 -1
  341. data/documentation/public/_components/jquery/core.js +0 -482
  342. data/documentation/public/_components/jquery/jquery.js +0 -10220
  343. data/documentation/public/_components/jquery/jquery.min.js +0 -4
  344. data/documentation/public/_components/jquery/jquery.min.map +0 -1
  345. data/documentation/public/_components/jquery/jquery.slim.js +0 -8107
  346. data/documentation/public/_components/jquery/jquery.slim.min.js +0 -4
  347. data/documentation/public/_components/jquery/jquery.slim.min.map +0 -1
  348. data/documentation/public/_static +0 -1
  349. data/documentation/public/materials +0 -1
  350. data/documentation/spec/website_context.rb +0 -12
  351. data/documentation/spec/website_spec.rb +0 -16
  352. data/documentation/tasks +0 -1
  353. data/spec/utopia/content/link_spec.rb +0 -47
@@ -2,12 +2,10 @@
2
2
  <html>
3
3
  <head>
4
4
 
5
- <title>Static - Utopia</title>
5
+ <title>Static</title>
6
6
 
7
7
  <meta charset="UTF-8"/>
8
8
 
9
- <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"/>
10
-
11
9
  <link rel="icon" type="image/png" href="../../_static/icon.png"/>
12
10
  <link rel="stylesheet" href="../../_static/site.css" type="text/css" media="screen"/>
13
11
 
@@ -23,18 +21,13 @@
23
21
  </script>
24
22
  </head>
25
23
 
26
- <body class="">
27
- <header>
28
- <img src="../../_static/utopia.svg"/>
29
- </header>
30
-
31
- <div id="page">
32
-
33
- <nav>
34
- › <a href="../../wiki.html">Wiki</a> › <span>Middleware</span> › <a href="static.html">Static</a></nav>
24
+ <body class="show">
25
+
26
+ <nav> › <a href="../../index.html">Wiki</a> › <span>Middleware</span> › <a href="index.html">Static</a></nav>
35
27
 
36
28
 
37
- <h1 id="static">Static</h1>
29
+ <main>
30
+ <h1 id="static">Static</h1>
38
31
 
39
32
  <p>This middleware serves static files using the <code>mime-types</code> library. By default, it works with <code>Rack::Sendfile</code> and supports <code>ETag</code> based caching. Normally, you’d prefer to put static files into <code>public/_static</code> but it’s also acceptable to put static content into <code>pages/</code> if it makes sense.</p>
40
33
 
@@ -47,11 +40,12 @@
47
40
  cache_control: 'public, max-age=7200'
48
41
  </code></pre>
49
42
 
43
+ </main>
50
44
 
51
45
  <footer>
52
- Last Modified: 2016-12-13 12:36:48 +1300 —
46
+ Last Modified: 2020-04-28 11:35:36 +1200
47
+ — middleware/static/index.md
53
48
  </footer>
54
49
 
55
- </div>
56
50
  </body>
57
51
  </html>
@@ -2,12 +2,10 @@
2
2
  <html>
3
3
  <head>
4
4
 
5
- <title>Server Setup - Utopia</title>
5
+ <title>Server Setup</title>
6
6
 
7
7
  <meta charset="UTF-8"/>
8
8
 
9
- <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"/>
10
-
11
9
  <link rel="icon" type="image/png" href="../_static/icon.png"/>
12
10
  <link rel="stylesheet" href="../_static/site.css" type="text/css" media="screen"/>
13
11
 
@@ -23,24 +21,19 @@
23
21
  </script>
24
22
  </head>
25
23
 
26
- <body class="">
27
- <header>
28
- <img src="../_static/utopia.svg"/>
29
- </header>
30
-
31
- <div id="page">
32
-
33
- <nav>
34
- › <a href="../wiki.html">Wiki</a> › <a href="server-setup.html">Server Setup</a></nav>
24
+ <body class="show">
25
+
26
+ <nav> › <a href="../index.html">Wiki</a> › <a href="index.html">Server Setup</a></nav>
35
27
 
36
28
 
37
- <h1 id="server-setup">Server Setup</h1>
29
+ <main>
30
+ <h1 id="server-setup">Server Setup</h1>
38
31
 
39
32
  <p>Utopia is designed to make deployment to remote servers easy.</p>
40
33
 
41
34
  <h2 id="deployment">Deployment</h2>
42
35
 
43
- <p>The preferred method of deployment to a production server is via git. The <code>utopia</code> command assists with setup of a remote git repository on the server. It will setup a <code>git</code> <code>post-update</code> hook which will deploy the site correctly and restart passenger for that site.</p>
36
+ <p>The preferred method of deployment to a production server is via git. The <code>utopia</code> command assists with setup of a remote git repository on the server. It will setup a <code>git</code> <code>post-update</code> hook which will deploy the site correctly and restart the application server for that site.</p>
44
37
 
45
38
  <p>To setup a server for deployment:</p>
46
39
 
@@ -70,32 +63,7 @@ ENV["DATABASE_ENV"] will default to "production_cluster_primary" unless otherwis
70
63
 
71
64
  <h2 id="platform">Platform</h2>
72
65
 
73
- <p>The best deployment platform for Utopia is Linux. Specifically, <a href="https://www.archlinux.org/">Arch Linux</a> with the following packages:</p>
74
-
75
- <ul>
76
- <li><a href="https://aur.archlinux.org/packages/nginx-mainline-passenger/">nginx-mainline-passenger</a></li>
77
- <li><a href="https://aur.archlinux.org/packages/passenger-nginx-module/">passenger-nginx-module</a></li>
78
- </ul>
79
-
80
- <p>There have been issues with the official packages and thus these packages were developed and tested with Utopia deployment in mind.</p>
81
-
82
- <h3 id="sample-nginx-configuration">Sample Nginx Configuration</h3>
83
-
84
- <p>Create a configuration file for your site, e.g. <code>/etc/nginx/sites/www.example.com</code>:</p>
85
-
86
- <pre><code class="language-nginx">server {
87
- listen 80;
88
- server_name www.example.com;
89
- root /srv/http/www.example.com/public;
90
- passenger_enabled on;
91
- }
92
-
93
- server {
94
- listen 80;
95
- server_name example.com;
96
- rewrite ^ http://www.example.com$uri permanent;
97
- }
98
- </code></pre>
66
+ <p>The best deployment platform for Utopia is Linux, using <a href="https://github.com/socketry/falcon">falcon</a>.</p>
99
67
 
100
68
  <h3 id="sudo-setup">Sudo Setup</h3>
101
69
 
@@ -108,11 +76,12 @@ server {
108
76
  <p>This allows the deploy task to correctly checkout code as user <code>http</code>.</p>
109
77
 
110
78
 
79
+ </main>
111
80
 
112
81
  <footer>
113
- Last Modified: 2018-03-24 20:49:16 +1300 —
82
+ Last Modified: 2020-04-28 11:35:36 +1200
83
+ — server-setup/index.md
114
84
  </footer>
115
85
 
116
- </div>
117
86
  </body>
118
87
  </html>
@@ -2,12 +2,10 @@
2
2
  <html>
3
3
  <head>
4
4
 
5
- <title>Testing - Utopia</title>
5
+ <title>Testing</title>
6
6
 
7
7
  <meta charset="UTF-8"/>
8
8
 
9
- <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"/>
10
-
11
9
  <link rel="icon" type="image/png" href="../_static/icon.png"/>
12
10
  <link rel="stylesheet" href="../_static/site.css" type="text/css" media="screen"/>
13
11
 
@@ -23,20 +21,15 @@
23
21
  </script>
24
22
  </head>
25
23
 
26
- <body class="">
27
- <header>
28
- <img src="../_static/utopia.svg"/>
29
- </header>
30
-
31
- <div id="page">
32
-
33
- <nav>
34
- › <a href="../wiki.html">Wiki</a> › <a href="testing.html">Testing</a></nav>
24
+ <body class="show">
25
+
26
+ <nav> › <a href="../index.html">Wiki</a> › <a href="index.html">Testing</a></nav>
35
27
 
36
28
 
37
- <h1 id="testing">Testing</h1>
29
+ <main>
30
+ <h1 id="testing">Testing</h1>
38
31
 
39
- <p>Utopia websites include a default set of tests, and associated <code>rake test</code> tasks. These specs can test against the actual running website. By default, <code>simplecov</code> is included for coverage testing.</p>
32
+ <p>Utopia websites include a default set of tests, and associated <code>rake test</code> tasks. These specs can test against the actual running website. By default, <a href="https://github.com/socketry/covered">covered</a> is included for coverage testing.</p>
40
33
 
41
34
  <pre><code class="language-bash">$ rake coverage test
42
35
 
@@ -49,11 +42,12 @@ Finished in 0.44849 seconds (files took 0.15547 seconds to load)
49
42
  Coverage report generated for RSpec. 5 / 5 LOC (100.0%) covered.
50
43
  </code></pre>
51
44
 
45
+ </main>
52
46
 
53
47
  <footer>
54
- Last Modified: 2016-12-13 12:41:41 +1300 —
48
+ Last Modified: 2020-04-28 11:35:36 +1200
49
+ — testing/index.md
55
50
  </footer>
56
51
 
57
- </div>
58
52
  </body>
59
53
  </html>
@@ -2,12 +2,10 @@
2
2
  <html>
3
3
  <head>
4
4
 
5
- <title>Updating Utopia - Utopia</title>
5
+ <title>Updating Utopia</title>
6
6
 
7
7
  <meta charset="UTF-8"/>
8
8
 
9
- <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"/>
10
-
11
9
  <link rel="icon" type="image/png" href="../_static/icon.png"/>
12
10
  <link rel="stylesheet" href="../_static/site.css" type="text/css" media="screen"/>
13
11
 
@@ -23,18 +21,13 @@
23
21
  </script>
24
22
  </head>
25
23
 
26
- <body class="">
27
- <header>
28
- <img src="../_static/utopia.svg"/>
29
- </header>
30
-
31
- <div id="page">
32
-
33
- <nav>
34
- › <a href="../wiki.html">Wiki</a> › <a href="updating-utopia.html">Updating Utopia</a></nav>
24
+ <body class="show">
25
+
26
+ <nav> › <a href="../index.html">Wiki</a> › <a href="index.html">Updating Utopia</a></nav>
35
27
 
36
28
 
37
- <h1 id="updating-utopia">Updating Utopia</h1>
29
+ <main>
30
+ <h1 id="updating-utopia">Updating Utopia</h1>
38
31
 
39
32
  <p>Utopia provides a model for both local development (<code>utopia site create</code>) and deployment (<code>utopia server create</code>). In addition, Utopia provides a basic upgrade path for existing sites when things within the framework change. These are not always automatic, so below are some recipes for how to update your site.</p>
40
33
 
@@ -98,11 +91,12 @@ end
98
91
  $ utopia server update
99
92
  </code></pre>
100
93
 
94
+ </main>
101
95
 
102
96
  <footer>
103
- Last Modified: 2017-06-22 15:25:56 +1200
97
+ Last Modified: 2020-04-28 11:35:36 +1200
98
+ — updating-utopia/index.md
104
99
  </footer>
105
100
 
106
- </div>
107
101
  </body>
108
102
  </html>
@@ -2,12 +2,10 @@
2
2
  <html>
3
3
  <head>
4
4
 
5
- <title>Your First Page - Utopia</title>
5
+ <title>Your First Page</title>
6
6
 
7
7
  <meta charset="UTF-8"/>
8
8
 
9
- <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"/>
10
-
11
9
  <link rel="icon" type="image/png" href="../_static/icon.png"/>
12
10
  <link rel="stylesheet" href="../_static/site.css" type="text/css" media="screen"/>
13
11
 
@@ -23,18 +21,13 @@
23
21
  </script>
24
22
  </head>
25
23
 
26
- <body class="">
27
- <header>
28
- <img src="../_static/utopia.svg"/>
29
- </header>
30
-
31
- <div id="page">
32
-
33
- <nav>
34
- › <a href="../wiki.html">Wiki</a> › <a href="your-first-page.html">Your First Page</a></nav>
24
+ <body class="show">
25
+
26
+ <nav> › <a href="../index.html">Wiki</a> › <a href="index.html">Your First Page</a></nav>
35
27
 
36
28
 
37
- <h1 id="your-first-page">Your First Page</h1>
29
+ <main>
30
+ <h1 id="your-first-page">Your First Page</h1>
38
31
 
39
32
  <p>To setup the default site, simply create a directory and use the <code>utopia</code> command:</p>
40
33
 
@@ -44,7 +37,7 @@ $ utopia site create
44
37
  $ rake server
45
38
  </code></pre>
46
39
 
47
- <p>You will now have a basic template site running on <code>http://localhost:9292</code>.</p>
40
+ <p>You will now have a basic template site running on <code>https://localhost:9292</code>.</p>
48
41
 
49
42
  <h2 id="welcome-page">Welcome Page</h2>
50
43
 
@@ -67,14 +60,15 @@ use Utopia::Redirection::Rewrite,
67
60
  <p>You’ll notice that there is a file <code>/links.yaml</code>. This file contains important metadata relating to the <code>errors</code> subdirectory. As we don’t want these nodes showing up in a top level menu, we mark them as <code>display: false</code></p>
68
61
 
69
62
  <pre><code class="language-yaml">errors:
70
- display: false
63
+ display: false
71
64
  </code></pre>
72
65
 
66
+ </main>
73
67
 
74
68
  <footer>
75
- Last Modified: 2017-11-11 02:12:21 +1300 —
69
+ Last Modified: 2020-04-28 23:17:10 +1200
70
+ — your-first-page/index.md
76
71
  </footer>
77
72
 
78
- </div>
79
73
  </body>
80
74
  </html>
@@ -59,7 +59,7 @@ module Utopia
59
59
  # The core namespace for utopia specific functionality:
60
60
  @namespaces[UTOPIA_NAMESPACE] ||= Tags
61
61
  end
62
-
62
+
63
63
  def freeze
64
64
  return self if frozen?
65
65
 
@@ -72,6 +72,7 @@ module Utopia
72
72
 
73
73
  attr :root
74
74
 
75
+ # TODO we should remove this method and expose `@links` directly.
75
76
  def links(path, **options)
76
77
  @links.index(path, **options)
77
78
  end
@@ -91,20 +92,23 @@ module Utopia
91
92
  end
92
93
  end
93
94
 
94
- # The request_path is an absolute uri path, e.g. /foo/bar. If an xnode file exists on disk for this exact path, it is instantiated, otherwise nil.
95
- def lookup_node(request_path)
96
- name = request_path.last
97
- name_xnode = name.to_s + XNODE_EXTENSION
98
-
99
- node_path = File.join(@root, request_path.dirname.components, name_xnode)
100
-
101
- if File.exist? node_path
102
- return Node.new(self, request_path.dirname + name, request_path, node_path)
95
+ # @param path [Path] the request_path is an absolute uri path, e.g. `/foo/bar`. If an xnode file exists on disk for this exact path, it is instantiated, otherwise nil.
96
+ def lookup_node(path, locale = nil)
97
+ resolve_link(
98
+ @links.for(path, locale)
99
+ )
100
+ end
101
+
102
+ def resolve_link(link)
103
+ if path = link&.path
104
+ full_path = File.join(@root, path.dirname, link.key + XNODE_EXTENSION)
105
+
106
+ if File.exist?(full_path)
107
+ return Node.new(self, path, path, full_path)
108
+ end
103
109
  end
104
-
105
- return nil
106
110
  end
107
-
111
+
108
112
  def call(env)
109
113
  request = Rack::Request.new(env)
110
114
  path = Path.create(request.path_info)
@@ -112,17 +116,17 @@ module Utopia
112
116
  # Check if the request is to a non-specific index. This only works for requests with a given name:
113
117
  basename = path.basename
114
118
  directory_path = File.join(@root, path.dirname.components, basename)
115
-
119
+
116
120
  # If the request for /foo/bar is actually a directory, rewrite it to /foo/bar/index:
117
121
  if File.directory? directory_path
118
122
  index_path = [basename, INDEX]
119
123
 
120
124
  return [307, {HTTP::LOCATION => path.dirname.join(index_path).to_s}, []]
121
125
  end
122
-
126
+
123
127
  locale = env[Localization::CURRENT_LOCALE_KEY]
124
128
  if link = @links.for(path, locale)
125
- if link.path and node = lookup_node(link.path)
129
+ if node = resolve_link(link)
126
130
  attributes = request.env.fetch(VARIABLES_KEY, {}).to_hash
127
131
 
128
132
  return node.process!(request, attributes)
@@ -153,14 +157,14 @@ module Utopia
153
157
 
154
158
  while components.any?
155
159
  tag_path = File.join(@root, components, name_path)
156
-
160
+
157
161
  if File.exist? tag_path
158
162
  return Node.new(self, Path[components] + name, parent_path + name, tag_path)
159
163
  end
160
-
164
+
161
165
  if String === name_path
162
166
  tag_path = File.join(@root, components, '_' + name_path)
163
-
167
+
164
168
  if File.exist? tag_path
165
169
  return Node.new(self, Path[components] + name, parent_path + name, tag_path)
166
170
  end
@@ -30,60 +30,55 @@ require_relative '../locale'
30
30
 
31
31
  module Utopia
32
32
  class Content
33
- INDEX = 'index'.freeze
34
-
35
33
  # Represents a link to some content with associated metadata.
36
34
  class Link
37
- def initialize(kind, path, info = nil)
38
- path = Path.create(path)
39
-
40
- @info = info || {}
35
+ # @param kind [Symbol] the kind of link.
36
+ def initialize(kind, name, locale, path, info, title = nil)
41
37
  @kind = kind
42
-
43
- case @kind
44
- when :file
45
- @name, @locale = path.last.split('.', 2)
46
- @path = path
47
- when :directory
48
- @name = path.basename
49
-
50
- if @name == INDEX
51
- @name = path.dirname.basename
52
- end
53
-
54
- @locale = path.extension
55
- @path = path
56
- when :virtual
57
- @name, @locale = path.to_s.split('.', 2)
58
- @path = @info[:path] ? Path.create(@info[:path]) : nil
38
+ @name = name
39
+ @locale = locale
40
+ @path = Path.create(path)
41
+ @info = info || {}
42
+ @title = Trenni::Strings.to_title(title || name)
43
+ end
44
+
45
+ def key
46
+ if locale
47
+ "#{@path.last}.#{@locale}"
59
48
  else
60
- raise ArgumentError.new("Unknown link kind #{@kind} with path #{path}")
49
+ @path.last
61
50
  end
62
-
63
- @title = Trenni::Strings.to_title(@name)
64
51
  end
65
-
52
+
66
53
  def href
67
54
  @href ||= @info.fetch(:uri) do
68
55
  (@path.dirname + @path.basename).to_s if @path
69
56
  end
70
57
  end
71
-
58
+
72
59
  # Look up from the `links.yaml` metadata with a given symbolic key.
73
60
  def [] key
74
61
  @info[key]
75
62
  end
76
-
63
+
77
64
  attr :kind
78
65
  attr :name
79
66
  attr :path
80
67
  attr :info
81
68
  attr :locale
82
-
69
+
83
70
  def href?
84
71
  !!href
85
72
  end
86
-
73
+
74
+ def index?
75
+ @kind == :index
76
+ end
77
+
78
+ def virtual?
79
+ @kind == :virtual
80
+ end
81
+
87
82
  def relative_href(base = nil)
88
83
  if base and href.start_with? '/'
89
84
  Path.shortest_path(href, base)
@@ -91,11 +86,11 @@ module Utopia
91
86
  href
92
87
  end
93
88
  end
94
-
89
+
95
90
  def title
96
91
  @info.fetch(:title, @title)
97
92
  end
98
-
93
+
99
94
  def to_anchor(base: nil, content: self.title, builder: nil, **attributes)
100
95
  attributes[:class] ||= 'link'
101
96
 
@@ -124,7 +119,7 @@ module Utopia
124
119
  def eql? other
125
120
  self.class.eql?(other.class) and kind.eql?(other.kind) and name.eql?(other.name) and path.eql?(other.path) and info.eql?(other.info)
126
121
  end
127
-
122
+
128
123
  def == other
129
124
  other and kind == other.kind and name == other.name and path == other.path
130
125
  end