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.
- data/ChangeLog +2 -0
- data/LICENSE +5 -0
- data/README +67 -0
- data/Reapfile +72 -0
- data/ToDo +24 -0
- data/bench/b_harray.rb +49 -0
- data/bench/b_range.rb +64 -0
- data/demo/ansicolor/cdiff.rb +20 -0
- data/demo/ansicolor/example.rb +82 -0
- data/demo/io-reactor/chatserver.rb +347 -0
- data/doc/classes/Array.html +172 -0
- data/doc/classes/BBCode.html +638 -0
- data/doc/classes/BinaryReader.html +675 -0
- data/doc/classes/Binding.html +223 -0
- data/doc/classes/ByteOrder.html +284 -0
- data/doc/classes/Class.html +189 -0
- data/doc/classes/Constant.html +785 -0
- data/doc/classes/Constant/CGS.html +609 -0
- data/doc/classes/Continuation.html +113 -0
- data/doc/classes/Coroutine.html +387 -0
- data/doc/classes/CountingSemaphore.html +337 -0
- data/doc/classes/CrossCase.html +561 -0
- data/doc/classes/DynamicMixin.html +185 -0
- data/doc/classes/EnumerableWithArgs.html +550 -0
- data/doc/classes/Expect.html +428 -0
- data/doc/classes/Expect/DefaultChain.html +113 -0
- data/doc/classes/Expect/SeparatedPattern.html +223 -0
- data/doc/classes/Expect/Timeout.html +167 -0
- data/doc/classes/Expect/UnmatchedMessage.html +160 -0
- data/doc/classes/FileList.html +833 -0
- data/doc/classes/FloatString.html +534 -0
- data/doc/classes/Functor.html +211 -0
- data/doc/classes/HArray.html +1872 -0
- data/doc/classes/HTML.html +328 -0
- data/doc/classes/Heap.html +683 -0
- data/doc/classes/Heap/EmptyHeapException.html +111 -0
- data/doc/classes/Heap/Max.html +176 -0
- data/doc/classes/Heap/Min.html +176 -0
- data/doc/classes/IO.html +108 -0
- data/doc/classes/IO/Reactor.html +790 -0
- data/doc/classes/IO/Redirect.html +289 -0
- data/doc/classes/Infinity.html +320 -0
- data/doc/classes/Interval.html +1014 -0
- data/doc/classes/InvalidNackError.html +161 -0
- data/doc/classes/Kernel.html +204 -0
- data/doc/classes/Lisp.html +1132 -0
- data/doc/classes/Lisp/DottedPair.html +379 -0
- data/doc/classes/Lisp/Format.html +178 -0
- data/doc/classes/Lisp/Format/ArgumentError.html +126 -0
- data/doc/classes/Lisp/Format/Directives.html +155 -0
- data/doc/classes/Lisp/Format/Directives/ArgJump.html +178 -0
- data/doc/classes/Lisp/Format/Directives/Ascii.html +119 -0
- data/doc/classes/Lisp/Format/Directives/BeginCaseConversion.html +185 -0
- data/doc/classes/Lisp/Format/Directives/BeginConditional.html +307 -0
- data/doc/classes/Lisp/Format/Directives/BeginIteration.html +338 -0
- data/doc/classes/Lisp/Format/Directives/Binary.html +157 -0
- data/doc/classes/Lisp/Format/Directives/Character.html +228 -0
- data/doc/classes/Lisp/Format/Directives/CharacterDirective.html +203 -0
- data/doc/classes/Lisp/Format/Directives/ClauseSeparator.html +166 -0
- data/doc/classes/Lisp/Format/Directives/Decimal.html +119 -0
- data/doc/classes/Lisp/Format/Directives/Directive.html +397 -0
- data/doc/classes/Lisp/Format/Directives/DollarFP.html +205 -0
- data/doc/classes/Lisp/Format/Directives/EndCaseConversion.html +174 -0
- data/doc/classes/Lisp/Format/Directives/EndConditional.html +159 -0
- data/doc/classes/Lisp/Format/Directives/EndIteration.html +163 -0
- data/doc/classes/Lisp/Format/Directives/ExpFP.html +252 -0
- data/doc/classes/Lisp/Format/Directives/FFFP.html +224 -0
- data/doc/classes/Lisp/Format/Directives/Factory.html +180 -0
- data/doc/classes/Lisp/Format/Directives/FreshLine.html +175 -0
- data/doc/classes/Lisp/Format/Directives/GeneralFP.html +265 -0
- data/doc/classes/Lisp/Format/Directives/Hexadecimal.html +157 -0
- data/doc/classes/Lisp/Format/Directives/Indirection.html +183 -0
- data/doc/classes/Lisp/Format/Directives/Literal.html +187 -0
- data/doc/classes/Lisp/Format/Directives/NewLine.html +158 -0
- data/doc/classes/Lisp/Format/Directives/NewPage.html +158 -0
- data/doc/classes/Lisp/Format/Directives/Number.html +243 -0
- data/doc/classes/Lisp/Format/Directives/Octal.html +157 -0
- data/doc/classes/Lisp/Format/Directives/Plural.html +177 -0
- data/doc/classes/Lisp/Format/Directives/Print.html +237 -0
- data/doc/classes/Lisp/Format/Directives/Radix.html +432 -0
- data/doc/classes/Lisp/Format/Directives/SExpression.html +157 -0
- data/doc/classes/Lisp/Format/Directives/SkipWhitespace.html +165 -0
- data/doc/classes/Lisp/Format/Directives/Tabulate.html +198 -0
- data/doc/classes/Lisp/Format/Directives/Tilde.html +158 -0
- data/doc/classes/Lisp/Format/Directives/UnknownDirectiveError.html +117 -0
- data/doc/classes/Lisp/Format/Formatter.html +193 -0
- data/doc/classes/Lisp/Format/IncompleteParameterError.html +119 -0
- data/doc/classes/Lisp/Format/IndexError.html +126 -0
- data/doc/classes/Lisp/Format/Lexer.html +479 -0
- data/doc/classes/Lisp/Format/MalformedError.html +119 -0
- data/doc/classes/Lisp/Format/MissingParameterError.html +119 -0
- data/doc/classes/Lisp/Format/ModifierError.html +119 -0
- data/doc/classes/Lisp/Format/Output.html +239 -0
- data/doc/classes/Lisp/Format/ParameterError.html +126 -0
- data/doc/classes/Lisp/Format/Parameters.html +123 -0
- data/doc/classes/Lisp/Format/Parameters/Argument.html +172 -0
- data/doc/classes/Lisp/Format/Parameters/ArgumentCount.html +159 -0
- data/doc/classes/Lisp/Format/Parameters/Character.html +119 -0
- data/doc/classes/Lisp/Format/Parameters/Default.html +120 -0
- data/doc/classes/Lisp/Format/Parameters/Integer.html +119 -0
- data/doc/classes/Lisp/Format/Parameters/Parameter.html +206 -0
- data/doc/classes/Lisp/Format/Parser.html +212 -0
- data/doc/classes/Lisp/Format/Positioned.html +166 -0
- data/doc/classes/Lisp/Format/State.html +455 -0
- data/doc/classes/Lisp/Format/SyntaxError.html +126 -0
- data/doc/classes/Method.html +274 -0
- data/doc/classes/Method/DuckHunter.html +281 -0
- data/doc/classes/Module.html +709 -0
- data/doc/classes/Multiton.html +284 -0
- data/doc/classes/Multiton/New.html +164 -0
- data/doc/classes/Multiton/Semi.html +155 -0
- data/doc/classes/NackClass.html +322 -0
- data/doc/classes/NilClass.html +231 -0
- data/doc/classes/NilComparable.html +179 -0
- data/doc/classes/NotCopyable.html +273 -0
- data/doc/classes/Object.html +261 -0
- data/doc/classes/OpenStructable.html +346 -0
- data/doc/classes/OrderedHash.html +939 -0
- data/doc/classes/Parser.html +515 -0
- data/doc/classes/Parser/Main.html +178 -0
- data/doc/classes/Parser/Marker.html +475 -0
- data/doc/classes/Parser/Registry.html +354 -0
- data/doc/classes/Parser/Token.html +399 -0
- data/doc/classes/Parser/UnitToken.html +222 -0
- data/doc/classes/Ref.html +230 -0
- data/doc/classes/SimpleStringIO.html +183 -0
- data/doc/classes/StaticHash.html +202 -0
- data/doc/classes/String.html +172 -0
- data/doc/classes/Struct.html +181 -0
- data/doc/classes/SuperStruct.html +382 -0
- data/doc/classes/Term.html +156 -0
- data/doc/classes/Term/ANSIColor.html +185 -0
- data/doc/classes/Text.html +138 -0
- data/doc/classes/Text/Soundex.html +222 -0
- data/doc/classes/TextTagIterator.html +911 -0
- data/doc/classes/Time.html +119 -0
- data/doc/classes/Time/Limit.html +303 -0
- data/doc/classes/Time/Limit/Dummy.html +181 -0
- data/doc/classes/Timer.html +351 -0
- data/doc/classes/TracePoint.html +532 -0
- data/doc/classes/Tuple.html +178 -0
- data/doc/classes/Uninheritable.html +213 -0
- data/doc/classes/Version.html +783 -0
- data/doc/created.rid +1 -0
- data/doc/files/LICENSE.html +113 -0
- data/doc/files/README.html +201 -0
- data/doc/files/lib/carat/1st_rb.html +107 -0
- data/doc/files/lib/carat/ansicolor_rb.html +146 -0
- data/doc/files/lib/carat/attr_rb.html +101 -0
- data/doc/files/lib/carat/bbcode_rb.html +152 -0
- data/doc/files/lib/carat/binaryreader_rb.html +114 -0
- data/doc/files/lib/carat/binding-of-caller_rb.html +108 -0
- data/doc/files/lib/carat/byteorder_rb.html +107 -0
- data/doc/files/lib/carat/constant_rb.html +167 -0
- data/doc/files/lib/carat/coroutine_rb.html +156 -0
- data/doc/files/lib/carat/crosscase_rb.html +224 -0
- data/doc/files/lib/carat/duckhunter_rb.html +165 -0
- data/doc/files/lib/carat/dynamic-mixin_rb.html +101 -0
- data/doc/files/lib/carat/enumerable-args_rb.html +140 -0
- data/doc/files/lib/carat/expect_rb.html +137 -0
- data/doc/files/lib/carat/filelist_rb.html +130 -0
- data/doc/files/lib/carat/floatstring_rb.html +126 -0
- data/doc/files/lib/carat/functor_rb.html +140 -0
- data/doc/files/lib/carat/harray_rb.html +128 -0
- data/doc/files/lib/carat/heap_rb.html +154 -0
- data/doc/files/lib/carat/html-helpers_rb.html +116 -0
- data/doc/files/lib/carat/infinity_rb.html +142 -0
- data/doc/files/lib/carat/init_rb.html +127 -0
- data/doc/files/lib/carat/interval_rb.html +162 -0
- data/doc/files/lib/carat/io-reactor_rb.html +211 -0
- data/doc/files/lib/carat/io-redirect_rb.html +132 -0
- data/doc/files/lib/carat/lisp-format_rb.html +187 -0
- data/doc/files/lib/carat/lisp_rb.html +152 -0
- data/doc/files/lib/carat/macro_rb.html +129 -0
- data/doc/files/lib/carat/multiton_rb.html +178 -0
- data/doc/files/lib/carat/nack_rb.html +193 -0
- data/doc/files/lib/carat/nil-comparable_rb.html +126 -0
- data/doc/files/lib/carat/nil-missing_rb.html +101 -0
- data/doc/files/lib/carat/notcopyable_rb.html +166 -0
- data/doc/files/lib/carat/orderedhash_rb.html +107 -0
- data/doc/files/lib/carat/ostructable_rb.html +157 -0
- data/doc/files/lib/carat/parser-old_rb.html +239 -0
- data/doc/files/lib/carat/parser_rb.html +244 -0
- data/doc/files/lib/carat/ref_rb.html +107 -0
- data/doc/files/lib/carat/semaphore_rb.html +132 -0
- data/doc/files/lib/carat/snapshot_rb.html +152 -0
- data/doc/files/lib/carat/soundex_rb.html +128 -0
- data/doc/files/lib/carat/sstruct_rb.html +142 -0
- data/doc/files/lib/carat/statichash_rb.html +150 -0
- data/doc/files/lib/carat/tagiter_rb.html +236 -0
- data/doc/files/lib/carat/timelimit_rb.html +136 -0
- data/doc/files/lib/carat/timer_rb.html +153 -0
- data/doc/files/lib/carat/tracepoint_rb.html +160 -0
- data/doc/files/lib/carat/tuple_rb.html +123 -0
- data/doc/files/lib/carat/uninheritable_rb.html +101 -0
- data/doc/files/lib/carat/version_rb.html +141 -0
- data/doc/fr_class_index.html +159 -0
- data/doc/fr_file_index.html +78 -0
- data/doc/fr_method_index.html +663 -0
- data/doc/index.html +24 -0
- data/doc/rdoc-style.css +208 -0
- data/lib/carat-dev/README +11 -0
- data/lib/carat-dev/access-blocks/access_blocks.rb +42 -0
- data/lib/carat-dev/association/association.rb +70 -0
- data/lib/carat-dev/blankslate/blankslate.rb +51 -0
- data/lib/carat-dev/breakpoint.rb +518 -0
- data/lib/carat-dev/class-constructor/constructor_methods.rb +78 -0
- data/lib/carat-dev/class-constructor/tc_constructor.rb +35 -0
- data/lib/carat-dev/closecall/closecall-test.rb +39 -0
- data/lib/carat-dev/closecall/closecall.rb +101 -0
- data/lib/carat-dev/commandrunner/commandrunner.rb +100 -0
- data/lib/carat-dev/conditional/conditionals.rb +106 -0
- data/lib/carat-dev/daemon/daemon.rb +70 -0
- data/lib/carat-dev/detach/detach.rb +363 -0
- data/lib/carat-dev/detach/tc_detach.rb +57 -0
- data/lib/carat-dev/import-module/import-module-0.81.tar.gz +0 -0
- data/lib/carat-dev/import-module/import-module-0.81/LICENSE +1 -0
- data/lib/carat-dev/import-module/import-module-0.81/Makefile +11 -0
- data/lib/carat-dev/import-module/import-module-0.81/README +4 -0
- data/lib/carat-dev/import-module/import-module-0.81/dev-lib/import-module-hash.rb +49 -0
- data/lib/carat-dev/import-module/import-module-0.81/dev-lib/import-module-pip.rb +71 -0
- data/lib/carat-dev/import-module/import-module-0.81/dev-lib/import-module-unbound-method.rb +36 -0
- data/lib/carat-dev/import-module/import-module-0.81/doc/README-ja.html +293 -0
- data/lib/carat-dev/import-module/import-module-0.81/doc/README-ja.rd +306 -0
- data/lib/carat-dev/import-module/import-module-0.81/doc/README.html +290 -0
- data/lib/carat-dev/import-module/import-module-0.81/doc/README.rd +303 -0
- data/lib/carat-dev/import-module/import-module-0.81/doc/style.css +85 -0
- data/lib/carat-dev/import-module/import-module-0.81/install.rb +99 -0
- data/lib/carat-dev/import-module/import-module-0.81/lib/import-module-single-thread.rb +84 -0
- data/lib/carat-dev/import-module/import-module-0.81/lib/import-module.rb +493 -0
- data/lib/carat-dev/import-module/import-module-0.81/test/Makefile +2 -0
- data/lib/carat-dev/import-module/import-module-0.81/test/test +91 -0
- data/lib/carat-dev/import-module/import-module-0.81/test/test-import-module.rb +936 -0
- data/lib/carat-dev/import-module/import-module-0.81/test/test-import_scope.rb +33 -0
- data/lib/carat-dev/import-module/import-module-0.81/test/test-scope_import.rb +33 -0
- data/lib/carat-dev/import-module/import-module-0.81/test/test-time.rb +184 -0
- data/lib/carat-dev/import-module/import-module-0.81/test/test.sh +91 -0
- data/lib/carat-dev/import-module/import-module-0.81/test/time.rb +135 -0
- data/lib/carat-dev/import-module/import-module-0.81/test/times-do.sh +10 -0
- data/lib/carat-dev/interface_work/SCRAP/i-contracts.rb +37 -0
- data/lib/carat-dev/interface_work/SCRAP/interface.rb +105 -0
- data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0.zip +0 -0
- data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/CHANGES +3 -0
- data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/MANIFEST +15 -0
- data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/README +32 -0
- data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/doc/interface.rd +73 -0
- data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/doc/interface.txt +94 -0
- data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/install.rb +16 -0
- data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/lib/interface.rb +50 -0
- data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/test/tc_interface.rb +51 -0
- data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/test/test.rb +29 -0
- data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/test/test_instance.rb +24 -0
- data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/test/test_sub.rb +29 -0
- data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/test/test_unrequire.rb +28 -0
- data/lib/carat-dev/interface_work/contracts/contract.zip +0 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract.html +376 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract.src/M000001.html +23 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract.src/M000002.html +18 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract.src/M000003.html +19 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract.src/M000004.html +29 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract.src/M000005.html +18 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract.src/M000006.html +18 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract/ContractError.html +142 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract/ContractException.html +153 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract/ContractMismatch.html +125 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Module.html +157 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Module.src/M000007.html +112 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/created.rid +1 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/files/lib/contract/assertions_rb.html +109 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/files/lib/contract/exception_rb.html +108 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/files/lib/contract/integration_rb.html +108 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/files/lib/contract/overrides_rb.html +109 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/files/lib/contract_rb.html +114 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/fr_class_index.html +31 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/fr_file_index.html +31 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/fr_method_index.html +33 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/index.html +24 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/rdoc-style.css +208 -0
- data/lib/carat-dev/interface_work/contracts/contract/lib/contract.rb +88 -0
- data/lib/carat-dev/interface_work/contracts/contract/lib/contract/assertions.rb +37 -0
- data/lib/carat-dev/interface_work/contracts/contract/lib/contract/exception.rb +92 -0
- data/lib/carat-dev/interface_work/contracts/contract/lib/contract/integration.rb +132 -0
- data/lib/carat-dev/interface_work/contracts/contract/lib/contract/overrides.rb +32 -0
- data/lib/carat-dev/interface_work/must.rb +37 -0
- data/lib/carat-dev/interface_work/type.rb +232 -0
- data/lib/carat-dev/main/tc_toplevel.rb +23 -0
- data/lib/carat-dev/main/toplevel.rb +33 -0
- data/lib/carat-dev/main/toplevel_test.rb +24 -0
- data/lib/carat-dev/misc/1.rb +40 -0
- data/lib/carat-dev/misc/misc.rb +44 -0
- data/lib/carat-dev/misc/sys.rb +186 -0
- data/lib/carat-dev/misc/temp.rb +1 -0
- data/lib/carat-dev/misc/utils.rb +518 -0
- data/lib/carat-dev/predicate/predicate.rb +109 -0
- data/lib/carat-dev/predicate/predicate_test.rb +67 -0
- data/lib/carat-dev/premshree.rb +40 -0
- data/lib/carat-dev/priority-queue/pqueue.rb +183 -0
- data/lib/carat-dev/priority-queue/priorityqueue.rb +84 -0
- data/lib/carat-dev/quaternion/quaternion.rb +529 -0
- data/lib/carat-dev/range.rb +259 -0
- data/lib/carat-dev/system/rubyinfo.rb +75 -0
- data/lib/carat-dev/system/system.rb +105 -0
- data/lib/carat-dev/tc_range.rb +118 -0
- data/lib/carat-dev/timer/timer-doc/classes/Timer.html +291 -0
- data/lib/carat-dev/timer/timer-doc/classes/Timer.src/M000001.html +26 -0
- data/lib/carat-dev/timer/timer-doc/classes/Timer.src/M000002.html +19 -0
- data/lib/carat-dev/timer/timer-doc/classes/Timer.src/M000003.html +18 -0
- data/lib/carat-dev/timer/timer-doc/classes/Timer.src/M000004.html +18 -0
- data/lib/carat-dev/timer/timer-doc/classes/Timer.src/M000005.html +21 -0
- data/lib/carat-dev/timer/timer-doc/classes/Timer.src/M000006.html +23 -0
- data/lib/carat-dev/timer/timer-doc/created.rid +1 -0
- data/lib/carat-dev/timer/timer-doc/files/timer_rb.html +144 -0
- data/lib/carat-dev/timer/timer-doc/fr_class_index.html +27 -0
- data/lib/carat-dev/timer/timer-doc/fr_file_index.html +27 -0
- data/lib/carat-dev/timer/timer-doc/fr_method_index.html +32 -0
- data/lib/carat-dev/timer/timer-doc/index.html +24 -0
- data/lib/carat-dev/timer/timer-doc/rdoc-style.css +208 -0
- data/lib/carat-dev/timer/timer.rb +160 -0
- data/lib/carat-dev/vars/vars.rb +62 -0
- data/lib/carat/1st.rb +58 -0
- data/lib/carat/ansicolor.rb +122 -0
- data/lib/carat/attr.rb +342 -0
- data/lib/carat/bbcode.rb +352 -0
- data/lib/carat/binaryreader.rb +170 -0
- data/lib/carat/binding-of-caller.rb +83 -0
- data/lib/carat/byteorder.rb +34 -0
- data/lib/carat/constant.rb +287 -0
- data/lib/carat/coroutine.rb +102 -0
- data/lib/carat/crosscase.rb +309 -0
- data/lib/carat/duckhunter.rb +158 -0
- data/lib/carat/dynamic-mixin.rb +71 -0
- data/lib/carat/enumerable-args.rb +125 -0
- data/lib/carat/expect.rb +192 -0
- data/lib/carat/filelist.rb +277 -0
- data/lib/carat/floatstring.rb +153 -0
- data/lib/carat/functor.rb +41 -0
- data/lib/carat/harray.rb +507 -0
- data/lib/carat/heap.rb +193 -0
- data/lib/carat/html-helpers.rb +82 -0
- data/lib/carat/infinity.rb +61 -0
- data/lib/carat/init.rb +33 -0
- data/lib/carat/interval.rb +248 -0
- data/lib/carat/io-reactor.rb +657 -0
- data/lib/carat/io-redirect.rb +99 -0
- data/lib/carat/lisp-format.rb +1832 -0
- data/lib/carat/lisp.rb +336 -0
- data/lib/carat/macro.rb +68 -0
- data/lib/carat/multiton.rb +153 -0
- data/lib/carat/nack.rb +115 -0
- data/lib/carat/nil-comparable.rb +67 -0
- data/lib/carat/nil-missing.rb +12 -0
- data/lib/carat/notcopyable.rb +68 -0
- data/lib/carat/orderedhash.rb +249 -0
- data/lib/carat/ostructable.rb +138 -0
- data/lib/carat/parser-old.rb +350 -0
- data/lib/carat/parser.rb +393 -0
- data/lib/carat/ref.rb +31 -0
- data/lib/carat/semaphore.rb +69 -0
- data/lib/carat/snapshot.rb +94 -0
- data/lib/carat/soundex.rb +104 -0
- data/lib/carat/sstruct.rb +223 -0
- data/lib/carat/statichash.rb +49 -0
- data/lib/carat/tagiter.rb +345 -0
- data/lib/carat/timelimit.rb +114 -0
- data/lib/carat/timer.rb +99 -0
- data/lib/carat/tracepoint.rb +154 -0
- data/lib/carat/tuple.rb +31 -0
- data/lib/carat/uninheritable.rb +68 -0
- data/lib/carat/version.rb +147 -0
- data/pub/doc/sstruct.txt +204 -0
- data/pub/doc/tagiter.html +145 -0
- data/setup.rb +1361 -0
- data/test/fixtures/filelist/testfile.txt +1 -0
- data/test/fixtures/filelist/testfile2.txt +1 -0
- data/test/tc_1st.rb +16 -0
- data/test/tc_ansicolor.rb +23 -0
- data/test/tc_attr.rb +46 -0
- data/test/tc_bbcode.rb +20 -0
- data/test/tc_binaryreader.rb +14 -0
- data/test/tc_binding_of_caller.rb +2 -0
- data/test/tc_byteorder.rb +41 -0
- data/test/tc_constant.rb +12 -0
- data/test/tc_coroutine.rb +50 -0
- data/test/tc_crosscase.rb +33 -0
- data/test/tc_duckhunter.rb +37 -0
- data/test/tc_dynamic-mixin.rb +66 -0
- data/test/tc_enumerable-args.rb +66 -0
- data/test/tc_expect.rb +83 -0
- data/test/tc_filelist.rb +17 -0
- data/test/tc_floatstring.rb +22 -0
- data/test/tc_functor.rb +18 -0
- data/test/tc_harray.rb +280 -0
- data/test/tc_heap.rb +6 -0
- data/test/tc_infinity.rb +23 -0
- data/test/tc_init.rb +29 -0
- data/test/tc_interval.rb +153 -0
- data/test/tc_io-reactor.rb +5 -0
- data/test/tc_io-redirect.rb +5 -0
- data/test/tc_lisp-format.rb +24 -0
- data/test/tc_lisp.rb +32 -0
- data/test/tc_macro.rb +48 -0
- data/test/tc_multiton.rb +188 -0
- data/test/tc_nack.rb +31 -0
- data/test/tc_nil-as-emptiness.rb +19 -0
- data/test/tc_nil-comparable.rb +29 -0
- data/test/tc_nil-missing.rb +0 -0
- data/test/tc_notcopyable.rb +64 -0
- data/test/tc_orderedhash.rb +36 -0
- data/test/tc_ostructable.rb +31 -0
- data/test/tc_semaphore.rb +5 -0
- data/test/tc_snapshot.rb +20 -0
- data/test/tc_soundex.rb +19 -0
- data/test/tc_sstruct.rb +313 -0
- data/test/tc_statichash.rb +24 -0
- data/test/tc_tagiter.rb +80 -0
- data/test/tc_timelimit.rb +47 -0
- data/test/tc_timer.rb +35 -0
- data/test/tc_tracepoint.rb +10 -0
- data/test/tc_tuple.rb +25 -0
- data/test/tc_uninheritable.rb +33 -0
- data/test/tc_version.rb +90 -0
- metadata +531 -0
|
@@ -0,0 +1,172 @@
|
|
|
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: Array</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">Array</td>
|
|
54
|
+
</tr>
|
|
55
|
+
<tr class="top-aligned-row">
|
|
56
|
+
<td><strong>In:</strong></td>
|
|
57
|
+
<td>
|
|
58
|
+
<a href="../files/lib/carat/snapshot_rb.html">
|
|
59
|
+
lib/carat/snapshot.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
|
+
|
|
84
|
+
|
|
85
|
+
</div>
|
|
86
|
+
|
|
87
|
+
<div id="method-list">
|
|
88
|
+
<h3 class="section-bar">Methods</h3>
|
|
89
|
+
|
|
90
|
+
<div class="name-list">
|
|
91
|
+
<a href="#M000144">apply_snapshot</a>
|
|
92
|
+
<a href="#M000143">take_snapshot</a>
|
|
93
|
+
</div>
|
|
94
|
+
</div>
|
|
95
|
+
|
|
96
|
+
</div>
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
<!-- if includes -->
|
|
100
|
+
|
|
101
|
+
<div id="section">
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
<!-- if method_list -->
|
|
111
|
+
<div id="methods">
|
|
112
|
+
<h3 class="section-bar">Public Instance methods</h3>
|
|
113
|
+
|
|
114
|
+
<div id="method-M000144" class="method-detail">
|
|
115
|
+
<a name="M000144"></a>
|
|
116
|
+
|
|
117
|
+
<div class="method-heading">
|
|
118
|
+
<a href="#M000144" class="method-signature">
|
|
119
|
+
<span class="method-name">apply_snapshot</span><span class="method-args">(snap)</span>
|
|
120
|
+
</a>
|
|
121
|
+
</div>
|
|
122
|
+
|
|
123
|
+
<div class="method-description">
|
|
124
|
+
<p><a class="source-toggle" href="#"
|
|
125
|
+
onclick="toggleCode('M000144-source');return false;">[Source]</a></p>
|
|
126
|
+
<div class="method-source-code" id="M000144-source">
|
|
127
|
+
<pre>
|
|
128
|
+
<span class="ruby-comment cmt"># File lib/carat/snapshot.rb, line 67</span>
|
|
129
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">apply_snapshot</span>(<span class="ruby-identifier">snap</span>)
|
|
130
|
+
<span class="ruby-identifier">replace</span>(<span class="ruby-identifier">snap</span>)
|
|
131
|
+
<span class="ruby-keyword kw">end</span>
|
|
132
|
+
</pre>
|
|
133
|
+
</div>
|
|
134
|
+
</div>
|
|
135
|
+
</div>
|
|
136
|
+
|
|
137
|
+
<div id="method-M000143" class="method-detail">
|
|
138
|
+
<a name="M000143"></a>
|
|
139
|
+
|
|
140
|
+
<div class="method-heading">
|
|
141
|
+
<a href="#M000143" class="method-signature">
|
|
142
|
+
<span class="method-name">take_snapshot</span><span class="method-args">()</span>
|
|
143
|
+
</a>
|
|
144
|
+
</div>
|
|
145
|
+
|
|
146
|
+
<div class="method-description">
|
|
147
|
+
<p><a class="source-toggle" href="#"
|
|
148
|
+
onclick="toggleCode('M000143-source');return false;">[Source]</a></p>
|
|
149
|
+
<div class="method-source-code" id="M000143-source">
|
|
150
|
+
<pre>
|
|
151
|
+
<span class="ruby-comment cmt"># File lib/carat/snapshot.rb, line 63</span>
|
|
152
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">take_snapshot</span>
|
|
153
|
+
<span class="ruby-identifier">dup</span>
|
|
154
|
+
<span class="ruby-keyword kw">end</span>
|
|
155
|
+
</pre>
|
|
156
|
+
</div>
|
|
157
|
+
</div>
|
|
158
|
+
</div>
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
</div>
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
</div>
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
<div id="validator-badges">
|
|
168
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
169
|
+
</div>
|
|
170
|
+
|
|
171
|
+
</body>
|
|
172
|
+
</html>
|
|
@@ -0,0 +1,638 @@
|
|
|
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: BBCode</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">BBCode</td>
|
|
54
|
+
</tr>
|
|
55
|
+
<tr class="top-aligned-row">
|
|
56
|
+
<td><strong>In:</strong></td>
|
|
57
|
+
<td>
|
|
58
|
+
<a href="../files/lib/carat/bbcode_rb.html">
|
|
59
|
+
lib/carat/bbcode.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="BBCode.html">BBCode</a></h1>
|
|
85
|
+
<p>
|
|
86
|
+
This module helps easening the separation of core and frontend with the
|
|
87
|
+
core (or submodules) being still able to say, what colors shall be used in
|
|
88
|
+
it’s responses. This is achieved by encoding formatting information
|
|
89
|
+
using the <a href="BBCode.html">BBCode</a> tokens. This enables you to
|
|
90
|
+
"pipe" layout information such as colors, style, fonttype, size
|
|
91
|
+
and alignment through the core to the frontend.
|
|
92
|
+
</p>
|
|
93
|
+
<p>
|
|
94
|
+
Additionally it converts markups/codes between ANSI, <a
|
|
95
|
+
href="HTML.html">HTML</a> and <a href="BBCode.html">BBCode</a> almost
|
|
96
|
+
freely ;)
|
|
97
|
+
</p>
|
|
98
|
+
<h2>Example</h2>
|
|
99
|
+
<pre>
|
|
100
|
+
# Converting a string to ANSI and XHTML
|
|
101
|
+
|
|
102
|
+
require 'raspberry/new/bbcode'
|
|
103
|
+
|
|
104
|
+
str = "this is [COLOR=red]red[/COLOR], this is [B]bold[/B]"
|
|
105
|
+
print( BBCode.bbcode_to_ansi(str) )
|
|
106
|
+
print( BBCode.bbcode_to_html(str) )
|
|
107
|
+
</pre>
|
|
108
|
+
<h1>Author</h1>
|
|
109
|
+
<ul>
|
|
110
|
+
<li>Thomas-Ivo Heinen
|
|
111
|
+
|
|
112
|
+
</li>
|
|
113
|
+
</ul>
|
|
114
|
+
<h2>Legal</h2>
|
|
115
|
+
<pre>
|
|
116
|
+
Copyright (c) 2002 Thomas-Ivo Heinen
|
|
117
|
+
</pre>
|
|
118
|
+
<h2>History</h2>
|
|
119
|
+
<pre>
|
|
120
|
+
02-07-16 Bugfix BBCODE=>ANSI, bbcode_to_html, ansi_to_html,
|
|
121
|
+
html_to_bbcode, html_to_ansi
|
|
122
|
+
|
|
123
|
+
02-11-11 Comment fixes, more case insensitive matching,
|
|
124
|
+
convert deprecated HTML styles (<b>, <i>), more
|
|
125
|
+
space-tolerant matching, img-tags in html_to_bbcode
|
|
126
|
+
works now, some error-preventing stripping and downcasing.
|
|
127
|
+
</pre>
|
|
128
|
+
<h2>Stamp</h2>
|
|
129
|
+
<pre>
|
|
130
|
+
$Id: bbcode.rb, v2.2 2002/07/16 transami Exp $
|
|
131
|
+
</pre>
|
|
132
|
+
|
|
133
|
+
</div>
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
</div>
|
|
137
|
+
|
|
138
|
+
<div id="method-list">
|
|
139
|
+
<h3 class="section-bar">Methods</h3>
|
|
140
|
+
|
|
141
|
+
<div class="name-list">
|
|
142
|
+
<a href="#M000304">ansi</a>
|
|
143
|
+
<a href="#M000306">ansi_to_bbcode</a>
|
|
144
|
+
<a href="#M000310">ansi_to_html</a>
|
|
145
|
+
<a href="#M000307">bbcode_to_ansi</a>
|
|
146
|
+
<a href="#M000309">bbcode_to_html</a>
|
|
147
|
+
<a href="#M000311">html_to_ansi</a>
|
|
148
|
+
<a href="#M000308">html_to_bbcode</a>
|
|
149
|
+
<a href="#M000305">strip_bbcode</a>
|
|
150
|
+
</div>
|
|
151
|
+
</div>
|
|
152
|
+
|
|
153
|
+
</div>
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
<!-- if includes -->
|
|
157
|
+
|
|
158
|
+
<div id="section">
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
<div id="constants-list">
|
|
162
|
+
<h3 class="section-bar">Constants</h3>
|
|
163
|
+
|
|
164
|
+
<div class="name-list">
|
|
165
|
+
<table summary="Constants">
|
|
166
|
+
<tr class="top-aligned-row context-row">
|
|
167
|
+
<td class="context-item-name">VERSION</td>
|
|
168
|
+
<td>=</td>
|
|
169
|
+
<td class="context-item-value">2.2</td>
|
|
170
|
+
</tr>
|
|
171
|
+
<tr class="top-aligned-row context-row">
|
|
172
|
+
<td class="context-item-name">ANSINAME2CODE</td>
|
|
173
|
+
<td>=</td>
|
|
174
|
+
<td class="context-item-value">{ "reset" => "\e[0m", "bold" => "\e[1m", "underline" => "\e[4m", "blink" => "\e[5m", "reverse" => "\e[7m", "invisible" => "\e[8m", "black" => "\e[0;30m", "darkgrey" => "\e[1;30m", "red" => "\e[0;31m", "lightred" => "\e[1;31m", "green" => "\e[0;32m", "lightgreen" => "\e[1;32m", "brown" => "\e[0;33m", "yellow" => "\e[1;33m", "blue" => "\e[0;34m", "lightblue" => "\e[1;34m", "purple" => "\e[0;35m", "magenta" => "\e[1;35m", "cyan" => "\e[1;36m", "lightcyan" => "\e[1;36m", "grey" => "\e[0;37m", "white" => "\e[1;37m", "bgblack" => "\e[40m", "bgred" => "\e[41m", "bggreen" => "\e[42m", "bgyellow" => "\e[43m", "bgblue" => "\e[44m", "bgmagenta" => "\e[45m", "bgcyan" => "\e[46m", "bgwhite" => "\e[47m"</td>
|
|
175
|
+
<td width="3em"> </td>
|
|
176
|
+
<td class="context-item-desc">
|
|
177
|
+
ANSIname => ANSIcode LUT
|
|
178
|
+
|
|
179
|
+
</td>
|
|
180
|
+
</tr>
|
|
181
|
+
<tr class="top-aligned-row context-row">
|
|
182
|
+
<td class="context-item-name">BBCOLOR2ANSI</td>
|
|
183
|
+
<td>=</td>
|
|
184
|
+
<td class="context-item-value">{ "skyblue" => "blue", "royalblue" => "blue", "blue" => "blue", "darkblue" => "blue", "orange" => "red", "orangered" => "red", "crimson" => "red", "red" => "lightred", "firebrick" => "red", "darkred" => "red", "green" => "green", "limegreen" => "green", "seagreen" => "green", "darkgreen" => "green", "deeppink" => "magenta", "tomato" => "red", "coral" => "cyan", "purple" => "purple", "indigo" => "blue", "burlywood" => "red", "sandybrown"=> "red", "sierra" => "sierra", "chocolate" => "brown", "teal" => "teal", "silver" => "white", "black" => "black", "yellow" => "yellow", "magenta" => "magenta", "cyan" => "cyan", "white" => "white"</td>
|
|
185
|
+
<td width="3em"> </td>
|
|
186
|
+
<td class="context-item-desc">
|
|
187
|
+
BBColor => ANSIname LUT
|
|
188
|
+
|
|
189
|
+
</td>
|
|
190
|
+
</tr>
|
|
191
|
+
<tr class="top-aligned-row context-row">
|
|
192
|
+
<td class="context-item-name">ANSINAME2BBCODE</td>
|
|
193
|
+
<td>=</td>
|
|
194
|
+
<td class="context-item-value">{ "bold" => "B", "underline" => "U", "reverse" => "I", "red" => "COLOR=red", "blue" => "COLOR=blue", "green" => "COLOR=green", "cyan" => "COLOR=cyan", "magenta"=> "COLOR=deeppink", "purple" => "COLOR=purple", "black" => "COLOR=black", "white" => "COLOR=white", "yellow" => "COLOR=yellow", "brown" => "COLOR=chocolate"</td>
|
|
195
|
+
<td width="3em"> </td>
|
|
196
|
+
<td class="context-item-desc">
|
|
197
|
+
ANSInames => <a href="BBCode.html">BBCode</a> LUT
|
|
198
|
+
|
|
199
|
+
</td>
|
|
200
|
+
</tr>
|
|
201
|
+
</table>
|
|
202
|
+
</div>
|
|
203
|
+
</div>
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
<!-- if method_list -->
|
|
211
|
+
<div id="methods">
|
|
212
|
+
<h3 class="section-bar">Public Class methods</h3>
|
|
213
|
+
|
|
214
|
+
<div id="method-M000304" class="method-detail">
|
|
215
|
+
<a name="M000304"></a>
|
|
216
|
+
|
|
217
|
+
<div class="method-heading">
|
|
218
|
+
<a href="#M000304" class="method-signature">
|
|
219
|
+
<span class="method-name">ansi</span><span class="method-args">(colorname)</span>
|
|
220
|
+
</a>
|
|
221
|
+
</div>
|
|
222
|
+
|
|
223
|
+
<div class="method-description">
|
|
224
|
+
<p>
|
|
225
|
+
Returns the ANSI sequence for given color, if existant
|
|
226
|
+
</p>
|
|
227
|
+
<p><a class="source-toggle" href="#"
|
|
228
|
+
onclick="toggleCode('M000304-source');return false;">[Source]</a></p>
|
|
229
|
+
<div class="method-source-code" id="M000304-source">
|
|
230
|
+
<pre>
|
|
231
|
+
<span class="ruby-comment cmt"># File lib/carat/bbcode.rb, line 107</span>
|
|
232
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">BBCode</span>.<span class="ruby-identifier">ansi</span>(<span class="ruby-identifier">colorname</span>)
|
|
233
|
+
<span class="ruby-identifier">colorname</span>.<span class="ruby-identifier">strip!</span>
|
|
234
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-constant">ANSINAME2CODE</span>[ <span class="ruby-identifier">colorname</span>.<span class="ruby-identifier">downcase</span> ]
|
|
235
|
+
<span class="ruby-keyword kw">end</span>
|
|
236
|
+
</pre>
|
|
237
|
+
</div>
|
|
238
|
+
</div>
|
|
239
|
+
</div>
|
|
240
|
+
|
|
241
|
+
<div id="method-M000306" class="method-detail">
|
|
242
|
+
<a name="M000306"></a>
|
|
243
|
+
|
|
244
|
+
<div class="method-heading">
|
|
245
|
+
<a href="#M000306" class="method-signature">
|
|
246
|
+
<span class="method-name">ansi_to_bbcode</span><span class="method-args">(string)</span>
|
|
247
|
+
</a>
|
|
248
|
+
</div>
|
|
249
|
+
|
|
250
|
+
<div class="method-description">
|
|
251
|
+
<p>
|
|
252
|
+
Returns the string with all ansi escape sequences converted to BBCodes
|
|
253
|
+
</p>
|
|
254
|
+
<p><a class="source-toggle" href="#"
|
|
255
|
+
onclick="toggleCode('M000306-source');return false;">[Source]</a></p>
|
|
256
|
+
<div class="method-source-code" id="M000306-source">
|
|
257
|
+
<pre>
|
|
258
|
+
<span class="ruby-comment cmt"># File lib/carat/bbcode.rb, line 120</span>
|
|
259
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">BBCode</span>.<span class="ruby-identifier">ansi_to_bbcode</span>(<span class="ruby-identifier">string</span>)
|
|
260
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-value str">""</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">string</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">string</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">empty?</span>
|
|
261
|
+
<span class="ruby-identifier">result</span> = <span class="ruby-value str">""</span>
|
|
262
|
+
<span class="ruby-identifier">tagstack</span> = []
|
|
263
|
+
|
|
264
|
+
<span class="ruby-comment cmt">## Iterate over input lines</span>
|
|
265
|
+
<span class="ruby-identifier">string</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">"\n"</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
|
|
266
|
+
<span class="ruby-identifier">ansi</span> = <span class="ruby-identifier">line</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/\e\[[0-9;]+m/</span>)
|
|
267
|
+
<span class="ruby-identifier">continue</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">ansi</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">ansi</span>.<span class="ruby-identifier">empty?</span>
|
|
268
|
+
|
|
269
|
+
<span class="ruby-comment cmt">## Iterate over found ansi sequences</span>
|
|
270
|
+
<span class="ruby-identifier">ansi</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">seq</span><span class="ruby-operator">|</span>
|
|
271
|
+
<span class="ruby-identifier">ansiname</span> = <span class="ruby-constant">ANSINAME2CODE</span>.<span class="ruby-identifier">invert</span>[<span class="ruby-node">"#{seq}"</span>]
|
|
272
|
+
|
|
273
|
+
<span class="ruby-comment cmt">## Pop last tag and form closing tag</span>
|
|
274
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">ansiname</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"reset"</span>
|
|
275
|
+
<span class="ruby-identifier">lasttag</span> = <span class="ruby-identifier">tagstack</span>.<span class="ruby-identifier">pop</span>
|
|
276
|
+
<span class="ruby-identifier">bbname</span> = <span class="ruby-value str">"/"</span> <span class="ruby-operator">+</span> <span class="ruby-constant">String</span>.<span class="ruby-identifier">new</span>( <span class="ruby-identifier">lasttag</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">"="</span>)[<span class="ruby-value">0</span>] )
|
|
277
|
+
|
|
278
|
+
<span class="ruby-comment cmt">## Get corresponding BBCode tag + Push to stack</span>
|
|
279
|
+
<span class="ruby-keyword kw">else</span>
|
|
280
|
+
<span class="ruby-identifier">bbname</span> = <span class="ruby-constant">ANSINAME2BBCODE</span>[<span class="ruby-identifier">ansiname</span>]
|
|
281
|
+
<span class="ruby-identifier">tagstack</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">bbname</span>)
|
|
282
|
+
<span class="ruby-keyword kw">end</span>
|
|
283
|
+
|
|
284
|
+
<span class="ruby-comment cmt">## Replace ansi sequence by BBCode tag</span>
|
|
285
|
+
<span class="ruby-identifier">replace</span> = <span class="ruby-identifier">sprintf</span>(<span class="ruby-value str">"[%s]"</span>, <span class="ruby-identifier">bbname</span>)
|
|
286
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">sub!</span>(<span class="ruby-node">"#{Regexp.quote(seq)}"</span>, <span class="ruby-identifier">replace</span>)
|
|
287
|
+
<span class="ruby-keyword kw">end</span>
|
|
288
|
+
|
|
289
|
+
<span class="ruby-comment cmt">## Append converted line</span>
|
|
290
|
+
<span class="ruby-identifier">result</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">sprintf</span>(<span class="ruby-value str">"%s\n"</span>, <span class="ruby-identifier">line</span>)
|
|
291
|
+
<span class="ruby-keyword kw">end</span>
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
<span class="ruby-comment cmt">## Some tags are unclosed</span>
|
|
295
|
+
<span class="ruby-keyword kw">while</span> <span class="ruby-operator">!</span><span class="ruby-identifier">tagstack</span>.<span class="ruby-identifier">empty?</span>
|
|
296
|
+
<span class="ruby-identifier">result</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">sprintf</span>(<span class="ruby-value str">"[/%s]"</span>, <span class="ruby-constant">String</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">tagstack</span>.<span class="ruby-identifier">pop</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">"="</span>)[<span class="ruby-value">0</span>]) )
|
|
297
|
+
<span class="ruby-keyword kw">end</span>
|
|
298
|
+
|
|
299
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">result</span>
|
|
300
|
+
<span class="ruby-keyword kw">end</span>
|
|
301
|
+
</pre>
|
|
302
|
+
</div>
|
|
303
|
+
</div>
|
|
304
|
+
</div>
|
|
305
|
+
|
|
306
|
+
<div id="method-M000310" class="method-detail">
|
|
307
|
+
<a name="M000310"></a>
|
|
308
|
+
|
|
309
|
+
<div class="method-heading">
|
|
310
|
+
<a href="#M000310" class="method-signature">
|
|
311
|
+
<span class="method-name">ansi_to_html</span><span class="method-args">(string)</span>
|
|
312
|
+
</a>
|
|
313
|
+
</div>
|
|
314
|
+
|
|
315
|
+
<div class="method-description">
|
|
316
|
+
<p>
|
|
317
|
+
Converts a ANSI string to one with <a href="HTML.html">HTML</a> markup.
|
|
318
|
+
Returns the string with ANSI code sequences converted to XHTML markup.
|
|
319
|
+
</p>
|
|
320
|
+
<p><a class="source-toggle" href="#"
|
|
321
|
+
onclick="toggleCode('M000310-source');return false;">[Source]</a></p>
|
|
322
|
+
<div class="method-source-code" id="M000310-source">
|
|
323
|
+
<pre>
|
|
324
|
+
<span class="ruby-comment cmt"># File lib/carat/bbcode.rb, line 338</span>
|
|
325
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">BBCode</span>.<span class="ruby-identifier">ansi_to_html</span>(<span class="ruby-identifier">string</span>)
|
|
326
|
+
<span class="ruby-identifier">bbcoded</span> = <span class="ruby-constant">BBCode</span>.<span class="ruby-identifier">ansi_to_bbcode</span>(<span class="ruby-identifier">string</span> )
|
|
327
|
+
<span class="ruby-identifier">htmled</span> = <span class="ruby-constant">BBCode</span>.<span class="ruby-identifier">bbcode_to_html</span>(<span class="ruby-identifier">bbcoded</span>)
|
|
328
|
+
|
|
329
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">htmled</span>
|
|
330
|
+
<span class="ruby-keyword kw">end</span>
|
|
331
|
+
</pre>
|
|
332
|
+
</div>
|
|
333
|
+
</div>
|
|
334
|
+
</div>
|
|
335
|
+
|
|
336
|
+
<div id="method-M000307" class="method-detail">
|
|
337
|
+
<a name="M000307"></a>
|
|
338
|
+
|
|
339
|
+
<div class="method-heading">
|
|
340
|
+
<a href="#M000307" class="method-signature">
|
|
341
|
+
<span class="method-name">bbcode_to_ansi</span><span class="method-args">(string, usecolors = true)</span>
|
|
342
|
+
</a>
|
|
343
|
+
</div>
|
|
344
|
+
|
|
345
|
+
<div class="method-description">
|
|
346
|
+
<p>
|
|
347
|
+
Converts a <a href="BBCode.html">BBCode</a> string to one with ANSI
|
|
348
|
+
sequences. Returns the string with all formatting instructions in BBCodes
|
|
349
|
+
converted to ANSI code sequences / aligned with spaces to specified width.
|
|
350
|
+
</p>
|
|
351
|
+
<p><a class="source-toggle" href="#"
|
|
352
|
+
onclick="toggleCode('M000307-source');return false;">[Source]</a></p>
|
|
353
|
+
<div class="method-source-code" id="M000307-source">
|
|
354
|
+
<pre>
|
|
355
|
+
<span class="ruby-comment cmt"># File lib/carat/bbcode.rb, line 166</span>
|
|
356
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">BBCode</span>.<span class="ruby-identifier">bbcode_to_ansi</span>(<span class="ruby-identifier">string</span>, <span class="ruby-identifier">usecolors</span> = <span class="ruby-keyword kw">true</span>)
|
|
357
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-value str">""</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">string</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">string</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">empty?</span>
|
|
358
|
+
<span class="ruby-identifier">result</span> = <span class="ruby-value str">""</span>
|
|
359
|
+
|
|
360
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-constant">BBCode</span>.<span class="ruby-identifier">strip_bbcode</span>(<span class="ruby-identifier">string</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">usecolors</span>
|
|
361
|
+
|
|
362
|
+
<span class="ruby-comment cmt">## Iterate over lines</span>
|
|
363
|
+
<span class="ruby-identifier">string</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">"\n"</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
|
|
364
|
+
|
|
365
|
+
<span class="ruby-comment cmt">## TODO: stacking? other styles!</span>
|
|
366
|
+
<span class="ruby-constant">ANSINAME2BBCODE</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>,<span class="ruby-identifier">val</span><span class="ruby-operator">|</span>
|
|
367
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-node">/\[#{val}\]/</span>, <span class="ruby-constant">ANSINAME2CODE</span>[<span class="ruby-identifier">key</span>])
|
|
368
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-node">/\[\/#{val}\]/</span>, <span class="ruby-constant">ANSINAME2CODE</span>[<span class="ruby-value str">"reset"</span>])
|
|
369
|
+
<span class="ruby-keyword kw">end</span>
|
|
370
|
+
|
|
371
|
+
<span class="ruby-comment cmt">## Fonttypes and sizes not available</span>
|
|
372
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\[SIZE=\d\]/</span>, <span class="ruby-value str">""</span>)
|
|
373
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\[\/SIZE\]/</span>, <span class="ruby-value str">""</span>)
|
|
374
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\[FONT=[^\]]*\]/</span>, <span class="ruby-value str">""</span>)
|
|
375
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\[\/FONT\]/</span>, <span class="ruby-value str">""</span>)
|
|
376
|
+
|
|
377
|
+
<span class="ruby-comment cmt">## Color-mapping</span>
|
|
378
|
+
<span class="ruby-identifier">colors</span> = <span class="ruby-identifier">line</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/\[COLOR=(.*?)\]/i</span>)
|
|
379
|
+
<span class="ruby-identifier">colors</span> = <span class="ruby-identifier">colors</span>.<span class="ruby-identifier">collect</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">to_s</span>} <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">colors</span>.<span class="ruby-identifier">nil?</span>
|
|
380
|
+
<span class="ruby-identifier">colors</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">col</span><span class="ruby-operator">|</span>
|
|
381
|
+
<span class="ruby-identifier">name</span> = <span class="ruby-constant">BBCOLOR2ANSI</span>[<span class="ruby-identifier">col</span>.<span class="ruby-identifier">downcase</span>]
|
|
382
|
+
<span class="ruby-identifier">name</span> = <span class="ruby-constant">BBCOLOR2ANSI</span>[<span class="ruby-value str">"white"</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">name</span>.<span class="ruby-identifier">nil?</span>
|
|
383
|
+
<span class="ruby-identifier">code</span> = <span class="ruby-constant">ANSINAME2CODE</span>[<span class="ruby-identifier">name</span>]
|
|
384
|
+
|
|
385
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-node">/\[COLOR=#{col}\]/i</span>, <span class="ruby-identifier">code</span>)
|
|
386
|
+
<span class="ruby-keyword kw">end</span>
|
|
387
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\[\/COLOR\]/</span>, <span class="ruby-constant">ANSINAME2CODE</span>[<span class="ruby-value str">"reset"</span>])
|
|
388
|
+
|
|
389
|
+
<span class="ruby-comment cmt">## TODO: Alignment</span>
|
|
390
|
+
<span class="ruby-comment cmt">## TODO: IMGs</span>
|
|
391
|
+
<span class="ruby-comment cmt">## TODO: EMAILs</span>
|
|
392
|
+
<span class="ruby-comment cmt">## TODO: URLs</span>
|
|
393
|
+
<span class="ruby-comment cmt">## TODO: QUOTEs</span>
|
|
394
|
+
<span class="ruby-comment cmt">## TODO: LISTs</span>
|
|
395
|
+
|
|
396
|
+
<span class="ruby-identifier">result</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">sprintf</span>(<span class="ruby-value str">"%s\n"</span>, <span class="ruby-identifier">line</span>)
|
|
397
|
+
<span class="ruby-keyword kw">end</span>
|
|
398
|
+
|
|
399
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">result</span>
|
|
400
|
+
<span class="ruby-keyword kw">end</span>
|
|
401
|
+
</pre>
|
|
402
|
+
</div>
|
|
403
|
+
</div>
|
|
404
|
+
</div>
|
|
405
|
+
|
|
406
|
+
<div id="method-M000309" class="method-detail">
|
|
407
|
+
<a name="M000309"></a>
|
|
408
|
+
|
|
409
|
+
<div class="method-heading">
|
|
410
|
+
<a href="#M000309" class="method-signature">
|
|
411
|
+
<span class="method-name">bbcode_to_html</span><span class="method-args">(string)</span>
|
|
412
|
+
</a>
|
|
413
|
+
</div>
|
|
414
|
+
|
|
415
|
+
<div class="method-description">
|
|
416
|
+
<p>
|
|
417
|
+
Converts a <a href="BBCode.html">BBCode</a> string to one with <a
|
|
418
|
+
href="HTML.html">HTML</a> markup. Returns the string with all formatting
|
|
419
|
+
instructions in BBCodes converted to XHTML markups.
|
|
420
|
+
</p>
|
|
421
|
+
<p><a class="source-toggle" href="#"
|
|
422
|
+
onclick="toggleCode('M000309-source');return false;">[Source]</a></p>
|
|
423
|
+
<div class="method-source-code" id="M000309-source">
|
|
424
|
+
<pre>
|
|
425
|
+
<span class="ruby-comment cmt"># File lib/carat/bbcode.rb, line 273</span>
|
|
426
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">BBCode</span>.<span class="ruby-identifier">bbcode_to_html</span>(<span class="ruby-identifier">string</span>)
|
|
427
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-value str">""</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">string</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">string</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">empty?</span>
|
|
428
|
+
<span class="ruby-identifier">result</span> = <span class="ruby-value str">""</span>
|
|
429
|
+
<span class="ruby-identifier">quote</span> = <span class="ruby-value">0</span>
|
|
430
|
+
|
|
431
|
+
<span class="ruby-comment cmt">## Iterate over lines</span>
|
|
432
|
+
<span class="ruby-identifier">string</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">"\n"</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
|
|
433
|
+
<span class="ruby-identifier">styles</span> = { <span class="ruby-value str">"b"</span> =<span class="ruby-operator">></span> <span class="ruby-value str">"strong"</span>, <span class="ruby-value str">"i"</span> =<span class="ruby-operator">></span> <span class="ruby-value str">"em"</span>, <span class="ruby-value str">"u"</span> =<span class="ruby-operator">></span> <span class="ruby-value str">"u"</span> }
|
|
434
|
+
|
|
435
|
+
<span class="ruby-comment cmt">## preserve B, I, U</span>
|
|
436
|
+
<span class="ruby-identifier">styles</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">code</span>,<span class="ruby-identifier">html</span><span class="ruby-operator">|</span>
|
|
437
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-node">/\[#{code}\]/i</span>, <span class="ruby-node">"<#{html}>"</span>)
|
|
438
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-node">/\[\/#{code}\]/i</span>, <span class="ruby-node">"</#{html}>"</span>)
|
|
439
|
+
<span class="ruby-keyword kw">end</span>
|
|
440
|
+
|
|
441
|
+
<span class="ruby-comment cmt">## COLOR => font color=... (TODO: should be numeric!)</span>
|
|
442
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\[COLOR=(.*?)\]/i</span>, <span class="ruby-value str">"<font color=\"\\1\">"</span>)
|
|
443
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\[\/COLOR\]/i</span>, <span class="ruby-value str">"</font>"</span>)
|
|
444
|
+
|
|
445
|
+
<span class="ruby-comment cmt">## SIZE => font size=...</span>
|
|
446
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\[SIZE=(.*?)\]/i</span>, <span class="ruby-value str">"<font size=\"\\1\">"</span>)
|
|
447
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\[\/SIZE\]/i</span>, <span class="ruby-value str">"</font>"</span>)
|
|
448
|
+
|
|
449
|
+
<span class="ruby-comment cmt">## URL </span>
|
|
450
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\[URL\]([^\[]+?)\[\/URL\]/i</span>, <span class="ruby-value str">"<a href=\"\\1\">\\1</a>"</span>)
|
|
451
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\[URL=(.*?)\](.+?)\[\/URL\]/i</span>, <span class="ruby-value str">"<a href=\"\\1\">\\2</a>"</span>)
|
|
452
|
+
|
|
453
|
+
<span class="ruby-comment cmt">## IMG</span>
|
|
454
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\[IMG=(.*?)\]/i</span>, <span class="ruby-value str">"<img src=\"\\1\" />"</span>)
|
|
455
|
+
|
|
456
|
+
<span class="ruby-comment cmt">## ALIGN=center (TODO: right, left)</span>
|
|
457
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\[ALIGN=center\]/i</span>, <span class="ruby-value str">"<center>"</span>)
|
|
458
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\[ALIGN=right\]/i</span>, <span class="ruby-value str">"<center>"</span>)
|
|
459
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\[ALIGN=left\]/i</span>, <span class="ruby-value str">"<center>"</span>)
|
|
460
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\[\/ALIGN\]/i</span>, <span class="ruby-value str">"</center>"</span>)
|
|
461
|
+
|
|
462
|
+
<span class="ruby-comment cmt">## QUOTE</span>
|
|
463
|
+
<span class="ruby-identifier">quote</span><span class="ruby-operator">+=</span><span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">line</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/\[QUOTE\]/i</span>
|
|
464
|
+
<span class="ruby-identifier">quote</span><span class="ruby-operator">-=</span><span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">line</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/\[\/QUOTE\]/i</span>) <span class="ruby-operator">&&</span> (<span class="ruby-identifier">quote</span> <span class="ruby-operator">></span> <span class="ruby-value">-1</span>)
|
|
465
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\[QUOTE\]/i</span>, <span class="ruby-value str">"<pre>\n"</span>)
|
|
466
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\[\/QUOTE\]/i</span>, <span class="ruby-value str">"</pre>\n"</span>)
|
|
467
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/^/</span>, <span class="ruby-value str">"&#62;"</span><span class="ruby-operator">*</span><span class="ruby-identifier">quote</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">quote</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
468
|
+
|
|
469
|
+
<span class="ruby-comment cmt">## EMAIL</span>
|
|
470
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\[EMAIL\](.*?)\[\/EMAIL\]/i</span>, <span class="ruby-value str">"<a href=\"mailto:\\1\">\\1</a>"</span>)
|
|
471
|
+
|
|
472
|
+
<span class="ruby-comment cmt">## LIST (TODO: LIST=1, LIST=A)</span>
|
|
473
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\[LIST(?:=(.*?))?\]/i</span>, <span class="ruby-value str">"\n<ul>\n"</span>)
|
|
474
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\[\/LIST\]/i</span>, <span class="ruby-value str">"\n</ul>\n"</span>)
|
|
475
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\[\*\]/i</span>, <span class="ruby-value str">"\n<li />"</span>)
|
|
476
|
+
|
|
477
|
+
<span class="ruby-comment cmt">## FONT => font ??????</span>
|
|
478
|
+
<span class="ruby-comment cmt">## ?BLUR?, FADE?</span>
|
|
479
|
+
|
|
480
|
+
<span class="ruby-identifier">result</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">sprintf</span>(<span class="ruby-value str">"%s<br />\n"</span>, <span class="ruby-identifier">line</span>)
|
|
481
|
+
<span class="ruby-keyword kw">end</span>
|
|
482
|
+
|
|
483
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">result</span>
|
|
484
|
+
<span class="ruby-keyword kw">end</span>
|
|
485
|
+
</pre>
|
|
486
|
+
</div>
|
|
487
|
+
</div>
|
|
488
|
+
</div>
|
|
489
|
+
|
|
490
|
+
<div id="method-M000311" class="method-detail">
|
|
491
|
+
<a name="M000311"></a>
|
|
492
|
+
|
|
493
|
+
<div class="method-heading">
|
|
494
|
+
<a href="#M000311" class="method-signature">
|
|
495
|
+
<span class="method-name">html_to_ansi</span><span class="method-args">(string)</span>
|
|
496
|
+
</a>
|
|
497
|
+
</div>
|
|
498
|
+
|
|
499
|
+
<div class="method-description">
|
|
500
|
+
<p>
|
|
501
|
+
Returns the (X)<a href="HTML.html">HTML</a> markup code as ANSI sequences
|
|
502
|
+
</p>
|
|
503
|
+
<p><a class="source-toggle" href="#"
|
|
504
|
+
onclick="toggleCode('M000311-source');return false;">[Source]</a></p>
|
|
505
|
+
<div class="method-source-code" id="M000311-source">
|
|
506
|
+
<pre>
|
|
507
|
+
<span class="ruby-comment cmt"># File lib/carat/bbcode.rb, line 346</span>
|
|
508
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">BBCode</span>.<span class="ruby-identifier">html_to_ansi</span>(<span class="ruby-identifier">string</span>)
|
|
509
|
+
<span class="ruby-identifier">bbcoded</span> = <span class="ruby-constant">BBCode</span>.<span class="ruby-identifier">html_to_bbcode</span>(<span class="ruby-identifier">string</span> )
|
|
510
|
+
<span class="ruby-identifier">ansied</span> = <span class="ruby-constant">BBCode</span>.<span class="ruby-identifier">bbcode_to_ansi</span>(<span class="ruby-identifier">bbcoded</span>)
|
|
511
|
+
|
|
512
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">ansied</span>
|
|
513
|
+
<span class="ruby-keyword kw">end</span>
|
|
514
|
+
</pre>
|
|
515
|
+
</div>
|
|
516
|
+
</div>
|
|
517
|
+
</div>
|
|
518
|
+
|
|
519
|
+
<div id="method-M000308" class="method-detail">
|
|
520
|
+
<a name="M000308"></a>
|
|
521
|
+
|
|
522
|
+
<div class="method-heading">
|
|
523
|
+
<a href="#M000308" class="method-signature">
|
|
524
|
+
<span class="method-name">html_to_bbcode</span><span class="method-args">(string)</span>
|
|
525
|
+
</a>
|
|
526
|
+
</div>
|
|
527
|
+
|
|
528
|
+
<div class="method-description">
|
|
529
|
+
<p>
|
|
530
|
+
Converts a <a href="HTML.html">HTML</a> string into one with <a
|
|
531
|
+
href="BBCode.html">BBCode</a> markup (TODO) Returns the (X)<a
|
|
532
|
+
href="HTML.html">HTML</a> markup string as <a href="BBCode.html">BBCode</a>
|
|
533
|
+
</p>
|
|
534
|
+
<p><a class="source-toggle" href="#"
|
|
535
|
+
onclick="toggleCode('M000308-source');return false;">[Source]</a></p>
|
|
536
|
+
<div class="method-source-code" id="M000308-source">
|
|
537
|
+
<pre>
|
|
538
|
+
<span class="ruby-comment cmt"># File lib/carat/bbcode.rb, line 215</span>
|
|
539
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">BBCode</span>.<span class="ruby-identifier">html_to_bbcode</span>(<span class="ruby-identifier">string</span>)
|
|
540
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-value str">""</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">string</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">string</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">empty?</span>
|
|
541
|
+
<span class="ruby-identifier">result</span> = <span class="ruby-value str">""</span>
|
|
542
|
+
|
|
543
|
+
<span class="ruby-comment cmt">## Iterate over lines</span>
|
|
544
|
+
<span class="ruby-identifier">string</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/<br *\/?>/i</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
|
|
545
|
+
<span class="ruby-identifier">styles</span> = { <span class="ruby-value str">"strong"</span> =<span class="ruby-operator">></span> <span class="ruby-value str">"b"</span>, <span class="ruby-value str">"b"</span> =<span class="ruby-operator">></span> <span class="ruby-value str">"b"</span>,
|
|
546
|
+
<span class="ruby-value str">"em"</span> =<span class="ruby-operator">></span> <span class="ruby-value str">"i"</span>, <span class="ruby-value str">"i"</span> =<span class="ruby-operator">></span> <span class="ruby-value str">"i"</span>,
|
|
547
|
+
<span class="ruby-value str">"u"</span> =<span class="ruby-operator">></span> <span class="ruby-value str">"u"</span> }
|
|
548
|
+
|
|
549
|
+
<span class="ruby-comment cmt">## preserve B, I, U</span>
|
|
550
|
+
<span class="ruby-identifier">styles</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">html</span>,<span class="ruby-identifier">code</span><span class="ruby-operator">|</span>
|
|
551
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-node">/<#{html}>/i</span>, <span class="ruby-node">"[#{code.upcase}]"</span>)
|
|
552
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-node">/<\/#{html}>/i</span>, <span class="ruby-node">"[/#{code.upcase}]"</span>)
|
|
553
|
+
<span class="ruby-keyword kw">end</span>
|
|
554
|
+
|
|
555
|
+
<span class="ruby-comment cmt">## TODO: COLORs</span>
|
|
556
|
+
<span class="ruby-comment cmt">## TODO: SIZEs</span>
|
|
557
|
+
<span class="ruby-comment cmt">## TODO: FONTs</span>
|
|
558
|
+
|
|
559
|
+
<span class="ruby-comment cmt">## EMAIL</span>
|
|
560
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/<a +href *= *\"mailto:(.*?)\".*?>.*?<\/a>/i</span>, <span class="ruby-value str">"[EMAIL]\\1[/EMAIL]"</span>)
|
|
561
|
+
|
|
562
|
+
<span class="ruby-comment cmt">## URL</span>
|
|
563
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/<a +href *= *\"((?:https?|ftp):\/\/.*?)\".*?>(.*?)<\/a>/i</span>, <span class="ruby-value str">"[URL=\\1]\\2[/URL]"</span>)
|
|
564
|
+
|
|
565
|
+
<span class="ruby-comment cmt">## Other refs + closing tags => throw away</span>
|
|
566
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/<a +href *= *\".*?\".*?>/i</span>, <span class="ruby-value str">""</span>)
|
|
567
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/<\/a>/i</span>, <span class="ruby-value str">""</span>)
|
|
568
|
+
|
|
569
|
+
<span class="ruby-comment cmt">## IMG</span>
|
|
570
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/<img +src *= *\"(.*?)\".*?\/?>/i</span>, <span class="ruby-value str">"[IMG=\\1]"</span>)
|
|
571
|
+
|
|
572
|
+
<span class="ruby-comment cmt">## CENTER (right/left??)</span>
|
|
573
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/<center>/i</span>, <span class="ruby-value str">"[ALIGN=center]"</span>)
|
|
574
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/<\/center>/i</span>, <span class="ruby-value str">"[/ALIGN]"</span>)
|
|
575
|
+
|
|
576
|
+
<span class="ruby-comment cmt">## QUOTE</span>
|
|
577
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/<(?:xmp|pre)>/i</span>, <span class="ruby-value str">"[QUOTE]"</span>)
|
|
578
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/<\/(?:xmp|pre)>/i</span>, <span class="ruby-value str">"[/QUOTE]"</span>)
|
|
579
|
+
|
|
580
|
+
<span class="ruby-comment cmt">## LIST</span>
|
|
581
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/<ul>/i</span>, <span class="ruby-value str">"\n[LIST]\n"</span>)
|
|
582
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/<\/ul>/i</span>, <span class="ruby-value str">"\n[/LIST]\n"</span>)
|
|
583
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/<li *\/?> */i</span>, <span class="ruby-value str">"\n[*] "</span>)
|
|
584
|
+
|
|
585
|
+
<span class="ruby-comment cmt">## Unkown tags => throw away</span>
|
|
586
|
+
<span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/<.*? *\/?>/</span>, <span class="ruby-value str">""</span>)
|
|
587
|
+
|
|
588
|
+
<span class="ruby-identifier">result</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">sprintf</span>(<span class="ruby-value str">"%s<br />\n"</span>, <span class="ruby-identifier">line</span>)
|
|
589
|
+
<span class="ruby-keyword kw">end</span>
|
|
590
|
+
|
|
591
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/<br *\/?>/i</span>, <span class="ruby-value str">"\n"</span>)
|
|
592
|
+
<span class="ruby-keyword kw">end</span>
|
|
593
|
+
</pre>
|
|
594
|
+
</div>
|
|
595
|
+
</div>
|
|
596
|
+
</div>
|
|
597
|
+
|
|
598
|
+
<div id="method-M000305" class="method-detail">
|
|
599
|
+
<a name="M000305"></a>
|
|
600
|
+
|
|
601
|
+
<div class="method-heading">
|
|
602
|
+
<a href="#M000305" class="method-signature">
|
|
603
|
+
<span class="method-name">strip_bbcode</span><span class="method-args">(string)</span>
|
|
604
|
+
</a>
|
|
605
|
+
</div>
|
|
606
|
+
|
|
607
|
+
<div class="method-description">
|
|
608
|
+
<p>
|
|
609
|
+
— <a href="BBCode.html#M000305">strip_bbcode</a>( string ) Will strip
|
|
610
|
+
any <a href="BBCode.html">BBCode</a> tags from the given string.
|
|
611
|
+
</p>
|
|
612
|
+
<p><a class="source-toggle" href="#"
|
|
613
|
+
onclick="toggleCode('M000305-source');return false;">[Source]</a></p>
|
|
614
|
+
<div class="method-source-code" id="M000305-source">
|
|
615
|
+
<pre>
|
|
616
|
+
<span class="ruby-comment cmt"># File lib/carat/bbcode.rb, line 114</span>
|
|
617
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">BBCode</span>.<span class="ruby-identifier">strip_bbcode</span>(<span class="ruby-identifier">string</span>)
|
|
618
|
+
<span class="ruby-identifier">string</span>.<span class="ruby-identifier">strip!</span>
|
|
619
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">string</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\[[A-Za-z0-9\/=]+\]/</span>, <span class="ruby-value str">""</span>)
|
|
620
|
+
<span class="ruby-keyword kw">end</span>
|
|
621
|
+
</pre>
|
|
622
|
+
</div>
|
|
623
|
+
</div>
|
|
624
|
+
</div>
|
|
625
|
+
|
|
626
|
+
|
|
627
|
+
</div>
|
|
628
|
+
|
|
629
|
+
|
|
630
|
+
</div>
|
|
631
|
+
|
|
632
|
+
|
|
633
|
+
<div id="validator-badges">
|
|
634
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
635
|
+
</div>
|
|
636
|
+
|
|
637
|
+
</body>
|
|
638
|
+
</html>
|