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,351 @@
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: Timer</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">Timer</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../files/lib/carat/timer_rb.html">
59
+ lib/carat/timer.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
+ <a href="Object.html">
69
+ Object
70
+ </a>
71
+ </td>
72
+ </tr>
73
+ </table>
74
+ </div>
75
+ <!-- banner header -->
76
+
77
+ <div id="bodyContent">
78
+
79
+
80
+
81
+ <div id="contextContent">
82
+
83
+ <div id="description">
84
+ <h1><a href="Timer.html">Timer</a>, with timed</h1>
85
+ <p>
86
+ <a href="Timer.html">Timer</a> class. Also provides a block method for
87
+ running a timed procedure.
88
+ </p>
89
+ <h2>Usage</h2>
90
+ <pre>
91
+ require 'carat/timer'
92
+
93
+ timed { |timer|
94
+
95
+ timer.total_time.round #=&gt; 0
96
+
97
+ sleep 1
98
+ timer.total_time.round #=&gt; 1
99
+
100
+ timer.stop
101
+ timer.total_time.round #=&gt; 1
102
+
103
+ sleep 2
104
+ timer.total_time.round #=&gt; 1
105
+
106
+ timer.start
107
+ timer.total_time.round #=&gt; 1
108
+
109
+ sleep 1
110
+ timer.total_time.round #=&gt; 2
111
+
112
+ }
113
+ </pre>
114
+ <h2>Notes</h2>
115
+ <p>
116
+ I would like to take this and meger it with TimeLimit in some manner.
117
+ </p>
118
+ <h2>Author</h2>
119
+ <ul>
120
+ <li>Paul Brannan &lt;paul@atdesk.com&gt;
121
+
122
+ </li>
123
+ </ul>
124
+ <h2>Legal</h2>
125
+ <p>
126
+ Adapted from Ruby Treasures 0.4 Copyright (C) 2002 Paul Brannan
127
+ &lt;paul@atdesk.com&gt;
128
+ </p>
129
+ <p>
130
+ You may distribute this software under the same terms as Ruby (see the file
131
+ COPYING that was distributed with this library).
132
+ </p>
133
+
134
+ </div>
135
+
136
+
137
+ </div>
138
+
139
+ <div id="method-list">
140
+ <h3 class="section-bar">Methods</h3>
141
+
142
+ <div class="name-list">
143
+ <a href="#M000348">new</a>&nbsp;&nbsp;
144
+ <a href="#M000351">running?</a>&nbsp;&nbsp;
145
+ <a href="#M000349">start</a>&nbsp;&nbsp;
146
+ <a href="#M000350">stop</a>&nbsp;&nbsp;
147
+ <a href="#M000352">stopped?</a>&nbsp;&nbsp;
148
+ <a href="#M000353">total_time</a>&nbsp;&nbsp;
149
+ </div>
150
+ </div>
151
+
152
+ </div>
153
+
154
+
155
+ <!-- if includes -->
156
+
157
+ <div id="section">
158
+
159
+
160
+
161
+
162
+
163
+ <div id="attribute-list">
164
+ <h3 class="section-bar">Attributes</h3>
165
+
166
+ <div class="name-list">
167
+ <table>
168
+ <tr class="top-aligned-row context-row">
169
+ <td class="context-item-name">end_time</td>
170
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
171
+ <td class="context-item-desc"></td>
172
+ </tr>
173
+ <tr class="top-aligned-row context-row">
174
+ <td class="context-item-name">start_time</td>
175
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
176
+ <td class="context-item-desc"></td>
177
+ </tr>
178
+ </table>
179
+ </div>
180
+ </div>
181
+
182
+
183
+
184
+ <!-- if method_list -->
185
+ <div id="methods">
186
+ <h3 class="section-bar">Public Class methods</h3>
187
+
188
+ <div id="method-M000348" class="method-detail">
189
+ <a name="M000348"></a>
190
+
191
+ <div class="method-heading">
192
+ <a href="#M000348" class="method-signature">
193
+ <span class="method-name">new</span><span class="method-args">()</span>
194
+ </a>
195
+ </div>
196
+
197
+ <div class="method-description">
198
+ <p><a class="source-toggle" href="#"
199
+ onclick="toggleCode('M000348-source');return false;">[Source]</a></p>
200
+ <div class="method-source-code" id="M000348-source">
201
+ <pre>
202
+ <span class="ruby-comment cmt"># File lib/carat/timer.rb, line 54</span>
203
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
204
+ <span class="ruby-ivar">@start_time</span> = <span class="ruby-keyword kw">nil</span>
205
+ <span class="ruby-ivar">@end_time</span> = <span class="ruby-keyword kw">nil</span>
206
+ <span class="ruby-ivar">@total_time</span> = <span class="ruby-value">0</span>
207
+ <span class="ruby-ivar">@runnning</span> = <span class="ruby-keyword kw">nil</span>
208
+ <span class="ruby-identifier">start</span>
209
+ <span class="ruby-keyword kw">end</span>
210
+ </pre>
211
+ </div>
212
+ </div>
213
+ </div>
214
+
215
+ <h3 class="section-bar">Public Instance methods</h3>
216
+
217
+ <div id="method-M000351" class="method-detail">
218
+ <a name="M000351"></a>
219
+
220
+ <div class="method-heading">
221
+ <a href="#M000351" class="method-signature">
222
+ <span class="method-name">running?</span><span class="method-args">()</span>
223
+ </a>
224
+ </div>
225
+
226
+ <div class="method-description">
227
+ <p><a class="source-toggle" href="#"
228
+ onclick="toggleCode('M000351-source');return false;">[Source]</a></p>
229
+ <div class="method-source-code" id="M000351-source">
230
+ <pre>
231
+ <span class="ruby-comment cmt"># File lib/carat/timer.rb, line 73</span>
232
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">running?</span>
233
+ <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@running</span>
234
+ <span class="ruby-keyword kw">end</span>
235
+ </pre>
236
+ </div>
237
+ </div>
238
+ </div>
239
+
240
+ <div id="method-M000349" class="method-detail">
241
+ <a name="M000349"></a>
242
+
243
+ <div class="method-heading">
244
+ <a href="#M000349" class="method-signature">
245
+ <span class="method-name">start</span><span class="method-args">()</span>
246
+ </a>
247
+ </div>
248
+
249
+ <div class="method-description">
250
+ <p><a class="source-toggle" href="#"
251
+ onclick="toggleCode('M000349-source');return false;">[Source]</a></p>
252
+ <div class="method-source-code" id="M000349-source">
253
+ <pre>
254
+ <span class="ruby-comment cmt"># File lib/carat/timer.rb, line 62</span>
255
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">start</span>
256
+ <span class="ruby-ivar">@start_time</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>
257
+ <span class="ruby-ivar">@running</span> = <span class="ruby-keyword kw">true</span>
258
+ <span class="ruby-keyword kw">end</span>
259
+ </pre>
260
+ </div>
261
+ </div>
262
+ </div>
263
+
264
+ <div id="method-M000350" class="method-detail">
265
+ <a name="M000350"></a>
266
+
267
+ <div class="method-heading">
268
+ <a href="#M000350" class="method-signature">
269
+ <span class="method-name">stop</span><span class="method-args">()</span>
270
+ </a>
271
+ </div>
272
+
273
+ <div class="method-description">
274
+ <p><a class="source-toggle" href="#"
275
+ onclick="toggleCode('M000350-source');return false;">[Source]</a></p>
276
+ <div class="method-source-code" id="M000350-source">
277
+ <pre>
278
+ <span class="ruby-comment cmt"># File lib/carat/timer.rb, line 67</span>
279
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">stop</span>
280
+ <span class="ruby-ivar">@end_time</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>
281
+ <span class="ruby-ivar">@total_time</span> <span class="ruby-operator">+=</span> <span class="ruby-ivar">@end_time</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@start_time</span>
282
+ <span class="ruby-ivar">@running</span> = <span class="ruby-keyword kw">false</span>
283
+ <span class="ruby-keyword kw">end</span>
284
+ </pre>
285
+ </div>
286
+ </div>
287
+ </div>
288
+
289
+ <div id="method-M000352" class="method-detail">
290
+ <a name="M000352"></a>
291
+
292
+ <div class="method-heading">
293
+ <a href="#M000352" class="method-signature">
294
+ <span class="method-name">stopped?</span><span class="method-args">()</span>
295
+ </a>
296
+ </div>
297
+
298
+ <div class="method-description">
299
+ <p><a class="source-toggle" href="#"
300
+ onclick="toggleCode('M000352-source');return false;">[Source]</a></p>
301
+ <div class="method-source-code" id="M000352-source">
302
+ <pre>
303
+ <span class="ruby-comment cmt"># File lib/carat/timer.rb, line 77</span>
304
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">stopped?</span>
305
+ <span class="ruby-keyword kw">return</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@running</span>
306
+ <span class="ruby-keyword kw">end</span>
307
+ </pre>
308
+ </div>
309
+ </div>
310
+ </div>
311
+
312
+ <div id="method-M000353" class="method-detail">
313
+ <a name="M000353"></a>
314
+
315
+ <div class="method-heading">
316
+ <a href="#M000353" class="method-signature">
317
+ <span class="method-name">total_time</span><span class="method-args">()</span>
318
+ </a>
319
+ </div>
320
+
321
+ <div class="method-description">
322
+ <p><a class="source-toggle" href="#"
323
+ onclick="toggleCode('M000353-source');return false;">[Source]</a></p>
324
+ <div class="method-source-code" id="M000353-source">
325
+ <pre>
326
+ <span class="ruby-comment cmt"># File lib/carat/timer.rb, line 81</span>
327
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">total_time</span>
328
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">running?</span> <span class="ruby-keyword kw">then</span>
329
+ <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@total_time</span> <span class="ruby-operator">+</span> (<span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@start_time</span>)
330
+ <span class="ruby-keyword kw">else</span>
331
+ <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@total_time</span>
332
+ <span class="ruby-keyword kw">end</span>
333
+ <span class="ruby-keyword kw">end</span>
334
+ </pre>
335
+ </div>
336
+ </div>
337
+ </div>
338
+
339
+
340
+ </div>
341
+
342
+
343
+ </div>
344
+
345
+
346
+ <div id="validator-badges">
347
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
348
+ </div>
349
+
350
+ </body>
351
+ </html>
@@ -0,0 +1,532 @@
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: TracePoint</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">TracePoint</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../files/lib/carat/tracepoint_rb.html">
59
+ lib/carat/tracepoint.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
+ <a href="Object.html">
69
+ Object
70
+ </a>
71
+ </td>
72
+ </tr>
73
+ </table>
74
+ </div>
75
+ <!-- banner header -->
76
+
77
+ <div id="bodyContent">
78
+
79
+
80
+
81
+ <div id="contextContent">
82
+
83
+ <div id="description">
84
+ <p>
85
+ You can&#8217;t subclass <a href="Binding.html">Binding</a>, so we delegate
86
+ (which is better anyway).
87
+ </p>
88
+
89
+ </div>
90
+
91
+
92
+ </div>
93
+
94
+ <div id="method-list">
95
+ <h3 class="section-bar">Methods</h3>
96
+
97
+ <div class="name-list">
98
+ <a href="#M000024">===</a>&nbsp;&nbsp;
99
+ <a href="#M000011">active</a>&nbsp;&nbsp;
100
+ <a href="#M000012">active=</a>&nbsp;&nbsp;
101
+ <a href="#M000016">back</a>&nbsp;&nbsp;
102
+ <a href="#M000015">bind</a>&nbsp;&nbsp;
103
+ <a href="#M000018">called</a>&nbsp;&nbsp;
104
+ <a href="#M000022">event?</a>&nbsp;&nbsp;
105
+ <a href="#M000021">event_map</a>&nbsp;&nbsp;
106
+ <a href="#M000023">eventless?</a>&nbsp;&nbsp;
107
+ <a href="#M000020">me</a>&nbsp;&nbsp;
108
+ <a href="#M000019">method_name</a>&nbsp;&nbsp;
109
+ <a href="#M000014">new</a>&nbsp;&nbsp;
110
+ <a href="#M000017">self</a>&nbsp;&nbsp;
111
+ <a href="#M000013">trace</a>&nbsp;&nbsp;
112
+ </div>
113
+ </div>
114
+
115
+ </div>
116
+
117
+
118
+ <!-- if includes -->
119
+
120
+ <div id="section">
121
+
122
+
123
+ <div id="constants-list">
124
+ <h3 class="section-bar">Constants</h3>
125
+
126
+ <div class="name-list">
127
+ <table summary="Constants">
128
+ <tr class="top-aligned-row context-row">
129
+ <td class="context-item-name">EVENT_MAP</td>
130
+ <td>=</td>
131
+ <td class="context-item-value">{ :all =&gt; ['call', 'c-call', 'return', 'c-return', 'line', 'class', 'end', 'raise'], :before =&gt; ['call', 'c-call'], :after =&gt; ['return', 'c-return'], :call =&gt; ['call'], :return =&gt; ['return'], :ccall =&gt; ['c-call'], :creturn =&gt; ['c-return'], :line =&gt; ['line'], :class =&gt; ['class'], :end =&gt; ['end'], :raise =&gt; ['raise']</td>
132
+ <td width="3em">&nbsp;</td>
133
+ <td class="context-item-desc">
134
+ methods for working with events
135
+
136
+ </td>
137
+ </tr>
138
+ </table>
139
+ </div>
140
+ </div>
141
+
142
+
143
+
144
+ <div id="attribute-list">
145
+ <h3 class="section-bar">Attributes</h3>
146
+
147
+ <div class="name-list">
148
+ <table>
149
+ <tr class="top-aligned-row context-row">
150
+ <td class="context-item-name">back_binding</td>
151
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
152
+ <td class="context-item-desc">
153
+ &#8212; instance &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
154
+
155
+ </td>
156
+ </tr>
157
+ <tr class="top-aligned-row context-row">
158
+ <td class="context-item-name">binding</td>
159
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
160
+ <td class="context-item-desc">
161
+ &#8212; instance &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
162
+
163
+ </td>
164
+ </tr>
165
+ <tr class="top-aligned-row context-row">
166
+ <td class="context-item-name">event</td>
167
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
168
+ <td class="context-item-desc">
169
+ &#8212; instance &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
170
+
171
+ </td>
172
+ </tr>
173
+ </table>
174
+ </div>
175
+ </div>
176
+
177
+
178
+
179
+ <!-- if method_list -->
180
+ <div id="methods">
181
+ <h3 class="section-bar">Public Class methods</h3>
182
+
183
+ <div id="method-M000011" class="method-detail">
184
+ <a name="M000011"></a>
185
+
186
+ <div class="method-heading">
187
+ <a href="#M000011" class="method-signature">
188
+ <span class="method-name">active</span><span class="method-args">()</span>
189
+ </a>
190
+ </div>
191
+
192
+ <div class="method-description">
193
+ <p><a class="source-toggle" href="#"
194
+ onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
195
+ <div class="method-source-code" id="M000011-source">
196
+ <pre>
197
+ <span class="ruby-comment cmt"># File lib/carat/tracepoint.rb, line 44</span>
198
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">active</span> ; <span class="ruby-ivar">@@active</span> ; <span class="ruby-keyword kw">end</span>
199
+ </pre>
200
+ </div>
201
+ </div>
202
+ </div>
203
+
204
+ <div id="method-M000012" class="method-detail">
205
+ <a name="M000012"></a>
206
+
207
+ <div class="method-heading">
208
+ <a href="#M000012" class="method-signature">
209
+ <span class="method-name">active=</span><span class="method-args">(x)</span>
210
+ </a>
211
+ </div>
212
+
213
+ <div class="method-description">
214
+ <p><a class="source-toggle" href="#"
215
+ onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
216
+ <div class="method-source-code" id="M000012-source">
217
+ <pre>
218
+ <span class="ruby-comment cmt"># File lib/carat/tracepoint.rb, line 46</span>
219
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">active=</span>(<span class="ruby-identifier">x</span>)
220
+ <span class="ruby-ivar">@@active</span> = <span class="ruby-identifier">x</span> <span class="ruby-value">? </span><span class="ruby-keyword kw">true</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">false</span>
221
+ <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@@active</span>
222
+ <span class="ruby-identifier">set_trace_func</span> <span class="ruby-keyword kw">nil</span>
223
+ <span class="ruby-keyword kw">end</span>
224
+ <span class="ruby-keyword kw">end</span>
225
+ </pre>
226
+ </div>
227
+ </div>
228
+ </div>
229
+
230
+ <div id="method-M000014" class="method-detail">
231
+ <a name="M000014"></a>
232
+
233
+ <div class="method-heading">
234
+ <a href="#M000014" class="method-signature">
235
+ <span class="method-name">new</span><span class="method-args">( event, method, bind, back_binding=bind )</span>
236
+ </a>
237
+ </div>
238
+
239
+ <div class="method-description">
240
+ <p>
241
+ Until Ruby has a built-in way to get the name of the calling method that
242
+ information must be passed into the <a
243
+ href="TracePoint.html">TracePoint</a>.
244
+ </p>
245
+ <p><a class="source-toggle" href="#"
246
+ onclick="toggleCode('M000014-source');return false;">[Source]</a></p>
247
+ <div class="method-source-code" id="M000014-source">
248
+ <pre>
249
+ <span class="ruby-comment cmt"># File lib/carat/tracepoint.rb, line 79</span>
250
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>( <span class="ruby-identifier">event</span>, <span class="ruby-identifier">method</span>, <span class="ruby-identifier">bind</span>, <span class="ruby-identifier">back_binding</span>=<span class="ruby-identifier">bind</span> )
251
+ <span class="ruby-ivar">@event</span> = <span class="ruby-identifier">event</span>
252
+ <span class="ruby-ivar">@method</span> = <span class="ruby-identifier">method</span>
253
+ <span class="ruby-ivar">@binding</span> = <span class="ruby-identifier">bind</span>
254
+ <span class="ruby-ivar">@back_binding</span> = <span class="ruby-identifier">back_binding</span>
255
+ <span class="ruby-keyword kw">end</span>
256
+ </pre>
257
+ </div>
258
+ </div>
259
+ </div>
260
+
261
+ <div id="method-M000013" class="method-detail">
262
+ <a name="M000013"></a>
263
+
264
+ <div class="method-heading">
265
+ <a href="#M000013" class="method-signature">
266
+ <span class="method-name">trace</span><span class="method-args">( {|| ...}</span>
267
+ </a>
268
+ </div>
269
+
270
+ <div class="method-description">
271
+ <p>
272
+ Trace execution using a <a href="TracePoint.html">TracePoint</a>.
273
+ </p>
274
+ <p><a class="source-toggle" href="#"
275
+ onclick="toggleCode('M000013-source');return false;">[Source]</a></p>
276
+ <div class="method-source-code" id="M000013-source">
277
+ <pre>
278
+ <span class="ruby-comment cmt"># File lib/carat/tracepoint.rb, line 54</span>
279
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">trace</span> <span class="ruby-comment cmt"># :yield:</span>
280
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">active</span>
281
+ <span class="ruby-identifier">bb_stack</span> = []
282
+ <span class="ruby-identifier">set_trace_func</span> <span class="ruby-identifier">proc</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">e</span>, <span class="ruby-identifier">f</span>, <span class="ruby-identifier">l</span>, <span class="ruby-identifier">m</span>, <span class="ruby-identifier">b</span>, <span class="ruby-identifier">k</span><span class="ruby-operator">|</span>
283
+ <span class="ruby-comment cmt">#(p e, f, l, m, b, k, @@bb_stack; puts &quot;---&quot;) if $DEBUG</span>
284
+ <span class="ruby-keyword kw">if</span> [<span class="ruby-value str">'call'</span>,<span class="ruby-value str">'c-call'</span>,<span class="ruby-value str">'class'</span>].<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">e</span>)
285
+ <span class="ruby-identifier">bb_stack</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">b</span>
286
+ <span class="ruby-keyword kw">elsif</span> [<span class="ruby-value str">'return'</span>,<span class="ruby-value str">'c-return'</span>,<span class="ruby-value str">'end'</span>].<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">e</span>)
287
+ <span class="ruby-identifier">bb</span> = <span class="ruby-identifier">bb_stack</span>.<span class="ruby-identifier">pop</span>
288
+ <span class="ruby-keyword kw">end</span>
289
+ <span class="ruby-identifier">b</span> = <span class="ruby-identifier">bb</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">b</span> <span class="ruby-comment cmt"># this sucks!</span>
290
+ <span class="ruby-identifier">tp</span> = <span class="ruby-constant">TracePoint</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">e</span>,<span class="ruby-identifier">m</span>,<span class="ruby-identifier">b</span>,<span class="ruby-identifier">bb</span>)
291
+ <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">tp</span>)
292
+ }
293
+ <span class="ruby-keyword kw">end</span>
294
+ <span class="ruby-keyword kw">end</span>
295
+ </pre>
296
+ </div>
297
+ </div>
298
+ </div>
299
+
300
+ <h3 class="section-bar">Public Instance methods</h3>
301
+
302
+ <div id="method-M000024" class="method-detail">
303
+ <a name="M000024"></a>
304
+
305
+ <div class="method-heading">
306
+ <a href="#M000024" class="method-signature">
307
+ <span class="method-name">===</span><span class="method-args">(e)</span>
308
+ </a>
309
+ </div>
310
+
311
+ <div class="method-description">
312
+ <p>
313
+ For use in case conditions
314
+ </p>
315
+ <p><a class="source-toggle" href="#"
316
+ onclick="toggleCode('M000024-source');return false;">[Source]</a></p>
317
+ <div class="method-source-code" id="M000024-source">
318
+ <pre>
319
+ <span class="ruby-comment cmt"># File lib/carat/tracepoint.rb, line 130</span>
320
+ <span class="ruby-keyword kw">def</span> <span class="ruby-operator">===</span>(<span class="ruby-identifier">e</span>)
321
+ <span class="ruby-constant">EVENT_MAP</span>[<span class="ruby-identifier">e</span>].<span class="ruby-identifier">include?</span>(<span class="ruby-ivar">@event</span>)
322
+ <span class="ruby-keyword kw">end</span>
323
+ </pre>
324
+ </div>
325
+ </div>
326
+ </div>
327
+
328
+ <div id="method-M000016" class="method-detail">
329
+ <a name="M000016"></a>
330
+
331
+ <div class="method-heading">
332
+ <a href="#M000016" class="method-signature">
333
+ <span class="method-name">back</span><span class="method-args">()</span>
334
+ </a>
335
+ </div>
336
+
337
+ <div class="method-description">
338
+ <p>
339
+ shorthand for back_binding
340
+ </p>
341
+ <p><a class="source-toggle" href="#"
342
+ onclick="toggleCode('M000016-source');return false;">[Source]</a></p>
343
+ <div class="method-source-code" id="M000016-source">
344
+ <pre>
345
+ <span class="ruby-comment cmt"># File lib/carat/tracepoint.rb, line 90</span>
346
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">back</span> ; <span class="ruby-ivar">@back_binding</span> ; <span class="ruby-keyword kw">end</span>
347
+ </pre>
348
+ </div>
349
+ </div>
350
+ </div>
351
+
352
+ <div id="method-M000015" class="method-detail">
353
+ <a name="M000015"></a>
354
+
355
+ <div class="method-heading">
356
+ <a href="#M000015" class="method-signature">
357
+ <span class="method-name">bind</span><span class="method-args">()</span>
358
+ </a>
359
+ </div>
360
+
361
+ <div class="method-description">
362
+ <p>
363
+ shorthand for binding
364
+ </p>
365
+ <p><a class="source-toggle" href="#"
366
+ onclick="toggleCode('M000015-source');return false;">[Source]</a></p>
367
+ <div class="method-source-code" id="M000015-source">
368
+ <pre>
369
+ <span class="ruby-comment cmt"># File lib/carat/tracepoint.rb, line 87</span>
370
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">bind</span> ; <span class="ruby-ivar">@binding</span> ; <span class="ruby-keyword kw">end</span>
371
+ </pre>
372
+ </div>
373
+ </div>
374
+ </div>
375
+
376
+ <div id="method-M000018" class="method-detail">
377
+ <a name="M000018"></a>
378
+
379
+ <div class="method-heading">
380
+ <a href="#M000018" class="method-signature">
381
+ <span class="method-name">called</span><span class="method-args">()</span>
382
+ </a>
383
+ </div>
384
+
385
+ <div class="method-description">
386
+ <p>
387
+ Returns the name of the event&#8217;s method. This could delegate to the
388
+ binding if Ruby had an internal way to retrieve the current method name.
389
+ </p>
390
+ <p><a class="source-toggle" href="#"
391
+ onclick="toggleCode('M000018-source');return false;">[Source]</a></p>
392
+ <div class="method-source-code" id="M000018-source">
393
+ <pre>
394
+ <span class="ruby-comment cmt"># File lib/carat/tracepoint.rb, line 99</span>
395
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">called</span> ; <span class="ruby-ivar">@method</span> ; <span class="ruby-keyword kw">end</span>
396
+ </pre>
397
+ </div>
398
+ </div>
399
+ </div>
400
+
401
+ <div id="method-M000022" class="method-detail">
402
+ <a name="M000022"></a>
403
+
404
+ <div class="method-heading">
405
+ <a href="#M000022" class="method-signature">
406
+ <span class="method-name">event?</span><span class="method-args">()</span>
407
+ </a>
408
+ </div>
409
+
410
+ <div class="method-description">
411
+ <p>
412
+ Is the trace point defined or undefined?
413
+ </p>
414
+ <p><a class="source-toggle" href="#"
415
+ onclick="toggleCode('M000022-source');return false;">[Source]</a></p>
416
+ <div class="method-source-code" id="M000022-source">
417
+ <pre>
418
+ <span class="ruby-comment cmt"># File lib/carat/tracepoint.rb, line 126</span>
419
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">event?</span> ; <span class="ruby-operator">!</span><span class="ruby-operator">!</span> <span class="ruby-ivar">@event</span> ; <span class="ruby-keyword kw">end</span>
420
+ </pre>
421
+ </div>
422
+ </div>
423
+ </div>
424
+
425
+ <div id="method-M000021" class="method-detail">
426
+ <a name="M000021"></a>
427
+
428
+ <div class="method-heading">
429
+ <a href="#M000021" class="method-signature">
430
+ <span class="method-name">event_map</span><span class="method-args">(e)</span>
431
+ </a>
432
+ </div>
433
+
434
+ <div class="method-description">
435
+ <p><a class="source-toggle" href="#"
436
+ onclick="toggleCode('M000021-source');return false;">[Source]</a></p>
437
+ <div class="method-source-code" id="M000021-source">
438
+ <pre>
439
+ <span class="ruby-comment cmt"># File lib/carat/tracepoint.rb, line 123</span>
440
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">event_map</span>(<span class="ruby-identifier">e</span>) ; <span class="ruby-constant">EVENT_MAP</span>[<span class="ruby-identifier">e</span>] ; <span class="ruby-keyword kw">end</span>
441
+ </pre>
442
+ </div>
443
+ </div>
444
+ </div>
445
+
446
+ <div id="method-M000023" class="method-detail">
447
+ <a name="M000023"></a>
448
+
449
+ <div class="method-heading">
450
+ <a href="#M000023" class="method-signature">
451
+ <span class="method-name">eventless?</span><span class="method-args">()</span>
452
+ </a>
453
+ </div>
454
+
455
+ <div class="method-description">
456
+ <p><a class="source-toggle" href="#"
457
+ onclick="toggleCode('M000023-source');return false;">[Source]</a></p>
458
+ <div class="method-source-code" id="M000023-source">
459
+ <pre>
460
+ <span class="ruby-comment cmt"># File lib/carat/tracepoint.rb, line 127</span>
461
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eventless?</span> ; <span class="ruby-operator">!</span> <span class="ruby-ivar">@event</span> ; <span class="ruby-keyword kw">end</span>
462
+ </pre>
463
+ </div>
464
+ </div>
465
+ </div>
466
+
467
+ <div id="method-M000020" class="method-detail">
468
+ <a name="M000020"></a>
469
+
470
+ <div class="method-heading">
471
+ <span class="method-name">me</span><span class="method-args">()</span>
472
+ </div>
473
+
474
+ <div class="method-description">
475
+ <p>
476
+ Alias for <a href="TracePoint.html#M000018">called</a>
477
+ </p>
478
+ </div>
479
+ </div>
480
+
481
+ <div id="method-M000019" class="method-detail">
482
+ <a name="M000019"></a>
483
+
484
+ <div class="method-heading">
485
+ <span class="method-name">method_name</span><span class="method-args">()</span>
486
+ </div>
487
+
488
+ <div class="method-description">
489
+ <p>
490
+ Alias for <a href="TracePoint.html#M000018">called</a>
491
+ </p>
492
+ </div>
493
+ </div>
494
+
495
+ <div id="method-M000017" class="method-detail">
496
+ <a name="M000017"></a>
497
+
498
+ <div class="method-heading">
499
+ <a href="#M000017" class="method-signature">
500
+ <span class="method-name">self</span><span class="method-args">()</span>
501
+ </a>
502
+ </div>
503
+
504
+ <div class="method-description">
505
+ <p>
506
+ Delegates &quot;self&quot; to the binding which in turn delegates the
507
+ binding object.
508
+ </p>
509
+ <p><a class="source-toggle" href="#"
510
+ onclick="toggleCode('M000017-source');return false;">[Source]</a></p>
511
+ <div class="method-source-code" id="M000017-source">
512
+ <pre>
513
+ <span class="ruby-comment cmt"># File lib/carat/tracepoint.rb, line 94</span>
514
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span> ; <span class="ruby-ivar">@binding</span>.<span class="ruby-identifier">self</span> ; <span class="ruby-keyword kw">end</span>
515
+ </pre>
516
+ </div>
517
+ </div>
518
+ </div>
519
+
520
+
521
+ </div>
522
+
523
+
524
+ </div>
525
+
526
+
527
+ <div id="validator-badges">
528
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
529
+ </div>
530
+
531
+ </body>
532
+ </html>