utopia 2.2.0 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (290) hide show
  1. checksums.yaml +5 -5
  2. data/.codeclimate.yml +1 -0
  3. data/.travis.yml +3 -1
  4. data/Gemfile +2 -0
  5. data/README.md +2 -2
  6. data/Rakefile +19 -7
  7. data/docs/.nojekyll +0 -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.applescript.css +5 -0
  10. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.assembly.css +8 -0
  11. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.bash-script.css +6 -0
  12. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.bash.css +10 -0
  13. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.clang.css +3 -0
  14. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.css.css +14 -0
  15. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.diff.css +16 -0
  16. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.html.css +5 -0
  17. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.ocaml.css +3 -0
  18. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.protobuf.css +2 -0
  19. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.python.css +6 -0
  20. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.ruby.css +2 -0
  21. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.xml.css +18 -0
  22. data/docs/_components/jquery-syntax/base/jquery.syntax.core.css +62 -0
  23. data/docs/_components/jquery-syntax/base/jquery.syntax.editor.css +6 -0
  24. data/docs/_components/jquery-syntax/base/theme.js +1 -0
  25. data/docs/_components/jquery-syntax/bright/jquery.syntax.core.css +27 -0
  26. data/docs/_components/jquery-syntax/bright/theme.js +1 -0
  27. data/docs/_components/jquery-syntax/jquery.syntax.brush.apache.js +41 -0
  28. data/docs/_components/jquery-syntax/jquery.syntax.brush.applescript.js +57 -0
  29. data/docs/_components/jquery-syntax/jquery.syntax.brush.assembly.js +37 -0
  30. data/docs/_components/jquery-syntax/jquery.syntax.brush.bash-script.js +67 -0
  31. data/docs/_components/jquery-syntax/jquery.syntax.brush.bash.js +33 -0
  32. data/docs/_components/jquery-syntax/jquery.syntax.brush.basic.js +51 -0
  33. data/docs/_components/jquery-syntax/jquery.syntax.brush.clang.js +89 -0
  34. data/docs/_components/jquery-syntax/jquery.syntax.brush.csharp.js +47 -0
  35. data/docs/_components/jquery-syntax/jquery.syntax.brush.css.js +80 -0
  36. data/docs/_components/jquery-syntax/jquery.syntax.brush.diff.js +24 -0
  37. data/docs/_components/jquery-syntax/jquery.syntax.brush.go.js +47 -0
  38. data/docs/_components/jquery-syntax/jquery.syntax.brush.haskell.js +45 -0
  39. data/docs/_components/jquery-syntax/jquery.syntax.brush.html.js +66 -0
  40. data/docs/_components/jquery-syntax/jquery.syntax.brush.io.js +45 -0
  41. data/docs/_components/jquery-syntax/jquery.syntax.brush.java.js +45 -0
  42. data/docs/_components/jquery-syntax/jquery.syntax.brush.javascript.js +40 -0
  43. data/docs/_components/jquery-syntax/jquery.syntax.brush.kai.js +29 -0
  44. data/docs/_components/jquery-syntax/jquery.syntax.brush.lisp.js +34 -0
  45. data/docs/_components/jquery-syntax/jquery.syntax.brush.lua.js +44 -0
  46. data/docs/_components/jquery-syntax/jquery.syntax.brush.nginx.js +31 -0
  47. data/docs/_components/jquery-syntax/jquery.syntax.brush.ocaml.js +73 -0
  48. data/docs/_components/jquery-syntax/jquery.syntax.brush.ooc.js +46 -0
  49. data/docs/_components/jquery-syntax/jquery.syntax.brush.pascal.js +51 -0
  50. data/docs/_components/jquery-syntax/jquery.syntax.brush.perl5.js +52 -0
  51. data/docs/_components/jquery-syntax/jquery.syntax.brush.php-script.js +48 -0
  52. data/docs/_components/jquery-syntax/jquery.syntax.brush.php.js +15 -0
  53. data/docs/_components/jquery-syntax/jquery.syntax.brush.plain.js +10 -0
  54. data/docs/_components/jquery-syntax/jquery.syntax.brush.protobuf.js +43 -0
  55. data/docs/_components/jquery-syntax/jquery.syntax.brush.python.js +44 -0
  56. data/docs/_components/jquery-syntax/jquery.syntax.brush.ruby.js +77 -0
  57. data/docs/_components/jquery-syntax/jquery.syntax.brush.scala.js +44 -0
  58. data/docs/_components/jquery-syntax/jquery.syntax.brush.smalltalk.js +29 -0
  59. data/docs/_components/jquery-syntax/jquery.syntax.brush.sql.js +31 -0
  60. data/docs/_components/jquery-syntax/jquery.syntax.brush.super-collider.js +57 -0
  61. data/docs/_components/jquery-syntax/jquery.syntax.brush.swift.js +55 -0
  62. data/docs/_components/jquery-syntax/jquery.syntax.brush.trenni.js +35 -0
  63. data/docs/_components/jquery-syntax/jquery.syntax.brush.xml.js +50 -0
  64. data/docs/_components/jquery-syntax/jquery.syntax.brush.yaml.js +29 -0
  65. data/docs/_components/jquery-syntax/jquery.syntax.cache.js +65 -0
  66. data/docs/_components/jquery-syntax/jquery.syntax.core.js +1098 -0
  67. data/docs/_components/jquery-syntax/jquery.syntax.editor.js +291 -0
  68. data/docs/_components/jquery-syntax/jquery.syntax.js +258 -0
  69. data/docs/_components/jquery-syntax/jquery.syntax.min.js +13 -0
  70. data/docs/_components/jquery-syntax/paper/jquery.syntax.core.css +31 -0
  71. data/docs/_components/jquery-syntax/paper/theme.js +1 -0
  72. data/docs/_components/jquery/core.js +482 -0
  73. data/docs/_components/jquery/jquery.js +10220 -0
  74. data/docs/_components/jquery/jquery.min.js +4 -0
  75. data/docs/_components/jquery/jquery.min.map +1 -0
  76. data/docs/_components/jquery/jquery.slim.js +8107 -0
  77. data/docs/_components/jquery/jquery.slim.min.js +4 -0
  78. data/docs/_components/jquery/jquery.slim.min.map +1 -0
  79. data/docs/_static/icon.png +0 -0
  80. data/docs/_static/site.css +205 -0
  81. data/docs/_static/utopia-background.svg +1 -0
  82. data/docs/_static/utopia.svg +1 -0
  83. data/docs/code/Utopia.html +511 -0
  84. data/docs/code/Utopia/Basename.html +654 -0
  85. data/docs/code/Utopia/Bootstrap.html +538 -0
  86. data/docs/code/Utopia/Command.html +207 -0
  87. data/docs/code/Utopia/Command/Environment.html +321 -0
  88. data/docs/code/Utopia/Command/Server.html +214 -0
  89. data/docs/code/Utopia/Command/Server/Create.html +222 -0
  90. data/docs/code/Utopia/Command/Server/Environment.html +236 -0
  91. data/docs/code/Utopia/Command/Server/Update.html +317 -0
  92. data/docs/code/Utopia/Command/Setup.html +145 -0
  93. data/docs/code/Utopia/Command/Setup/Server.html +298 -0
  94. data/docs/code/Utopia/Command/Setup/Site.html +180 -0
  95. data/docs/code/Utopia/Command/Site.html +279 -0
  96. data/docs/code/Utopia/Command/Site/Create.html +324 -0
  97. data/docs/code/Utopia/Command/Site/Update.html +407 -0
  98. data/docs/code/Utopia/Command/Top.html +279 -0
  99. data/docs/code/Utopia/Content.html +826 -0
  100. data/docs/code/Utopia/Content/Document.html +1818 -0
  101. data/docs/code/Utopia/Content/Document/State.html +1220 -0
  102. data/docs/code/Utopia/Content/Link.html +1286 -0
  103. data/docs/code/Utopia/Content/Links.html +841 -0
  104. data/docs/code/Utopia/Content/MarkupParser.html +881 -0
  105. data/docs/code/Utopia/Content/MarkupParser/ParsedTag.html +422 -0
  106. data/docs/code/Utopia/Content/MarkupParser/UnbalancedTagError.html +615 -0
  107. data/docs/code/Utopia/Content/Namespace.html +485 -0
  108. data/docs/code/Utopia/Content/Node.html +1188 -0
  109. data/docs/code/Utopia/Content/Node/Context.html +938 -0
  110. data/docs/code/Utopia/Content/Response.html +813 -0
  111. data/docs/code/Utopia/Content/SymbolicHash.html +419 -0
  112. data/docs/code/Utopia/Content/Tag.html +399 -0
  113. data/docs/code/Utopia/Content/Tags.html +136 -0
  114. data/docs/code/Utopia/Content/Tags/ContentTag.html +187 -0
  115. data/docs/code/Utopia/Content/Tags/DeferredTag.html +193 -0
  116. data/docs/code/Utopia/Content/Tags/Library.html +333 -0
  117. data/docs/code/Utopia/Content/Tags/NodeTag.html +193 -0
  118. data/docs/code/Utopia/Content/UnbalancedTagError.html +298 -0
  119. data/docs/code/Utopia/ContentLength.html +339 -0
  120. data/docs/code/Utopia/Controller.html +901 -0
  121. data/docs/code/Utopia/Controller/Actions.html +289 -0
  122. data/docs/code/Utopia/Controller/Actions/Action.html +978 -0
  123. data/docs/code/Utopia/Controller/Actions/ClassMethods.html +442 -0
  124. data/docs/code/Utopia/Controller/Base.html +1216 -0
  125. data/docs/code/Utopia/Controller/Respond.html +283 -0
  126. data/docs/code/Utopia/Controller/Respond/ClassMethods.html +236 -0
  127. data/docs/code/Utopia/Controller/Respond/Converter.html +256 -0
  128. data/docs/code/Utopia/Controller/Respond/Converter/Callback.html +484 -0
  129. data/docs/code/Utopia/Controller/Respond/Converter/ToJSON.html +375 -0
  130. data/docs/code/Utopia/Controller/Respond/Passthrough.html +291 -0
  131. data/docs/code/Utopia/Controller/Respond/Responder.html +529 -0
  132. data/docs/code/Utopia/Controller/Rewrite.html +290 -0
  133. data/docs/code/Utopia/Controller/Rewrite/ClassMethods.html +242 -0
  134. data/docs/code/Utopia/Controller/Rewrite/ExtractPrefixRule.html +364 -0
  135. data/docs/code/Utopia/Controller/Rewrite/Rewriter.html +464 -0
  136. data/docs/code/Utopia/Controller/Rewrite/Rule.html +209 -0
  137. data/docs/code/Utopia/Controller/Variables.html +550 -0
  138. data/docs/code/Utopia/Controllers.html +244 -0
  139. data/docs/code/Utopia/Exceptions.html +127 -0
  140. data/docs/code/Utopia/Exceptions/Handler.html +526 -0
  141. data/docs/code/Utopia/Exceptions/Mailer.html +476 -0
  142. data/docs/code/Utopia/Extensions.html +117 -0
  143. data/docs/code/Utopia/Extensions/ArraySplit.html +183 -0
  144. data/docs/code/Utopia/Extensions/DateTimeComparison.html +193 -0
  145. data/docs/code/Utopia/Extensions/TimeDateComparison.html +193 -0
  146. data/docs/code/Utopia/HTTP.html +244 -0
  147. data/docs/code/Utopia/HTTP/Status.html +415 -0
  148. data/docs/code/Utopia/Locale.html +606 -0
  149. data/docs/code/Utopia/Localization.html +1235 -0
  150. data/docs/code/Utopia/Localization/Wrapper.html +459 -0
  151. data/docs/code/Utopia/Logger.html +205 -0
  152. data/docs/code/Utopia/Logger/CompactFormatter.html +335 -0
  153. data/docs/code/Utopia/Path.html +3304 -0
  154. data/docs/code/Utopia/Path/Matcher.html +518 -0
  155. data/docs/code/Utopia/Path/Matcher/MatchData.html +475 -0
  156. data/docs/code/Utopia/Redirection.html +145 -0
  157. data/docs/code/Utopia/Redirection/ClientRedirect.html +717 -0
  158. data/docs/code/Utopia/Redirection/DirectoryIndex.html +298 -0
  159. data/docs/code/Utopia/Redirection/Errors.html +470 -0
  160. data/docs/code/Utopia/Redirection/Moved.html +312 -0
  161. data/docs/code/Utopia/Redirection/RequestFailure.html +226 -0
  162. data/docs/code/Utopia/Redirection/Rewrite.html +296 -0
  163. data/docs/code/Utopia/Session.html +883 -0
  164. data/docs/code/Utopia/Session/LazyHash.html +859 -0
  165. data/docs/code/Utopia/Setup.html +964 -0
  166. data/docs/code/Utopia/Static.html +690 -0
  167. data/docs/code/Utopia/Static/LocalFile.html +1098 -0
  168. data/docs/code/Utopia/Static/MimeTypeLoader.html +541 -0
  169. data/docs/code/Utopia/Static/MimeTypeLoader/ExpansionError.html +124 -0
  170. data/docs/code/Utopia/Tags.html +115 -0
  171. data/docs/code/Utopia/Tags/Environment.html +314 -0
  172. data/docs/code/Utopia/Tags/EnvironmentTag.html +314 -0
  173. data/docs/code/Utopia/Tags/Library.html +340 -0
  174. data/docs/code/_index.html +758 -0
  175. data/docs/code/class_list.html +51 -0
  176. data/docs/code/css/common.css +1 -0
  177. data/docs/code/css/full_list.css +58 -0
  178. data/docs/code/css/style.css +499 -0
  179. data/docs/code/file.README.html +169 -0
  180. data/docs/code/file_list.html +56 -0
  181. data/docs/code/frames.html +17 -0
  182. data/docs/code/index.html +169 -0
  183. data/docs/code/js/app.js +248 -0
  184. data/docs/code/js/full_list.js +216 -0
  185. data/docs/code/js/jquery.js +4 -0
  186. data/docs/code/materials/utopia.png +0 -0
  187. data/docs/code/materials/utopia.svg +1 -0
  188. data/docs/code/method_list.html +3443 -0
  189. data/docs/code/top-level-namespace.html +110 -0
  190. data/docs/index.html +92 -0
  191. data/docs/wiki.html +92 -0
  192. data/docs/wiki/bower-integration.html +74 -0
  193. data/docs/wiki/bower-integration/index.html +74 -0
  194. data/docs/wiki/development-environment-setup.html +60 -0
  195. data/docs/wiki/development-environment-setup/index.html +60 -0
  196. data/docs/wiki/edit.html +103 -0
  197. data/docs/wiki/faq/what-is-xnode.html +79 -0
  198. data/docs/wiki/faq/what-is-xnode/index.html +79 -0
  199. data/docs/wiki/middleware/content.html +64 -0
  200. data/docs/wiki/middleware/content/index.html +64 -0
  201. data/docs/wiki/middleware/controller.html +104 -0
  202. data/docs/wiki/middleware/controller/actions.html +117 -0
  203. data/docs/wiki/middleware/controller/actions/index.html +117 -0
  204. data/docs/wiki/middleware/controller/actions/rewrite/index.html +48 -0
  205. data/docs/wiki/middleware/controller/index.html +104 -0
  206. data/docs/wiki/middleware/controller/rewrite.html +111 -0
  207. data/docs/wiki/middleware/controller/rewrite/index.html +111 -0
  208. data/docs/wiki/middleware/localization.html +59 -0
  209. data/docs/wiki/middleware/localization/index.html +59 -0
  210. data/docs/wiki/middleware/redirection.html +61 -0
  211. data/docs/wiki/middleware/redirection/index.html +61 -0
  212. data/docs/wiki/middleware/session.html +71 -0
  213. data/docs/wiki/middleware/session/index.html +71 -0
  214. data/docs/wiki/middleware/static.html +57 -0
  215. data/docs/wiki/middleware/static/index.html +57 -0
  216. data/docs/wiki/server-setup.html +118 -0
  217. data/docs/wiki/server-setup/index.html +118 -0
  218. data/docs/wiki/testing.html +59 -0
  219. data/docs/wiki/testing/index.html +59 -0
  220. data/docs/wiki/updating-utopia.html +108 -0
  221. data/docs/wiki/updating-utopia/index.html +108 -0
  222. data/docs/wiki/your-first-page.html +80 -0
  223. data/docs/wiki/your-first-page/index.html +80 -0
  224. data/documentation/Guardfile +0 -12
  225. data/documentation/Rakefile +3 -0
  226. data/documentation/pages/_page.xnode +2 -0
  227. data/documentation/pages/wiki/content.md +1 -0
  228. data/documentation/pages/wiki/faq/what-is-xnode/content.md +37 -0
  229. data/documentation/pages/wiki/links.yaml +3 -1
  230. data/documentation/pages/wiki/server-setup/content.md +1 -1
  231. data/documentation/pages/wiki/show.xnode +2 -0
  232. data/documentation/pages/wiki/your-first-page/content.md +1 -1
  233. data/lib/utopia/command.rb +4 -4
  234. data/lib/utopia/command/environment.rb +73 -0
  235. data/lib/utopia/command/server.rb +19 -32
  236. data/lib/utopia/command/site.rb +26 -9
  237. data/lib/utopia/content/markup.rb +1 -1
  238. data/lib/utopia/setup.rb +49 -20
  239. data/lib/utopia/version.rb +1 -1
  240. data/setup/site/README.md +6 -7
  241. data/setup/site/Rakefile +3 -0
  242. data/setup/site/pages/_page.xnode +1 -1
  243. data/setup/site/public/_static/site.css +1 -1
  244. data/setup/site/tasks/bower.rake +3 -6
  245. data/setup/site/tasks/deploy.rake +1 -1
  246. data/setup/site/tasks/development.rake +1 -1
  247. data/setup/site/tasks/environment.rake +2 -2
  248. data/setup/site/tasks/static.rake +43 -0
  249. data/spec/utopia/command_spec.rb +170 -0
  250. data/spec/utopia/setup_spec.rb +20 -142
  251. metadata +225 -42
  252. data/documentation/public/_components/jquery-syntax/.sass-cache/040afc1428b286fb3c50151378b349a6149698d3/jquery.syntax.core.sassc +0 -0
  253. data/documentation/public/_components/jquery-syntax/.sass-cache/098642d80a1682613dca2bba6fd0a3bc9fd2bf04/jquery.syntax.layout.editor.sassc +0 -0
  254. data/documentation/public/_components/jquery-syntax/.sass-cache/098642d80a1682613dca2bba6fd0a3bc9fd2bf04/jquery.syntax.layout.fixed.sassc +0 -0
  255. data/documentation/public/_components/jquery-syntax/.sass-cache/098642d80a1682613dca2bba6fd0a3bc9fd2bf04/jquery.syntax.layout.inline.sassc +0 -0
  256. data/documentation/public/_components/jquery-syntax/.sass-cache/098642d80a1682613dca2bba6fd0a3bc9fd2bf04/jquery.syntax.layout.list.sassc +0 -0
  257. data/documentation/public/_components/jquery-syntax/.sass-cache/098642d80a1682613dca2bba6fd0a3bc9fd2bf04/jquery.syntax.layout.plain.sassc +0 -0
  258. data/documentation/public/_components/jquery-syntax/.sass-cache/098642d80a1682613dca2bba6fd0a3bc9fd2bf04/jquery.syntax.layout.table.sassc +0 -0
  259. data/documentation/public/_components/jquery-syntax/.sass-cache/10c58b30c53bf84f8360af8a864797092be26882/jquery.syntax.core.sassc +0 -0
  260. data/documentation/public/_components/jquery-syntax/.sass-cache/10c58b30c53bf84f8360af8a864797092be26882/jquery.syntax.layout.fixed.sassc +0 -0
  261. data/documentation/public/_components/jquery-syntax/.sass-cache/10c58b30c53bf84f8360af8a864797092be26882/jquery.syntax.layout.inline.sassc +0 -0
  262. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/_layout.scssc +0 -0
  263. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.brush.apache.sassc +0 -0
  264. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.brush.applescript.sassc +0 -0
  265. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.brush.assembly.sassc +0 -0
  266. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.brush.bash-script.sassc +0 -0
  267. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.brush.bash.sassc +0 -0
  268. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.brush.clang.sassc +0 -0
  269. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.brush.css.sassc +0 -0
  270. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.brush.diff.sassc +0 -0
  271. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.brush.html.sassc +0 -0
  272. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.brush.ocaml.sassc +0 -0
  273. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.brush.protobuf.sassc +0 -0
  274. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.brush.python.sassc +0 -0
  275. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.brush.ruby.sassc +0 -0
  276. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.brush.xml.sassc +0 -0
  277. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.core.sassc +0 -0
  278. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.editor.sassc +0 -0
  279. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.layout.editor.sassc +0 -0
  280. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.layout.fixed.sassc +0 -0
  281. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.layout.list.sassc +0 -0
  282. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.layout.plain.sassc +0 -0
  283. data/documentation/public/_components/jquery-syntax/.sass-cache/3c69ad94149e2a6d9f4ffda01814fee3947b1389/jquery.syntax.layout.table.sassc +0 -0
  284. data/documentation/public/_components/jquery-syntax/.sass-cache/8638ad407c5ea29f6547cf8ac6983da587354889/master.sassc +0 -0
  285. data/documentation/public/_components/jquery-syntax/.sass-cache/b7ab87e6269b4fe89f9475b7a260077391d3567b/jquery.syntax.layout.editor.sassc +0 -0
  286. data/documentation/public/_components/jquery-syntax/.sass-cache/b7ab87e6269b4fe89f9475b7a260077391d3567b/jquery.syntax.layout.fixed.sassc +0 -0
  287. data/documentation/public/_components/jquery-syntax/.sass-cache/b7ab87e6269b4fe89f9475b7a260077391d3567b/jquery.syntax.layout.inline.sassc +0 -0
  288. data/documentation/public/_components/jquery-syntax/.sass-cache/b7ab87e6269b4fe89f9475b7a260077391d3567b/jquery.syntax.layout.plain.sassc +0 -0
  289. data/documentation/public/_components/jquery-syntax/.sass-cache/e82f8cf4c8436da086a4506e01ef78755ebab1ce/master.scssc +0 -0
  290. data/lib/utopia/command/setup.rb +0 -78
@@ -0,0 +1,3304 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Class: Utopia::Path
8
+
9
+ &mdash; Documentation by YARD 0.9.12
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ pathId = "Utopia::Path";
19
+ relpath = '../';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="../class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="../_index.html">Index (P)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../Utopia.html" title="Utopia (module)">Utopia</a></span></span>
41
+ &raquo;
42
+ <span class="title">Path</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="../class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <div id="content"><h1>Class: Utopia::Path
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+ <dl>
70
+ <dt>Inherits:</dt>
71
+ <dd>
72
+ <span class="inheritName">Object</span>
73
+
74
+ <ul class="fullTree">
75
+ <li>Object</li>
76
+
77
+ <li class="next">Utopia::Path</li>
78
+
79
+ </ul>
80
+ <a href="#" class="inheritanceTree">show all</a>
81
+
82
+ </dd>
83
+ </dl>
84
+
85
+
86
+
87
+
88
+
89
+
90
+ <dl>
91
+ <dt>Includes:</dt>
92
+ <dd>Comparable</dd>
93
+ </dl>
94
+
95
+
96
+
97
+
98
+
99
+
100
+ <dl>
101
+ <dt>Defined in:</dt>
102
+ <dd>lib/utopia/path.rb<span class="defines">,<br />
103
+ lib/utopia/path/matcher.rb</span>
104
+ </dd>
105
+ </dl>
106
+
107
+ </div>
108
+
109
+ <h2>Overview</h2><div class="docstring">
110
+ <div class="discussion">
111
+ <p>Represents a path as an array of path components. Useful for efficient URL manipulation.</p>
112
+
113
+
114
+ </div>
115
+ </div>
116
+ <div class="tags">
117
+
118
+
119
+ </div><h2>Defined Under Namespace</h2>
120
+ <p class="children">
121
+
122
+
123
+
124
+
125
+ <strong class="classes">Classes:</strong> <span class='object_link'><a href="Path/Matcher.html" title="Utopia::Path::Matcher (class)">Matcher</a></span>
126
+
127
+
128
+ </p>
129
+
130
+ <h2>Constant Summary</h2>
131
+ <dl class="constants">
132
+
133
+ <dt id="SEPARATOR-constant" class="">SEPARATOR =
134
+
135
+ </dt>
136
+ <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>/</span><span class='tstring_end'>&#39;</span></span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span></pre></dd>
137
+
138
+ </dl>
139
+
140
+
141
+
142
+
143
+ <h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
144
+ <ul class="summary">
145
+
146
+ <li class="public ">
147
+ <span class="summary_signature">
148
+
149
+ <a href="#components-instance_method" title="#components (instance method)">#<strong>components</strong> &#x21d2; Object </a>
150
+
151
+
152
+
153
+ </span>
154
+
155
+
156
+
157
+
158
+
159
+
160
+
161
+
162
+
163
+
164
+
165
+
166
+ <span class="summary_desc"><div class='inline'><p>Returns the value of attribute components.</p>
167
+ </div></span>
168
+
169
+ </li>
170
+
171
+
172
+ </ul>
173
+
174
+
175
+
176
+
177
+
178
+ <h2>
179
+ Class Method Summary
180
+ <small><a href="#" class="summary_toggle">collapse</a></small>
181
+ </h2>
182
+
183
+ <ul class="summary">
184
+
185
+ <li class="public ">
186
+ <span class="summary_signature">
187
+
188
+ <a href="#[]-class_method" title="[] (class method)">.<strong>[]</strong>(path) &#x21d2; Object </a>
189
+
190
+
191
+
192
+ </span>
193
+
194
+
195
+
196
+
197
+
198
+
199
+
200
+
201
+
202
+ <span class="summary_desc"><div class='inline'>
203
+ </div></span>
204
+
205
+ </li>
206
+
207
+
208
+ <li class="public ">
209
+ <span class="summary_signature">
210
+
211
+ <a href="#create-class_method" title="create (class method)">.<strong>create</strong>(path) &#x21d2; Object </a>
212
+
213
+
214
+
215
+ </span>
216
+
217
+
218
+
219
+
220
+
221
+
222
+
223
+
224
+
225
+ <span class="summary_desc"><div class='inline'>
226
+ </div></span>
227
+
228
+ </li>
229
+
230
+
231
+ <li class="public ">
232
+ <span class="summary_signature">
233
+
234
+ <a href="#dump-class_method" title="dump (class method)">.<strong>dump</strong>(instance) &#x21d2; Object </a>
235
+
236
+
237
+
238
+ </span>
239
+
240
+
241
+
242
+
243
+
244
+
245
+
246
+
247
+
248
+ <span class="summary_desc"><div class='inline'>
249
+ </div></span>
250
+
251
+ </li>
252
+
253
+
254
+ <li class="public ">
255
+ <span class="summary_signature">
256
+
257
+ <a href="#from_string-class_method" title="from_string (class method)">.<strong>from_string</strong>(string) &#x21d2; Object </a>
258
+
259
+
260
+
261
+ </span>
262
+
263
+
264
+
265
+
266
+
267
+
268
+
269
+
270
+
271
+ <span class="summary_desc"><div class='inline'><p>This constructor takes a string and generates a relative path as efficiently as possible.</p>
272
+ </div></span>
273
+
274
+ </li>
275
+
276
+
277
+ <li class="public ">
278
+ <span class="summary_signature">
279
+
280
+ <a href="#load-class_method" title="load (class method)">.<strong>load</strong>(value) &#x21d2; Object </a>
281
+
282
+
283
+
284
+ </span>
285
+
286
+
287
+
288
+
289
+
290
+
291
+
292
+
293
+
294
+ <span class="summary_desc"><div class='inline'>
295
+ </div></span>
296
+
297
+ </li>
298
+
299
+
300
+ <li class="public ">
301
+ <span class="summary_signature">
302
+
303
+ <a href="#prefix_length-class_method" title="prefix_length (class method)">.<strong>prefix_length</strong>(a, b) &#x21d2; Object </a>
304
+
305
+
306
+
307
+ </span>
308
+
309
+
310
+
311
+
312
+
313
+
314
+
315
+
316
+
317
+ <span class="summary_desc"><div class='inline'><p>Returns the length of the prefix which is shared by two strings.</p>
318
+ </div></span>
319
+
320
+ </li>
321
+
322
+
323
+ <li class="public ">
324
+ <span class="summary_signature">
325
+
326
+ <a href="#root-class_method" title="root (class method)">.<strong>root</strong> &#x21d2; Object </a>
327
+
328
+
329
+
330
+ </span>
331
+
332
+
333
+
334
+
335
+
336
+
337
+
338
+
339
+
340
+ <span class="summary_desc"><div class='inline'>
341
+ </div></span>
342
+
343
+ </li>
344
+
345
+
346
+ <li class="public ">
347
+ <span class="summary_signature">
348
+
349
+ <a href="#shortest_path-class_method" title="shortest_path (class method)">.<strong>shortest_path</strong>(path, root) &#x21d2; Object </a>
350
+
351
+
352
+
353
+ </span>
354
+
355
+
356
+
357
+
358
+
359
+
360
+
361
+
362
+
363
+ <span class="summary_desc"><div class='inline'><p>Return the shortest relative path to get to path from root:.</p>
364
+ </div></span>
365
+
366
+ </li>
367
+
368
+
369
+ <li class="public ">
370
+ <span class="summary_signature">
371
+
372
+ <a href="#split-class_method" title="split (class method)">.<strong>split</strong>(path) &#x21d2; Object </a>
373
+
374
+
375
+
376
+ </span>
377
+
378
+
379
+
380
+
381
+
382
+
383
+
384
+
385
+
386
+ <span class="summary_desc"><div class='inline'>
387
+ </div></span>
388
+
389
+ </li>
390
+
391
+
392
+ <li class="public ">
393
+ <span class="summary_signature">
394
+
395
+ <a href="#unescape-class_method" title="unescape (class method)">.<strong>unescape</strong>(string) &#x21d2; Object </a>
396
+
397
+
398
+
399
+ </span>
400
+
401
+
402
+
403
+
404
+
405
+
406
+
407
+
408
+
409
+ <span class="summary_desc"><div class='inline'><p>Converts ‘+’ into whitespace and hex encoded characters into their equivalent characters.</p>
410
+ </div></span>
411
+
412
+ </li>
413
+
414
+
415
+ </ul>
416
+
417
+ <h2>
418
+ Instance Method Summary
419
+ <small><a href="#" class="summary_toggle">collapse</a></small>
420
+ </h2>
421
+
422
+ <ul class="summary">
423
+
424
+ <li class="public ">
425
+ <span class="summary_signature">
426
+
427
+ <a href="#%2B-instance_method" title="#+ (instance method)">#<strong>+</strong>(other) &#x21d2; Object </a>
428
+
429
+
430
+
431
+ </span>
432
+
433
+
434
+
435
+
436
+
437
+
438
+
439
+
440
+
441
+ <span class="summary_desc"><div class='inline'>
442
+ </div></span>
443
+
444
+ </li>
445
+
446
+
447
+ <li class="public ">
448
+ <span class="summary_signature">
449
+
450
+ <a href="#--instance_method" title="#- (instance method)">#<strong>-</strong>(other) &#x21d2; Object </a>
451
+
452
+
453
+
454
+ </span>
455
+
456
+
457
+
458
+
459
+
460
+
461
+
462
+
463
+
464
+ <span class="summary_desc"><div class='inline'><p>Computes the difference of the path.</p>
465
+ </div></span>
466
+
467
+ </li>
468
+
469
+
470
+ <li class="public ">
471
+ <span class="summary_signature">
472
+
473
+ <a href="#<=>-instance_method" title="#&lt;=&gt; (instance method)">#<strong>&lt;=&gt;</strong>(other) &#x21d2; Object </a>
474
+
475
+
476
+
477
+ </span>
478
+
479
+
480
+
481
+
482
+
483
+
484
+
485
+
486
+
487
+ <span class="summary_desc"><div class='inline'>
488
+ </div></span>
489
+
490
+ </li>
491
+
492
+
493
+ <li class="public ">
494
+ <span class="summary_signature">
495
+
496
+ <a href="#==-instance_method" title="#== (instance method)">#<strong>==</strong>(other) &#x21d2; Object </a>
497
+
498
+
499
+
500
+ </span>
501
+
502
+
503
+
504
+
505
+
506
+
507
+
508
+
509
+
510
+ <span class="summary_desc"><div class='inline'>
511
+ </div></span>
512
+
513
+ </li>
514
+
515
+
516
+ <li class="public ">
517
+ <span class="summary_signature">
518
+
519
+ <a href="#[]-instance_method" title="#[] (instance method)">#<strong>[]</strong>(index) &#x21d2; Object </a>
520
+
521
+
522
+
523
+ </span>
524
+
525
+
526
+
527
+
528
+
529
+
530
+
531
+
532
+
533
+ <span class="summary_desc"><div class='inline'>
534
+ </div></span>
535
+
536
+ </li>
537
+
538
+
539
+ <li class="public ">
540
+ <span class="summary_signature">
541
+
542
+ <a href="#[]=-instance_method" title="#[]= (instance method)">#<strong>[]=</strong>(index, value) &#x21d2; Object </a>
543
+
544
+
545
+
546
+ </span>
547
+
548
+
549
+
550
+
551
+
552
+
553
+
554
+
555
+
556
+ <span class="summary_desc"><div class='inline'><p>Replaces a named component, indexing as per.</p>
557
+ </div></span>
558
+
559
+ </li>
560
+
561
+
562
+ <li class="public ">
563
+ <span class="summary_signature">
564
+
565
+ <a href="#absolute%3F-instance_method" title="#absolute? (instance method)">#<strong>absolute?</strong> &#x21d2; Boolean </a>
566
+
567
+
568
+
569
+ </span>
570
+
571
+
572
+
573
+
574
+
575
+
576
+
577
+
578
+
579
+ <span class="summary_desc"><div class='inline'>
580
+ </div></span>
581
+
582
+ </li>
583
+
584
+
585
+ <li class="public ">
586
+ <span class="summary_signature">
587
+
588
+ <a href="#ascend-instance_method" title="#ascend (instance method)">#<strong>ascend</strong>(&amp;block) &#x21d2; Object </a>
589
+
590
+
591
+
592
+ </span>
593
+
594
+
595
+
596
+
597
+
598
+
599
+
600
+
601
+
602
+ <span class="summary_desc"><div class='inline'>
603
+ </div></span>
604
+
605
+ </li>
606
+
607
+
608
+ <li class="public ">
609
+ <span class="summary_signature">
610
+
611
+ <a href="#basename-instance_method" title="#basename (instance method)">#<strong>basename</strong> &#x21d2; Object </a>
612
+
613
+
614
+
615
+ </span>
616
+
617
+
618
+
619
+
620
+
621
+
622
+
623
+
624
+
625
+ <span class="summary_desc"><div class='inline'>
626
+ </div></span>
627
+
628
+ </li>
629
+
630
+
631
+ <li class="public ">
632
+ <span class="summary_signature">
633
+
634
+ <a href="#delete_at-instance_method" title="#delete_at (instance method)">#<strong>delete_at</strong>(index) &#x21d2; Object </a>
635
+
636
+
637
+
638
+ </span>
639
+
640
+
641
+
642
+
643
+
644
+
645
+
646
+
647
+
648
+ <span class="summary_desc"><div class='inline'>
649
+ </div></span>
650
+
651
+ </li>
652
+
653
+
654
+ <li class="public ">
655
+ <span class="summary_signature">
656
+
657
+ <a href="#descend-instance_method" title="#descend (instance method)">#<strong>descend</strong>(&amp;block) &#x21d2; Object </a>
658
+
659
+
660
+
661
+ </span>
662
+
663
+
664
+
665
+
666
+
667
+
668
+
669
+
670
+
671
+ <span class="summary_desc"><div class='inline'>
672
+ </div></span>
673
+
674
+ </li>
675
+
676
+
677
+ <li class="public ">
678
+ <span class="summary_signature">
679
+
680
+ <a href="#directory%3F-instance_method" title="#directory? (instance method)">#<strong>directory?</strong> &#x21d2; Boolean </a>
681
+
682
+
683
+
684
+ </span>
685
+
686
+
687
+
688
+
689
+
690
+
691
+
692
+
693
+
694
+ <span class="summary_desc"><div class='inline'>
695
+ </div></span>
696
+
697
+ </li>
698
+
699
+
700
+ <li class="public ">
701
+ <span class="summary_signature">
702
+
703
+ <a href="#dirname-instance_method" title="#dirname (instance method)">#<strong>dirname</strong>(count = 1) &#x21d2; Object </a>
704
+
705
+
706
+
707
+ </span>
708
+
709
+
710
+
711
+
712
+
713
+
714
+
715
+
716
+
717
+ <span class="summary_desc"><div class='inline'>
718
+ </div></span>
719
+
720
+ </li>
721
+
722
+
723
+ <li class="public ">
724
+ <span class="summary_signature">
725
+
726
+ <a href="#dup-instance_method" title="#dup (instance method)">#<strong>dup</strong> &#x21d2; Object </a>
727
+
728
+
729
+
730
+ </span>
731
+
732
+
733
+
734
+
735
+
736
+
737
+
738
+
739
+
740
+ <span class="summary_desc"><div class='inline'>
741
+ </div></span>
742
+
743
+ </li>
744
+
745
+
746
+ <li class="public ">
747
+ <span class="summary_signature">
748
+
749
+ <a href="#empty%3F-instance_method" title="#empty? (instance method)">#<strong>empty?</strong> &#x21d2; Boolean </a>
750
+
751
+
752
+
753
+ </span>
754
+
755
+
756
+
757
+
758
+
759
+
760
+
761
+
762
+
763
+ <span class="summary_desc"><div class='inline'>
764
+ </div></span>
765
+
766
+ </li>
767
+
768
+
769
+ <li class="public ">
770
+ <span class="summary_signature">
771
+
772
+ <a href="#eql%3F-instance_method" title="#eql? (instance method)">#<strong>eql?</strong>(other) &#x21d2; Boolean </a>
773
+
774
+
775
+
776
+ </span>
777
+
778
+
779
+
780
+
781
+
782
+
783
+
784
+
785
+
786
+ <span class="summary_desc"><div class='inline'>
787
+ </div></span>
788
+
789
+ </li>
790
+
791
+
792
+ <li class="public ">
793
+ <span class="summary_signature">
794
+
795
+ <a href="#expand-instance_method" title="#expand (instance method)">#<strong>expand</strong>(root) &#x21d2; Object </a>
796
+
797
+
798
+
799
+ </span>
800
+
801
+
802
+
803
+
804
+
805
+
806
+
807
+
808
+
809
+ <span class="summary_desc"><div class='inline'>
810
+ </div></span>
811
+
812
+ </li>
813
+
814
+
815
+ <li class="public ">
816
+ <span class="summary_signature">
817
+
818
+ <a href="#extension-instance_method" title="#extension (instance method)">#<strong>extension</strong> &#x21d2; Object </a>
819
+
820
+
821
+
822
+ </span>
823
+
824
+
825
+
826
+
827
+
828
+
829
+
830
+
831
+
832
+ <span class="summary_desc"><div class='inline'>
833
+ </div></span>
834
+
835
+ </li>
836
+
837
+
838
+ <li class="public ">
839
+ <span class="summary_signature">
840
+
841
+ <a href="#first-instance_method" title="#first (instance method)">#<strong>first</strong> &#x21d2; Object </a>
842
+
843
+
844
+
845
+ </span>
846
+
847
+
848
+
849
+
850
+
851
+
852
+
853
+
854
+
855
+ <span class="summary_desc"><div class='inline'>
856
+ </div></span>
857
+
858
+ </li>
859
+
860
+
861
+ <li class="public ">
862
+ <span class="summary_signature">
863
+
864
+ <a href="#freeze-instance_method" title="#freeze (instance method)">#<strong>freeze</strong> &#x21d2; Object </a>
865
+
866
+
867
+
868
+ </span>
869
+
870
+
871
+
872
+
873
+
874
+
875
+
876
+
877
+
878
+ <span class="summary_desc"><div class='inline'>
879
+ </div></span>
880
+
881
+ </li>
882
+
883
+
884
+ <li class="public ">
885
+ <span class="summary_signature">
886
+
887
+ <a href="#hash-instance_method" title="#hash (instance method)">#<strong>hash</strong> &#x21d2; Object </a>
888
+
889
+
890
+
891
+ </span>
892
+
893
+
894
+
895
+
896
+
897
+
898
+
899
+
900
+
901
+ <span class="summary_desc"><div class='inline'>
902
+ </div></span>
903
+
904
+ </li>
905
+
906
+
907
+ <li class="public ">
908
+ <span class="summary_signature">
909
+
910
+ <a href="#include%3F-instance_method" title="#include? (instance method)">#<strong>include?</strong>(*args) &#x21d2; Boolean </a>
911
+
912
+
913
+
914
+ </span>
915
+
916
+
917
+
918
+
919
+
920
+
921
+
922
+
923
+
924
+ <span class="summary_desc"><div class='inline'>
925
+ </div></span>
926
+
927
+ </li>
928
+
929
+
930
+ <li class="public ">
931
+ <span class="summary_signature">
932
+
933
+ <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(components = []) &#x21d2; Path </a>
934
+
935
+
936
+
937
+ </span>
938
+
939
+
940
+ <span class="note title constructor">constructor</span>
941
+
942
+
943
+
944
+
945
+
946
+
947
+
948
+
949
+ <span class="summary_desc"><div class='inline'><p>A new instance of Path.</p>
950
+ </div></span>
951
+
952
+ </li>
953
+
954
+
955
+ <li class="public ">
956
+ <span class="summary_signature">
957
+
958
+ <a href="#join-instance_method" title="#join (instance method)">#<strong>join</strong>(other) &#x21d2; Object </a>
959
+
960
+
961
+
962
+ </span>
963
+
964
+
965
+
966
+
967
+
968
+
969
+
970
+
971
+
972
+ <span class="summary_desc"><div class='inline'>
973
+ </div></span>
974
+
975
+ </li>
976
+
977
+
978
+ <li class="public ">
979
+ <span class="summary_signature">
980
+
981
+ <a href="#last-instance_method" title="#last (instance method)">#<strong>last</strong> &#x21d2; Object </a>
982
+
983
+
984
+
985
+ </span>
986
+
987
+
988
+
989
+
990
+
991
+
992
+
993
+
994
+
995
+ <span class="summary_desc"><div class='inline'>
996
+ </div></span>
997
+
998
+ </li>
999
+
1000
+
1001
+ <li class="public ">
1002
+ <span class="summary_signature">
1003
+
1004
+ <a href="#relative%3F-instance_method" title="#relative? (instance method)">#<strong>relative?</strong> &#x21d2; Boolean </a>
1005
+
1006
+
1007
+
1008
+ </span>
1009
+
1010
+
1011
+
1012
+
1013
+
1014
+
1015
+
1016
+
1017
+
1018
+ <span class="summary_desc"><div class='inline'>
1019
+ </div></span>
1020
+
1021
+ </li>
1022
+
1023
+
1024
+ <li class="public ">
1025
+ <span class="summary_signature">
1026
+
1027
+ <a href="#replace-instance_method" title="#replace (instance method)">#<strong>replace</strong>(other_path) &#x21d2; Object </a>
1028
+
1029
+
1030
+
1031
+ </span>
1032
+
1033
+
1034
+
1035
+
1036
+
1037
+
1038
+
1039
+
1040
+
1041
+ <span class="summary_desc"><div class='inline'>
1042
+ </div></span>
1043
+
1044
+ </li>
1045
+
1046
+
1047
+ <li class="public ">
1048
+ <span class="summary_signature">
1049
+
1050
+ <a href="#shortest_path-instance_method" title="#shortest_path (instance method)">#<strong>shortest_path</strong>(root) &#x21d2; Object </a>
1051
+
1052
+
1053
+
1054
+ </span>
1055
+
1056
+
1057
+
1058
+
1059
+
1060
+
1061
+
1062
+
1063
+
1064
+ <span class="summary_desc"><div class='inline'>
1065
+ </div></span>
1066
+
1067
+ </li>
1068
+
1069
+
1070
+ <li class="public ">
1071
+ <span class="summary_signature">
1072
+
1073
+ <a href="#simplify-instance_method" title="#simplify (instance method)">#<strong>simplify</strong> &#x21d2; Object </a>
1074
+
1075
+
1076
+
1077
+ </span>
1078
+
1079
+
1080
+
1081
+
1082
+
1083
+
1084
+
1085
+
1086
+
1087
+ <span class="summary_desc"><div class='inline'>
1088
+ </div></span>
1089
+
1090
+ </li>
1091
+
1092
+
1093
+ <li class="public ">
1094
+ <span class="summary_signature">
1095
+
1096
+ <a href="#split-instance_method" title="#split (instance method)">#<strong>split</strong>(at) &#x21d2; Object </a>
1097
+
1098
+
1099
+
1100
+ </span>
1101
+
1102
+
1103
+
1104
+
1105
+
1106
+
1107
+
1108
+
1109
+
1110
+ <span class="summary_desc"><div class='inline'>
1111
+ </div></span>
1112
+
1113
+ </li>
1114
+
1115
+
1116
+ <li class="public ">
1117
+ <span class="summary_signature">
1118
+
1119
+ <a href="#start_with%3F-instance_method" title="#start_with? (instance method)">#<strong>start_with?</strong>(other) &#x21d2; Boolean </a>
1120
+
1121
+
1122
+
1123
+ </span>
1124
+
1125
+
1126
+
1127
+
1128
+
1129
+
1130
+
1131
+
1132
+
1133
+ <span class="summary_desc"><div class='inline'>
1134
+ </div></span>
1135
+
1136
+ </li>
1137
+
1138
+
1139
+ <li class="public ">
1140
+ <span class="summary_signature">
1141
+
1142
+ <a href="#to_a-instance_method" title="#to_a (instance method)">#<strong>to_a</strong> &#x21d2; Object </a>
1143
+
1144
+
1145
+
1146
+ </span>
1147
+
1148
+
1149
+
1150
+
1151
+
1152
+
1153
+
1154
+
1155
+
1156
+ <span class="summary_desc"><div class='inline'>
1157
+ </div></span>
1158
+
1159
+ </li>
1160
+
1161
+
1162
+ <li class="public ">
1163
+ <span class="summary_signature">
1164
+
1165
+ <a href="#to_absolute-instance_method" title="#to_absolute (instance method)">#<strong>to_absolute</strong> &#x21d2; Object </a>
1166
+
1167
+
1168
+
1169
+ </span>
1170
+
1171
+
1172
+
1173
+
1174
+
1175
+
1176
+
1177
+
1178
+
1179
+ <span class="summary_desc"><div class='inline'>
1180
+ </div></span>
1181
+
1182
+ </li>
1183
+
1184
+
1185
+ <li class="public ">
1186
+ <span class="summary_signature">
1187
+
1188
+ <a href="#to_directory-instance_method" title="#to_directory (instance method)">#<strong>to_directory</strong> &#x21d2; Object </a>
1189
+
1190
+
1191
+
1192
+ </span>
1193
+
1194
+
1195
+
1196
+
1197
+
1198
+
1199
+
1200
+
1201
+
1202
+ <span class="summary_desc"><div class='inline'>
1203
+ </div></span>
1204
+
1205
+ </li>
1206
+
1207
+
1208
+ <li class="public ">
1209
+ <span class="summary_signature">
1210
+
1211
+ <a href="#to_local_path-instance_method" title="#to_local_path (instance method)">#<strong>to_local_path</strong>(separator = File::SEPARATOR) &#x21d2; Object </a>
1212
+
1213
+
1214
+
1215
+ </span>
1216
+
1217
+
1218
+
1219
+
1220
+
1221
+
1222
+
1223
+
1224
+
1225
+ <span class="summary_desc"><div class='inline'>
1226
+ </div></span>
1227
+
1228
+ </li>
1229
+
1230
+
1231
+ <li class="public ">
1232
+ <span class="summary_signature">
1233
+
1234
+ <a href="#to_relative!-instance_method" title="#to_relative! (instance method)">#<strong>to_relative!</strong> &#x21d2; Object </a>
1235
+
1236
+
1237
+
1238
+ </span>
1239
+
1240
+
1241
+
1242
+
1243
+
1244
+
1245
+
1246
+
1247
+
1248
+ <span class="summary_desc"><div class='inline'>
1249
+ </div></span>
1250
+
1251
+ </li>
1252
+
1253
+
1254
+ <li class="public ">
1255
+ <span class="summary_signature">
1256
+
1257
+ <a href="#to_str-instance_method" title="#to_str (instance method)">#<strong>to_str</strong> &#x21d2; Object </a>
1258
+
1259
+
1260
+
1261
+ (also: #to_s)
1262
+
1263
+ </span>
1264
+
1265
+
1266
+
1267
+
1268
+
1269
+
1270
+
1271
+
1272
+
1273
+ <span class="summary_desc"><div class='inline'>
1274
+ </div></span>
1275
+
1276
+ </li>
1277
+
1278
+
1279
+ <li class="public ">
1280
+ <span class="summary_signature">
1281
+
1282
+ <a href="#with_prefix-instance_method" title="#with_prefix (instance method)">#<strong>with_prefix</strong>(*args) &#x21d2; Object </a>
1283
+
1284
+
1285
+
1286
+ </span>
1287
+
1288
+
1289
+
1290
+
1291
+
1292
+
1293
+
1294
+
1295
+
1296
+ <span class="summary_desc"><div class='inline'>
1297
+ </div></span>
1298
+
1299
+ </li>
1300
+
1301
+
1302
+ </ul>
1303
+
1304
+
1305
+
1306
+ <div id="constructor_details" class="method_details_list">
1307
+ <h2>Constructor Details</h2>
1308
+
1309
+ <div class="method_details first">
1310
+ <h3 class="signature first" id="initialize-instance_method">
1311
+
1312
+ #<strong>initialize</strong>(components = []) &#x21d2; <tt><span class='object_link'><a href="" title="Utopia::Path (class)">Path</a></span></tt>
1313
+
1314
+
1315
+
1316
+
1317
+
1318
+ </h3><div class="docstring">
1319
+ <div class="discussion">
1320
+ <p>Returns a new instance of Path</p>
1321
+
1322
+
1323
+ </div>
1324
+ </div>
1325
+ <div class="tags">
1326
+
1327
+
1328
+ </div><table class="source_code">
1329
+ <tr>
1330
+ <td>
1331
+ <pre class="lines">
1332
+
1333
+
1334
+ 28
1335
+ 29
1336
+ 30</pre>
1337
+ </td>
1338
+ <td>
1339
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 28</span>
1340
+
1341
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_components'>components</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='rparen'>)</span>
1342
+ <span class='ivar'>@components</span> <span class='op'>=</span> <span class='id identifier rubyid_components'>components</span>
1343
+ <span class='kw'>end</span></pre>
1344
+ </td>
1345
+ </tr>
1346
+ </table>
1347
+ </div>
1348
+
1349
+ </div>
1350
+
1351
+ <div id="instance_attr_details" class="attr_details">
1352
+ <h2>Instance Attribute Details</h2>
1353
+
1354
+
1355
+ <span id="components=-instance_method"></span>
1356
+ <div class="method_details first">
1357
+ <h3 class="signature first" id="components-instance_method">
1358
+
1359
+ #<strong>components</strong> &#x21d2; <tt>Object</tt>
1360
+
1361
+
1362
+
1363
+
1364
+
1365
+ </h3><div class="docstring">
1366
+ <div class="discussion">
1367
+ <p>Returns the value of attribute components</p>
1368
+
1369
+
1370
+ </div>
1371
+ </div>
1372
+ <div class="tags">
1373
+
1374
+
1375
+ </div><table class="source_code">
1376
+ <tr>
1377
+ <td>
1378
+ <pre class="lines">
1379
+
1380
+
1381
+ 32
1382
+ 33
1383
+ 34</pre>
1384
+ </td>
1385
+ <td>
1386
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 32</span>
1387
+
1388
+ <span class='kw'>def</span> <span class='id identifier rubyid_components'>components</span>
1389
+ <span class='ivar'>@components</span>
1390
+ <span class='kw'>end</span></pre>
1391
+ </td>
1392
+ </tr>
1393
+ </table>
1394
+ </div>
1395
+
1396
+ </div>
1397
+
1398
+
1399
+ <div id="class_method_details" class="method_details_list">
1400
+ <h2>Class Method Details</h2>
1401
+
1402
+
1403
+ <div class="method_details first">
1404
+ <h3 class="signature first" id="[]-class_method">
1405
+
1406
+ .<strong>[]</strong>(path) &#x21d2; <tt>Object</tt>
1407
+
1408
+
1409
+
1410
+
1411
+
1412
+ </h3><table class="source_code">
1413
+ <tr>
1414
+ <td>
1415
+ <pre class="lines">
1416
+
1417
+
1418
+ 78
1419
+ 79
1420
+ 80</pre>
1421
+ </td>
1422
+ <td>
1423
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 78</span>
1424
+
1425
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='op'>[]</span> <span class='id identifier rubyid_path'>path</span>
1426
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
1427
+ <span class='kw'>end</span></pre>
1428
+ </td>
1429
+ </tr>
1430
+ </table>
1431
+ </div>
1432
+
1433
+ <div class="method_details ">
1434
+ <h3 class="signature " id="create-class_method">
1435
+
1436
+ .<strong>create</strong>(path) &#x21d2; <tt>Object</tt>
1437
+
1438
+
1439
+
1440
+
1441
+
1442
+ </h3><table class="source_code">
1443
+ <tr>
1444
+ <td>
1445
+ <pre class="lines">
1446
+
1447
+
1448
+ 108
1449
+ 109
1450
+ 110
1451
+ 111
1452
+ 112
1453
+ 113
1454
+ 114
1455
+ 115
1456
+ 116
1457
+ 117
1458
+ 118
1459
+ 119</pre>
1460
+ </td>
1461
+ <td>
1462
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 108</span>
1463
+
1464
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
1465
+ <span class='kw'>case</span> <span class='id identifier rubyid_path'>path</span>
1466
+ <span class='kw'>when</span> <span class='const'><span class='object_link'><a href="" title="Utopia::Path (class)">Path</a></span></span>
1467
+ <span class='kw'>return</span> <span class='id identifier rubyid_path'>path</span>
1468
+ <span class='kw'>when</span> <span class='const'>Array</span>
1469
+ <span class='kw'>return</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
1470
+ <span class='kw'>when</span> <span class='const'>String</span>
1471
+ <span class='kw'>return</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_unescape'>unescape</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#SEPARATOR-constant" title="Utopia::Path::SEPARATOR (constant)">SEPARATOR</a></span></span><span class='comma'>,</span> <span class='op'>-</span><span class='int'>1</span><span class='rparen'>)</span><span class='rparen'>)</span>
1472
+ <span class='kw'>else</span>
1473
+ <span class='kw'>return</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_path'>path</span><span class='rbracket'>]</span><span class='rparen'>)</span>
1474
+ <span class='kw'>end</span>
1475
+ <span class='kw'>end</span></pre>
1476
+ </td>
1477
+ </tr>
1478
+ </table>
1479
+ </div>
1480
+
1481
+ <div class="method_details ">
1482
+ <h3 class="signature " id="dump-class_method">
1483
+
1484
+ .<strong>dump</strong>(instance) &#x21d2; <tt>Object</tt>
1485
+
1486
+
1487
+
1488
+
1489
+
1490
+ </h3><table class="source_code">
1491
+ <tr>
1492
+ <td>
1493
+ <pre class="lines">
1494
+
1495
+
1496
+ 104
1497
+ 105
1498
+ 106</pre>
1499
+ </td>
1500
+ <td>
1501
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 104</span>
1502
+
1503
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dump'>dump</span><span class='lparen'>(</span><span class='id identifier rubyid_instance'>instance</span><span class='rparen'>)</span>
1504
+ <span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='kw'>if</span> <span class='id identifier rubyid_instance'>instance</span>
1505
+ <span class='kw'>end</span></pre>
1506
+ </td>
1507
+ </tr>
1508
+ </table>
1509
+ </div>
1510
+
1511
+ <div class="method_details ">
1512
+ <h3 class="signature " id="from_string-class_method">
1513
+
1514
+ .<strong>from_string</strong>(string) &#x21d2; <tt>Object</tt>
1515
+
1516
+
1517
+
1518
+
1519
+
1520
+ </h3><div class="docstring">
1521
+ <div class="discussion">
1522
+ <p>This constructor takes a string and generates a relative path as efficiently as possible. This is a direct entry point for all controller invocations so it’s designed to suit the requirements of that function.</p>
1523
+
1524
+
1525
+ </div>
1526
+ </div>
1527
+ <div class="tags">
1528
+
1529
+
1530
+ </div><table class="source_code">
1531
+ <tr>
1532
+ <td>
1533
+ <pre class="lines">
1534
+
1535
+
1536
+ 96
1537
+ 97
1538
+ 98</pre>
1539
+ </td>
1540
+ <td>
1541
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 96</span>
1542
+
1543
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_from_string'>from_string</span><span class='lparen'>(</span><span class='id identifier rubyid_string'>string</span><span class='rparen'>)</span>
1544
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_unescape'>unescape</span><span class='lparen'>(</span><span class='id identifier rubyid_string'>string</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#SEPARATOR-constant" title="Utopia::Path::SEPARATOR (constant)">SEPARATOR</a></span></span><span class='comma'>,</span> <span class='op'>-</span><span class='int'>1</span><span class='rparen'>)</span><span class='rparen'>)</span>
1545
+ <span class='kw'>end</span></pre>
1546
+ </td>
1547
+ </tr>
1548
+ </table>
1549
+ </div>
1550
+
1551
+ <div class="method_details ">
1552
+ <h3 class="signature " id="load-class_method">
1553
+
1554
+ .<strong>load</strong>(value) &#x21d2; <tt>Object</tt>
1555
+
1556
+
1557
+
1558
+
1559
+
1560
+ </h3><table class="source_code">
1561
+ <tr>
1562
+ <td>
1563
+ <pre class="lines">
1564
+
1565
+
1566
+ 100
1567
+ 101
1568
+ 102</pre>
1569
+ </td>
1570
+ <td>
1571
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 100</span>
1572
+
1573
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_load'>load</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
1574
+ <span class='id identifier rubyid_from_string'>from_string</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span>
1575
+ <span class='kw'>end</span></pre>
1576
+ </td>
1577
+ </tr>
1578
+ </table>
1579
+ </div>
1580
+
1581
+ <div class="method_details ">
1582
+ <h3 class="signature " id="prefix_length-class_method">
1583
+
1584
+ .<strong>prefix_length</strong>(a, b) &#x21d2; <tt>Object</tt>
1585
+
1586
+
1587
+
1588
+
1589
+
1590
+ </h3><div class="docstring">
1591
+ <div class="discussion">
1592
+ <p>Returns the length of the prefix which is shared by two strings.</p>
1593
+
1594
+
1595
+ </div>
1596
+ </div>
1597
+ <div class="tags">
1598
+
1599
+
1600
+ </div><table class="source_code">
1601
+ <tr>
1602
+ <td>
1603
+ <pre class="lines">
1604
+
1605
+
1606
+ 49
1607
+ 50
1608
+ 51</pre>
1609
+ </td>
1610
+ <td>
1611
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 49</span>
1612
+
1613
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_prefix_length'>prefix_length</span><span class='lparen'>(</span><span class='id identifier rubyid_a'>a</span><span class='comma'>,</span> <span class='id identifier rubyid_b'>b</span><span class='rparen'>)</span>
1614
+ <span class='lbracket'>[</span><span class='id identifier rubyid_a'>a</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span><span class='comma'>,</span> <span class='id identifier rubyid_b'>b</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_min'>min</span><span class='period'>.</span><span class='id identifier rubyid_times'>times</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span> <span class='kw'>return</span> <span class='id identifier rubyid_i'>i</span> <span class='kw'>if</span> <span class='id identifier rubyid_a'>a</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span> <span class='op'>!=</span> <span class='id identifier rubyid_b'>b</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span><span class='rbrace'>}</span>
1615
+ <span class='kw'>end</span></pre>
1616
+ </td>
1617
+ </tr>
1618
+ </table>
1619
+ </div>
1620
+
1621
+ <div class="method_details ">
1622
+ <h3 class="signature " id="root-class_method">
1623
+
1624
+ .<strong>root</strong> &#x21d2; <tt>Object</tt>
1625
+
1626
+
1627
+
1628
+
1629
+
1630
+ </h3><table class="source_code">
1631
+ <tr>
1632
+ <td>
1633
+ <pre class="lines">
1634
+
1635
+
1636
+ 44
1637
+ 45
1638
+ 46</pre>
1639
+ </td>
1640
+ <td>
1641
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 44</span>
1642
+
1643
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_root'><span class='object_link'><a href="../top-level-namespace.html" title="Top Level Namespace (root)">root</a></span></span>
1644
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span><span class='rparen'>)</span>
1645
+ <span class='kw'>end</span></pre>
1646
+ </td>
1647
+ </tr>
1648
+ </table>
1649
+ </div>
1650
+
1651
+ <div class="method_details ">
1652
+ <h3 class="signature " id="shortest_path-class_method">
1653
+
1654
+ .<strong>shortest_path</strong>(path, root) &#x21d2; <tt>Object</tt>
1655
+
1656
+
1657
+
1658
+
1659
+
1660
+ </h3><div class="docstring">
1661
+ <div class="discussion">
1662
+ <p>Return the shortest relative path to get to path from root:</p>
1663
+
1664
+
1665
+ </div>
1666
+ </div>
1667
+ <div class="tags">
1668
+
1669
+
1670
+ </div><table class="source_code">
1671
+ <tr>
1672
+ <td>
1673
+ <pre class="lines">
1674
+
1675
+
1676
+ 54
1677
+ 55
1678
+ 56
1679
+ 57
1680
+ 58
1681
+ 59
1682
+ 60
1683
+ 61
1684
+ 62
1685
+ 63
1686
+ 64
1687
+ 65</pre>
1688
+ </td>
1689
+ <td>
1690
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 54</span>
1691
+
1692
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_shortest_path'>shortest_path</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='comma'>,</span> <span class='id identifier rubyid_root'><span class='object_link'><a href="../top-level-namespace.html" title="Top Level Namespace (root)">root</a></span></span><span class='rparen'>)</span>
1693
+ <span class='id identifier rubyid_path'>path</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
1694
+ <span class='id identifier rubyid_root'><span class='object_link'><a href="../top-level-namespace.html" title="Top Level Namespace (root)">root</a></span></span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_root'><span class='object_link'><a href="../top-level-namespace.html" title="Top Level Namespace (root)">root</a></span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_dirname'>dirname</span>
1695
+
1696
+ <span class='comment'># Find the common prefix:
1697
+ </span> <span class='id identifier rubyid_i'>i</span> <span class='op'>=</span> <span class='id identifier rubyid_prefix_length'>prefix_length</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='period'>.</span><span class='id identifier rubyid_components'>components</span><span class='comma'>,</span> <span class='id identifier rubyid_root'><span class='object_link'><a href="../top-level-namespace.html" title="Top Level Namespace (root)">root</a></span></span><span class='period'>.</span><span class='id identifier rubyid_components'>components</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='int'>0</span>
1698
+
1699
+ <span class='comment'># The difference between the root path and the required path, taking into account the common prefix:
1700
+ </span> <span class='id identifier rubyid_up'>up</span> <span class='op'>=</span> <span class='id identifier rubyid_root'><span class='object_link'><a href="../top-level-namespace.html" title="Top Level Namespace (root)">root</a></span></span><span class='period'>.</span><span class='id identifier rubyid_components'>components</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span> <span class='op'>-</span> <span class='id identifier rubyid_i'>i</span>
1701
+
1702
+ <span class='kw'>return</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>..</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='op'>*</span> <span class='id identifier rubyid_up'>up</span> <span class='op'>+</span> <span class='id identifier rubyid_path'>path</span><span class='period'>.</span><span class='id identifier rubyid_components'>components</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='op'>..</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span><span class='rparen'>)</span>
1703
+ <span class='kw'>end</span></pre>
1704
+ </td>
1705
+ </tr>
1706
+ </table>
1707
+ </div>
1708
+
1709
+ <div class="method_details ">
1710
+ <h3 class="signature " id="split-class_method">
1711
+
1712
+ .<strong>split</strong>(path) &#x21d2; <tt>Object</tt>
1713
+
1714
+
1715
+
1716
+
1717
+
1718
+ </h3><table class="source_code">
1719
+ <tr>
1720
+ <td>
1721
+ <pre class="lines">
1722
+
1723
+
1724
+ 82
1725
+ 83
1726
+ 84
1727
+ 85
1728
+ 86
1729
+ 87
1730
+ 88
1731
+ 89
1732
+ 90
1733
+ 91
1734
+ 92
1735
+ 93</pre>
1736
+ </td>
1737
+ <td>
1738
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 82</span>
1739
+
1740
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
1741
+ <span class='kw'>case</span> <span class='id identifier rubyid_path'>path</span>
1742
+ <span class='kw'>when</span> <span class='const'><span class='object_link'><a href="" title="Utopia::Path (class)">Path</a></span></span>
1743
+ <span class='kw'>return</span> <span class='id identifier rubyid_path'>path</span><span class='period'>.</span><span class='id identifier rubyid_to_a'>to_a</span>
1744
+ <span class='kw'>when</span> <span class='const'>Array</span>
1745
+ <span class='kw'>return</span> <span class='id identifier rubyid_path'>path</span>
1746
+ <span class='kw'>when</span> <span class='const'>String</span>
1747
+ <span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_a'>to_a</span>
1748
+ <span class='kw'>else</span>
1749
+ <span class='lbracket'>[</span><span class='id identifier rubyid_path'>path</span><span class='rbracket'>]</span>
1750
+ <span class='kw'>end</span>
1751
+ <span class='kw'>end</span></pre>
1752
+ </td>
1753
+ </tr>
1754
+ </table>
1755
+ </div>
1756
+
1757
+ <div class="method_details ">
1758
+ <h3 class="signature " id="unescape-class_method">
1759
+
1760
+ .<strong>unescape</strong>(string) &#x21d2; <tt>Object</tt>
1761
+
1762
+
1763
+
1764
+
1765
+
1766
+ </h3><div class="docstring">
1767
+ <div class="discussion">
1768
+ <p>Converts ‘+’ into whitespace and hex encoded characters into their equivalent characters.</p>
1769
+
1770
+
1771
+ </div>
1772
+ </div>
1773
+ <div class="tags">
1774
+
1775
+
1776
+ </div><table class="source_code">
1777
+ <tr>
1778
+ <td>
1779
+ <pre class="lines">
1780
+
1781
+
1782
+ 72
1783
+ 73
1784
+ 74
1785
+ 75
1786
+ 76</pre>
1787
+ </td>
1788
+ <td>
1789
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 72</span>
1790
+
1791
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_unescape'>unescape</span><span class='lparen'>(</span><span class='id identifier rubyid_string'>string</span><span class='rparen'>)</span>
1792
+ <span class='id identifier rubyid_string'>string</span><span class='period'>.</span><span class='id identifier rubyid_tr'>tr</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>+</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'> </span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>((?:%[0-9a-fA-F]{2})+)</span><span class='regexp_end'>/n</span></span><span class='rparen'>)</span> <span class='lbrace'>{</span>
1793
+ <span class='lbracket'>[</span><span class='backref'>$1</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>%</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_pack'>pack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>H*</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
1794
+ <span class='rbrace'>}</span>
1795
+ <span class='kw'>end</span></pre>
1796
+ </td>
1797
+ </tr>
1798
+ </table>
1799
+ </div>
1800
+
1801
+ </div>
1802
+
1803
+ <div id="instance_method_details" class="method_details_list">
1804
+ <h2>Instance Method Details</h2>
1805
+
1806
+
1807
+ <div class="method_details first">
1808
+ <h3 class="signature first" id="+-instance_method">
1809
+
1810
+ #<strong>+</strong>(other) &#x21d2; <tt>Object</tt>
1811
+
1812
+
1813
+
1814
+
1815
+
1816
+ </h3><table class="source_code">
1817
+ <tr>
1818
+ <td>
1819
+ <pre class="lines">
1820
+
1821
+
1822
+ 183
1823
+ 184
1824
+ 185
1825
+ 186
1826
+ 187
1827
+ 188
1828
+ 189
1829
+ 190
1830
+ 191
1831
+ 192
1832
+ 193
1833
+ 194
1834
+ 195
1835
+ 196
1836
+ 197</pre>
1837
+ </td>
1838
+ <td>
1839
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 183</span>
1840
+
1841
+ <span class='kw'>def</span> <span class='op'>+</span><span class='lparen'>(</span><span class='id identifier rubyid_other'>other</span><span class='rparen'>)</span>
1842
+ <span class='kw'>if</span> <span class='id identifier rubyid_other'>other</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</span> <span class='const'><span class='object_link'><a href="" title="Utopia::Path (class)">Path</a></span></span>
1843
+ <span class='kw'>if</span> <span class='id identifier rubyid_other'>other</span><span class='period'>.</span><span class='id identifier rubyid_absolute?'>absolute?</span>
1844
+ <span class='kw'>return</span> <span class='id identifier rubyid_other'>other</span>
1845
+ <span class='kw'>else</span>
1846
+ <span class='kw'>return</span> <span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='id identifier rubyid_other'>other</span><span class='period'>.</span><span class='id identifier rubyid_components'>components</span><span class='rparen'>)</span>
1847
+ <span class='kw'>end</span>
1848
+ <span class='kw'>elsif</span> <span class='id identifier rubyid_other'>other</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</span> <span class='const'>Array</span>
1849
+ <span class='kw'>return</span> <span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='id identifier rubyid_other'>other</span><span class='rparen'>)</span>
1850
+ <span class='kw'>elsif</span> <span class='id identifier rubyid_other'>other</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</span> <span class='const'>String</span>
1851
+ <span class='kw'>return</span> <span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='id identifier rubyid_other'>other</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#SEPARATOR-constant" title="Utopia::Path::SEPARATOR (constant)">SEPARATOR</a></span></span><span class='comma'>,</span> <span class='op'>-</span><span class='int'>1</span><span class='rparen'>)</span><span class='rparen'>)</span>
1852
+ <span class='kw'>else</span>
1853
+ <span class='kw'>return</span> <span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_other'>other</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rbracket'>]</span><span class='rparen'>)</span>
1854
+ <span class='kw'>end</span>
1855
+ <span class='kw'>end</span></pre>
1856
+ </td>
1857
+ </tr>
1858
+ </table>
1859
+ </div>
1860
+
1861
+ <div class="method_details ">
1862
+ <h3 class="signature " id="--instance_method">
1863
+
1864
+ #<strong>-</strong>(other) &#x21d2; <tt>Object</tt>
1865
+
1866
+
1867
+
1868
+
1869
+
1870
+ </h3><div class="docstring">
1871
+ <div class="discussion">
1872
+ <p>Computes the difference of the path.
1873
+ /a/b/c - /a/b -&gt; c
1874
+ a/b/c - a/b -&gt; c</p>
1875
+
1876
+
1877
+ </div>
1878
+ </div>
1879
+ <div class="tags">
1880
+
1881
+
1882
+ </div><table class="source_code">
1883
+ <tr>
1884
+ <td>
1885
+ <pre class="lines">
1886
+
1887
+
1888
+ 206
1889
+ 207
1890
+ 208
1891
+ 209
1892
+ 210
1893
+ 211
1894
+ 212
1895
+ 213
1896
+ 214
1897
+ 215
1898
+ 216</pre>
1899
+ </td>
1900
+ <td>
1901
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 206</span>
1902
+
1903
+ <span class='kw'>def</span> <span class='op'>-</span><span class='lparen'>(</span><span class='id identifier rubyid_other'>other</span><span class='rparen'>)</span>
1904
+ <span class='id identifier rubyid_i'>i</span> <span class='op'>=</span> <span class='int'>0</span>
1905
+
1906
+ <span class='kw'>while</span> <span class='id identifier rubyid_i'>i</span> <span class='op'>&lt;</span> <span class='id identifier rubyid_other'>other</span><span class='period'>.</span><span class='id identifier rubyid_components'>components</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span>
1907
+ <span class='kw'>break</span> <span class='kw'>if</span> <span class='ivar'>@components</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span> <span class='op'>!=</span> <span class='id identifier rubyid_other'>other</span><span class='period'>.</span><span class='id identifier rubyid_components'>components</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span>
1908
+
1909
+ <span class='id identifier rubyid_i'>i</span> <span class='op'>+=</span> <span class='int'>1</span>
1910
+ <span class='kw'>end</span>
1911
+
1912
+ <span class='kw'>return</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='ivar'>@components</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='comma'>,</span><span class='ivar'>@components</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span><span class='rbracket'>]</span><span class='rparen'>)</span>
1913
+ <span class='kw'>end</span></pre>
1914
+ </td>
1915
+ </tr>
1916
+ </table>
1917
+ </div>
1918
+
1919
+ <div class="method_details ">
1920
+ <h3 class="signature " id="<=>-instance_method">
1921
+
1922
+ #<strong>&lt;=&gt;</strong>(other) &#x21d2; <tt>Object</tt>
1923
+
1924
+
1925
+
1926
+
1927
+
1928
+ </h3><table class="source_code">
1929
+ <tr>
1930
+ <td>
1931
+ <pre class="lines">
1932
+
1933
+
1934
+ 296
1935
+ 297
1936
+ 298</pre>
1937
+ </td>
1938
+ <td>
1939
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 296</span>
1940
+
1941
+ <span class='kw'>def</span> <span class='op'>&lt;=&gt;</span> <span class='id identifier rubyid_other'>other</span>
1942
+ <span class='ivar'>@components</span> <span class='op'>&lt;=&gt;</span> <span class='id identifier rubyid_other'>other</span><span class='period'>.</span><span class='id identifier rubyid_components'>components</span>
1943
+ <span class='kw'>end</span></pre>
1944
+ </td>
1945
+ </tr>
1946
+ </table>
1947
+ </div>
1948
+
1949
+ <div class="method_details ">
1950
+ <h3 class="signature " id="==-instance_method">
1951
+
1952
+ #<strong>==</strong>(other) &#x21d2; <tt>Object</tt>
1953
+
1954
+
1955
+
1956
+
1957
+
1958
+ </h3><table class="source_code">
1959
+ <tr>
1960
+ <td>
1961
+ <pre class="lines">
1962
+
1963
+
1964
+ 308
1965
+ 309
1966
+ 310
1967
+ 311
1968
+ 312
1969
+ 313
1970
+ 314
1971
+ 315
1972
+ 316</pre>
1973
+ </td>
1974
+ <td>
1975
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 308</span>
1976
+
1977
+ <span class='kw'>def</span> <span class='op'>==</span> <span class='id identifier rubyid_other'>other</span>
1978
+ <span class='kw'>return</span> <span class='kw'>false</span> <span class='kw'>unless</span> <span class='id identifier rubyid_other'>other</span>
1979
+
1980
+ <span class='kw'>case</span> <span class='id identifier rubyid_other'>other</span>
1981
+ <span class='kw'>when</span> <span class='const'>String</span> <span class='kw'>then</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>==</span> <span class='id identifier rubyid_other'>other</span>
1982
+ <span class='kw'>when</span> <span class='const'>Array</span> <span class='kw'>then</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_to_a'>to_a</span> <span class='op'>==</span> <span class='id identifier rubyid_other'>other</span>
1983
+ <span class='kw'>else</span> <span class='id identifier rubyid_other'>other</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='ivar'>@components</span> <span class='op'>==</span> <span class='id identifier rubyid_other'>other</span><span class='period'>.</span><span class='id identifier rubyid_components'>components</span>
1984
+ <span class='kw'>end</span>
1985
+ <span class='kw'>end</span></pre>
1986
+ </td>
1987
+ </tr>
1988
+ </table>
1989
+ </div>
1990
+
1991
+ <div class="method_details ">
1992
+ <h3 class="signature " id="[]-instance_method">
1993
+
1994
+ #<strong>[]</strong>(index) &#x21d2; <tt>Object</tt>
1995
+
1996
+
1997
+
1998
+
1999
+
2000
+ </h3><table class="source_code">
2001
+ <tr>
2002
+ <td>
2003
+ <pre class="lines">
2004
+
2005
+
2006
+ 326
2007
+ 327
2008
+ 328</pre>
2009
+ </td>
2010
+ <td>
2011
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 326</span>
2012
+
2013
+ <span class='kw'>def</span> <span class='op'>[]</span> <span class='id identifier rubyid_index'>index</span>
2014
+ <span class='kw'>return</span> <span class='ivar'>@components</span><span class='lbracket'>[</span><span class='id identifier rubyid_component_offset'>component_offset</span><span class='lparen'>(</span><span class='id identifier rubyid_index'>index</span><span class='rparen'>)</span><span class='rbracket'>]</span>
2015
+ <span class='kw'>end</span></pre>
2016
+ </td>
2017
+ </tr>
2018
+ </table>
2019
+ </div>
2020
+
2021
+ <div class="method_details ">
2022
+ <h3 class="signature " id="[]=-instance_method">
2023
+
2024
+ #<strong>[]=</strong>(index, value) &#x21d2; <tt>Object</tt>
2025
+
2026
+
2027
+
2028
+
2029
+
2030
+ </h3><div class="docstring">
2031
+ <div class="discussion">
2032
+ <p>Replaces a named component, indexing as per</p>
2033
+
2034
+
2035
+ </div>
2036
+ </div>
2037
+ <div class="tags">
2038
+
2039
+
2040
+ </div><table class="source_code">
2041
+ <tr>
2042
+ <td>
2043
+ <pre class="lines">
2044
+
2045
+
2046
+ 331
2047
+ 332
2048
+ 333</pre>
2049
+ </td>
2050
+ <td>
2051
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 331</span>
2052
+
2053
+ <span class='kw'>def</span> <span class='op'>[]=</span> <span class='id identifier rubyid_index'>index</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span>
2054
+ <span class='kw'>return</span> <span class='ivar'>@components</span><span class='lbracket'>[</span><span class='id identifier rubyid_component_offset'>component_offset</span><span class='lparen'>(</span><span class='id identifier rubyid_index'>index</span><span class='rparen'>)</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
2055
+ <span class='kw'>end</span></pre>
2056
+ </td>
2057
+ </tr>
2058
+ </table>
2059
+ </div>
2060
+
2061
+ <div class="method_details ">
2062
+ <h3 class="signature " id="absolute?-instance_method">
2063
+
2064
+ #<strong>absolute?</strong> &#x21d2; <tt>Boolean</tt>
2065
+
2066
+
2067
+
2068
+
2069
+
2070
+ </h3><div class="docstring">
2071
+ <div class="discussion">
2072
+
2073
+
2074
+
2075
+ </div>
2076
+ </div>
2077
+ <div class="tags">
2078
+
2079
+ <p class="tag_title">Returns:</p>
2080
+ <ul class="return">
2081
+
2082
+ <li>
2083
+
2084
+
2085
+ <span class='type'>(<tt>Boolean</tt>)</span>
2086
+
2087
+
2088
+
2089
+ </li>
2090
+
2091
+ </ul>
2092
+
2093
+ </div><table class="source_code">
2094
+ <tr>
2095
+ <td>
2096
+ <pre class="lines">
2097
+
2098
+
2099
+ 145
2100
+ 146
2101
+ 147</pre>
2102
+ </td>
2103
+ <td>
2104
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 145</span>
2105
+
2106
+ <span class='kw'>def</span> <span class='id identifier rubyid_absolute?'>absolute?</span>
2107
+ <span class='ivar'>@components</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
2108
+ <span class='kw'>end</span></pre>
2109
+ </td>
2110
+ </tr>
2111
+ </table>
2112
+ </div>
2113
+
2114
+ <div class="method_details ">
2115
+ <h3 class="signature " id="ascend-instance_method">
2116
+
2117
+ #<strong>ascend</strong>(&amp;block) &#x21d2; <tt>Object</tt>
2118
+
2119
+
2120
+
2121
+
2122
+
2123
+ </h3><table class="source_code">
2124
+ <tr>
2125
+ <td>
2126
+ <pre class="lines">
2127
+
2128
+
2129
+ 268
2130
+ 269
2131
+ 270
2132
+ 271
2133
+ 272
2134
+ 273
2135
+ 274
2136
+ 275
2137
+ 276
2138
+ 277
2139
+ 278</pre>
2140
+ </td>
2141
+ <td>
2142
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 268</span>
2143
+
2144
+ <span class='kw'>def</span> <span class='id identifier rubyid_ascend'>ascend</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
2145
+ <span class='kw'>return</span> <span class='id identifier rubyid_to_enum'>to_enum</span><span class='lparen'>(</span><span class='symbol'>:ascend</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
2146
+
2147
+ <span class='id identifier rubyid_components'>components</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_components'>components</span><span class='period'>.</span><span class='id identifier rubyid_dup'>dup</span>
2148
+
2149
+ <span class='kw'>while</span> <span class='id identifier rubyid_components'>components</span><span class='period'>.</span><span class='id identifier rubyid_any?'>any?</span>
2150
+ <span class='kw'>yield</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_components'>components</span><span class='period'>.</span><span class='id identifier rubyid_dup'>dup</span><span class='rparen'>)</span>
2151
+
2152
+ <span class='id identifier rubyid_components'>components</span><span class='period'>.</span><span class='id identifier rubyid_pop'>pop</span>
2153
+ <span class='kw'>end</span>
2154
+ <span class='kw'>end</span></pre>
2155
+ </td>
2156
+ </tr>
2157
+ </table>
2158
+ </div>
2159
+
2160
+ <div class="method_details ">
2161
+ <h3 class="signature " id="basename-instance_method">
2162
+
2163
+ #<strong>basename</strong> &#x21d2; <tt>Object</tt>
2164
+
2165
+
2166
+
2167
+
2168
+
2169
+ </h3><table class="source_code">
2170
+ <tr>
2171
+ <td>
2172
+ <pre class="lines">
2173
+
2174
+
2175
+ 234
2176
+ 235
2177
+ 236
2178
+ 237
2179
+ 238</pre>
2180
+ </td>
2181
+ <td>
2182
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 234</span>
2183
+
2184
+ <span class='kw'>def</span> <span class='id identifier rubyid_basename'>basename</span>
2185
+ <span class='id identifier rubyid_basename'>basename</span><span class='comma'>,</span> <span class='id identifier rubyid__'>_</span> <span class='op'>=</span> <span class='ivar'>@components</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>.</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='int'>2</span><span class='rparen'>)</span>
2186
+
2187
+ <span class='kw'>return</span> <span class='id identifier rubyid_basename'>basename</span> <span class='op'>||</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
2188
+ <span class='kw'>end</span></pre>
2189
+ </td>
2190
+ </tr>
2191
+ </table>
2192
+ </div>
2193
+
2194
+ <div class="method_details ">
2195
+ <h3 class="signature " id="delete_at-instance_method">
2196
+
2197
+ #<strong>delete_at</strong>(index) &#x21d2; <tt>Object</tt>
2198
+
2199
+
2200
+
2201
+
2202
+
2203
+ </h3><table class="source_code">
2204
+ <tr>
2205
+ <td>
2206
+ <pre class="lines">
2207
+
2208
+
2209
+ 335
2210
+ 336
2211
+ 337</pre>
2212
+ </td>
2213
+ <td>
2214
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 335</span>
2215
+
2216
+ <span class='kw'>def</span> <span class='id identifier rubyid_delete_at'>delete_at</span><span class='lparen'>(</span><span class='id identifier rubyid_index'>index</span><span class='rparen'>)</span>
2217
+ <span class='ivar'>@components</span><span class='period'>.</span><span class='id identifier rubyid_delete_at'>delete_at</span><span class='lparen'>(</span><span class='id identifier rubyid_component_offset'>component_offset</span><span class='lparen'>(</span><span class='id identifier rubyid_index'>index</span><span class='rparen'>)</span><span class='rparen'>)</span>
2218
+ <span class='kw'>end</span></pre>
2219
+ </td>
2220
+ </tr>
2221
+ </table>
2222
+ </div>
2223
+
2224
+ <div class="method_details ">
2225
+ <h3 class="signature " id="descend-instance_method">
2226
+
2227
+ #<strong>descend</strong>(&amp;block) &#x21d2; <tt>Object</tt>
2228
+
2229
+
2230
+
2231
+
2232
+
2233
+ </h3><table class="source_code">
2234
+ <tr>
2235
+ <td>
2236
+ <pre class="lines">
2237
+
2238
+
2239
+ 256
2240
+ 257
2241
+ 258
2242
+ 259
2243
+ 260
2244
+ 261
2245
+ 262
2246
+ 263
2247
+ 264
2248
+ 265
2249
+ 266</pre>
2250
+ </td>
2251
+ <td>
2252
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 256</span>
2253
+
2254
+ <span class='kw'>def</span> <span class='id identifier rubyid_descend'>descend</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
2255
+ <span class='kw'>return</span> <span class='id identifier rubyid_to_enum'>to_enum</span><span class='lparen'>(</span><span class='symbol'>:descend</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
2256
+
2257
+ <span class='id identifier rubyid_components'>components</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
2258
+
2259
+ <span class='ivar'>@components</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_component'>component</span><span class='op'>|</span>
2260
+ <span class='id identifier rubyid_components'>components</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_component'>component</span>
2261
+
2262
+ <span class='kw'>yield</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_components'>components</span><span class='period'>.</span><span class='id identifier rubyid_dup'>dup</span><span class='rparen'>)</span>
2263
+ <span class='kw'>end</span>
2264
+ <span class='kw'>end</span></pre>
2265
+ </td>
2266
+ </tr>
2267
+ </table>
2268
+ </div>
2269
+
2270
+ <div class="method_details ">
2271
+ <h3 class="signature " id="directory?-instance_method">
2272
+
2273
+ #<strong>directory?</strong> &#x21d2; <tt>Boolean</tt>
2274
+
2275
+
2276
+
2277
+
2278
+
2279
+ </h3><div class="docstring">
2280
+ <div class="discussion">
2281
+
2282
+
2283
+
2284
+ </div>
2285
+ </div>
2286
+ <div class="tags">
2287
+
2288
+ <p class="tag_title">Returns:</p>
2289
+ <ul class="return">
2290
+
2291
+ <li>
2292
+
2293
+
2294
+ <span class='type'>(<tt>Boolean</tt>)</span>
2295
+
2296
+
2297
+
2298
+ </li>
2299
+
2300
+ </ul>
2301
+
2302
+ </div><table class="source_code">
2303
+ <tr>
2304
+ <td>
2305
+ <pre class="lines">
2306
+
2307
+
2308
+ 129
2309
+ 130
2310
+ 131</pre>
2311
+ </td>
2312
+ <td>
2313
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 129</span>
2314
+
2315
+ <span class='kw'>def</span> <span class='id identifier rubyid_directory?'>directory?</span>
2316
+ <span class='kw'>return</span> <span class='ivar'>@components</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
2317
+ <span class='kw'>end</span></pre>
2318
+ </td>
2319
+ </tr>
2320
+ </table>
2321
+ </div>
2322
+
2323
+ <div class="method_details ">
2324
+ <h3 class="signature " id="dirname-instance_method">
2325
+
2326
+ #<strong>dirname</strong>(count = 1) &#x21d2; <tt>Object</tt>
2327
+
2328
+
2329
+
2330
+
2331
+
2332
+ </h3><table class="source_code">
2333
+ <tr>
2334
+ <td>
2335
+ <pre class="lines">
2336
+
2337
+
2338
+ 246
2339
+ 247
2340
+ 248
2341
+ 249
2342
+ 250</pre>
2343
+ </td>
2344
+ <td>
2345
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 246</span>
2346
+
2347
+ <span class='kw'>def</span> <span class='id identifier rubyid_dirname'>dirname</span><span class='lparen'>(</span><span class='id identifier rubyid_count'>count</span> <span class='op'>=</span> <span class='int'>1</span><span class='rparen'>)</span>
2348
+ <span class='id identifier rubyid_path'>path</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='ivar'>@components</span><span class='lbracket'>[</span><span class='int'>0</span><span class='op'>...</span><span class='op'>-</span><span class='id identifier rubyid_count'>count</span><span class='rbracket'>]</span><span class='rparen'>)</span>
2349
+
2350
+ <span class='kw'>return</span> <span class='id identifier rubyid_absolute?'>absolute?</span> <span class='op'>?</span> <span class='id identifier rubyid_path'>path</span><span class='period'>.</span><span class='id identifier rubyid_to_absolute'>to_absolute</span> <span class='op'>:</span> <span class='id identifier rubyid_path'>path</span>
2351
+ <span class='kw'>end</span></pre>
2352
+ </td>
2353
+ </tr>
2354
+ </table>
2355
+ </div>
2356
+
2357
+ <div class="method_details ">
2358
+ <h3 class="signature " id="dup-instance_method">
2359
+
2360
+ #<strong>dup</strong> &#x21d2; <tt>Object</tt>
2361
+
2362
+
2363
+
2364
+
2365
+
2366
+ </h3><table class="source_code">
2367
+ <tr>
2368
+ <td>
2369
+ <pre class="lines">
2370
+
2371
+
2372
+ 292
2373
+ 293
2374
+ 294</pre>
2375
+ </td>
2376
+ <td>
2377
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 292</span>
2378
+
2379
+ <span class='kw'>def</span> <span class='id identifier rubyid_dup'>dup</span>
2380
+ <span class='kw'>return</span> <span class='const'><span class='object_link'><a href="" title="Utopia::Path (class)">Path</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="Utopia::Path#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_components'>components</span><span class='period'>.</span><span class='id identifier rubyid_dup'>dup</span><span class='rparen'>)</span>
2381
+ <span class='kw'>end</span></pre>
2382
+ </td>
2383
+ </tr>
2384
+ </table>
2385
+ </div>
2386
+
2387
+ <div class="method_details ">
2388
+ <h3 class="signature " id="empty?-instance_method">
2389
+
2390
+ #<strong>empty?</strong> &#x21d2; <tt>Boolean</tt>
2391
+
2392
+
2393
+
2394
+
2395
+
2396
+ </h3><div class="docstring">
2397
+ <div class="discussion">
2398
+
2399
+
2400
+
2401
+ </div>
2402
+ </div>
2403
+ <div class="tags">
2404
+
2405
+ <p class="tag_title">Returns:</p>
2406
+ <ul class="return">
2407
+
2408
+ <li>
2409
+
2410
+
2411
+ <span class='type'>(<tt>Boolean</tt>)</span>
2412
+
2413
+
2414
+
2415
+ </li>
2416
+
2417
+ </ul>
2418
+
2419
+ </div><table class="source_code">
2420
+ <tr>
2421
+ <td>
2422
+ <pre class="lines">
2423
+
2424
+
2425
+ 40
2426
+ 41
2427
+ 42</pre>
2428
+ </td>
2429
+ <td>
2430
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 40</span>
2431
+
2432
+ <span class='kw'>def</span> <span class='id identifier rubyid_empty?'>empty?</span>
2433
+ <span class='ivar'>@components</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
2434
+ <span class='kw'>end</span></pre>
2435
+ </td>
2436
+ </tr>
2437
+ </table>
2438
+ </div>
2439
+
2440
+ <div class="method_details ">
2441
+ <h3 class="signature " id="eql?-instance_method">
2442
+
2443
+ #<strong>eql?</strong>(other) &#x21d2; <tt>Boolean</tt>
2444
+
2445
+
2446
+
2447
+
2448
+
2449
+ </h3><div class="docstring">
2450
+ <div class="discussion">
2451
+
2452
+
2453
+
2454
+ </div>
2455
+ </div>
2456
+ <div class="tags">
2457
+
2458
+ <p class="tag_title">Returns:</p>
2459
+ <ul class="return">
2460
+
2461
+ <li>
2462
+
2463
+
2464
+ <span class='type'>(<tt>Boolean</tt>)</span>
2465
+
2466
+
2467
+
2468
+ </li>
2469
+
2470
+ </ul>
2471
+
2472
+ </div><table class="source_code">
2473
+ <tr>
2474
+ <td>
2475
+ <pre class="lines">
2476
+
2477
+
2478
+ 300
2479
+ 301
2480
+ 302</pre>
2481
+ </td>
2482
+ <td>
2483
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 300</span>
2484
+
2485
+ <span class='kw'>def</span> <span class='id identifier rubyid_eql?'>eql?</span> <span class='id identifier rubyid_other'>other</span>
2486
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='id identifier rubyid_other'>other</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='rparen'>)</span> <span class='kw'>and</span> <span class='ivar'>@components</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='id identifier rubyid_other'>other</span><span class='period'>.</span><span class='id identifier rubyid_components'>components</span><span class='rparen'>)</span>
2487
+ <span class='kw'>end</span></pre>
2488
+ </td>
2489
+ </tr>
2490
+ </table>
2491
+ </div>
2492
+
2493
+ <div class="method_details ">
2494
+ <h3 class="signature " id="expand-instance_method">
2495
+
2496
+ #<strong>expand</strong>(root) &#x21d2; <tt>Object</tt>
2497
+
2498
+
2499
+
2500
+
2501
+
2502
+ </h3><table class="source_code">
2503
+ <tr>
2504
+ <td>
2505
+ <pre class="lines">
2506
+
2507
+
2508
+ 179
2509
+ 180
2510
+ 181</pre>
2511
+ </td>
2512
+ <td>
2513
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 179</span>
2514
+
2515
+ <span class='kw'>def</span> <span class='id identifier rubyid_expand'>expand</span><span class='lparen'>(</span><span class='id identifier rubyid_root'><span class='object_link'><a href="../top-level-namespace.html" title="Top Level Namespace (root)">root</a></span></span><span class='rparen'>)</span>
2516
+ <span class='id identifier rubyid_root'><span class='object_link'><a href="../top-level-namespace.html" title="Top Level Namespace (root)">root</a></span></span> <span class='op'>+</span> <span class='kw'>self</span>
2517
+ <span class='kw'>end</span></pre>
2518
+ </td>
2519
+ </tr>
2520
+ </table>
2521
+ </div>
2522
+
2523
+ <div class="method_details ">
2524
+ <h3 class="signature " id="extension-instance_method">
2525
+
2526
+ #<strong>extension</strong> &#x21d2; <tt>Object</tt>
2527
+
2528
+
2529
+
2530
+
2531
+
2532
+ </h3><table class="source_code">
2533
+ <tr>
2534
+ <td>
2535
+ <pre class="lines">
2536
+
2537
+
2538
+ 240
2539
+ 241
2540
+ 242
2541
+ 243
2542
+ 244</pre>
2543
+ </td>
2544
+ <td>
2545
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 240</span>
2546
+
2547
+ <span class='kw'>def</span> <span class='id identifier rubyid_extension'>extension</span>
2548
+ <span class='id identifier rubyid__'>_</span><span class='comma'>,</span> <span class='id identifier rubyid_extension'>extension</span> <span class='op'>=</span> <span class='ivar'>@components</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>.</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='int'>2</span><span class='rparen'>)</span>
2549
+
2550
+ <span class='kw'>return</span> <span class='id identifier rubyid_extension'>extension</span>
2551
+ <span class='kw'>end</span></pre>
2552
+ </td>
2553
+ </tr>
2554
+ </table>
2555
+ </div>
2556
+
2557
+ <div class="method_details ">
2558
+ <h3 class="signature " id="first-instance_method">
2559
+
2560
+ #<strong>first</strong> &#x21d2; <tt>Object</tt>
2561
+
2562
+
2563
+
2564
+
2565
+
2566
+ </h3><table class="source_code">
2567
+ <tr>
2568
+ <td>
2569
+ <pre class="lines">
2570
+
2571
+
2572
+ 339
2573
+ 340
2574
+ 341
2575
+ 342
2576
+ 343
2577
+ 344
2578
+ 345</pre>
2579
+ </td>
2580
+ <td>
2581
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 339</span>
2582
+
2583
+ <span class='kw'>def</span> <span class='id identifier rubyid_first'>first</span>
2584
+ <span class='kw'>if</span> <span class='id identifier rubyid_absolute?'>absolute?</span>
2585
+ <span class='ivar'>@components</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
2586
+ <span class='kw'>else</span>
2587
+ <span class='ivar'>@components</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
2588
+ <span class='kw'>end</span>
2589
+ <span class='kw'>end</span></pre>
2590
+ </td>
2591
+ </tr>
2592
+ </table>
2593
+ </div>
2594
+
2595
+ <div class="method_details ">
2596
+ <h3 class="signature " id="freeze-instance_method">
2597
+
2598
+ #<strong>freeze</strong> &#x21d2; <tt>Object</tt>
2599
+
2600
+
2601
+
2602
+
2603
+
2604
+ </h3><table class="source_code">
2605
+ <tr>
2606
+ <td>
2607
+ <pre class="lines">
2608
+
2609
+
2610
+ 34
2611
+ 35
2612
+ 36
2613
+ 37
2614
+ 38</pre>
2615
+ </td>
2616
+ <td>
2617
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 34</span>
2618
+
2619
+ <span class='kw'>def</span> <span class='id identifier rubyid_freeze'>freeze</span>
2620
+ <span class='ivar'>@components</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span>
2621
+
2622
+ <span class='kw'>super</span>
2623
+ <span class='kw'>end</span></pre>
2624
+ </td>
2625
+ </tr>
2626
+ </table>
2627
+ </div>
2628
+
2629
+ <div class="method_details ">
2630
+ <h3 class="signature " id="hash-instance_method">
2631
+
2632
+ #<strong>hash</strong> &#x21d2; <tt>Object</tt>
2633
+
2634
+
2635
+
2636
+
2637
+
2638
+ </h3><table class="source_code">
2639
+ <tr>
2640
+ <td>
2641
+ <pre class="lines">
2642
+
2643
+
2644
+ 304
2645
+ 305
2646
+ 306</pre>
2647
+ </td>
2648
+ <td>
2649
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 304</span>
2650
+
2651
+ <span class='kw'>def</span> <span class='id identifier rubyid_hash'>hash</span>
2652
+ <span class='ivar'>@components</span><span class='period'>.</span><span class='id identifier rubyid_hash'>hash</span>
2653
+ <span class='kw'>end</span></pre>
2654
+ </td>
2655
+ </tr>
2656
+ </table>
2657
+ </div>
2658
+
2659
+ <div class="method_details ">
2660
+ <h3 class="signature " id="include?-instance_method">
2661
+
2662
+ #<strong>include?</strong>(*args) &#x21d2; <tt>Boolean</tt>
2663
+
2664
+
2665
+
2666
+
2667
+
2668
+ </h3><div class="docstring">
2669
+ <div class="discussion">
2670
+
2671
+
2672
+
2673
+ </div>
2674
+ </div>
2675
+ <div class="tags">
2676
+
2677
+ <p class="tag_title">Returns:</p>
2678
+ <ul class="return">
2679
+
2680
+ <li>
2681
+
2682
+
2683
+ <span class='type'>(<tt>Boolean</tt>)</span>
2684
+
2685
+
2686
+
2687
+ </li>
2688
+
2689
+ </ul>
2690
+
2691
+ </div><table class="source_code">
2692
+ <tr>
2693
+ <td>
2694
+ <pre class="lines">
2695
+
2696
+
2697
+ 125
2698
+ 126
2699
+ 127</pre>
2700
+ </td>
2701
+ <td>
2702
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 125</span>
2703
+
2704
+ <span class='kw'>def</span> <span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
2705
+ <span class='ivar'>@components</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
2706
+ <span class='kw'>end</span></pre>
2707
+ </td>
2708
+ </tr>
2709
+ </table>
2710
+ </div>
2711
+
2712
+ <div class="method_details ">
2713
+ <h3 class="signature " id="join-instance_method">
2714
+
2715
+ #<strong>join</strong>(other) &#x21d2; <tt>Object</tt>
2716
+
2717
+
2718
+
2719
+
2720
+
2721
+ </h3><table class="source_code">
2722
+ <tr>
2723
+ <td>
2724
+ <pre class="lines">
2725
+
2726
+
2727
+ 175
2728
+ 176
2729
+ 177</pre>
2730
+ </td>
2731
+ <td>
2732
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 175</span>
2733
+
2734
+ <span class='kw'>def</span> <span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='id identifier rubyid_other'>other</span><span class='rparen'>)</span>
2735
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='ivar'>@components</span> <span class='op'>+</span> <span class='id identifier rubyid_other'>other</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_simplify'>simplify</span>
2736
+ <span class='kw'>end</span></pre>
2737
+ </td>
2738
+ </tr>
2739
+ </table>
2740
+ </div>
2741
+
2742
+ <div class="method_details ">
2743
+ <h3 class="signature " id="last-instance_method">
2744
+
2745
+ #<strong>last</strong> &#x21d2; <tt>Object</tt>
2746
+
2747
+
2748
+
2749
+
2750
+
2751
+ </h3><table class="source_code">
2752
+ <tr>
2753
+ <td>
2754
+ <pre class="lines">
2755
+
2756
+
2757
+ 347
2758
+ 348
2759
+ 349
2760
+ 350
2761
+ 351
2762
+ 352
2763
+ 353</pre>
2764
+ </td>
2765
+ <td>
2766
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 347</span>
2767
+
2768
+ <span class='kw'>def</span> <span class='id identifier rubyid_last'>last</span>
2769
+ <span class='kw'>if</span> <span class='id identifier rubyid_directory?'>directory?</span>
2770
+ <span class='ivar'>@components</span><span class='lbracket'>[</span><span class='op'>-</span><span class='int'>2</span><span class='rbracket'>]</span>
2771
+ <span class='kw'>else</span>
2772
+ <span class='ivar'>@components</span><span class='lbracket'>[</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span>
2773
+ <span class='kw'>end</span>
2774
+ <span class='kw'>end</span></pre>
2775
+ </td>
2776
+ </tr>
2777
+ </table>
2778
+ </div>
2779
+
2780
+ <div class="method_details ">
2781
+ <h3 class="signature " id="relative?-instance_method">
2782
+
2783
+ #<strong>relative?</strong> &#x21d2; <tt>Boolean</tt>
2784
+
2785
+
2786
+
2787
+
2788
+
2789
+ </h3><div class="docstring">
2790
+ <div class="discussion">
2791
+
2792
+
2793
+
2794
+ </div>
2795
+ </div>
2796
+ <div class="tags">
2797
+
2798
+ <p class="tag_title">Returns:</p>
2799
+ <ul class="return">
2800
+
2801
+ <li>
2802
+
2803
+
2804
+ <span class='type'>(<tt>Boolean</tt>)</span>
2805
+
2806
+
2807
+
2808
+ </li>
2809
+
2810
+ </ul>
2811
+
2812
+ </div><table class="source_code">
2813
+ <tr>
2814
+ <td>
2815
+ <pre class="lines">
2816
+
2817
+
2818
+ 141
2819
+ 142
2820
+ 143</pre>
2821
+ </td>
2822
+ <td>
2823
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 141</span>
2824
+
2825
+ <span class='kw'>def</span> <span class='id identifier rubyid_relative?'>relative?</span>
2826
+ <span class='ivar'>@components</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span> <span class='op'>!=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
2827
+ <span class='kw'>end</span></pre>
2828
+ </td>
2829
+ </tr>
2830
+ </table>
2831
+ </div>
2832
+
2833
+ <div class="method_details ">
2834
+ <h3 class="signature " id="replace-instance_method">
2835
+
2836
+ #<strong>replace</strong>(other_path) &#x21d2; <tt>Object</tt>
2837
+
2838
+
2839
+
2840
+
2841
+
2842
+ </h3><table class="source_code">
2843
+ <tr>
2844
+ <td>
2845
+ <pre class="lines">
2846
+
2847
+
2848
+ 121
2849
+ 122
2850
+ 123</pre>
2851
+ </td>
2852
+ <td>
2853
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 121</span>
2854
+
2855
+ <span class='kw'>def</span> <span class='id identifier rubyid_replace'>replace</span><span class='lparen'>(</span><span class='id identifier rubyid_other_path'>other_path</span><span class='rparen'>)</span>
2856
+ <span class='ivar'>@components</span> <span class='op'>=</span> <span class='id identifier rubyid_other_path'>other_path</span><span class='period'>.</span><span class='id identifier rubyid_components'>components</span><span class='period'>.</span><span class='id identifier rubyid_dup'>dup</span>
2857
+ <span class='kw'>end</span></pre>
2858
+ </td>
2859
+ </tr>
2860
+ </table>
2861
+ </div>
2862
+
2863
+ <div class="method_details ">
2864
+ <h3 class="signature " id="shortest_path-instance_method">
2865
+
2866
+ #<strong>shortest_path</strong>(root) &#x21d2; <tt>Object</tt>
2867
+
2868
+
2869
+
2870
+
2871
+
2872
+ </h3><table class="source_code">
2873
+ <tr>
2874
+ <td>
2875
+ <pre class="lines">
2876
+
2877
+
2878
+ 67
2879
+ 68
2880
+ 69</pre>
2881
+ </td>
2882
+ <td>
2883
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 67</span>
2884
+
2885
+ <span class='kw'>def</span> <span class='id identifier rubyid_shortest_path'>shortest_path</span><span class='lparen'>(</span><span class='id identifier rubyid_root'><span class='object_link'><a href="../top-level-namespace.html" title="Top Level Namespace (root)">root</a></span></span><span class='rparen'>)</span>
2886
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_shortest_path'>shortest_path</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='id identifier rubyid_root'><span class='object_link'><a href="../top-level-namespace.html" title="Top Level Namespace (root)">root</a></span></span><span class='rparen'>)</span>
2887
+ <span class='kw'>end</span></pre>
2888
+ </td>
2889
+ </tr>
2890
+ </table>
2891
+ </div>
2892
+
2893
+ <div class="method_details ">
2894
+ <h3 class="signature " id="simplify-instance_method">
2895
+
2896
+ #<strong>simplify</strong> &#x21d2; <tt>Object</tt>
2897
+
2898
+
2899
+
2900
+
2901
+
2902
+ </h3><table class="source_code">
2903
+ <tr>
2904
+ <td>
2905
+ <pre class="lines">
2906
+
2907
+
2908
+ 218
2909
+ 219
2910
+ 220
2911
+ 221
2912
+ 222
2913
+ 223
2914
+ 224
2915
+ 225
2916
+ 226
2917
+ 227
2918
+ 228
2919
+ 229
2920
+ 230
2921
+ 231
2922
+ 232</pre>
2923
+ </td>
2924
+ <td>
2925
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 218</span>
2926
+
2927
+ <span class='kw'>def</span> <span class='id identifier rubyid_simplify'>simplify</span>
2928
+ <span class='id identifier rubyid_result'>result</span> <span class='op'>=</span> <span class='id identifier rubyid_absolute?'>absolute?</span> <span class='op'>?</span> <span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
2929
+
2930
+ <span class='ivar'>@components</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_bit'>bit</span><span class='op'>|</span>
2931
+ <span class='kw'>if</span> <span class='id identifier rubyid_bit'>bit</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>..</span><span class='tstring_end'>&quot;</span></span>
2932
+ <span class='id identifier rubyid_result'>result</span><span class='period'>.</span><span class='id identifier rubyid_pop'>pop</span>
2933
+ <span class='kw'>elsif</span> <span class='id identifier rubyid_bit'>bit</span> <span class='op'>!=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.</span><span class='tstring_end'>&quot;</span></span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_bit'>bit</span> <span class='op'>!=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
2934
+ <span class='id identifier rubyid_result'>result</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_bit'>bit</span>
2935
+ <span class='kw'>end</span>
2936
+ <span class='kw'>end</span>
2937
+
2938
+ <span class='id identifier rubyid_result'>result</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_directory?'>directory?</span>
2939
+
2940
+ <span class='kw'>return</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_result'>result</span><span class='rparen'>)</span>
2941
+ <span class='kw'>end</span></pre>
2942
+ </td>
2943
+ </tr>
2944
+ </table>
2945
+ </div>
2946
+
2947
+ <div class="method_details ">
2948
+ <h3 class="signature " id="split-instance_method">
2949
+
2950
+ #<strong>split</strong>(at) &#x21d2; <tt>Object</tt>
2951
+
2952
+
2953
+
2954
+
2955
+
2956
+ </h3><table class="source_code">
2957
+ <tr>
2958
+ <td>
2959
+ <pre class="lines">
2960
+
2961
+
2962
+ 280
2963
+ 281
2964
+ 282
2965
+ 283
2966
+ 284
2967
+ 285
2968
+ 286
2969
+ 287
2970
+ 288
2971
+ 289
2972
+ 290</pre>
2973
+ </td>
2974
+ <td>
2975
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 280</span>
2976
+
2977
+ <span class='kw'>def</span> <span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='id identifier rubyid_at'>at</span><span class='rparen'>)</span>
2978
+ <span class='kw'>if</span> <span class='id identifier rubyid_at'>at</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</span> <span class='const'>String</span>
2979
+ <span class='id identifier rubyid_at'>at</span> <span class='op'>=</span> <span class='ivar'>@components</span><span class='period'>.</span><span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='id identifier rubyid_at'>at</span><span class='rparen'>)</span>
2980
+ <span class='kw'>end</span>
2981
+
2982
+ <span class='kw'>if</span> <span class='id identifier rubyid_at'>at</span>
2983
+ <span class='kw'>return</span> <span class='lbracket'>[</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='ivar'>@components</span><span class='lbracket'>[</span><span class='int'>0</span><span class='op'>...</span><span class='id identifier rubyid_at'>at</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='ivar'>@components</span><span class='lbracket'>[</span><span class='id identifier rubyid_at'>at</span><span class='op'>+</span><span class='int'>1</span><span class='op'>..</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='rbracket'>]</span>
2984
+ <span class='kw'>else</span>
2985
+ <span class='kw'>return</span> <span class='kw'>nil</span>
2986
+ <span class='kw'>end</span>
2987
+ <span class='kw'>end</span></pre>
2988
+ </td>
2989
+ </tr>
2990
+ </table>
2991
+ </div>
2992
+
2993
+ <div class="method_details ">
2994
+ <h3 class="signature " id="start_with?-instance_method">
2995
+
2996
+ #<strong>start_with?</strong>(other) &#x21d2; <tt>Boolean</tt>
2997
+
2998
+
2999
+
3000
+
3001
+
3002
+ </h3><div class="docstring">
3003
+ <div class="discussion">
3004
+
3005
+
3006
+
3007
+ </div>
3008
+ </div>
3009
+ <div class="tags">
3010
+
3011
+ <p class="tag_title">Returns:</p>
3012
+ <ul class="return">
3013
+
3014
+ <li>
3015
+
3016
+
3017
+ <span class='type'>(<tt>Boolean</tt>)</span>
3018
+
3019
+
3020
+
3021
+ </li>
3022
+
3023
+ </ul>
3024
+
3025
+ </div><table class="source_code">
3026
+ <tr>
3027
+ <td>
3028
+ <pre class="lines">
3029
+
3030
+
3031
+ 318
3032
+ 319
3033
+ 320
3034
+ 321
3035
+ 322
3036
+ 323
3037
+ 324</pre>
3038
+ </td>
3039
+ <td>
3040
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 318</span>
3041
+
3042
+ <span class='kw'>def</span> <span class='id identifier rubyid_start_with?'>start_with?</span> <span class='id identifier rubyid_other'>other</span>
3043
+ <span class='id identifier rubyid_other'>other</span><span class='period'>.</span><span class='id identifier rubyid_components'>components</span><span class='period'>.</span><span class='id identifier rubyid_each_with_index'>each_with_index</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_part'>part</span><span class='comma'>,</span> <span class='id identifier rubyid_index'>index</span><span class='op'>|</span>
3044
+ <span class='kw'>return</span> <span class='kw'>false</span> <span class='kw'>if</span> <span class='ivar'>@components</span><span class='lbracket'>[</span><span class='id identifier rubyid_index'>index</span><span class='rbracket'>]</span> <span class='op'>!=</span> <span class='id identifier rubyid_part'>part</span>
3045
+ <span class='kw'>end</span>
3046
+
3047
+ <span class='kw'>return</span> <span class='kw'>true</span>
3048
+ <span class='kw'>end</span></pre>
3049
+ </td>
3050
+ </tr>
3051
+ </table>
3052
+ </div>
3053
+
3054
+ <div class="method_details ">
3055
+ <h3 class="signature " id="to_a-instance_method">
3056
+
3057
+ #<strong>to_a</strong> &#x21d2; <tt>Object</tt>
3058
+
3059
+
3060
+
3061
+
3062
+
3063
+ </h3><table class="source_code">
3064
+ <tr>
3065
+ <td>
3066
+ <pre class="lines">
3067
+
3068
+
3069
+ 171
3070
+ 172
3071
+ 173</pre>
3072
+ </td>
3073
+ <td>
3074
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 171</span>
3075
+
3076
+ <span class='kw'>def</span> <span class='id identifier rubyid_to_a'>to_a</span>
3077
+ <span class='ivar'>@components</span>
3078
+ <span class='kw'>end</span></pre>
3079
+ </td>
3080
+ </tr>
3081
+ </table>
3082
+ </div>
3083
+
3084
+ <div class="method_details ">
3085
+ <h3 class="signature " id="to_absolute-instance_method">
3086
+
3087
+ #<strong>to_absolute</strong> &#x21d2; <tt>Object</tt>
3088
+
3089
+
3090
+
3091
+
3092
+
3093
+ </h3><table class="source_code">
3094
+ <tr>
3095
+ <td>
3096
+ <pre class="lines">
3097
+
3098
+
3099
+ 149
3100
+ 150
3101
+ 151
3102
+ 152
3103
+ 153
3104
+ 154
3105
+ 155</pre>
3106
+ </td>
3107
+ <td>
3108
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 149</span>
3109
+
3110
+ <span class='kw'>def</span> <span class='id identifier rubyid_to_absolute'>to_absolute</span>
3111
+ <span class='kw'>if</span> <span class='id identifier rubyid_absolute?'>absolute?</span>
3112
+ <span class='kw'>return</span> <span class='kw'>self</span>
3113
+ <span class='kw'>else</span>
3114
+ <span class='kw'>return</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span> <span class='op'>+</span> <span class='ivar'>@components</span><span class='rparen'>)</span>
3115
+ <span class='kw'>end</span>
3116
+ <span class='kw'>end</span></pre>
3117
+ </td>
3118
+ </tr>
3119
+ </table>
3120
+ </div>
3121
+
3122
+ <div class="method_details ">
3123
+ <h3 class="signature " id="to_directory-instance_method">
3124
+
3125
+ #<strong>to_directory</strong> &#x21d2; <tt>Object</tt>
3126
+
3127
+
3128
+
3129
+
3130
+
3131
+ </h3><table class="source_code">
3132
+ <tr>
3133
+ <td>
3134
+ <pre class="lines">
3135
+
3136
+
3137
+ 133
3138
+ 134
3139
+ 135
3140
+ 136
3141
+ 137
3142
+ 138
3143
+ 139</pre>
3144
+ </td>
3145
+ <td>
3146
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 133</span>
3147
+
3148
+ <span class='kw'>def</span> <span class='id identifier rubyid_to_directory'>to_directory</span>
3149
+ <span class='kw'>if</span> <span class='id identifier rubyid_directory?'>directory?</span>
3150
+ <span class='kw'>return</span> <span class='kw'>self</span>
3151
+ <span class='kw'>else</span>
3152
+ <span class='kw'>return</span> <span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span><span class='rparen'>)</span>
3153
+ <span class='kw'>end</span>
3154
+ <span class='kw'>end</span></pre>
3155
+ </td>
3156
+ </tr>
3157
+ </table>
3158
+ </div>
3159
+
3160
+ <div class="method_details ">
3161
+ <h3 class="signature " id="to_local_path-instance_method">
3162
+
3163
+ #<strong>to_local_path</strong>(separator = File::SEPARATOR) &#x21d2; <tt>Object</tt>
3164
+
3165
+
3166
+
3167
+
3168
+
3169
+ </h3><table class="source_code">
3170
+ <tr>
3171
+ <td>
3172
+ <pre class="lines">
3173
+
3174
+
3175
+ 252
3176
+ 253
3177
+ 254</pre>
3178
+ </td>
3179
+ <td>
3180
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 252</span>
3181
+
3182
+ <span class='kw'>def</span> <span class='id identifier rubyid_to_local_path'>to_local_path</span><span class='lparen'>(</span><span class='id identifier rubyid_separator'>separator</span> <span class='op'>=</span> <span class='const'>File</span><span class='op'>::</span><span class='const'>SEPARATOR</span><span class='rparen'>)</span>
3183
+ <span class='ivar'>@components</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='id identifier rubyid_separator'>separator</span><span class='rparen'>)</span>
3184
+ <span class='kw'>end</span></pre>
3185
+ </td>
3186
+ </tr>
3187
+ </table>
3188
+ </div>
3189
+
3190
+ <div class="method_details ">
3191
+ <h3 class="signature " id="to_relative!-instance_method">
3192
+
3193
+ #<strong>to_relative!</strong> &#x21d2; <tt>Object</tt>
3194
+
3195
+
3196
+
3197
+
3198
+
3199
+ </h3><table class="source_code">
3200
+ <tr>
3201
+ <td>
3202
+ <pre class="lines">
3203
+
3204
+
3205
+ 157
3206
+ 158
3207
+ 159</pre>
3208
+ </td>
3209
+ <td>
3210
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 157</span>
3211
+
3212
+ <span class='kw'>def</span> <span class='id identifier rubyid_to_relative!'>to_relative!</span>
3213
+ <span class='ivar'>@components</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span> <span class='kw'>if</span> <span class='id identifier rubyid_relative?'>relative?</span>
3214
+ <span class='kw'>end</span></pre>
3215
+ </td>
3216
+ </tr>
3217
+ </table>
3218
+ </div>
3219
+
3220
+ <div class="method_details ">
3221
+ <h3 class="signature " id="to_str-instance_method">
3222
+
3223
+ #<strong>to_str</strong> &#x21d2; <tt>Object</tt>
3224
+
3225
+
3226
+
3227
+ <span class="aliases">Also known as:
3228
+ <span class="names"><span id='to_s-instance_method'>to_s</span></span>
3229
+ </span>
3230
+
3231
+
3232
+
3233
+ </h3><table class="source_code">
3234
+ <tr>
3235
+ <td>
3236
+ <pre class="lines">
3237
+
3238
+
3239
+ 161
3240
+ 162
3241
+ 163
3242
+ 164
3243
+ 165
3244
+ 166
3245
+ 167</pre>
3246
+ </td>
3247
+ <td>
3248
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 161</span>
3249
+
3250
+ <span class='kw'>def</span> <span class='id identifier rubyid_to_str'>to_str</span>
3251
+ <span class='kw'>if</span> <span class='ivar'>@components</span> <span class='op'>==</span> <span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
3252
+ <span class='const'><span class='object_link'><a href="#SEPARATOR-constant" title="Utopia::Path::SEPARATOR (constant)">SEPARATOR</a></span></span>
3253
+ <span class='kw'>else</span>
3254
+ <span class='ivar'>@components</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#SEPARATOR-constant" title="Utopia::Path::SEPARATOR (constant)">SEPARATOR</a></span></span><span class='rparen'>)</span>
3255
+ <span class='kw'>end</span>
3256
+ <span class='kw'>end</span></pre>
3257
+ </td>
3258
+ </tr>
3259
+ </table>
3260
+ </div>
3261
+
3262
+ <div class="method_details ">
3263
+ <h3 class="signature " id="with_prefix-instance_method">
3264
+
3265
+ #<strong>with_prefix</strong>(*args) &#x21d2; <tt>Object</tt>
3266
+
3267
+
3268
+
3269
+
3270
+
3271
+ </h3><table class="source_code">
3272
+ <tr>
3273
+ <td>
3274
+ <pre class="lines">
3275
+
3276
+
3277
+ 199
3278
+ 200
3279
+ 201</pre>
3280
+ </td>
3281
+ <td>
3282
+ <pre class="code"><span class="info file"># File 'lib/utopia/path.rb', line 199</span>
3283
+
3284
+ <span class='kw'>def</span> <span class='id identifier rubyid_with_prefix'>with_prefix</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
3285
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='kw'>self</span>
3286
+ <span class='kw'>end</span></pre>
3287
+ </td>
3288
+ </tr>
3289
+ </table>
3290
+ </div>
3291
+
3292
+ </div>
3293
+
3294
+ </div>
3295
+
3296
+ <div id="footer">
3297
+ Generated on Sat Mar 24 21:17:19 2018 by
3298
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
3299
+ 0.9.12 (ruby-2.5.0).
3300
+ </div>
3301
+
3302
+ </div>
3303
+ </body>
3304
+ </html>