carats 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (422) hide show
  1. data/ChangeLog +2 -0
  2. data/LICENSE +5 -0
  3. data/README +67 -0
  4. data/Reapfile +72 -0
  5. data/ToDo +24 -0
  6. data/bench/b_harray.rb +49 -0
  7. data/bench/b_range.rb +64 -0
  8. data/demo/ansicolor/cdiff.rb +20 -0
  9. data/demo/ansicolor/example.rb +82 -0
  10. data/demo/io-reactor/chatserver.rb +347 -0
  11. data/doc/classes/Array.html +172 -0
  12. data/doc/classes/BBCode.html +638 -0
  13. data/doc/classes/BinaryReader.html +675 -0
  14. data/doc/classes/Binding.html +223 -0
  15. data/doc/classes/ByteOrder.html +284 -0
  16. data/doc/classes/Class.html +189 -0
  17. data/doc/classes/Constant.html +785 -0
  18. data/doc/classes/Constant/CGS.html +609 -0
  19. data/doc/classes/Continuation.html +113 -0
  20. data/doc/classes/Coroutine.html +387 -0
  21. data/doc/classes/CountingSemaphore.html +337 -0
  22. data/doc/classes/CrossCase.html +561 -0
  23. data/doc/classes/DynamicMixin.html +185 -0
  24. data/doc/classes/EnumerableWithArgs.html +550 -0
  25. data/doc/classes/Expect.html +428 -0
  26. data/doc/classes/Expect/DefaultChain.html +113 -0
  27. data/doc/classes/Expect/SeparatedPattern.html +223 -0
  28. data/doc/classes/Expect/Timeout.html +167 -0
  29. data/doc/classes/Expect/UnmatchedMessage.html +160 -0
  30. data/doc/classes/FileList.html +833 -0
  31. data/doc/classes/FloatString.html +534 -0
  32. data/doc/classes/Functor.html +211 -0
  33. data/doc/classes/HArray.html +1872 -0
  34. data/doc/classes/HTML.html +328 -0
  35. data/doc/classes/Heap.html +683 -0
  36. data/doc/classes/Heap/EmptyHeapException.html +111 -0
  37. data/doc/classes/Heap/Max.html +176 -0
  38. data/doc/classes/Heap/Min.html +176 -0
  39. data/doc/classes/IO.html +108 -0
  40. data/doc/classes/IO/Reactor.html +790 -0
  41. data/doc/classes/IO/Redirect.html +289 -0
  42. data/doc/classes/Infinity.html +320 -0
  43. data/doc/classes/Interval.html +1014 -0
  44. data/doc/classes/InvalidNackError.html +161 -0
  45. data/doc/classes/Kernel.html +204 -0
  46. data/doc/classes/Lisp.html +1132 -0
  47. data/doc/classes/Lisp/DottedPair.html +379 -0
  48. data/doc/classes/Lisp/Format.html +178 -0
  49. data/doc/classes/Lisp/Format/ArgumentError.html +126 -0
  50. data/doc/classes/Lisp/Format/Directives.html +155 -0
  51. data/doc/classes/Lisp/Format/Directives/ArgJump.html +178 -0
  52. data/doc/classes/Lisp/Format/Directives/Ascii.html +119 -0
  53. data/doc/classes/Lisp/Format/Directives/BeginCaseConversion.html +185 -0
  54. data/doc/classes/Lisp/Format/Directives/BeginConditional.html +307 -0
  55. data/doc/classes/Lisp/Format/Directives/BeginIteration.html +338 -0
  56. data/doc/classes/Lisp/Format/Directives/Binary.html +157 -0
  57. data/doc/classes/Lisp/Format/Directives/Character.html +228 -0
  58. data/doc/classes/Lisp/Format/Directives/CharacterDirective.html +203 -0
  59. data/doc/classes/Lisp/Format/Directives/ClauseSeparator.html +166 -0
  60. data/doc/classes/Lisp/Format/Directives/Decimal.html +119 -0
  61. data/doc/classes/Lisp/Format/Directives/Directive.html +397 -0
  62. data/doc/classes/Lisp/Format/Directives/DollarFP.html +205 -0
  63. data/doc/classes/Lisp/Format/Directives/EndCaseConversion.html +174 -0
  64. data/doc/classes/Lisp/Format/Directives/EndConditional.html +159 -0
  65. data/doc/classes/Lisp/Format/Directives/EndIteration.html +163 -0
  66. data/doc/classes/Lisp/Format/Directives/ExpFP.html +252 -0
  67. data/doc/classes/Lisp/Format/Directives/FFFP.html +224 -0
  68. data/doc/classes/Lisp/Format/Directives/Factory.html +180 -0
  69. data/doc/classes/Lisp/Format/Directives/FreshLine.html +175 -0
  70. data/doc/classes/Lisp/Format/Directives/GeneralFP.html +265 -0
  71. data/doc/classes/Lisp/Format/Directives/Hexadecimal.html +157 -0
  72. data/doc/classes/Lisp/Format/Directives/Indirection.html +183 -0
  73. data/doc/classes/Lisp/Format/Directives/Literal.html +187 -0
  74. data/doc/classes/Lisp/Format/Directives/NewLine.html +158 -0
  75. data/doc/classes/Lisp/Format/Directives/NewPage.html +158 -0
  76. data/doc/classes/Lisp/Format/Directives/Number.html +243 -0
  77. data/doc/classes/Lisp/Format/Directives/Octal.html +157 -0
  78. data/doc/classes/Lisp/Format/Directives/Plural.html +177 -0
  79. data/doc/classes/Lisp/Format/Directives/Print.html +237 -0
  80. data/doc/classes/Lisp/Format/Directives/Radix.html +432 -0
  81. data/doc/classes/Lisp/Format/Directives/SExpression.html +157 -0
  82. data/doc/classes/Lisp/Format/Directives/SkipWhitespace.html +165 -0
  83. data/doc/classes/Lisp/Format/Directives/Tabulate.html +198 -0
  84. data/doc/classes/Lisp/Format/Directives/Tilde.html +158 -0
  85. data/doc/classes/Lisp/Format/Directives/UnknownDirectiveError.html +117 -0
  86. data/doc/classes/Lisp/Format/Formatter.html +193 -0
  87. data/doc/classes/Lisp/Format/IncompleteParameterError.html +119 -0
  88. data/doc/classes/Lisp/Format/IndexError.html +126 -0
  89. data/doc/classes/Lisp/Format/Lexer.html +479 -0
  90. data/doc/classes/Lisp/Format/MalformedError.html +119 -0
  91. data/doc/classes/Lisp/Format/MissingParameterError.html +119 -0
  92. data/doc/classes/Lisp/Format/ModifierError.html +119 -0
  93. data/doc/classes/Lisp/Format/Output.html +239 -0
  94. data/doc/classes/Lisp/Format/ParameterError.html +126 -0
  95. data/doc/classes/Lisp/Format/Parameters.html +123 -0
  96. data/doc/classes/Lisp/Format/Parameters/Argument.html +172 -0
  97. data/doc/classes/Lisp/Format/Parameters/ArgumentCount.html +159 -0
  98. data/doc/classes/Lisp/Format/Parameters/Character.html +119 -0
  99. data/doc/classes/Lisp/Format/Parameters/Default.html +120 -0
  100. data/doc/classes/Lisp/Format/Parameters/Integer.html +119 -0
  101. data/doc/classes/Lisp/Format/Parameters/Parameter.html +206 -0
  102. data/doc/classes/Lisp/Format/Parser.html +212 -0
  103. data/doc/classes/Lisp/Format/Positioned.html +166 -0
  104. data/doc/classes/Lisp/Format/State.html +455 -0
  105. data/doc/classes/Lisp/Format/SyntaxError.html +126 -0
  106. data/doc/classes/Method.html +274 -0
  107. data/doc/classes/Method/DuckHunter.html +281 -0
  108. data/doc/classes/Module.html +709 -0
  109. data/doc/classes/Multiton.html +284 -0
  110. data/doc/classes/Multiton/New.html +164 -0
  111. data/doc/classes/Multiton/Semi.html +155 -0
  112. data/doc/classes/NackClass.html +322 -0
  113. data/doc/classes/NilClass.html +231 -0
  114. data/doc/classes/NilComparable.html +179 -0
  115. data/doc/classes/NotCopyable.html +273 -0
  116. data/doc/classes/Object.html +261 -0
  117. data/doc/classes/OpenStructable.html +346 -0
  118. data/doc/classes/OrderedHash.html +939 -0
  119. data/doc/classes/Parser.html +515 -0
  120. data/doc/classes/Parser/Main.html +178 -0
  121. data/doc/classes/Parser/Marker.html +475 -0
  122. data/doc/classes/Parser/Registry.html +354 -0
  123. data/doc/classes/Parser/Token.html +399 -0
  124. data/doc/classes/Parser/UnitToken.html +222 -0
  125. data/doc/classes/Ref.html +230 -0
  126. data/doc/classes/SimpleStringIO.html +183 -0
  127. data/doc/classes/StaticHash.html +202 -0
  128. data/doc/classes/String.html +172 -0
  129. data/doc/classes/Struct.html +181 -0
  130. data/doc/classes/SuperStruct.html +382 -0
  131. data/doc/classes/Term.html +156 -0
  132. data/doc/classes/Term/ANSIColor.html +185 -0
  133. data/doc/classes/Text.html +138 -0
  134. data/doc/classes/Text/Soundex.html +222 -0
  135. data/doc/classes/TextTagIterator.html +911 -0
  136. data/doc/classes/Time.html +119 -0
  137. data/doc/classes/Time/Limit.html +303 -0
  138. data/doc/classes/Time/Limit/Dummy.html +181 -0
  139. data/doc/classes/Timer.html +351 -0
  140. data/doc/classes/TracePoint.html +532 -0
  141. data/doc/classes/Tuple.html +178 -0
  142. data/doc/classes/Uninheritable.html +213 -0
  143. data/doc/classes/Version.html +783 -0
  144. data/doc/created.rid +1 -0
  145. data/doc/files/LICENSE.html +113 -0
  146. data/doc/files/README.html +201 -0
  147. data/doc/files/lib/carat/1st_rb.html +107 -0
  148. data/doc/files/lib/carat/ansicolor_rb.html +146 -0
  149. data/doc/files/lib/carat/attr_rb.html +101 -0
  150. data/doc/files/lib/carat/bbcode_rb.html +152 -0
  151. data/doc/files/lib/carat/binaryreader_rb.html +114 -0
  152. data/doc/files/lib/carat/binding-of-caller_rb.html +108 -0
  153. data/doc/files/lib/carat/byteorder_rb.html +107 -0
  154. data/doc/files/lib/carat/constant_rb.html +167 -0
  155. data/doc/files/lib/carat/coroutine_rb.html +156 -0
  156. data/doc/files/lib/carat/crosscase_rb.html +224 -0
  157. data/doc/files/lib/carat/duckhunter_rb.html +165 -0
  158. data/doc/files/lib/carat/dynamic-mixin_rb.html +101 -0
  159. data/doc/files/lib/carat/enumerable-args_rb.html +140 -0
  160. data/doc/files/lib/carat/expect_rb.html +137 -0
  161. data/doc/files/lib/carat/filelist_rb.html +130 -0
  162. data/doc/files/lib/carat/floatstring_rb.html +126 -0
  163. data/doc/files/lib/carat/functor_rb.html +140 -0
  164. data/doc/files/lib/carat/harray_rb.html +128 -0
  165. data/doc/files/lib/carat/heap_rb.html +154 -0
  166. data/doc/files/lib/carat/html-helpers_rb.html +116 -0
  167. data/doc/files/lib/carat/infinity_rb.html +142 -0
  168. data/doc/files/lib/carat/init_rb.html +127 -0
  169. data/doc/files/lib/carat/interval_rb.html +162 -0
  170. data/doc/files/lib/carat/io-reactor_rb.html +211 -0
  171. data/doc/files/lib/carat/io-redirect_rb.html +132 -0
  172. data/doc/files/lib/carat/lisp-format_rb.html +187 -0
  173. data/doc/files/lib/carat/lisp_rb.html +152 -0
  174. data/doc/files/lib/carat/macro_rb.html +129 -0
  175. data/doc/files/lib/carat/multiton_rb.html +178 -0
  176. data/doc/files/lib/carat/nack_rb.html +193 -0
  177. data/doc/files/lib/carat/nil-comparable_rb.html +126 -0
  178. data/doc/files/lib/carat/nil-missing_rb.html +101 -0
  179. data/doc/files/lib/carat/notcopyable_rb.html +166 -0
  180. data/doc/files/lib/carat/orderedhash_rb.html +107 -0
  181. data/doc/files/lib/carat/ostructable_rb.html +157 -0
  182. data/doc/files/lib/carat/parser-old_rb.html +239 -0
  183. data/doc/files/lib/carat/parser_rb.html +244 -0
  184. data/doc/files/lib/carat/ref_rb.html +107 -0
  185. data/doc/files/lib/carat/semaphore_rb.html +132 -0
  186. data/doc/files/lib/carat/snapshot_rb.html +152 -0
  187. data/doc/files/lib/carat/soundex_rb.html +128 -0
  188. data/doc/files/lib/carat/sstruct_rb.html +142 -0
  189. data/doc/files/lib/carat/statichash_rb.html +150 -0
  190. data/doc/files/lib/carat/tagiter_rb.html +236 -0
  191. data/doc/files/lib/carat/timelimit_rb.html +136 -0
  192. data/doc/files/lib/carat/timer_rb.html +153 -0
  193. data/doc/files/lib/carat/tracepoint_rb.html +160 -0
  194. data/doc/files/lib/carat/tuple_rb.html +123 -0
  195. data/doc/files/lib/carat/uninheritable_rb.html +101 -0
  196. data/doc/files/lib/carat/version_rb.html +141 -0
  197. data/doc/fr_class_index.html +159 -0
  198. data/doc/fr_file_index.html +78 -0
  199. data/doc/fr_method_index.html +663 -0
  200. data/doc/index.html +24 -0
  201. data/doc/rdoc-style.css +208 -0
  202. data/lib/carat-dev/README +11 -0
  203. data/lib/carat-dev/access-blocks/access_blocks.rb +42 -0
  204. data/lib/carat-dev/association/association.rb +70 -0
  205. data/lib/carat-dev/blankslate/blankslate.rb +51 -0
  206. data/lib/carat-dev/breakpoint.rb +518 -0
  207. data/lib/carat-dev/class-constructor/constructor_methods.rb +78 -0
  208. data/lib/carat-dev/class-constructor/tc_constructor.rb +35 -0
  209. data/lib/carat-dev/closecall/closecall-test.rb +39 -0
  210. data/lib/carat-dev/closecall/closecall.rb +101 -0
  211. data/lib/carat-dev/commandrunner/commandrunner.rb +100 -0
  212. data/lib/carat-dev/conditional/conditionals.rb +106 -0
  213. data/lib/carat-dev/daemon/daemon.rb +70 -0
  214. data/lib/carat-dev/detach/detach.rb +363 -0
  215. data/lib/carat-dev/detach/tc_detach.rb +57 -0
  216. data/lib/carat-dev/import-module/import-module-0.81.tar.gz +0 -0
  217. data/lib/carat-dev/import-module/import-module-0.81/LICENSE +1 -0
  218. data/lib/carat-dev/import-module/import-module-0.81/Makefile +11 -0
  219. data/lib/carat-dev/import-module/import-module-0.81/README +4 -0
  220. data/lib/carat-dev/import-module/import-module-0.81/dev-lib/import-module-hash.rb +49 -0
  221. data/lib/carat-dev/import-module/import-module-0.81/dev-lib/import-module-pip.rb +71 -0
  222. data/lib/carat-dev/import-module/import-module-0.81/dev-lib/import-module-unbound-method.rb +36 -0
  223. data/lib/carat-dev/import-module/import-module-0.81/doc/README-ja.html +293 -0
  224. data/lib/carat-dev/import-module/import-module-0.81/doc/README-ja.rd +306 -0
  225. data/lib/carat-dev/import-module/import-module-0.81/doc/README.html +290 -0
  226. data/lib/carat-dev/import-module/import-module-0.81/doc/README.rd +303 -0
  227. data/lib/carat-dev/import-module/import-module-0.81/doc/style.css +85 -0
  228. data/lib/carat-dev/import-module/import-module-0.81/install.rb +99 -0
  229. data/lib/carat-dev/import-module/import-module-0.81/lib/import-module-single-thread.rb +84 -0
  230. data/lib/carat-dev/import-module/import-module-0.81/lib/import-module.rb +493 -0
  231. data/lib/carat-dev/import-module/import-module-0.81/test/Makefile +2 -0
  232. data/lib/carat-dev/import-module/import-module-0.81/test/test +91 -0
  233. data/lib/carat-dev/import-module/import-module-0.81/test/test-import-module.rb +936 -0
  234. data/lib/carat-dev/import-module/import-module-0.81/test/test-import_scope.rb +33 -0
  235. data/lib/carat-dev/import-module/import-module-0.81/test/test-scope_import.rb +33 -0
  236. data/lib/carat-dev/import-module/import-module-0.81/test/test-time.rb +184 -0
  237. data/lib/carat-dev/import-module/import-module-0.81/test/test.sh +91 -0
  238. data/lib/carat-dev/import-module/import-module-0.81/test/time.rb +135 -0
  239. data/lib/carat-dev/import-module/import-module-0.81/test/times-do.sh +10 -0
  240. data/lib/carat-dev/interface_work/SCRAP/i-contracts.rb +37 -0
  241. data/lib/carat-dev/interface_work/SCRAP/interface.rb +105 -0
  242. data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0.zip +0 -0
  243. data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/CHANGES +3 -0
  244. data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/MANIFEST +15 -0
  245. data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/README +32 -0
  246. data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/doc/interface.rd +73 -0
  247. data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/doc/interface.txt +94 -0
  248. data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/install.rb +16 -0
  249. data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/lib/interface.rb +50 -0
  250. data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/test/tc_interface.rb +51 -0
  251. data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/test/test.rb +29 -0
  252. data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/test/test_instance.rb +24 -0
  253. data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/test/test_sub.rb +29 -0
  254. data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/test/test_unrequire.rb +28 -0
  255. data/lib/carat-dev/interface_work/contracts/contract.zip +0 -0
  256. data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract.html +376 -0
  257. data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract.src/M000001.html +23 -0
  258. data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract.src/M000002.html +18 -0
  259. data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract.src/M000003.html +19 -0
  260. data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract.src/M000004.html +29 -0
  261. data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract.src/M000005.html +18 -0
  262. data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract.src/M000006.html +18 -0
  263. data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract/ContractError.html +142 -0
  264. data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract/ContractException.html +153 -0
  265. data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract/ContractMismatch.html +125 -0
  266. data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Module.html +157 -0
  267. data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Module.src/M000007.html +112 -0
  268. data/lib/carat-dev/interface_work/contracts/contract/doc/created.rid +1 -0
  269. data/lib/carat-dev/interface_work/contracts/contract/doc/files/lib/contract/assertions_rb.html +109 -0
  270. data/lib/carat-dev/interface_work/contracts/contract/doc/files/lib/contract/exception_rb.html +108 -0
  271. data/lib/carat-dev/interface_work/contracts/contract/doc/files/lib/contract/integration_rb.html +108 -0
  272. data/lib/carat-dev/interface_work/contracts/contract/doc/files/lib/contract/overrides_rb.html +109 -0
  273. data/lib/carat-dev/interface_work/contracts/contract/doc/files/lib/contract_rb.html +114 -0
  274. data/lib/carat-dev/interface_work/contracts/contract/doc/fr_class_index.html +31 -0
  275. data/lib/carat-dev/interface_work/contracts/contract/doc/fr_file_index.html +31 -0
  276. data/lib/carat-dev/interface_work/contracts/contract/doc/fr_method_index.html +33 -0
  277. data/lib/carat-dev/interface_work/contracts/contract/doc/index.html +24 -0
  278. data/lib/carat-dev/interface_work/contracts/contract/doc/rdoc-style.css +208 -0
  279. data/lib/carat-dev/interface_work/contracts/contract/lib/contract.rb +88 -0
  280. data/lib/carat-dev/interface_work/contracts/contract/lib/contract/assertions.rb +37 -0
  281. data/lib/carat-dev/interface_work/contracts/contract/lib/contract/exception.rb +92 -0
  282. data/lib/carat-dev/interface_work/contracts/contract/lib/contract/integration.rb +132 -0
  283. data/lib/carat-dev/interface_work/contracts/contract/lib/contract/overrides.rb +32 -0
  284. data/lib/carat-dev/interface_work/must.rb +37 -0
  285. data/lib/carat-dev/interface_work/type.rb +232 -0
  286. data/lib/carat-dev/main/tc_toplevel.rb +23 -0
  287. data/lib/carat-dev/main/toplevel.rb +33 -0
  288. data/lib/carat-dev/main/toplevel_test.rb +24 -0
  289. data/lib/carat-dev/misc/1.rb +40 -0
  290. data/lib/carat-dev/misc/misc.rb +44 -0
  291. data/lib/carat-dev/misc/sys.rb +186 -0
  292. data/lib/carat-dev/misc/temp.rb +1 -0
  293. data/lib/carat-dev/misc/utils.rb +518 -0
  294. data/lib/carat-dev/predicate/predicate.rb +109 -0
  295. data/lib/carat-dev/predicate/predicate_test.rb +67 -0
  296. data/lib/carat-dev/premshree.rb +40 -0
  297. data/lib/carat-dev/priority-queue/pqueue.rb +183 -0
  298. data/lib/carat-dev/priority-queue/priorityqueue.rb +84 -0
  299. data/lib/carat-dev/quaternion/quaternion.rb +529 -0
  300. data/lib/carat-dev/range.rb +259 -0
  301. data/lib/carat-dev/system/rubyinfo.rb +75 -0
  302. data/lib/carat-dev/system/system.rb +105 -0
  303. data/lib/carat-dev/tc_range.rb +118 -0
  304. data/lib/carat-dev/timer/timer-doc/classes/Timer.html +291 -0
  305. data/lib/carat-dev/timer/timer-doc/classes/Timer.src/M000001.html +26 -0
  306. data/lib/carat-dev/timer/timer-doc/classes/Timer.src/M000002.html +19 -0
  307. data/lib/carat-dev/timer/timer-doc/classes/Timer.src/M000003.html +18 -0
  308. data/lib/carat-dev/timer/timer-doc/classes/Timer.src/M000004.html +18 -0
  309. data/lib/carat-dev/timer/timer-doc/classes/Timer.src/M000005.html +21 -0
  310. data/lib/carat-dev/timer/timer-doc/classes/Timer.src/M000006.html +23 -0
  311. data/lib/carat-dev/timer/timer-doc/created.rid +1 -0
  312. data/lib/carat-dev/timer/timer-doc/files/timer_rb.html +144 -0
  313. data/lib/carat-dev/timer/timer-doc/fr_class_index.html +27 -0
  314. data/lib/carat-dev/timer/timer-doc/fr_file_index.html +27 -0
  315. data/lib/carat-dev/timer/timer-doc/fr_method_index.html +32 -0
  316. data/lib/carat-dev/timer/timer-doc/index.html +24 -0
  317. data/lib/carat-dev/timer/timer-doc/rdoc-style.css +208 -0
  318. data/lib/carat-dev/timer/timer.rb +160 -0
  319. data/lib/carat-dev/vars/vars.rb +62 -0
  320. data/lib/carat/1st.rb +58 -0
  321. data/lib/carat/ansicolor.rb +122 -0
  322. data/lib/carat/attr.rb +342 -0
  323. data/lib/carat/bbcode.rb +352 -0
  324. data/lib/carat/binaryreader.rb +170 -0
  325. data/lib/carat/binding-of-caller.rb +83 -0
  326. data/lib/carat/byteorder.rb +34 -0
  327. data/lib/carat/constant.rb +287 -0
  328. data/lib/carat/coroutine.rb +102 -0
  329. data/lib/carat/crosscase.rb +309 -0
  330. data/lib/carat/duckhunter.rb +158 -0
  331. data/lib/carat/dynamic-mixin.rb +71 -0
  332. data/lib/carat/enumerable-args.rb +125 -0
  333. data/lib/carat/expect.rb +192 -0
  334. data/lib/carat/filelist.rb +277 -0
  335. data/lib/carat/floatstring.rb +153 -0
  336. data/lib/carat/functor.rb +41 -0
  337. data/lib/carat/harray.rb +507 -0
  338. data/lib/carat/heap.rb +193 -0
  339. data/lib/carat/html-helpers.rb +82 -0
  340. data/lib/carat/infinity.rb +61 -0
  341. data/lib/carat/init.rb +33 -0
  342. data/lib/carat/interval.rb +248 -0
  343. data/lib/carat/io-reactor.rb +657 -0
  344. data/lib/carat/io-redirect.rb +99 -0
  345. data/lib/carat/lisp-format.rb +1832 -0
  346. data/lib/carat/lisp.rb +336 -0
  347. data/lib/carat/macro.rb +68 -0
  348. data/lib/carat/multiton.rb +153 -0
  349. data/lib/carat/nack.rb +115 -0
  350. data/lib/carat/nil-comparable.rb +67 -0
  351. data/lib/carat/nil-missing.rb +12 -0
  352. data/lib/carat/notcopyable.rb +68 -0
  353. data/lib/carat/orderedhash.rb +249 -0
  354. data/lib/carat/ostructable.rb +138 -0
  355. data/lib/carat/parser-old.rb +350 -0
  356. data/lib/carat/parser.rb +393 -0
  357. data/lib/carat/ref.rb +31 -0
  358. data/lib/carat/semaphore.rb +69 -0
  359. data/lib/carat/snapshot.rb +94 -0
  360. data/lib/carat/soundex.rb +104 -0
  361. data/lib/carat/sstruct.rb +223 -0
  362. data/lib/carat/statichash.rb +49 -0
  363. data/lib/carat/tagiter.rb +345 -0
  364. data/lib/carat/timelimit.rb +114 -0
  365. data/lib/carat/timer.rb +99 -0
  366. data/lib/carat/tracepoint.rb +154 -0
  367. data/lib/carat/tuple.rb +31 -0
  368. data/lib/carat/uninheritable.rb +68 -0
  369. data/lib/carat/version.rb +147 -0
  370. data/pub/doc/sstruct.txt +204 -0
  371. data/pub/doc/tagiter.html +145 -0
  372. data/setup.rb +1361 -0
  373. data/test/fixtures/filelist/testfile.txt +1 -0
  374. data/test/fixtures/filelist/testfile2.txt +1 -0
  375. data/test/tc_1st.rb +16 -0
  376. data/test/tc_ansicolor.rb +23 -0
  377. data/test/tc_attr.rb +46 -0
  378. data/test/tc_bbcode.rb +20 -0
  379. data/test/tc_binaryreader.rb +14 -0
  380. data/test/tc_binding_of_caller.rb +2 -0
  381. data/test/tc_byteorder.rb +41 -0
  382. data/test/tc_constant.rb +12 -0
  383. data/test/tc_coroutine.rb +50 -0
  384. data/test/tc_crosscase.rb +33 -0
  385. data/test/tc_duckhunter.rb +37 -0
  386. data/test/tc_dynamic-mixin.rb +66 -0
  387. data/test/tc_enumerable-args.rb +66 -0
  388. data/test/tc_expect.rb +83 -0
  389. data/test/tc_filelist.rb +17 -0
  390. data/test/tc_floatstring.rb +22 -0
  391. data/test/tc_functor.rb +18 -0
  392. data/test/tc_harray.rb +280 -0
  393. data/test/tc_heap.rb +6 -0
  394. data/test/tc_infinity.rb +23 -0
  395. data/test/tc_init.rb +29 -0
  396. data/test/tc_interval.rb +153 -0
  397. data/test/tc_io-reactor.rb +5 -0
  398. data/test/tc_io-redirect.rb +5 -0
  399. data/test/tc_lisp-format.rb +24 -0
  400. data/test/tc_lisp.rb +32 -0
  401. data/test/tc_macro.rb +48 -0
  402. data/test/tc_multiton.rb +188 -0
  403. data/test/tc_nack.rb +31 -0
  404. data/test/tc_nil-as-emptiness.rb +19 -0
  405. data/test/tc_nil-comparable.rb +29 -0
  406. data/test/tc_nil-missing.rb +0 -0
  407. data/test/tc_notcopyable.rb +64 -0
  408. data/test/tc_orderedhash.rb +36 -0
  409. data/test/tc_ostructable.rb +31 -0
  410. data/test/tc_semaphore.rb +5 -0
  411. data/test/tc_snapshot.rb +20 -0
  412. data/test/tc_soundex.rb +19 -0
  413. data/test/tc_sstruct.rb +313 -0
  414. data/test/tc_statichash.rb +24 -0
  415. data/test/tc_tagiter.rb +80 -0
  416. data/test/tc_timelimit.rb +47 -0
  417. data/test/tc_timer.rb +35 -0
  418. data/test/tc_tracepoint.rb +10 -0
  419. data/test/tc_tuple.rb +25 -0
  420. data/test/tc_uninheritable.rb +33 -0
  421. data/test/tc_version.rb +90 -0
  422. metadata +531 -0
@@ -0,0 +1,939 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: OrderedHash</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">OrderedHash</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../files/lib/carat/orderedhash_rb.html">
59
+ lib/carat/orderedhash.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ Hash
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </div>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+
77
+
78
+
79
+ <div id="contextContent">
80
+
81
+ <div id="description">
82
+ <h1><a href="OrderedHash.html">OrderedHash</a></h1>
83
+ <p>
84
+ Hash with preserved order and some array-like extensions
85
+ </p>
86
+ <h2>AUTHOR</h2>
87
+ <ul>
88
+ <li>jan molic &lt;/mig/at/1984/dot/cz/&gt;
89
+
90
+ </li>
91
+ </ul>
92
+ <h2>THANKS</h2>
93
+ <p>
94
+ Andrew Johnson for his suggestions and fixes of Hash[], merge, <a
95
+ href="OrderedHash.html#M000235">to_a</a>, inspect and shift.
96
+ </p>
97
+ <h2>USAGE</h2>
98
+ <p>
99
+ Just require this file and use <a href="OrderedHash.html">OrderedHash</a>
100
+ instead of Hash.
101
+ </p>
102
+ <pre>
103
+ require 'trix/orderedhash'
104
+
105
+ # You can do simply
106
+ hsh = OrderedHash.new
107
+ hsh['z'] = 1
108
+ hsh['a'] = 2
109
+ hsh['c'] = 3
110
+ p hsh.keys #=&gt; ['z','a','c']
111
+
112
+ # or using OrderedHash[] method
113
+ hsh = OrderedHash['z', 1, 'a', 2, 'c', 3]
114
+ p hsh.keys #=&gt; ['z','a','c']
115
+
116
+ # but this don't preserve order
117
+ hsh = OrderedHash['z'=&gt;1, 'a'=&gt;2, 'c'=&gt;3]
118
+ p hsh.keys #=&gt; ['a','c','z']
119
+
120
+ # OrderedHash has useful extensions: push, pop and unshift
121
+ p hsh.push('to_end', 15) #=&gt; true, key added
122
+ p hsh.push('to_end', 30) #=&gt; false, already - nothing happen
123
+ p hsh.unshift('to_begin', 50) #=&gt; true, key added
124
+ p hsh.unshift('to_begin', 60) #=&gt; false, already - nothing happen
125
+ p hsh.keys #=&gt; [&quot;to_begin&quot;, &quot;a&quot;, &quot;c&quot;, &quot;z&quot;, &quot;to_end&quot;]
126
+ p hsh.pop #=&gt; [&quot;to_end&quot;, 15], if nothing remains, return nil
127
+ p hsh.keys #=&gt; [&quot;to_begin&quot;, &quot;a&quot;, &quot;c&quot;, &quot;z&quot;]
128
+ p hsh.shift #=&gt; [&quot;to_begin&quot;, 30], if nothing remains, return nil
129
+ </pre>
130
+
131
+ </div>
132
+
133
+
134
+ </div>
135
+
136
+ <div id="method-list">
137
+ <h3 class="section-bar">Methods</h3>
138
+
139
+ <div class="name-list">
140
+ <a href="#M000217">==</a>&nbsp;&nbsp;
141
+ <a href="#M000212">[]</a>&nbsp;&nbsp;
142
+ <a href="#M000216">[]=</a>&nbsp;&nbsp;
143
+ <a href="#M000218">clear</a>&nbsp;&nbsp;
144
+ <a href="#M000219">delete</a>&nbsp;&nbsp;
145
+ <a href="#M000224">delete_if</a>&nbsp;&nbsp;
146
+ <a href="#M000222">each</a>&nbsp;&nbsp;
147
+ <a href="#M000220">each_key</a>&nbsp;&nbsp;
148
+ <a href="#M000223">each_pair</a>&nbsp;&nbsp;
149
+ <a href="#M000221">each_value</a>&nbsp;&nbsp;
150
+ <a href="#M000237">inspect</a>&nbsp;&nbsp;
151
+ <a href="#M000227">invert</a>&nbsp;&nbsp;
152
+ <a href="#M000226">keys</a>&nbsp;&nbsp;
153
+ <a href="#M000240">merge</a>&nbsp;&nbsp;
154
+ <a href="#M000239">merge!</a>&nbsp;&nbsp;
155
+ <a href="#M000213">new</a>&nbsp;&nbsp;
156
+ <a href="#M000234">pop</a>&nbsp;&nbsp;
157
+ <a href="#M000233">push</a>&nbsp;&nbsp;
158
+ <a href="#M000228">reject</a>&nbsp;&nbsp;
159
+ <a href="#M000229">reject!</a>&nbsp;&nbsp;
160
+ <a href="#M000230">replace</a>&nbsp;&nbsp;
161
+ <a href="#M000241">select</a>&nbsp;&nbsp;
162
+ <a href="#M000231">shift</a>&nbsp;&nbsp;
163
+ <a href="#M000215">store</a>&nbsp;&nbsp;
164
+ <a href="#M000214">store_only</a>&nbsp;&nbsp;
165
+ <a href="#M000235">to_a</a>&nbsp;&nbsp;
166
+ <a href="#M000236">to_s</a>&nbsp;&nbsp;
167
+ <a href="#M000232">unshift</a>&nbsp;&nbsp;
168
+ <a href="#M000238">update</a>&nbsp;&nbsp;
169
+ <a href="#M000225">values</a>&nbsp;&nbsp;
170
+ </div>
171
+ </div>
172
+
173
+ </div>
174
+
175
+
176
+ <!-- if includes -->
177
+
178
+ <div id="section">
179
+
180
+
181
+
182
+ <div id="aliases-list">
183
+ <h3 class="section-bar">External Aliases</h3>
184
+
185
+ <div class="name-list">
186
+ <table summary="aliases">
187
+ <tr class="top-aligned-row context-row">
188
+ <td class="context-item-name">store</td>
189
+ <td>-></td>
190
+ <td class="context-item-value">orig_store</td>
191
+ </tr>
192
+ </table>
193
+ </div>
194
+ </div>
195
+
196
+
197
+ <div id="attribute-list">
198
+ <h3 class="section-bar">Attributes</h3>
199
+
200
+ <div class="name-list">
201
+ <table>
202
+ <tr class="top-aligned-row context-row">
203
+ <td class="context-item-name">order</td>
204
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
205
+ <td class="context-item-desc"></td>
206
+ </tr>
207
+ </table>
208
+ </div>
209
+ </div>
210
+
211
+
212
+
213
+ <!-- if method_list -->
214
+ <div id="methods">
215
+ <h3 class="section-bar">Public Class methods</h3>
216
+
217
+ <div id="method-M000212" class="method-detail">
218
+ <a name="M000212"></a>
219
+
220
+ <div class="method-heading">
221
+ <a href="#M000212" class="method-signature">
222
+ <span class="method-name">[]</span><span class="method-args">(*args)</span>
223
+ </a>
224
+ </div>
225
+
226
+ <div class="method-description">
227
+ <p><a class="source-toggle" href="#"
228
+ onclick="toggleCode('M000212-source');return false;">[Source]</a></p>
229
+ <div class="method-source-code" id="M000212-source">
230
+ <pre>
231
+ <span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 57</span>
232
+ <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span> <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>
233
+ <span class="ruby-identifier">hsh</span> = <span class="ruby-constant">OrderedHash</span>.<span class="ruby-identifier">new</span>
234
+ <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Hash</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>]
235
+ <span class="ruby-identifier">hsh</span>.<span class="ruby-identifier">replace</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>]
236
+ <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">args</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">%</span> <span class="ruby-value">2</span>) <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>
237
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;odd number of elements for Hash&quot;</span>
238
+ <span class="ruby-keyword kw">else</span>
239
+ <span class="ruby-identifier">hsh</span>[<span class="ruby-identifier">args</span>.<span class="ruby-identifier">shift</span>] = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">shift</span> <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
240
+ <span class="ruby-keyword kw">end</span>
241
+ <span class="ruby-identifier">hsh</span>
242
+ <span class="ruby-keyword kw">end</span>
243
+ </pre>
244
+ </div>
245
+ </div>
246
+ </div>
247
+
248
+ <div id="method-M000213" class="method-detail">
249
+ <a name="M000213"></a>
250
+
251
+ <div class="method-heading">
252
+ <a href="#M000213" class="method-signature">
253
+ <span class="method-name">new</span><span class="method-args">()</span>
254
+ </a>
255
+ </div>
256
+
257
+ <div class="method-description">
258
+ <p><a class="source-toggle" href="#"
259
+ onclick="toggleCode('M000213-source');return false;">[Source]</a></p>
260
+ <div class="method-source-code" id="M000213-source">
261
+ <pre>
262
+ <span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 70</span>
263
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
264
+ <span class="ruby-ivar">@order</span> = []
265
+ <span class="ruby-keyword kw">end</span>
266
+ </pre>
267
+ </div>
268
+ </div>
269
+ </div>
270
+
271
+ <h3 class="section-bar">Public Instance methods</h3>
272
+
273
+ <div id="method-M000217" class="method-detail">
274
+ <a name="M000217"></a>
275
+
276
+ <div class="method-heading">
277
+ <a href="#M000217" class="method-signature">
278
+ <span class="method-name">==</span><span class="method-args">(hsh2)</span>
279
+ </a>
280
+ </div>
281
+
282
+ <div class="method-description">
283
+ <p><a class="source-toggle" href="#"
284
+ onclick="toggleCode('M000217-source');return false;">[Source]</a></p>
285
+ <div class="method-source-code" id="M000217-source">
286
+ <pre>
287
+ <span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 85</span>
288
+ <span class="ruby-keyword kw">def</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">hsh2</span>
289
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@order</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">hsh2</span>.<span class="ruby-identifier">order</span>
290
+ <span class="ruby-keyword kw">super</span> <span class="ruby-identifier">hsh2</span>
291
+ <span class="ruby-keyword kw">end</span>
292
+ </pre>
293
+ </div>
294
+ </div>
295
+ </div>
296
+
297
+ <div id="method-M000216" class="method-detail">
298
+ <a name="M000216"></a>
299
+
300
+ <div class="method-heading">
301
+ <span class="method-name">[]=</span><span class="method-args">(a,b)</span>
302
+ </div>
303
+
304
+ <div class="method-description">
305
+ <p>
306
+ Alias for <a href="OrderedHash.html#M000215">store</a>
307
+ </p>
308
+ </div>
309
+ </div>
310
+
311
+ <div id="method-M000218" class="method-detail">
312
+ <a name="M000218"></a>
313
+
314
+ <div class="method-heading">
315
+ <a href="#M000218" class="method-signature">
316
+ <span class="method-name">clear</span><span class="method-args">()</span>
317
+ </a>
318
+ </div>
319
+
320
+ <div class="method-description">
321
+ <p><a class="source-toggle" href="#"
322
+ onclick="toggleCode('M000218-source');return false;">[Source]</a></p>
323
+ <div class="method-source-code" id="M000218-source">
324
+ <pre>
325
+ <span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 90</span>
326
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clear</span>
327
+ <span class="ruby-ivar">@order</span> = []
328
+ <span class="ruby-keyword kw">super</span>
329
+ <span class="ruby-keyword kw">end</span>
330
+ </pre>
331
+ </div>
332
+ </div>
333
+ </div>
334
+
335
+ <div id="method-M000219" class="method-detail">
336
+ <a name="M000219"></a>
337
+
338
+ <div class="method-heading">
339
+ <a href="#M000219" class="method-signature">
340
+ <span class="method-name">delete</span><span class="method-args">(key)</span>
341
+ </a>
342
+ </div>
343
+
344
+ <div class="method-description">
345
+ <p><a class="source-toggle" href="#"
346
+ onclick="toggleCode('M000219-source');return false;">[Source]</a></p>
347
+ <div class="method-source-code" id="M000219-source">
348
+ <pre>
349
+ <span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 95</span>
350
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">delete</span> <span class="ruby-identifier">key</span>
351
+ <span class="ruby-ivar">@order</span>.<span class="ruby-identifier">delete</span> <span class="ruby-identifier">key</span>
352
+ <span class="ruby-keyword kw">super</span>
353
+ <span class="ruby-keyword kw">end</span>
354
+ </pre>
355
+ </div>
356
+ </div>
357
+ </div>
358
+
359
+ <div id="method-M000224" class="method-detail">
360
+ <a name="M000224"></a>
361
+
362
+ <div class="method-heading">
363
+ <a href="#M000224" class="method-signature">
364
+ <span class="method-name">delete_if</span><span class="method-args">() {|| ...}</span>
365
+ </a>
366
+ </div>
367
+
368
+ <div class="method-description">
369
+ <p><a class="source-toggle" href="#"
370
+ onclick="toggleCode('M000224-source');return false;">[Source]</a></p>
371
+ <div class="method-source-code" id="M000224-source">
372
+ <pre>
373
+ <span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 116</span>
374
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">delete_if</span>
375
+ <span class="ruby-ivar">@order</span>.<span class="ruby-identifier">clone</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span>
376
+ <span class="ruby-identifier">delete</span> <span class="ruby-identifier">k</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">yield</span>
377
+ }
378
+ <span class="ruby-keyword kw">self</span>
379
+ <span class="ruby-keyword kw">end</span>
380
+ </pre>
381
+ </div>
382
+ </div>
383
+ </div>
384
+
385
+ <div id="method-M000222" class="method-detail">
386
+ <a name="M000222"></a>
387
+
388
+ <div class="method-heading">
389
+ <a href="#M000222" class="method-signature">
390
+ <span class="method-name">each</span><span class="method-args">() {|k,self[k]| ...}</span>
391
+ </a>
392
+ </div>
393
+
394
+ <div class="method-description">
395
+ <p><a class="source-toggle" href="#"
396
+ onclick="toggleCode('M000222-source');return false;">[Source]</a></p>
397
+ <div class="method-source-code" id="M000222-source">
398
+ <pre>
399
+ <span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 110</span>
400
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span>
401
+ <span class="ruby-ivar">@order</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">k</span>,<span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">k</span>] }
402
+ <span class="ruby-keyword kw">self</span>
403
+ <span class="ruby-keyword kw">end</span>
404
+ </pre>
405
+ </div>
406
+ </div>
407
+ </div>
408
+
409
+ <div id="method-M000220" class="method-detail">
410
+ <a name="M000220"></a>
411
+
412
+ <div class="method-heading">
413
+ <a href="#M000220" class="method-signature">
414
+ <span class="method-name">each_key</span><span class="method-args">() {|k| ...}</span>
415
+ </a>
416
+ </div>
417
+
418
+ <div class="method-description">
419
+ <p><a class="source-toggle" href="#"
420
+ onclick="toggleCode('M000220-source');return false;">[Source]</a></p>
421
+ <div class="method-source-code" id="M000220-source">
422
+ <pre>
423
+ <span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 100</span>
424
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each_key</span>
425
+ <span class="ruby-ivar">@order</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">k</span> }
426
+ <span class="ruby-keyword kw">self</span>
427
+ <span class="ruby-keyword kw">end</span>
428
+ </pre>
429
+ </div>
430
+ </div>
431
+ </div>
432
+
433
+ <div id="method-M000223" class="method-detail">
434
+ <a name="M000223"></a>
435
+
436
+ <div class="method-heading">
437
+ <span class="method-name">each_pair</span><span class="method-args">()</span>
438
+ </div>
439
+
440
+ <div class="method-description">
441
+ <p>
442
+ Alias for <a href="OrderedHash.html#M000222">each</a>
443
+ </p>
444
+ </div>
445
+ </div>
446
+
447
+ <div id="method-M000221" class="method-detail">
448
+ <a name="M000221"></a>
449
+
450
+ <div class="method-heading">
451
+ <a href="#M000221" class="method-signature">
452
+ <span class="method-name">each_value</span><span class="method-args">() {|self[k]| ...}</span>
453
+ </a>
454
+ </div>
455
+
456
+ <div class="method-description">
457
+ <p><a class="source-toggle" href="#"
458
+ onclick="toggleCode('M000221-source');return false;">[Source]</a></p>
459
+ <div class="method-source-code" id="M000221-source">
460
+ <pre>
461
+ <span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 105</span>
462
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each_value</span>
463
+ <span class="ruby-ivar">@order</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">k</span>] }
464
+ <span class="ruby-keyword kw">self</span>
465
+ <span class="ruby-keyword kw">end</span>
466
+ </pre>
467
+ </div>
468
+ </div>
469
+ </div>
470
+
471
+ <div id="method-M000237" class="method-detail">
472
+ <a name="M000237"></a>
473
+
474
+ <div class="method-heading">
475
+ <a href="#M000237" class="method-signature">
476
+ <span class="method-name">inspect</span><span class="method-args">()</span>
477
+ </a>
478
+ </div>
479
+
480
+ <div class="method-description">
481
+ <p><a class="source-toggle" href="#"
482
+ onclick="toggleCode('M000237-source');return false;">[Source]</a></p>
483
+ <div class="method-source-code" id="M000237-source">
484
+ <pre>
485
+ <span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 193</span>
486
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inspect</span>
487
+ <span class="ruby-identifier">ary</span> = []
488
+ <span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">ary</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">k</span>.<span class="ruby-identifier">inspect</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;=&gt;&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">v</span>.<span class="ruby-identifier">inspect</span>}
489
+ <span class="ruby-value str">'{'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">ary</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;, &quot;</span>) <span class="ruby-operator">+</span> <span class="ruby-value str">'}'</span>
490
+ <span class="ruby-keyword kw">end</span>
491
+ </pre>
492
+ </div>
493
+ </div>
494
+ </div>
495
+
496
+ <div id="method-M000227" class="method-detail">
497
+ <a name="M000227"></a>
498
+
499
+ <div class="method-heading">
500
+ <a href="#M000227" class="method-signature">
501
+ <span class="method-name">invert</span><span class="method-args">()</span>
502
+ </a>
503
+ </div>
504
+
505
+ <div class="method-description">
506
+ <p><a class="source-toggle" href="#"
507
+ onclick="toggleCode('M000227-source');return false;">[Source]</a></p>
508
+ <div class="method-source-code" id="M000227-source">
509
+ <pre>
510
+ <span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 133</span>
511
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">invert</span>
512
+ <span class="ruby-identifier">hsh2</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
513
+ <span class="ruby-ivar">@order</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-identifier">hsh2</span>[<span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">k</span>]] = <span class="ruby-identifier">k</span> }
514
+ <span class="ruby-identifier">hsh2</span>
515
+ <span class="ruby-keyword kw">end</span>
516
+ </pre>
517
+ </div>
518
+ </div>
519
+ </div>
520
+
521
+ <div id="method-M000226" class="method-detail">
522
+ <a name="M000226"></a>
523
+
524
+ <div class="method-heading">
525
+ <a href="#M000226" class="method-signature">
526
+ <span class="method-name">keys</span><span class="method-args">()</span>
527
+ </a>
528
+ </div>
529
+
530
+ <div class="method-description">
531
+ <p><a class="source-toggle" href="#"
532
+ onclick="toggleCode('M000226-source');return false;">[Source]</a></p>
533
+ <div class="method-source-code" id="M000226-source">
534
+ <pre>
535
+ <span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 129</span>
536
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">keys</span>
537
+ <span class="ruby-ivar">@order</span>
538
+ <span class="ruby-keyword kw">end</span>
539
+ </pre>
540
+ </div>
541
+ </div>
542
+ </div>
543
+
544
+ <div id="method-M000240" class="method-detail">
545
+ <a name="M000240"></a>
546
+
547
+ <div class="method-heading">
548
+ <a href="#M000240" class="method-signature">
549
+ <span class="method-name">merge</span><span class="method-args">(hsh2)</span>
550
+ </a>
551
+ </div>
552
+
553
+ <div class="method-description">
554
+ <p><a class="source-toggle" href="#"
555
+ onclick="toggleCode('M000240-source');return false;">[Source]</a></p>
556
+ <div class="method-source-code" id="M000240-source">
557
+ <pre>
558
+ <span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 205</span>
559
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">merge</span> <span class="ruby-identifier">hsh2</span>
560
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span> <span class="ruby-identifier">update</span>(<span class="ruby-identifier">hsh2</span>)
561
+ <span class="ruby-keyword kw">end</span>
562
+ </pre>
563
+ </div>
564
+ </div>
565
+ </div>
566
+
567
+ <div id="method-M000239" class="method-detail">
568
+ <a name="M000239"></a>
569
+
570
+ <div class="method-heading">
571
+ <span class="method-name">merge!</span><span class="method-args">(hsh2)</span>
572
+ </div>
573
+
574
+ <div class="method-description">
575
+ <p>
576
+ Alias for <a href="OrderedHash.html#M000238">update</a>
577
+ </p>
578
+ </div>
579
+ </div>
580
+
581
+ <div id="method-M000234" class="method-detail">
582
+ <a name="M000234"></a>
583
+
584
+ <div class="method-heading">
585
+ <a href="#M000234" class="method-signature">
586
+ <span class="method-name">pop</span><span class="method-args">()</span>
587
+ </a>
588
+ </div>
589
+
590
+ <div class="method-description">
591
+ <p><a class="source-toggle" href="#"
592
+ onclick="toggleCode('M000234-source');return false;">[Source]</a></p>
593
+ <div class="method-source-code" id="M000234-source">
594
+ <pre>
595
+ <span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 178</span>
596
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pop</span>
597
+ <span class="ruby-identifier">key</span> = <span class="ruby-ivar">@order</span>.<span class="ruby-identifier">last</span>
598
+ <span class="ruby-identifier">key</span> <span class="ruby-value">? </span>[<span class="ruby-identifier">key</span>,<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">key</span>)] <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>
599
+ <span class="ruby-keyword kw">end</span>
600
+ </pre>
601
+ </div>
602
+ </div>
603
+ </div>
604
+
605
+ <div id="method-M000233" class="method-detail">
606
+ <a name="M000233"></a>
607
+
608
+ <div class="method-heading">
609
+ <a href="#M000233" class="method-signature">
610
+ <span class="method-name">push</span><span class="method-args">(k,v)</span>
611
+ </a>
612
+ </div>
613
+
614
+ <div class="method-description">
615
+ <p><a class="source-toggle" href="#"
616
+ onclick="toggleCode('M000233-source');return false;">[Source]</a></p>
617
+ <div class="method-source-code" id="M000233-source">
618
+ <pre>
619
+ <span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 168</span>
620
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">push</span> <span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span>
621
+ <span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">include?</span> <span class="ruby-identifier">k</span>
622
+ <span class="ruby-ivar">@order</span>.<span class="ruby-identifier">push</span> <span class="ruby-identifier">k</span>
623
+ <span class="ruby-identifier">orig_store</span>(<span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span>)
624
+ <span class="ruby-keyword kw">true</span>
625
+ <span class="ruby-keyword kw">else</span>
626
+ <span class="ruby-keyword kw">false</span>
627
+ <span class="ruby-keyword kw">end</span>
628
+ <span class="ruby-keyword kw">end</span>
629
+ </pre>
630
+ </div>
631
+ </div>
632
+ </div>
633
+
634
+ <div id="method-M000228" class="method-detail">
635
+ <a name="M000228"></a>
636
+
637
+ <div class="method-heading">
638
+ <a href="#M000228" class="method-signature">
639
+ <span class="method-name">reject</span><span class="method-args">(&amp;block)</span>
640
+ </a>
641
+ </div>
642
+
643
+ <div class="method-description">
644
+ <p><a class="source-toggle" href="#"
645
+ onclick="toggleCode('M000228-source');return false;">[Source]</a></p>
646
+ <div class="method-source-code" id="M000228-source">
647
+ <pre>
648
+ <span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 139</span>
649
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reject</span> <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>
650
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>.<span class="ruby-identifier">delete_if</span> <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>
651
+ <span class="ruby-keyword kw">end</span>
652
+ </pre>
653
+ </div>
654
+ </div>
655
+ </div>
656
+
657
+ <div id="method-M000229" class="method-detail">
658
+ <a name="M000229"></a>
659
+
660
+ <div class="method-heading">
661
+ <a href="#M000229" class="method-signature">
662
+ <span class="method-name">reject!</span><span class="method-args">(&amp;block)</span>
663
+ </a>
664
+ </div>
665
+
666
+ <div class="method-description">
667
+ <p><a class="source-toggle" href="#"
668
+ onclick="toggleCode('M000229-source');return false;">[Source]</a></p>
669
+ <div class="method-source-code" id="M000229-source">
670
+ <pre>
671
+ <span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 143</span>
672
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reject!</span> <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>
673
+ <span class="ruby-identifier">hsh2</span> = <span class="ruby-identifier">reject</span> <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>
674
+ <span class="ruby-keyword kw">self</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">hsh2</span> <span class="ruby-value">? </span><span class="ruby-keyword kw">nil</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">hsh2</span>
675
+ <span class="ruby-keyword kw">end</span>
676
+ </pre>
677
+ </div>
678
+ </div>
679
+ </div>
680
+
681
+ <div id="method-M000230" class="method-detail">
682
+ <a name="M000230"></a>
683
+
684
+ <div class="method-heading">
685
+ <a href="#M000230" class="method-signature">
686
+ <span class="method-name">replace</span><span class="method-args">(hsh2)</span>
687
+ </a>
688
+ </div>
689
+
690
+ <div class="method-description">
691
+ <p><a class="source-toggle" href="#"
692
+ onclick="toggleCode('M000230-source');return false;">[Source]</a></p>
693
+ <div class="method-source-code" id="M000230-source">
694
+ <pre>
695
+ <span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 148</span>
696
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">replace</span> <span class="ruby-identifier">hsh2</span>
697
+ <span class="ruby-ivar">@order</span> = <span class="ruby-identifier">hsh2</span>.<span class="ruby-identifier">keys</span>
698
+ <span class="ruby-keyword kw">super</span> <span class="ruby-identifier">hsh2</span>
699
+ <span class="ruby-keyword kw">end</span>
700
+ </pre>
701
+ </div>
702
+ </div>
703
+ </div>
704
+
705
+ <div id="method-M000241" class="method-detail">
706
+ <a name="M000241"></a>
707
+
708
+ <div class="method-heading">
709
+ <a href="#M000241" class="method-signature">
710
+ <span class="method-name">select</span><span class="method-args">() {|k,v| ...}</span>
711
+ </a>
712
+ </div>
713
+
714
+ <div class="method-description">
715
+ <p><a class="source-toggle" href="#"
716
+ onclick="toggleCode('M000241-source');return false;">[Source]</a></p>
717
+ <div class="method-source-code" id="M000241-source">
718
+ <pre>
719
+ <span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 209</span>
720
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">select</span>
721
+ <span class="ruby-identifier">ary</span> = []
722
+ <span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">ary</span> <span class="ruby-operator">&lt;&lt;</span> [<span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span> }
723
+ <span class="ruby-identifier">ary</span>
724
+ <span class="ruby-keyword kw">end</span>
725
+ </pre>
726
+ </div>
727
+ </div>
728
+ </div>
729
+
730
+ <div id="method-M000231" class="method-detail">
731
+ <a name="M000231"></a>
732
+
733
+ <div class="method-heading">
734
+ <a href="#M000231" class="method-signature">
735
+ <span class="method-name">shift</span><span class="method-args">()</span>
736
+ </a>
737
+ </div>
738
+
739
+ <div class="method-description">
740
+ <p><a class="source-toggle" href="#"
741
+ onclick="toggleCode('M000231-source');return false;">[Source]</a></p>
742
+ <div class="method-source-code" id="M000231-source">
743
+ <pre>
744
+ <span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 153</span>
745
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">shift</span>
746
+ <span class="ruby-identifier">key</span> = <span class="ruby-ivar">@order</span>.<span class="ruby-identifier">first</span>
747
+ <span class="ruby-identifier">key</span> <span class="ruby-value">? </span>[<span class="ruby-identifier">key</span>,<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">key</span>)] <span class="ruby-operator">:</span> <span class="ruby-keyword kw">super</span>
748
+ <span class="ruby-keyword kw">end</span>
749
+ </pre>
750
+ </div>
751
+ </div>
752
+ </div>
753
+
754
+ <div id="method-M000215" class="method-detail">
755
+ <a name="M000215"></a>
756
+
757
+ <div class="method-heading">
758
+ <a href="#M000215" class="method-signature">
759
+ <span class="method-name">store</span><span class="method-args">(a,b)</span>
760
+ </a>
761
+ </div>
762
+
763
+ <div class="method-description">
764
+ <p><a class="source-toggle" href="#"
765
+ onclick="toggleCode('M000215-source');return false;">[Source]</a></p>
766
+ <div class="method-source-code" id="M000215-source">
767
+ <pre>
768
+ <span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 79</span>
769
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">store</span> <span class="ruby-identifier">a</span>,<span class="ruby-identifier">b</span>
770
+ <span class="ruby-ivar">@order</span>.<span class="ruby-identifier">push</span> <span class="ruby-identifier">a</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">has_key?</span> <span class="ruby-identifier">a</span>
771
+ <span class="ruby-keyword kw">super</span> <span class="ruby-identifier">a</span>,<span class="ruby-identifier">b</span>
772
+ <span class="ruby-keyword kw">end</span>
773
+ </pre>
774
+ </div>
775
+ </div>
776
+ </div>
777
+
778
+ <div id="method-M000214" class="method-detail">
779
+ <a name="M000214"></a>
780
+
781
+ <div class="method-heading">
782
+ <a href="#M000214" class="method-signature">
783
+ <span class="method-name">store_only</span><span class="method-args">(a,b)</span>
784
+ </a>
785
+ </div>
786
+
787
+ <div class="method-description">
788
+ <p><a class="source-toggle" href="#"
789
+ onclick="toggleCode('M000214-source');return false;">[Source]</a></p>
790
+ <div class="method-source-code" id="M000214-source">
791
+ <pre>
792
+ <span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 74</span>
793
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">store_only</span> <span class="ruby-identifier">a</span>,<span class="ruby-identifier">b</span>
794
+ <span class="ruby-identifier">store</span> <span class="ruby-identifier">a</span>,<span class="ruby-identifier">b</span>
795
+ <span class="ruby-keyword kw">end</span>
796
+ </pre>
797
+ </div>
798
+ </div>
799
+ </div>
800
+
801
+ <div id="method-M000235" class="method-detail">
802
+ <a name="M000235"></a>
803
+
804
+ <div class="method-heading">
805
+ <a href="#M000235" class="method-signature">
806
+ <span class="method-name">to_a</span><span class="method-args">()</span>
807
+ </a>
808
+ </div>
809
+
810
+ <div class="method-description">
811
+ <p><a class="source-toggle" href="#"
812
+ onclick="toggleCode('M000235-source');return false;">[Source]</a></p>
813
+ <div class="method-source-code" id="M000235-source">
814
+ <pre>
815
+ <span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 183</span>
816
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_a</span>
817
+ <span class="ruby-identifier">ary</span> = []
818
+ <span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">ary</span> <span class="ruby-operator">&lt;&lt;</span> [<span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span>] }
819
+ <span class="ruby-identifier">ary</span>
820
+ <span class="ruby-keyword kw">end</span>
821
+ </pre>
822
+ </div>
823
+ </div>
824
+ </div>
825
+
826
+ <div id="method-M000236" class="method-detail">
827
+ <a name="M000236"></a>
828
+
829
+ <div class="method-heading">
830
+ <a href="#M000236" class="method-signature">
831
+ <span class="method-name">to_s</span><span class="method-args">()</span>
832
+ </a>
833
+ </div>
834
+
835
+ <div class="method-description">
836
+ <p><a class="source-toggle" href="#"
837
+ onclick="toggleCode('M000236-source');return false;">[Source]</a></p>
838
+ <div class="method-source-code" id="M000236-source">
839
+ <pre>
840
+ <span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 189</span>
841
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
842
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">to_s</span>
843
+ <span class="ruby-keyword kw">end</span>
844
+ </pre>
845
+ </div>
846
+ </div>
847
+ </div>
848
+
849
+ <div id="method-M000232" class="method-detail">
850
+ <a name="M000232"></a>
851
+
852
+ <div class="method-heading">
853
+ <a href="#M000232" class="method-signature">
854
+ <span class="method-name">unshift</span><span class="method-args">(k,v)</span>
855
+ </a>
856
+ </div>
857
+
858
+ <div class="method-description">
859
+ <p><a class="source-toggle" href="#"
860
+ onclick="toggleCode('M000232-source');return false;">[Source]</a></p>
861
+ <div class="method-source-code" id="M000232-source">
862
+ <pre>
863
+ <span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 158</span>
864
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unshift</span> <span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span>
865
+ <span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">include?</span> <span class="ruby-identifier">k</span>
866
+ <span class="ruby-ivar">@order</span>.<span class="ruby-identifier">unshift</span> <span class="ruby-identifier">k</span>
867
+ <span class="ruby-identifier">orig_store</span>(<span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span>)
868
+ <span class="ruby-keyword kw">true</span>
869
+ <span class="ruby-keyword kw">else</span>
870
+ <span class="ruby-keyword kw">false</span>
871
+ <span class="ruby-keyword kw">end</span>
872
+ <span class="ruby-keyword kw">end</span>
873
+ </pre>
874
+ </div>
875
+ </div>
876
+ </div>
877
+
878
+ <div id="method-M000238" class="method-detail">
879
+ <a name="M000238"></a>
880
+
881
+ <div class="method-heading">
882
+ <a href="#M000238" class="method-signature">
883
+ <span class="method-name">update</span><span class="method-args">(hsh2)</span>
884
+ </a>
885
+ </div>
886
+
887
+ <div class="method-description">
888
+ <p><a class="source-toggle" href="#"
889
+ onclick="toggleCode('M000238-source');return false;">[Source]</a></p>
890
+ <div class="method-source-code" id="M000238-source">
891
+ <pre>
892
+ <span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 199</span>
893
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">update</span> <span class="ruby-identifier">hsh2</span>
894
+ <span class="ruby-identifier">hsh2</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">k</span>] = <span class="ruby-identifier">v</span> }
895
+ <span class="ruby-keyword kw">self</span>
896
+ <span class="ruby-keyword kw">end</span>
897
+ </pre>
898
+ </div>
899
+ </div>
900
+ </div>
901
+
902
+ <div id="method-M000225" class="method-detail">
903
+ <a name="M000225"></a>
904
+
905
+ <div class="method-heading">
906
+ <a href="#M000225" class="method-signature">
907
+ <span class="method-name">values</span><span class="method-args">()</span>
908
+ </a>
909
+ </div>
910
+
911
+ <div class="method-description">
912
+ <p><a class="source-toggle" href="#"
913
+ onclick="toggleCode('M000225-source');return false;">[Source]</a></p>
914
+ <div class="method-source-code" id="M000225-source">
915
+ <pre>
916
+ <span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 123</span>
917
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">values</span>
918
+ <span class="ruby-identifier">ary</span> = []
919
+ <span class="ruby-ivar">@order</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-identifier">ary</span>.<span class="ruby-identifier">push</span> <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">k</span>] }
920
+ <span class="ruby-identifier">ary</span>
921
+ <span class="ruby-keyword kw">end</span>
922
+ </pre>
923
+ </div>
924
+ </div>
925
+ </div>
926
+
927
+
928
+ </div>
929
+
930
+
931
+ </div>
932
+
933
+
934
+ <div id="validator-badges">
935
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
936
+ </div>
937
+
938
+ </body>
939
+ </html>