93238 " " 72237 "\n" 23992 " " 19925 "." 17752 " " 16323 "," 16208 ")" 16110 "(" 15704 " " 14598 "\"" 13274 "=" 12926 "end" 8703 " " 8603 "'" 5966 "def" 5902 "]" 5851 "[" 4851 ":" 4703 "}" 4541 "#\n" 4196 " " 4190 "if" 4160 "|" 2407 "/" 2402 "\#{" 2356 "::" 2216 "\t" 2004 " " 1932 "nil" 1924 "{" 1904 "self" 1636 "name" 1574 "else" 1538 "return" 1520 "0" 1435 "=>" 1414 "class" 1386 "new" 1324 "do" 1307 "1" 1263 "==" 1242 "when" 1227 "*" 1092 "<<" 1081 "+" 982 "\t " 980 "unless" 961 "# \n" 848 "raise" 846 "-" 831 "true" 819 "false" 809 "each" 802 "##\n" 799 "value" 785 "require" 734 "path" 722 "<" 715 "str" 686 "File" 665 "&" 632 "args" 629 "options" 606 " " 599 "s" 554 "size" 534 "e" 534 "Gem" 527 " " 524 "v" 520 ";" 515 "then" 488 "i" 488 "block" 482 "and" 478 "||" 475 "n" 470 "m" 466 "initialize" 462 "val" 459 "to_s" 458 "join" 452 "a" 437 "t" 436 "rescue" 426 "f" 422 "2" 422 "module" 418 "uri" 410 "\t " 409 "?" 407 "begin" 404 "=~" 396 "&&" 386 "# :nodoc:\n" 383 "data" 378 "d" 374 "super" 367 "$1" 366 "case" 360 "k" 358 "other" 356 "result" 354 "res" 353 "elsif" 345 " " 344 "line" 342 "alias" 341 "attr_reader" 340 "yield" 340 "to_i" 334 "arg" 333 "Time" 329 "msg" 328 "spec" 324 "empty?" 323 "private" 322 "nil?" 321 "key" 316 "x" 316 "node" 313 "+=" 309 "opt" 303 "or" 303 "include" 302 "prefix" 301 "c" 296 "q" 296 "obj" 293 ">" 292 "!" 286 "token" 284 "type" 274 "text" 274 "klass" 259 "ArgumentError" 255 "\\n" 248 "kind_of?" 248 "port" 247 "!=" 246 "match" 245 "b" 242 "CONFIG" 239 "inspect" 237 "print" 237 "io" 233 "file" 225 "collect" 225 "push" 222 "||=" 222 "===" 221 "attr_accessor" 221 "while" 219 "delete" 218 "length" 217 "assert_equal" 216 "include?" 216 ".." 214 "element" 209 "host" 205 "String" 203 "split" 203 "ret" 202 "parent" 201 "y" 198 "opts" 196 "string" 193 " " 189 "module_function" 188 "params" 188 "h" 187 "message" 185 "Array" 184 "src" 183 "map" 182 "version" 178 "buf" 176 "o" 173 "content" 173 "puts" 172 "index" 172 "p" 172 "dup" 170 "3" 170 "current" 170 "$2" 169 "r" 168 "full_name" 167 "req" 165 "open" 165 "first" 163 "sg" 163 "addr" 161 "gsub" 160 "dir" 160 "defined?" 158 " " 157 "list" 156 "@path" 155 "parse" 154 "next" 152 "resp" 152 "shift" 152 "break" 151 "Thread" 151 "%" 149 "@options" 148 " " 145 "config" 145 "for" 144 "call" 144 "tag" 143 "Hash" 142 " " 142 "in" 141 "filename" 140 "pattern" 139 "jd" 138 "Regexp" 138 "close" 136 "id" 136 "attr" 134 "YAML" 133 " " 132 " " 132 "respond_to?" 131 "sec" 131 "3600" 130 "op" 128 "method" 128 "\t " 127 "ensure" 127 "hash" 126 "z" 126 "command" 126 "@context" 126 "year" 125 "rv" 125 "\t\t" 124 "min" 124 "target" 123 "mode" 122 " " 122 "format" 121 " " 120 "out" 119 "synchronize" 117 "address" 116 "is_a?" 116 "URI" 116 "4" 115 "ary" 114 "verbose" 114 "encoding" 113 "user" 113 "len" 112 "cmd" 112 "j" 111 "read" 111 "header" 110 "argv" 110 "# \n" 109 "tmp" 108 "IRB" 108 "elem" 108 "w" 107 "ex" 107 "Token" 107 "@lex_state" 106 "downcase" 106 "headers" 105 "Element" 105 "attributes" 104 "context" 103 "rfc2822" 103 "dest" 103 "hour" 102 "__send__" 102 "sub!" 102 "body" 102 "write" 101 "l" 100 "block_given?" 100 "param" 100 "now" 100 "child" 99 "parser" 99 "ENV" 98 "@name" 98 "row" 98 "@socket" 97 "Dir" 97 " " 96 "pop" 94 "fn" 94 "sub" 94 "add" 93 " " 93 "group" 92 "_" 92 "Error" 91 "request" 91 "@hash" 91 "__FILE__" 90 "to_a" 88 "Functions" 88 "T_SPACE" 88 "symbol" 87 "not" 87 "# end\n" 87 "@value" 87 "tag_name" 86 "@config" 86 "chr" 86 "rest" 86 "ch" 86 "attribute" 86 "meth" 85 "width" 85 "source_uri" 84 "Integer" 84 "keys" 83 "OpenSSL" 83 "# end\n" 83 "expected" 83 "last" 82 "input" 82 "$3" 82 "attrs" 81 ">=" 81 "printf" 80 "th" 80 "comment" 79 "code" 78 "@io" 78 "gsub!" 78 "specs" 78 "methods" 78 "indent" 77 "has_key?" 77 "default" 77 "to" 77 "@header" 77 "array" 77 "proc" 77 "ty" 76 "FileUtils" 76 "#" 76 "children" 76 "Exception" 76 "sock" 76 "cert" 76 "find" 75 "enc" 75 "utc" 75 "RSS" 74 "status" 74 "#--\n" 73 "ref" 73 "concat" 72 " " 72 "/i" 72 "password" 72 "pack" 72 "exist?" 71 "mod" 71 "$stderr" 71 "Shell" 71 "nodeset" 71 "cls" 71 "quote" 71 "extend" 71 "tuple" 71 "pp" 71 "RDoc" 70 "@CONF" 70 "module_eval" 70 "Socket" 70 "stdout" 70 "output" 70 "load" 70 "template" 70 "socket" 70 "@spec" 69 "rel" 69 "@sock" 69 "item" 69 "level" 69 "@port" 69 "entry" 69 "12" 68 "mon" 68 "binding" 67 "[]" 67 "dump" 67 "@data" 67 "basename" 66 "gem" 66 "..." 66 " " 66 "update" 66 "source" 66 "@version" 65 "response" 65 "start" 65 "ns" 65 "-=" 65 "EXPR_BEG" 65 "Matrix" 64 "dirname" 64 "@parser" 64 "set" 63 "files" 63 "zone" 63 "Utils" 63 "act" 63 "<=" 62 "elements" 62 "Errno" 62 "platform" 62 "base" 62 "5" 61 "offset" 61 "assert_raise" 61 "event" 61 "LoadError" 61 "7" 60 "OPT_TABLE" 60 "url" 60 "task_name" 60 "freeze" 60 "@element" 60 "num" 60 "10" 60 "unpack" 60 "pos" 60 "mfile" 59 "separator" 59 "scan" 59 "upcase" 59 "<=>" 58 "required" 58 "dialog" 58 "eval" 58 "Rake" 58 "values" 58 "xmlschema" 58 "CGI" 58 "oth" 58 "HTTP" 58 "iter" 58 "@table" 57 "60" 57 "candidates" 57 "exp" 57 "notify" 57 "Marshal" 57 ": " 56 "date" 56 "alias_method" 56 "!~" 56 "expand_path" 56 "of" 55 "**" 55 ", " 55 "send" 55 "all" 55 "@values" 55 "mailbox" 54 "debug" 54 "search" 54 "sort" 54 "dep" 54 "@shell" 54 "local" 54 "idx" 54 "results" 54 "Rational" 54 "rows" 53 "@logger" 53 "gets" 53 "filter" 53 "6" 53 "TkId" 52 "getc" 52 "ARGV" 52 "tags" 52 "#++\n" 52 "timeout" 52 "Platform" 51 "fetch" 51 "title" 51 "BigDecimal" 51 "err" 51 "object" 51 "off" 51 "configuration" 51 "8" 51 "lambda" 51 "HTTPStatus" 51 "DRb" 50 "__LINE__" 50 "chomp" 50 "sprintf" 50 "bind" 50 "stat" 50 "occurs" 50 "lookahead" 50 "desc" 50 "force" 50 "count" 49 "pat" 49 "on" 49 "create" 49 "@encoding" 49 "id2name" 49 "unshift" 49 "clone" 49 "IO" 49 "REXML" 49 "maker" 49 "query" 49 "shift_token" 49 "scheme" 49 "path_stack" 48 "instance_variable_set" 48 " " 48 " " 48 "number" 48 "conf" 48 "bindir" 48 "^" 48 "to_yaml" 48 "section" 48 "say" 48 "copy" 47 "log" 47 "accept" 47 "$4" 47 "time" 47 "@parent" 47 "#:nodoc:\n" 47 "label" 47 "StandardError" 47 "HAS_BODY" 47 "option" 47 "warn" 47 "Net" 47 "file_name" 46 "namespaces" 46 "until" 46 "cl" 46 "matches" 46 "tr" 46 "protected" 46 "Object" 46 "soc" 46 "backtrace" 46 "directory?" 46 "/u" 46 "$0" 46 "noop" 46 "thread" 46 "# end\n" 45 "@children" 45 "Format" 45 "WEBrick" 45 "fail" 45 "@filename" 45 "Numeric" 45 "breakable" 45 "initheader" 44 "ITALY" 44 "/n" 44 "escape" 44 "Encoding" 44 "error" 44 "ext" 44 "$!" 44 "%w(" 44 "public" 44 " " 44 "day" 44 "left" 44 "object_id" 43 "server" 43 "strip" 43 "csv" 42 "sep" 42 "fmt" 42 "hex" 42 "@string" 42 "clear" 42 "instance_eval" 42 "Digest" 42 "CRLF" 42 "types" 42 "RuntimeError" 41 "@body" 41 "16" 41 "@log" 41 "field" 41 "from" 41 "domain" 41 "TkOp" 41 "names" 41 "doctype" 41 "@host" 41 "@buffer" 41 "toplevel" 41 "sw" 40 "deps" 40 "run" 40 "RbConfig" 40 "PP" 40 "head" 40 "@addr" 39 "@OP" 39 "userinfo" 39 "mday" 39 "charset" 39 "disp_name" 39 "fr" 39 "ELEMENTS" 39 "$'" 39 "node_type" 38 "sh" 38 "func" 38 "Editor" 38 "$&" 38 "select" 38 "lib" 38 "Module" 38 "cookie" 38 "31" 38 "encode" 37 "one" 37 "@uri" 37 "11" 37 "=begin\n" 37 "@str" 37 "abs" 37 "Config" 37 "max" 37 "=end\n" 36 "9" 36 "each_with_index" 36 "divmod" 36 "pwd" 36 "# Example:\n" 36 "@pos" 36 "const_set" 36 "document" 36 "sym" 35 "stream" 35 "strftime" 35 "@writer" 35 "task" 35 "EXPR_END" 35 "lines" 35 "link" 35 "align" 35 "SSL" 35 "@server" 35 "model" 34 "namespace" 34 "window" 34 "OptionParser" 34 "var_name" 34 "@rows" 34 "send_command" 34 "Symbol" 34 "main" 34 "FileTest" 34 "http" 34 "EOL" 34 "Feed" 34 "const" 34 "hbox" 34 "succ" 34 "connection" 34 "@gem_home" 34 "ttl" 34 " \n" 34 "mu_pp" 34 "config_string" 33 "ctype" 33 "rs" 33 "table" 33 "flag" 33 "force_encoding" 33 "maker_target" 33 "Struct" 33 "meta" 33 "pair" 33 "pi" 33 "doc" 33 "key?" 33 "<<-EOC" 33 "flatten" 33 "lineno" 32 "ignore_unknown_element" 32 "@source_index" 32 "# call-seq:\n" 32 "element_initialize_arguments?" 32 "to_f" 32 "Complex" 32 "@rss" 32 "Text" 32 "resource" 32 "%{" 32 "RDF" 32 "items" 32 "line_no" 32 "bin" 32 "# :startdoc:\n" 32 "div" 32 "TypeError" 32 "[]=" 32 "merge" 31 "root" 31 "member" 31 "Vector" 31 "# All rights reserved.\n" 31 "secret" 31 "prec" 31 "receiver" 31 "chrs" 31 "private_class_method" 31 "# --\n" 31 "mes" 31 "typecode" 31 "zero" 31 "flags" 31 "version_requirements" 31 "@address" 30 "Date" 30 "chdir" 30 "# :stopdoc:\n" 30 "# See LICENSE.txt for permissions.\n" 30 "# Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.\n" 30 "right" 30 "executables" 30 "@debug_output" 30 "RUBY" 30 "new_nodeset" 30 "ali" 30 "Class" 30 "flush" 30 "u" 30 ">>" 30 "paths" 30 "sync" 30 "@source" 30 "bt" 30 "ent" 30 "display_status" 30 "intern" 30 "readline" 30 "arch" 30 "description" 30 "tok" 30 "mtime" 29 "\\\"" 29 "Requirement" 29 "debug?" 29 "mkdir_p" 29 "@status" 29 "depth" 29 "regexp" 29 "@attributes" 29 "proxy_uri" 29 "# \n" 29 "compact" 29 "standalone" 29 "pack_start" 29 "gemspec" 29 "1.0" 29 "Pathname" 29 "$5" 29 "@template" 29 "eof?" 29 "define_method" 29 "blk" 29 "prompt" 29 "required_uri" 29 "delete_if" 29 "os" 29 "chmod" 29 "End\n" 29 "\t\t\t" 29 "T_ATOM" 29 "<<'End'" 29 "assert" 29 "expr" 29 "\\\\" 28 "tokens" 28 "$" 28 "peek" 28 "ver" 28 "account" 28 "ctx" 28 "@" 28 "untaint" 28 "wday" 28 "content-type" 28 "@elements" 28 "ungetc" 28 "superclass" 28 "Proc" 28 "Kernel" 28 "application" 28 "tk" 28 "component" 28 "Mutex" 28 "language" 28 "register_command" 28 "$+" 28 "yaml_as" 28 "exit" 28 "# end\n" 28 "about" 28 "rss" 27 "inject" 27 "@index" 27 "bytesize" 27 "hello" 27 "test" 27 "1024" 27 " (" 27 "# == Description\n" 27 " " 27 "throw" 27 "@do_validate" 27 "proxy" 27 "|=" 27 "def_rule" 27 "Raise" 27 "rubygems" 27 "reverse" 27 "Fcntl" 27 "loop" 27 "session_id" 27 "%r{" 27 "real" 27 "class_name" 26 "caller" 26 "STDOUT" 26 "@mutex" 26 "httpdate" 26 "localfile" 26 "@cfunc" 26 "sign" 26 "Dialog" 26 "Name" 26 "install_get_attribute" 26 "conn" 26 "pkg" 26 "wb" 26 "closed?" 26 "remove" 26 "IAC" 26 "XMLRPC" 26 "X509" 26 "progname" 26 "@frames" 26 "@last_element" 26 "times" 26 "pre" 26 "POP3" 26 "source_index" 25 "extension" 25 "msg_id" 25 "@line" 25 "normalize" 25 "it" 25 "requirements" 25 "EOFError" 25 "/o" 25 "retry" 25 "sig" 25 "@family" 25 "plural_name" 25 "family" 25 "state" 25 "converter" 25 "singleton" 25 "put_string" 25 "new!" 25 "def_exception" 25 "VERSION" 25 "do_validate" 24 "CommonModel" 24 "TYPE_CHAR" 24 "old" 24 "NotImplementedError" 24 "binmode" 24 "instance" 24 "typealias" 24 ":\"" 24 "Parser" 24 "numbers" 24 "(?:" 24 "@user" 24 "Node" 24 "add_option" 24 "libs" 24 "@gem_dir" 24 "ok" 24 "zero?" 24 "image" 24 "dependency" 24 "opaque" 24 "double_fig" 24 "href" 24 "Version" 24 "append" 24 "generator" 24 "@command" 23 "TYPE_LONG" 23 "option_list" 23 "g" 23 "TYPE_SHORT" 23 "dirs" 23 "AF_INET" 23 "RUBY_VERSION" 23 "Generic" 23 "get_response" 23 "md5" 23 "add_item" 23 "help" 23 "fetcher" 23 "ele" 23 "32" 23 "%w[" 23 "Unit" 23 "MD5" 23 "Expected " 23 "wait" 23 "$VERBOSE" 23 "RSS09" 23 "json" 23 "all?" 23 "quick_emit" 23 "# }\n" 23 "enum" 23 "nonzero?" 23 "uid" 23 "XML" 23 "TypeValue" 23 "JSON" 23 "TYPE_INT" 23 "$stdout" 23 "Float" 23 "NAME" 23 "Fail" 22 "nameserver" 22 "fu_check_options" 22 "@racc_state" 22 "taguri" 22 "typeclass" 22 "env" 22 "short" 22 "search_keys" 22 "HTTPClientError" 22 "append_features" 22 "Enumerable" 22 "ParseError" 22 "sec_fraction" 22 "digest" 22 "instance_of?" 22 "METHOD" 22 "reset" 22 "gem_spec" 22 "ts" 22 "RUBY_PLATFORM" 22 "@verbose" 22 "fstr" 22 "ui" 22 "@responses" 22 "TYPE_VOIDP" 22 "cache" 22 "@env" 22 "set1" 22 "really_verbose" 22 "setup" 22 "exc" 22 "Port" 22 "/ni" 22 "critical" 22 "subtype" 22 "usec" 22 "st" 22 "fragment" 21 "gem_name" 21 "sources" 21 "# Author: IPR -- Internet Programming with Ruby -- writers\n" 21 "certs" 21 "AF_INET6" 21 "86400" 21 "convert" 21 "nodeMustBe" 21 "nodes" 21 "content_type" 21 "original_name" 21 "unlink" 21 "row_size" 21 "HTTPRequest" 21 "jd_to_ajd" 21 "mid" 21 "ind" 21 "unescape" 21 "@specs" 21 "Entry" 21 "fcntl" 21 "0.0" 21 "# \n" 21 "instance_variable_get" 21 "# \n" 21 "ptr" 21 "method_name" 21 "yaml" 21 "any?" 21 "@level" 21 "@headers" 21 "pr" 21 "scanner" 21 "ssl" 21 "catch" 21 "23" 21 " " 21 "limit" 21 "# \tby Keiju ISHITSUKA(keiju@ruby-lang.org)\n" 21 "shellwords" 21 "# +sg+ specifies the Day of Calendar Reform.\n" 21 "cn" 21 "writer" 21 "exception" 20 "author" 20 "m_full_name" 20 "xmlns" 20 "var" 20 "values_at" 20 "long" 20 "objs" 20 "@comment" 20 "set2" 20 "xpath" 20 "config_hash" 20 "gems" 20 "ConfigMap" 20 "const_get" 20 "IOError" 20 "#<" 20 "NoMethodError" 20 "extensions" 20 "\\r\\n" 20 "scope" 20 "ITUNES_PREFIX" 20 "request_method" 20 "fu_output_message" 20 "ClassValue" 20 "tmpdir" 20 "30" 20 "StringIO" 20 "seek" 20 "getaddress" 20 "style" 20 "expanded_name" 20 "ss" 20 "fs" 20 "mkdir" 20 "2000" 20 "imap" 20 "classes" 20 "@password" 20 "emit_a" 20 "# reserved.\n" 20 "@tuple" 20 "@prefix" 20 "new_by_frags" 20 "info" 20 "DRbObject" 20 "full_path" 20 "value_input" 20 "OVERRIDE_ALL" 20 "Shellwords" 20 "dst" 20 "NO_OVERRIDE" 20 " " 20 "file_path" 20 "@indent" 20 "handler" 19 "BaseListener" 19 "@started" 19 "SystemCallError" 19 "methodname" 19 "dependencies" 19 "setup_maker" 19 "hexdigest" 19 "EXPR_FNAME" 19 "ps" 19 "rewind" 19 "disposition" 19 "lock" 19 "conv" 19 "signature" 19 "RemoteFetcher" 19 "each_value" 19 "proxy_user" 19 "RSS10" 19 "install_must_call_validator" 19 "column_size" 19 "eql?" 19 "24" 19 "signal_connect" 19 "GREGORIAN" 19 "DateTime" 19 "alive?" 19 "@stdout" 19 "HTTPUtils" 19 "content-length" 19 "@row" 19 "break_points" 19 "@protocol" 19 "cmd_name" 19 "top" 19 "Timeout" 19 "@ref" 19 "boolean" 19 "Resource" 19 "expires" 19 "Gtk" 19 "\t\t " 19 "emit_n" 19 "sqrt" 19 "marshal_version" 19 "from_enc" 19 "sort_by" 19 "# ==== Fields:\n" 19 "@racc_debug_out" 19 "gem_path" 19 "to_str" 19 "find_all" 19 "DL" 19 "iso8601" 19 "oid" 19 "T_RPAR" 18 "to_hash" 18 "15" 18 "parse_error" 18 "reject" 18 "replace" 18 "seg" 18 "EX" 18 "SIZEOF_VOIDP" 18 "read_timeout" 18 "jobs" 18 "ABBR_MONTHS" 18 "const_defined?" 18 "graph" 18 "\\A" 18 "peeraddr" 18 "HTTPVersion" 18 "rb" 18 "T_LPAR" 18 "cache_dir" 18 "upto" 18 "rm_f" 18 "rm_rf" 18 "defaults" 18 "UserInteraction" 18 "cache_data" 18 "hostname" 18 "coerce" 18 "remotefile" 18 "get_file_and_line_from_caller" 18 "lstat" 18 "#:nodoc: obsolete\n" 18 "_parse" 18 "sendcmd" 18 "subject" 18 " ]" 18 "rc" 18 "signal" 18 "private_module_function" 18 "postproc" 18 "index_or_header" 18 "# end\n" 18 "20" 18 "E2MM" 18 "59" 18 "threads" 18 "category" 18 "@size" 18 "TYPE_LONG_LONG" 18 "TYPE" 18 "rest_offset" 18 "floor" 18 "FetchError" 18 "real?" 18 "rindex" 18 "Process" 18 " @\#{" 18 "RubyLex" 18 "el" 18 "visibility" 18 "to_enc" 17 "cookies" 17 "capitalize" 17 "media_type" 17 "@sg" 17 "set_error" 17 "@scope" 17 "aliases" 17 "attr_writer" 17 "second" 17 "instance_variables" 17 "InvalidComponentError" 17 "alert_warning" 17 "collection" 17 "escapeHTML" 17 "owner" 17 "InvalidURIError" 17 "HTTPResponse" 17 "OpenURI" 17 "logger" 17 "Test" 17 "utc?" 17 "SIZE_MAP" 17 "fileutils" 17 "new_value" 17 "@@out" 17 "install_dir" 17 "%w[ " 17 "\\t" 17 "@listener" 17 "MiniTest" 17 "proxy_pass" 17 "front" 17 "mname" 17 "class_eval" 17 "EXPR_ARG" 17 "T_NIL" 17 "base64" 17 "question" 17 "Set" 17 "PATH_SEPARATOR" 17 "glob" 17 "$extout" 17 "# Copyright (c) 2002 Internet Programming with Ruby writers. All rights\n" 17 "default_pattern" 17 "nest" 17 "DOT" 17 "@new_platform" 17 "@ltype" 17 "RakeFileUtils" 17 "ENOENT" 17 "mask" 17 "STDIN" 17 " " 17 "DEBUGGER__" 17 "FTPReplyError" 17 "tail" 17 "@indent_stack" 17 "Switch" 17 "@tag_name" 17 "PREFIX" 17 "`" 17 "method_missing" 17 "sz" 17 "srcdir" 17 "tag_name_with_prefix" 16 "sync_mode" 16 "@keep_alive" 16 "gem_file" 16 "Benchmark" 16 "fields" 16 "nstring" 16 "instance_methods" 16 "@pattern" 16 "connect" 16 "@ajd" 16 "variables" 16 "ThreadError" 16 "started?" 16 "klass_name" 16 "argument" 16 "preproc" 16 "fmtstr" 16 " end\n" 16 "@search" 16 "rmdir" 16 "ef" 16 "get" 16 "file_list" 16 "IMAGE_PREFIX" 16 "hook" 16 "frame_pos" 16 "job" 16 "@handler" 16 "elm" 16 " " 16 "parse_uri" 16 "nd" 16 "C" 16 "@racc_t" 16 "/m" 16 "akk" 16 " " 16 "al" 16 "@content" 16 "non_digit" 16 "entity" 16 "@files" 16 "@mode" 16 "lt" 16 "Scalar" 16 "TRACKBACK_PREFIX" 16 "taint" 16 "255" 16 "client" 16 "home" 16 "install_text_element" 16 "\\s+" 16 "RE_LWS" 16 "def_rules" 16 "cwyear" 16 "\\0" 16 "mult" 16 "a1" 16 "dot" 16 "env_table" 16 "@standalone" 16 "UntaggedResponse" 16 "@md" 16 "exponent" 16 "at" 16 "preserve" 16 "to_yaml_style" 16 "require_paths" 16 "UTF-8" 15 "InvalidArgument" 15 "@output" 15 "SH" 15 "base_path" 15 "passwd" 15 "%Q[" 15 "\t\t\t\t " 15 "checking_for" 15 "PackInfo" 15 "ResolvError" 15 "getter" 15 "# }\n" 15 "build" 15 "define" 15 "DEBUG" 15 "SyntaxError" 15 "found" 15 "PATTERN" 15 "chop_basename" 15 "Ripper" 15 "FalseClass" 15 "TestCase" 15 "Logger" 15 "# == Args\n" 15 "benchmark" 15 "chown" 15 "@expires" 15 "remove_method" 15 "# == Usage\n" 15 "# \n" 15 "Dependency" 15 "default_style" 15 "@normalized" 15 "absolute?" 15 "@unnormalized" 15 "firstChild" 15 "sync_sh_locker" 15 "@ssl_params" 15 "@test_files" 15 "@use_headers" 15 "latest" 15 "grep" 15 "required_prefix" 15 "content_length" 15 "ruby" 15 "irb" 15 "13" 15 "request_uri" 15 "prime" 15 "no" 15 "methodName" 15 "vstack" 15 "sleep" 15 "gid" 15 "#:nodoc: internal use only\n" 15 "esc_quote" 15 "EOC\n" 15 "package_dir" 15 "margin" 15 "Kconv" 15 "400" 15 "diagram" 15 "utime" 15 "raw" 15 "writable?" 15 "100" 15 "fault" 15 "REQUEST_HAS_BODY" 15 "Convert" 15 "@ssl_context" 15 "FileList" 15 "imag" 15 "type_input" 15 "column" 15 "arg_names" 15 "two" 15 "RESPONSE_HAS_BODY" 15 "@thread_list" 15 "package_name" 15 "channel" 15 "\\\n" 15 "scalar" 15 "pretty_print" 14 "each_name" 14 "progress" 14 "Bag" 14 "# === Example\n" 14 "month" 14 "@lines" 14 "@rest_singles" 14 "tk_c" 14 "_strptime_i" 14 "pc" 14 "%r\"" 14 "comma_breakable" 14 "formatter" 14 "option_name" 14 "tmpname" 14 "@tmpfile" 14 "ie_hack" 14 "@preproc" 14 "option_argument" 14 "--" 14 "hdr" 14 "accessor" 14 "previous" 14 "DEFAULT_PARSER" 14 "child2" 14 "ALT_SEPARATOR" 14 "IMAGE_URI" 14 "child1" 14 "have_author?" 14 "HTTPSuccess" 14 "program_name" 14 " def " 14 "member?" 14 "$/" 14 "zone_to_diff" 14 "Install/Update" 14 "# \t$Release Version: 0.9.5$\n" 14 "uniq" 14 "with_config" 14 "21" 14 "NKF" 14 "default_port" 14 "skip" 14 "RubyToken" 14 "@type" 14 "256" 14 "\t\t\t\t" 14 "NilClass" 14 "@query" 14 "new_name" 14 "'." 14 "$6" 14 "~" 14 "@stack" 14 "stack" 14 "$7" 14 "*=" 14 "TYPE_FLOAT" 14 "verify_mode" 14 "suffix" 14 "seen" 14 "step" 14 "TYPE_DOUBLE" 14 "Label" 14 "ObjectSpace" 14 "@request_uri" 14 "stringio" 14 "@line_no" 14 "installation_path" 14 "setup_maker_attributes" 14 ".gem" 14 "command_name" 14 "Singleton" 14 "NameError" 14 "a2" 14 "op_dir" 14 "registry" 14 "cp" 14 "iv" 14 "voidcmd" 14 "yes" 14 "Proxy" 14 "cpu" 14 "encode_rdata" 14 "TrueClass" 14 "dir_re" 14 "argtype" 14 "@eof" 14 "BaseModel" 14 "show_all" 14 "summary" 14 "@entity" 14 "<<-END" 14 "@@context" 14 "@domain" 14 "node_set" 14 "struct" 14 "xml" 14 "decode_rdata" 14 "cwday" 14 "element_name" 14 "to_io" 14 "pid" 13 "; " 13 "ALIGN_MAP" 13 "l!" 13 "verbose?" 13 "rdoc" 13 "install" 13 "workspace" 13 "@row_sep" 13 "pw" 13 "setter" 13 "Generator" 13 "file?" 13 "seconds" 13 "chunk" 13 "Entry_" 13 "eol" 13 "call_type" 13 "latest_specs" 13 "Math" 13 "vals" 13 "Tracer" 13 "checking_message" 13 "SIZEOF_LONG" 13 "change" 13 "vars" 13 "@xml" 13 "$extmk" 13 "Status" 13 "invalid date" 13 "Attribute" 13 "trim_mode" 13 "parent_type" 13 "ELEMENT_INFOS" 13 "ln" 13 "lstat!" 13 "\t " 13 "@doc_dir" 13 "valx" 13 "cont" 13 "ITUNES_URI" 13 "# as an HTTPResponse object.\n" 13 "@mask_addr" 13 "to_ary" 13 "prefixlen" 13 " end\n" 13 "sender" 13 "overwrite_accessor" 13 "store" 13 "$stdin" 13 "variable_name" 13 "foreach" 13 "@binding" 13 "@opaque" 13 "cpp_include" 13 "service" 13 "vbox" 13 "prog" 13 "@rests" 13 "# :call-seq:\n" 13 "gem_pattern" 13 "# require 'uri'\n" 13 "#!/usr/bin/env ruby\n" 13 "foo" 13 "/no" 13 "19" 13 "node_types" 13 "PrettyPrint" 13 "use_ssl?" 13 "Range" 13 "char_no" 13 "@input" 13 "HEAD" 13 "prefix_length" 13 "@rbuffer" 13 "libpath" 13 "childNodes" 13 "@postproc" 13 "to_class_name" 13 "argc" 13 "@observer_peers" 13 "Comparable" 13 "Document" 13 "secdata" 13 "updated" 13 "TAXO_PREFIX" 13 "XPath" 13 "to_yaml_properties" 13 "sum" 13 "predicate" 13 "severity" 13 "fetch_path" 13 "int" 13 "@xhtml" 13 "arg_config" 13 "terminate" 13 "integer" 13 "co" 13 "hasOnlyOneChild" 13 "md" 13 "@dev" 13 "# :yield:\n" 13 "mods" 13 "arguments" 13 " " 13 "DC_PREFIX" 13 "init" 13 "nt" 12 "# Copyright (c) 2000, 2001 TAKAHASHI Masayoshi, GOTOU Yuuzou\n" 12 "ua" 12 "to_sym" 12 "# == Synopsis\n" 12 "quo" 12 "accessor_name" 12 "power!" 12 "deflate" 12 "@gem_path" 12 "A" 12 "flip" 12 "refute" 12 "@yydebug" 12 "thing" 12 "Rinda" 12 "compile" 12 "@fetcher" 12 "psn" 12 "RubyGemsVersion" 12 "abbrev" 12 "suite" 12 "specifications" 12 "SourceIndex" 12 "__recursive_key__" 12 "@queue" 12 "method_list" 12 "ny" 12 "$defs" 12 "lev" 12 "tree" 12 "tymap" 12 "cd" 12 "viewer" 12 "authors" 12 "fu_list" 12 "x1" 12 "version_requirement" 12 "14" 12 "mount_proc" 12 "reverse_each" 12 "double" 12 "$~" 12 "# # ...\n" 12 "basename_list2" 12 "lc_path" 12 "Entity" 12 "AllReferences" 12 "@active_jobs" 12 "@outs" 12 "@http_version" 12 "L" 12 "ftp" 12 "lang" 12 "place" 12 "@cpu" 12 "civil" 12 "Fixnum" 12 "nonce" 12 "@lang" 12 "UN" 12 "each_address" 12 "\t " 12 "dn" 12 "rename" 12 "Security" 12 "@original_platform" 12 "model2data" 12 "data2model" 12 "ALIGN_VOIDP" 12 "filter_backtrace" 12 "reopen" 12 "refresh" 12 "# Alternatively, the attributes can be specified as a hash.\n" 12 "components" 12 "cb" 12 "dev" 12 "ltype" 12 "buff" 12 "remain" 12 "@RCS_ID" 12 "get_unpack" 12 "isapop" 12 "put_pack" 12 "DRbConnError" 12 "@gems" 12 "blocksize" 12 "quit" 12 "to_obj" 12 "topdir" 12 "alert_error" 12 "DRbUndumped" 12 "abs_path" 12 "notwice" 12 "\\s" 12 "complete" 12 "check_response" 12 "content_setup" 12 "localtime" 12 "DNS" 12 "LF" 12 "getok" 12 "U" 12 "attr_name" 12 "Logging" 12 "IN4MASK" 12 "TCPSocket" 12 "# == Example\n" 12 "expn" 12 "@threads" 12 "read_bytes" 12 "li" 12 "STDERR" 12 "Zlib" 12 "bulk_threshold" 12 "seq" 12 "lookup" 12 "shutdown" 12 "set_path" 12 "each_key" 12 "create_extension" 12 "80" 12 "r1" 12 "quiet" 12 "QuickPath" 11 "constants" 11 "# end\n" 11 "TAB" 11 "rake" 11 "text/html" 11 "expand" 11 "dx" 11 "@canonical_names" 11 "HTTPServerError" 11 "zlib" 11 "install_have_child_element" 11 "xmldecl" 11 "plural" 11 "__getobj__" 11 "@read_timeout" 11 "models" 11 "t1" 11 "# end\n" 11 "gemdir" 11 "minute" 11 "$CPPFLAGS" 11 "@of" 11 "Certificate" 11 "Formatters" 11 "?-" 11 "round" 11 "location" 11 "logdev" 11 "atype" 11 "tstack" 11 "ldflags" 11 "SMTP" 11 "wrap" 11 "platforms" 11 "ajd" 11 "ProcessController" 11 "T_NUMBER" 11 "INFO" 11 "modules" 11 "@key" 11 "const_name" 11 "TRACKBACK_URI" 11 "chain" 11 "Apache" 11 "D_DETAIL" 11 "@result" 11 "monitor" 11 "collect!" 11 "members" 11 "faultString" 11 "200" 11 "update_sources" 11 "content_id" 11 "rel_file_name" 11 "kconv" 11 "decode" 11 "ivar" 11 "columns" 11 "do_start" 11 "do_finish" 11 "nan?" 11 "rights" 11 "DefaultResolver" 11 "system" 11 "@space_seen" 11 "ProtocolError" 11 "FTPProtoError" 11 "@initialized" 11 "@directory" 11 "@que" 11 "callback" 11 "document_self" 11 "try_static_assert" 11 "att" 11 "STOP" 11 "kn" 11 "InstallError" 11 "START" 11 "LOG" 11 "authtype" 11 "arity" 11 "mtype" 11 "msubtype" 11 "ubound" 11 "next_element" 11 "install_ns" 11 "@stop_next" 11 "application/octet-stream" 11 "install_have_children_element" 11 "NoArgument" 11 "dclone" 11 "$$" 11 " " 11 " END\n" 11 " BEGIN\n" 11 "(attributes = {})\n" 11 "@waiting_jobs" 11 " def " 11 "<<-BEGIN" 11 "Context" 11 "Binmode" 11 "@quote_char" 11 "MUTEX" 11 "prefix1" 11 "@jobs_sync" 11 "old_attr" 11 "timestamp" 11 "symlink" 11 "load_file" 11 "a_name" 11 "reply" 11 "drb/drb" 11 "$SAFE" 11 "@proc_stack" 11 "bytes" 11 "realm" 11 "@nameserver" 11 "redirect" 11 "@clipboard_data" 11 "keep_alive?" 11 "anIO" 11 "signer" 11 "$8" 11 "secure" 11 "SEPARATOR" 11 "entries" 11 "yday" 11 "rm_r" 11 "get_name" 11 "ESCAPED" 11 "SIZEOF_LONG_LONG" 11 "validate" 11 "symlink?" 11 "menu" 11 "@treeview" 11 "def_convert" 11 "perm" 11 "duration" 11 "500" 11 "@stat" 11 "unlock" 11 "PStore" 11 "Gdk" 11 "RESPONSE_ACCEPT" 11 "ord" 11 "@backtrace" 11 "Cookie" 11 "Win32API" 11 "$DEBUG" 11 "install_get_text_element" 11 "read_only" 11 "script_name" 11 "alias_name" 11 "/io" 11 "action" 11 "destroy" 11 "$objs" 11 "Child" 11 "HTTPRedirection" 10 "base_method" 10 "windir" 10 "ap_path" 10 "VALUE" 10 "@limit" 10 "input_method" 10 "id_map" 10 "put_name" 10 "# \t$Revision: 14912 $\n" 10 "sitelibdir" 10 "sqrt!" 10 "acl" 10 "rand" 10 "$configure_args" 10 "\t " 10 "tty?" 10 "opt_proxy" 10 "strings" 10 "@exception" 10 "#################################################\n" 10 "@raw" 10 "chunked?" 10 ")\n" 10 "@ap" 10 "@bag" 10 "Category" 10 "Item" 10 "# -v\t\tverbose\n" 10 "IPv4" 10 "Exception2MessageMapper" 10 "Command" 10 "els" 10 "schemes" 10 "@name2addr" 10 "rm" 10 "http_error" 10 "replacement" 10 "SEPARATOR_PAT" 10 "ERB" 10 " \n" 10 "\\n\\t" 10 "mv" 10 "resolved" 10 "resolver" 10 "ro" 10 "selection" 10 "cname" 10 "proxy_port" 10 "commercial" 10 "upper" 10 "@global_graph" 10 "last_spec" 10 "plain" 10 "Scanner" 10 "a_uri" 10 "array_attribute" 10 "@proxy_port" 10 "challenge" 10 "not_style" 10 "remove_file" 10 " " 10 "unsupported address family" 10 "# Synopsis:\n" 10 "@src" 10 "@registry" 10 "sice" 10 "4712" 10 "active?" 10 "SRC\n" 10 "@buffer_size" 10 "}|" 10 "D" 10 "@request_method" 10 "@scheme" 10 "Markup" 10 "det" 10 "@waiting" 10 "@ProcessControllers" 10 "astring" 10 "ReadlineInputMethod" 10 "$hdrdir" 10 "each_line" 10 "delim" 10 "@base_notifier" 10 "Telnetmode" 10 "notify?" 10 "Z" 10 "PROMPT_MODE" 10 "<<-End" 10 "elem_name" 10 "extract_plain" 10 "yaml_hash" 10 "@newimpl" 10 "$@" 10 "@ts" 10 "word" 10 "@capabilities" 10 "listener" 10 "@irb" 10 "verify" 10 "boundary" 10 "header_row?" 10 "Infinity" 10 "cflags" 10 "@params" 10 "@readed" 10 "Sender" 10 "save" 10 "Policy" 10 "tys" 10 "_dump" 10 "OK" 10 "each_attribute" 10 "@date" 10 "compiler" 10 "rel_path" 10 "CAPTION" 10 "field_name" 10 "h_or_i" 10 "transitive" 10 "words" 10 "29" 10 "datadir" 10 "maxConnections" 10 "Tree" 10 "faultCode" 10 "RE_TOKEN" 10 "guess" 10 "@quoted" 10 "ancestors" 10 "@connections" 10 "@sha2" 10 "@cond" 10 "@timeout" 10 "@primary_server" 10 "ypath" 10 "ErrDimensionMismatch" 10 "XMLDecl" 10 "token_n" 10 "# For example:\n" 10 "@gem" 10 "Stock" 10 "loaded" 10 "TAXO_URI" 10 "CommandProcessor" 10 " " 10 "deep_nodes" 10 "side" 10 "active" 10 "@spec_dir" 10 "TopLevel" 10 "Task" 10 "denominator" 10 "@output_width" 10 "full_gem_path" 10 "errors" 10 "total" 10 "each_pair" 10 "measure" 10 "newline" 10 "UTF_8" 10 "test_files" 10 "public_key" 10 "@width" 10 "file2" 10 "_valid_civil?" 10 "datetime" 10 "$LIBPATH" 10 "make_thread_list" 10 "ids" 10 "# == Examples\n" 10 "putc" 10 "methodCall" 10 "DublinCoreModel" 10 "@argument_flags" 10 "MonitorMixin" 10 "$libs" 10 "an_alias" 10 "feed_version" 10 "InvalidOption" 10 "class_type" 10 "token_c" 10 "@a" 10 "user_home" 10 "tempfile" 10 "patterns" 9 "AccessLog" 9 "Tempfile" 9 "SSLSocket" 9 "# end\n" 9 "rsa" 9 "jd_to_civil" 9 "subcontext" 9 "__setobj__" 9 "pem" 9 "range" 9 "auth_type" 9 "$CFLAGS" 9 "@use_ssl" 9 "ABBR_DAYS" 9 "equal?" 9 ")\\n" 9 "TOPLEVEL_BINDING" 9 "stime" 9 "DocType" 9 "cutime" 9 "cstime" 9 "MissingTagError" 9 "process" 9 "next_indent" 9 "once" 9 "w3cdtf" 9 "unknown" 9 "file1" 9 "last_modified" 9 "observer" 9 "old_name" 9 "@list" 9 "cell" 9 "\\A(" 9 "kill" 9 "have_child" 9 "@line_break" 9 "spec_name" 9 "s3e" 9 "zipped" 9 "rfc822" 9 "\t\t " 9 "check_point" 9 "@observer_state" 9 "VERIFY_NONE" 9 "MAIN_DOES_NOTHING" 9 "yielded" 9 "re" 9 "answer" 9 "binding_line" 9 "find_name" 9 "FATAL" 9 "@cwd" 9 "EXPR_DOT" 9 "stop" 9 "fname" 9 "ERROR" 9 "ServerName" 9 "TkVal" 9 "@mon_owner" 9 " " 9 "@tmpname" 9 "@external" 9 "aref" 9 "@senders" 9 "container" 9 "current_line" 9 "transform" 9 "DOUT" 9 "shebang" 9 "Requester" 9 "FaultException" 9 "enum_for" 9 "@dumplog" 9 " => " 9 "_write_data" 9 "stop_service" 9 "# 4p\n" 9 "@long" 9 "refresh!" 9 "@http" 9 "ConditionVariable" 9 "&" 9 "try_compile" 9 "debug_eval" 9 "BadRequest" 9 "_load" 9 "select_message" 9 "from_file_by_path" 9 "_element" 9 "@singleton__instance__" 9 "@ints" 9 "all_one_file" 9 "@msg" 9 "XHTML_URI" 9 "spec_dir" 9 "display" 9 "current_server" 9 "read_body" 9 "Content-Length" 9 "@continue" 9 "FD_CLOEXEC" 9 "priv" 9 "first_line" 9 "IPSocket" 9 "writeline" 9 "\n/*top*/\n" 9 "psin" 9 "mesg" 9 "# for chaining\n" 9 "tr_cpp" 9 "pass" 9 "IPAddr" 9 "action_default" 9 "recv" 9 "Tms" 9 "infinite?" 9 "fontname" 9 "original_platform" 9 "CR" 9 "@to_utf" 9 "includes" 9 "time_out" 9 "SimpleTree" 9 "# require 'net/http'\n" 9 "recv_response" 9 "instance_method" 9 "parent_name" 9 "define_task" 9 "element_init" 9 "@char_no" 9 "selected" 9 "acct" 9 "<<\"SRC\"" 9 "@error_occured" 9 "FILENAME" 9 ":'" 9 "FileTask" 9 "unreserved" 9 "atom" 9 "escaped" 9 "local_gem_path" 9 "conv2value" 9 " EOC\n" 9 "stdin" 9 "usage" 9 "Forwardable" 9 "Prime" 9 "IPv6" 9 "cr" 9 "categories" 9 "directory" 9 "\t\t " 9 "methodResponse" 9 "ev" 9 "setup_maker_element" 9 "exps" 9 "sync_ex_count" 9 "eq" 9 "mk" 9 "srcprefix" 9 "yaml_new" 9 "fseprepl" 9 "# This method raises a POPError if an error occurs.\n" 9 "_valid_time?" 9 "newext" 9 "Source" 9 "parse!" 9 "character" 9 "@labels" 9 "cmd_class" 9 "voidresp" 9 "CPtr" 9 "parse_query" 9 "protocol" 9 "db" 9 "redo" 9 "e2mmap" 9 "FilePermissionError" 9 "max_nesting" 9 "a_column_size" 9 "Etc" 9 "@primes" 9 "Err" 9 "relative?" 9 "17" 9 "maxlength" 9 "SCRIPT_LINES__" 9 "trace" 9 "percent" 9 "sparams" 9 "markup" 9 "@os" 9 "generate" 9 "do_write" 9 "trace_func" 9 " = " 9 "servlet" 9 "username" 9 "FONT" 9 "ruby_start" 9 "spec_path" 9 "$OBJEXT" 9 "ruby_length" 9 "@encoding_name" 9 "@out" 9 "destent" 9 "atime" 9 "-v" 9 "MessageDialog" 9 "@territory" 9 "== Description\n" 9 "rw" 9 "LC_MESSAGES" 9 "wnum1" 9 "getresp" 9 "reject!" 9 "height" 9 "ruby_string" 9 "security_policy" 9 "stamp" 9 "signing_key" 9 "wnum0" 9 "pretty" 9 "@prompt" 9 "labels" 9 "# UNTESTED\n" 9 "@@attributes" 9 "send_data" 9 "external_encoding" 9 "abort" 9 "@generator_name" 9 "@@id_map" 9 "in_transaction" 9 "@fetch_error" 8 "cweek" 8 "v2" 8 "tainted?" 8 "Key" 8 "_eop" 8 "serial" 8 "s!" 8 "i!" 8 "v1" 8 "ClassHash" 8 "ruby_version" 8 "\t\t " 8 "/um" 8 "1.9" 8 "@__id" 8 "cancel" 8 "cert_chain" 8 "openssl" 8 "http_proxy" 8 "statement" 8 "random_bytes" 8 "== Instance Methods\n" 8 "@optparse" 8 "InvalidRSSError" 8 "_ns" 8 "dst_path" 8 "REQUEST_METHOD" 8 "lc" 8 "prefixes" 8 "extern" 8 "pairs" 8 "@signal_status" 8 "Emitter" 8 "readlines" 8 "implicit" 8 "max_align" 8 "@last_xml_element" 8 "@args" 8 "orig_offset" 8 "svr" 8 "############################################################\n" 8 "Atom" 8 "@modifier" 8 "Reason" 8 "fx" 8 "extend_method" 8 "U*" 8 "@wbuffer" 8 "@superclass" 8 ".*" 8 " 'OpenSSL for Ruby 2' project\n" 8 "@xml_stylesheets" 8 "@pat" 8 "each_index" 8 "@next_to_check" 8 "@mails" 8 " All rights reserved.\n" 8 "(?:[" 8 "httpv" 8 "@stag" 8 " def \#{" 8 "binary" 8 "required_attribute" 8 "# FIXME\n" 8 "cos!" 8 "next_data" 8 "sin!" 8 "new_ui" 8 "ordinal" 8 " This program is licenced under the same licence as Ruby.\n" 8 "%r|" 8 "accessor_base" 8 "userdata" 8 "optparse" 8 "masklen" 8 "funcs" 8 "x2" 8 "@regexp" 8 "@ui" 8 "installed_files" 8 "Readline" 8 "SCRIPT_NAME" 8 "case_insensitive_string" 8 "base_names" 8 "SUBSTITUTES" 8 "2001" 8 "fraction_digits" 8 "chomp!" 8 "use_ssl" 8 "})" 8 "# cgi = CGI.new\n" 8 "to_id" 8 "constant_name" 8 "@spec_string" 8 "SLex" 8 "@to" 8 "add_separator" 8 "Seq" 8 "file_relative_name" 8 "rel_segment" 8 " (See the file 'LICENCE'.)\n" 8 "stringOrReadable" 8 "pkgconfig" 8 "af" 8 " def " 8 "###\n" 8 "proto" 8 "lazy_initialize" 8 "@catch" 8 "# ...\n" 8 "nm" 8 "terminate_interaction" 8 "CodeObject" 8 "idirs" 8 "satisfies_requirement?" 8 "ldir" 8 "prot" 8 "N" 8 "strip!" 8 "auto_load" 8 "idir" 8 "# indent::\n" 8 "HTTPHeaderSyntaxError" 8 "open_server" 8 "uri_option" 8 "@security_policy" 8 "@global_names" 8 "localhost" 8 "activate" 8 "Message" 8 " " 8 "target_prefix" 8 "BINARY" 8 "Filter" 8 " " 8 "NQXML" 8 "set_query" 8 "set_port" 8 "orig" 8 "top_level" 8 "assoc" 8 "@starttls" 8 "@specification_version" 8 "css" 8 "@request_line" 8 "@display" 8 "tree_alt" 8 "@tempfile" 8 "@raw_header" 8 "action_pointer" 8 " " 8 "build_class_list" 8 "pretty_print_cycle" 8 "I" 8 "color" 8 "$LOAD_PATH" 8 "visit" 8 "read_binary" 8 "transfer_proc" 8 "@remaining_size" 8 "@extensions" 8 "@rbuf" 8 "@inspect_mode" 8 "action_check" 8 "retval" 8 "TEXT" 8 "?(" 8 "action_table" 8 "rubygems/user_interaction" 8 "rakefile" 8 "XMLParser" 8 "Base64" 8 "to_csv" 8 "@racc_vstack" 8 "gs" 8 "@max" 8 "verbose_flag" 8 "ContentModel" 8 "session_key" 8 "TCPServer" 8 "@quick_dir" 8 "banner" 8 "bin_dir" 8 "addrs" 8 "only_signed" 8 "@short" 8 "DecodeError" 8 "lex" 8 "ct" 8 "recv_reply" 8 "ypath_str" 8 "HBox" 8 "ofs" 8 "previous_line" 8 "@obj" 8 "@classes" 8 "__method__" 8 "T_QUOTED" 8 "finish" 8 "erb" 8 "restore" 8 "@changed" 8 "session" 8 "broadcast" 8 "@tcpServerThread" 8 "lockf" 8 "@modules" 8 "applo" 8 "EACCES" 8 "module?" 8 "<<=" 8 "OPT" 8 "@@services" 8 "umask" 8 "@iter" 8 "SMTPError" 8 "il" 8 "@debug" 8 "@dir_stack" 8 "@mon_count" 8 "cons" 8 "ssl_conf" 8 "rep" 8 "xhtml" 8 "@sources" 8 "SSLCertificate" 8 "@method_list" 8 "@buffer_width" 8 " end\n" 8 "BuiltInCommand" 8 "gt" 8 "compare" 8 "@@schemes" 8 "@logdev" 8 "EXCEPTION_TYPE" 8 "Channel" 8 "numerator" 8 "sort!" 8 "@token" 8 "SY_PREFIX" 8 "@block" 8 "issuer" 8 "COMPONENT" 8 "DEFAULT_PORT" 8 "sclass_full_name" 8 "EXPR_MID" 8 "# == Overview\n" 8 "@prerequisites" 8 "downto" 8 "HTTPError" 8 "@rakefile" 8 "load_path" 8 "@external_id" 8 "$INCFLAGS" 8 "Meta" 8 "perms" 8 "nc" 8 "emit_ad" 8 "sopts" 8 "@bin_dir" 8 "IN" 8 "pred" 8 "delta" 8 "# Constructor\n" 8 "GetoptLong" 8 "@safe_level" 8 "summarize" 8 "[^" 8 "gem_home" 8 "file_entries" 7 "DRbServer" 7 "start_tag" 7 "@aliases" 7 "POST" 7 "add_need_initialize_variable" 7 "new_meth" 7 "do_redo" 7 "not_shift" 7 "add_to" 7 "Win32" 7 "# ---------------------------------------------------------------------------\n" 7 "$:" 7 "gp" 7 ".gemspec" 7 "have_xml_content?" 7 "ri_dir" 7 "accept_charset" 7 "gzip" 7 "inflate" 7 "S" 7 " \n" 7 "NotExpectedTagError" 7 "upstream" 7 "ordering" 7 "civil_to_jd" 7 "seplist" 7 "maxwidth" 7 "nOE_element_def" 7 "infile" 7 "extend_object" 7 "%[" 7 "obj_template" 7 "https" 7 "__id__" 7 "NotAvailableValueError" 7 "genspace" 7 "DefaultUserInteraction" 7 "@methods" 7 "^-" 7 "nodeName" 7 "CONTENT_LENGTH" 7 "find_module_named" 7 "ConverterEncoding" 7 "file_info" 7 "vis" 7 "post" 7 "enctype" 7 "breakables" 7 "ENCTYPE" 7 "Dump_log" 7 "fill_breakable" 7 "parameters" 7 " @\#{" 7 "xs" 7 "SSLContext" 7 "ca_path" 7 "ca_file" 7 "@telnet_option" 7 "@toplevel" 7 "out_stream" 7 "find_symbol" 7 "Prompt" 7 "chunk_size" 7 "col_or_row" 7 "array_hash" 7 "T_LBRA" 7 "keyval" 7 "html" 7 "drb" 7 "Author" 7 "ALL_TYPES" 7 "view_new_model" 7 "@ignore_unknown_element" 7 "key_input" 7 "$LDFLAGS" 7 "@first" 7 "# module XMLRPC\n" 7 "recurse_proc" 7 "== Class Methods\n" 7 "T_RBRA" 7 "Resolv" 7 "Delegator" 7 "MOD_RUBY" 7 "@connectionsMutex" 7 "{1," 7 "xml_stylesheets" 7 "Contributor" 7 "Id" 7 "Content-Type" 7 "Link" 7 "T_CRLF" 7 "exclude_end?" 7 "prune" 7 "HTMLUtils" 7 "stdlog" 7 "a_row_size" 7 "style_url" 7 "ListenerMixin" 7 "@timeout_info" 7 "as" 7 "T_TEXT" 7 "find_proxy" 7 "@scan_line" 7 "delete_at" 7 "gem_directory" 7 "set_encoding" 7 "<<-EOS" 7 "$CGI_ENV" 7 "CROSS_COMPILING" 7 "menu_bar" 7 "SPECIALS" 7 "read_data" 7 "minimum_index" 7 "REQUIRED_ARGUMENT" 7 "rank" 7 "trap" 7 "header_or_index" 7 "Rights" 7 "@secure" 7 "Title" 7 "Session" 7 "http_url" 7 "Updated" 7 ".html" 7 "%>" 7 "def_delegators" 7 "F_GETFL" 7 "set_trace_func" 7 "ruby_code" 7 "address_list" 7 "FTP" 7 "column_vector" 7 "@fileutils_output" 7 "DONT" 7 "directories" 7 "ints" 7 "source_buffer" 7 "NAMESPLIT" 7 "multicall_fault" 7 "Row" 7 "noun" 7 "add_handler" 7 "@session_id" 7 "@dbman" 7 "Options" 7 "user_install" 7 "@er_source" 7 "@generator" 7 "next_sibling_node" 7 "TkNode" 7 "internal_encoding" 7 "np" 7 "out_of_line?" 7 "s1" 7 "s2" 7 "new_bt" 7 "latest_index" 7 "Sync_m" 7 "IN6MASK" 7 "-4712-01-01T00:00:00+00:00" 7 "open_timeout" 7 "\\r" 7 "quoted" 7 "@fragment" 7 "= Info\n" 7 "set_userinfo" 7 "set_host" 7 "= Licence\n" 7 ".gz" 7 "Bad Request" 7 "binding_file" 7 "set_fragment" 7 "biggst" 7 "@items" 7 "NONBLOCK" 7 "@tag" 7 "textinput" 7 "require_uri" 7 "@unconverted_fields" 7 "assert_respond_to" 7 "AVAILABLE_PARSERS" 7 "= Version\n" 7 "eoutvar" 7 "ten" 7 "@feed_type" 7 "@prime" 7 "TimeoutError" 7 "10800" 7 "done" 7 "executable?" 7 "EXTENDED" 7 "21600" 7 "postfix" 7 "7200" 7 "objects" 7 "TkReading2Token" 7 "to_addrs" 7 "from_addr" 7 "@listeners" 7 "exit_code" 7 "eof" 7 "$extconf_h" 7 "msgstr" 7 "DRbProtocol" 7 " def \#{" 7 "emit_sn" 7 "qop" 7 "@shift_age" 7 "Rss" 7 "@long_name" 7 "Q" 7 "pconf" 7 "Content-type" 7 "both" 7 "\\d+" 7 "p_addr" 7 "PROMPT_I" 7 "emit" 7 "# Method contributed by Henrik Martensson\n" 7 "decimal" 7 "1000" 7 "@addr2name" 7 "active_line" 7 "num_pattern?" 7 "PROMPT_S" 7 "helo" 7 "gemfile" 7 "PROMPT_C" 7 "PROMPT_N" 7 "RETURN" 7 "@header_part" 7 "[0-9]" 7 "satisfied_by?" 7 "lv" 7 "DRbBadScheme" 7 "truncate" 7 "DRbBadURI" 7 "with_binary" 7 "i4" 7 "form_data" 7 "\\A(\\d{1,2})" 7 "@ports" 7 "Local/Remote" 7 "@monitor" 7 "path_info" 7 "development" 7 "Single" 7 "each_resource" 7 "reason_phrase" 7 "IMAP" 7 "txt" 7 "nowrite_flag" 7 "class_value" 7 "\t " 7 "type_value" 7 "@racc_read_next" 7 "ServerSoftware" 7 "file_data" 7 "DRbError" 7 "Queue" 7 "128" 7 "AF_UNSPEC" 7 "to_proc" 7 "ruby_install_name" 7 "get_attribute" 7 "make" 7 "get_string" 7 "\n\n" 7 "@tokens" 7 "WARN" 7 "order!" 7 "def " 7 "buffer" 7 "finger" 7 "order" 7 "TSort" 7 "reduce_table" 7 "Regex" 7 "dl" 7 "rid" 7 "shift_n" 7 "conv_arg" 7 "reduce_n" 7 "%r'" 7 "uri_or_host" 7 "@cache_data" 7 "@@id_rev_map" 7 "@primary" 7 "html_escape" 7 "label_width" 7 "cache_file" 7 "extra" 7 "cosh!" 7 ">" 7 ".rb" 7 "candidate" 7 "SCRIPT" 7 "<" 7 "sinh!" 7 "@n_mails" 7 "@n_bytes" 7 "@opt" 7 "@local_names" 7 "hsh" 7 "lopts" 7 "add_common_option" 7 "authority" 7 "tasks" 7 "only_trusted" 7 "@parsers" 7 "ALNUM" 7 "verify_root" 7 "new_data" 7 "verify_chain" 7 "# Author:: Akira Yamada \n" 7 "FMTSTR" 7 "@offset" 7 "verify_signer" 7 "# This program is free software.\n" 7 "REGEXP" 7 "iterator?" 7 "output_method" 7 "verify_data" 7 "trust_dir" 7 "Frame" 7 "mems" 7 "bin_file_name" 7 "parse_ctype" 7 "fontsize" 7 "@scanner" 7 "nkf" 7 "CStructEntity" 7 "exp!" 7 "expired?" 7 "uniq!" 7 "unsigned int" 7 "ljust" 7 "default_argv" 7 "ino" 7 "pathmap" 7 "minimum_id" 7 "NULL" 7 "DLError" 7 "get_namespace" 7 "orig_addr" 7 " @\#{" 7 "def_notifier" 7 "Void" 7 "LIST" 7 "task_args" 7 "esc_col_sep" 7 "# require \"cgi\"\n" 7 "depout" 7 "process_controller" 7 "# \t$Release Version: 0.7 $\n" 7 "build_path_query" 7 "rule" 7 "# Examples:\n" 7 "URL" 7 "@pipe_out" 7 "notify_event" 7 "cdecl" 7 "@full_comment" 7 "processing_instruction" 7 "#\"\n" 7 "PACK_MAP" 7 "temp" 7 "RawData" 7 "F_SETFD" 7 "@type_alias" 7 "srcs" 7 "SIZEOF_CHAR" 7 "SIZEOF_SHORT" 7 "match_deep" 7 "SIZEOF_INT" 7 "component_ary" 7 "copy_file" 7 "@read_waiter" 7 "si" 7 "ArgumentStyle" 7 " " 7 "@wbuf" 7 "EXPORT_PREFIX" 7 "sibling" 7 "@stdin" 7 "move" 7 "@written_bytes" 7 "write0" 7 "remove_entry" 7 "@names" 6 "position" 6 "copy_stream" 6 "####################################################################\n" 6 "shape" 6 "encode_str" 6 "makedef" 6 " " 6 "@bin" 6 "install_class_name" 6 "M" 6 "irb_name" 6 "Edge" 6 "DefaultList" 6 "encode_re" 6 "arg_list" 6 "last_value" 6 "%q{" 6 "match_nodes" 6 "racc_token2str" 6 "quota" 6 "report" 6 "transfercmd" 6 "is_complex_yaml?" 6 "lasts" 6 "ln_s" 6 "messages" 6 "getdir" 6 "rbuf_consume" 6 "marshal_dump" 6 "@config_file_name" 6 "search_file" 6 "fullpath" 6 "ndots" 6 "prefix_suffix" 6 "indt" 6 "@pid" 6 "\\n\\n" 6 "retried" 6 "@take_waiter" 6 "config_file_name" 6 "RULE_SUBST" 6 "unsigned_value" 6 "cluster_" 6 "last_file" 6 "process_controllers_exclusive" 6 "SecureRandom" 6 "@filter" 6 "1997" 6 "strongly_connected_components" 6 "dgst_algo" 6 "# end\n" 6 "errs" 6 "evaluate" 6 "@whitespace" 6 "suffixes" 6 "0700" 6 "@number" 6 "depend" 6 "Function" 6 "invocation_chain" 6 "n0" 6 "# \tend\n" 6 "parents" 6 "favicon" 6 "@esmtp" 6 "check" 6 "unsigned long" 6 "method_defined?" 6 "$nmake" 6 "needed?" 6 "ITunesBaseModel" 6 "src_path" 6 "@tls" 6 "SCANNER_EVENTS" 6 "original_argv" 6 "HEADER_PATTERN" 6 "@seek" 6 "@exclude" 6 "ts2" 6 "@absolute" 6 "temp_file" 6 "@question" 6 "@answer" 6 "@here_readed" 6 "1900" 6 "getwd" 6 "@renewer" 6 "CUnionEntity" 6 "ldesc" 6 "fp" 6 "# require 'uri'\n" 6 "@here_header" 6 "@authority" 6 "@additional" 6 "prereqs" 6 "aa" 6 "apply_offset" 6 "buf_input" 6 "tc" 6 "xml_decl" 6 "# puts res.body\n" 6 "@@gather" 6 "irb_exit" 6 "SourceInfoCacheEntry" 6 "ipaddr" 6 "fu_get_uid" 6 "P" 6 "tout" 6 "fu_get_gid" 6 "@valid_ip" 6 "create_ssl_params" 6 "put_bytes" 6 "FileCreationTask" 6 "B" 6 "verify_or_params" 6 "cbp" 6 """ 6 "ip" 6 "# ###########################################################################\n" 6 "@only_latest" 6 "token_table" 6 "ThreadsWait" 6 "insert_before_index" 6 "EMPTY_MARSHAL_DATA" 6 "tsort_each_child" 6 "tsort_each_node" 6 "Util" 6 "split_path" 6 " " 6 "touch" 6 "# require 'net/pop'\n" 6 "created" 6 "@queue_wait" 6 "query_string" 6 "slice" 6 "unparsed_uri" 6 "user_cache_file" 6 "system_cache_file" 6 "get_bytes" 6 "@last_response" 6 "@cache" 6 "lookup_ring" 6 "@col_sep" 6 "rdoc_dir" 6 "gem_names" 6 "@racc_error_status" 6 "# raise PStore::Error if called at any other time.\n" 6 "# *WARNING*: This method is only valid in a PStore#transaction. It will\n" 6 "datetime_format" 6 "FETCH" 6 "Syck" 6 "REFERENCE" 6 "@@tagged_classes" 6 "possible_command" 6 "union" 6 "@racc_val" 6 "utc_offset" 6 "@racc_tstack" 6 "# require 'benchmark'\n" 6 "setup_header" 6 "DRbIdConv" 6 "io2" 6 "CantApplyMethod" 6 "mutex" 6 "shift_age" 6 "shift_size" 6 "OVERRIDE_PRIVATE_ONLY" 6 "sort_keys" 6 "sanitize" 6 "runtime" 6 "log_file" 6 "mkintpath" 6 "chardev?" 6 "_cent" 6 "identify_string" 6 "icase" 6 "arr" 6 "# @kind=:scalar,\n" 6 "TkINTEGER" 6 "digest/md5" 6 "take" 6 "@no_step" 6 "# @type_id=\"str\",\n" 6 "ai" 6 "# For backward compatibility\n" 6 "@nc" 6 "0600" 6 "@debug_mode" 6 "dateTime.iso8601" 6 "helo_domain" 6 "clen" 6 "@binary" 6 "env_shebang" 6 "drb_untaint" 6 "doc_proc" 6 "OptionalArgument" 6 "type_tag" 6 ")?" 6 "NSPOOL" 6 "SomeSingletonClass" 6 "http_write" 6 "set_trace" 6 "algorithm" 6 "@@stack" 6 "p_port" 6 "define_aliases" 6 "p_user" 6 "@entities" 6 "ary_or_hash" 6 "obj_class" 6 "check_auth_args" 6 "p_pass" 6 "RequestExpiredError" 6 "inst" 6 "yesno" 6 "flock" 6 "spec_data" 6 "CREAT" 6 "ipv6?" 6 "@pending" 6 "$arg_config" 6 "o2" 6 "readlink" 6 "\\1" 6 "28800" 6 "RCSID" 6 "valid_encoding?" 6 "\\\\1" 6 "forwardable" 6 "@step" 6 "36000" 6 "# ...\n" 6 "o1" 6 " - " 6 "ignore_eof" 6 "shell" 6 "can\\'t parse uri:" 6 "EXEEXT" 6 "spec_file_name" 6 "DEFAULT_ENTITIES" 6 "# HACK for specs\n" 6 "@nodes" 6 "@appname" 6 "from_gems_in" 6 "safe_level" 6 ", not " 6 "mknod" 6 "@_mutex" 6 "rootmember" 6 "dfdx" 6 "@channel" 6 "getservername" 6 "XMLTokens" 6 "converters" 6 "endElement" 6 "missing_gems" 6 "BindAddress" 6 "startElement" 6 "valid" 6 "setup_maker_elements" 6 "filenames" 6 "@open_timeout" 6 "coerce_other" 6 "acc" 6 "end_pos" 6 "rexml/parseexception" 6 "@acl" 6 "ri" 6 "weight" 6 "RI" 6 "persist" 6 "quot" 6 "@force" 6 "@target" 6 "final" 6 "# :doc:\n" 6 "den" 6 "platform_only" 6 "on_connect" 6 "rsqrt" 6 "Comment" 6 "pathname" 6 "@marshal_index" 6 "@master_index" 6 "CSV" 6 "NaN" 6 "date/time out of range" 6 "cwd" 6 "[0-9A-Fa-f]+" 6 "extname" 6 "reading" 6 "@put_cmd" 6 "listen" 6 "split_names" 6 "@dest_directory" 6 "element_document" 6 "@head" 6 "comp" 6 "ignores" 6 "@svr" 6 "ATTRIBUTES" 6 "proxy_http_basic_authentication" 6 "norm" 6 "@Tree" 6 "login" 6 "prepend_prefix" 6 "zip" 6 "fill" 6 "# ie_hack::\n" 6 "yaml_initialize" 6 "# Ignored\n" 6 "# transitive::\n" 6 "normalize_searching_criteria" 6 "content_length_proc" 6 "rss/1.0" 6 "H2" 6 "check_insecure_method" 6 "%s" 6 "new_session" 6 "@fileutils_label" 6 "SystemExit" 6 "# == DEPRECATED\n" 6 "whitespace" 6 "nb" 6 "config_args" 6 "f0" 6 "<%" 6 "DO" 6 "http_version" 6 "enclosure" 6 "@main" 6 "@xml_child_mode" 6 "\\z" 6 "version_reqs_param" 6 "add_field" 6 "sync_ex_locker" 6 "scanf" 6 "tag_start" 6 "ServerError" 6 "macro" 6 "dep_spec" 6 "tag_end" 6 "@pool" 6 "format_internal" 6 "remote_uri" 6 "target_class" 6 "dcs" 6 "^=" 6 "ctime" 6 "getaddresses" 6 "lower" 6 "# Generates:\n" 6 "display_title" 6 "idconv" 6 "detail" 6 "# object.\n" 6 "22" 6 "scopes" 6 "SLAICEPS" 6 "index_list2" 6 "SETUTITSBUS" 6 "thread_list" 6 "spec_and_source" 6 "show" 6 "proxy_opts" 6 "dequote" 6 "FormatString" 6 "@trim_mode" 6 " EOS\n" 6 "@extra_rdoc_files" 6 "sections" 6 "gem_data" 6 "base_directory" 6 "stag" 6 "audit" 6 "exists" 6 "check_ns" 6 "OPT_BINARY" 6 "all_siblings" 6 "dest_names" 6 " " 6 "conftest*" 6 "MAP" 6 "# :yield: line\n" 6 "initial" 6 "today" 6 "to_pem" 6 "@@all_classes" 6 "@msg_id" 6 "@sent_size" 6 "SERVER_SOFTWARE" 6 "writer_type" 6 "reader_type" 6 "T_LITERAL" 6 "@reason_phrase" 6 "# \tby Keiju ISHITSUKA(keiju@ishitsuka.com)\n" 6 "Host" 6 "serve" 6 "ASCII-8BIT" 6 "@output_cookies" 6 "@argv" 6 "@group" 6 "validate_for_stream" 6 "UnknownLocker" 6 "Table" 6 "@stats" 6 "allocate" 6 "NEEDS_A_SECOND_CHECK" 6 "CONTENT_COL" 6 "spec_dirs" 6 "DEFAULT_DIALOG_KEY_PRESS_HANDLER" 6 "Set-Cookie: " 6 "@sentinel" 6 "$DEFLIBPATH" 6 "Namespace" 6 "600" 6 "undef" 6 "make_components_hash" 6 "value=" 6 "Scanf" 6 "RESPONSE_REJECT" 6 "ToHtml" 6 "gen_relative_url" 6 "@platforms" 6 "@servers" 6 "@ruby" 6 "have_required_elements?" 6 "expanded" 6 "jump_error" 6 "keep-alive" 6 "Output_log" 6 "$static" 6 "@current_section" 6 "error_dialog" 6 "# '\n" 6 "ask" 6 "log_dump" 6 "@body_stream" 6 "public_instance_methods" 6 " " 6 "25" 6 "\t\t " 6 "foo2" 6 "libdir" 6 "SIZE" 6 "@group_stack" 6 "sitedir" 6 "def_e2message" 6 "300" 6 "ELEMENT" 6 "SPACE" 6 "_valid_weeknum?" 6 "@type_id" 6 "TooMuchTagError" 6 "checkbox" 6 "TYPECODE_PREFIX" 6 "@proxy_uri" 6 "hexvals" 6 "h_name" 6 "rexml/child" 6 "@logfile" 6 "error?" 6 "cert_store" 6 "$INPUT_RECORD_SEPARATOR" 6 "cygwin" 6 "content=" 6 "find_fdoy" 6 "@gen" 6 "parse_qvalues" 6 "SY_URI" 6 "# BN_generate_prime\n" 6 "install_model" 6 "float" 6 "@requirements" 6 "argument_flag" 6 "# for backward compatibility\n" 6 "key-press-event" 6 "yn" 6 "Match" 6 "parts" 6 "_nodeType" 6 "class_list" 6 "pt" 6 "fetch_size" 6 "--help" 6 "atom_validate" 6 "PKey" 6 "binary_mode" 6 "exe_name" 6 "@ordering" 6 "InvalidSpecificationException" 6 "xss" 6 "MODELS" 6 "a_method" 6 "mdl" 6 "text/plain" 6 "?x" 6 "application/x-deflate" 6 "OUTFLAG" 6 "@struct" 6 "@variables" 6 "@namespaces" 6 "expand_collapse" 6 "ml" 6 "@sync" 6 "inherited_array_reader" 6 "# +of+ is the offset from UTC as a fraction of a day (defaults to 0).\n" 6 "$arch_hdrdir" 6 "$top_srcdir" 6 "fu_each_src_dest" 6 "@accept_charset" 6 "insert_before" 6 "@parser_class" 5 "VerificationError" 5 "AbstractStreamParser" 5 "DEFAULT_OPTIONS" 5 "@unparsed_uri" 5 "'!" 5 "@accept_charset_error_block" 5 "auto" 5 "singular" 5 "XPathParser" 5 "ascii-8bit" 5 "@query_string" 5 "%|" 5 "@multipart" 5 "SHA256" 5 "StreamParserMixin" 5 "unmatched_alias_list" 5 "@cookies" 5 "ECONNRESET" 5 "multipart?" 5 "CONFTEST_C" 5 "@output_encoding" 5 "add_method" 5 "SLASH_PREFIX" 5 "@peeraddr" 5 "ensure_gem_subdirectories" 5 "ask_for_element" 5 "@forwarded_host" 5 "text_zero_one" 5 "SLASH_URI" 5 "99" 5 "HtmlExtension" 5 "# == References\n" 5 "create_node" 5 "nn_element_def" 5 "major" 5 "EXPR_DATA" 5 "MenuExtension" 5 "descendant_or_self" 5 "@writeencoding" 5 "EXPR_RTEXT" 5 "QUERY_STRING" 5 "@orgerr" 5 "@orgout" 5 "dateTime" 5 "rexml/source" 5 "CONTENT_TYPE" 5 "nodeValue" 5 "win_platform?" 5 "vendorlibdir" 5 "vendordir" 5 "null" 5 "runtime_dependencies" 5 "downcase!" 5 "COMMENT" 5 "MalformedCSVError" 5 "# :enddoc:\n" 5 "ask_save" 5 "nodeType" 5 "form" 5 "status_line" 5 "@visibility" 5 "headers_out" 5 "read_line" 5 "edit" 5 "open_obj" 5 "close_obj" 5 "route" 5 "@ins" 5 "SingleLine" 5 "@window" 5 "find_local_symbol" 5 "@loaded_specs" 5 "CXX_EXT" 5 "enq" 5 "rbconfig" 5 "editable" 5 "hdrdir" 5 "# Documentation comments:\n" 5 "matched" 5 "ping" 5 "install_element" 5 "BaseTrackBackModel" 5 "readable?" 5 " \n" 5 "def_corresponded_attr_reader" 5 "Revision" 5 "$ARCH_FLAG" 5 "def_corresponded_attr_writer" 5 " \t" 5 "#'\n" 5 "\\r\\n?" 5 "slice!" 5 "undef_method" 5 "T_PLUS" 5 "illegal" 5 "initial_message" 5 "ftype" 5 "SERVER_PROTOCOL" 5 "terminal_message" 5 "entity_filter" 5 "to_h" 5 "@@all_modules" 5 "CANCEL" 5 "@count" 5 "stdinput" 5 "LIBPATHFLAG" 5 "pretty_generate" 5 "http_resp" 5 "XMP" 5 "allow_nan" 5 "dest_prefix" 5 "sequence" 5 "stats" 5 "TITLE" 5 "Simple" 5 "in_files" 5 "ResponseCode" 5 "width_chars" 5 "new_header" 5 "suffix2" 5 "@percent" 5 "VALID_CHAR" 5 "ThreadMember" 5 "get_thread" 5 "# by index\n" 5 "prefix2" 5 "^\\/" 5 "regex_input" 5 "ErrorData" 5 "space" 5 "darwin" 5 "map!" 5 "@exps" 5 "inverse" 5 "@cipher" 5 "vs" 5 "@status_bar" 5 "@gens" 5 "status_message" 5 "rfc1123_date" 5 "BODY" 5 "square?" 5 "instruction" 5 "BasicServer" 5 "@cid" 5 "x86" 5 "current_class" 5 "50" 5 "@done_documenting" 5 "@mount_tab" 5 "ClassModule" 5 "@virtual_hosts" 5 "@document_self" 5 "@default_handler" 5 "@xml_element" 5 "@service_hook" 5 "obj_or_signature" 5 "Ext" 5 "realpath_rec" 5 "@tag_stack" 5 "26" 5 "LIBARG" 5 "# _Examples_\n" 5 "# Internal use only.\n" 5 "win32_shared_path" 5 "# output::\n" 5 "flag_list" 5 "@ns_stack" 5 "MessageSet" 5 "@tab" 5 "dbman" 5 "create_new_id" 5 "identity" 5 "part" 5 "%s\\n" 5 "file_class" 5 "content_dump" 5 "create_subnode" 5 "exit!" 5 "@expected_calls" 5 "call_seq" 5 "ErrOperationNotDefined" 5 "sigs" 5 "repl" 5 "@token_stream" 5 "@href" 5 "TkUnknownChar" 5 "perc" 5 "# preprocessor macro would be passed to the compiler.\n" 5 "GLOBAL_HASH_TABLE" 5 "pn" 5 "# A no-op.\n" 5 "CCCC" 5 "amp" 5 "# If found, a macro is passed as a preprocessor constant to the compiler using\n" 5 "RequestTimeout" 5 "dpd" 5 "DataFormatError" 5 "' in number" 5 "trailing `" 5 "TO_PATH" 5 "reserve" 5 "prime_division" 5 "@@accessor_bases" 5 "rexml/xmltokens" 5 "@lineno" 5 "^\\d+(\\.\\d+)?$" 5 "# for details.\n" 5 "raw_data" 5 "npd" 5 "pv" 5 "sizeof(" 5 "Bignum" 5 "nrmrow" 5 "General" 5 "@ubound" 5 "DAYS" 5 "@continuation_request_arrival" 5 "priority" 5 "webrick/httputils" 5 "SYSTEM" 5 "qname" 5 "lastmember" 5 "eps" 5 "reason" 5 "bitmap" 5 "@tagged_response_arrival" 5 "Specification" 5 "PORT" 5 "find_executable0" 5 "EntityConst" 5 "H*" 5 "@system_commands" 5 "nRetry" 5 "Application" 5 "14400" 5 "18000" 5 "\\S*" 5 "var_list" 5 "@strings" 5 "NotWellFormedError" 5 "exchange" 5 "setup_generator" 5 "unknown token - %s" 5 "@ulticheck_index" 5 "#####\n" 5 "preference" 5 "orig_len" 5 "object_maker" 5 "trans" 5 "oct" 5 "cipher" 5 "emailbx" 5 "specification_version" 5 "rmailbx" 5 "auth" 5 "DecimalInteger" 5 "BaseParser" 5 "rnd" 5 "@passed" 5 "Default" 5 "Package" 5 "mm" 5 "%02d" 5 "minimum" 5 "64" 5 "versions" 5 "FTPError" 5 "FTPPermError" 5 "pa" 5 "ANY" 5 "DEFAULT_BLOCKSIZE" 5 "attribute_alias_singular" 5 "MAKERS" 5 "@suspend_next" 5 "expire" 5 "top_level_test" 5 "identify_number" 5 "@resume" 5 "quoted_string" 5 "newmode" 5 "TkOPASGN" 5 "# See #info for more information.\n" 5 "send_response" 5 "read_escape" 5 "@title" 5 "\\A([-+]?\\d{1,})" 5 "rname" 5 "update_content" 5 "USE_READLINE" 5 "@hour" 5 "getopts" 5 "@summary" 5 "_comp" 5 "parse_headers" 5 "@option_groups" 5 "permute!" 5 "renew" 5 "@transaction" 5 "@abort" 5 "text/xml" 5 "@lock" 5 "info?" 5 "o_ivars" 5 "TkfLBRACK" 5 "tsort" 5 "# Returns +true+ iff the current severity level allows for the printing of\n" 5 "def_method" 5 "s_ivars" 5 "block_length" 5 "TkLBRACK" 5 "byte" 5 "set_option" 5 "EMPTY_HASH" 5 "nonopt" 5 "request_line" 5 "@@finger" 5 "checksum" 5 "package_dir_path" 5 "accessors" 5 "InternetMessageIO" 5 "APOP" 5 "utf-8" 5 "TkSPACE" 5 "delete_all" 5 "proc_entry" 5 "addr_entry" 5 "@@required_attributes" 5 "cos" 5 "peek_match?" 5 "sin" 5 "uri/generic" 5 "queue" 5 "UNKNOWN" 5 "me" 5 "RUBY_INSTALL_NAME" 5 "sdesc" 5 "@verbosity" 5 "UTF8" 5 "cleaned" 5 "tks" 5 "not_conv" 5 "not_pattern" 5 "# Copyright (C) 2001, 2002, 2003 by Michael Neumann (mneumann@ntecs.de)\n" 5 "opt_hash" 5 "indentstyle" 5 "log!" 5 "Output" 5 "fu_mkdir" 5 "@op_dir" 5 "%r<" 5 "@commands" 5 "mkpath" 5 "$cleanfiles" 5 "logging" 5 "@deleted" 5 "NCNAME_STR" 5 "uidl" 5 "@uid" 5 "start_job" 5 "Notifier" 5 "package" 5 "SecurityError" 5 "COMPILE_RULES" 5 "@dn" 5 "@banner" 5 "\\." 5 "possibilities" 5 "marshal_load" 5 "@ndots" 5 "inc" 5 "spec_dump" 5 "local_file" 5 "@seq_map" 5 "flatten!" 5 "add_spec" 5 "@config_info" 5 "DLEXT" 5 " End\n" 5 "saved_pos" 5 "fu_each_src_dest0" 5 "handle" 5 "?/" 5 "# Options: noop verbose\n" 5 "sysread" 5 "?3" 5 "test/unit" 5 "SIZEOF_FLOAT" 5 "thishost" 5 "SIZEOF_DOUBLE" 5 "app" 5 "memberwise" 5 "TupleBag" 5 "remove_destination" 5 "specs_and_sources" 5 "matching_platform" 5 "# ignore\n" 5 "writing" 5 "remove_entry_secure" 5 "malloc" 5 "use_fileboxes" 5 "has_expires?" 5 "parse_content_type" 5 "$INSTALLFILES" 5 "InputMethod" 5 "find_all_template" 5 "delete_unless_alive" 5 "cs" 5 "@format" 5 "# :yield: data\n" 5 "match_segment" 5 "Makefile" 5 "irb_path" 5 "# #########################################################################\n" 5 "@already_invoked" 5 "t0" 5 "@notify_waiter" 5 "@benchmark" 5 "random" 5 "async" 5 "retrlines" 5 "EPIPE" 5 "1994" 5 "record_separator" 5 "each_answer" 5 "%N(%m):%03n:%i> " 5 "invoke" 5 "sfx" 5 "Packer" 5 "invoke_with_call_chain" 5 "respect_whitespace" 5 "List" 5 "sizeof(void*)?" 5 "=\n" 5 "compare_file" 5 "NXDomain" 5 "minitest_argv" 5 "sa" 5 " [" 5 "cache_entry" 5 "parseMethodResponse" 5 "HTTPBadResponse" 5 "add_banner" 5 "sb" 5 "bool" 5 "# You cannot get valid value before opening SMTP session.\n" 5 "ALPHA" 5 "auth_capable?" 5 "(*opts)\n" 5 "entity_value" 5 "zone_utc?" 5 "zone_offset" 5 "W" 5 "_escape" 5 "rd" 5 "keystr" 5 "latest_sice" 5 "_racc_evalact" 5 "ACL" 5 "UNRESERVED" 5 "latest_cache_data" 5 "RESERVED" 5 "dc" 5 "ENOTCONN" 5 "MAIN_CONTEXT" 5 "1.1" 5 "nonblock" 5 " EOC\n" 5 "shellsplit" 5 "DOMLABEL" 5 "shellescape" 5 "racc_end_parse" 5 "algo" 5 "@cache_file" 5 "use_result" 5 "TOPLABEL" 5 "\t send :\#{" 5 "@pubid" 5 "CompileError" 5 "parse_arg" 5 "@major" 5 "import" 5 "nt_base" 5 "@minor" 5 "goto_pointer" 5 "add_authenticator" 5 "goto_default" 5 "@match" 5 "nocreate" 5 "@create" 5 "new_offset" 5 "@@debug" 5 "goto_check" 5 "goto_table" 5 "$curdir" 5 "@proxy_host" 5 "# element:: \n" 5 "post_install_message" 5 "sanitize_string" 5 "# absoluteURI = scheme \":\" ( hier_part | opaque_part )\n" 5 " end\n" 5 "peer_cert" 5 "# hier_part = ( net_path | abs_path ) [ \"?\" query ]\n" 5 "new_start" 5 "@version_requirement" 5 "mon_check_owner" 5 "proxy_host" 5 "default_options" 5 "@mon_mutex" 5 "@waiters" 5 "oldvalue" 5 "read_all" 5 "blockdev?" 5 "canon" 5 "try_lock" 5 "included" 5 "socket?" 5 "@buf" 5 "yaml_uri" 5 "pipe?" 5 "marshal_uri" 5 "unsafe" 5 "register" 5 "paranoid" 5 "RequiredArgument" 5 "compress" 5 "# name:: \n" 5 " " 5 "send_request" 5 "new_cond" 5 "lchmod" 5 "struct_type" 5 "format_executable" 5 "RootElementMixin" 5 "Mutex_m" 5 "ignore_dependencies" 5 "sort_obj" 5 "lchown" 5 "unzip" 5 "wrappers" 5 "FRAGMENT" 5 "chars" 5 "ipv4?" 5 "def_uconv_convert_if_can" 5 "__sleep" 5 "encoded" 5 "base64_encode" 5 "hex4" 5 "excl" 5 "progress_reporter" 5 "Response" 5 "@debug_level" 5 "0666" 5 "@development" 5 "@exclude_re" 5 "ParseException" 5 "# http.request_get('/index.html') {|res|\n" 5 "set_opaque" 5 "May" 5 " Copyright (C) 2002 Michal Rokos \n" 5 "search_with_source" 5 "exclude" 5 ".lock" 5 "HOST" 5 "SSL_ATTRIBUTES" 5 "remotes" 5 "pe" 5 "pipe" 5 "@@cleanlist" 5 "die" 5 "_rfc2822" 5 "@am" 5 "StdioInputMethod" 5 "CONTENT_PREFIX" 5 "@latest_specs_index" 5 "@specs_index" 5 "@ignore_dependencies" 5 "only_platform" 5 "success?" 5 "mime_split" 5 "sync_close" 5 "USERINFO" 5 "post_connection_check" 5 "invalid address" 5 "marshal_name" 5 "resolve" 5 "valid_v4?" 5 "proxy_address" 5 "getnames" 5 "progress_proc" 5 "standard" 5 "getname" 5 "http_basic_authentication" 5 "inline_xhtml?" 5 "ssl_ca_cert" 5 "# This method never raises Net::* exceptions.\n" 5 "@workspace" 5 "@documents" 5 "exec" 5 "wakeup" 5 "myClient" 5 "ABS_PATH" 5 "_strptime" 5 "%F" 5 "prev_ver" 5 "DefaultLoader" 5 "-4712-01-01" 5 "collect_method" 5 "@audit" 5 "no_proxy" 5 "SocketError" 5 "WONT" 5 "send_message" 5 "old_text" 5 "@specs_and_sources" 5 "@tasks" 5 "task_class" 5 "@thread" 5 "transfer-encoding" 5 "TimeoutHandler" 5 "readuntil" 5 "UDPSocket" 5 "@@refs" 5 "# else\n" 5 "# else\n" 5 "Find" 5 "css_name" 5 "SB" 5 "initial_scope" 5 "cur" 5 "OPT_ECHO" 5 "set_typecode" 5 "OPT_SGA" 5 "@typecode" 5 "DESTDIR" 5 "alternate" 5 "content-encoding" 5 "@keeper" 5 "DEFAULT_HOST" 5 "GServer" 5 "@renew" 5 "@curr" 5 "GENERAL_MODIFIERS" 5 "@ssl" 5 "net/http" 5 "each_option" 5 "== Synopsis\n" 5 "Waittime" 5 "411" 5 "405" 5 "SSLPrivateKey" 5 "SGA" 5 "trace_rule" 5 "FileHandler" 5 "html_file" 5 "mount" 5 "setup_ssl_context" 5 "@feed_subtype" 5 "Basic " 5 "SHA1" 5 "HTTPS" 5 "rdf" 5 "# next larger unit (e.g. a +min+ of -2 is treated as 58). No\n" 5 "# +sec+ are treating as counting backwards from the end of the\n" 5 "const_warning" 5 "# The 24-hour clock is used. Negative values of +h+, +min+, and\n" 5 "install_have_" 5 "nn" 5 "contributor" 5 "Instruction" 5 "@rakefiles" 5 "Li" 5 "_valid_commercial?" 5 "links" 5 "@top_level_tasks" 5 "standard_exception_handling" 5 "rl" 5 "issuer_cert" 5 "# License:: You can redistribute it and/or modify it under the same term as Ruby.\n" 5 "HTTPExceptions" 5 "waitfor" 5 "Get" 5 " }" 5 "homepage" 5 "@meta" 5 "canonical_name" 5 "toc" 5 "basic_auth" 5 "guid" 5 "executable" 5 "webcvs" 5 "delegate" 5 "@html_class" 5 "Cipher" 5 "@non_option_arguments" 5 "def_delegator" 5 "_valid_ordinal?" 5 "_valid_jd?" 5 "HTTPInformation" 5 "ensure_ssl_available" 5 "commercial_to_jd" 5 "parent_class" 5 "has_rdoc" 5 "loader" 5 "jd_to_weeknum" 5 "MissingArgument" 5 "HTTPFound" 5 "windows?" 5 "time_to_day_fraction" 5 "URIContentModel" 5 "@segments" 5 "TextConstruct" 5 "NO_ARGUMENT" 5 "STATUS_TERMINATED" 5 "STATUS_YET" 5 "@sync_mutex" 5 "xml_setter" 4 "# Copyright (C) 2000 Information-technology Promotion Agency, Japan\n" 4 "Log" 4 "TemplatePage" 4 "xml_getter" 4 "HTTPServer" 4 "write_html_on" 4 "HTTPSeeOther" 4 "nth_kday_to_jd" 4 "HTTPTemporaryRedirect" 4 "HTTPMovedPermanently" 4 "amjd" 4 "mjd" 4 "value_hash" 4 "jd_to_commercial" 4 "isPermaLink" 4 "overrides" 4 "ld" 4 "index_name" 4 "parent_url" 4 "NotFound" 4 "' not found." 4 "total_file_count" 4 "jd_to_ordinal" 4 "is_last" 4 "file_dir" 4 "email" 4 "# backwards from the end of the year and the end of the\n" 4 "sync_upgrade_waiting" 4 "# and invalid values cause an ArgumentError to be raised.\n" 4 "sync_waiting" 4 "alias_names" 4 "lis" 4 "DuplicateLinkChecker" 4 "SECONDS_IN_DAY" 4 "short_name" 4 "validate_duplicate_links" 4 "@@seq" 4 "nw" 4 "collect_methods" 4 "@cert_chain" 4 "_valid_nth_kday?" 4 "wakeup_threads" 4 "write_header" 4 "from_path" 4 "HTTPServlet" 4 "@method" 4 "403" 4 "Proxy-Authorization" 4 "proxy-connection" 4 "basic_encode" 4 "urlencode" 4 "weeknum" 4 "nth_kday" 4 "rewrite_frags" 4 "= History\n" 4 "complete_frags" 4 "base_uri" 4 "= Classes\n" 4 "Released under the same term of license as Ruby.\n" 4 "valid_date_frags?" 4 "main_type" 4 "runnable" 4 "html_class" 4 "spec_code" 4 "TimeoutMutex" 4 "rangestr" 4 "Dec" 4 "va" 4 "sockets" 4 "Keep-Alive" 4 "Connection" 4 "strptime" 4 "new_item" 4 "Nov" 4 "response_body_permitted?" 4 "transport_request" 4 "Image" 4 "Head" 4 "inline_other_xml?" 4 "Oct" 4 "Sep" 4 "Aug" 4 "anonymous" 4 "Jun" 4 "# # using block\n" 4 "_iso8601" 4 "debug_output" 4 "Apr" 4 "MissingAttributeError" 4 "Mar" 4 "set_params" 4 "inline_other?" 4 "4096" 4 "rfc3339" 4 "need_base64_encode?" 4 "empty_content?" 4 "rss/rss" 4 "conn_address" 4 "CONTENT_URI" 4 "# it raises a TimeoutError exception.\n" 4 "Feb" 4 "/tmp" 4 "Jan" 4 "@read" 4 "set_close_on_exec" 4 "pubDate" 4 "prefix_size" 4 "jisx0301" 4 "DAYNAMES" 4 "rss/utils" 4 "@compression" 4 "_attrs" 4 "(*args)\n" 4 "read_header" 4 "@from" 4 "use_incremental" 4 "call_callback" 4 "assign_types_to_lines" 4 "rubygems/remote_fetcher" 4 "@curr_http_version" 4 "weeknum0" 4 "# #\n" 4 " EOC\n" 4 "create_listeners" 4 "chunks" 4 "weeknum1" 4 "locked?" 4 "Ups" 4 "listeners" 4 "each_object" 4 "spec_names" 4 "@originals" 4 "Release" 4 "read_chunked" 4 "BufferedIO" 4 "define_finalizer" 4 "num_of_instances" 4 "unget" 4 "443" 4 "missing_names" 4 "julian?" 4 "_close" 4 "fix_style" 4 "# module Net\n" 4 "@singleton__mutex__" 4 "ParserWriterChooseMixin" 4 " }\n" 4 "sub_klass" 4 "@waiters_mutex" 4 "# end\n" 4 "END" 4 "inherited" 4 "@cookie" 4 "curdir" 4 "Post" 4 "set_auth" 4 "__init__" 4 "combo" 4 "shelljoin" 4 "# Alias of push\n" 4 "# Alias of pop\n" 4 "diff" 4 "request_get" 4 "authenticator" 4 "all_waits" 4 "dgst" 4 "@dirty" 4 "@wait_queue" 4 " def on_" 4 "@@authenticators" 4 "run_config" 4 "version_1_2" 4 "Protocol" 4 "E" 4 "DC_URI" 4 "TaggedResponse" 4 "F" 4 "regex" 4 "call2" 4 "full_plural_name" 4 "R" 4 "T" 4 "month_days" 4 "make_time" 4 "Lexer" 4 "_make_regex" 4 "mlen" 4 "nonascii" 4 "authenticate" 4 "signing_cert" 4 "LINK_SO" 4 "ContinuationRequest" 4 "link_so" 4 "call2_async" 4 "# This program is free software. You can re-distribute and/or\n" 4 "wanted_type" 4 "HELP" 4 "=(new_value)\n" 4 "parse257" 4 "undef_system_command" 4 "sclass" 4 "def_system_command" 4 ")+" 4 "fontcolor" 4 "/nm" 4 "save_cert" 4 "popdir" 4 "pushdir" 4 "sic_entry" 4 "escape_re" 4 "# For details of Ruby License, see ruby/COPYING.\n" 4 "# You can distribute and/or modify this program under the Ruby License.\n" 4 "da" 4 "54" 4 "@auth" 4 "DATE_ELEMENTS" 4 "fsep" 4 "text/xml; charset=utf-8" 4 "start_keeper" 4 "refname" 4 "$installed_list" 4 "remote_size" 4 "t2" 4 "bin_key" 4 "USER" 4 "@enum" 4 "@latest_specs" 4 "CompletingHash" 4 "origdef" 4 "deffile" 4 "local_spec" 4 "realuser" 4 "@@systmpdir" 4 "Officious" 4 "set_cookies" 4 "sample" 4 "uri_str" 4 "@done" 4 "SHGetFolderPath" 4 "WaitTemplateEntry" 4 "Cyclic" 4 "post_match" 4 "Subgraph" 4 "# :yields: node\n" 4 "mod_path" 4 "# Create a new DateTime object corresponding to the specified\n" 4 "# wraparound is performed. If an invalid time portion is specified,\n" 4 "find_full_name" 4 "$distcleanfiles" 4 "# \t self\n" 4 "# an ArgumentError is raised.\n" 4 " " 4 "draw_module" 4 "black" 4 "ITunesModelUtils" 4 "release" 4 "child_id" 4 "normalized_name" 4 "convert_fields" 4 "bgcolor" 4 "verbosity" 4 "canceled?" 4 "CURRENT_SPECIFICATION_VERSION" 4 "make_switch" 4 "nolong" 4 "document_to_str" 4 "opt_name" 4 "@generators" 4 "@rdoc_include" 4 "@inline_source" 4 "RUBY_SO_NAME" 4 "to_time" 4 "Classes" 4 "each_strongly_connected_component" 4 "add_unconverted_fields" 4 "find_names" 4 "@rings" 4 "@done_modules" 4 "primary" 4 "to_date" 4 "@@non_nil_attributes" 4 "@diagram_cache" 4 "lookup_ring_any" 4 "@@default_value" 4 "RingFinger" 4 "parse_in_order" 4 "add_converter" 4 "?2" 4 "ext0" 4 "@counter" 4 "nsec" 4 "getmultiline" 4 "getline" 4 "putline" 4 "@sec" 4 "yp" 4 "vpath" 4 "value must be a set" 4 "long_options" 4 "DEBUG_LAST_CMD" 4 "open_socket" 4 "flatten_merge" 4 "filepath" 4 "@finish_pos" 4 "ldirs" 4 "# File.open( 'many-docs.yaml' ) do |yf|\n" 4 "@response_handlers" 4 "ldefault" 4 "suspend_all" 4 "# ## from the YAML document\n" 4 "kernel32" 4 "load_documents" 4 "waiting" 4 "add_type" 4 "transfer" 4 "idefault" 4 "current_version" 4 "OctalInteger" 4 "@platform" 4 "DecimalNumeric" 4 "set_last_thread" 4 "ScriptError" 4 "@test_count" 4 "debug_silent_eval" 4 "isEqual" 4 "ratio" 4 "char" 4 "@tagged_responses" 4 "epsilon" 4 "AVAILABLE_PARSER_LIBRARIES" 4 "0.001" 4 "@return_headers" 4 "deriv" 4 "70" 4 "@has_win32" 4 "debug_command" 4 "Length Required" 4 "i2" 4 "i1" 4 "$debugger_restart" 4 "@has_urandom" 4 "Random" 4 "parser_class" 4 "new_ostruct_member" 4 "initialize_copy" 4 "@logout_command_tag" 4 "@debug_output_bol" 4 "Method Not Allowed" 4 "Forbidden" 4 "n1" 4 "raise_for_undefined_entity?" 4 "squeeze" 4 "InspectKey" 4 "#puts \"P = \#{p.inspect}\"\n" 4 "@@registered_uris" 4 "\\s*\\#.*" 4 "\\f" 4 "-I" 4 "@@class_names" 4 "pividx" 4 "alias_for" 4 "_assertions" 4 "add_dependency_with_type" 4 "# If x is infinite or NaN, returns NaN.\n" 4 "COMMON_LIBS" 4 "()" 4 "Assertion" 4 "format_frame" 4 "@text" 4 "Assertions" 4 "@actual_calls" 4 "# File a patch instead and assign it to Ryan Davis\n" 4 "relpath" 4 "current_match" 4 "# DO NOT make modifications in this repo.\n" 4 "final_result" 4 "result_buffer" 4 "fv" 4 "# This file is imported from a different project.\n" 4 "VERSION_ARRAY" 4 "minfact" 4 "fact" 4 "@text_stack" 4 "nFig" 4 "location_input" 4 "@default_dir" 4 "Running" 4 "matched_so_far" 4 "stat1" 4 "stat2" 4 "block_scanf" 4 "parse_json" 4 "ns_prefix" 4 "main_quit" 4 "@string_left" 4 "ifiles" 4 "@options_menu" 4 "interrupt" 4 "\\S" 4 "validate_internal" 4 "find_class_named" 4 "have_content?" 4 "raw_cookie" 4 "XMLScanParser" 4 "try_func" 4 "@server_cert" 4 "order_input" 4 "plus" 4 "string_left" 4 "path2" 4 "parsers" 4 "old_ext" 4 "new_ext" 4 "r2" 4 "can_parse" 4 "seqno" 4 "basename1" 4 "cppflags" 4 "letter" 4 "# This method has existed since 1.8.1.\n" 4 "focus" 4 "tag <" 4 "current_index" 4 "try_cpp" 4 "@diagram" 4 "200 OK" 4 "# def initialize\n" 4 "base_prefix" 4 "try_link0" 4 "@@all_files" 4 "RPATHFLAG" 4 "stdoutput" 4 "_header_for_string" 4 "$srcdir" 4 "@re_string" 4 "TRY_LINK" 4 "@chunked" 4 "@request_http_version" 4 "LDFLAGS" 4 "ARCH_FLAG" 4 "CFLAGS" 4 "CPPFLAGS" 4 "out_options" 4 "in_options" 4 "Content" 4 "dump_response" 4 "load_response" 4 "quotaroots" 4 "top_srcdir" 4 "find_file_named" 4 "each_entry" 4 "Icon" 4 "GENERATORS" 4 "parseMethodCall" 4 "try_do" 4 "79" 4 "RUBY_ENGINE" 4 "singleline_pp" 4 "try_link" 4 "mcall" 4 "$have_devel" 4 "sharing_detection" 4 "unchange" 4 "parse_header" 4 "COMMON_HEADERS" 4 "=(new_value)\n if new_value.nil?\n" 4 "normalized_file_list" 4 "@last_created" 4 "file_save_as" 4 "55" 4 "# Create the menu.\n" 4 "RUBY_PATCHLEVEL" 4 "tmplog" 4 "version_constraints" 4 "GATEWAY_INTERFACE" 4 "PATH_INFO" 4 "start_time" 4 "%x" 4 "object_address_group" 4 "# Obsolete: use +subtype+ instead. Calling this will\n" 4 "createCleanedTree" 4 "# generate a warning message to +stderr+, then return \n" 4 "yi" 4 "removeWhitespacesAndComments" 4 "@constants" 4 "set_paths" 4 "@executables" 4 "@num_methods" 4 "# the value of +subtype+.\n" 4 "print_alias" 4 "@includes" 4 "@forwarded_port" 4 "media_subtype" 4 "@forwarded_proto" 4 "add_alias" 4 "searcher" 4 "warning: media_subtype is obsolete.\\n" 4 "print_class" 4 "print_file" 4 "print_method" 4 "is_alias_for" 4 "AnyMethod" 4 "have_children_elements" 4 "MUST_CALL_VALIDATORS" 4 "print_module" 4 "?S" 4 "CPPOUTFILE" 4 "GET_ATTRIBUTES" 4 "HAVE_CHILDREN_ELEMENTS" 4 "TO_ELEMENT_METHODS" 4 "COUTFLAG" 4 "NEED_INITIALIZE_VARIABLES" 4 "PLURAL_FORMS" 4 "must_call_validators" 4 "boundary_end" 4 "klone" 4 "set_home" 4 "$topdir" 4 "size=" 4 "@converter" 4 "@path_info" 4 "normalized_attrs" 4 "row_sep:" 4 "bufsize" 4 "selected_index" 4 "Append a node into the root first!" 4 "indexes" 4 "@content_type" 4 "elapsed" 4 "user_agent" 4 "end_tag" 4 "GET" 4 "" 4 "# # \n" 4 "TaxonomyTopicsModel" 4 "SRC_EXT" 4 "build_os" 4 "# # \n" 4 "new_string" 4 "@icon_cache" 4 "@in_files" 4 "indent_text" 4 "T_STAR" 4 "@@win_platform" 4 "cc" 4 "CONNECT " 4 "rexml/namespace" 4 "collect2" 4 "TYPE_COL" 4 "output_width" 4 "DOCTYPE" 4 " def \#{" 4 "@pp" 4 "alt" 4 "# # \n" 4 "WrongArgType" 4 "radio_button" 4 "Converter" 4 "# The DOCTYPE declaration for this version of HTML\n" 4 "# Initialise the HTML generation methods for this version.\n" 4 "# - -\n" 4 "@terminal_message" 4 "regist_scanner" 4 "make_scanner" 4 "SELECT" 4 "pf" 4 "JSONError" 4 "EOF" 4 "BASERUBY" 4 "0.5" 4 "java" 4 "# by header\n" 4 "State" 4 "# - O EMPTY\n" 4 "<>" 4 "to_json" 4 "# This method returns the row for chaining.\n" 4 "@expanded_name" 4 "xmp" 4 "comparison" 4 "18" 4 "size_col" 4 "from_col" 4 "size_row" 4 "from_row" 4 "resp_text" 4 "StreamListener" 4 "@document_children" 4 "local_platform" 4 "unnormalize" 4 "NoSession" 4 "minor" 4 "# :yield: e\n" 4 "BINDING_QUEUE" 4 "Service" 4 "BasicInterface" 4 "set_component" 4 "27" 4 "set_element" 4 "stag_reg" 4 "pd" 4 "etag_reg" 4 "DebugLogger" 4 "Buffer" 4 "@script" 4 "Generator23" 4 "init_rows" 4 "@new_session" 4 "body_fields" 4 "outp" 4 "body_ext_1part" 4 "#----------------------------------------------------------------------\n" 4 "xsss" 4 "build_array_from_version_string" 4 "omitlen" 4 "@dbprot" 4 "ExceptionForMatrix" 4 "next_sibling" 4 "previous_sibling" 4 "chop!" 4 " (?:\#{" 4 "# == Parameters\n" 4 " \\z/x" 4 "allow_e" 4 "body_fld_param" 4 "allow_point" 4 "body_extensions" 4 "# See REXML::Formatters\n" 4 "MONTHS" 4 "MaxClients" 4 "input=" 4 "format_string" 4 "PseudoPrimeGenerator" 4 "Parent" 4 "@ruby_opts" 4 "@last_prime" 4 "cdata" 4 "28" 4 "TkSymbol2Token" 4 "XMLScan" 4 "ZONES" 4 "cat" 4 "PUBLIC" 4 "read_until_dashes" 4 "newmember" 4 "32400" 4 "apos" 4 "eod" 4 "age_file" 4 "next_token" 4 "25200" 4 "37" 4 "53" 4 "SiD" 4 "@attrs" 4 "@current_attr" 4 "@elem" 4 "create_logfile" 4 " \t" 4 "emit_w" 4 "ResponseParseError" 4 "# #authenticate().\n" 4 "WRONLY" 4 "\\w" 4 "k_ipad" 4 "k_opad" 4 "TkGVAR" 4 "mark_version" 4 "@stage" 4 "== Superclass\n" 4 "emit_au" 4 "Parsers" 4 "@@map" 4 "%m/%d/%y" 4 "@@obj" 4 "exit_serve" 4 "cost" 4 "cnonce" 4 "identify_identifier" 4 "%Y-%m-%d" 4 "%H:%M:%S" 4 "authzid" 4 "SERVER_NAME" 4 " else\n" 4 "retry_" 4 "strip_quotes" 4 "bcount" 4 "ResponseError" 4 "format_message" 4 "# require \"pstore\"\n" 4 "$user" 4 "keep_alive" 4 "@formatter" 4 "69" 4 "iy" 4 "DomainName" 4 "\\b(" 4 "@when_invoked" 4 "EXPR_CLASS" 4 "function" 4 "axe_name" 4 "axe" 4 "CommandNotFound" 4 "TkfLBRACE" 4 "Content-length" 4 "in_transaction_wr" 4 "@default_formatter" 4 "iso8601_timediv" 4 "TkfLPAREN" 4 "2.0" 4 "block_len" 4 "CommandLineError" 4 "Definition of " 4 "@ttl" 4 "@rdoc_dir" 4 "$host" 4 "--debug" 4 "TkLBRACE" 4 "TkLPAREN" 4 "pstore_abort_transaction" 4 "@alias_map" 4 "(ERB)" 4 "transaction" 4 "mbox" 4 "TkSTRING" 4 "PERCENT_PAREN" 4 "get_rr" 4 "zip_file" 4 "digest_length" 4 "group_name" 4 "@continued_exception" 4 "start_dir" 4 "atan" 4 "bitlen" 4 "@prev_char_no" 4 "TkEND_OF_SCRIPT" 4 "EMPTY_MARSHAL_CHECKSUM" 4 "isutf8" 4 "isjis" 4 "cosh" 4 "configure_options" 4 "issjis" 4 "iseuc" 4 "sinh" 4 "tolocale" 4 "toutf32" 4 "toutf16" 4 "toutf8" 4 "tosjis" 4 "toeuc" 4 "ip_addr" 4 "tojis" 4 "marshal_dump_supports_canonical_option?" 4 "defined_meth" 4 "erb_or_fname" 4 "get_readed" 4 "set_headers" 4 "xaddr" 4 "set_to" 4 "# This module has all methods of FileUtils module, but never changes\n" 4 "SJIS" 4 "log10" 4 "1000000" 4 "EUC" 4 "@base_char_no" 4 "other_len" 4 "TaskLib" 4 "@exp_line_no" 4 " \t\t\t" 4 "######################################################################\n" 4 "Pretty" 4 "/\\z" 4 "openssl library not installed" 4 "@@entity_expansion_limit" 4 "D_NOMSG" 4 "absolute" 4 "mails" 4 "bin_script_path" 4 "ppx" 4 "pathmap_explode" 4 "AbstructNotifier" 4 "cfunc" 4 "Query" 4 "argtypes" 4 "# secs/call\n" 4 "# calls/sec ( time) -> speed covers\n" 4 "Str" 4 "# == Examples of use\n" 4 "# method.\n" 4 "# === Parameters\n" 4 "# == Introduction\n" 4 "Stack" 4 "#!" 4 "@package_files" 4 "real_load" 4 "inactivate" 4 "gethostname" 4 "BasicLog" 4 "frag" 4 "wrap_arg" 4 "@gem_spec" 4 "calltype" 4 "You can use Shell#transact or Shell#check_point for more safe execution." 4 "# do nothing\n" 4 "# Copyright (C) 2000 Network Applied Communication Laboratory, Inc.\n" 4 "stdcall" 4 "bind_at_call" 4 "Indent" 4 "check_response_auth" 4 "# Options: force noop verbose\n" 4 "handlers" 4 "USING_AT_EXIT_WHEN_PROCESS_EXIT" 4 "fargs" 4 "indent!" 4 "LDAP" 4 "@job_monitor" 4 "@func_map" 4 "rbuf_fill" 4 " bytes" 4 "PROMPT" 4 "required_rubygems_version" 4 "ln_sf" 4 "cp_r" 4 "to_ptr" 4 "parse_bind_options" 4 "@total" 4 "original_dir" 4 "@label" 4 "copy_entry" 4 "dereference_root" 4 "@cstime" 4 "traverse" 4 "@cutime" 4 "/>" 4 "CFunc" 4 "BaseNode" 4 "LOG_off" 4 "@stime" 4 "match_path" 4 "LOG_on" 4 "@utime" 4 "_pid" 4 "InvocationChain" 4 "ALIGN_CHAR" 4 "YPath" 4 "free_request_id" 4 "allocate_request_id" 4 "ALIGN_SHORT" 4 "ALIGN_INT" 4 "# module Rake\n" 4 "rmtree" 4 "segments" 4 "prerequisites" 4 "RequestID" 4 "ALIGN_LONG" 4 "racc_print_stacks" 4 "ALIGN_FLOAT" 4 "ALIGN_DOUBLE" 4 "rcgen" 4 "levels" 4 "curstate" 4 "k1" 4 "@actions" 4 "exec_format" 4 "irb_bug" 4 "@input_queue" 4 "need_config_file_name" 4 "SignalException" 4 "DNS_COMP_RE" 4 "r0" 4 "path_query" 4 "default_ssl_context" 4 "@pipe_in" 4 "@bulk_threshold" 4 "@update_sources" 4 "RC_NAME_GENERATOR" 4 "@arg_names" 4 "Interrupt" 4 "tmp_v" 4 "name_with_args" 4 "parent_st" 4 "void_array" 4 "reduce_to" 4 "CONTEXT_MODE" 4 "euid" 4 "parse_types" 4 "readable_atfer_eof?" 4 "ignore_whitespace_nodes" 4 "postorder_traverse" 4 "namespace_context" 4 "MagicFile" 4 "execute" 4 "space_line" 4 "entity_class" 4 "# Returns:: \n" 4 "cmp" 4 "enhance_with_matching_rule" 4 "xmlns:" 4 "same_methods" 4 "gem_original_require" 4 "@ctypes" 4 "rcode" 4 "reply_name" 4 "packer" 4 "base_name" 4 "chmod_R" 4 "# URI or String\n" 4 "tsize" 4 "eval_input" 4 "AUTH" 4 "create_rule" 4 "# +oth+::\n" 4 "IRB_EXIT" 4 "Irb" 4 "chown_R" 4 "# error token\n" 4 "add_trailer_slash" 4 "requester" 4 " ]" 4 "DENY_ALLOW" 4 "@order" 4 "nerr" 4 "@deny" 4 "@allow" 4 "HOSTNAME" 4 "to_name" 4 "allow_addr?" 4 "@reference" 4 "com" 4 " from " 4 "@ndata" 4 "user_dir" 4 "override" 4 "add_import" 4 "DATA" 4 "reverse!" 4 "# require 'drb/drb'\n" 4 "StreamUtils_" 4 "in_addr" 4 "blksize" 4 "def_extend_command" 4 "install_extend_commands" 4 "show_command" 4 "PEREFERENCE" 4 "irb/cmd/subirb" 4 "# user system total real\n" 4 "@EXTEND_COMMANDS" 4 "@rel" 4 "# === Errors\n" 4 "# This method may raise:\n" 4 "# * Net::SMTPServerBusy\n" 4 "irb_context" 4 "EXCB" 4 "# authority = server | reg_name\n" 4 "# * Net::SMTPSyntaxError\n" 4 "config_info" 4 "dns" 4 "# * Net::SMTPFatalError\n" 4 "# server = [ [ userinfo \"@\" ] hostport ]\n" 4 "&=" 4 " \#{" 4 "requirements_list" 4 "# * Net::SMTPUnknownError\n" 4 "AUTO_INDENT" 4 "nowrite" 4 "# See #current_server.\n" 4 "reqs" 4 "DRbUnknown" 4 "# * IOError\n" 4 "make_regexp" 4 "# * TimeoutError\n" 4 "encoding=" 4 "X_ABS_URI" 4 "gem_file_list" 4 "apply" 4 "@encoding_methods" 4 "fully_expanded_name" 4 "rz" 4 "@@to_s" 4 "reserved" 4 "__drbref" 4 "uric" 4 "_reverse" 4 "recv_request" 4 "DEFAULT_AUTH_TYPE" 4 "debug_level" 4 "pkgs" 4 "send_reply" 4 "add_protocol" 4 "QUERY" 4 "0xffff" 4 "quick_index" 4 "@pending_add" 4 "echo" 4 "_to_string" 4 "to_string" 4 "@exclude_patterns" 4 "check_password" 4 "mask_addr" 4 "check_auth_response" 4 "check_auth_continue" 4 "Pair" 4 "check_user" 4 "split_userinfo" 4 "HexPair" 4 "ipv4_mapped?" 4 "ignore_sigint" 4 "reqline" 4 "@exclude_procs" 4 "create_ext" 4 "DRbTCPSocket" 4 "ECHO" 4 "VERBOSE" 4 "?b" 4 "FileInputMethod" 4 ".Z" 4 "set_registry" 4 "set_scheme" 4 "set_sockopt" 4 "@env_shebang" 4 "0xffffffff" 4 "setsockopt" 4 "resolve_exclude" 4 "@irb_name" 4 "@format_executable" 4 "$fileutils_rb_have_lchmod" 4 "DRbURIOption" 4 "SINGLE_IRB" 4 "@option" 4 "difference_to_utc" 4 "here?" 4 "calculate_exclude_regexp" 4 "new_with" 4 "$fileutils_rb_have_lchown" 4 "prompt_mode" 4 "USE_TRACER" 4 "@wrappers" 4 "@installed_gems" 4 "MATH_MODE" 4 "INSPECT_MODE" 4 "LOAD_MODULES" 4 "RC" 4 "reg" 4 "optdecl" 4 "find_gems_with_sources" 4 "reg_name" 4 "get_text" 4 "gems_and_sources" 4 "SCHEME" 4 "@tcpServer" 4 "SpecFetcher" 4 "REL_PATH" 4 "should_verify_common_name" 4 "@utf_encoding" 4 "do_not_reverse_lookup" 4 "METHODS" 4 "optname" 4 "friend" 4 "dependency_list" 4 "to_do" 4 "@connectionsCV" 4 "DEFAULT_CERT_STORE" 4 "SOCKSSocket" 4 "@@acl" 4 "@rules" 4 "@@verbose" 4 "@stdlog" 4 " (\#{" 4 "config_or_acl" 4 "@grp" 4 "original_resolv_send" 4 "WILL" 4 "$(docdir)" 4 "dep_or_name" 4 "original_resolv_initialize" 4 "path_elements" 4 "AYT" 4 "any_to_s" 4 "InvokeMethod" 4 "@shutdown" 4 "@succ" 4 "F_SETFL" 4 "@@servicesMutex" 4 "OPAQUE" 4 "@@command" 4 "verify_callback" 4 "DEFAULT" 4 "$DEBUG_RDOC" 4 "SSLClientCA" 4 "@gemspecs" 4 "SSLCACertificatePath" 4 "gem_to_remove" 4 "SSLCACertificateFile" 4 "# IMMUTABLE\n" 4 "SSLVerifyDepth" 4 "def_instance_delegator" 4 "^-." 4 "DocManager" 4 "arg_check" 4 "ExtensionFactory" 4 "TYPECODE" 4 "@configured_args" 4 "SSLVerifyCallback" 4 "standard_system_dir" 4 "is_valid" 4 "system_dir" 4 "BadURIError" 4 "add_loader" 4 "here" 4 "preprocess" 4 "########################################################################\n" 4 "$\"" 4 "cipher_name" 4 "SSLCertificateStore" 4 "check_validity" 4 " def \#{" 4 "# but also data from BN_generate_prime\n" 4 "SSLCertName" 4 "SSLCertComment" 4 "@cert" 4 "handle_options" 4 "@error" 4 "RSA" 4 "show_tasks" 4 "@pkey" 4 "-h" 4 "nwritten" 4 "def_single_delegator" 4 "syswrite" 4 "silent" 4 "@ssl_ctx" 4 "maxlen" 4 "consume_rbuff" 4 "doc_dir" 4 "from_io" 4 "rakelib" 4 "fill_rbuff" 4 "--quiet" 4 "POSIXLY_CORRECT" 4 "\\s*,\\s*" 4 "-n" 4 "login_prompt" 4 "# the data from the gem file\n" 4 "REQUIRE_ORDER" 4 "OperationNotSupportedError" 4 "PERMUTE" 4 "NeedlessArgument" 4 "AmbiguousOption" 4 "tcp" 4 "password_prompt" 4 "OPTIONAL_ARGUMENT" 4 "displayable_tasks" 3 "content_encoding" 3 "# OpenSSL\n" 3 "RAKE_COLUMNS" 3 "#require 'openssl'\n" 3 "show_task_pattern" 3 "full_description" 3 "# Should we care what if somebody require this file directly?\n" 3 "BLOCK_SIZE" 3 "max_column" 3 "$ERROR_INFO" 3 "RemoteSourceException" 3 "@kind" 3 "EAGAIN" 3 "nwrote" 3 "FailEOF" 3 "fail_eof" 3 "waittime" 3 "# :yield: recvdata\n" 3 "keylen" 3 "argument must be true or false" 3 "tag_subclasses?" 3 "a+" 3 "$>" 3 "alg" 3 "classic_namespace" 3 "$`" 3 "$POSTMATCH" 3 "SE" 3 "NOP" 3 "DM" 3 "IP" 3 "AO" 3 "-q" 3 "# require 'pp'\n" 3 "SocketForwarder" 3 "verify_certificate_identity" 3 "general_name" 3 "status_type_char" 3 "continue?" 3 "difference_minutes" 3 "absolute_difference" 3 "@ctx" 3 "difference_sign" 3 "exception_class" 3 "tz" 3 "to_addr" 3 "CRAM_BUFSIZE" 3 "cram_secret" 3 "extra_rdoc_files" 3 "rdoc_options" 3 "critical?" 3 "-t" 3 "show_prereqs" 3 "--verbose" 3 "Special" 3 "run_rdoc" 3 "HexChar" 3 "--version" 3 "res0" 3 "inr" 3 "auth_method" 3 "ssl_available?" 3 "rcptto_list" 3 "setup_rdoc" 3 "mailfrom" 3 "tag:yaml.org,2002:binary" 3 "expand_pair" 3 "# Returns the Base64-encoded version of +bin+.\n" 3 "type_and_value" 3 "do_helo" 3 "tlsconnect" 3 "new_internet_message_io" 3 "# Returns the Base64-decoded version of +str+.\n" 3 "ssl_available" 3 "props" 3 "rdoc_args" 3 "check_auth_method" 3 "klasses" 3 "@not_before" 3 "Racc" 3 "Racc_No_Extentions" 3 "@not_after" 3 "# Convert the map to a sequence\n" 3 "@tty_output" 3 "Racc_Main_Parsing_Routine" 3 "Racc_YY_Parse_Method" 3 "Racc_Runtime_Type" 3 "_racc_setup" 3 "# n = 50000\n" 3 "# The result:\n" 3 "@loaders" 3 "_racc_init_sysvars" 3 "@racc_user_yyerror" 3 "load_rdoc" 3 "@imported" 3 "caption" 3 "configured_args" 3 "@pending_imports" 3 "PKEY_RSA" 3 "DIGEST_SHA1" 3 "del_keys" 3 "SMTPS and STARTTLS is exclusive" 3 "@const_warning" 3 "tls?" 3 "capable?" 3 "capable_starttls?" 3 "racc_jump" 3 "ets" 3 "method_id" 3 "# Net::SMTP.start('your.smtp.server', 25, 'mail.from.domain',\n" 3 "# Net::SMTP.start('your.smtp.server', 25) do |smtp|\n" 3 "match_init" 3 "toks" 3 "fdiv" 3 "SMTPUnknownError" 3 "racc_print_states" 3 "SMTPAuthenticationError" 3 "@seed" 3 "@lib_dirs" 3 "using_each_crlf_line" 3 "write_message_0" 3 ".\\r\\n" 3 "CLEAN" 3 "@real" 3 "clobber" 3 "terminator" 3 "arg0" 3 "seq_map_shortcut" 3 "defkey" 3 "resolv" 3 "lookup_in_scope" 3 "spacing" 3 "each_message_chunk" 3 "each_list_item" 3 "fold" 3 "@apop_stamp" 3 "retr" 3 "download" 3 "# n += 1\n" 3 "DEFAULTS" 3 "# protocol.\n" 3 "serv" 3 "# File.open(\"inbox/\#{n}\", 'w') do |f|\n" 3 "resolve_args_without_dependencies" 3 "# pop.mails.each do |popmail|\n" 3 "# n = 1\n" 3 "resolve_args_with_dependencies" 3 "1.9.0" 3 "# 'YourAccount, 'YourPassword') do |pop|\n" 3 "FormatError" 3 "matching_file?" 3 "local_gems" 3 "# POP3.start('pop.example.com', 110,\n" 3 "Builder" 3 "resolve_args" 3 "@last_description" 3 "rake/tasklib" 3 "@length" 3 "@gems_to_install" 3 "@task_manager" 3 "installed_spec" 3 "CMath" 3 "development_dependencies" 3 "# ....\n" 3 "DependencyList" 3 "rubygems/doc_manager" 3 "# Provide human-readable stringification of class state.\n" 3 "log10!" 3 "apop?" 3 "tan!" 3 "tan" 3 "tanh!" 3 "tanh" 3 "@apop" 3 "EarlyTime" 3 "package_files" 3 "disable_ssl" 3 "old_length" 3 "remote" 3 "asin!" 3 "enable_ssl" 3 "asin" 3 "auth_only" 3 "exclude?" 3 "rubygems/format" 3 "add_matching" 3 "acos!" 3 "each_mail" 3 "# This method raises a POPAuthenticationError if authentication fails.\n" 3 "acos" 3 "@install_dir" 3 "resolve_add" 3 "atan!" 3 "atan2!" 3 "default_pop3_port" 3 "atan2" 3 "quick" 3 "@quick_marshal_dir" 3 "clobber_package" 3 "asinh!" 3 "asinh" 3 "# 'YourAccount', 'YourPassword') do |m|\n" 3 "fdir" 3 "# Net::POP3.delete_all('pop.example.com', 110,\n" 3 "# Net::POP3.start('pop.example.com', 110,\n" 3 "POPBadResponse" 3 "ProtoAuthError" 3 ".gemspec.rz" 3 "POPAuthenticationError" 3 "POPError" 3 "acosh!" 3 "@resolvers" 3 "WEBrickServlet" 3 "acosh" 3 "ResolvTimeout" 3 "atanh!" 3 "atanh" 3 "DefaultFileName" 3 "compact_specs" 3 "chop" 3 "@rdoc_files" 3 "$ssl" 3 "$auth" 3 "$port" 3 "partition" 3 "clobber_" 3 "rdoc_target" 3 "-o" 3 "-T" 3 "@authname" 3 "digest-uri" 3 "remove_const" 3 "(())\n" 3 "STAGE_TWO" 3 "STAGE_ONE" 3 " \" or wrong number of parameters!\")\n" 3 " raise XMLRPC::FaultException.new(-99, \"Method \#{name} missing\" +\n" 3 " s.set_default_handler do |name, *args|\n" 3 " end \n" 3 "UDPSize" 3 " a / b \n" 3 "as_list" 3 " raise XMLRPC::FaultException.new(1, \"division by zero\")\n" 3 "STATE_PASSWORD" 3 "STATE_USER" 3 "@version_requirements" 3 "512" 3 "@state" 3 " if b == 0\n" 3 " s.add_handler(\"michael.div\") do |a,b|\n" 3 "# be a Resolv::IPv4 or Resolv::IPv6\n" 3 "DNS result has no information for " 3 "LN_SUPPORTED" 3 "rake_system" 3 "TYPES" 3 " a + b\n" 3 " s.add_handler(\"michael.add\") do |a,b|\n" 3 "rake_output_message" 3 "$9" 3 "# shift_token\n" 3 " require \"xmlrpc/server\"\n" 3 "rake_check_options" 3 "\\\\([\"\\\\])" 3 "English" 3 "n_args" 3 "thread_branch" 3 "# +address+ must be a Resolv::IPv4, Resolv::IPv6 or a String. Retrieved\n" 3 "run_code" 3 "-w" 3 "body_fld_lang" 3 "body_fld_dsp" 3 "find_file" 3 "call_method" 3 "arrStructs" 3 "get_methods" 3 "last_description" 3 "@class_delim" 3 "unexpected token %s" 3 "PTR" 3 "remove_methods_etc" 3 "remove_classes_and_modules" 3 "file_base_name" 3 "headers_and_or_indices" 3 "senders" 3 "index_begin" 3 "load_error" 3 "EARLY" 3 "T_EOF" 3 "scope_name" 3 "index_end" 3 "# ----------------------------------------------------------------\n" 3 "add_question" 3 "requires" 3 " " 3 "comment=" 3 "add_comment" 3 "add_description" 3 "RCode" 3 "Section" 3 "@@sequence" 3 "dryrun" 3 "@sequence" 3 "prereq" 3 "# This method returns the duplicate table for chaining. Don't chain\n" 3 "invoke_prerequisites" 3 "# destructive methods (like []=()) this way though, since you are working\n" 3 "format_trace_flags" 3 "# with a duplicate.\n" 3 "initialize_methods_etc" 3 "initialize_classes_and_modules" 3 "# This method returns the table and is safe to chain.\n" 3 "to_delete" 3 "CNAME" 3 "arg_description" 3 "NQXMLTreeParser" 3 "Converters" 3 "gemhome" 3 "DOM" 3 "gempath" 3 "XMLTreeParser" 3 "defined_in?" 3 "HeaderConverters" 3 "@structs" 3 "@val_stack" 3 "unmatched_alias" 3 "add_alias_impl" 3 "\\W+" 3 "wrong xml-rpc (size)" 3 "rangerand" 3 "a_require" 3 "home_install_warning" 3 "path_warning" 3 "methodCall_document" 3 "methodResponse_document" 3 "RequestIDMutex" 3 "AbstractTreeParser" 3 "ary_of_objs" 3 "bind_random_port" 3 "BodyTypeBasic" 3 "find_enclosing_module_named" 3 "@tail" 3 "dsp_type" 3 "timelimit" 3 "message_id" 3 "user_bin_dir" 3 "in_reply_to" 3 "TaskArguments" 3 "Cloneable" 3 "rrv" 3 "bcc" 3 "rrgv" 3 "@application" 3 "reply_to" 3 "extract_files" 3 "io_or_str" 3 "set_writer" 3 "set_parser" 3 "MailboxQuota" 3 "load_call" 3 "RequestError" 3 "file_absolute_name" 3 "dump_call" 3 "status_code" 3 "# raw_data:: Returns the raw data string.\n" 3 "find_class_or_module_named" 3 "parse_resolv_conf" 3 "loaded_from" 3 "parse_line" 3 "keyword" 3 "send_quoted_string" 3 "DEFAULT_UPDATE_SOURCES" 3 "DEFAULT_VERBOSITY" 3 "DEFAULT_BULK_THRESHOLD" 3 "DEFAULT_BENCHMARK" 3 "DEFAULT_BACKTRACE" 3 "send_literal" 3 "@targets" 3 "block_params" 3 "RuleRecursionOverflowError" 3 "parameter" 3 "@year" 3 "@is_alias_for" 3 "0.0.0.0" 3 "default_external" 3 "validate_data" 3 "ResponseText" 3 "record_response" 3 "init_converters" 3 "col_sep" 3 "ls" 3 "ByeResponseError" 3 "@greeting" 3 "script_path" 3 "row_sep" 3 "pathmap_replace" 3 "@converters" 3 "bin_path" 3 "@write_headers" 3 "header_converters" 3 "command_names" 3 "@tagno" 3 "port_or_options" 3 "@skip_blanks" 3 "generate_bin_script" 3 "@force_quotes" 3 "thread_internal" 3 "___class___" 3 "sort_internal" 3 "pathmap_partial" 3 "sync=" 3 "copy_internal" 3 "store_internal" 3 "@downcase" 3 "DOT_PATH" 3 "formatted_program_filename" 3 "^\\." 3 "rake_extension" 3 "fetch_internal" 3 "# Usage:\n" 3 "# The data source must be open for reading.\n" 3 "search_internal" 3 "CommandManager" 3 "EXPUNGE" 3 "@id" 3 "@qr" 3 "file_count" 3 "@opcode" 3 "Abstract" 3 "@aa" 3 "@tc" 3 "@rd" 3 "@ra" 3 "@rcode" 3 "Digraph" 3 "temp_filename" 3 "compound" 3 "unconverted_fields" 3 "qr" 3 "opcode" 3 "ENABLE_MARSHALLING" 3 "@field_size_limit" 3 "ra" 3 "add_classes" 3 "convert_to_png" 3 "ENABLE_NIL_PARSER" 3 "ENABLE_NIL_CREATE" 3 "REXMLStreamParser" 3 "XMLWriter" 3 "DEFAULT_WRITER" 3 "specific_extra_args_hash" 3 "GzipWriter" 3 "system.multicall" 3 "ltail" 3 "lhead" 3 "@extra_args" 3 "is_windows" 3 "read_to_char" 3 "on_windows?" 3 "empty_marshal_data" 3 "empty_marshal_checksum" 3 "do_quote" 3 " " 3 "gen_multicall" 3 "op_type" 3 "dotfile" 3 "LOGIN" 3 "send_string_data" 3 "do_rpc" 3 "start_tls_session" 3 "common_options" 3 "dot_map" 3 "LOCK_EX" 3 "area" 3 "STARTTLS" 3 "ys" 3 "starttls" 3 "extra_args" 3 "logout" 3 "TAB2" 3 "\\\\A" 3 "8080" 3 "GRAPH_OPTS" 3 "@http_last_response" 3 "@http_header_extra" 3 "SimpleElement" 3 "ParseContentType" 3 "EMPTY_STRING" 3 "#end\n" 3 "xmlrpc/utils" 3 "xmlrpc/config" 3 "xmlrpc/create" 3 "ran_rake" 3 "xmlrpc/parser" 3 "# Calendar.\n" 3 "@dot_string" 3 "MONTHNAMES" 3 "ABBR_MONTHNAMES" 3 "@message" 3 "@code" 3 "ABBR_DAYNAMES" 3 "Sun" 3 "MarkUp" 3 "Mon" 3 "limit exceeded" 3 "# file.\n" 3 "Tue" 3 "each_byte" 3 "Wed" 3 "Thu" 3 "defaults_str" 3 "Fri" 3 "?n" 3 "cvs_url" 3 "Sat" 3 "404" 3 "401" 3 "get_labels" 3 "-@" 3 "class_dir" 3 "template_class" 3 "show_hash" 3 "get_class" 3 "304" 3 "# store.transaction do # begin transaction\n" 3 "as_href" 3 "+@" 3 "# store = PStore.new(\"data_file.pstore\")\n" 3 "# == Example:\n" 3 "204" 3 "JULIAN" 3 "HALF_DAYS_IN_DAY" 3 "build_method_summary_list" 3 "build_alias_summary_list" 3 "MJD_EPOCH_IN_AJD" 3 "accept_uri_http" 3 "@defaults" 3 "build_constants_summary_list" 3 "UNIX_EPOCH_IN_AJD" 3 "potentially_referenced_list" 3 "build_include_list" 3 "RDWR" 3 "HTTPRequestURITooLong" 3 "possibles" 3 "MJD_EPOCH_IN_CJD" 3 "build_method_detail_list" 3 "outer" 3 "inline_source" 3 "HTTPNotModified" 3 "LD_EPOCH_IN_CJD" 3 "
\\n" 3 "aref_to" 3 "diagram_reference" 3 "find_fdom" 3 "HTTPOK" 3 "metadata" 3 "add_table_of_sections" 3 "find_ldom" 3 "365.25" 3 "30.6001" 3 "0.01" 3 "weeknum_to_jd" 3 "tick" 3 "jd_to_nth_kday" 3 "jd_to_wday" 3 "# Day Number.\n" 3 "ajd_to_jd" 3 "to_r" 3 "ProtoFatalError" 3 "@@start" 3 "ProtoServerError" 3 "ProtoRetriableError" 3 "file_context" 3 "@@all_methods" 3 "@seq" 3 "leap?" 3 "supply_default_content_type" 3 "Profiler__" 3 "User-Agent" 3 "rubygems/security" 3 "meth_path" 3 "# Julian Day Number day 0.\n" 3 "new_len" 3 "proxy-authorization" 3 " server = XMLRPC::Client.new(\"www.ruby-lang.org\", \"/RPC2\", 80)\n" 3 " require \"xmlrpc/client\"\n" 3 "encode_kvpair" 3 "@ulticheck_next_squared" 3 "set_content_type" 3 "Copyright (C) 2001, 2002, 2003 by Michael Neumann (mneumann@ntecs.de)\n" 3 "sub_type" 3 "valid_time_frags?" 3 "Transfer-Encoding" 3 "is_first_line" 3 "line_num" 3 "RAND_CHARS" 3 "d2" 3 "d1" 3 "each_capitalized" 3 "#:yield: +key+\n" 3 "on_charref" 3 "last_error" 3 "initialize_http_header" 3 "HTTPHeader" 3 "Proxy-Authenticate" 3 "HTTPProxyAuthenticationRequired" 3 "101" 3 "connection_close?" 3 "end_seen" 3 "HTTPContinue" 3 "proxy_basic_auth" 3 "HTTPGenericRequest" 3 "post2" 3 "# :yield: +response+\n" 3 "# Returns the response.\n" 3 "# if desired.\n" 3 "# the caller can process it using HTTPResponse#read_body,\n" 3 "# The body of this response will not have been read yet;\n" 3 "33" 3 "# When called with a block, yields an HTTPResponse object.\n" 3 "Put" 3 "value1" 3 "errstr" 3 "header_yaml" 3 "# p response['content-type']\n" 3 "the_body" 3 "to_int" 3 "accept-encoding" 3 "ssvr" 3 "# by \"anException.response\".\n" 3 "# In version 1.1, this method might raise an exception for \n" 3 "addr_port" 3 "Regex_8Hex" 3 "edit_path" 3 "Regex_CompressedHex" 3 "Regex_6Hex4Dec" 3 "Regex_CompressedHex4Dec" 3 "FileOperations" 3 "ssl_context" 3 ") |\n" 3 "proxyclass" 3 "ProxyDelta" 3 "@is_proxy_class" 3 "create_self_signed_cert" 3 "read_new" 3 "credential" 3 "text/css" 3 "proxy?" 3 "EratosthenesGenerator" 3 "ssl_parameters" 3 "SIMPLE_LIST_RE" 3 "conn_port" 3 "_rfc3339" 3 "found_base_class" 3 "base_class" 3 "# e.g.\n" 3 "inherited_reader" 3 "_xmlschema" 3 "not numeric IPv6 address: " 3 "read_timeout=" 3 "prime?" 3 "set_debug_output" 3 "ripper/core" 3 "_httpdate" 3 "set_non_blocking" 3 "_jisx0301" 3 "\t def \#{" 3 "rss/2.0" 3 "thgroup" 3 "rss/dublincore" 3 "@close_on_empty_response" 3 "day_fraction" 3 "Stop" 3 "/dev/null" 3 "SimpleServer" 3 "# -*- ruby -*-\n" 3 "second_fraction" 3 "%:z" 3 "http_default_port" 3 "# or:\n" 3 "version_1_2?" 3 "CURRENT" 3 "HAVE_ZLIB" 3 "%q$" 3 "altshow" 3 "43" 3 "merge!" 3 "linux" 3 "_unescape" 3 " @\#{" 3 "DIRECTORIES" 3 "@tree" 3 "# :\n" 3 "unwise" 3 "original_line" 3 "@break" 3 "delims" 3 "universal" 3 "net/protocol" 3 "TrackBack" 3 "@objs" 3 "@@source_index" 3 "v6" 3 "control" 3 "wanted_level" 3 "@configuration" 3 "close_width" 3 "open_width" 3 "# :yield: date\n" 3 "QUIT" 3 "unescape_form" 3 "@post_install_hooks" 3 "@post_uninstall_hooks" 3 "@pre_uninstall_hooks" 3 "append_data" 3 "+1" 3 "@pre_install_hooks" 3 "LOGNAME" 3 "break?" 3 "break_outmost_groups" 3 "topics" 3 "topic" 3 "TAXO_ELEMENTS" 3 "current_group" 3 "FormData" 3 "parse229" 3 "parse227" 3 "report_activate_error" 3 "existing_spec" 3 "Group" 3 "png" 3 "root_group" 3 "split_header_value" 3 "@all_one_file" 3 "makepasv" 3 "to_datetime" 3 "<<-EOF" 3 "makeport" 3 "sendport" 3 "insert_index" 3 "mime_tab" 3 "hist" 3 "alternate_name" 3 "@file" 3 "slash_hit_parade" 3 "# == Bugs\n" 3 "video/mpeg" 3 "open_uri_or_path" 3 "SlashModel" 3 "@trace" 3 "@passive" 3 "image/jpeg" 3 "stop_next" 3 "decls" 3 "suspend" 3 "resume" 3 "@@test_suites" 3 "trace?" 3 "runner" 3 "set_trace_all" 3 "clear_paths" 3 "application/postscript" 3 "@assertion_count" 3 "image_formats" 3 "@report" 3 "@searcher" 3 ") [" 3 "HasPrettyPrint" 3 "config_file" 3 "puke" 3 "last_before_assertion" 3 "@feed_version" 3 "feed_subtype" 3 "feed_type" 3 "HasInspect" 3 "debug_error" 3 "@@installed_at_exit" 3 "ConfigFile" 3 "failures" 3 "1.3.1" 3 "connection_id" 3 "OverriddenStruct" 3 "_validate" 3 "captured_stderr" 3 "captured_stdout" 3 "_tags" 3 "caught" 3 "should_raise" 3 "global_variables" 3 "err_name" 3 "Generate output for use by `ri`. The files" 3 "CodeToError" 3 "Internal Server Error" 3 "display_expressions" 3 "MatchData" 3 "Paths" 3 "pname" 3 "MINI_DIR" 3 "__validate" 3 "validate_attribute" 3 "targets" 3 "tv_sec" 3 "display_expression" 3 "RUBY_RELEASE_DATE" 3 "gr" 3 "csv_integer" 3 "positive_integer" 3 "bad_response" 3 "@have_content" 3 "Skip" 3 "plural_forms" 3 "teardown" 3 "StatusMessage" 3 " return MiniTest::Spec.current.\#{" 3 "inherited_hash_reader" 3 "excn" 3 "autorun" 3 "ECONNABORTED" 3 "minitest/unit" 3 "frame_set_pos" 3 "?s" 3 "debug_funcname" 3 "check_break_points" 3 "tb" 3 "utf8" 3 "?w" 3 "need_initialize_variables" 3 "Iconv" 3 "?r" 3 "store_file" 3 "select_file" 3 "specfn" 3 "check_pretty_printed" 3 "GenericServer" 3 "pretty_print_inspect" 3 "OPS" 3 "c-call" 3 "matching_files" 3 "find_home" 3 "HOME" 3 "INT" 3 "homekey" 3 "@last_thread" 3 "orig_parse_uri" 3 "@client_cert_chain" 3 "gunzip" 3 "@client_cert" 3 "icase_checkbox" 3 "@max_thread" 3 "OP_RE" 3 "default_active" 3 "value_text" 3 "pp_hash" 3 "It's the current thread.\\n" 3 "binary?" 3 "Inflate" 3 "latest_partials" 3 "pp_object" 3 "RubyVM" 3 "location_of_caller" 3 "# Prints:\n" 3 "new_model" 3 "configure_value" 3 "parse_form_data" 3 "_read_data" 3 "append_column" 3 "SimpleDelegator" 3 "TreeViewColumn" 3 "gen" 3 "read_chunk_size" 3 "pretty_item" 3 "output_flag_file" 3 "@pretty_item" 3 "PointerFormat" 3 "Copy" 3 "get_iter" 3 "DelegateClass" 3 "paste" 3 "PRIMARY" 3 "Selection" 3 "PointerMask" 3 "0x100000000" 3 "@ruby_version" 3 "object_group" 3 "Clipboard" 3 "gpaths" 3 "iter_first" 3 "', new_value)\n end\n else\n" 3 " raise NotAvailableValueError.new('\#{" 3 "exclude_pattern" 3 "from_installed_gems" 3 "dot_doc" 3 "submenu" 3 "meta_vars" 3 "file_save" 3 "location_open" 3 "file_open" 3 "button" 3 "?e" 3 "normalize_path" 3 "const_missing" 3 "@num_classes" 3 "csv_attr_reader" 3 "@num_files" 3 "@forwarded_for" 3 "@num_modules" 3 "@forwarded_server" 3 "@script_name" 3 " attr_reader(:" 3 "SHA384" 3 "quick/" 3 "PPMethods" 3 "rubygems/version" 3 "rubygems/requirement" 3 "SHA512" 3 "expand_all" 3 "old_type" 3 "# def_exception :NewExceptionClass, \"message...\"[, superclass]\n" 3 "via" 3 "set_via" 3 " convert(@\#{" 3 "guard_inspect_key" 3 "template_include" 3 "choose_header" 3 "#vim:ts=2 sw=2 noexpandtab:\n" 3 "do_OPTIONS" 3 "fds" 3 "AttlistDecl" 3 "access_log" 3 "date_writer" 3 "convert_attr_reader" 3 "MODAL" 3 "proxy_status_line" 3 "e2mm_message" 3 "# :yield: p\n" 3 "Pixbuf" 3 "fetch_icon" 3 "size?" 3 "extract_float" 3 "extract_decimal" 3 "extract_hex" 3 "extract_octal" 3 "extract_integer" 3 " @\#{" 3 "credentials" 3 "proxy_request_line" 3 "attlistdecl" 3 "WEBrickSocket" 3 "proxy_auth" 3 "nil_proc" 3 "count_space?" 3 "CONTAINER_TYPES" 3 "@via" 3 "FakeProxyURI" 3 "NullReader" 3 "ICON_COL" 3 "iconv" 3 "PercentLine" 3 "_basic_auth" 3 "@scanner_map" 3 "first_elem" 3 "cookie_elem" 3 "relpath_names" 3 "([" 3 "dest_directory" 3 "GeneratorError" 3 "ParserError" 3 "parse_set_cookie" 3 "generator_methods" 3 "=\"" 3 "'" 3 "?%" 3 "@max_age" 3 "irb\\.rb" 3 "%r!" 3 "CData" 3 "@matched" 3 "EOF\n" 3 "with_directory" 3 "< (current maintainer)\n" 3 "Down" 3 "segment" 3 "attr_val" 3 "valid?" 3 "pchar" 3 "tcp_acl" 3 "druby://" 3 "RETR " 3 "addr_mask" 3 "retrbinary" 3 "families" 3 "verify_trust_dir" 3 "open_server_inaddr_any" 3 "hexseq2" 3 "gethostbyname" 3 "mask!" 3 "# e.g.:\n" 3 "ipv4addr" 3 "other_addr" 3 "other_family" 3 "Subtitle" 3 "# The DRbProtocol module asks each registered protocol in turn to\n" 3 "end_addr" 3 "Logo" 3 "make_proxy" 3 "OpenRead" 3 "UNILE" 3 "extract" 3 "DRbArray" 3 "scheme_list" 3 "PUBIDCHAR" 3 "SYSTEMLITERAL" 3 "%Q{" 3 "qval" 3 "))" 3 "LockModeFailer" 3 "content_type_parse" 3 "dummy" 3 "subtitle" 3 "REL_URI" 3 "# net_path = \"//\" authority [ abs_path ]\n" 3 "EXTERNALID" 3 "?=" 3 "# abs_path = \"/\" path_segments\n" 3 "\\\\s+" 3 "link_infos" 3 "RE_QUOTED_STRING" 3 "}n" 3 "webrick" 3 "ASCII_8BIT" 3 "# URI-reference = [ absoluteURI | relativeURI ] [ \"#\" fragment ]\n" 3 "DateConstruct" 3 "ABS_URI" 3 "sync_initialize" 3 "ENTITYVALUE" 3 "@base_uri" 3 "PersonConstruct" 3 "open-uri" 3 "0xff" 3 "Server" 3 "allow" 3 "__END__\n" 3 "@RELEASE_VERSION" 3 "@LAST_UPDATE_DATE" 3 "allow_socket?" 3 "daemon" 3 "ACLList" 3 "dot_pat" 3 "DoNotListen" 3 "IRB_RC" 3 "SIGINT" 3 "signal_handle" 3 "application/x-gzip" 3 "setup_maker_element_writer" 3 "HEX" 3 "\\.gz$" 3 "need_parent?" 3 "entity_reference" 3 "irb_abort" 3 "sync_try_lock_sub" 3 "meta_add_field" 3 "@members" 3 "perma" 3 "set_ctypes" 3 "_PermaLink?" 3 "ExtendCommandBundle" 3 "selector" 3 "new_class" 3 "continue" 3 "@@namespace_context" 3 "install_date_element" 3 "@@variables" 3 "add_padding" 3 "prompt_i" 3 "local_name" 3 "set_input" 3 "signal_status" 3 "start_export" 3 "@opts" 3 "back_trace_limit" 3 "add_file" 3 "ALIGN_LONG_LONG" 3 "back_path" 3 "Store" 3 "VERIFY_PEER" 3 "Daemon" 3 "back_name" 3 "back_workspace" 3 "back_io" 3 "net/https" 3 "back_context" 3 "fork" 3 "pid_cv" 3 "CUnion" 3 "target_port" 3 "target_host" 3 "open_http" 3 "CStruct" 3 "uri2" 3 "uri1" 3 "CStructBuilder" 3 "string_value" 3 "deprecated" 3 "pid_mutex" 3 "ruby_index" 3 "buffer_open" 3 "pipe_peer_in" 3 "uri_set" 3 "pxy" 3 "symname" 3 "pipe_peer_out" 3 "@spec_dirs" 3 "new_category" 3 "RDONLY" 3 "callback_type" 3 "infinite_length" 3 "TerminateLineInput" 3 "return_format" 3 "%s=%s" 3 "curr_ver" 3 "from_char" 3 "xml:lang" 3 "Importer" 3 "@job_condition" 3 "@handlers" 3 "@carrier" 3 "# == License\n" 3 "block_output_synchronize" 3 "unbind_at_call" 3 "Sync" 3 "@ProcessControllersCV" 3 "@ProcessControllersMonitor" 3 "check_safe_obj" 3 "ValueUtil" 3 "unsigned char" 3 "*FILENAMES" 3 "not_need_to_call_setup_maker_variables" 3 "^\\*" 3 "JIS" 3 "each_recursive" 3 "parse_signature" 3 "rexml/encoding" 3 "date=" 3 "open_uri_original_open" 3 "install_" 3 "encd" 3 "UTF16" 3 "parse_struct_signature" 3 "changed" 3 "remove_cdecl_callback" 3 "UTF32" 3 "# @return the parent (self)\n" 3 "outdateds" 3 "find_matching" 3 "warn_legacy" 3 "failure" 3 "make_tmpname" 3 "remove_callback_internal" 3 "set_cdecl_callback" 3 "SourceInfoCache" 3 "arg_str" 3 "def_builtin_commands" 3 "fetch_quick_index" 3 "set_callback_internal" 3 "textInput" 3 "# begin\n" 3 "to_replace" 3 "rev" 3 "digest!" 3 "@ipad" 3 "@clean_proc" 3 "0x5c" 3 "Severity" 3 "mu_initialize" 3 "opad" 3 "0x36" 3 "ipad" 3 "Define " 3 " path: " 3 "level=" 3 "\t(\#{" 3 "mon_exit" 3 "rss/parser" 3 "mon_enter" 3 "\\A\\s*(" 3 "\t(z|[-+]\\d{2}:\\d{2})?\\s*\\z/ix" 3 "_parse_ddd" 3 "_parse_mday" 3 "_parse_mon" 3 "36" 3 "mon_initialize" 3 " End\n" 3 "_parse_year" 3 " def on_" 3 "close!" 3 "_parse_dot" 3 "_parse_sla" 3 "_parse_vms" 3 "_parse_jis" 3 "tmpfile" 3 "_parse_iso2" 3 "cleanlist" 3 "_parse_iso" 3 "_parse_us" 3 "_parse_eu" 3 "_parse_time" 3 "_parse_day" 3 "waiters0" 3 "@progname" 3 "_merid" 3 "Formatter" 3 "find_system_command" 3 "latest_system_cache_file" 3 "\\A( \\d|\\d{1,2})" 3 "latest_" 3 "SystemCommand" 3 "latest_user_cache_file" 3 "fatal" 3 "seed" 3 "#\t \n" 3 "@datetime_format" 3 "SizedQueue" 3 "EC" 3 "@shift_size" 3 "map_token" 3 "emit_z" 3 "APPEND" 3 "#\t path: String\n" 3 "previous_period_end" 3 "43200" 3 "%Y%m%d" 3 "appname" 3 "add_delegate_command_to_shell" 3 "NoDelegateMethods" 3 "1800" 3 "sat" 3 "dec" 3 "to_filename" 3 "AppendIO" 3 "other2" 3 "tw" 3 "__" 3 "start_pos" 3 "IOSource" 3 "join_nowait" 3 "(tok)\n" 3 "gmtime" 3 "read_cache_data" 3 "next_wait" 3 "latest_cache_file" 3 "ZoneOffset" 3 "@cat_files" 3 "try_file" 3 "@orig" 3 "DLDFLAGS" 3 "asciicompat" 3 "G" 3 "H" 3 "Cat" 3 "# require 'ripper'\n" 3 "new_si" 3 "shell/filter" 3 "tokenize" 3 "from_prime_division" 3 "V" 3 "unescapeHTML" 3 "X" 3 "Y" 3 "read_all_cache_data" 3 "byte_a" 3 ".new" 3 "@mediator" 3 "all_sice" 3 "# cgi = CGI.new(\"html4\")\n" 3 "cgi" 3 "$makefile_created" 3 "ranlib" 3 "TestRunner" 3 "@__col" 3 "@__line" 3 "OPTION" 3 "@__lexer" 3 "LI" 3 "tv_usec" 3 "DD" 3 "# Copyright (c) 2004,2005 Minero Aoki\n" 3 "DT" 3 "compare_by_row_vectors" 3 "HTML" 3 "MonthValue" 3 ")\\z" 3 "COMPILE_C" 3 "# O O or - O\n" 3 "COMPILE_CXX" 3 "META" 3 "vij" 3 "INPUT" 3 "HR" 3 "PARAM" 3 "LINK" 3 "AREA" 3 "BR" 3 "BASE" 3 "IMG" 3 "PARSER_EVENT_TABLE" 3 "PARSER_EVENTS" 3 "VALID_XML_CHARS" 3 "RFC2822_DAY_NAME" 3 "RFC2822_MONTH_NAME" 3 "BLOCKQUOTE" 3 ") " 3 "FORM" 3 "COPY" 3 "H6" 3 "Jul" 3 "H5" 3 "H4" 3 "H3" 3 "transpose" 3 "UL" 3 "OL" 3 "j0" 3 "PRE" 3 "DIV" 3 "KBD" 3 "SAMP" 3 "45" 3 "1999" 3 "STRONG" 3 "40" 3 "sodir" 3 "EM" 3 "SUP" 3 "SUB" 3 "SMALL" 3 "BIG" 3 "TT" 3 "submit" 3 "# radio_group(\"NAME\" => \"name\",\n" 3 "' in raw string \\\"" 3 "multiple" 3 "$(RUBYARCHDIR)/" 3 "$LIBRUBYARG" 3 "@all" 3 "popup_menu" 3 "# # foo\n" 2 "# # baz\n" 2 "spec_tuple" 2 "rej" 2 "# # \n" 2 "@dir" 2 "fetcher=" 2 "CALLER_OFFSET" 2 "^(?!--)" 2 "# Doing it like this rather than in a loop improves the speed\n" 2 "ExitException" 2 "CONFIGURE_ARGS" 2 "configure_args" 2 "tv_nsec" 2 "alert" 2 "ACTION" 2 "2000-01-01T00:00:00.123456789+00:00" 2 "dllib" 2 "123456789" 2 "# # \n" 2 "StreamUI" 2 "# # \n" 2 "# # \n" 2 "in_stream" 2 "new_line" 2 "indent_string" 2 "err_stream" 2 "indentfirstline" 2 "2000-01-01T00:00:00.5+00:00" 2 "# # \n" 2 "# # \n" 2 "addnewline" 2 "$(TARGET)." 2 "qstr" 2 "500000" 2 "staticlib" 2 "2008" 2 "each2" 2 "Sat, 01 Jan 2000 00:00:00 +0000" 2 "Sat, 01 Jan 2000 00:00:00 -0000" 2 "ALT" 2 "# t.value #-> \"< & sean russell\"\n" 2 "# # \"alt\"\n" 2 "Sat, 01 Jan 2000 00:00:00 GMT" 2 "Numeric or Scalar or Matrix" 2 "Wen, 3 oct 2001 23:17:49 -0400" 2 "# # \n" 2 "# u = Text.new( \"sean russell\", false, nil, true )\n" 2 "# # \n" 2 "# t.to_s #-> \"< & &s; russell\"\n" 2 "# t = Text.new( \"< & sean russell\", false, nil, false, ['s'] ) \n" 2 "# # entity \"r\" is defined to be \"russell\"\n" 2 "# # Assume that the entity \"s\" is defined to be \"sean\", and that the \n" 2 "Numeric or Scalar" 2 "# # \n" 2 "# # \n" 2 "# # \n" 2 "period" 2 "$(TARGET)" 2 "to_append" 2 "MULTIPLE" 2 "# Overrides Object#inspect\n" 2 "# Overrides Object#to_s\n" 2 "?&" 2 "@period" 2 "Illegal character '" 2 "radio" 2 "# # foo\n" 2 "# # baz\n" 2 " in raw string \\\"" 2 "Illegal character " 2 "35" 2 "create_entry" 2 "# PRINTING -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n" 2 "cols" 2 "SilentProgressReporter" 2 "SimpleProgressReporter" 2 "VerboseProgressReporter" 2 "@entity_filter" 2 "elements_to_r" 2 "elements_to_i" 2 "\\$\\*" 2 "STRIKE" 2 "$(DLLIB)" 2 "249" 2 "123456" 2 "2001-04-17T19:23:17.3Z" 2 "300000" 2 "39" 2 "CODE" 2 "1995" 2 "install-so: " 2 "VAR" 2 "elements_to_f" 2 "ADDRESS" 2 "\\t@-$(RM) " 2 "center" 2 "# Prints out the terminal message.\n" 2 "1969" 2 " can't be coerced into " 2 "keep_clean" 2 "\\t@-$(RMDIRS) " 2 "1976" 2 "DIR" 2 "MENU" 2 "i0" 2 "%s%02d:%02d" 2 "H1" 2 "need_keeper?" 2 "%09d" 2 "\\t@echo " 2 ">>$(INSTALLED_LIST)\\n" 2 "TEXTAREA" 2 "# TODO - Remove this gunk after 2008/11\n" 2 "clean-rb" 2 "# => 2\n" 2 "invalid date: " 2 "# Matrix[[7,6], [3,9]].rank\n" 2 "determinant_e" 2 "sum_data" 2 "ii" 2 "determinant" 2 "# Matrix[[7,6], [3,9]].determinant\n" 2 "::\\n" 2 "\\n\\t%s\\n\\n" 2 "BASEFONT" 2 "# Returns the determinant of the matrix. If the matrix is not square, the\n" 2 "SCANNER_EVENT_TABLE" 2 " \\s*\\z/ix" 2 " \\s*\\z/ix" 2 "verify_gem_file" 2 "find_files_for_gem" 2 "# class cannot represent specified date.\n" 2 " def on_" 2 "inverse_from" 2 " \#{" 2 "\n end\n" 2 " End\n" 2 "# _fmt_ and _args_ is printf style.\n" 2 "# block. For example:\n" 2 "# of each row.\n" 2 "# Returns the number of enumerated Enumerable objects, i.e. the size\n" 2 "# ARITHMETIC -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n" 2 "enums" 2 "# If a block is given, the year described in +date+ is converted by the\n" 2 ")\\n\\t" 2 "SyncEnumerator" 2 "1970" 2 "reset_cache_for" 2 "RANLIB" 2 "DFN" 2 "ABBR" 2 "remove_leading_dot_dir" 2 "ACRONYM" 2 "SPAN" 2 "BDO" 2 "OBJECT" 2 "DEL" 2 "LABEL" 2 "regular?" 2 "OPTGROUP" 2 "BUTTON" 2 "TABLE" 2 "potential_directory" 2 "STYLE" 2 "THEAD" 2 "TFOOT" 2 "TBODY" 2 " COLGROUP" 2 "TR" 2 "new_sice" 2 "TH" 2 "TD" 2 "# This method is valid only in event handlers.\n" 2 "# the following methods:\n" 2 "# require 'cgi'\n" 2 "# require 'cgi/session'\n" 2 "CommonYearMonthDays" 2 "# session.close\n" 2 "@suite" 2 "LeapYearMonthDays" 2 "add_fault" 2 "init_method" 2 "correct?" 2 "row_vector" 2 "diagonal" 2 "# -1 66\n" 2 "# => 25 93\n" 2 "# String representations:\n" 2 "# Conversion to other data types:\n" 2 "FileStore" 2 "# * Matrix.scalar(n, value) \n" 2 "session_path" 2 "# == Method Catalogue\n" 2 "ErrNotRegular" 2 "wrong argument type %s (expected %s)" 2 "# the filename for this session's FileStore file.\n" 2 "e2mmap.rb" 2 "uninitialized session" 2 "# @return the current line in the source\n" 2 "# \t$Release Version: 1.0$\n" 2 "all_data" 2 ">>=" 2 "consume" 2 "on_default" 2 "# +session+ is the session this instance is associated with.\n" 2 "# +option+ is a list of initialisation options. None are\n" 2 "# currently recognised.\n" 2 "# Update session state.\n" 2 "#\treturn a**Rational(1,2)\n" 2 "# Close session storage.\n" 2 "# Delete the session state.\n" 2 "TABLE_FOR_ESCAPE_HTML__" 2 "added_platform" 2 "init_mkmf" 2 "$enable_shared" 2 "ENABLE_SHARED" 2 "wait?" 2 "Echo" 2 "\\A#0*(\\d+)\\z" 2 "\\A#x([0-9a-f]+)\\z" 2 "repo" 2 "write_cache" 2 "compatible?" 2 "LIBEXT" 2 "OBJEXT" 2 "ISO_8859_1" 2 "# # \"
<A HREF="url"></A>\"\n" 2 "escapeElement" 2 "# print CGI::unescapeElement(\n" 2 "# # \"<BR>\"\n" 2 "unescapeElement" 2 "DLDLIBS" 2 "Glob" 2 "LIBRUBYARG_STATIC" 2 "# [EXPERIMENTAL]\n" 2 "LIBRUBYARG_SHARED" 2 "\\n(?!\\z)" 2 "# The name of the user cache file.\n" 2 "SourceFactory" 2 "may" 2 "ErrNoFinishedThread" 2 "# @p comment The content of the comment\n" 2 "# Called when a comment is encountered.\n" 2 "AppendFile" 2 "ErrNoWaitingThread" 2 "Tee" 2 "# @p standalone the standalone attribute value, or nil. EG, nil\n" 2 "# @p encoding the encoding attribute value, or nil. EG, \"utf\"\n" 2 "# @p version the version attribute value. EG, \"1.0\"\n" 2 "# EG: \n" 2 "# Called when an XML PI is encountered in the document.\n" 2 "@to_filename" 2 "# @p content \"...\"\n" 2 "# Called when is encountered in a document.\n" 2 "notationdecl" 2 "# \n" 2 "Concat" 2 "entitydecl" 2 "# [\"hatch-pic\", \"SYSTEM\", \"\\\"../grafix/OpenHatch.gif\\\"\", \"\\n\\t\\t\\t\\t\\t\\t\\tNDATA gif\", \"gif\"]\n" 2 "# \n" 2 "# [\"open-hatch\", \"PUBLIC\", \"\\\"-//Textuality//TEXT Standard open-hatch boilerplate//EN\\\"\", \"\\\"http://www.textuality.com/boilerplate/OpenHatch.xml\\\"\"]\n" 2 "# \n" 2 "# [\"open-hatch\", \"SYSTEM\", \"\\\"http://www.textuality.com/boilerplate/OpenHatch.xml\\\"\"]\n" 2 "# \n" 2 "# [\"WhatHeSaid\", \"\\\"He said %YN;\\\"\", \"YN\"]\n" 2 "# \n" 2 "# [\"%\", \"YN\", \"'Yes'\", \"s\"]\n" 2 "# \n" 2 "# [\"%\", \"YN\", \"'\\\"Yes\\\"'\", \"\\\"\"]\n" 2 "# \n" 2 "# returns (example, result):\n" 2 "# declaration. It can be in a number of formats, but in general it\n" 2 "# The argument passed to this method is an array of the entity\n" 2 "# \n" 2 "elementdecl" 2 "# \n" 2 "contents" 2 "# methods.\n" 2 "# attr CDATA #REQUIRED\". This is the same for all of the .*decl\n" 2 "# EG, will come to this method as \"el\n" 2 "# method to be called. The content is the declaration itself, unparsed.\n" 2 "# If a doctype includes an ATTLIST declaration, it will cause this\n" 2 "long_name" 2 "pub_sys" 2 "# @p uri the uri of the doctype, or nil. EG, \"bar\"\n" 2 "# @p long_name the supplied long name, or nil. EG, \"foo\"\n" 2 "# @p pub_sys \"PUBLIC\", \"SYSTEM\", or nil. EG, \"PUBLIC\"\n" 2 "# @p name the name of the doctype; EG, \"me\"\n" 2 "# not supplied will be nil. # EG, \n" 2 "# Handles a doctype declaration. Any attributes of the doctype which are\n" 2 "LIBRUBYARG" 2 "@jobs" 2 "# \t$Revision: 20880 $\n" 2 "localname" 2 "# each thread termination.\n" 2 "set_log" 2 "token_match" 2 "TokenPattern" 2 "install_builtin_commands" 2 "FailedMessage" 2 "# if a block is supplied for the method, evaluates it for\n" 2 "#\t path:\t String\n" 2 "34200" 2 "# def run\n" 2 "@re" 2 "39600" 2 "shift_log_period" 2 "match_list" 2 "map_tokens" 2 "shift_log_age" 2 "12600" 2 "# waits until all of specified threads are terminated.\n" 2 "add_log_header" 2 "#\tSame as:\n" 2 "mkmf_failed" 2 " \t" 2 "# have to parse them out yourself.\n" 2 "# processed; REXML doesn't yet handle doctype entity declarations, so you \n" 2 "# Note that the declarations (attlistdecl, elementdecl, etc) are trivially\n" 2 "# A template for stream parser listeners.\n" 2 "check_shift_log" 2 "@user_cache_file" 2 "open_logfile" 2 "@system_cache_file" 2 "#\tsame as:\n" 2 "$make" 2 "Ec" 2 "COPYRIGHT" 2 "%a %b %e %H:%M:%S %Y" 2 "LogDeviceMutex" 2 "Od" 2 "Oe" 2 "msg2str" 2 "OH" 2 "OI" 2 "OM" 2 "Om" 2 "%H:%M" 2 "%I:%M:%S %p" 2 "OS" 2 "format_datetime" 2 "OU" 2 "OW" 2 "Ou" 2 "OV" 2 "%e-%b-%Y" 2 "Ex" 2 "EY" 2 "Ey" 2 "Oy" 2 "hh" 2 "num_waiting" 2 "#\texample:\n" 2 "parse_args" 2 "%a %b %e %H:%M:%S %Z %Y" 2 "asctime" 2 "2405160" 2 "2419614" 2 "1867" 2 "2424875" 2 "1911" 2 "1925" 2 "1988" 2 "SEV_LABEL" 2 "\\Aon_" 2 "# Returns the number of threads waiting on the queue.\n" 2 "\\A\\d" 2 "# # ...\n" 2 "format_severity" 2 "# === Return\n" 2 "LogDevice" 2 "# The name of the latest user cache file.\n" 2 "non_block" 2 "\\A([-+]?\\d{1,4})" 2 "# enable tainted comunication\n" 2 "# The name of the system cache file.\n" 2 "COMMON_MACROS" 2 "\\A(-?\\d{1,})" 2 "\\A(\\d{1})" 2 "%=" 2 "# 5.times do |i|\n" 2 "bc" 2 "wait_all_jobs_execution" 2 "1048576" 2 "# FIXME: This isn't documented in Nutshell.\n" 2 "transact" 2 " true\n" 2 "mon_exit_for_cond" 2 "\t\t/ix" 2 "mon_enter_for_cond" 2 "\t\t/iox" 2 "# mutex.synchronize {\n" 2 "# require 'thread'\n" 2 "# nil,\n" 2 "# keep this order for thread safeness\n" 2 "era" 2 "SexpBuilderPP" 2 "ancestor" 2 ")[^-]*\n" 2 "undefine_finalizer" 2 "SexpBuilder" 2 "unlink_now" 2 "\t\t\t\t\t\t\t\t\t\t\t\t" 2 "# === Description\n" 2 "mon_try_enter" 2 "try_mon_enter" 2 "# === Args\n" 2 " [:@\#{" 2 "# === Synopsis\n" 2 "\t(z|[-+]\\d{2}(:?\\d{2})?)?)?\\s*\\z/ix" 2 "\t(z|[-+]\\d{2}(\\d{2})?)?)?\\s*\\z/ix" 2 "fatal?" 2 ", tok, [lineno(), column()]]\n end\n" 2 "\t\t\t\t\t\t\t" 2 "fetch_single_spec" 2 "dictionary" 2 "warn?" 2 "\tgmt\\s*\\z/iox" 2 "\t\t\t\t\t\t\t\t\t\t\t" 2 "mon_synchronize" 2 "warn: Can't define " 2 "# Copyright (c) 2006 Akinori MUSHA \n" 2 "digester" 2 ".rz" 2 "zipped_index" 2 "# ex)\n" 2 "Monitor" 2 "mu_extended" 2 " Marshal." 2 " @shell.__send__(:\#{" 2 "rss_version" 2 "rexml/functions" 2 "ShiftingError" 2 "ProgName" 2 "fetch_index_from" 2 " $" 2 "fetch_bulk_index" 2 "@opad" 2 " command: " 2 "new_index" 2 "yugui" 2 "Id:" 2 "%w$" 2 "update_with_missing" 2 "deep_clone" 2 "# === Features\n" 2 "@bitlen" 2 "# def update(time, price) # callback for observer\n" 2 "find_missing" 2 "SEM" 2 "remove_extra" 2 "# Current price: 134\n" 2 "delegation_class" 2 "command_specs" 2 "Observable" 2 "call_arg_str" 2 "cannot generate tempfile `%s'" 2 "CdeclCallbackProcs" 2 "CdeclCallbackAddrs" 2 "set_stdcall_callback" 2 "# Convert self to locale encoding\n" 2 "# out_code and in_code are given as constants of Kconv.\n" 2 "# @param child2 the child to insert\n" 2 "# the xpath.\n" 2 "StdcallCallbackProcs" 2 "StdcallCallbackAddrs" 2 "# @param child1 this is either an xpath or an Element. If an Element,\n" 2 "rubygems/source_info_cache" 2 "@@lock" 2 "warn: alias Shell#" 2 "delete_observer" 2 "alias " 2 "skipDays" 2 "remove_stdcall_callback" 2 "CParser" 2 "skipHours" 2 "_org " 2 "have_children" 2 "(*args, &block)\n\t\t\t begin\n" 2 ", *args, &block)\n\t\t\t rescue Exception\n\t\t\t $@.delete_if{|s| /:in `__getobj__'$/ =~ s} #`\n\t $@.delete_if{|s| /^\\\\(eval\\\\):/ =~ s}\n\t\t\t raise\n\t\t\t end\n" 2 "msig" 2 " end]" 2 "ASCII" 2 "notify_observers" 2 "real_IO" 2 "pubDate=" 2 "\\[(\\d+)\\]" 2 "\\s*\\[\\d+\\]" 2 "\\[\\]" 2 "\\s*\\[\\]" 2 "NOCONV" 2 "# the method is called with the rest arguments.\n" 2 "target_skips" 2 "new_target" 2 "parent?" 2 " \t\t\t\t" 2 "AUTO" 2 "normal_delegation_file_methods" 2 "new_" 2 "MAX_TRY" 2 "json/ext" 2 "# f.each_line {|line| p line}\n" 2 "VARIANT_BINARY" 2 "unsigned short" 2 "FILENAME_O" 2 "FILENAME_N" 2 "json/version" 2 "# {\n" 2 "# class Range\n" 2 "unsupported type: " 2 "# JSON.parse json\n" 2 "# json = JSON.generate [1, 2, {\"a\"=>3.141}, false, true, nil, 4..10]\n" 2 "# 7 GeneratorBenchmarkPure#generator_pretty 1000 repeats:\n" 2 "# 6 GeneratorBenchmarkPure#generator_safe 1000 repeats:\n" 2 "# 5 GeneratorBenchmarkRails#generator 1000 repeats:\n" 2 "# 4 GeneratorBenchmarkPure#generator_fast 1000 repeats:\n" 2 "unknown type: " 2 "# 3 GeneratorBenchmarkExt#generator_pretty 900 repeats:\n" 2 "# Author:: Tanaka Akira \n" 2 "# 2 GeneratorBenchmarkExt#generator_safe 1000 repeats:\n" 2 "# 1 GeneratorBenchmarkExt#generator_fast 1000 repeats:\n" 2 "# Comparing times (call_time_median):\n" 2 "# 2 ParserBenchmarkYAML#parser 1000 repeats:\n" 2 "# 1 ParserBenchmarkExt#parser 900 repeats:\n" 2 "@unsigned" 2 "gem_full_name" 2 "rubygems/digest/sha2" 2 "ssl_verify_mode" 2 "wrap_args" 2 "@BlockOutputMonitor" 2 "sync_iv" 2 "wrap_result" 2 "# Comparing times (call_time_mean):\n" 2 "each_active_object" 2 "block must be given." 2 "\\?>" 2 "ftp_active_mode" 2 "wait_to_finish_all_process_controllers" 2 "remove_spec" 2 "# == Author\n" 2 " \t\t" 2 "unsupported calltype: " 2 "unbind" 2 "bound?" 2 "json/common" 2 "TempFunction" 2 "CarriedFunction" 2 "gem_specs" 2 "vvv" 2 "CompositeHandler" 2 "kkk" 2 "registerProcedure" 2 "add_specs" 2 "check_options" 2 "handles" 2 "active_jobs" 2 "lang2" 2 "lang1" 2 "compare_language" 2 "scan_open_optional_arguments" 2 "vv" 2 "result_spec" 2 "kk" 2 "add_schedule" 2 "alias_type" 2 "orig_type" 2 "__to_s__" 2 "open_uri" 2 "spec_file" 2 "waiting_job?" 2 "active_job?" 2 "inspect?" 2 "tr2" 2 "tr1" 2 "terminate_job" 2 "signal_status_back" 2 "IN_LOAD" 2 "@enclosure" 2 "carried" 2 "temporal" 2 "spec_files" 2 "load_gems_in" 2 "sfork" 2 "pipe_me_in" 2 "carrier" 2 "open_loop" 2 "load_specification" 2 "open_uri_redirect" 2 "import_function" 2 " @func_map['\#{" 2 "'].call(*args,&block)\n end\n" 2 "HTTPRedirect" 2 "pipe_me_out" 2 "bind_function" 2 "create_temp_function" 2 "create_carried_function" 2 "installed_spec_directories" 2 "# Fixed by Mike Stok\n" 2 "redirectable?" 2 " -> " 2 "\\A(?:http|ftp)\\z" 2 "autoload" 2 "create_value" 2 " value" 2 "TERM" 2 "mount_dir" 2 "ignore_sigint?" 2 "mount_point" 2 "/latest_specs." 2 "/specs." 2 "/Marshal." 2 "@li" 2 "\\tfrom " 2 "is_first" 2 "Textinput" 2 "\t\t\t " 2 "sync_unlock" 2 "resources" 2 "start_import" 2 "echo?" 2 "output_value" 2 "IN_EVAL" 2 "each_top_level_statement" 2 "ap_name" 2 "ignore_eof?" 2 "IN_INPUT" 2 "@Seq" 2 "set_default_paths" 2 "rdoc_installed" 2 "auto_indent_mode" 2 "@types" 2 "l!*" 2 "prompting?" 2 "has_deps" 2 "q*" 2 "prompt_n" 2 "prompt_c" 2 "variables=" 2 "only_one_executable" 2 "/rdoc/index.html" 2 "doc_path" 2 "prompt_s" 2 "_setup_maker_element" 2 "set_prompt" 2 "exception_on_syntax_error" 2 "IN_IRB" 2 "@guid" 2 "marshal_format" 2 "assign_names" 2 "reject_pat" 2 "# You can redistribute it and/or modify it under the same term as Ruby.\n" 2 "PermaLink?" 2 "sync_lock" 2 "# RFC 2396 (URI Generic Syntax)\n" 2 "# RFC 2732 (IPv6 Literal Addresses in URL's)\n" 2 "no such member: " 2 "# RFC 2373 (IPv6 Addressing Architecture)\n" 2 "abort then interrupt!!" 2 "# 301\n" 2 "inherit" 2 "ClassMethods" 2 "ATOM" 2 "void*" 2 "char*" 2 "S!" 2 "I!" 2 "L!" 2 "q!" 2 "PEREFERENCE_RE" 2 "Q!" 2 "C*" 2 "Z$" 2 "text_type" 2 "ACLEntry" 2 "# 302\n" 2 "@daemon" 2 "](?:[-" 2 "dot_pat_str" 2 "gem_dir" 2 "]*[" 2 "ALLOW_DENY" 2 "])?)" 2 "CurrentContext" 2 "# hostname = *( domainlabel \".\" ) toplabel [ \".\" ]\n" 2 "install_list" 2 "# 303\n" 2 "\\\\.)*" 2 "\\\\.?" 2 "permission" 2 "RDOC_CSS" 2 "# 307\n" 2 "Abort" 2 "reference" 2 "loc_uri" 2 "DOC_TEMPLATE" 2 "deny" 2 " allow" 2 "192.168.1.3" 2 "%.32x" 2 "# ==== Server code\n" 2 "StringMax" 2 "# $SAFE = 1 # disable eval() and friends\n" 2 "# DRb.start_service(URI, FRONT_OBJECT)\n" 2 "# DRb.thread.join\n" 2 "# ==== Client code\n" 2 "ENTITYDECL" 2 "# SERVER_URI=\"druby://localhost:8787\"\n" 2 "GEDECL" 2 "\\\\s*>" 2 "# DRb.start_service\n" 2 "PEDECL" 2 "# capabilities.\n" 2 "|(?:" 2 "ENTITYDEF" 2 "PEDEF" 2 "in6_addr" 2 "initialize_pattern" 2 "initialize_regexp" 2 "invalid length" 2 "install_have_attribute_element" 2 "sync_extend" 2 "meta_setup_encoding" 2 "NDATADECL" 2 "hreflang" 2 "# opaque_part = uric_no_slash *uric\n" 2 "RE_PARAMETERS" 2 "@algo" 2 "icon" 2 "logo" 2 "?)*" 2 "PUBIDLITERAL" 2 "# relativeURI = ( net_path | abs_path | rel_path ) [ \"?\" query ]\n" 2 "# It is downcased for canonicalization.\n" 2 "prev_dc_dates" 2 "DRbServerNotFound" 2 "dc_dates" 2 "# rel_path = rel_segment [ abs_path ]\n" 2 "# (see RFC2396 Section 5.2)\n" 2 "DRbUnknownError" 2 "\\xff\\xfe" 2 "\\xfe\\xff" 2 "@unknown" 2 "check_encoding" 2 "# X\n" 2 "DRbRemoteError" 2 "# Y\n" 2 "iso-8859-1" 2 "tty_output_state" 2 "enc_file" 2 "@ary" 2 "}o" 2 "DRbMessage" 2 "@load_limit" 2 "old_verbosity" 2 "ABS_URI_REF" 2 "load_limit" 2 "content_coding" 2 "@argc_limit" 2 "UTF_16" 2 "argc_limit" 2 "# If two or more transfer is done by HTTP redirection, the procedure\n" 2 "# Returns a string containing a human-readable representation of the\n" 2 "UNSAFE" 2 "# is called only one for a last transfer.\n" 2 "us" 2 "connection closed" 2 "uc" 2 "begin_addr" 2 "domlabel" 2 "toplabel" 2 "not an IPv6 address" 2 "ip6_arpa" 2 "0xffff00000000" 2 "not an IPv4 address" 2 "ipv4_mapped" 2 "# [close]\n" 2 "uric_no_slash" 2 "# Returns a new ipaddr built by converting the native IPv4 address\n" 2 "ipv4_compat?" 2 "email_addr" 2 "# URI by raising a DRbBadScheme error. If no protocol recognises the\n" 2 "# http_proxy is safe to use because ENV is case sensitive.\n" 2 "i_cert" 2 "published" 2 "# configuration +config+.\n" 2 "lastpart" 2 "# Parse +uri+ into a [uri, option] pair.\n" 2 "check_parent" 2 "hexseq1" 2 ":)*" 2 "i_key" 2 "[\\r\\n]" 2 "build_cert" 2 "passive" 2 "infos" 2 "getaddrinfo" 2 "ipv6addr" 2 "SOCK_STREAM" 2 "AI_PASSIVE" 2 "CWD " 2 "tcp_original_host" 2 "RCS_ID" 2 "tcp_port" 2 "ipv6ref" 2 "sign_cert" 2 "n8" 2 "ntop" 2 "inline_other_text?" 2 "IN6FORMAT" 2 "hostport" 2 "# require 'ipaddr'\n" 2 "getaddress_orig" 2 "normalized_mime_type" 2 "# Author:: Yukihiro Matsumoto\n" 2 "valid_v6?" 2 "Thread not available for this ruby interpreter" 2 "# Usage:\n" 2 "captures" 2 "path_segments" 2 "inline_other_base64?" 2 "Middle" 2 "# Contact:\n" 2 "REG_NAME" 2 "myPort" 2 "with_friend" 2 "DRbConn" 2 "# require \"open3\"\n" 2 "//" 2 "prepare_backtrace" 2 "hier_part" 2 "xml:base" 2 "POOL_SIZE" 2 "atr" 2 "stored_state" 2 "OPAQUE_PART" 2 "Open3" 2 "# doc = Document.new ''\n" 2 "# process.\n" 2 "abs_uri" 2 "# ...\n" 2 "spawn" 2 "@to_encoding" 2 "rel_uri" 2 "def_same_enc" 2 "default_acl" 2 "default_id_conv" 2 "# simple flip-flop\n" 2 "verbose=" 2 " failed to create instance" 2 "default_config" 2 "def_else_enc" 2 "# require 'optparse'\n" 2 "boom - thread #" 2 "clientPort" 2 "# require 'ostruct'\n" 2 "?\"" 2 "0.08" 2 " begin\n" 2 "# In verbose mode, failed calls are logged to stdout.\n" 2 " raise ConversionError.new(\#{" 2 ", \"" 2 "kill_sub_thread" 2 "grp" 2 "main_loop" 2 "INSECURE_METHOD" 2 "insecure_method?" 2 " (?:\\\\#(\#{" 2 "__drb_yield" 2 "' called for " 2 "\", \"" 2 " \"" 2 "\")\n end\n" 2 "@drb_server" 2 "@client" 2 "perform" 2 "# opts.separator \"\"\n" 2 "stopped?" 2 "setup_message" 2 "# exit\n" 2 "nkf_arg" 2 "in_service?" 2 "init_with_client" 2 "127.0.0.1" 2 "InvokeMethod18Mixin" 2 "invoke_method" 2 "# #\n" 2 "pkey_str" 2 "EUC-JP" 2 "REGISTRY" 2 "PlacedArgument" 2 "install_id_conv" 2 "install_acl" 2 "# Documentation:: Gavin Sinclair\n" 2 "ExtServ" 2 "there" 2 "@invoker" 2 "regist" 2 "unregist" 2 "Foo" 2 "expected Array of or Hash of components of " 2 "manager" 2 "es" 2 "Escape" 2 "get_option" 2 "invoke_thread" 2 "invoke_service" 2 "invoke_service_command" 2 "require 'drb/unix'\n" 2 "require 'foo'\n" 2 "DRb.thread.join\n" 2 "block_yield" 2 "Shift_JIS" 2 "ch_len" 2 "invalid option -- " 2 "LocalJumpError" 2 "DRbSSLSocket" 2 "SingletonClassMethods" 2 "# 1003.2 specifies the format of this message.\n" 2 "cert_class" 2 "# all elements escaped for Bourne shell and separated by a space.\n" 2 "# enc_uri = URI.escape(\"http://example.com/?a=\\11\\15\")\n" 2 "# p enc_uri\n" 2 "# # => \"http://example.com/?a=%09%0D\"\n" 2 "SSLVerifyMode" 2 "# p URI.unescape(enc_uri)\n" 2 "# # => \"http://example.com/?a=\\t\\r\"\n" 2 "# name given in the original options to GetoptLong.new.\n" 2 "# custom verification\n" 2 "# The option name is always converted to the first (preferred)\n" 2 "has_name?" 2 "literalize" 2 "# String with URI.\n" 2 "# Must specify if you use auto generated certificate.\n" 2 "# The method is failed if option processing has already started.\n" 2 "# Builds a command line string from an argument list +array+ joining\n" 2 "Generated by Ruby/OpenSSL" 2 "# get digest algorithm, calculate checksum of root.subject\n" 2 "garbage" 2 "# p uri\n" 2 "STATUS_STARTED" 2 "ARGUMENT_FLAGS" 2 "ORDERINGS" 2 "setup_certificate" 2 "esc" 2 "def_single_delegators" 2 "single_delegate" 2 "\"o =~ s} unless Forwardable::debug\n\t ::Kernel::raise\n\tend\n end\n" 2 "\t $@.delete_if{|s| %r\"\#{" 2 "# n = #of try,\n" 2 ", *args, &block)\n\trescue Exception\n" 2 "# found good prime, n==0 - p, n==1 - q,\n" 2 ".__send__(:" 2 "\t \#{" 2 "(*args, &block)\n\tbegin\n" 2 "def_instance_delegators" 2 "dq" 2 "sq" 2 "# argv #=> [\"here\", \"are\", \"two words\"]\n" 2 "# def_delegator :@records, :map\n" 2 "# def_delegator :@records, :<<\n" 2 "# def_delegator :@records, :size\n" 2 ".write is deprecated. See REXML::Formatters" 2 "# def_delegators :@records, :size, :<<, :map\n" 2 "Th" 2 "@only_trusted" 2 "@verify_root" 2 "@verify_chain" 2 "issuer_certificate" 2 "@verify_signer" 2 "authorityKeyIdentifier" 2 "# samples have the same effect:\n" 2 "keyid:always,issuer:always" 2 "nsComment" 2 "BaseDublinCoreModel" 2 "# provision for using a different name. The following two code\n" 2 "# Shortcut for defining multiple delegator methods, but with no\n" 2 "# The components should be provided either as an Array, or as a Hash \n" 2 "# with keys formed by preceding the component names with a colon. \n" 2 "# If an Array is used, the components must be passed in the order\n" 2 "client_ca" 2 "instance_delegate" 2 "# delegate [method, method, ...] => accessor\n" 2 "@verify_data" 2 "# delegate method => accessor\n" 2 "# the accessor to which the methods will be delegated.\n" 2 "drbssl://" 2 "is_established" 2 "# symbols. These symbols correspond to method names. The value is\n" 2 "policy" 2 "trusted_cert" 2 "# Removes an attribute\n" 2 "DublinCore" 2 "# Takes a hash as its argument. The key is a symbol or an array of\n" 2 "# class RecordCollection\n" 2 "match_nonswitch?" 2 "# printer.puts \"Howdy!\"\n" 2 "# printer.def_delegator \"STDOUT\", \"puts\" # add delegation for STDOUT.puts()\n" 2 "# printer = String.new\n" 2 "# puts q.first\n" 2 "keeper" 2 "sys_" 2 "%2F" 2 "# extend Forwardable\n" 2 "\\A-" 2 ".first and @" 2 "DRbUNIXSocket" 2 "temp_server" 2 "drbunix:" 2 "server_mode" 2 "# key::\n" 2 "save_cert_path" 2 "Max_try" 2 "# Arguments are +scheme+, +userinfo+, +host+, +port+, +registry+, +path+, \n" 2 "1.9.1" 2 "TOPDIR" 2 "# +opaque+, +query+ and +fragment+, in that order.\n" 2 "kill_job" 2 "save_key_path" 2 "save_key" 2 "cwd_old" 2 "# See the +Find+ module documentation for an example.\n" 2 "i386-darwin9" 2 "$(INSTALL)" 2 "# to methods in FileUtils.\n" 2 "-o " 2 "keyUsage" 2 "cert_exts" 2 "dir_stack" 2 "# Shell#rmdir\n" 2 "# Shell#mkdir\n" 2 "# Dir related methods\n" 2 "used" 2 "singleton_methods" 2 "nonblock?" 2 "USE_REGISTRY" 2 "options_of" 2 "system_path" 2 "# \t$Revision: 23233 $\n" 2 "InputCompletor" 2 "ReservedWords" 2 "BEGIN" 2 "CompletionProc" 2 "use_registry" 2 "# See #new\n" 2 "# Symbol\n" 2 "all_symbols" 2 "regmessage" 2 "gv" 2 "cv" 2 ".methods" 2 "cert_age" 2 "# and negated long options. Arguments are:\n" 2 "Operators" 2 "have_option?" 2 "commands" 2 "fu_update_option" 2 "no such option: " 2 "# # The element 'p' has two text elements, \"some text \" and \" more text\".\n" 2 "# doc = Document.new \"

some text this is bold! more text

\"\n" 2 " class DublinCore" 2 "# +switch+:: OptionParser::Switch instance to be inserted.\n" 2 "@system_path" 2 "key_size" 2 "key_algo" 2 "# +short_opts+:: List of short style options.\n" 2 "mutex_methods" 2 "# DOC: FIXME!\n" 2 " \#{" 2 "# +long_opts+:: List of long style options.\n" 2 "default_record_separator" 2 "IGNORE_SIGINT" 2 "IGNORE_EOF" 2 "# +nolong_opts+:: List of long style options with \"no-\" prefix.\n" 2 " and " 2 "check_have_lchown?" 2 "check_have_lchmod?" 2 "# This is not MT-safe, but it does not matter.\n" 2 "# doc = Document.new '
text'\n" 2 "JobManager" 2 "@debug_output_mutex" 2 "IRB_NAME" 2 "@irb_path" 2 "use_readline?" 2 "@debug_display_thread_id" 2 "prepend" 2 "remove_dir1" 2 "mkfifo" 2 "has_text?" 2 "# returned.\n" 2 "@output_method" 2 "@debug_display_process_id" 2 "IMAGE_ELEMENTS" 2 "AmbiguousArgument" 2 "# argument.\n" 2 "UnknownTagError" 2 "ImageItemModel" 2 "show_version" 2 "shell/error" 2 "# text:: \n" 2 "use_readline" 2 "@summary_width" 2 "@summary_indent" 2 "add_officious" 2 "cannot handle device file" 2 "have_lchown?" 2 "# # Yields d\n" 2 "have_lchmod?" 2 "# # Yields b\n" 2 "set_last_value" 2 "@last_value" 2 "@prompt_mode" 2 "# # Yields b, c, d\n" 2 "user=" 2 "# the children to check.\n" 2 "# (optional) if supplied, this is an XPath that filters\n" 2 "# \t enum.each { |o| add(o) }\n" 2 "# for this number of matching children\n" 2 "password=" 2 "# max:: \n" 2 "# \t end\n" 2 "# \t self\n" 2 "door?" 2 "escape_userpass" 2 "S_IF_DOOR" 2 "# \t @hash[o] = true\n" 2 "ImageFaviconModel" 2 "@auto_indent_mode" 2 "dereference?" 2 "# \t else\n" 2 "NOPRINTING_IVARS" 2 "NO_INSPECTING_IVARS" 2 "IDNAME_IVARS" 2 "e1" 2 "e2" 2 "# \t nil\n" 2 "# userinfo = @user + ':' + @password\n" 2 "AVAILABLE_SIZES" 2 "# \tdef add?(o)\n" 2 "# \talias << add\n" 2 "# Heading banner preceding summary.\n" 2 "summary_indent" 2 "@deref" 2 "# \tdef add(o)\n" 2 "irb/cmd/chws" 2 "# instance_eval %{\n" 2 "\t}" 2 "Require" 2 "deref" 2 "fu_default_blksize" 2 "fu_blksize" 2 "Usage: " 2 "streams" 2 "old_init" 2 "# Version\n" 2 "# Release code\n" 2 "\"\n" 2 "\t]" 2 "install_alias_method" 2 "ITunes" 2 "hierarchical?" 2 "def_element_class_accessor" 2 "/+" 2 ".\\n" 2 "def_elements_class_accessor" 2 "getgrnam" 2 "flg" 2 "ContextExtender" 2 "CE" 2 "recommended_attribute_name" 2 "\\A\\d+\\z" 2 "SPLAT_PROC" 2 "SortedSet" 2 "# uri = URI.parse(\"http://my.example.com\")\n" 2 "# Changes owner and group on the named files (in +list+)\n" 2 "#<%s: {%s}>" 2 "\n alias_method alias_name, base_method\n" 2 "# # => #\n" 2 ", *opts\n" 2 ", *opts\n\tend\n" 2 "# Options: noop verbose force\n" 2 "# argument. It's a string of the following form:\n" 2 "ITunesCategory" 2 "# RFC2396, Section 5.2, 4)\n" 2 "fu_stream_blksize" 2 "no-" 2 "itunes_categories" 2 "FrameOverflow" 2 "FrameUnderflow" 2 "INIT_STACK_TIMES" 2 "CALL_STACK_OFFSET" 2 "identical?" 2 "sub_category" 2 "on_tail" 2 "# prefix:: \n" 2 "# \t$Revision: 20882 $\n" 2 "irb/magic-file" 2 "print_usage" 2 "# options.\n" 2 "fb" 2 "fa" 2 "remove_dir" 2 "# This method ignores StandardError if +force+ is true.\n" 2 "^\\s*$" 2 "classify" 2 "sw0" 2 "# given enumerable object.\n" 2 "relative URI: " 2 "init_error" 2 "parse_opts" 2 "# you can modify `rel', but can not `oth'.\n" 2 "@ignore_whitespace_nodes" 2 "subtract" 2 "construct" 2 " VAL" 2 "block_given" 2 "# sensitive.\n" 2 "# The evaluation is tested against +expanded_name+, and so is namespace\n" 2 "hour=" 2 "%N(%m):%03n:%i%l " 2 "%N(%m):%03n:%i* " 2 "=> %s\\n" 2 "SIMPLE" 2 ">> " 2 "# :yields: o\n" 2 "element_infos" 2 "Locale" 2 "FEATURE_IOPT_CHANGE_VERSION" 2 "environment" 2 "Maker" 2 "-m" 2 ".+" 2 "-U" 2 "UnsupportedMakerVersionError" 2 "load error: " 2 "# Integer.\n" 2 "normalize!" 2 "rc_file_generators" 2 "normalized_version" 2 "# == Overview \n" 2 "/.irb" 2 "DefaultEncodings" 2 "# All rights reserved. You can redistribute and/or modify it under the same\n" 2 "STDIN_FILE_NAME" 2 "# See also #remove_entry_secure.\n" 2 "format_message_from_system" 2 "format_message_ignore_inserts" 2 "# Equivalent to\n" 2 "\\A[-+]?(?:" 2 "LOCALE_NAME_RE" 2 "get_last_error" 2 "EEXIST" 2 "@@legacy_encoding_alias_map" 2 "Attributes" 2 "Elements" 2 "MANT_DIG" 2 "dereference" 2 "i64" 2 "# \"query\", 'fragment'])\n" 2 "# Both of +src+ and +dest+ must be a path name.\n" 2 "\\A[-+]?" 2 "territory" 2 " -p" 2 "rex" 2 "\\.rb$" 2 "ln -s" 2 "m*" 2 "# --------------- ---------------- ----------- --------------\n" 2 "# item in +list+. If +destdir+ is not a directory, raises Errno::ENOTDIR.\n" 2 "# The argument n specifies the length of the random length.\n" 2 "@hProv" 2 "ENCODING_SPEC_RE" 2 "crypt_verifycontext" 2 "detect_encoding" 2 "default_src_encoding" 2 "prov_rsa_full" 2 "# \t$Revision: 16810 $\n" 2 "@crypt_gen_random" 2 "ErrUnrecognizedLevel" 2 "XMLParserNotFound" 2 "CompositeNotifier" 2 "# ---------------------------- -----------------------------\n" 2 "NotValidXMLParser" 2 "rmdir " 2 "advapi32" 2 "crypt_acquire_context" 2 "# --------------------------\n" 2 "missing argument" 2 "NSError" 2 "Arguable" 2 "# rest arguments left unparsed.\n" 2 "NOFOLLOW" 2 "NOCTTY" 2 "# hash = { \"country\" => \"Australia\", :population => 20_000_000 }\n" 2 "level_notifier" 2 "level_notifier=" 2 "NoMsgNotifier" 2 "rexml/attribute" 2 "TreeParser" 2 "OutputMethod" 2 "record_entity_expansion" 2 "NotImplementError" 2 "parse_printf_format" 2 "AlreadyDefinedToken" 2 "TkReading2TokenNoKey" 2 "key nothing(key='%s')" 2 "TkSymbol2TokenNoKey" 2 "MailTo" 2 "TkReading2TokenDuplicateError" 2 "# For example,\n" 2 "# data = OpenStruct.new(hash)\n" 2 "-m %03o " 2 "Transitive" 2 "rexml/formatters/transitive" 2 "mkdir " 2 "# before the /> on empty tags. Defaults to false\n" 2 "# that IE's limited abilities can handle. This hack inserts a space \n" 2 "# unable to parse proper XML, we have to provide a hack to generate XML\n" 2 "# written, with the possible exception of Windows itself. Since IE is\n" 2 "# Internet Explorer is the worst piece of crap to have ever been\n" 2 "# Options: mode noop verbose\n" 2 "lex_init" 2 "# pretty-printed in such a way that the added whitespace does not affect\n" 2 "# If transitive is true and indent is >= 0, then the output will be\n" 2 "HEADER_REGEXP" 2 "new_time" 2 "# p data # -> \n" 2 "# An integer. If -1, no indenting will be used; otherwise, the\n" 2 "# document will be written.\n" 2 "#\t output an object which supports '<< string'; this is where the\n" 2 "old_list" 2 "MAILTO_REGEXP" 2 "uptodate?" 2 "# :yield: dir\n" 2 "# Options: (none)\n" 2 "# in FileUtils.\n" 2 "# This module has all methods of FileUtils module, but it outputs messages\n" 2 "# You can distribute/modify this program under the same terms of ruby.\n" 2 "mat" 2 "ignore_unknown_element=" 2 "@skip_space" 2 "@readed_auto_clean_up" 2 "@exception_on_syntax_error" 2 "do_validate=" 2 "normalize_rss" 2 "=$" 2 "expect" 2 "readed" 2 "$expect_verbose" 2 "getc_of_rests" 2 "maybe_xml?" 2 "def_erb_method" 2 "peek_equal?" 2 "to_uri" 2 "to_mailtext" 2 "wrong number of arguments (" 2 " for 1)" 2 "AccessLogError" 2 "TERM_INPUT" 2 "CLF_TIME_FORMAT" 2 "# \t\n" 2 "add_element" 2 "attempted adding second root element to document" 2 "frozen?" 2 "__inspect_key__" 2 "# - #size\n" 2 "# to_path is implemented so Pathname objects are usable with File.open, etc.\n" 2 "# \tinclude ERB::Util\n" 2 "CLF" 2 "REFERER_LOG_FORMAT" 2 "# \trequire \"erb\"\n" 2 "TkError" 2 "soak_up_spaces" 2 "#, \"when\"\n" 2 "DEINDENT_CLAUSE" 2 "PERCENT_LTYPE" 2 "register_uri" 2 "SEEK_SET" 2 "uri_registered?" 2 "superklass" 2 "\\A\\s*\\z" 2 "# class MyClass\n" 2 "TkXSTRING" 2 "consider_symlink" 2 "# erb.filename = filename\n" 2 "install_accessor_base" 2 "TkSYMBOL" 2 "DLtype2Token" 2 "TkDXSTRING" 2 "TkDREGEXP" 2 "setup_params" 2 "sent_size" 2 "\\x0d?\\x0a\\z" 2 "magic_comment" 2 "identify_comment" 2 "\t\t " 2 "TkRD_COMMENT" 2 "def_get_text_element" 2 "start_get_text_element" 2 "webrick/httprequest" 2 "webrick/httpresponse" 2 "webrick/config" 2 "*\\z" 2 "CGIError" 2 "resolving" 2 "# filename = 'example.rhtml' # 'arg1' and 'arg2' are used in example.rhtml\n" 2 "NPH" 2 "names2" 2 "start_position" 2 "@public" 2 "@middle" 2 "sys" 2 "pub" 2 "middle" 2 "phrase" 2 "[\\w_]" 2 "Declaration" 2 "identify_here_document" 2 "parse_pi_content" 2 "XMLStyleSheet" 2 "root?" 2 "split_name" 2 "do_" 2 "# Iterates over and yields a new Pathname object\n" 2 "notation_decl" 2 "initial_start_" 2 "# #\n" 2 "@body_part" 2 "NotationDecl" 2 "notations" 2 "TkDOT" 2 "lex_int2" 2 "TkCOLON" 2 "TkSYMBEG" 2 "CONTENT_PATTERN" 2 "@server_addr" 2 "TkCOLON3" 2 "TkCOLON2" 2 "unnormalized" 2 "(erb)" 2 "@server_name" 2 "@server_port" 2 "@matched_count" 2 "#/)\n" 2 "# indentation will be this number of spaces, and children will be\n" 2 "@remote_host" 2 "# #\n" 2 "# #\n" 2 "attribute_of" 2 "next_class" 2 "identify_gvar" 2 "@remote_port" 2 "REQUEST_URI" 2 "escape_path" 2 ".concat" 2 "start_have_something_element" 2 "hdrname" 2 "SSL_SERVER_CERT" 2 "TkBACK_REF" 2 "TkNTH_REF" 2 "SSL_CLIENT_CERT" 2 "TkCVAR" 2 "# #\n" 2 "peer_cert_chain" 2 "@enc" 2 "SSL_CIPHER" 2 "# #\n" 2 "external_id" 2 "SSL_PROTOCOL" 2 "SSL_CIPHER_USEKEYSIZE" 2 "APOS" 2 "SSL_CIPHER_ALGKEYSIZE" 2 "QUOT" 2 "LT" 2 "GT" 2 "set_eoutvar" 2 "_erbout" 2 "# @kind=:seq,\n" 2 "# A well messages pattie, breaded and fried.\n" 2 "# #\n" 2 "collect_attributes" 2 "webrick/log" 2 "# <%= PRODUCT[:desc] %>\n" 2 "ServerType" 2 "TkFOR" 2 "TkWHILE" 2 "-(?:mac|dos|unix)" 2 "TkUNTIL" 2 "rexml/entity" 2 "coding\\s*[=:]\\s*([[:alnum:]\\-_]+)" 2 "rexml/parent" 2 "# in the comparison.\n" 2 "# Compares this Comment to another; the contents of the comment are used\n" 2 "setup_next_element" 2 "TkFID" 2 "TkIDENTIFIER" 2 "-\\*-\\s*(.*?)\\s*-*-$" 2 "ltback" 2 "StartCallback" 2 "\\W" 2 "StopCallback" 2 "[0-7_]" 2 "# #\n" 2 "# #\n" 2 "AcceptCallback" 2 "DoNotReverseLookup" 2 "ShutdownSocketWithoutClose" 2 "insert_cmd" 2 "put_cmd" 2 "set_next_element" 2 "# #\n" 2 "[0-9a-fA-F]" 2 "DefaultMimeTypes" 2 "prepare_trim_mode" 2 "@insert_cmd" 2 "?\\n" 2 "current_element" 2 "@op" 2 "DocumentRootOptions" 2 "TokenDefinitions" 2 "TkIF_MOD" 2 "# It doesn't access actual filesystem.\n" 2 "TkUNLESS_MOD" 2 "# # => \n" 2 "TkWHILE_MOD" 2 "# c = Element.new(\"c\")\n" 2 "# b = a.add_element(\"b\")\n" 2 "XMLParserParser" 2 "TkUNTIL_MOD" 2 " \t " 2 "REGEX" 2 "FancyIndexing" 2 "RequestCallback" 2 "SPECIFIERS" 2 "parent=" 2 "def_token" 2 "InputBufferSize" 2 "super_token" 2 "65536" 2 "class " 2 "REXMLParser" 2 "defs" 2 "ErrNodeNothing" 2 "replace_child" 2 "rexml/document" 2 "# Returns:: self\n" 2 "ascend" 2 "OutputBufferSize" 2 "D_WARN" 2 "D_DEBUG" 2 "ProxyAuthProc" 2 "REXMLListener" 2 "ProxyVia" 2 "ProxyTimeout" 2 "ProxyURI" 2 "detect_magic_comment" 2 "path1" 2 "basename2" 2 "Escape8bitURI" 2 ".write is deprecated" 2 "script" 2 "width_left" 2 "#coding:" 2 "c_or_cc_width" 2 "ExplicitScanner" 2 "eos?" 2 "AutoReloadUserDB" 2 "cc_no_width" 2 "SimpleScanner2" 2 "op1: %s\\n" 2 "strscan" 2 "op2: %s\\n" 2 "# See the rexml/formatters package\n" 2 "SimpleScanner" 2 "op3: %s\\n" 2 "0: " 2 "mid_match?" 2 "1: " 2 "# c = CData.new( \"Some text\" )\n" 2 "==\\n" 2 "# $ sudo gem install Imlib2-Ruby-0.5.0.gem -P HighSecurity\n" 2 "2: " 2 "case 1:\\n" 2 "case 2:\\n" 2 "@conversion" 2 "case 3:\\n" 2 "ERB_STAG" 2 "ILLEGAL" 2 "OverlappedPrefixError" 2 "-%>" 2 "> is missing in tag <" 2 "[ \\t]*<%-" 2 "@attribute" 2 "is_erb_stag?" 2 "max_age" 2 "%>\\n" 2 "(.*?)(<%%|%%>|<%=|<%#|<%|%>\\n|%>|\\n|\\z)" 2 "statements" 2 "attribute <" 2 "to_re" 2 "irb\\/.*\\.rb" 2 "ws" 2 "StringInputMethod" 2 "relative_path_from" 2 "(.*?)(<%%|%%>|<%=|<%#|<%|%>|\\n|\\z)" 2 "trap_proc_b" 2 "(.{1," 2 "percent_line" 2 "# %c\n" 2 "# The _opts_ argument is passed through to generate/parse respectively, see\n" 2 "# generate and parse for their documentation.\n" 2 "(\\\\S{1," 2 "scan_line" 2 "explicit_trim_line" 2 "deep_const_get" 2 "\\\\d" 2 "modul" 2 "trim_line2" 2 "trim_line1" 2 "create_id" 2 "TrimScanner" 2 "> of " 2 "[-+]0[Xx]" 2 "NestingError" 2 "0[Xx]" 2 "# Parse the JSON string _source_ into a Ruby data structure and return it.\n" 2 "sysopen" 2 "# * *max_nesting*: The maximum depth of nesting allowed in the parsed data\n" 2 "# a = Attribute.new( \"x\", \"y\" )\n" 2 "# defiance of RFC 4627 to be parsed by the Parser. This option defaults\n" 2 "# * *create_additions*: If set to false, the Parser doesn't create\n" 2 "# additions even if a matchin class and create_id was found. This option\n" 2 "# defaults to true.\n" 2 "+)" 2 "@default_scanner" 2 "# Unparse the Ruby data structure _obj_ into a single line JSON string and\n" 2 "unparse" 2 "fnmatch" 2 "fnmatch?" 2 "req_field" 2 "res_field" 2 "fast_generate" 2 "# I want to deprecate these later, so I'll first be silent about them, and later delete them.\n" 2 "fast_unparse" 2 "err_type" 2 "userpass" 2 "can't convert " 2 "# parent::\n" 2 "configure" 2 "pretty_unparse" 2 "# This method is part of the implementation of the load/dump interface of\n" 2 "# Marshal and YAML.\n" 2 "# order is inverted to corresponding system call.\n" 2 "Authorization" 2 "executable_real?" 2 "Compiler" 2 "Unauthorized" 2 " <% end %>\n" 2 "grpowned?" 2 "owned?" 2 ");|(#0*((?:\\d+)|(?:x[a-fA-F0-9]+)));)?)" 2 "world_readable?" 2 "(<|&((" 2 " # Produce result.\n" 2 "readable_real?" 2 "CONNECT" 2 "NAME_STR" 2 " if @" 2 "do_CONNECT" 2 "normalized" 2 "proxy_service" 2 "setuid?" 2 " # Set up template data.\n" 2 "# Proxy Authentication\n" 2 " }.gsub(/^ /, '')\n" 2 " # Create template.\n" 2 "add_have_children_element" 2 "InternalServerError" 2 "Keyval" 2 "rexml/text" 2 " require \"erb\"\n" 2 "add_plural_form" 2 " EOF\n" 2 "def_children_accessor" 2 " require 'erb'\n" 2 "setgid?" 2 "writable_real?" 2 "# You can redistribute it and/or modify it under the same terms as Ruby.\n" 2 " rv = \"\\\#{indent}<\#{" 2 "# Author:: Masatoshi SEKI\n" 2 "@contents" 2 "ErrNotRegisteredException" 2 " \t rv << \"\"\n rv\n else\n ''\n end\n" 2 "conversion" 2 "BUTTONS_CLOSE" 2 "#\t k: class to define exception under.\n" 2 "RC_OK" 2 "matched_string" 2 "question_dialog" 2 "#\tdefine exception named ``c'' with message m.\n" 2 "FormatSpecifier" 2 "#\t s:\tsuperclass(default: StandardError)\n" 2 "add_to_element_method" 2 "n_children" 2 "Unknown type found in model: " 2 "CONNECT: " 2 "#\t n: exception_name\n" 2 "TreeStore" 2 "#\tdefine exception c with message m.\n" 2 "chroot" 2 "HopByHop" 2 "%w( " 2 "#\trest:\tmessage arguments\n" 2 "#\terr:\texception\n" 2 "# Tanaka Akira \n" 2 "remove_subtree" 2 " ]" 2 "add_token" 2 " )" 2 "ShouldNotTransfer" 2 "set-cookie" 2 "split_field" 2 "rubygems/config_file" 2 "# include Error\n" 2 "inherit_convert_attr_reader" 2 "# module Error\n" 2 ",\\s*" 2 ")\n end\n\n" 2 "@templates" 2 "templates" 2 "rubygems/builder" 2 "Window" 2 "# treeview.\n" 2 "PopUpMenu" 2 "change_node" 2 "setup_proxy_header" 2 "rubygems/platform" 2 "rubygems/source_index" 2 "setup_upstream_proxy_authentication" 2 "# def_e2message ExistingExceptionClass, \"message...\"\n" 2 "# Usage:\n" 2 "# returns self.\n" 2 "# clipboard.\n" 2 "cut_node" 2 "copy_node" 2 "paste_node_appending" 2 "webrick/cookie" 2 "@expanded" 2 "# Needed for Kernel#gem\n" 2 "BODY_CONTAINABLE_METHODS" 2 "Nothing to paste in clipboard!" 2 "Instance" 2 "paste_node_inserting_before" 2 "uri_convert_attr_reader" 2 "yes_clean_other_attr_reader" 2 "?\n" 2 "Inserted an element to " 2 "@accept" 2 "@accept_encoding" 2 "@accept_language" 2 "@request_time" 2 "quick/Marshal." 2 "Normal" 2 "Quiet" 2 "@start" 2 ")\n end\n" 2 "yes_other_attr_reader" 2 "MARSHAL_SPEC_DIR" 2 "pre_uninstall_hooks" 2 "' before index " 2 "Cannot insert node below '" 2 "append_new_node" 2 "ask_for_hash_pair" 2 "read_request_line" 2 "gen_class" 2 "pre_install_hooks" 2 "setup_forwarded_info" 2 "insert_new_node" 2 "collapse_expand" 2 "post_uninstall_hooks" 2 "collapse_row" 2 "expand_row" 2 "header_name" 2 "?i" 2 "check_inspect_key" 2 "post_install_hooks" 2 "popup" 2 "FileMenu" 2 "use_paths" 2 "open_location" 2 "suffix_pattern" 2 "# => true\n" 2 "Stats" 2 "parse_files" 2 "revert" 2 "push_inspect_key" 2 "save_as" 2 "foo\\n" 2 "pop_inspect_key" 2 "new_sources" 2 "list_files_in_directory" 2 "default_sources" 2 "?o" 2 "CVS" 2 "^\\.\\/" 2 "42" 2 "ExtArray" 2 "^\\s*(" 2 "force_doc" 2 "relative_files" 2 "EditMenu" 2 "# A convenience method which is same as follows:\n" 2 "GemPathSearcher" 2 "libfile" 2 "integer_writer" 2 "gemname" 2 "wait_for_text" 2 "HTTP/" 2 "@delegate_dc_obj" 2 "patt" 2 "required_version" 2 "in_dir" 2 "parse_dot_doc_file" 2 "0.9" 2 "ask_for_find_term" 2 " = new_value.to_i\n end\n end\n end\n" 2 "escape8bit" 2 "set_cursor" 2 "update_output_dir" 2 "find_again" 2 "ask_for_order" 2 "positive_integer_writer" 2 "OptionsMenu" 2 "collapsed_nodes" 2 "chunked" 2 "pretty_saving" 2 "# called\n" 2 "boolean_writer" 2 "flag_file" 2 "setup_output_dir" 2 "satisfy?" 2 "CheckMenuItem" 2 "LengthRequired" 2 "# when Gem::Installer#install is called\n" 2 "JSONTreeView" 2 "delegating_block" 2 "# Load custom marshal format\n" 2 "/rdoc/generator" 2 "chunk_ext" 2 "add_columns" 2 "add_popup_menu" 2 "cannot delegate to self" 2 "@delegate_sd_obj" 2 "requirement" 2 "# q.comma_breakable\n" 2 "text_type_writer" 2 "CellRendererText" 2 "APPLE_GEM_HOME" 2 "default_path" 2 "cell_edited" 2 "unify_key" 2 "old_key" 2 "Key has been changed." 2 "GEM_PATH" 2 "iter_method" 2 "rdoc/parser/simple" 2 "PrivateNetworkRegexp" 2 "include_private" 2 "\"o" 2 "host_port" 2 "send_header" 2 "# # ...\n" 2 "content_writer" 2 "# Be advised, RDoc will not detect delegated methods.\n" 2 "# == Notes\n" 2 "send_body_io" 2 "send_body_string" 2 "compile_option" 2 "InstructionSequence" 2 "create_error_page" 2 "Type:" 2 "<<-_end_of_html_" 2 "ComboBox" 2 "append_text" 2 "@gem_prelude_index" 2 "yes_clean_other_writer" 2 "Value:" 2 "stop?" 2 "pretty_print_instance_variables" 2 "thread_list_all" 2 "^\\.(.*)" 2 " _end_of_html_\n" 2 "__debugger_data__" 2 "default_type" 2 "yes_other_writer" 2 " \#{" 2 "_send_file" 2 "ObjectMixin" 2 "@break_points" 2 "reverse_checkbox" 2 "CheckButton" 2 "csv_writer" 2 "orig_parse" 2 "GzipReader" 2 "MainWindow" 2 "csv_integer_writer" 2 "bump" 2 "create_menu_bar" 2 "POLICY_AUTOMATIC" 2 "HOMEPATH" 2 "orig_meta_vars" 2 "HOMEDRIVE" 2 "@file_menu" 2 "@edit_menu" 2 "rdoc/stats" 2 "USERPROFILE" 2 "\\(Kernel\\)#" 2 "rp" 2 "{}" 2 "nl_index" 2 "ask_for_location" 2 "load_location" 2 "Stat" 2 "MountTable" 2 "partials" 2 ".tmp" 2 "Loaded data from '" 2 "iconverter" 2 "SetupMaker" 2 "InheritedReader" 2 "lookup_server" 2 "search_servlet" 2 "clicked" 2 "get_instance" 2 "@location" 2 "INDENT" 2 "excn_handle" 2 "unmount" 2 "\\Afile://" 2 "04000" 2 "02000" 2 "^(" 2 "debug_print_help" 2 "requests" 2 "debug_thread_info" 2 "check_files" 2 "RDOCOPT" 2 "01000" 2 "MockExpectationError" 2 "?t" 2 "Info" 2 "Success" 2 "expected " 2 "infect_with_assertions" 2 "pos_prefix" 2 "neg_prefix" 2 "skip_re" 2 "Redirect" 2 "ClientError" 2 "^assert" 2 "^refute" 2 "<<-EOM" 2 "uid=" 2 "describe" 2 "Spec" 2 "getpwuid" 2 "@@current_spec" 2 "before" 2 "after" 2 "to_element_methods" 2 "display_list" 2 "inherited_base" 2 "display_frames" 2 "initialize_variables" 2 "need_convert" 2 "%d: " 2 "making them accessible to others, so" 2 "are stored in a site-wide directory," 2 "content_is_set?" 2 "@_assertions" 2 "^\\d+$" 2 "xmled_content" 2 "initialize_have_children_elements" 2 "line_at" 2 "thnum" 2 "additional_attrs" 2 "debug_method_info" 2 "collect_attrs" 2 "request_class" 2 "-r" 2 "--ri" 2 "assert_in_delta" 2 "[ \\-]" 2 "make_start_tag" 2 "Should be Class/Module: " 2 "local_variables" 2 "fetch_type" 2 "debug_variable_info" 2 "-p" 2 "# TODO: merge with instance_of\n" 2 "redirect?" 2 "client_error?" 2 "file_uri?" 2 "exception_details" 2 "flunk" 2 "send_ary" 2 "get_file_uri_path" 2 "orig_stdout" 2 "orig_stderr" 2 "recursive" 2 "tag_filter" 2 "server_error?" 2 "refute_in_delta" 2 "element_names" 2 "tags_size" 2 "\\x0d" 2 "skips" 2 "test_count" 2 "assertion_count" 2 "connection_for" 2 "\\x0a" 2 "at_exit" 2 "XMLStyleSheetMixin" 2 "\\n" 2 "FTPTempError" 2 "resume_all" 2 "aaa" 2 "FTP_PORT" 2 "-E" 2 "clear_suspend" 2 "set_suspend" 2 "last_response_code" 2 "-x" 2 "assert_match" 2 "check_diagram" 2 "test_array" 2 "test_hash" 2 "gz$" 2 "video/quicktime" 2 "# $Id$\n" 2 "insert" 2 "oldmode" 2 "# Obsolete\n" 2 "-c" 2 "@last_file" 2 "load_path_insert_index" 2 "get_greeting" 2 "text/sgml" 2 "image/tiff" 2 "86400_000_000_000" 2 "load_mime_types" 2 "mimetype" 2 "mime_type" 2 "@last_response_code" 2 "\\A4" 2 "\\A5" 2 "gems/" 2 "suffix1" 2 "@maxwidth" 2 "Options:" 2 " EOF\n" 2 "updatePeriod" 2 "# gem directories must come after -I and ENV['RUBYLIB']\n" 2 "@newline" 2 "@genspace" 2 "getlocal" 2 "@charset" 2 "@webcvs" 2 "@css" 2 "bad header '" 2 "@force_update" 2 "@promiscuous" 2 "@extra_accessor_flags" 2 "@include_line_numbers" 2 "@tab_width" 2 "SY_UPDATEPERIOD_AVAILABLE_VALUES" 2 "get_proxy_from_env" 2 "loaded?" 2 "@image_format" 2 "@show_hash" 2 "@fileboxes" 2 "# information.\n" 2 "%FT%T%z" 2 "parse_range_header" 2 "ranges_specifier" 2 "# +str+ is a String holding a date-time representation.\n" 2 "@merge" 2 "@main_page" 2 "@show_all" 2 "@op_name" 2 "byte_range_set" 2 "generators" 2 "GroupQueue" 2 "range_spec" 2 "%.4d-%02d-%02d" 2 "group_queue" 2 "REST " 2 "EmptyRawHeader" 2 "# skip 2XX for some ftp servers\n" 2 "?1" 2 "EmptyHeader" 2 "Breakable" 2 "@next_data" 2 "@Bag" 2 "ACCT " 2 "# (such as \"RETR myfile\").\n" 2 "TaxonomyTopicModel" 2 "each_data" 2 "powerpc" 2 "boundary_regexp" 2 "storbinary" 2 "# (inclusive), yielding each date as we go.\n" 2 "# EPIPE, in this case, means that the data connection was unexpectedly\n" 2 "# terminated. Rather than just raising EPIPE to the caller, check the\n" 2 "# response on the control connection. If getresp doesn't raise a more\n" 2 "# appropriate exception, re-raise the original exception.\n" 2 "storlines" 2 "# If +localfile+ is nil, returns retrieved data.\n" 2 "getbinaryfile" 2 "force_update" 2 "to_enum" 2 "0123456789" 2 "gettextfile" 2 "putbinaryfile" 2 "STOR " 2 "puttextfile" 2 "put" 2 "lowalpha" 2 "abcdefghijklmnopqrstuvwxyz" 2 "fromname" 2 "toname" 2 "250" 2 "upalpha" 2 "213" 2 "MDTM_REGEXP" 2 "mdtm" 2 "ABCDEFGHIJKLMNOPQRSTUVWXYZ" 2 "MSG_OOB" 2 "STAT" 2 "get_line_types" 2 "mark" 2 "powerpc-darwin" 2 "NOOP" 2 "mswin32" 2 "add_text" 2 "parse228" 2 "TrackBackUtils" 2 "group_sub" 2 "# the block.\n" 2 "# Copyright (c) 2001 GOTOU Yuuzou\n" 2 "enumerator" 2 " remove_method :" 2 "WIN_PATTERNS" 2 "jd2" 2 " remove_method :\#{" 2 "=(value)\n" 2 "])" 2 "# url = URI.parse('http://www.example.com/index.html')\n" 2 "# res = Net::HTTP.start(url.host, url.port) {|http|\n" 2 "^\\[" 2 "_make_regex!" 2 "# res = Net::HTTP.post_form(URI.parse('http://www.example.com/search.cgi'),\n" 2 "# proxy_port = 8080\n" 2 "groups" 2 "# # example\n" 2 "netbsdelf" 2 "skip_list" 2 "UNESCAPED" 2 "UNESCAPED_FORM" 2 "NONASCII" 2 "49" 2 "# require 'net/http'\n" 2 "PARAGRAPH" 2 "# of the returned Date will be the last day of the target month.\n" 2 "# Defaults to true.\n" 2 "@local" 2 "strip_leading" 2 "HEADING" 2 "version_1_1?" 2 "abc" 2 "UNESCAPED_PCHAR" 2 "# than the last day of the target month, the day-of-the-month\n" 2 "# Send a GET request to the target and return the response\n" 2 "# (+uri+), or as (+host+, +path+, +port+ = 80); so:\n" 2 "handled_labeled_list" 2 "Invalid List Type: " 2 "# print res.body\n" 2 "# If the day-of-the-month of the current Date is greater\n" 2 "# the current one.\n" 2 "next_day" 2 "# Day of Calendar Reform.\n" 2 "@opened" 2 "gregorian?" 2 "# The default port to use for HTTP requests; defaults to 80.\n" 2 "ghi" 2 "https_default_port" 2 "nth_kday?" 2 "socket_type" 2 "jkl" 2 "@time_format" 2 "# Re-composes a prime factorization and returns the product.\n" 2 "TrackBackModel10" 2 "TrackBackPing" 2 "resource=" 2 "webrickv" 2 "rubyv" 2 "newobj" 2 "# This method does not open the TCP connection.\n" 2 "server_type" 2 "group_lines" 2 "TrackBackAbout" 2 "@__ca__" 2 "abouts" 2 "TrackBackModel20" 2 "svrs" 2 "accept_client" 2 "start_thread" 2 "WEBrickThread" 2 "int_from_prime_division" 2 "<<-\"end;\"" 2 "add_special" 2 "\\./" 2 "@sspi_enabled" 2 "# modify it under the same terms as Ruby.\n" 2 " open=" 2 "ripper/lexer" 2 "add_html" 2 "# Set an output stream for debugging.\n" 2 "add_word_pair" 2 ")|(?:" 2 "# The port number to connect to.\n" 2 "# If the HTTP object cannot open a connection in this many seconds,\n" 2 "Mon, 01 Jan -4712 00:00:00 GMT" 2 "Mon, 1 Jan -4712 00:00:00 +0000" 2 "callback_name" 2 "\\Ayes\\z" 2 "destname" 2 "TarOutput" 2 "svrsoft" 2 "LABEL_LIST_RE" 2 "osslv" 2 "@the_instance" 2 "tar_type" 2 "GUESS_TABLE" 2 "SSLEnable" 2 "SSLExtraChainCert" 2 "SSLVerifyClient" 2 "OldCompatibility" 2 "SSLTimeout" 2 "method_added" 2 "delete!" 2 "SSLOptions" 2 "/x" 2 "SSLStartImmediately" 2 "?>" 2 "# Raises IOError if not started.\n" 2 "href=" 2 "bits" 2 "@proxy_user" 2 "@proxy_pass" 2 "# :\n" 2 "guess_type" 2 "alternate=" 2 "proxy_class?" 2 "aki" 2 "@alternate" 2 "rubygems/specification" 2 "http://" 2 "xmlparser" 2 "# If called with a block, yields each fragment of the\n" 2 "# the socket. Note that in this case, the returned response\n" 2 "# require 'rdoc/markup/to_html'\n" 2 "# object will *not* contain a (meaningful) body.\n" 2 "# +dest+ argument is obsolete.\n" 2 "# It still works but you must not use it.\n" 2 "rubygems/digest/md5" 2 "# +ubound+::\n" 2 "# In version 1.2, this method never raises exception.\n" 2 "# Day Number day 0.\n" 2 "# File.open('result.txt', 'w') {|f|\n" 2 "# f.write str\n" 2 "upper_bound" 2 "# :yield: +body_segment+\n" 2 "@weight" 2 "REXMLLikeXMLParser" 2 "@priority" 2 "# will be raised.\n" 2 "with_object" 2 "# for more details. If parsing fails, an ArgumentError\n" 2 "Proppatch" 2 "Lock" 2 "Unlock" 2 "Depth" 2 "Propfind" 2 "Delete" 2 "Move" 2 "Mkcol" 2 "Trace" 2 "EratosthenesSieve" 2 "XMLParserListener" 2 "next_to" 2 "@bitmap" 2 "XMLScanListener" 2 "# using various heuristics; see #_parse in date/format.rb\n" 2 "# p response['content-type']\n" 2 "Signal" 2 "# response.read_body do |str| # read body now\n" 2 "# print str\n" 2 "TrialDivision" 2 "request_head" 2 "request_post" 2 "request_put" 2 "Failed to parse gem specification out of gem file" 2 "# Returns a HTTPResponse object.\n" 2 "from_yaml" 2 "ENTITIES" 2 "set_body_internal" 2 "# as 19XX (>= 69) or 20XX (< 69); the default is not to.\n" 2 "IndexError" 2 "sspi_auth?" 2 "sspi_auth" 2 "FloatDomainError" 2 "begin_transport" 2 "su" 2 "# file:: [IO] The IO to process\n" 2 "reading_body" 2 "# +comp+ specifies whether to interpret 2-digit years\n" 2 "end_transport" 2 "Sys" 2 "Conn close" 2 "# without specifying the format.\n" 2 "ClassInsensitiveTypes" 2 "connection_keep_alive?" 2 "rest_strings" 2 "on_chardata" 2 "Negotiate " 2 "# parsed.\n" 2 "# An ArgumentError will be raised if +str+ cannot be\n" 2 "authphrase" 2 "on_cdata" 2 "on_etag" 2 "# date/format.rb for details on supported formats.\n" 2 "# Returns the header field corresponding to the case-insensitive key.\n" 2 "# [Ruby 1.8.3]\n" 2 "on_entityref" 2 "get_fields" 2 "on_charref_hex" 2 "each_header" 2 "# +str+ is a String holding a date representation.\n" 2 "on_stag" 2 "read_files_from_gem" 2 "first_string" 2 "set_range" 2 "# according to a specified format.\n" 2 "content_length=" 2 "read_spec" 2 "random_string" 2 "rand_max" 2 "TXT" 2 "@exchange" 2 "on_attr_charref" 2 "content_range" 2 "range_length" 2 "# This method returns nil if Content-Type: header field does not exist.\n" 2 "include_line_numbers" 2 "add_line_numbers" 2 "@preference" 2 "on_stag_end" 2 "on_stag_end_empty" 2 "skip_ruby" 2 "content_type=" 2 "set_form_data" 2 "MX" 2 "@emailbx" 2 "extend_table" 2 "@rmailbx" 2 "# +y+ defaults to -4712, +w+ to 1, and +d+ to 1; this is\n" 2 " puts \"4 + 5 = \#{param}\"\n" 2 "lbound" 2 " puts \"Error:\"\n" 2 "reqbody" 2 "resbody" 2 "valid_time?" 2 "@request_has_body" 2 "@response_has_body" 2 "rubygems/package" 2 "code_body" 2 "0xFFFF" 2 "valid_nth_kday?" 2 "valid_weeknum?" 2 "body=" 2 "send_request_with_body" 2 "send_request_with_body_stream" 2 "valid_civil?" 2 "MINFO" 2 " HTTP/" 2 "print_profile" 2 "create_source_code_file" 2 "gregorian_leap?" 2 "markup_code" 2 "@source_code" 2 "token_stream" 2 "@signer" 2 "\t\t " 2 "# reopen\n" 2 "PUT" 2 "# week respectively. No wraparound is performed, however,\n" 2 "write_package" 2 "DELETE" 2 "OPTIONS" 2 "# +w+ and +d+ can be negative, in which case they count\n" 2 "# Monday is day-of-week 1; Sunday is day-of-week 7.\n" 2 "added_source" 2 "promiscuous" 2 "# Reform adjustment is not valid.\n" 2 "file_attribute_values" 2 "# A date falling in the period skipped in the Day of Calendar\n" 2 "# month respectively. No wraparound is performed, however,\n" 2 "filename_to_label" 2 "# +m+ and +d+ can be negative, in which case they count\n" 2 "HTTPRetriableError" 2 "success" 2 "HTTPServerException" 2 "start_profile" 2 "HTTPFatalError" 2 "cvsurl" 2 "# Day Number if they do, nil if they don't.\n" 2 "PROFILE_PROC" 2 "body_permitted?" 2 "jd_to_ld" 2 "jd_to_mjd" 2 "classmod" 2 "ajd_to_amjd" 2 "c-return" 2 "classlist" 2 "build_attribute_list" 2 "seccomment" 2 "secsequence" 2 "sectitle" 2 "day_fraction_to_time" 2 "# fraction_of_a_second]\n" 2 "HINFO" 2 "class_attribute_values" 2 "NNNNN" 2 "METHOD_LIST" 2 "@minimum" 2 "@expire" 2 "stop_profile" 2 "dom" 2 "1524" 2 "write_on" 2 "Signer" 2 "HTTPUnknownResponse" 2 "4716" 2 "%6.2f %8.2f %8.2f %8d " 2 "4.0" 2 "@is_module" 2 "doy" 2 "# +jd+ is the Julian Day Number to convert.\n" 2 "ordinal_to_jd" 2 "# Returns the corresponding Julian Day Number.\n" 2 "HTTPSwitchProtocol" 2 "gem_io" 2 "%8.2f %8.2f %s\\n" 2 "@retry" 2 "add_file_simple" 2 "HTTPCreated" 2 "tar_io" 2 "@refresh" 2 "HTTPAccepted" 2 "@serial" 2 "HTTPNonAuthoritativeInformation" 2 "HTTPNoContent" 2 "find_ldoy" 2 "HTTPResetContent" 2 "HTTPPartialContent" 2 "add_update_sources_option" 2 "img_url" 2 "HTTPMultipleChoice" 2 "@rname" 2 "src_url" 2 "HTTPUseProxy" 2 "source_code" 2 "@mname" 2 "HTTPBadRequest" 2 "HTTPUnauthorized" 2 "UNIX_EPOCH_IN_CJD" 2 "HTTPPaymentRequired" 2 "HTTPForbidden" 2 "HTTPNotFound" 2 "HTTPMethodNotAllowed" 2 "add_proxy_option" 2 "add_source_option" 2 "HTTPNotAcceptable" 2 "HTTPRequestTimeOut" 2 "HTTPConflict" 2 "HTTPGone" 2 "add_bulk_threshold_option" 2 "# ???\n" 2 "HTTPLengthRequired" 2 "HTTPPreconditionFailed" 2 "HTTPRequestEntityTooLarge" 2 "RDWR_ACCESS" 2 "HTTPUnsupportedMediaType" 2 "HTTPRequestedRangeNotSatisfiable" 2 "HTTPExpectationFailed" 2 "HTTPInternalServerError" 2 "HTTPNotImplemented" 2 "HTTPBadGateway" 2 "HTTPServiceUnavailable" 2 "HTTPGatewayTimeOut" 2 "HTTPVersionNotSupported" 2 "SOA" 2 "NS" 2 "build_requires_list" 2 "RD_ACCESS" 2 "WR_ACCESS" 2 "CODE_CLASS_TO_OBJ" 2 "TRUNC" 2 "Type" 2 "CODE_TO_OBJ" 2 "201" 2 "MILLISECONDS_IN_DAY" 2 "202" 2 "@ultra_safe" 2 "203" 2 "DummyMutex" 2 "absolute_path?" 2 "@rdonly" 2 "205" 2 "206" 2 "# A constant used to indicate that a Date should always use the\n" 2 "ENGLAND" 2 " is query." 2 "expand_and_validate_gem_dir" 2 "# on whether we're all in one file or in multiple files\n" 2 "# Returns a reference to outselves to be used as an href= the form depends\n" 2 "" 2 "301" 2 "303" 2 "# # load some data into the store...\n" 2 "305" 2 "get_label" 2 "ToHtmlCrossref" 2 "save_index" 2 "# HACK ugly\n" 2 "# *WARNING*: This method is only valid in a PStore#transaction and it cannot\n" 2 "192" 2 " Thread.new {\n" 2 "toplevels" 2 "307" 2 "# be read-only. It will raise PStore::Error if called at any other time.\n" 2 "402" 2 "@d" 2 "get_string_list" 2 "roots" 2 "406" 2 "407" 2 "408" 2 "409" 2 "# store[:three] = 3 # this change is never reached\n" 2 "410" 2 "?C" 2 "412" 2 "%c" 2 "gem_make.out" 2 "show_help" 2 "413" 2 "414" 2 " Sets the XML writer to use for generating XML output.\n" 2 " Should be an instance of a class from module (({XMLRPC::XMLWriter})).\n" 2 "415" 2 "416" 2 "417" 2 "501" 2 "502" 2 "503" 2 "504" 2 "505" 2 " If this method is not called, then (({XMLRPC::Config::DEFAULT_WRITER})) is used. \n" 2 "remove_para" 2 "save_limit" 2 "read_status_line" 2 "get_length16" 2 "response_class" 2 " Sets the XML parser to use for parsing XML documents.\n" 2 " Should be an instance of a class from module (({XMLRPC::XMLParser})).\n" 2 " If this method is not called, then (({XMLRPC::Config::DEFAULT_PARSER})) is used.\n" 2 "each_response_header" 2 "open_and_lock_file" 2 "original_data_size" 2 "get_question" 2 "builder" 2 "arcount" 2 "CSS_NAME" 2 "error!" 2 "CLASS_DIR" 2 "error_type" 2 "FILE_DIR" 2 "nscount" 2 "reqmethodallowbody" 2 "@body_exist" 2 "rdoc/options" 2 "# See the documentation to the file date.rb for an overview.\n" 2 "date/format" 2 "# Calling this method a second or subsequent time will return the\n" 2 "# already read string.\n" 2 "# instance.\n" 2 "# p res.read_body.object_id # 538149362\n" 2 " = \\\"" 2 "procdest" 2 "stream_check" 2 "ancount" 2 "load_data" 2 "read_body_0" 2 "# p res.body.object_id # 538149362\n" 2 "]\\n" 2 ",\\n" 2 " [\\n" 2 "| \\\\\\n" 2 " \\\\\\n" 2 "qdcount" 2 "dest_path" 2 "MessageDecoder" 2 "put_label" 2 "hexlen" 2 "ports" 2 "# ParserWriterChooseMixin\n" 2 "ReadAdapter" 2 "NetPrivate" 2 "USER_AGENT" 2 "save_data" 2 " require 'uri'\n" 2 " http = Net::HTTP.new(uri.host, uri.port)\n" 2 " http.start {\n" 2 " http.request_get(uri.path) {|res|\n" 2 " print res.body\n" 2 "new_options" 2 "with_index" 2 "put_labels" 2 " }\n" 2 "ciphers" 2 "handles?" 2 "# imap = Net::IMAP.new('mail.example.com')\n" 2 "# imap.authenticate('LOGIN', 'joe_user', 'joes_password')\n" 2 "# imap.select(\"inbox\")\n" 2 "ds" 2 "responses" 2 "converter_name" 2 "RECENT" 2 "# children.\n" 2 "NOSELECT" 2 "put_string_list" 2 "MARKED" 2 "add_extra_args" 2 "new3" 2 "EDGE_OPTS" 2 "s_extra" 2 "(?=" 2 "layer" 2 "NODE_OPTS" 2 "([^" 2 "specific_extra_args" 2 "# ... or ...\n" 2 "disconnect" 2 "# double for escaping\n" 2 "@receiver_thread" 2 "(?>" 2 "CAPABILITY" 2 "new_timeout" 2 "@\"\#{" 2 "LOGOUT" 2 "LOCK_SH" 2 "area_name" 2 "data_end" 2 "create_option_parser" 2 "new_user" 2 "regular_options" 2 "new_password" 2 "# \"unrolling the loop\"\n" 2 "data_start" 2 "length_index" 2 "# A Net::IMAP::NoResponseError is raised if authentication fails.\n" 2 "arg_desc" 2 "wrap_in_image_map" 2 "call_async" 2 "]*)" 2 "TEXT\n" 2 "formatted" 2 "PStore file seems to be corrupted." 2 "image_format" 2 "# This seems to be a newly-created file.\n" 2 "file_base" 2 "submod" 2 "multicall2" 2 "put_length16" 2 "nnN" 2 "# A Net::IMAP::NoResponseError is raised if the mailbox does not\n" 2 "multicall2_async" 2 "esc_row_sep" 2 "quotable_chars" 2 "# A Net::IMAP::NoResponseError is raised if a mailbox with that name\n" 2 "newname" 2 "# post request\n" 2 "cl_index" 2 "# A Net::IMAP::NoResponseError is raised if +mailbox+ cannot be\n" 2 "rr" 2 " " 2 "QUOTA" 2 "fileboxes" 2 "Wrong content-type (received '" 2 "nnnnnn" 2 "box" 2 "" 2 "Wrong size. Was " 2 "wince" 2 "MessageEncoder" 2 ", should be " 2 "each_additional" 2 "@meth" 2 "add_additional" 2 "fillcolor" 2 "each_authority" 2 "filled" 2 "add_authority" 2 "skip_blanks" 2 "add_specific_extra_args" 2 "add_answer" 2 "additional" 2 "SETACL" 2 "ENABLE_BIGINT" 2 "LSUB" 2 "STATUS" 2 "# EOF\n" 2 "<<-TEXT" 2 "original_checksum" 2 "original_file_size" 2 "new_checksum" 2 "save_data_with_atomic_file_rename_strategy" 2 "Literal" 2 "ENABLE_MULTICALL" 2 "save_data_with_fast_strategy" 2 "lightcyan1" 2 "ENABLE_INTROSPECTION" 2 "unconverted" 2 "xmlrpc/base64" 2 "cur_version" 2 "# class\n" 2 "xmltreebuilder" 2 "# class XMLParser\n" 2 "Create" 2 "xml_writer" 2 "#########################################################################\n" 2 "version=\"1.0\"" 2 "Commands" 2 "@@identifier" 2 "draw" 2 "# to allow subclass overriding used in YAML::Store.\n" 2 "SEARCH" 2 "# The return value is an array of Net::IMAP::FetchData. For example:\n" 2 "RAKEVERSION" 2 "@quote" 2 "@info" 2 "app_script_text" 2 "is_ret" 2 "generate_index" 2 "outdated" 2 "Diagram" 2 "EncodeError" 2 "# See [SORT-THREAD-EXT] for more details.\n" 2 "#####################################\n" 2 "specification" 2 "uninstall" 2 "SORT" 2 "add_response_handler" 2 "Marshallable" 2 "generate_bin_symlink" 2 "remove_response_handler" 2 "wrong_type" 2 "timeouts" 2 "THREAD" 2 "n*" 2 "command_obj" 2 "partial_dirs" 2 "@header_converters" 2 "SSL_PORT" 2 "load_and_instantiate" 2 "usessl" 2 "@tag_prefix" 2 "generate_timeouts" 2 "ResponseParser" 2 "@usessl" 2 "InitialTimeout" 2 "process_args" 2 "rassoc" 2 "generate_candidates" 2 "field_size_limit" 2 "quote_char" 2 "windows_stub_script" 2 ".bat" 2 "BYE" 2 "generate_windows_script" 2 "@new_name" 2 "@old_name" 2 "to_ruby" 2 "receive_responses" 2 "init_headers" 2 "rubycode" 2 "find_command" 2 "%f" 2 "get_tagged_response" 2 "init_parsers" 2 "NoResponseError" 2 "\\)" 2 "^\\(" 2 ",?\\s*&\\w+" 2 "BadResponseError" 2 "find_command_possibilities" 2 "generate_tag" 2 "init_separators" 2 "\\v" 2 "@re_chars" 2 "#<%s:0x%x %s%s%s (%s)%s>" 2 "4294967296" 2 "@re_esc" 2 "%p" 2 "%-" 2 "default_internal" 2 "NIL" 2 "installation_satisfies_dependency?" 2 "month=" 2 "TokenStream" 2 "@month" 2 "operator" 2 "send_number_data" 2 "send_list_data" 2 "send_time_data" 2 "mswin|cygwin|mingw|bccwin" 2 "send_symbol_data" 2 "\"\"" 2 "[\\x80-\\xff\\r\\n]" 2 "# literal\n" 2 "default_config_hash" 2 "[(){ \\x00-\\x1f\\x7f%*\"\\\\]" 2 "# quoted string\n" 2 "add_target" 2 "[\"\\\\]" 2 "\\\\\\\\\\\\&" 2 "DATE_MONTH" 2 "@day" 2 " is a module" 2 "@min" 2 "VerifyCallbackProc" 2 "# before parsing.\n" 2 "# transcoded into the data's Encoding\n" 2 "OPERATING_SYSTEM_DEFAULTS" 2 "handle_obj" 2 "HTTP_PROTO" 2 "generate_line" 2 "# module.\n" 2 "DEFAULT_HEADER" 2 "StatusCodeMapping" 2 "PLATFORM_DEFAULTS" 2 "Request" 2 "all_classes_and_modules" 2 "NormalClass" 2 "writeTo" 2 "# The +options+ parameter can be anthing CSV::new() understands. This method\n" 2 "ensure_nz_number" 2 "NormalModule" 2 "http_header" 2 "system_config_path" 2 "http_date" 2 "MailboxList" 2 "aTime" 2 "CSIDL_COMMON_APPDATA" 2 "@file_absolute_name" 2 "# mailbox:: The mailbox with the associated quota.\n" 2 "# but transcode it to UTF-8 before CSV parses it.\n" 2 "# encoding: \"UTF-32BE:UTF-8\" would read UTF-32BE data from the file\n" 2 "ARGF" 2 "cached_gem" 2 "host/port don't match: " 2 "SYSTEM_WIDE_CONFIG_FILE" 2 "file_stat" 2 "write_require_paths_file_if_needed" 2 " " 2 "MailboxQuotaRoot" 2 "write_spec" 2 "MailboxACLItem" 2 "StatusData" 2 "FetchData" 2 "Envelope" 2 "build_extensions" 2 "find_attribute_named" 2 "find_constant_named" 2 "find_method_named" 2 "generate_bin" 2 "ensure_dependency" 2 "required_ruby_version" 2 "module_name" 2 "new_scope" 2 "?@" 2 "EMPTY_TASK_ARGS" 2 "Address" 2 "removeChild" 2 "hasChildNodes" 2 "ContentDisposition" 2 "# circular dependencies.\n" 2 "Tag" 2 "# media_type:: Returns the content media type name as defined in [MIME-IMB].\n" 2 "each_classmodule" 2 "# subtype:: Returns the content subtype name as defined in [MIME-IMB].\n" 2 "# param:: Returns a hash that represents parameters as defined in [MIME-IMB].\n" 2 "# disposition:: Returns a Net::IMAP::ContentDisposition object giving\n" 2 "65535" 2 "# the content disposition.\n" 2 "# language:: Returns a string or an array of strings giving the body\n" 2 "# language value as defined in [LANGUAGE-TAGS].\n" 2 "ELSE" 2 "# Find a named module\n" 2 "# extension:: Returns extension data.\n" 2 "udpsock" 2 "#TODO: error when wrong Entity-type\n" 2 "mem" 2 "@faultCode" 2 "@faultString" 2 "EmptyInvocationChain" 2 "EMPTY" 2 "Reusing class/module " 2 "actions" 2 "@requires" 2 "full_comment" 2 "current_scope" 2 "add_require" 2 "# object of the Array.\n" 2 "childs" 2 "@@instances" 2 "# The gem repository the gem will be installed into\n" 2 "an_include" 2 "v_nil" 2 "header_converters:" 2 "find_instance_method_named" 2 "#hasOnlyOneChild(node)\n" 2 "headers:" 2 "converters:" 2 "quote_char:" 2 "wrong/unknown XML-RPC type 'nil'" 2 "col_sep:" 2 "an_attribute" 2 "add_attribute" 2 "# The directory a gem's executables will be installed into\n" 2 "RequirePathsBuilder" 2 "operating_system_config" 2 "platform_config" 2 "system_config" 2 "@method_name" 2 "@fault" 2 "XMLStreamParser" 2 "add_module" 2 "NQXMLStreamParser" 2 "BodyTypeText" 2 "BodyTypeMessage" 2 "user_config" 2 "BodyTypeMultipart" 2 "XMLRPCParser" 2 "numeric" 2 "add_class" 2 "ExtensionBuildError" 2 "# encoding conversion or date parse errors\n" 2 "random_number" 2 "enhance" 2 "handle_arguments" 2 "# can be nested with other combo fields.\n" 2 "# To add a combo field, the value should be an Array of names. Combo fields\n" 2 "# values to it that can be accessed by all CSV objects.\n" 2 "Failed to load " 2 "DateTimeMatcher" 2 "methods_matching" 2 "XMLScanStreamParser" 2 "DateMatcher" 2 "Entities" 2 "FieldInfo" 2 "US-ASCII" 2 "clear_prerequisites" 2 "NUMBER" 2 "# tuples containing the column name and an Array of values for that column.\n" 2 "# walking of rows. In column mode, interation will +yield+ two element\n" 2 "# calling by_col!() or by_row!().\n" 2 "# columns for header access. You can force the index association by first\n" 2 "by_row!" 2 "by_col_or_row!" 2 "clear_actions" 2 "by_col!" 2 "new_chain" 2 "UnconnectedUDP" 2 "@sections" 2 "ConnectedUDP" 2 "single?" 2 "OtherResolvError" 2 "# that this method can consume a fair amount of memory for bigger data sets.\n" 2 "T_BSLASH" 2 "# chaining in a single call without changing the table mode, but be aware \n" 2 "# # ---------------------\n" 2 "array_of_rows" 2 "asciicompat_encoding" 2 "# any encoding error\n" 2 "LITERAL" 2 "# Support for Enumerable.\n" 2 "set_comment" 2 "prereq_args" 2 "T_PERCENT" 2 "# otherwise.\n" 2 "extract_resources" 2 "header?" 2 "NoError" 2 "set_arg_names" 2 "new_range" 2 "latest_prereq" 2 "task_defined?" 2 " " 2 "out_of_date?" 2 "= " 2 "make_requester" 2 "# CSV::Row.field().\n" 2 "directive_name" 2 "@overridables" 2 "attr_overridable" 2 "BEG_REGEXP" 2 "DATA_REGEXP" 2 "TEXT_REGEXP" 2 "\\G(?:\\\n" 2 "RTEXT_REGEXP" 2 "CTEXT_REGEXP" 2 "finder" 2 "continue_req" 2 "response_untagged" 2 "ERR_METHOD_MISSING" 2 "(unknown)" 2 "MultiTask" 2 "parent_file_name" 2 "force_documentation" 2 "response_tagged" 2 "file_create" 2 "ERR_UNCAUGHT_EXCEPTION" 2 "numeric_response" 2 "response_cond" 2 "\\A(?:FLAGS)\\z" 2 "flags_response" 2 "list_response" 2 "getquota_response" 2 "RUBY_FRAMEWORK_VERSION" 2 "getquotaroot_response" 2 "ERR_MC_WRONG_PARAM" 2 "getacl_response" 2 "ERR_MC_MISSING_PARAMS" 2 "ERR_MC_MISSING_METHNAME" 2 "ERR_MC_RECURSIVE_CALL" 2 "search_response" 2 "thread_response" 2 "status_response" 2 "capability_response" 2 "ERR_MC_WRONG_PARAM_PARAMS" 2 "text_response" 2 "ERR_MC_EXPECTED_STRUCT" 2 "each_dir_parent" 2 "class_delim" 2 "in_namespace" 2 "add_multicall" 2 "EXISTS" 2 "add_introspection" 2 "msg_att" 2 "envelope_data" 2 "flags_data" 2 "internaldate_data" 2 "rfc822_text" 2 "rfc822_size" 2 "body_data" 2 "uid_data" 2 "Policies" 2 "### Array Delegation ###\n" 2 "# Internal data format used to compare equality.\n" 2 "fns" 2 "@header_row" 2 "body_type_mpart" 2 "body_type_1part" 2 "body_type_text" 2 "body_type_msg" 2 "body_type_basic" 2 "ruby_engine" 2 "header_row" 2 "# * size()\n" 2 "# * length()\n" 2 "# * empty?()\n" 2 "# csv << [\"another\", \"row\"]\n" 2 "# csv << [\"row\", \"of\", \"CSV\", \"data\"]\n" 2 ".*\\s.*" 2 "body_ext_mpart" 2 "TEST" 2 "hlp" 2 "# ==== All at Once\n" 2 "\"\\&\"" 2 "default_exec_format" 2 "baseruby" 2 "rake_loader" 2 "fix" 2 "nr" 2 "body_extension" 2 "# # use row here...\n" 2 "dispatch" 2 "# names will be Resolv::DNS::Name instances.\n" 2 "mailbox_list" 2 "AAAA" 2 "lib_path" 2 "# ==== A Line at a Time\n" 2 "@loader" 2 "@warning" 2 "@libs" 2 "check_arity" 2 "# needed.\n" 2 "compressed_data" 2 "default_system_source_cache_dir" 2 "# do nothing \n" 2 "resp_text_code" 2 "ADDRESS_REGEXP" 2 "source_cache" 2 "default_user_source_cache_dir" 2 "# token = lookahead\n" 2 "dst_name" 2 "FLAG_REGEXP" 2 "string_token?" 2 "STRING_TOKENS" 2 "warning" 2 "atom_token?" 2 "ATOM_TOKENS" 2 "# See CSV for documentation.\n" 2 "src_name" 2 "# resolver.\n" 2 "# +name+ can be a Resolv::DNS::Name or a String. Retrieved addresses will\n" 2 "install_indicies" 2 "make_temp_directories" 2 "LoginAuthenticator" 2 "safe_ln" 2 "split_all" 2 "# Avoid warnings.\n" 2 "requirement_list" 2 "# If verbose is true, then the utility method is echoed to standard output.\n" 2 "PlainAuthenticator" 2 "PLAIN" 2 "CramMD5Authenticator" 2 "# # Return to the original value when code is done.\n" 2 "hmac_md5" 2 "when_writing" 2 "\\/" 2 "CRAM-MD5" 2 "DigestMD5Authenticator" 2 "rake_merge_option" 2 "rubygems/dependency_list" 2 "rubygems/installer" 2 " s.serve\n" 2 "^\"(.*)\"$" 2 "rubygems/spec_fetcher" 2 " gems from " 2 " Call this after you have added all you handlers to the server.\n" 2 "ldexp" 2 "CGIServer" 2 "# TODO: do we need a call to binmode?\n" 2 "ARRAY_METHODS" 2 "<<-\"MSGEND\"" 2 "log_enabled" 2 "test/test*.rb" 2 "#.*" 2 "test/unit/assertions" 2 "a0" 2 "qdval" 2 "collect_specs" 2 "authname" 2 " \n \n" 2 "MUST_DEFINE" 2 " \#{" 2 "rdoc/rdoc" 2 "\\\\\\1" 2 "argstring" 2 "\n \n \n" 2 "MUST_NOT_DEFINE" 2 "

\#{" 2 "# HACK dup\n" 2 "SPECIAL_RETURN" 2 "

\n

Unexpected error occured while processing XML-RPC request!

\n \n \n" 2 "DELEGATING_METHODS" 2 "(*args, &block)\n resolve\n" 2 "# Create the tasks defined by this task lib.\n" 2 " MSGEND\n" 2 "# exit from the #serve method\n" 2 "conjugate" 2 " result = @items.send(:\#{" 2 "get_password" 2 "theta" 2 "stty" 2 " }" 2 "get_command" 2 "win32/resolv" 2 "marshal_zipped" 2 "--port" 2 "--user" 2 "--auth" 2 "--ssl" 2 "yaml_zipped" 2 "AddressRegex" 2 "ok\\n" 2 "yaml_name" 2 "ENVELOPE" 2 "RFC822.HEADER" 2 "RFC822.TEXT" 2 "# Copyright (c) 1999-2007 Yukihiro Matsumoto.\n" 2 "# Copyright (c) 1999-2007 Minero Aoki.\n" 2 "# Written & maintained by Minero Aoki .\n" 2 "# Documented by William Webber and Minero Aoki.\n" 2 "# modify this program under the same terms as Ruby itself,\n" 2 "# rd.rdoc_files.include(\"README.rdoc\", \"lib/**/*.rb\")\n" 2 "# NOTE: You can find Japanese version of this document at:\n" 2 "Hosts" 2 "resolvers" 2 "# Iterates over all hostnames for +address+.\n" 2 "Complete" 2 "# == What is This Library?\n" 2 "# details.\n" 2 "signals" 2 "# i += 1\n" 2 " gems" 2 "# 'YourAccount', 'YourPassword') do |pop|\n" 2 "# if pop.mails.empty?\n" 2 "# puts 'No mail.'\n" 2 "# File.open(\"inbox/\#{i}\", 'w') do |f|\n" 2 "# f.write m.pop\n" 2 "# i += 1\n" 2 "DEFAULT_IGNORE_PATTERNS" 2 "build_indicies" 2 "abbreviate" 2 "DEFAULT_IGNORE_PROCS" 2 "# File.open(\"inbox/\#{i}\", 'w') do |f|\n" 2 "specs." 2 "need" 2 "tar_bz2_file" 2 "tar_gz_file" 2 "tgz_file" 2 "# f.write m.pop\n" 2 "clear_exclude" 2 "Marshal." 2 "@user_install" 2 "default_pop3s_port" 2 "# Return the internal array object.\n" 2 "to_xs" 2 "@cache_dir" 2 "@zip_command" 2 "# This method is equivalent to:\n" 2 "@tar_command" 2 "^$" 2 "# file.write m.pop\n" 2 "re_str" 2 "# Looks up all hostnames for +address+.\n" 2 "# This method raises POPAuthenticationError if authentication fails.\n" 2 "# Net::POP3.auth_only('pop.example.com', 110,\n" 2 "inf" 2 "end_time" 2 "# Looks up the hostname of +address+.\n" 2 "do_configuration" 2 "@doc_manager_class" 2 "@config_file_class" 2 "ssl_params" 2 "need_zip" 2 "# :yield: pop\n" 2 "need_tar_bz2" 2 "@command_manager_class" 2 "need_tar_gz" 2 "# Iterates over all IP addresses for +name+.\n" 2 "need_tar" 2 "# Looks up all IP address for +name+.\n" 2 "rake_original_time_compare" 2 "# Looks up the first IP address for +name+.\n" 2 "securerandom" 2 "gather_dependencies" 2 "NameSpace" 2 "task_manager" 2 "scope_list" 2 "# by BasicServer#add_handler\n" 2 "POP" 2 "POP3Command" 2 "apop" 2 "n_mails" 2 "meth_name" 2 "parse_sig" 2 "POPMail" 2 "# of date.\n" 2 "# :yield: message\n" 2 "deleted?" 2 "# added to the main clobber target.\n" 2 "rset" 2 "# ---------------------------------\n" 2 "set_all_uids" 2 "# db.transaction do\n" 2 "# class aliases\n" 2 "# db = PStore.new(\"query.db\")\n" 2 "dependency_order" 2 "TaskManager" 2 "@pop" 2 "# require \"pstore\"\n" 2 "# cgi.has_key?('field_name')\n" 2 "# value = cgi['field_name'] # <== value string for 'field_name'\n" 2 "find_spec_by_name_and_version" 2 "synthesize_file_task" 2 "Interface" 2 "PublicInstanceMethodsInterface" 2 "spec_and_sources" 2 "GemNotFoundException" 2 "original_resolv_connect" 2 "original_resolv_bind" 2 "# dependencies declared.\n" 2 "# The patterns recognized by this argument resolving function are:\n" 2 "attempt_rule" 2 "^rake:" 2 "Hostname not known: " 2 "# The optional +dest+ argument is obsolete.\n" 2 "dele" 2 "unique_id" 2 "# Benchmark::measure\n" 2 "node_text" 2 "UseBlock" 2 "UseFold" 2 "PackageTask" 2 "ESCAPE_CHAR" 2 "Installer" 2 " socket=" 2 "esc_skip" 2 "from_source_index" 2 "src_index" 2 "^(\\^+)" 2 "gemspecs" 2 "\\A\\+OK" 2 "BestWidth" 2 "Mapping" 2 "ProtoSyntaxError" 2 "ProtoUnknownError" 2 "# if @buffer.length == 1 and options(:UseHeader) == false and type.length.zero? \n" 2 "# Read\n" 2 "# spec = Gem::Specification.new do |s|\n" 2 "# @headless = 1 \n" 2 "tn" 2 "DefaultKey" 2 "generate_name" 2 "read " 2 "DOT_DOC_FILENAME" 2 "lib_dirs_for" 2 "BUFSIZE" 2 "# Emit the key and value\n" 2 "# of the individual times for this Tms object by _x_.\n" 2 "# Tms object.\n" 2 "# Write\n" 2 "# # ----------------------------------------\n" 2 "Sequence" 2 "CLOBBER" 2 "clean" 2 "# to enjoy picnics\n" 2 "# YAML Generic Model container\n" 2 "# Search for YPath entry and return\n" 2 "@save_debug_out" 2 "# Create a new generic view of the elements selected\n" 2 "# that seems to sleep a lot\n" 2 "cu" 2 "# yield line, address\n" 2 "# % rdoc --help\n" 2 "prev" 2 "each_crlf_line" 2 "write_message" 2 "sorted" 2 "wrote " 2 "write_message_by_block" 2 "WriteAdapter" 2 "buffer_filling" 2 "# for speeding up.\n" 2 "@method_id" 2 "call_block" 2 "each_path" 2 "Racc_token_to_s_table" 2 " [" 2 "init_gemspecs" 2 "rpower" 2 "SMTPServerBusy" 2 "SMTPSyntaxError" 2 "SMTPFatalError" 2 "rdiv" 2 "sim" 2 "ok_to_remove?" 2 "trace_rules" 2 "SMTPUnsupportedCommand" 2 "predicates" 2 "# require 'net/smtp'\n" 2 "siblings" 2 "# smtp.send_message msgstr,\n" 2 "make_sources" 2 "@fmtstr" 2 "token_to_str" 2 "default_tls_port" 2 "# Usually, one doesn't call this method directly, as new\n" 2 "realtime" 2 "racc_reduce" 2 "ESCAPES" 2 "\\x00" 2 "tmp_t" 2 "GC" 2 "quof" 2 "RakeApp" 2 "Rehearsal " 2 "Job" 2 "racc_next_state" 2 "bmbm" 2 "racc_e_pop" 2 "bm" 2 "on_error" 2 "UNESCAPES" 2 "racc_accept" 2 "Report" 2 "esmtp?" 2 "no block" 2 "# user_yyerror\n" 2 "None" 2 "_racc_do_reduce" 2 "rake_original_const_missing" 2 "top_level_tasks" 2 "racc_shift" 2 "rakefile_location" 2 "DBM" 2 "ifnone" 2 "' " 2 "ssl?" 2 "enable_tls" 2 "DEFAULT_RAKEFILES" 2 "ignored" 2 "racc_read_token" 2 "# :yield: report\n" 2 "disable_tls" 2 "starttls_always?" 2 "fn_task" 2 "# n = 50000\n" 2 "# require 'benchmark'\n" 2 "# >avg: 1.333333 0.011111 1.344444 ( 0.629761)\n" 2 "# >total: 4.000000 0.033333 4.033333 ( 1.889282)\n" 2 "# upto: 1.533333 0.000000 1.533333 ( 0.722166)\n" 2 "# times: 1.450000 0.016667 1.466667 ( 0.681367)\n" 2 "# for: 1.016667 0.016667 1.033333 ( 0.485749)\n" 2 "# sort 12.007000 0.000000 12.007000 ( 12.791000)\n" 2 "# sort! 12.959000 0.010000 12.969000 ( 13.793000)\n" 2 "# user system total real\n" 2 "# \n" 2 "# ------------------------------- total: 25.006000sec\n" 2 "# sort 13.048000 0.020000 13.068000 ( 13.857000)\n" 2 "# sort! 11.928000 0.010000 11.938000 ( 12.756000)\n" 2 "# Rehearsal -----------------------------------------\n" 2 "always" 2 "starttls_auto?" 2 "# +context+ is a OpenSSL::SSL::SSLContext object.\n" 2 "# TimeoutError is raised.\n" 2 "# x.report(\"sort\") { array.dup.sort }\n" 2 "win32_system_dir" 2 "# x.report(\"sort!\") { array.dup.sort! }\n" 2 "# Benchmark.bmbm do |x|\n" 2 "# array = (1..1000000).map { rand }\n" 2 "# upto: 1.500000 0.016667 1.516667 ( 0.711239)\n" 2 "# times: 1.533333 0.016667 1.550000 ( 0.735473)\n" 2 "# for: 1.050000 0.000000 1.050000 ( 0.503462)\n" 2 "DocumentError" 2 "debug_output=" 2 "RAKE_SYSTEM" 2 "# smtp.send_message msgstr, 'from@example.com', ['dest@example.com']\n" 2 "load_imports" 2 "rlib" 2 "# === Block Usage\n" 2 "_racc_yyparse_rb" 2 "_racc_do_parse_rb" 2 "/*.rake" 2 "Racc_Runtime_Core_Revision" 2 "-_" 2 "Racc_Runtime_Core_Version" 2 "+/" 2 "(in " 2 "@default_loader" 2 "# * Net::SMTPAuthenticationError\n" 2 "# The alphabet uses '-' instead of '+' and '_' instead of '/'.\n" 2 "_racc_do_parse_c" 2 "# Alphabet'' in RFC 4648.\n" 2 "Racc_Runtime_Core_Revision_C" 2 "# This method complies with ``Base 64 Encoding with URL and Filename Safe\n" 2 "strict_decode64" 2 "Racc_Runtime_Core_Revision_R" 2 "Racc_Runtime_Core_Version_R" 2 "$originalRevision: 1.8 $" 2 "find_rakefile_location" 2 "1.4.5" 2 "m0" 2 ".rake" 2 "expired" 2 "strict_encode64" 2 "yaml_tag_class_name" 2 "Struct::" 2 "# :yield: smtp\n" 2 "yaml_tag_read_class" 2 "load_rakefile" 2 "app_name" 2 "::|\\/" 2 "# This method complies with RFC 4648.\n" 2 "search_const" 2 "collect_tasks" 2 "struct_def" 2 "parsed_argv" 2 "-H" 2 "rdoc_installed?" 2 "parse_openssl" 2 "OBJECT_TYPE_TEMPLATE" 2 "raw_load_rakefile" 2 "ehlo" 2 "capabilities" 2 "msg_dn" 2 "# +from_addr+ is a String representing the source mail address.\n" 2 "# +to_addr+ is a String or Strings or Array of Strings, representing\n" 2 "?," 2 "# Note that if both RI and RDoc documents are generated from the same\n" 2 "str3" 2 "str2" 2 "str1" 2 "expand_value" 2 "# the destination mail address or addresses.\n" 2 "der" 2 "expand_hexstring" 2 "# This method complies with RFC 2045.\n" 2 "# process, the RI docs should be done first (a likely bug in RDoc will cause\n" 2 "# RI docs generation to fail if run after RDoc).\n" 2 "generate_ri" 2 "TypeAndValue" 2 "closed session" 2 "rubygems/gem_openssl" 2 "install_ri" 2 "# obsolete\n" 2 "open_message_stream" 2 "tag:yaml.org,2002:str" 2 "-V" 2 "AttributeValue" 2 "is_binary_data?" 2 "AttributeType" 2 "# Thank you, NaHi\n" 2 "QuoteChar" 2 "generate_rdoc" 2 "StringChar" 2 "install_rdoc" 2 "crammed" 2 "rdots" 2 "HexString" 2 "Invalid Regular expression: " 2 "display_tasks_and_comments" 2 "cram_md5_response" 2 "--op" 2 "RFC2253DN" 2 "cram_md5_challenge" 2 "ignore_system" 2 "IMASK" 2 "OMASK" 2 "old_pwd" 2 "# \"oid = critical, value\"\n" 2 "display_prerequisites" 2 "rcptto" 2 "load_system" 2 "check_continue" 2 "tag:yaml.org,2002:timestamp" 2 "-g" 2 "utc_same_instant" 2 "utc_same_writing" 2 "invoke_task" 2 "how" 2 "backlog" 2 "-s" 2 "@start_immediately" 2 "session_id_context" 2 "nosearch" 2 "uninstall_doc" 2 "(io)" 2 "start_immediately" 2 "SSLServer" 2 "# io:: [IO] Stream from which to read the gem\n" 2 "# Reads a gem from an io stream and returns a Format object, representing\n" 2 "Telnet" 2 "tag:yaml.org,2002:int" 2 "[^.]+" 2 "\\\\\\*" 2 "tag:yaml.org,2002:float" 2 "doc_num" 2 "-N" 2 ",\\s+" 2 "whence" 2 "@ln_sep" 2 "rake_require" 2 "Nonblock" 2 "check_unicode" 2 "utf_encoding" 2 "getsockopt" 2 "optval" 2 "yaml/basenode" 2 "OldFormat" 2 "V_FLAG_CRL_CHECK_ALL" 2 "Abbrev" 2 "DependencyRemovalException" 2 "# the same terms as Ruby.\n" 2 "# All rights reserved. You can redistribute and/or modify it under\n" 2 "GemNotInHomeException" 2 "DEFAULT_PARAMS" 2 "# Potentially raised when a specification is validated.\n" 2 "EndOfYAMLException" 2 "242" 2 "task_string" 2 "-P" 2 "tag_class" 2 "parse_task_string" 2 "have_rakefile" 2 "OPT_NEW_ENVIRON" 2 "OPT_EXOPL" 2 "# the current scope. Read only. Thread local.\n" 2 "# successful pattern match. This variable is local to \n" 2 "sc" 2 "$?" 2 "standard_rake_options" 2 "# The process number of the program being executed. Read only.\n" 2 "# file_path:: [String] Path to the gem file\n" 2 "$_" 2 "# add warning\n" 2 "# This class is only provided for backwards compatibility. Use OpenSSL::Digest in the future.\n" 2 "$." 2 "# Reads the named gem file and returns a Format object, representing \n" 2 "# The number of the last line read from the current input file.\n" 2 "$\\" 2 "# gem:: [String] The file name of the gem\n" 2 "# You must call cipher.encrypt or cipher.decrypt before calling this method.\n" 2 "# +nil+.\n" 2 "# data structure.\n" 2 "# Kernel.print and IO.write. The default value is\n" 2 "# Constructs an instance of a Format object, representing the gem's\n" 2 "# The string appended to the output of every call to methods such as\n" 2 " [\#{" 2 "]|\n" 2 "# boundaries. If set to +nil+, +gets+ will read the entire file.\n" 2 "%x{" 2 "# that routines such as Kernel.gets use to determine record\n" 2 "dynamic_width_tput" 2 "dynamic_width_stty" 2 "AES" 2 "SpecialHash" 2 "# and provides the capability to read gem files\n" 2 "# The input record separator (newline by default). This is the value\n" 2 "Omap" 2 "osync" 2 "\\r\\z" 2 "dynamic_width" 2 "$," 2 "# which adds no text.\n" 2 "# as Kernel.print and Array.join. Defaults to +nil+,\n" 2 "Pairs" 2 "# The separator string output between the parameters to methods such\n" 2 "# Sends a string to the host.\n" 2 "$;" 2 "# set from the command line using the -F flag.\n" 2 "# The default separator pattern used by String.split. May be\n" 2 "unix?" 2 "terminal_width" 2 "# The format class knows the guts of the RubyGem .gem file format\n" 2 "@predicates" 2 "# \n" 2 "rake " 2 "Buffering" 2 "# \"waterbuffalo\" =~ /buff/\n" 2 " Copyright (C) 2001 GOTOU YUUZOU \n" 2 "LoginPrompt" 2 "PasswordPrompt" 2 "SystemExitException" 2 "tty_output?" 2 "truncate_output?" 2 "BN" 1 "Invalid Signing Chain" 1 "# Add double dispatch to Integer\n" 1 "to_bn" 1 " $Id: bn.rb 11708 2007-02-12 23:01:19Z shyouhei $\n" 1 "= $RCSfile$ -- Ruby-space definitions that completes C-space funcs for BN\n" 1 "# class Telnet\n" 1 "# Integer\n" 1 "= $RCSfile$ -- Buffering mix-in module.\n" 1 "Password" 1 "[Pp]ass(?:word|phrase)[: ]*\\z" 1 " $Id: buffering.rb 14261 2007-12-17 07:06:16Z gotoyuzo $\n" 1 "[Ll]ogin[: ]*\\z" 1 "# for reading.\n" 1 "# data is also yielded to the block as it is received.\n" 1 "# the host should not echo). If a block is passed in, this received\n" 1 "# the host, including the echoed username but not the password (which\n" 1 "# The method returns all data received during the login process from\n" 1 "# sent, it will have to be dealt with by later calls.\n" 1 "# the method will not look for the \"Password:\" prompt; if it is\n" 1 "# or by providing a has that has no \"Password\" key. In this case,\n" 1 "# provided one String argument, which will be used as the username,\n" 1 "# The password can be omitted, either by only\n" 1 "# to handle login yourself.\n" 1 "# are connecting to a service other than telnet), you will need\n" 1 "# login sequence does not follow this pattern (for instance, you\n" 1 "# host to determine when to send the username and password. If the\n" 1 "# This method looks for the strings \"login\" and \"Password\" from the\n" 1 "# \"Password\". \n" 1 "# arguments in that order, or as a hash with keys \"Name\" and\n" 1 "# The username and password can either be provided as two string\n" 1 "# Login to the host with a given username and password.\n" 1 "# to it.\n" 1 "# The command or other string will have the newline sequence appended\n" 1 "# used, or, failing that, the default value of 10 seconds.\n" 1 "# value specified when this instance was created will be\n" 1 "# a Timeout error. If not specified, the Timeout option\n" 1 "# Timeout:: the seconds to wait for data from the host before raising\n" 1 "# prompt of /[$%#>] \\z/n.\n" 1 "# was created will be used, or, failing that, the default\n" 1 "# the Prompt option value specified when this instance\n" 1 "# the received data before returning. If not specified,\n" 1 "# Match:: a regular expression, the sequence to look for in\n" 1 "# String:: the command or other string to send to the host.\n" 1 "# following options can be specified:\n" 1 "# send to the host; or it is a hash of options. If a hash, the\n" 1 "# +options+ is either a String, specified the string or command to\n" 1 "# the prompt and in most cases the host's echo of our command.\n" 1 "# will be return as a string. Note that the received data includes\n" 1 "# it is read in. Whether a block is given or not, the received data \n" 1 "# If a block is given, the received data will be yielded to it as\n" 1 "# data until is sees the prompt or other matched sequence.\n" 1 "# More exactly, sends a string to the host, and reads in all received\n" 1 "# Send a command to the host.\n" 1 "# Same as #print(), but appends a newline to the string.\n" 1 "# NONE send EOL --> CR+LF\n" 1 "# IAC WILL SGA send EOL --> CR+NULL\n" 1 "# IAC WILL SGA IAC DO BIN send EOL --> CR\n" 1 "# set by the host.\n" 1 "# depending upon the values of telnetmode, binmode, and telnet options\n" 1 "# newlines may be converted and telnet command sequences escaped \n" 1 "# This does _not_ automatically append a newline to the string. Embedded\n" 1 "readchar" 1 "# for writing.\n" 1 "# dumplog, if the Dump_log option is set.\n" 1 "# Does not perform any conversions on +string+. Will log +string+ to the\n" 1 "# Write +string+ to the host.\n" 1 "# End of file reached\n" 1 "# method makes some Telnetmode-specific assumptions.\n" 1 "# We cannot use preprocess() on this data, because that\n" 1 "# Not Telnetmode.\n" 1 "\\n\\z" 1 "]?\\z" 1 "sysclose" 1 "timed out while waiting for more data" 1 "= $RCSfile$ -- Ruby-space predefined Cipher subclasses\n" 1 " $Id: cipher.rb 12148 2007-04-05 05:59:22Z technorama $\n" 1 "CAST5" 1 "BF" 1 "DES" 1 "IDEA" 1 "RC2" 1 "# \n" 1 "# has been received already, or nil if nothing was received.\n" 1 "# behaviour that the function will return whatever data\n" 1 "# EOFError will be raised. Otherwise, defaults to the old\n" 1 "# FailEOF:: if true, when the remote end closes the connection then an\n" 1 "# which means not to wait for more input.\n" 1 "# used, or, failing that, the default value of 0 seconds,\n" 1 "# value specified when this instance was created will be\n" 1 "# trying to match. If not specified, the Waittime option\n" 1 "# not to have matched successfully, and will continue\n" 1 "# data arrives within this time, we will judge ourselves\n" 1 "# the input data to see if more data arrives. If more\n" 1 "# Waittime:: the number of seconds to wait after matching against\n" 1 "# default value of 10 seconds.\n" 1 "# was created will be used, or, failing that, the\n" 1 "# Timeout option value specified when this instance\n" 1 "# no timeout will occur. If not specified, the\n" 1 "# before raising a TimeoutError. If set to false, \n" 1 "# Timeout:: the number of seconds to wait for data from the host\n" 1 "# Prompt are not specified.\n" 1 "# into a regular expression. Used only if Match and\n" 1 "# String:: as for Match, except a string that will be converted\n" 1 "# Prompt:: as for Match; used only if Match is not specified.\n" 1 "# Match:: a regular expression, specifying the data to wait for.\n" 1 "# If a hash, this can specify the following options:\n" 1 "# If a regular expression, this specifies the data to wait for.\n" 1 "# +options+ can be either a regular expression or a hash of options.\n" 1 "# received data includes the matched sequence we were looking for.\n" 1 "# nil if EOF occurs before any data is received. Note that\n" 1 "# or not, all data read will be returned in a single string, or again \n" 1 "# occurs before any data is received. Whether a block is given\n" 1 "# is read in (not necessarily all in one go), or nil if EOF \n" 1 "# If a block is given, the received data will be yielded as it\n" 1 "# Read data from the host until a certain sequence is matched.\n" 1 "# preprocess\n" 1 "# respond to \"IAC WON'T x\"\n" 1 "# respond to \"IAC WILL x\"\n" 1 "# respond to \"IAC DON'T x\" with \"IAC WON'T x\"\n" 1 "# respond to \"IAC DO x\"\n" 1 "nobody here but us pigeons" 1 "# respond to \"IAC AYT\" (are you there)\n" 1 "# handle escaped IAC characters\n" 1 " )/xno" 1 "]*" 1 " \#{" 1 " [\#{" 1 "]\n" 1 "RC4" 1 "RC5" 1 "(\n" 1 "# remove NULL\n" 1 "# combine EOL into \"\\n\"\n" 1 "# combine CR+NULL into CR\n" 1 "CBC" 1 "# or similar, and even then only if in telnet mode.\n" 1 "# method yourself if you have read input directly using sysread()\n" 1 "# Called automatically by #waitfor(). You should only use this \n" 1 "# Performs newline conversion and detects telnet command sequences.\n" 1 "# Preprocess received data from the host.\n" 1 "binmode=" 1 "# Turn newline conversion on (false) or off (true).\n" 1 "# or return the current value (+mode+ is not specified).\n" 1 "# Turn newline conversion on (+mode+ == false) or off (+mode+ == true),\n" 1 "AES-" 1 "telnetmode=" 1 "# to connect to a non-telnet service such as SMTP.\n" 1 "# should be on for true telnet sessions, off if using Net::Telnet\n" 1 "# Turn telnet command interpretation on (true) or off (false). It\n" 1 "argument must be true or false, or missing" 1 "telnetmode" 1 "# as SMTP.\n" 1 "# using Net::Telnet to connect to a non-telnet service such\n" 1 "# provided). It should be on for true telnet sessions, off if\n" 1 "# (+mode+ == false), or return the current value (+mode+ not\n" 1 "# Set telnet command interpretation on (+mode+ == true) or off\n" 1 "# directly on the Telnet object.\n" 1 "# a delegate of the Telnet object, so normally you invoke its methods\n" 1 "# The socket the Telnet object is using. Note that this object becomes\n" 1 "# initialize\n" 1 "Connected to " 1 "timed out while opening a connection to the host" 1 "...\\n" 1 "Trying " 1 "Error: Proxy must be an instance of Net::Telnet or IO." 1 "%s 0x%5.5x: %s%s\\n" 1 "[\\000-\\037\\177-\\377]" 1 "%s %s %s %s " 1 "# Generate, set, and return a random key.\n" 1 "random_key" 1 "key_len" 1 "# Generate, set, and return a random iv.\n" 1 "random_iv" 1 "iv_len" 1 "# Cipher\n" 1 "= $RCSfile$ -- Ruby-space predefined Digest subclasses\n" 1 "Telnetmode option must be true or false" 1 " $Id: digest.rb 15602 2008-02-25 08:51:18Z technorama $\n" 1 "Binmode option must be true or false" 1 "DSS" 1 "DSS1" 1 "[$%#>] \\z" 1 "MD2" 1 "MD4" 1 "# :yield: mesg \n" 1 "# kind of object will cause an error to be raised.\n" 1 "# IO object, it is used directly for communication. Any other\n" 1 "# instance will use that one's socket for communication. If an\n" 1 "# an IO object. If it is another Net::Telnet object, this \n" 1 "# to the host. Must be either another Net::Telnet object or\n" 1 "# Proxy:: a proxy object to used instead of opening a direct connection\n" 1 "# default, set to 0, meaning not to wait for more data.\n" 1 "# the terminal soon after the prompt is displayed). By\n" 1 "# prompts (if, for instance, a background process writes to\n" 1 "# avoid false matches, but it can also lead to missing real\n" 1 "# that what it saw was not really a prompt. This is to try to \n" 1 "# If more data does arrive in this time, Net::Telnet assumes\n" 1 "# option regular expression) to see if more data arrives.\n" 1 "# prompt (that is, received data that matches the Prompt\n" 1 "# Waittime:: the amount of time to wait after seeing what looks like a \n" 1 "# will hand indefinitely if no data is forthcoming.\n" 1 "# minutes), but other attempts to read data from the host\n" 1 "# Errno::ETIMEDOUT error (but generally only after a few\n" 1 "# on the underlying connect(2) socket call with an\n" 1 "# In this case, the connect attempt will eventually timeout\n" 1 "# You can disable the timeout by setting this value to false.\n" 1 "# TimeoutError to be raised. The default value is 10 seconds.\n" 1 "# #cmd(), and #login()). Exceeding this timeout causes a\n" 1 "# and all attempts to read data from the host (in #waitfor(),\n" 1 "# initial attempt to connect to host (in this constructor),\n" 1 "# Timeout:: the number of seconds to wait before timing out both the\n" 1 "# by the #telnetmode() method.\n" 1 "# undesired data corruption. This value can also be set\n" 1 "# SMTP or POP), this should be set to \"false\" to prevent\n" 1 "# object to connect to a non-telnet service (such as\n" 1 "# (but not #write()). If you are using the Net::Telnet\n" 1 "# in outgoing traffic sent using #puts() or #print()\n" 1 "# command sequences, and these sequences are escaped\n" 1 "# traffic received from the host is parsed for special\n" 1 "# Telnetmode:: a boolean value, true by default. In telnet mode, \n" 1 "# expression is /[$%#>] \\z/n.\n" 1 "# ready to receive a new command. By default, this regular\n" 1 "# when the output from a command has finished and the host is\n" 1 "# sequence. This is needed by the Telnet class to determine\n" 1 "# Prompt:: a regular expression matching the host's command-line prompt\n" 1 "# is kept.\n" 1 "# received traffic preceded by '<'. By default, not dump log\n" 1 "# preceded by '#', sent traffic preceded by '>', and \n" 1 "# printable equivalent), with connection status messages\n" 1 "# format (16 bytes per line as hex pairs, followed by their\n" 1 "# Dump_log:: as for Output_log, except that output is written in hexdump\n" 1 "# By default, no output log is kept.\n" 1 "# responses. Output is appended verbatim to this file. \n" 1 "# echoed by the host; otherwise, it only includes server\n" 1 "# Telnet session, this will include the client input as\n" 1 "# and all received traffic to. In the case of a proper\n" 1 "# Output_log:: the name of the file to write connection status messages\n" 1 "# SGA and BIN.\n" 1 "# the newline conversion is also affected by the telnet options\n" 1 "# methods, not the #write() method. The precise nature of\n" 1 "# outgoing conversion only applies to the #puts() and #print()\n" 1 "# also be set with the #binmode() method. The \n" 1 "# true, this substitution is not performed. This value can\n" 1 "# converted to CRLF, and incoming CRLF is converted to LF. If\n" 1 "# Outgoing LF is\n" 1 "# Binmode:: if false (the default), newline substitution is performed. \n" 1 "# Port:: the port to connect to. Defaults to 23.\n" 1 "# Defaults to \"localhost\".\n" 1 "# Host:: the hostname or IP address of the host to connect to, as a String. \n" 1 "# The options have the following meanings:\n" 1 "# )\n" 1 "# # proxy is Net::Telnet or IO object\n" 1 "# \"Proxy\" => proxy # default: nil\n" 1 "# \"Waittime\" => 0, # default: 0\n" 1 "# # if ignore timeout then set \"Timeout\" to false.\n" 1 "# \"Timeout\" => 10, # default: 10\n" 1 "# \"Telnetmode\" => true, # default: true\n" 1 "# \"Prompt\" => /[$%#>] \\z/n, # default: /[$%#>] \\z/n\n" 1 "# \"Dump_log\" => \"dump_log\", # default: nil (no output)\n" 1 "# \"Output_log\" => \"output_log\", # default: nil (no output)\n" 1 "# \"Binmode\" => false, # default: false\n" 1 "# \"Port\" => 23, # default: 23\n" 1 "# \"Host\" => \"localhost\", # default: \"localhost\"\n" 1 "# host = Net::Telnet::new(\n" 1 "# all options and their default values.\n" 1 "# +options+ is a hash of options. The following example lists\n" 1 "# Connected to localhost.\n" 1 "# Trying localhost...\n" 1 "# the form:\n" 1 "# status messages on the attempt to connect to the server, of\n" 1 "# provided: see below). If a block is provided, it is yielded\n" 1 "# Attempts to connect to the host (unless the Proxy option is\n" 1 "# Creates a new Net::Telnet object.\n" 1 "$Id: telnet.rb 17387 2008-06-17 14:04:48Z jeg2 $" 1 "\\000" 1 "# \"\\377\" # \"\\xff\" # Extended-Options-List \n" 1 "MDC2" 1 "# \"'\" # \"\\x27\" # New Environment Option \n" 1 "RIPEMD160" 1 "# \"&\" # \"\\x26\" # Encryption Option \n" 1 "38" 1 "OPT_ENCRYPT" 1 "# \"%\" # \"\\x25\" # Authentication Option \n" 1 "OPT_AUTHENTICATION" 1 "# \"$\" # \"\\x24\" # Environment Option \n" 1 "OPT_OLD_ENVIRON" 1 "# \"#\" # \"\\x23\" # X Display Location \n" 1 "OPT_XDISPLOC" 1 "# \"\\\"\" # \"\\x22\" # Linemode \n" 1 "34" 1 "OPT_LINEMODE" 1 "# \"!\" # \"\\x21\" # Remote Flow Control \n" 1 "OPT_LFLOW" 1 "# \" \" # \"\\x20\" # Terminal Speed \n" 1 "OPT_TSPEED" 1 "# \"\\037\" # \"\\x1f\" # Negotiate About Window Size \n" 1 "OPT_NAWS" 1 "# \"\\036\" # \"\\x1e\" # X.3 PAD \n" 1 "OPT_X3PAD" 1 "# \"\\035\" # \"\\x1d\" # Telnet 3270 Regime \n" 1 "OPT_3270REGIME" 1 "# \"\\034\" # \"\\x1c\" # Terminal Location Number \n" 1 "OPT_TTYLOC" 1 "# \"\\e\" # \"\\x1b\" # Output Marking \n" 1 "OPT_OUTMRK" 1 "# \"\\032\" # \"\\x1a\" # TACACS User Identification \n" 1 "OPT_TUID" 1 "# \"\\031\" # \"\\x19\" # End of Record \n" 1 "OPT_EOR" 1 "# \"\\030\" # \"\\x18\" # Terminal Type \n" 1 "OPT_TTYPE" 1 "# \"\\027\" # \"\\x17\" # Send Location \n" 1 "OPT_SNDLOC" 1 "# \"\\026\" # \"\\x16\" # SUPDUP Output \n" 1 "OPT_SUPDUPOUTPUT" 1 "# \"\\025\" # \"\\x15\" # SUPDUP \n" 1 "OPT_SUPDUP" 1 "# \"\\024\" # \"\\x14\" # Data Entry Terminal \n" 1 "OPT_DET" 1 "# \"\\023\" # \"\\x13\" # Byte Macro \n" 1 "OPT_BM" 1 "# \"\\022\" # \"\\x12\" # Logout \n" 1 "OPT_LOGOUT" 1 "# \"\\021\" # \"\\x11\" # Extended ASCII \n" 1 "OPT_XASCII" 1 "# \"\\020\" # \"\\x10\" # Output Linefeed Disposition \n" 1 "OPT_NAOLFD" 1 "# \"\\017\" # \"\\x0f\" # Output Vertical Tab Disposition \n" 1 "OPT_NAOVTD" 1 "# \"\\016\" # \"\\x0e\" # Output Vertical Tabstops \n" 1 "OPT_NAOVTS" 1 "# \"\\r\" # \"\\x0d\" # Output Formfeed Disposition \n" 1 "OPT_NAOFFD" 1 "# \"\\f\" # \"\\x0c\" # Output Horizontal Tab Disposition \n" 1 "OPT_NAOHTD" 1 "# \"\\v\" # \"\\x0b\" # Output Horizontal Tab Stops \n" 1 "OPT_NAOHTS" 1 "# \"\\n\" # \"\\x0a\" # Output Carriage-Return Disposition \n" 1 "OPT_NAOCRD" 1 "# \"\\t\" # \"\\x09\" # Output Page Size \n" 1 "OPT_NAOP" 1 "# \"\\010\" # \"\\x08\" # Output Line Width \n" 1 "OPT_NAOL" 1 "# \"\\a\" # \"\\x07\" # Remote Controlled Trans and Echo \n" 1 "OPT_RCTE" 1 "# \"\\006\" # \"\\x06\" # Timing Mark \n" 1 "OPT_TM" 1 "# \"\\005\" # \"\\x05\" # Status \n" 1 "OPT_STATUS" 1 "# \"\\004\" # \"\\x04\" # Approx Message Size Negotiation \n" 1 "OPT_NAMS" 1 "# \"\\003\" # \"\\x03\" # Suppress Go Ahead \n" 1 "SHA" 1 "# \"\\002\" # \"\\x02\" # Reconnection \n" 1 "OPT_RCP" 1 "# \"\\001\" # \"\\x01\" # Echo \n" 1 "OPENSSL_VERSION_NUMBER" 1 "# \"\\000\" # \"\\x00\" # Binary Transmission \n" 1 "0x00908000" 1 "# \"\\362\" # \"\\xf2\" # for telfunc calls \n" 1 "SYNCH" 1 "# \"\\354\" # \"\\xec\" # End of file \n" 1 "236" 1 "# \"\\355\" # \"\\xed\" # Suspend process \n" 1 "237" 1 "SUSP" 1 "# \"\\356\" # \"\\xee\" # Abort process \n" 1 "238" 1 "ABORT" 1 "# \"\\357\" # \"\\xef\" # end of record (transparent mode) \n" 1 "239" 1 "EOR" 1 "# \"\\360\" # \"\\xf0\" # end sub negotiation \n" 1 "240" 1 "SHA224" 1 "# \"\\361\" # \"\\xf1\" # nop \n" 1 "241" 1 "# Digest\n" 1 "# \"\\362\" # \"\\xf2\" # data mark--for connect. cleaning \n" 1 "= $RCSfile$ -- Ruby-space definitions that completes C-space funcs for SSL\n" 1 " $Id: ssl.rb 14479 2007-12-22 08:31:53Z gotoyuzo $\n" 1 "# \"\\363\" # \"\\xf3\" # break \n" 1 "243" 1 "BREAK" 1 "# \"\\364\" # \"\\xf4\" # interrupt process--permanently \n" 1 "244" 1 "openssl/buffering" 1 "# \"\\365\" # \"\\xf5\" # abort output--but let prog finish \n" 1 "245" 1 "ssl_version" 1 "# \"\\366\" # \"\\xf6\" # are you there \n" 1 "246" 1 "SSLv23" 1 "# \"\\367\" # \"\\xf7\" # erase the current character \n" 1 "247" 1 "# \"\\370\" # \"\\xf8\" # erase the current line \n" 1 "248" 1 "EL" 1 "# \"\\371\" # \"\\xf9\" # you may reverse the line \n" 1 "GA" 1 "# \"\\372\" # \"\\xfa\" # interpret as subnegotiation \n" 1 "ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW" 1 "# \"\\373\" # \"\\xfb\" # I will use option \n" 1 "251" 1 "OP_ALL" 1 "# \"\\374\" # \"\\xfc\" # I won't use option \n" 1 "252" 1 "do_not_reverse_lookup=" 1 "# \"\\375\" # \"\\xfd\" # please, you use option \n" 1 "253" 1 "subjectAltName" 1 "# \"\\376\" # \"\\xfe\" # you are not to use option \n" 1 "254" 1 "\\ADNS:(.*)" 1 "# \"\\377\" # \"\\xff\" # interpret as command\n" 1 "\\AIP Address:(.*)" 1 "CN" 1 "# http://www.omnifarious.org/~hopper/technical/telnet-rfc.html\n" 1 "# of relevant RFCs, see\n" 1 "# RFCs 854-861 define the base protocol. For a complete listing\n" 1 "# There are a large number of RFCs relevant to the Telnet protocol.\n" 1 "# pop.cmd(\"list\") { |c| print c }\n" 1 "# pop.cmd(\"pass \" + \"your_password_here\") { |c| print c }\n" 1 "# pop.cmd(\"user \" + \"your_username_here\") { |c| print c }\n" 1 "# \"Prompt\" => /^\\+OK/n)\n" 1 "# \"Telnetmode\" => false,\n" 1 "# \"Port\" => 110,\n" 1 "# pop = Net::Telnet::new(\"Host\" => \"your_destination_host_here\",\n" 1 "# === Check a POP server to see if you have mail\n" 1 "# localhost.close\n" 1 "# localhost.cmd(\"command\") { |c| print c }\n" 1 "# localhost.login(\"username\", \"password\") { |c| print c }\n" 1 "# \"Prompt\" => /[$%#>] \\z/n)\n" 1 "# \"Timeout\" => 10,\n" 1 "# localhost = Net::Telnet::new(\"Host\" => \"localhost\",\n" 1 "# === Log in and send a command, echoing all output to stdout\n" 1 "# unit testing.\n" 1 "# can be useful, for instance, for setting up a test fixture for\n" 1 "# to already open sockets, or to any read-write IO object. This\n" 1 "# can be used to attach the Telnet object to other Telnet objects,\n" 1 "# you can supply a proxy IO channel via the Proxy option. This\n" 1 "# It is worth noting that when you create a new Net::Telnet object,\n" 1 "# responses yourself.\n" 1 "# to use #sysread() instead of #waitfor() and parse server \n" 1 "# #puts() and #waitfor() directly; for yet others, you will have \n" 1 "# look for as the Match option to every #cmd() call, or call\n" 1 "# for others, you will have to specify the response sequence to\n" 1 "# option once when you create the Telnet object and use #cmd() calls; \n" 1 "# For some protocols, it will be possible to specify the +Prompt+\n" 1 "# have to handle authentication yourself.\n" 1 "# Generally, #login() will not work with other protocols, and you\n" 1 "# the client from attempting to interpret telnet command sequences.\n" 1 "# connect to, and set the +Telnetmode+ option to false to prevent\n" 1 "# want to provide the +Port+ option to specify the port to\n" 1 "# services, such as SMTP or HTTP. In this case, you normally\n" 1 "# A Net::Telnet object can also be used to connect to non-telnet\n" 1 "# only needed if you are doing something more complicated.\n" 1 "# #write() methods, which #cmd() is implemented on top of, are\n" 1 "# to end the session. The #waitfor(), #print(), #puts(), and\n" 1 "# issuing one or more #cmd() calls, and then calling #close()\n" 1 "# set to your host, calling #login() with your user and password,\n" 1 "# is done by creating a Net::Telnet class with the +Host+ option\n" 1 "# account on a server and execute commands via a shell. The equivalent\n" 1 "# The telnet protocol allows a client to login remotely to a user\n" 1 "# preprocess() to extract telnet command sequences.\n" 1 "# when in telnet mode, you should probably pass the output through\n" 1 "# mechanism. Note that if you do use sysread() directly\n" 1 "# data directly from the host, instead of via the waitfor()\n" 1 "# close() to end the session and sysread() to read\n" 1 "# +Proxy+ option to new()). This provides methods such as\n" 1 "# socket object (by default, a +TCPSocket+, but can be set by the\n" 1 "# This class also has, through delegation, all the methods of a\n" 1 "# Provides telnet client functionality.\n" 1 "# == Net::Telnet\n" 1 "# For documentation, see Net::Telnet.\n" 1 "# telnet functionality.\n" 1 "# This file holds the class Net::Telnet, which provides client-side\n" 1 "# Documentation:: William Webber and Wakou Aoyama \n" 1 "# Author:: Wakou Aoyama \n" 1 "# = net/telnet.rb - Simple Telnet Client Library\n" 1 "SMTPSession" 1 "# class SMTP\n" 1 "\\A53" 1 "\\A50" 1 "drop" 1 "hostname was not match with the server certificate" 1 "could not get 3xx (" 1 "SessionError" 1 "SHUT_RDWR" 1 "= $RCSfile$ -- Ruby-space definitions that completes C-space funcs for X509 and subclasses\n" 1 "200 dummy reply code" 1 " $Id: x509.rb 15442 2008-02-12 06:18:06Z naruse $\n" 1 "# \"210-PIPELINING\"\n" 1 "create_ext_from_" 1 "create_ext_from_array" 1 "message or block is required" 1 "message and block are exclusive" 1 "#:yield: stream\n" 1 "# f.puts \"Check vm.c:58879.\"\n" 1 "# f.puts \"\"\n" 1 "# f.puts \"Subject: I found a bug\"\n" 1 "# f.puts \"To: betty@example.com\"\n" 1 "# f.puts \"From: john@example.com\"\n" 1 "# smtp.data {|f|\n" 1 "# # Example 2 (by block)\n" 1 "# EndMessage\n" 1 "# Check vm.c:58879.\n" 1 "# Subject: I found a bug\n" 1 "# To: betty@example.com\n" 1 "# From: john@example.com\n" 1 "# smtp.data(<sn|ln, \"value\"=>value, \"critical\"=>true|false}\n" 1 ",=+<>#;" 1 "\\\\(?:[" 1 "AUTH CRAM-MD5" 1 "]|\\\\|\"|" 1 "auth_cram_md5" 1 "AUTH LOGIN" 1 "\\\\\"]" 1 "auth_login" 1 "[^\\\\\"]" 1 "[a-zA-Z][0-9a-zA-Z]*|[0-9]+(?:\\.[0-9]+)*" 1 "AUTH PLAIN " 1 "auth_plain" 1 " (?![\"#])((?:\#{" 1 ")*)|\n" 1 "# Authentication\n" 1 "ready" 1 "# :yield: stream\n" 1 " \\#(\#{" 1 "# f.puts 'This is a test message.'\n" 1 "# f.puts\n" 1 "# f.puts 'Subject: test message'\n" 1 "# f.puts 'To: dest@example.com'\n" 1 "# f.puts 'From: from@example.com'\n" 1 "# smtp.open_message_stream('from@example.com', ['dest@example.com']) do |f|\n" 1 "# Net::SMTP.start('smtp.example.com', 25) do |smtp|\n" 1 "# message with this method.\n" 1 "# it is converted to the CR LF pair. You cannot send a binary\n" 1 "# If a single CR (\"\\r\") or LF (\"\\n\") is found in the message,\n" 1 "# <<(str):: outputs STR and returns self.\n" 1 "# write(str):: outputs STR and returns the length of written bytes.\n" 1 "# printf(fmt, *args):: outputs sprintf(fmt,*args).\n" 1 "# print(str):: outputs STR.\n" 1 "# puts(str = ''):: outputs STR and CR LF.\n" 1 "# The stream is valid only in the block, and has these methods:\n" 1 "# Opens a message writer stream and gives it to the block.\n" 1 ")|\n" 1 "sendmail" 1 "send_mail" 1 " \"((?:\#{" 1 ")*)\"\n" 1 " /x" 1 ")=" 1 "0x" 1 "invalid pair: " 1 "# ['dest@example.com', 'dest2@example.com']\n" 1 "# 'from@example.com',\n" 1 "# Net::SMTP.start('smtp.example.com') do |smtp|\n" 1 "ASN1" 1 "?+" 1 "multi-valued RDN is not supported: " 1 "# the message headers and body.\n" 1 "# binary message with this method. +msgstr+ should include both \n" 1 "# in the +msgstr+, are converted into the CR LF pair. You cannot send a\n" 1 "# Sends +msgstr+ as a message. Single CR (\"\\r\") and LF (\"\\n\") found\n" 1 "# Message Sending\n" 1 " =>" 1 "malformed RDN: " 1 "TLS connection started" 1 "# authentication failed, cancel connection.\n" 1 "# helo response may be different after STARTTLS\n" 1 "STARTTLS is not supported on this server" 1 "parse_rfc2253" 1 "\\s*([^\\/,]+)\\s*" 1 "# OptionParser internal utility\n" 1 "Connection opened: " 1 " version " 1 "\\AV(?:ERSION|ersion)\\z" 1 "each_const" 1 "SMTP session already started" 1 "# $originalId: parser.rb,v 1.8 2006/07/06 11:42:07 aamine Exp $\n" 1 "not yet started" 1 "# Finishes the SMTP session and closes TCP connection.\n" 1 "# If session has already been started, an IOError will be raised.\n" 1 "# started. \n" 1 "# (#esmtp=), which must be done before the session is\n" 1 "# is probably to set debugging (#set_debug_output) or ESMTP\n" 1 "# The primary use of this method (as opposed to SMTP.start)\n" 1 "# end \n" 1 "# smtp.start(helo_domain, account, password, authtype) do |smtp|\n" 1 "# smtp = Net::SMTP.new('smtp.mail.server', 25)\n" 1 "# require 'net/smtp' \n" 1 "# This is very similar to the class method SMTP.start.\n" 1 "# responsibility to close the session when finished.\n" 1 "# the block call finishes. Otherwise, it is the caller's \n" 1 "# object is yielded to the block, and automatically closed after\n" 1 "# When this methods is called with a block, the newly-started SMTP\n" 1 "# in the overview. \n" 1 "# :login, :plain, and :cram_md5. See the notes on SMTP Authentication\n" 1 "# the type of authentication to attempt; it must be one of\n" 1 "# will be attempted using the AUTH command. +authtype+ specifies \n" 1 "# If both of +user+ and +secret+ are given, SMTP authentication \n" 1 "# the discussion in the overview notes.\n" 1 "# +helo+ is the _HELO_ _domain_ that you'll dispatch mails from; see\n" 1 "# Opens a TCP connection and starts the SMTP session.\n" 1 "# +true+ if the SMTP session has been started.\n" 1 "# Copyright (c) 1999-2006 Minero Aoki\n" 1 "# As a special exception, when this code is copied by Racc\n" 1 "# into a Racc output file, you may use that output file\n" 1 "# without restriction.\n" 1 "Racc_Runtime_Version" 1 "Racc_Runtime_Revision" 1 "racc/cparse" 1 "# Racc_Runtime_Core_Version_C = (defined in extention)\n" 1 "Racc_Runtime_Core_Id_C" 1 "old cparse.so" 1 "selecting ruby version of racc runtime core" 1 "_racc_yyparse_c" 1 "Racc_Runtime_Core_Version_C" 1 "# SMTP Authentication in the overview notes.\n" 1 "# type, one of :plain, :login, or :cram_md5. See the discussion of\n" 1 "# or other authentication token; and +authtype+ is the authentication\n" 1 "# or desired. +user+ is the account name; +secret+ is your password\n" 1 "# The remaining arguments are used for SMTP authentication, if required\n" 1 "# server (see overview comments); it defaults to 'localhost'. \n" 1 "# +helo+ is the _HELO_ _domain_ provided by the client to the\n" 1 "# +port+ is the port to connect to; it defaults to port 25.\n" 1 "# +address+ is the hostname or ip address of your smtp server.\n" 1 "# finished.\n" 1 "# the caller, and it is the caller's responsibility to close it when\n" 1 "# without a block, the newly-opened Net::SMTP object is returned to\n" 1 "# to the block, and automatically closed when the block finishes. If called\n" 1 "# If called with a block, the newly-opened Net::SMTP object is yielded\n" 1 "racc_runtime_type" 1 "Racc_debug_parser" 1 "# Net::SMTP.start('your.smtp.server') do |smtp|\n" 1 "# Net::SMTP.new(address, port).start(helo_domain, account, password, authtype)\n" 1 "# Creates a new Net::SMTP object and connects to the server.\n" 1 "# SMTP session control\n" 1 "Racc_arg" 1 "# smtp.start do |smtp|\n" 1 "# smtp.set_debug_output $stderr\n" 1 "# smtp = Net::SMTP.new(addr, port)\n" 1 "# # example\n" 1 "# You must call this before #start.\n" 1 "# Set an output stream for debug logging.\n" 1 "# Use this method for only debugging.\n" 1 "# WARNING: This method causes serious security holes.\n" 1 "# call.\n" 1 "# Set the number of seconds to wait until timing-out a read(2)\n" 1 "# If the read(2) call does not complete within this time, a\n" 1 "# Seconds to wait while reading one block (by one read(2) call).\n" 1 "### do_parse\n" 1 "# If the connection cannot be opened within this time, a\n" 1 "# Seconds to wait while attempting to open a connection.\n" 1 "# The port number of the SMTP server to connect to.\n" 1 "# The address of the SMTP server to connect to.\n" 1 "disable_starttls" 1 "# before the connection is established to have any effect.\n" 1 "# Disables SMTP/TLS (STARTTLS) for this object. Must be called\n" 1 "enable_starttls_auto" 1 "# Enables SMTP/TLS (STARTTLS) for this object if server accepts.\n" 1 "enable_starttls" 1 "do_parse" 1 "# Enables SMTP/TLS (STARTTLS) for this object.\n" 1 "\\#next_token is not defined" 1 "# true if this object uses STARTTLS when server advertises STARTTLS.\n" 1 "in_debug" 1 "# not EOF\n" 1 "# true if this object uses STARTTLS.\n" 1 "starttls?" 1 "# If this object uses STARTTLS when the server support TLS, returns :auto.\n" 1 "# If this object always uses STARTTLS, returns :always.\n" 1 "# Returns truth value if this object uses STARTTLS.\n" 1 "# EOF\n" 1 "# connection is established to have any effect.\n" 1 "# Disables SMTP/TLS for this object. Must be called before the\n" 1 "### yyparse\n" 1 "yyparse" 1 "# to have any effect. +context+ is a OpenSSL::SSL::SSLContext object.\n" 1 "# this object. Must be called before the connection is established\n" 1 "# Enables SMTP/TLS (SMTPS: SMTP over direct TLS connection) for\n" 1 "c_debug" 1 "# $\n" 1 "# true if this object uses SMTP/TLS (SMTPS).\n" 1 "capable_auth_types" 1 "# Returns supported authentication methods on this server.\n" 1 "### common\n" 1 "capable_cram_md5_auth?" 1 "# true if server advertises AUTH CRAM-MD5.\n" 1 "capable_login_auth?" 1 "# true if server advertises AUTH LOGIN.\n" 1 "# tmp\n" 1 "capable_plain_auth?" 1 "# true if server advertises AUTH PLAIN.\n" 1 "# shift\n" 1 "# reduce\n" 1 "# yyerror\n" 1 "# true if server advertises STARTTLS.\n" 1 "esmtp" 1 "# yyaccept\n" 1 "esmtp=" 1 "# retry (but not vice versa).\n" 1 "# object will automatically switch to plain SMTP mode and\n" 1 "# and the connection fails due to a ProtocolError, the SMTP\n" 1 "# calling #start. Note that if #start is called in ESMTP mode,\n" 1 "# Set whether to use ESMTP or not. This should be done before \n" 1 "[Racc Bug] unknown jump code" 1 "# +true+ if the SMTP object uses ESMTP (which it does by default).\n" 1 " started=" 1 "# accept\n" 1 "# error\n" 1 "# is $\n" 1 "[Racc Bug] unknown action " 1 "# at once. Otherwise, follow SMTP.new with SMTP#start.\n" 1 "# SMTP.start instead of SMTP.new if you want to do everything\n" 1 "# This method does not open the TCP connection. You can use\n" 1 "# port 25.\n" 1 "# server. +port+ is the port to connect to; it defaults to\n" 1 "# +address+ is the hostname or ip address of your SMTP\n" 1 "# Creates a new Net::SMTP object.\n" 1 "# tstack must be updated AFTER method call\n" 1 "default_ssl_port" 1 "465" 1 "\\nparse error on value %s (%s)" 1 "# The default SMTPS port number, 465.\n" 1 "587" 1 "default_submission_port" 1 "# The default mail submission port number, 587.\n" 1 "# The default SMTP port number, 25.\n" 1 "Revision: 18351 " 1 "yyerror" 1 "# 'Your Account', 'Your Password', :cram_md5)\n" 1 "# # CRAM MD5\n" 1 "# 'Your Account', 'Your Password', :login)\n" 1 "# # LOGIN\n" 1 "# 'Your Account', 'Your Password', :plain)\n" 1 "yyaccept" 1 "# # PLAIN\n" 1 "# SMTP.start/SMTP#start.\n" 1 "# To use SMTP authentication, pass extra arguments to \n" 1 "# PLAIN, LOGIN and CRAM MD5. (SMTP Authentication: [RFC2554])\n" 1 "# The Net::SMTP class supports three authentication schemes;\n" 1 "# === SMTP Authentication\n" 1 "# 'mail.from.domain') { |smtp| ... }\n" 1 "# Net::SMTP.start('your.smtp.server', 25,\n" 1 "# the SMTP session by inspecting the HELO domain.\n" 1 "# The SMTP server will judge whether it should send or reject\n" 1 "# (the host to send mail from). It is called the \"HELO domain\".\n" 1 "# to SMTP.start/SMTP#start. This is the domain name which you are on\n" 1 "# In almost all situations, you must provide a third argument\n" 1 "# === HELO domain\n" 1 "# I strongly recommend this scheme. This form is simpler and more robust.\n" 1 "# smtp.send_message msgstr, 'from@address', 'to@address'\n" 1 "# # using block form of SMTP.start\n" 1 "# the SMTP session automatically:\n" 1 "# You can also use the block form of SMTP.start/SMTP#start. This closes\n" 1 "# smtp.finish\n" 1 "# smtp.send_message msgstr, 'from@address', 'to@address'\n" 1 "# smtp = Net::SMTP.start('your.smtp.server', 25)\n" 1 "# # using SMTP#finish\n" 1 "# the #finish method:\n" 1 "# You MUST close the SMTP session after sending messages, by calling \n" 1 "# === Closing the Session\n" 1 "# 'his_addess@example.com'\n" 1 "# 'your@mail.address',\n" 1 "yyerrok" 1 "# END_OF_MESSAGE\n" 1 "# This is a test message.\n" 1 "# Message-Id: \n" 1 "# Date: Sat, 23 Jun 2001 16:26:43 +0900\n" 1 "# Subject: test message\n" 1 "# To: Destination Address \n" 1 "# From: Your Name \n" 1 "# msgstr = <" 1 "# Represents a fatal SMTP error (error code 5xx, except for 500)\n" 1 " --> " 1 "# Represents an SMTP command syntax error (error code 500)\n" 1 "error recovering mode: pop token" 1 "# Represents SMTP error code 420 or 450, a temporary error.\n" 1 "goto " 1 "# Represents an SMTP authentication error.\n" 1 "# In later release, this module becomes a class.\n" 1 "# This *class* is a module for backward compatibility.\n" 1 "[Racc Bug] can't convert token " 1 "# Module mixed in to all SMTP error classes\n" 1 "# See Net::SMTP for documentation. \n" 1 "# $Id: smtp.rb 18351 2008-08-04 05:46:53Z shyouhei $\n" 1 "# http://www.ruby-lang.org/ja/man/html/net_smtp.html\n" 1 "# modify this program under the same terms as Ruby itself.\n" 1 "# = net/smtp.rb\n" 1 "# not Proc#call. You can see difference when using `break' in\n" 1 "# This method is needed because @block must be called by yield,\n" 1 " to string" 1 "# The following classes used to be in the top level namespace.\n" 1 "# The writer adapter class\n" 1 "# generic reader\n" 1 "# Loading this file enables compatibility with older Rakefile that\n" 1 "\\A.*(?:\\n|\\r\\n|\\r(?!\\z))" 1 "# referenced Task from the top level.\n" 1 "# empty src\n" 1 "# unterminated last line\n" 1 "# allow `break' from writer block\n" 1 "# The 'rake/clean' file defines two file lists (CLEAN and CLOBBER) and\n" 1 "writing message from block" 1 "# two rake tasks (:clean and :clobber).\n" 1 "# [:clean] Clean up the project by deleting scratch files and backup\n" 1 "# files. Add files to the CLEAN file list to have the :clean\n" 1 "writing message from " 1 "# target handle them.\n" 1 "# [:clobber] Clobber all generated and non-source files in a project.\n" 1 "# The task depends on :clean, so all the clean files will\n" 1 "# be deleted as well as files in the CLOBBER file list.\n" 1 "# *library private* (cannot handle 'break')\n" 1 " bytes)" 1 "read message (" 1 "# The intent of this task is to return a project to its\n" 1 "reading message..." 1 "# pristine, just unpacked state.\n" 1 "**/*~" 1 "**/*.bak" 1 "**/core" 1 "# Logging\n" 1 "<- " 1 "core" 1 "Remove any temporary products." 1 "Remove any generated file." 1 "# Define a package task library to aid in the definition of GEM\n" 1 "-> " 1 "# packages.\n" 1 "rake/packagetask" 1 "# Create a package based upon a Gem spec. Gem packages, as well as\n" 1 "# zip files and tar/gzipped packages can be produced by this task.\n" 1 "reading all..." 1 "# In addition to the Rake targets generated by PackageTask, a\n" 1 "# GemPackageTask will also generate the following tasks:\n" 1 "# [\"package_dir/name-version.gem\"]\n" 1 "# Create a Ruby GEM package with the given name and version.\n" 1 "# Example using a Ruby GEM spec:\n" 1 " bytes..." 1 "reading " 1 "# require 'rubygems'\n" 1 "# s.platform = Gem::Platform::RUBY\n" 1 " io=" 1 "# s.summary = \"Ruby based make-like utility.\"\n" 1 "ProtocRetryError" 1 "ProtoCommandError" 1 "# s.name = 'rake'\n" 1 "# s.version = PKG_VERSION\n" 1 "# s.requirements << 'none'\n" 1 "\n end\n" 1 "# s.require_path = 'lib'\n" 1 "protocol_param" 1 "# Do not rely on the implementation written in this file.\n" 1 "# WARNING: This file is going to remove.\n" 1 "# $Id: protocol.rb 12091 2007-03-19 02:27:08Z aamine $\n" 1 "# Ruby Distribute License or GNU General Public License.\n" 1 "# written and maintained by Minero Aoki \n" 1 "# Copyright (c) 1999-2004 Minero Aoki\n" 1 "# Copyright (c) 1999-2004 Yukihiro Matsumoto\n" 1 "# = net/protocol.rb\n" 1 "# class POP3Command\n" 1 "+OK dummy ok response" 1 "# s.autorequire = 'rake'\n" 1 "# s.files = PKG_FILES\n" 1 "UIDL" 1 "UIDL %d" 1 "DELE %d" 1 "RETR %d" 1 "# s.description = <" 1 "# pkg.need_tar = true\n" 1 "GemPackageTask" 1 "# Ruby GEM spec containing the metadata for this package. The\n" 1 "# name, version and package_files are automatically determined\n" 1 "# from the GEM spec and don't need to be explicitly provided.\n" 1 "# class POPMail\n" 1 "# Create a GEM Package task library. Automatically define the gem\n" 1 "# Normally the unique-id is a hash string of the message.\n" 1 "# Returns the unique-id of the message.\n" 1 "# True if the mail has been deleted.\n" 1 "# if a block is given. If no block is supplied, then +define+\n" 1 "# popmail.delete ####\n" 1 "# f.write popmail.pop\n" 1 "# cancelled for _all_ marked messages by calling POP3#reset().\n" 1 "# actually occur until the end of the session; deletion may be\n" 1 "# Marks a message for deletion on the server. Deletion does not\n" 1 "# Fetches the message header. \n" 1 "# needs to be called to define the task.\n" 1 "# Fetches the message header and +lines+ lines of body. \n" 1 "mail" 1 "# Initialization tasks without the \"yield self\" or define\n" 1 "# :yield: message_chunk\n" 1 "# f.write chunk\n" 1 "# popmail.pop do |chunk| ####\n" 1 "# === Example with block\n" 1 "# operations.\n" 1 "# popmail.delete\n" 1 "# f.write popmail.pop \n" 1 "# Create the Rake tasks and actions specified by this\n" 1 "# GemPackageTask. (+define+ is automatically called if a block is\n" 1 "# given to +new+).\n" 1 "Build the gem file " 1 "Creating GEM" 1 "# === Example without block\n" 1 "# argument is essentially obsolete.\n" 1 "# +dest+ argument will be prepended to the returned String; this\n" 1 "# without a block, the message is returned as a String. The optional \n" 1 "# message is yielded to the block one chunk at a time. If called\n" 1 "# This method fetches the message. If called with a block, the\n" 1 " deleted" 1 "# The length of the message in octets.\n" 1 "# The sequence number of the message on the server.\n" 1 "# Define a package task libarary to aid in the definition of\n" 1 "# redistributable package files.\n" 1 "# Create a packaging task that will package the project into\n" 1 "# distributable files (e.g zip archive or tar files).\n" 1 "# not be directly created by the user.\n" 1 "# Instances of this class are created by the POP3 class; they should\n" 1 "# This class represents a message which exists on the POP server.\n" 1 "APOPSession" 1 "# Always returns true.\n" 1 "# This class is equivalent to POP3, except that it uses APOP authentication.\n" 1 "POP3Session" 1 "POPSession" 1 "# The PackageTask will create the following targets:\n" 1 "# class POP3\n" 1 "# [:package]\n" 1 "#:nodoc: internal use only (called from POPMail#uidl)\n" 1 "# Create all the requested package files.\n" 1 "# [:clobber_package]\n" 1 "# Delete all the package files. This target is automatically\n" 1 "# Resets the session. This clears all \"deleted\" marks from messages.\n" 1 "# [:repackage]\n" 1 "# n += 1\n" 1 "# File.open(\"inbox/\#{n}\") do |f|\n" 1 "# pop.delete_all do |m|\n" 1 "# n = 1\n" 1 "# If called with a block, yields each message in turn before deleting it.\n" 1 "# Deletes all messages on the server.\n" 1 "# Rebuild the package files from scratch, even if they are not out\n" 1 "# pop3.mails.each do |popmail|\n" 1 "# Equivalent to:\n" 1 "# Yields each message to the passed-in block in turn.\n" 1 "# [\"package_dir/name-version.tgz\"]\n" 1 "# some popd raises error for LIST on the empty mailbox.\n" 1 "# Create a gzipped tar package (if need_tar is true). \n" 1 "# [\"package_dir/name-version.tar.gz\"]\n" 1 "# this method is called (directly or indirectly) and cached.\n" 1 "# restarts; otherwise, it is fetched from the server the first time\n" 1 "# messages on the server. This array is renewed when the session\n" 1 "# Returns an array of Net::POPMail objects, representing all the\n" 1 "n_bytes" 1 "# Returns the total size in bytes of all the messages on the POP server.\n" 1 "# Create a gzipped tar package (if need_tar_gz is true). \n" 1 "# Returns the number of messages on the POP server.\n" 1 "# POP protocol wrapper\n" 1 "POP session not opened yet" 1 "POP session not yet started" 1 "# Finishes a POP3 session and closes TCP connection.\n" 1 "# Authentication failed, clean up connection.\n" 1 "# [\"package_dir/name-version.tar.bz2\"]\n" 1 "# Create a bzip2'd tar package (if need_tar_bz2 is true). \n" 1 "# [\"package_dir/name-version.zip\"]\n" 1 "POP session started: " 1 "# Create a zip package archive (if need_zip is true).\n" 1 "# Rake::PackageTask.new(\"rake\", \"1.2.3\") do |p|\n" 1 "POP session already started" 1 "# closes the session after block call finishes.\n" 1 "# When called with block, gives a POP3 object to the block and\n" 1 "# Starts a POP3 session.\n" 1 "# +true+ if the POP3 session has started.\n" 1 "# Set the read timeout.\n" 1 "# If the POP3 object cannot complete a read() within this time,\n" 1 "# Seconds to wait until reading one block (by one read(1) call).\n" 1 "# If the POP3 object cannot open a connection within this time,\n" 1 "# Seconds to wait until a connection is opened.\n" 1 "# The address to connect to.\n" 1 "# p.need_tar = true\n" 1 "# pop.start(account, passwd) do |pop|\n" 1 "# pop.set_debug_output $stderr\n" 1 "# pop = Net::POP.new(addr, port)\n" 1 "# Use this method only for debugging.\n" 1 "# *WARNING*: This method causes a serious security hole.\n" 1 "# p.package_files.include(\"lib/**/*.rb\")\n" 1 "# +params+ (except :port) is passed to OpenSSL::SSLContext#set_params.\n" 1 "# +params[:port]+ is port to establish the SSL connection on; Defaults to 995.\n" 1 "# established to have any effect.\n" 1 "# Enables SSL for this instance. Must be called before the connection is\n" 1 "# Net::POP#enable_ssl(params = {})\n" 1 "# does this instance use SSL?\n" 1 "# Name of the package.\n" 1 "# Does this instance use APOP authentication?\n" 1 "# Version of the package (e.g. '1.3.2').\n" 1 "# Directory used to store the package files (default is 'pkg').\n" 1 "# True if a gzipped tar file (tgz) should be produced (default is false).\n" 1 "# True if a gzipped tar file (tar.gz) should be produced (default is false).\n" 1 "# True if a bzip2'd tar file (tar.bz2) should be produced (default is false).\n" 1 "# This method does *not* open the TCP connection.\n" 1 "# to use APOP authentication; it defaults to +false+.\n" 1 "# The optional +isapop+ specifies whether this connection is going\n" 1 "# The optional +port+ is the port to connect to.\n" 1 "# +address+ is the hostname or ip address of your POP3 server.\n" 1 "# Creates a new POP3 object.\n" 1 "# True if a zip file should be produced (default is false)\n" 1 "# m.delete\n" 1 "# file.write m.pop\n" 1 "# pop.each_mail do |m|\n" 1 "# Net::POP3.start(addr, port, account, password) do |pop|\n" 1 "# and automatically closes it at the end of the session.\n" 1 "# If +block+ is provided, yields the newly-opened POP3 object to it,\n" 1 "# Net::POP3.new(address, port, isapop).start(account, password)\n" 1 "# Creates a new POP3 object and open the connection. Equivalent to \n" 1 "# Session management\n" 1 "# List of files to be included in the package.\n" 1 "# Tar command for gzipped or bzip2ed archives. The default is 'tar'.\n" 1 "# Disable SSL for all new instances.\n" 1 "tar_command" 1 "# Zip command for zipped archives. The default is 'zip'.\n" 1 "# +params+ is passed to OpenSSL::SSLContext#set_params.\n" 1 "# Enable SSL for all new instances.\n" 1 "# Net::POP.enable_ssl(params = {})\n" 1 "zip_command" 1 "# SSL\n" 1 "opening previously opened POP session" 1 "# This method must not be called while POP3 session is opened.\n" 1 "# Starts a pop3 session, attempts authentication, and quits.\n" 1 "# Create a Package Task with the given name and version. \n" 1 "# 'YourAccount', 'YourPassword', true)\n" 1 "# === Example: APOP\n" 1 "# 'YourAccount', 'YourPassword')\n" 1 "# Initialization that bypasses the \"yield self\" and \"define\" step.\n" 1 "# === Example: normal POP3\n" 1 "@package_dir" 1 "# Opens a POP3 session, attempts authentication, and quits.\n" 1 "@need_tar" 1 "# being deleted.\n" 1 "# If a block is given, each POPMail object is yielded to it before\n" 1 "# Starts a POP3 session and deletes all messages on the server.\n" 1 "@need_tar_gz" 1 "# :yields: message\n" 1 "# m.delete if $DELETE\n" 1 "@need_tar_bz2" 1 "# 'YourAccount', 'YourPassword') do |m|\n" 1 "# Net::POP3.foreach('pop.example.com', 110,\n" 1 "@need_zip" 1 "# yield m\n" 1 "# pop.each_mail do |m|\n" 1 "# Net::POP3.start(address, port, account, password) do |pop|\n" 1 "tar" 1 "# yielding it to the +block+.\n" 1 "# Starts a POP3 session and iterates over each POPMail object,\n" 1 "# Create the tasks defined by this task library.\n" 1 "Version required (or :noversion)" 1 "# ....\n" 1 "# Net::POP3::APOP($is_apop).start(addr, port) do |pop|\n" 1 "# # Example 2\n" 1 "# pop = Net::POP3::APOP($is_apop).new(addr, port)\n" 1 "# # Example 1\n" 1 "# the POP class. For example:\n" 1 "# Returns the APOP class if +isapop+ is true; otherwise, returns\n" 1 "# Utilities\n" 1 "noversion" 1 "995" 1 "Build all the packages" 1 "# The default port for POP3S connections, port 995\n" 1 "110" 1 "# The default port for POP3 connections, port 110\n" 1 "Force a rebuild of the package files" 1 "# Class Parameters\n" 1 "Revision: 19776 " 1 "repackage" 1 "# String. Normally the unique-id is a hash of the message.\n" 1 "# The POPMail#unique_id() method returns the unique-id of the message as a\n" 1 "# do_something(m.pop)\n" 1 "# pop.mails.select { |m| need_pop?(m.unique_id) }.each do |m|\n" 1 "# 'Your account', 'Your password') do |pop|\n" 1 "# # determine if we need pop this mail...\n" 1 "# def need_pop?( id )\n" 1 "# you can grab only selected mails from the POP server.\n" 1 "# If your POP server provides UIDL functionality,\n" 1 "# === Fetch Only Selected Mail Using 'UIDL' POP Command\n" 1 "# # Rest of the code is the same.\n" 1 "# pop.start(YourAccount', 'YourPassword') do |pop|\n" 1 "# pop = Net::POP3.APOP($is_apop).new('apop.example.com', 110)\n" 1 "# # Use APOP authentication if $isapop == true\n" 1 "# You can use the utility method, Net::POP3.APOP(). For example:\n" 1 "# To use APOP, use the Net::APOP class instead of the Net::POP3 class.\n" 1 "# The net/pop library supports APOP authentication.\n" 1 "# === Using APOP\n" 1 "# f.write chunk\n" 1 "# m.pop do |chunk| # get a message little by little.\n" 1 "# i = 1\n" 1 "# This example avoids this.\n" 1 "# All the examples above get each message as one big string.\n" 1 "# === Memory Space Issues\n" 1 "# i += 1\n" 1 "Remove package products" 1 "cvf " 1 " -r " 1 ".tgz" 1 "# i = 0\n" 1 "# And here is an even shorter example.\n" 1 "# pop.delete_all do |m|\n" 1 "# i = 1\n" 1 "# POP3#delete_all is an alternative for #each_mail and #delete.\n" 1 "# puts \"\#{pop.mails.size} mails popped.\"\n" 1 ".tar.gz" 1 "# m.delete\n" 1 ".tar.bz2" 1 ".zip" 1 "# pop.each_mail do |m| # or \"pop.mails.each ...\"\n" 1 "# i = 0\n" 1 "# Load the test files from the command line.\n" 1 "# Create a documentation task that will generate the RDoc files for\n" 1 "# a project.\n" 1 "# The RDocTask will create the following targets:\n" 1 "# be used instead of POP3.new, POP3#start and POP3#finish.\n" 1 "# some utility methods. First, the block form of Net::POP3.start can\n" 1 "# The example above is very verbose. You can shorten the code by using\n" 1 "# === Shortened Code\n" 1 "# 3. Close POP session by calling POP3#finish or use the block form of #start.\n" 1 "# 2. Access messages by using POP3#each_mail and/or POP3#mails.\n" 1 "# 1. Call Net::POP3#start and start POP session.\n" 1 "# pop.finish # (3)\n" 1 "# puts \"\#{pop.mails.size} mails popped.\"\n" 1 "# [rdoc]\n" 1 "# m.delete\n" 1 "# f.write m.pop\n" 1 "# File.open(\"inbox/\#{i}\", 'w') do |f|\n" 1 "# pop.each_mail do |m| # or \"pop.mails.each ...\" # (2)\n" 1 "# i = 0\n" 1 "# puts 'No mail.'\n" 1 "# if pop.mails.empty?\n" 1 "# pop.start('YourAccount', 'YourPassword') # (1)\n" 1 "# pop = Net::POP3.new('pop.example.com')\n" 1 "# Main task for this RDOC task. \n" 1 "# [:clobber_rdoc]\n" 1 "# 'YourAccount' and 'YourPassword' with the appropriate account\n" 1 "# Replace 'pop.example.com' with your POP3 server address, and\n" 1 "# Messages are written to files named 'inbox/1', 'inbox/2', ....\n" 1 "# on the server.\n" 1 "# This example retrieves messages from the server and deletes them \n" 1 "# === Retrieving Messages \n" 1 "# of POP3, see [RFC1939] (http://www.ietf.org/rfc/rfc1939.txt).\n" 1 "# email via POP3, the Post Office Protocol version 3. For details\n" 1 "# This library provides functionality for retrieving \n" 1 "# Delete all the rdoc files. This target is automatically\n" 1 "# = Net::POP3\n" 1 "# [:rerdoc]\n" 1 "# Unexpected response from the server.\n" 1 "# Rebuild the rdoc files from scratch, even if they are not out\n" 1 "# Simple Example:\n" 1 "# POP3 authentication error.\n" 1 "# Rake::RDocTask.new do |rd|\n" 1 "# (reply code \"-ERR\", except authentication).\n" 1 "# Non-authentication POP3 protocol error\n" 1 "# See Net::POP3 for documentation.\n" 1 "# $Id: pop.rb 19776 2008-10-14 02:22:46Z kazu $\n" 1 "# http://www.ruby-lang.org/ja/man/html/net_pop.html\n" 1 "# rd.main = \"README.rdoc\"\n" 1 "# Ruby Distribute License.\n" 1 "# You may wish to give the task a different name, such as if you are\n" 1 "# generating two sets of documentation. For instance, if you want to have a\n" 1 "# development set of documentation including private methods:\n" 1 "# Rake::RDocTask.new(:rdoc_dev) do |rd|\n" 1 "# rd.main = \"README.doc\"\n" 1 "# = net/pop.rb\n" 1 "unknown command: " 1 "list [pattern] list mailboxes\nselect [mailbox] select mailbox\nclose close mailbox\nsummary display summary\nfetch [msgno] display message\nlogout logout\nhelp, ? display help message\n" 1 "# rd.options << \"--all\"\n" 1 "# The tasks would then be named :rdoc_dev, :clobber_rdoc_dev, and\n" 1 "no message" 1 "# :rerdoc_dev.\n" 1 "not selected" 1 "RDocTask" 1 "# Name of the main, top level task. (default is :rdoc)\n" 1 "inbox" 1 "# Name of directory to receive the html output files. (default is \"html\")\n" 1 "# Title of RDoc documentation. (default is none)\n" 1 "# Name of file to be used as the main, top level file of the\n" 1 "# RDoc. (default is none)\n" 1 "# Name of template to be used by rdoc. (defaults to rdoc's default)\n" 1 "# List of files to be included in the rdoc generation. (default is [])\n" 1 "rdoc_files" 1 "%s@%s> " 1 "# List of options to be passed rdoc. (default is [])\n" 1 "# Run the rdoc process as an external shell (default is false)\n" 1 "-echo" 1 "# Create an RDoc task named rdoc. Default task name is +rdoc+.\n" 1 "password: " 1 "# :yield: self\n" 1 " [options] \n\n --help print this message\n --port=PORT specifies port\n --user=USER specifies user\n --auth=AUTH specifies auth type\n --ssl use ssl\n" 1 "usage: " 1 "Build the RDOC HTML Files" 1 "Build the " 1 " HTML Files" 1 "Force a rebuild of the RDOC files" 1 "getoptlong" 1 "# out due to inactivity.\n" 1 "# that the client is not being allowed to login, or has been timed\n" 1 "# Error raised upon a \"BYE\" response from the server, indicating \n" 1 "# server failure has occurred.\n" 1 "# that the client command violated the IMAP protocol, or an internal\n" 1 "# Error raised upon a \"BAD\" response from the server, indicating\n" 1 "# that the client command could not be completed successfully.\n" 1 "# Error raised upon a \"NO\" response from the server, indicating\n" 1 "Remove rdoc products" 1 "# from the server.\n" 1 "# Superclass of all errors used to encapsulate \"fail\" responses\n" 1 "# Error raised when a response from the server is non-parseable.\n" 1 "# Error raised when data is in the incorrect format.\n" 1 "# Superclass of IMAP errors.\n" 1 "DIGEST-MD5" 1 "%s=\"%s\"" 1 "ruby -Ivendor vender/rd " 1 "([\\\\\"])" 1 "%w\"" 1 "# some responses need quoting\n" 1 "stage_two" 1 "stage_one" 1 "--main" 1 "--title" 1 "rspauth=" 1 "# if at the second stage, return an empty string\n" 1 "option_string" 1 "^auth-(?:conf|int)$" 1 ":00000000000000000000000000000000" 1 "AUTHENTICATE:" 1 "/index.html" 1 "# now, the real thing\n" 1 "run_tests" 1 "Error in " 1 "%08d" 1 "maxbuf" 1 "imap/" 1 "# Base class for Task Libraries.\n" 1 "%.15f:%.15f:%d" 1 "# Make a symbol by pasting two strings together.\n" 1 "# NOTE: DEPRECATED! This method is kinda stupid. I don't know why\n" 1 "# I didn't just use string interpolation. But now other task\n" 1 "# libraries depend on this so I can't remove it without breaking\n" 1 "# other people's code. So for now it stays for backwards\n" 1 "# compatibility. BUT DON'T USE IT.\n" 1 "Server does not support auth (qop = " 1 "Bad Challenge: '" 1 "# Define a task library for running unit tests.\n" 1 "(?:\\s*,)?\\s*(\\w+)=(\"(?:[^\\\\\"]+|\\\\.)*\"|[^,]+)\\s*" 1 "# Create a task that runs a set of tests.\n" 1 "# Rake::TestTask.new do |t|\n" 1 "# t.libs << \"test\"\n" 1 "# t.test_files = FileList['test/test*.rb']\n" 1 "# t.verbose = true\n" 1 "# Authenticator for the \"DIGEST-MD5\" authentication type. See\n" 1 "# If rake is invoked with a \"TEST=filename\" command line option,\n" 1 "63" 1 "# then the list of test files will be overridden to include only the\n" 1 "# filename specified on the command line. This provides an easy way\n" 1 "# to run just one test.\n" 1 "# If rake is invoked with a \"TESTOPTS=options\" command line option,\n" 1 "# then the given options are passed to the test process after a\n" 1 "# Authenticator for the \"CRAM-MD5\" authentication type. See\n" 1 "# '--'. This allows Test::Unit options to be passed to the test\n" 1 "# suite.\n" 1 "# Authenticator for the \"PLAIN\" authentication type. See\n" 1 "PASSWORD" 1 "# rake test # run tests normally\n" 1 "# rake test TEST=just_one_file.rb # run just one test file.\n" 1 "# rake test TESTOPTS=\"-v\" # run in verbose mode\n" 1 "# rake test TESTOPTS=\"--runner=fox\" # use the fox test runner\n" 1 "TestTask" 1 "# Name of test task. (default is :test)\n" 1 "# List of directories to added to $LOAD_PATH before running the\n" 1 "# Authenticator for the \"LOGIN\" authentication type. See\n" 1 "# tests. (default is 'lib')\n" 1 "@token.value: %s\\n" 1 "@token.symbol: %s\\n" 1 "@lex_state: %s\\n" 1 "@pos: %d\\n" 1 "@str: %s\\n" 1 "invalid @lex_state - %s" 1 "[Net::IMAP BUG] CTEXT_REGEXP is invalid" 1 "[Net::IMAP BUG] RTEXT_REGEXP is invalid" 1 "[Net::IMAP BUG] TEXT_REGEXP is invalid" 1 "[Net::IMAP BUG] DATA_REGEXP is invalid" 1 "# True if verbose test output desired. (default is false)\n" 1 "# Test options passed to the test suite. An explicit\n" 1 "[Net::IMAP BUG] BEG_REGEXP is invalid" 1 "$16" 1 "$15" 1 "$14" 1 "$13" 1 "$12" 1 "$11" 1 "$10" 1 "# TESTOPTS=opts on the command line will override this. (default\n" 1 "# is NONE)\n" 1 " or " 1 "unexpected token %s (expected %s)" 1 "nil_atom" 1 "# Request that the tests be run with the warning flag set.\n" 1 "# E.g. warning=true implies \"ruby -w\" used to run the tests.\n" 1 "# Glob pattern to match test files. (default is 'test/test*.rb')\n" 1 "# Style of test loader to use. Options are:\n" 1 "invalid flag list" 1 "\\(([^)]*)\\)" 1 "(?# ATOM )([^\\x80-\\xff(){ \\x00-\\x1f\\x7f%*\"\\\\]+)/n" 1 "\\\n(?# FLAG )\\\\([^\\x80-\\xff(){ \\x00-\\x1f\\x7f%\"\\\\]+)|\\\n" 1 "# * :rake -- Rake provided test loading script (default).\n" 1 "# return atom\n" 1 "# return atom.intern\n" 1 "# else\n" 1 "# return token.value.intern\n" 1 "# if token.symbol == T_STAR\n" 1 "# shift_token\n" 1 "# if token.symbol == T_BSLASH\n" 1 "# token = lookahead\n" 1 "# def flag\n" 1 "# return result\n" 1 "# result.push(flag)\n" 1 "# when T_SPACE\n" 1 "# break\n" 1 "# * :testrb -- Ruby provided test loading script.\n" 1 "# when T_RPAR\n" 1 "# case token.symbol\n" 1 "# * :direct -- Load tests using command line loader.\n" 1 "# while true\n" 1 "# match(T_LPAR)\n" 1 "# result = []\n" 1 "# def flag_list\n" 1 "# Array of commandline options to pass to ruby when running test loader.\n" 1 "ruby_opts" 1 "# address does not include literal.\n" 1 "\\)/ni" 1 "\\G\\\n(?# 1: NAME )(?:NIL|\"((?:[^\\x80-\\xff\\x00\\r\\n\"\\\\]|\\\\[\"\\\\])*)\") \\\n(?# 2: ROUTE )(?:NIL|\"((?:[^\\x80-\\xff\\x00\\r\\n\"\\\\]|\\\\[\"\\\\])*)\") \\\n(?# 3: MAILBOX )(?:NIL|\"((?:[^\\x80-\\xff\\x00\\r\\n\"\\\\]|\\\\[\"\\\\])*)\") \\\n(?# 4: HOST )(?:NIL|\"((?:[^\\x80-\\xff\\x00\\r\\n\"\\\\]|\\\\[\"\\\\])*)\")\\\n" 1 "# Explicitly define the list of test files to be included in a\n" 1 "\\A(?:UIDVALIDITY|UIDNEXT|UNSEEN)\\z" 1 "\\A(?:PERMANENTFLAGS)\\z" 1 "\\A(?:ALERT|PARSE|READ-ONLY|READ-WRITE|TRYCREATE|NOMODSEQ)\\z" 1 "# test. +list+ is expected to be an array of file names (a\n" 1 "# dummy member\n" 1 "# FileList is acceptable). If both +pattern+ and +test_files+ are\n" 1 "# used, then the list of test files is the union of the two.\n" 1 "# new member\n" 1 "# ignore first T_LPAR\n" 1 "test_files=" 1 "# Create a testing task.\n" 1 "# no member\n" 1 "Run tests" 1 "##XXX data.push([user, rights])\n" 1 "# Similar to getquota, but only admin can use getquota.\n" 1 "# folder spec with no mention of `STORAGE'.\n" 1 "# If quota removed, get `()' after the\n" 1 "# `NO Quota root does not exist'.\n" 1 "# If quota never established, get back\n" 1 " for " 1 "# atom\n" 1 "direct" 1 "-e 'ARGV.each{|f| load f}'" 1 "testrb" 1 "-S testrb " 1 " \\\"" 1 "\\\" " 1 "TESTOPTS" 1 "1.8.2" 1 "rake/ruby182_test_unit_fix" 1 "MULTIPART" 1 "rake/rake_test_loader" 1 "unable to find rake test loader" 1 "# Win 32 interface methods for Rake. Windows specific functionality\n" 1 "# will be placed here to collect that knowledge in one spot.\n" 1 "# True if running on a windows system.\n" 1 "# assume other DOSish systems are extinct.\n" 1 "# The standard directory containing system wide rake files on\n" 1 "\\A(?:MESSAGE)\\z" 1 "# Win 32 systems. Try the following environment variables (in\n" 1 "\\A(?:TEXT)\\z" 1 "# order):\n" 1 "# * APPDATA\n" 1 "# * HOME\n" 1 "# * HOMEDRIVE + HOMEPATH\n" 1 "# * USERPROFILE\n" 1 "# If the above are not defined, retruns the personal folder.\n" 1 "unknown attribute `%s'" 1 "APPDATA" 1 "\\A(?:UID)\\z" 1 "# Only define datadir if it doesn't already exist.\n" 1 "\\A(?:BODY(?:STRUCTURE)?)\\z" 1 "# Return the path to the data directory associated with the given\n" 1 "\\A(?:RFC822\\.SIZE)\\z" 1 "# package name. Normally this is just\n" 1 "\\A(?:RFC822(?:\\.HEADER|\\.TEXT)?)\\z" 1 "# \"\#{Config::CONFIG['datadir']}/\#{package_name}\", but may be\n" 1 "\\A(?:INTERNALDATE)\\z" 1 "# modified by packages like RubyGems to handle versioned data\n" 1 "# directories.\n" 1 "\\A(?:ENVELOPE)\\z" 1 "# We represent the various high-level code constructs that appear\n" 1 "# in Ruby programs: classes, modules, methods, and so on.\n" 1 "rdoc/tokenstream" 1 "# We contain the common stuff for contexts (which are containers) and other\n" 1 "# elements (methods, attributes and so on)\n" 1 "# We are the model of the code, but we know that at some point\n" 1 "# we will be worked on by viewers. By implementing the Viewable\n" 1 "# protocol, viewers can associated themselves with these objects.\n" 1 "# are we done documenting (ie, did we come across a :enddoc:)?\n" 1 "\\A(?:CAPABILITY)\\z" 1 "done_documenting" 1 "\\A(?:STATUS)\\z" 1 "# Which section are we in\n" 1 "\\A(?:THREAD)\\z" 1 "# do we document ourselves?\n" 1 "\\A(?:SEARCH|SORT)\\z" 1 "@force_documentation" 1 "\\A(?:ACL)\\z" 1 "document_self=" 1 "\\A(?:QUOTAROOT)\\z" 1 "# set and cleared by :startdoc: and :enddoc:, this is used to toggle\n" 1 "\\A(?:QUOTA)\\z" 1 "# the capturing of documentation\n" 1 "\\A(?:LIST|LSUB)\\z" 1 "start_doc" 1 "stop_doc" 1 "# do we document ourselves and our children\n" 1 "\\A(?:OK|NO|BAD|BYE|PREAUTH)\\z" 1 "document_children" 1 "document_children=" 1 "# Do we _force_ documentation, even is we wouldn't normally show the entity\n" 1 "# Default callbacks to nothing, but this is overridden for classes\n" 1 "# and modules\n" 1 "# Access the code object's comment\n" 1 "(?# 1: TEXT )([^\\x00\\r\\n\\]]*))/ni" 1 "# Update the comment, but don't overwrite a real comment with an empty one\n" 1 "(?# 2: TEXT )([^\\x00\\r\\n]*))/ni" 1 "\\G(?:\\\n(?# 1: LBRA )(\\[)|\\\n" 1 "# There's a wee trick we pull. Comment blocks can have directives that\n" 1 "(?# 1: TEXT )([^\\x00\\r\\n]*))/ni" 1 "# override the stuff we extract during the parse. So, we have a special\n" 1 "# class method, attr_overridable, that lets code objects list\n" 1 "(?# 7: RPAR )(\\)))/ni" 1 "\\G(?:\\\n(?# 1: SPACE )( )|\\\n(?# 2: NIL )(NIL)|\\\n(?# 3: NUMBER )(\\d+)|\\\n(?# 4: QUOTED )\"((?:[^\\x00\\r\\n\"\\\\]|\\\\[\"\\\\])*)\"|\\\n(?# 5: LITERAL )\\{(\\d+)\\}\\r\\n|\\\n(?# 6: LPAR )(\\()|\\\n" 1 "# those directives. Wehn a comment is assigned, we then extract\n" 1 "(?# 16: EOF )(\\z))/ni" 1 "\\G(?:\\\n(?# 1: SPACE )( +)|\\\n(?# 2: NIL )(NIL)(?=[\\x80-\\xff(){ \\x00-\\x1f\\x7f%*\"\\\\\\[\\]+])|\\\n(?# 3: NUMBER )(\\d+)(?=[\\x80-\\xff(){ \\x00-\\x1f\\x7f%*\"\\\\\\[\\]+])|\\\n(?# 4: ATOM )([^\\x80-\\xff(){ \\x00-\\x1f\\x7f%*\"\\\\\\[\\]+]+)|\\\n(?# 5: QUOTED )\"((?:[^\\x00\\r\\n\"\\\\]|\\\\[\"\\\\])*)\"|\\\n(?# 6: LPAR )(\\()|\\\n(?# 7: RPAR )(\\))|\\\n(?# 8: BSLASH )(\\\\)|\\\n(?# 9: STAR )(\\*)|\\\n(?# 10: LBRA )(\\[)|\\\n(?# 11: RBRA )(\\])|\\\n(?# 12: LITERAL )\\{(\\d+)\\}\\r\\n|\\\n(?# 13: PLUS )(\\+)|\\\n(?# 14: PERCENT )(%)|\\\n(?# 15: CRLF )(\\r\\n)|\\\n" 1 "# out any matching directives and update our object\n" 1 "# A Context is something that can hold modules, classes, methods,\n" 1 "# attributes, aliases, requires, and includes. Classes, modules, and files\n" 1 "# are all Contexts.\n" 1 "current_section" 1 "SEC00000" 1 "PERCENT" 1 "succ!" 1 "PLUS" 1 "#<%s:0x%x %s %p>" 1 "# Set the comment for this section from the original comment block If\n" 1 "# the first line contains :section:, strip it and use the rest.\n" 1 "RBRA" 1 "# Otherwise remove lines up to the line containing :section:, and look\n" 1 "LBRA" 1 "# for those lines again at the end and remove them. This lets us write\n" 1 "STAR" 1 "# # :SECTION: The title\n" 1 "BSLASH" 1 "# # The body\n" 1 "RPAR" 1 "^#[ \\t]*:section:.*\\n" 1 "LPAR" 1 "# map the class hash to an array externally\n" 1 "QUOTED" 1 "# map the module hash to an array externally\n" 1 "# return the classes Hash (only to be used internally)\n" 1 "# return the modules Hash (only to be used internally)\n" 1 "# Change the default visibility for new methods\n" 1 "ongoing_visibility=" 1 "# Yields Method and Attr entries matching the list of names in +methods+.\n" 1 "# Attributes are only returned when +singleton+ is false.\n" 1 "# perhaps we need to look at attributes\n" 1 "# Given an array +methods+ of method names, set the visibility of the\n" 1 "# corresponding AnyMethod object\n" 1 "set_visibility_for" 1 "# Record the file that we happen to find it in\n" 1 "record_location" 1 "# Return true if at least part of this thing was defined in +file+\n" 1 "# If the parser encounters Container::Item before encountering\n" 1 "# multipart?:: Returns true.\n" 1 "# parts:: Returns multiple parts.\n" 1 "# of messages.\n" 1 "# Net::IMAP::BodyTypeMultipart represents multipart body structures \n" 1 "# Container, then it assumes that Container is a module. This\n" 1 "# may not be the case, so remove Container from the module list\n" 1 "# And Net::IMAP::BodyTypeMessage has all methods of Net::IMAP::BodyTypeText.\n" 1 "# body:: Returns an object giving the body structure.\n" 1 "# envelope:: Returns a Net::IMAP::Envelope giving the envelope structure.\n" 1 "# Net::IMAP::BodyTypeMessage represents MESSAGE/RFC822 body structures of messages.\n" 1 "# if present and transfer any contained classes and modules to\n" 1 "# And Net::IMAP::BodyTypeText has all fields of Net::IMAP::BodyTypeBasic.\n" 1 "# lines:: Returns the size of the body in text lines.\n" 1 "# Net::IMAP::BodyTypeText represents TEXT body structures of messages.\n" 1 "# the new class.\n" 1 "Alias for \\#" 1 "add_include" 1 "add_constant" 1 "# Requires always get added to the top-level (file) context\n" 1 "# collection[name] = cls if @document_self && !@done_documenting\n" 1 "# If a class's documentation is turned off after we've started\n" 1 "# collecting methods etc., we need to remove the ones\n" 1 "# we have\n" 1 "# This Hash maps a method name to a list of unmatched\n" 1 "# aliases (aliases of a method not yet encountered).\n" 1 "# multipart?:: Returns false.\n" 1 "# and remove classes and modules when we see a :nodoc: all\n" 1 "# First check the enclosed modules, then check the module itself,\n" 1 "# then check the enclosing modules (this mirrors the check done by\n" 1 "# the Ruby parser)\n" 1 "# find a module at a higher scope\n" 1 "# md5:: Returns a string giving the body MD5 value as defined in [MD5].\n" 1 "# size:: Returns a number giving the size of the body in octets.\n" 1 "# [MIME-IMB].\n" 1 "# encoding:: Returns a string giving the content transfer encoding as defined in\n" 1 "# [MIME-IMB].\n" 1 "# description:: Returns a string giving the content description as defined in\n" 1 "# content_id:: Returns a string giving the content id as defined in [MIME-IMB].\n" 1 "# Iterate over all the classes and modules in\n" 1 "# this object\n" 1 "each_method" 1 "# Net::IMAP::BodyTypeBasic represents basic body structures of messages.\n" 1 "# items that are children of this in the thread.\n" 1 "# children:: an array of Net::IMAP::ThreadMember objects for mail\n" 1 "# seqno:: The sequence number of this message.\n" 1 "# by Net::IMAP#thread\n" 1 "# Net::IMAP::ThreadMember represents a thread-node returned \n" 1 "each_constant" 1 "# Return the toplevel that owns us\n" 1 "# field.\n" 1 "# param:: Returns a hash that represents parameters of the Content-Disposition\n" 1 "# dsp_type:: Returns the disposition type.\n" 1 "# Net::IMAP::ContentDisposition represents Content-Disposition fields.\n" 1 "# allow us to sort modules by name\n" 1 "# Look up +symbol+. If +method+ is non-nil, then we assume the symbol\n" 1 "# Otherwise, returns [RFC-822] domain name.\n" 1 "# host:: nil indicates [RFC-822] group syntax.\n" 1 "# Otherwise, returns [RFC-822] local-part\n" 1 "# If non-nil and host is nil, returns [RFC-822] group name.\n" 1 "# mailbox:: nil indicates end of [RFC-822] group.\n" 1 "# route:: Returns the route from [RFC-822] route-addr.\n" 1 "# name:: Returns the phrase from [RFC-822] mailbox.\n" 1 "# Net::IMAP::Address represents electronic mail addresses.\n" 1 "# references a module that contains that method.\n" 1 "^::(.*)" 1 "# if a method is specified, then we're definitely looking for\n" 1 "# a module, otherwise it could be any symbol\n" 1 "# Handle sections\n" 1 "# message_id:: Returns a string that represents the message-id.\n" 1 "# in_reply_to:: Returns a string that represents the in-reply-to.\n" 1 "# bcc:: Returns an array of Net::IMAP::Address that represents the bcc.\n" 1 "# cc:: Returns an array of Net::IMAP::Address that represents the cc.\n" 1 "# to:: Returns an array of Net::IMAP::Address that represents the to.\n" 1 "# reply_to:: Returns an array of Net::IMAP::Address that represents the reply-to.\n" 1 "# sender:: Returns an array of Net::IMAP::Address that represents the sender.\n" 1 "# from:: Returns an array of Net::IMAP::Address that represents the from.\n" 1 "# subject:: Returns a string that represents the subject.\n" 1 "# date:: Returns a string that represents the date.\n" 1 "# Net::IMAP::Envelope represents envelope structures of messages.\n" 1 "set_current_section" 1 "# A number expressing the unique identifier of the message.\n" 1 "# [UID]\n" 1 "# Equivalent to BODY[TEXT].\n" 1 "# [RFC822.TEXT]\n" 1 "# A number expressing the [RFC-822] size of the message.\n" 1 "# [RFC822.SIZE]\n" 1 "# Equivalent to BODY.PEEK[HEADER].\n" 1 "# [RFC822.HEADER]\n" 1 "# Equivalent to BODY[].\n" 1 "# [RFC822]\n" 1 "# A string representing the internal date of the message.\n" 1 "# [INTERNALDATE]\n" 1 "# are capitalized by String#capitalize.\n" 1 "# A array of flag symbols that are set for this message. flag symbols\n" 1 "# [FLAGS]\n" 1 "# structure of a message.\n" 1 "# A Net::IMAP::Envelope object that describes the envelope\n" 1 "# [ENVELOPE]\n" 1 "# Net::IMAP::BodyTypeMessage, Net::IMAP::BodyTypeMultipart.\n" 1 "# See Net::IMAP::BodyTypeBasic, Net::IMAP::BodyTypeText,\n" 1 "# An object that describes the [MIME-IMB] body structure of a message.\n" 1 "# [BODYSTRUCTURE]\n" 1 "# A string expressing the body contents of the specified section.\n" 1 "# [BODY[
]<>]\n" 1 "# A form of BODYSTRUCTURE without extension data.\n" 1 "# [BODY]\n" 1 "# The current data items are:\n" 1 "# its value.\n" 1 "# attr:: Returns a hash. Each key is a data item name, and each value is\n" 1 "# (Note: not the unique identifier, even for the UID command response.)\n" 1 "# seqno:: Returns the message sequence number.\n" 1 "# Net::IMAP::FetchData represents contents of the FETCH response.\n" 1 "# Find a named method, or return nil\n" 1 "# \"UIDVALIDITY\", \"UNSEEN\". Each value is a number.\n" 1 "# attr:: Returns a hash. Each key is one of \"MESSAGES\", \"RECENT\", \"UIDNEXT\",\n" 1 "# mailbox:: Returns the mailbox name.\n" 1 "# Net::IMAP::StatusData represents contents of the STATUS response.\n" 1 "# Find a named instance method, or return nil\n" 1 "# mailbox.\n" 1 "# rights:: The access rights the indicated user has to the\n" 1 "# that was specified with the getacl command.\n" 1 "# user:: Login name that has certain rights to the mailbox\n" 1 "# rights ::= astring\n" 1 "# identifier ::= astring\n" 1 "# acl_data ::= \"ACL\" SPACE mailbox *(SPACE identifier SPACE rights)\n" 1 "# Net::IMAP::MailboxACLItem represents response from GETACL.\n" 1 "# Find a named constant, or return nil\n" 1 "# Find a named attribute, or return nil\n" 1 "# specified mailbox.\n" 1 "# quotaroots:: Zero or more quotaroots that effect the quota on the\n" 1 "# quotaroot_response ::= \"QUOTAROOT\" SPACE astring *(SPACE astring)\n" 1 "# response. (GETQUOTAROOT can also return Net::IMAP::MailboxQuota.)\n" 1 "# Net::IMAP::MailboxQuotaRoot represents part of the GETQUOTAROOT\n" 1 "# Find a named file, or return nil\n" 1 "# A TopLevel context is a source file\n" 1 "# quota:: Quota limit imposed on mailbox.\n" 1 "# usage:: Current storage usage of mailbox.\n" 1 "@file_relative_name" 1 "# quota_response ::= \"QUOTA\" SPACE astring SPACE quota_list\n" 1 "# quota_resource ::= atom SPACE number SPACE number\n" 1 "# quota_list ::= \"(\" #quota_resource \")\"\n" 1 "# single space (SPACE).\n" 1 "# specification below, the delimiter used with the \"#\" construct is a\n" 1 "# This object can also be a response to GETQUOTAROOT. In the syntax\n" 1 "# Net::IMAP::MailboxQuota represents contents of GETQUOTA response.\n" 1 "@file_stat" 1 "# Adding a class or module to a TopLevel is special, as we only want one\n" 1 "# name:: Returns the mailbox name.\n" 1 "# delim:: Returns the hierarchy delimiter\n" 1 "# capitalized by String#capitalize, such as :Noselect (not :NoSelect).\n" 1 "# attr:: Returns the name attributes. Each name attribute is a symbol\n" 1 "# SPACE (<\"> QUOTED_CHAR <\"> / nil) SPACE mailbox\n" 1 "# \"\\Noselect\" / \"\\Unmarked\" / flag_extension) \")\"\n" 1 "# mailbox_list ::= \"(\" #(\"\\Marked\" / \"\\Noinferiors\" /\n" 1 "# Net::IMAP::MailboxList represents contents of the LIST response.\n" 1 "# copy of a particular top-level class. For example, if both file A and\n" 1 "# data:: Returns the data if it exists.\n" 1 "# name:: Returns the name such as \"ALERT\", \"PERMANENTFLAGS\", \"UIDVALIDITY\"....\n" 1 "# atom [SPACE 1*]\n" 1 "# \"UNSEEN\" SPACE nz_number /\n" 1 "# \"UIDVALIDITY\" SPACE nz_number /\n" 1 "# \"READ-ONLY\" / \"READ-WRITE\" / \"TRYCREATE\" /\n" 1 "# \"PERMANENTFLAGS\" SPACE \"(\" #(flag / \"\\*\") \")\" /\n" 1 "# resp_text_code ::= \"ALERT\" / \"PARSE\" /\n" 1 "# Net::IMAP::ResponseCode represents response codes.\n" 1 "# text:: Returns the text.\n" 1 "# code:: Returns the response code. See (()).\n" 1 "# ;; text SHOULD NOT begin with \"[\" or \"=\"\n" 1 "# resp_text ::= [\"[\" resp_text_code \"]\" SPACE] (text_mime2 / text)\n" 1 "# The text may be prefixed by the response code.\n" 1 "# Net::IMAP::ResponseText represents texts of responses.\n" 1 "# data:: Returns the data. See (()).\n" 1 "# name:: Returns the name. the name is one of \"OK\", \"NO\", \"BAD\".\n" 1 "# tag:: Returns the tag.\n" 1 "# resp_cond_state ::= (\"OK\" / \"NO\" / \"BAD\") SPACE resp_text\n" 1 "# tag ::= 1*\n" 1 "# response_tagged ::= tag SPACE resp_cond_state CRLF\n" 1 "# client command which began the operation.\n" 1 "# failure of the operation. It is tagged with the same tag as the\n" 1 "# The server completion result response indicates the success or\n" 1 "# Net::IMAP::TaggedResponse represents tagged responses.\n" 1 "# a (()) object....\n" 1 "# data:: Returns the data such as an array of flag symbols,\n" 1 "# name:: Returns the name such as \"FLAGS\", \"LIST\", \"FETCH\"....\n" 1 "# mailbox_data / message_data / capability_data)\n" 1 "# response_data ::= \"*\" SPACE (resp_cond_state / resp_cond_bye /\n" 1 "# \"*\", and are called untagged responses.\n" 1 "# that do not indicate command completion are prefixed with the token\n" 1 "# Data transmitted by the server to the client and status responses\n" 1 "# Net::IMAP::UntaggedResponse represents untagged responses.\n" 1 "# file B implement class C, we only want one ClassModule object for C.\n" 1 "# data:: Returns the data (Net::IMAP::ResponseText).\n" 1 "# This code arranges to share classes and modules between files.\n" 1 "# continue_req ::= \"+\" SPACE (resp_text / base64)\n" 1 "# remainder of this response is a line of text.\n" 1 "# ready to accept the continuation of a command from the client. The\n" 1 "# instead of a tag. This form of response indicates that the server is\n" 1 "# The command continuation request response is indicated by a \"+\" token\n" 1 "# Net::IMAP::ContinuationRequest represents command continuation requests.\n" 1 "nz_number must be non-zero unsigned 32-bit integer: " 1 "# If the class has been encountered already, check that its\n" 1 "# superclass has been set (it may not have been, depending on\n" 1 "# the context in which it was encountered).\n" 1 "#<%s:0x%x %p modules: %p classes: %p>" 1 "# ClassModule is the base class for objects representing either a class or a\n" 1 "QuotedString" 1 "# Return the fully qualified name of this class or module\n" 1 "# Does this object represent a module?\n" 1 "# Get the superclass of this class. Attempts to retrieve the superclass'\n" 1 "already using SSL" 1 "SSL extension not installed" 1 "# real name by following module nesting.\n" 1 "CHARSET" 1 "# Set the superclass of this class\n" 1 "\"%2d-%3s-%4d %02d:%02d:%02d +0000\"" 1 "superclass=" 1 "# Anonymous classes\n" 1 "AnonClass" 1 "# Normal classes\n" 1 "<%s:0x%x class %s%s includes: %p attributes: %p methods: %p aliases: %p>" 1 "# Singleton classes\n" 1 "SingleClass" 1 "# Module\n" 1 "# ---\\n" 1 "#<%s:0x%x module %s includes: %p attributes: %p methods: %p aliases: %p>" 1 "# AnyMethod is the base class for objects representing methods\n" 1 "dont_rename_initialize" 1 "# list of other names for this method\n" 1 "# method we're aliasing\n" 1 "@dont_rename_initialize" 1 "@block_params" 1 "@call_seq" 1 " (alias for " 1 "\\r\\n\\z" 1 "\\nC: " 1 "C: " 1 "%s%04d" 1 "param_seq" 1 "# yes, =\n" 1 "# If this method has explicit block parameters, remove any explicit\n" 1 "S: " 1 "\\{(\\d+)\\}\\r\\n" 1 "# &block\n" 1 "\\A(?:BAD)\\z" 1 " { |" 1 "| ... }" 1 "\\A(?:NO)\\z" 1 "# GhostMethod represents a method referenced only by a comment\n" 1 "GhostMethod" 1 "# MetaMethod represents a meta-programmed method\n" 1 "MetaMethod" 1 "# Represent an alias, which is an old_name/ new_name pair associated with a\n" 1 "end of file reached" 1 "# particular context\n" 1 "@client_thread" 1 "Alias" 1 "#<%s:0x%x %s.alias_method %s, %s>" 1 "alias: " 1 " -> " 1 "# Represent a constant\n" 1 "Constant" 1 "# Represent attributes\n" 1 "Attr" 1 "@rw" 1 "RW" 1 "#<%s:0x%x %s.%s :%s>" 1 "attr: " 1 "# A required file\n" 1 "'|\"" 1 "#<%s:0x%x require '%s' in %s>" 1 "# An included module\n" 1 "# immediately said goodbye to us.\n" 1 "# Net::IMAP::ByeResponseError:: we connected to the host, but they \n" 1 "# SocketError:: hostname not known or other socket error.\n" 1 "# Errno::ENETUNREACH:: there is no route to that network.\n" 1 "# being dropped by an intervening firewall).\n" 1 "# Errno::ETIMEDOUT:: connection timed out (possibly due to packets\n" 1 "# firewall.\n" 1 "# Errno::ECONNREFUSED:: connection refused by +host+ or an intervening\n" 1 "# The most common errors are:\n" 1 "# OpenSSL::SSL::SSLContext#set_params as parameters.\n" 1 "# if options[:ssl] is a hash, it's passed to \n" 1 "# be installed.\n" 1 "# OpenSSL [OSSL] and the Ruby OpenSSL [RSSL] extensions need to\n" 1 "# to use SSL (now TLS) to connect to the server. For this to work\n" 1 "# ssl:: if options[:ssl] is true, then an attempt will be made\n" 1 "# port:: port number (default value is 143 for imap, or 993 for imaps)\n" 1 "# The available options are:\n" 1 "# +options+ is an option hash, each key of which is a symbol.\n" 1 "# +host+.\n" 1 "# Creates a new Net::IMAP object and connects it to the specified\n" 1 "# Net::IMAP.new(host, options = {})\n" 1 "993" 1 "Include" 1 "143" 1 "#<%s:0x%x %s.include %s>" 1 "&-" 1 "# A wonderful hack by to draw package diagrams using the dot package.\n" 1 "(&)|([^\\x20-\\x25\\x27-\\x7e]+)" 1 "encode_utf7" 1 "# Encode a string from UTF-8 format to modified UTF-7.\n" 1 "# Originally written by Jah, team Enticla.\n" 1 "# You must have the V1.7 or later in your path\n" 1 "&(.*?)-" 1 "decode_utf7" 1 "# mailbox names to and from utf7.\n" 1 "# Net::IMAP does _not_ automatically encode and decode\n" 1 "# containing non-ASCII characters; see [IMAP] section 5.1.3.\n" 1 "# slightly modified version of this to encode mailbox names\n" 1 "# UTF-7 is a 7-bit encoding of Unicode [UTF7]. IMAP uses a\n" 1 "# Decode a string from modified UTF-7 format to UTF-8.\n" 1 "UID THREAD" 1 "uid_thread" 1 "# message sequence numbers.\n" 1 "# As for #thread(), but returns unique identifiers instead of \n" 1 "# http://www.research.att.com/sw/tools/graphviz/\n" 1 "rdoc/dot" 1 "# Draw a set of diagrams representing the modules and classes in the\n" 1 "# and UTF-8 are sample values.\n" 1 "# Unlike #search(), +charset+ is a required argument. US-ASCII\n" 1 "# by which message is a reply to which.\n" 1 "# REFERENCES:: split into threads by parent/child relationships determined\n" 1 "# ordered by date.\n" 1 "# ORDEREDSUBJECT:: split into single-level threads according to subject,\n" 1 "# are:\n" 1 "# format, as a Net::IMAP::ThreadMember tree. The supported algorithms\n" 1 "# As for #search(), but returns message sequence numbers in threaded\n" 1 "# system. We draw one diagram for each file, and one for each toplevel\n" 1 "# Removes the response handler.\n" 1 "# class or module. This means there will be overlap. However, it also\n" 1 "# means that you'll get better context for objects.\n" 1 "# To use, simply\n" 1 "# puts \"Mailbox now has \#{resp.data} messages\"\n" 1 "# if resp.kind_of?(Net::IMAP::UntaggedResponse) and resp.name == \"EXISTS\"\n" 1 "# imap.add_response_handler { |resp|\n" 1 "# mailbox.\n" 1 "# you could add the following handler after selecting the\n" 1 "# indicates new messages being added to the mail box), \n" 1 "# the server sends us a new EXISTS response (which normally\n" 1 "# Adds a response handler. For example, to detect when \n" 1 "UID SORT" 1 "uid_sort" 1 "# As for #sort(), but returns an array of unique identifiers.\n" 1 "# d = Diagram.new(info) # pass in collection of top level infos\n" 1 "# d.draw\n" 1 "# The results will be written to the +dot+ subdirectory. The process\n" 1 "# also sets the +diagram+ attribute in each object it graphs to\n" 1 "# the name of the file containing the image. This can be used\n" 1 "# #=> [6, 7, 8, 1]\n" 1 "# p imap.sort([\"DATE\"], [\"SUBJECT\", \"hello\"], \"US-ASCII\")\n" 1 "# #=> [1, 2, 3, 5, 6, 7, 8, 4, 9]\n" 1 "# p imap.sort([\"FROM\"], [\"ALL\"], \"US-ASCII\")\n" 1 "# Returns an array of message sequence numbers. For example:\n" 1 "# Sends a SORT command to sort messages in the mailbox.\n" 1 "UID COPY" 1 "uid_copy" 1 "# As for #copy(), but +set+ contains unique identifiers.\n" 1 "# by output generators to insert images.\n" 1 "# a message sequence number.\n" 1 "# a number or an array of numbers or a Range object. The number is\n" 1 "# of the specified destination +mailbox+. The +set+ parameter is\n" 1 "# Sends a COPY command to copy the specified message(s) to the end\n" 1 "UID STORE" 1 "uid_store" 1 "# As for #store(), but +set+ contains unique identifiers.\n" 1 "STORE" 1 "Arial" 1 "# #[:Seen, :Deleted]}>]\n" 1 "# #[:Seen, :Deleted]}>, \\\\ \n" 1 "# #=> [#[:Seen, :Deleted]}>, \\\\ \n" 1 "# p imap.store(6..8, \"+FLAGS\", [:Deleted])\n" 1 "# and '-FLAGS' means to remove them. +flags+ is a list of flags.\n" 1 "# with the provided one; '+FLAGS' means to add the provided flags;\n" 1 "# to store: 'FLAGS' means to replace the message's flag list\n" 1 "# is a message sequence number. +attr+ is the name of a data item \n" 1 "# is a number or an array of numbers or a Range object. Each number \n" 1 "# in the mailbox, in particular their flags. The +set+ parameter \n" 1 "# Sends a STORE command to alter data associated with messages\n" 1 "UID FETCH" 1 "uid_fetch" 1 "# As for #fetch(), but +set+ contains unique identifiers.\n" 1 "# Pass in the set of top level objects. The method also creates the\n" 1 "# subdirectory to hold the images\n" 1 "# #=> 98\n" 1 "# p data.attr[\"UID\"]\n" 1 "# #=> \"12-Oct-2000 22:40:59 +0900\"\n" 1 "# p data.attr[\"INTERNALDATE\"]\n" 1 "# #=> 611\n" 1 "# p data.attr[\"RFC822.SIZE\"]\n" 1 "# #=> 6\n" 1 "# p data.seqno\n" 1 "# data = imap.uid_fetch(98, [\"RFC822.SIZE\", \"INTERNALDATE\"])[0]\n" 1 "# #=> [#\"Subject: test\\r\\n\\r\\n\"}>]\n" 1 "# p imap.fetch(6, \"BODY[HEADER.FIELDS (SUBJECT)]\")\n" 1 "# #100}>]\n" 1 "# #99}>, \\\\ \n" 1 "# #=> [#98}>, \\\\ \n" 1 "# p imap.fetch(6..8, \"UID\")\n" 1 "# Draw the diagrams. We traverse the files, drawing a diagram for each. We\n" 1 "# attributes.\n" 1 "# documentation for Net::IMAP::FetchData for a list of valid\n" 1 "# number. +attr+ is a list of attributes to fetch; see the\n" 1 "# numbers or a Range object. The number is a message sequence\n" 1 "# in the mailbox. The +set+ parameter is a number or an array of\n" 1 "# Sends a FETCH command to retrieve data associated with a message\n" 1 "UID SEARCH" 1 "uid_search" 1 "# As for #search(), but returns unique identifiers.\n" 1 "# also traverse each top-level class and module in that file drawing a\n" 1 "# diagram for these too.\n" 1 "# #=> [1, 6, 7, 8]\n" 1 "# p imap.search([\"SUBJECT\", \"hello\", \"NOT\", \"NEW\"])\n" 1 "# TO :: messages with in their TO field.\n" 1 "# SUBJECT :: messages with in their subject.\n" 1 "# SINCE :: messages with an internal date on or after .\n" 1 "# which has a format similar to 8-Aug-2002.\n" 1 "# ON :: messages with an internal date exactly equal to , \n" 1 "# OR :: \"or\" two search keys together.\n" 1 "# NOT :: negate the following search key.\n" 1 "# NEW:: messages with the \\Recent, but not the \\Seen, flag set.\n" 1 "# FROM :: messages that contain in their FROM field.\n" 1 "# CC :: messages containing in their CC field.\n" 1 "# BODY :: messages that contain within their body.\n" 1 "# to 8-Aug-2002.\n" 1 "# . The date argument has a format similar\n" 1 "# BEFORE :: messages with an internal date strictly before\n" 1 "# '2,10:12,15' means \"2,10,11,12,15\".\n" 1 "# an interval, ':' indicates a range. For instance,\n" 1 "# :: a set of message sequence numbers. ',' indicates\n" 1 "# see [IMAP] section 6.4.4 for a full list.\n" 1 "# arguments. The following are some common search criteria;\n" 1 "# search string, or a single-dimension array of search keywords and \n" 1 "# numbers. +keys+ can either be a string holding the entire \n" 1 "# match the given searching criteria, and returns message sequence\n" 1 "# Sends a SEARCH command to search the mailbox for messages that\n" 1 "Diagrams: " 1 "expunge" 1 "# selected mailbox all messages that have the \\Deleted flag set.\n" 1 "# Sends a EXPUNGE command to permanently remove from the currently\n" 1 "CLOSE" 1 "# messages that have the \\Deleted flag set.\n" 1 "# The CLOSE command permanently removes from the mailbox all\n" 1 "# Sends a CLOSE command to close the currently selected mailbox.\n" 1 "CHECK" 1 "# it's a little hack %) i'm too lazy to create a separate class\n" 1 "# in-memory and on-disk state.\n" 1 "# housekeeping, for instance, reconciling the mailbox's \n" 1 "# selected mailbox. This performs implementation-specific\n" 1 "# Sends a CHECK command to request a checkpoint of the currently\n" 1 "# for default node\n" 1 "# date_time, or message arguments contain errors.\n" 1 "# not exist (it is not created automatically), or if the flags,\n" 1 "# A Net::IMAP::NoResponseError is raised if the mailbox does\n" 1 "f_" 1 "# hello world\n" 1 "# To: shugo@ruby-lang.org\n" 1 "# From: shugo@ruby-lang.org\n" 1 "# Subject: hello\n" 1 "# imap.append(\"inbox\", < {\"RECENT\"=>0, \"MESSAGES\"=>44}\n" 1 "# p imap.status(\"inbox\", [\"MESSAGES\", \"RECENT\"])\n" 1 "# The return value is a hash of attributes. For example:\n" 1 "# UNSEEN:: the number of unseen messages in the mailbox.\n" 1 "# RECENT:: the number of recent messages in the mailbox.\n" 1 "# MESSAGES:: the number of messages in the mailbox.\n" 1 "# we are request the status of. Supported attributes include:\n" 1 "# +mailbox+. +attr+ is a list of one or more attributes that\n" 1 "# Sends a STATUS command, and returns the status of the indicated\n" 1 "# module independently\n" 1 "lsub" 1 "# The return value is an array of +Net::IMAP::MailboxList+.\n" 1 "# for #list().\n" 1 "# \"subscribed\". +refname+ and +mailbox+ are interpreted as \n" 1 "# of names that the user has declared as being \"active\" or\n" 1 "# Sends a LSUB command, and returns a subset of names from the set\n" 1 "GETACL" 1 "getacl" 1 "# Net::IMAP::MailboxACLItem will be returned.\n" 1 "# If this mailbox exists, an array containing objects of\n" 1 "# Send the GETACL command along with specified +mailbox+.\n" 1 "m_" 1 "blue" 1 "setacl" 1 "# The IMAP ACL commands are described in [RFC-2086].\n" 1 "# then that user will be stripped of any rights to that mailbox.\n" 1 "# +rights+ that user is to have on that mailbox. If +rights+ is nil,\n" 1 "# Sends the SETACL command along with +mailbox+, +user+ and the\n" 1 "palegreen1" 1 "SETQUOTA" 1 "(STORAGE " 1 "palegreen3" 1 "setquota" 1 "# [RFC-2087].\n" 1 "# for this to work. The IMAP quota commands are described in\n" 1 "# mailbox. Typically one needs to be logged in as server admin\n" 1 "# +quota+. If +quota+ is nil, then quota will be unset for that\n" 1 "# Sends a SETQUOTA command along with the specified +mailbox+ and\n" 1 "GETQUOTA" 1 "getquota" 1 "# command generally is only available to server admin.\n" 1 "# Net::IMAP::MailboxQuota object is returned. This\n" 1 "# If this mailbox exists, then an array containing a\n" 1 "# Sends the GETQUOTA command along with specified +mailbox+.\n" 1 "# create dummy node (needed if empty and for module includes)\n" 1 "QUOTAROOT" 1 "GETQUOTAROOT" 1 "getquotaroot" 1 "# Net::IMAP::MailboxQuotaRoot and Net::IMAP::MailboxQuota.\n" 1 "# If mailbox exists, returns an array containing objects of\n" 1 "# This command is generally available to both admin and user.\n" 1 "# Sends the GETQUOTAROOT command along with specified +mailbox+.\n" 1 "0.75" 1 "# #]\n" 1 "# #, \\\\ \n" 1 "# #=> [#, \\\\ \n" 1 "# p imap.list(\"\", \"foo/%\")\n" 1 "# imap.create(\"foo/baz\")\n" 1 "# imap.create(\"foo/bar\")\n" 1 "# The return value is an array of +Net::IMAP::MailboxList+. For example:\n" 1 "# name of +refname+ and the hierarchy delimiter are returned.\n" 1 "# which mailboxes to match. If +mailbox+ is empty, the root\n" 1 "# If +refname+ is empty, +mailbox+ is used directly to determine\n" 1 "# which matches all characters *except* the hierarchy delimiter.\n" 1 "# '/' on a UNIX-hosted directory-based mailbox hierarchy); and '%',\n" 1 "# all characters *including* the hierarchy delimiter (for instance,\n" 1 "# Two wildcards may be used in +mailbox+: '*', which matches\n" 1 "# a mailbox or (via wildcards) mailboxes under that context.\n" 1 "# in a directory-based mailbox hierarchy). +mailbox+ specifies\n" 1 "# +refname+ provides a context (for instance, a base directory\n" 1 "# the complete set of all names available to the client.\n" 1 "# Sends a LIST command, and returns a subset of names from\n" 1 "UNSUBSCRIBE" 1 "unsubscribe" 1 "# subscribed to it.\n" 1 "# unsubscribed from, for instance because the client is not currently\n" 1 "# from the server's set of \"active\" or \"subscribed\" mailboxes.\n" 1 "# Sends a UNSUBSCRIBE command to remove the specified +mailbox+ name\n" 1 "SUBSCRIBE" 1 "subscribe" 1 "# subscribed to, for instance because it does not exist.\n" 1 "plaintext" 1 "# by #lsub().\n" 1 "# the server's set of \"active\" or \"subscribed\" mailboxes as returned\n" 1 "# Sends a SUBSCRIBE command to add the specified +mailbox+ name to\n" 1 "RENAME" 1 "red" 1 "# because there is already a mailbox with the name +newname+.\n" 1 "# reason; for instance, because +mailbox+ does not exist, or\n" 1 "# name +mailbox+ cannot be renamed to +newname+ for whatever\n" 1 "# A Net::IMAP::NoResponseError is raised if a mailbox with the \n" 1 "# +newname+.\n" 1 "# Sends a RENAME command to change the name of the +mailbox+ to\n" 1 "# client does not have permission to delete it.\n" 1 "# cannot be deleted, either because it does not exist or because the\n" 1 "# Sends a DELETE command to remove the +mailbox+.\n" 1 "CREATE" 1 "# cannot be created.\n" 1 "\\n[" 1 "# Sends a CREATE command to create a new +mailbox+.\n" 1 "EXAMINE" 1 "examine" 1 "# exist or is for some reason non-examinable.\n" 1 "# except that the selected +mailbox+ is identified as read-only.\n" 1 "# in the +mailbox+ can be accessed. Behaves the same as #select(),\n" 1 "# Sends a EXAMINE command to select a +mailbox+ so that messages\n" 1 "palegoldenrod" 1 "# exist or is for some reason non-selectable.\n" 1 "ellipse" 1 "# detecting this event.\n" 1 "# during a session; see #add_response_handler() for a way of\n" 1 "# Note that these values can change if new messages arrive\n" 1 "# and the number of recent messages from @responses[\"RECENT\"][-1].\n" 1 "# number of items in that mailbox from @responses[\"EXISTS\"][-1],\n" 1 "# After you have selected a mailbox, you may retrieve the\n" 1 "# in the +mailbox+ can be accessed. \n" 1 "# Sends a SELECT command to select a +mailbox+ so that messages\n" 1 ".dot" 1 "# of \"LOGIN\", #login() does *not* use the login authenticator.\n" 1 "# that, unlike calling #authenticate() with an +auth_type+\n" 1 "# the plaintext +password+ authenticating this +user+. Note\n" 1 "# Sends a LOGIN command to identify the client and carries\n" 1 "w+" 1 "# Now construct the imagemap wrapper around\n" 1 "# that png\n" 1 "AUTHENTICATE" 1 "unknown auth type - \"%s\"" 1 "# Extract the client-side image map from dot, and use it to generate the\n" 1 "# imagemap proper. Return the whole .. combination, suitable for\n" 1 "# imap.authenticate('LOGIN', user, password)\n" 1 "# authenticator.\n" 1 "# see @@authenticators for more information on plugging in your own\n" 1 "# Authentication is done using the appropriate authenticator object:\n" 1 "# the form \"AUTH=LOGIN\" or \"AUTH=CRAM-MD5\".\n" 1 "# of these mechanisms; check #capability() for a capability of\n" 1 "# and (cleartext) password. A server may not support one or other\n" 1 "# For both these mechanisms, there should be two +args+: username\n" 1 "# password stored in clear-text password.\n" 1 "# mechanism requires that the server have the user's\n" 1 "# (see [RFC-2195] for a full description). This\n" 1 "# CRAM-MD5:: login with cleartext user and encrypted password\n" 1 "# LOGIN:: login using cleartext user and password. \n" 1 "# supports authentication mechanisms:\n" 1 "# the authentication mechanism to be used. Currently Net::IMAP\n" 1 "# The +auth_type+ parameter is a string that represents\n" 1 "# Sends an AUTHENTICATE command to authenticate the client.\n" 1 "# inclusion on the page\n" 1 "dot -Tismap " 1 "\\n" 1 "^rectangle \\((\\d+),(\\d+)\\) \\((\\d+),(\\d+)\\) ([\\/\\w.]+)\\s*(.*)" 1 "Unexpected output from dot:\\n" 1 " \""\\n" 1 "\\n" 1 "capability" 1 "# using it.\n" 1 "# a certain capability is supported by a server before\n" 1 "# it is up to the user of the class to ensure that \n" 1 "# behaviour according to the capabilities of the server;\n" 1 "# Note that the Net::IMAP class does not modify its\n" 1 "# is a string. See [IMAP] for a list of possible\n" 1 "# capabilities that the server supports. Each capability\n" 1 "# Sends a CAPABILITY command, and returns an array of\n" 1 "disconnected?" 1 "# Returns true if disconnected from the server.\n" 1 "\""" 1 "# Disconnects from the server.\n" 1 "# options for node declaration\n" 1 "shapefile" 1 "# options for edge declaration\n" 1 "decorate" 1 "# replaced by the new one.\n" 1 "# If +auth_type+ refers to an existing authenticator, it will be\n" 1 "# for examples.\n" 1 "# Net::IMAP::CramMD5Authenticator, and Net::IMAP::DigestMD5Authenticator\n" 1 "# the server. See Net::IMAP::LoginAuthenticator, \n" 1 "# which defines a process() method to handle authentication with\n" 1 "# (for instance, \"LOGIN\"). The +authenticator+ is an object\n" 1 "# is the type of authentication this authenticator supports\n" 1 "# Adds an authenticator for Net::IMAP#authenticate. +auth_type+\n" 1 "# Sets the debug mode.\n" 1 "minlen" 1 "# Returns the debug mode.\n" 1 "Unmarked" 1 "UNMARKED" 1 "# Flag indicating that the mailbox does not contains new messages.\n" 1 "Marked" 1 "# options for graph declaration\n" 1 "# new messages.\n" 1 "# the server; this commonly indicates that the mailbox contains\n" 1 "# Flag indicating that a mailbox has been marked \"interesting\" by\n" 1 "Noselect" 1 "clusterrank" 1 "# Flag indicating that a mailbox is not selected.\n" 1 "Noinferiors" 1 "NOINFERIORS" 1 "concentrate" 1 "# Flag indicating that a mailbox context name cannot contain\n" 1 "Recent" 1 "layerseq" 1 "# of this message.\n" 1 "# session is the first session in which the client has been notified\n" 1 "# Flag indicating that the message is \"recent\", meaning that this\n" 1 "Draft" 1 "DRAFT" 1 "# Flag indicating a message is only a draft or work-in-progress version.\n" 1 "Deleted" 1 "DELETED" 1 "# will occur when the mailbox is closed or expunged.\n" 1 "# Flag indicating a message has been marked for deletion. This\n" 1 "Flagged" 1 "FLAGGED" 1 "# attention\n" 1 "# Flag indicating a message has been flagged for special or urgent\n" 1 "Answered" 1 "ANSWERED" 1 "# Flag indicating a message has been answered\n" 1 "Seen" 1 "SEEN" 1 "# Flag indicating a message has been seen\n" 1 "client_thread" 1 "# The thread to receive exceptions.\n" 1 "response_handlers" 1 "# Returns all response handlers.\n" 1 "mclimit" 1 "# #=> 968263756\n" 1 "# p imap.responses[\"UIDVALIDITY\"][-1]\n" 1 "# #=> 2\n" 1 "# p imap.responses[\"EXISTS\"][-1]\n" 1 "# Returns recorded untagged responses. For example:\n" 1 "greeting" 1 "# Returns an initial greeting response from the server.\n" 1 "nodesep" 1 "# Unicode\", RFC 2152, May 1997.\n" 1 "# Goldsmith, D. and Davis, M., \"UTF-7: A Mail-Safe Transformation Format of\n" 1 "# [[UTF7]]\n" 1 "# http://savannah.gnu.org/projects/rubypki\n" 1 "# [[RSSL]]\n" 1 "# http://www.openssl.org\n" 1 "# [[OSSL]]\n" 1 "# Extensions\", draft-ietf-imapext-sort, May 2003.\n" 1 "# Crispin, M., \"INTERNET MESSAGE ACCESS PROTOCOL - SORT and THREAD\n" 1 "# [[SORT-THREAD-EXT]]\n" 1 "# for Simple Challenge/Response\", RFC 2195, September 1997.\n" 1 "# Klensin, J., Catoe, R., and Krumviede, P., \"IMAP/POP AUTHorize Extension\n" 1 "# [[RFC-2195]]\n" 1 "# Myers, J., \"IMAP4 ACL extension\", RFC 2086, January 1997.\n" 1 "# [[RFC-2086]]\n" 1 "# Myers, J., \"IMAP4 QUOTA extension\", RFC 2087, January 1997.\n" 1 "# [[RFC-2087]]\n" 1 "# Messages\", STD 11, RFC 822, University of Delaware, August 1982.\n" 1 "# Crocker, D., \"Standard for the Format of ARPA Internet Text\n" 1 "# [[RFC-822]]\n" 1 "# 2045, November 1996.\n" 1 "# Mail Extensions) Part One: Format of Internet Message Bodies\", RFC\n" 1 "# Freed, N., and N. Borenstein, \"MIME (Multipurpose Internet\n" 1 "# [[MIME-IMB]]\n" 1 "# 1864, October 1995.\n" 1 "# Myers, J., and M. Rose, \"The Content-MD5 Header Field\", RFC\n" 1 "# [[MD5]]\n" 1 "# Languages\", RFC 1766, March 1995.\n" 1 "# Alvestrand, H., \"Tags for the Identification of\n" 1 "# [[LANGUAGE-TAGS]]\n" 1 "# RFC 2060, December 1996. (Note: since obsoleted by RFC 3501)\n" 1 "# M. Crispin, \"INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1\",\n" 1 "# [[IMAP]]\n" 1 "# thrown if a server response is non-parseable. \n" 1 "# between UTF-8 and UTF-16), and Net::IMAP::ResponseParseError is \n" 1 "# is found to be in an incorrect format (for instance, when converting\n" 1 "# Finally, a Net::IMAP::DataFormatError is thrown if low-level data\n" 1 "# and associated man pages.\n" 1 "# goes down. See the socket(7), ip(7), tcp(7), socket(2), connect(2),\n" 1 "# raise an Errno::EPIPE error if the network connection unexpectedly\n" 1 "# request to the server and/or receiving a response from it could\n" 1 "# Errno errors. For instance, any method that involves sending a\n" 1 "# working with sockets. These are generally represented as\n" 1 "# are also susceptible to the various errors that can occur when\n" 1 "# Because the IMAP class uses Sockets for communication, its methods\n" 1 "# Only the most pertinent instances have been documented below.\n" 1 "# sending a request to the server can generate one of these errors.\n" 1 "# Net::IMAP::ResponseError. Essentially, all methods that involve\n" 1 "# Net::IMAP::ByeResponseError, all of which are subclasses of\n" 1 "# Net::IMAP::NoResponseError, Net::IMAP::BadResponseError, and\n" 1 "# These three error response are represented by the errors\n" 1 "# the server is timing out the client connection due to inactivity.\n" 1 "# it indicates either that the server is shutting down, or that\n" 1 "# to accept our connection. As a response to any other command,\n" 1 "# to indicate that the server is (for some reason) unwilling\n" 1 "# logout sequence, and can be used as part of a login sequence\n" 1 "# BYE:: the server is saying goodbye. This can be part of a normal\n" 1 "# failure (such as a disk crash) has occurred.\n" 1 "# mailbox. It can also signal an internal server\n" 1 "# to perform a SEARCH command without having SELECTed a current\n" 1 "# commands from the wrong client state; for instance, attempting\n" 1 "# understanding of the IMAP protocol. This includes attempting\n" 1 "# BAD:: the request from the client does not follow the server's \n" 1 "# the selected mailbox does not exists; etc. \n" 1 "# instance, the username/password used for logging in are incorrect;\n" 1 "# NO:: the attempted command could not be successfully completed. For\n" 1 "# failure:\n" 1 "# An IMAP server can send three different types of responses to indicate\n" 1 "# == Errors\n" 1 "# This script invokes the FETCH command and the SEARCH command concurrently.\n" 1 "# imap.disconnect\n" 1 "# fetch_result = fetch_thread.value\n" 1 "# search_result = imap.search([\"BODY\", \"hello\"])\n" 1 "# fetch_thread = Thread.start { imap.fetch(1..-1, \"UID\") }\n" 1 "nslimit" 1 "# imap.authenticate(\"cram-md5\", \"bar\", \"password\")\n" 1 "# imap = Net::IMAP.new(\"imap.foo.net\", \"imap2\")\n" 1 "# Net::IMAP supports concurrent threads. For example,\n" 1 "# == Thread Safety\n" 1 "# imap.expunge\n" 1 "# imap.store(message_id, \"+FLAGS\", [:Deleted])\n" 1 "# imap.copy(message_id, \"Mail/sent-apr03\")\n" 1 "# imap.search([\"BEFORE\", \"30-Apr-2003\", \"SINCE\", \"1-Apr-2003\"]).each do |message_id|\n" 1 "# imap.create('Mail/sent-apr03')\n" 1 "# if not imap.list('Mail/', 'sent-apr03')\n" 1 "# imap.select('Mail/sent-mail')\n" 1 "# === Move all messages from April 2003 from \"Mail/sent-mail\" to \"Mail/sent-apr03\"\n" 1 "# puts \"\#{envelope.from[0].name}: \\t\#{envelope.subject}\"\n" 1 "# envelope = imap.fetch(message_id, \"ENVELOPE\")[0].attr[\"ENVELOPE\"]\n" 1 "# imap.search([\"RECENT\"]).each do |message_id|\n" 1 "# imap.examine('INBOX')\n" 1 "orientation" 1 "page" 1 "# === List sender and subject of all recent messages in the default mailbox\n" 1 "# == Examples of Usage\n" 1 "# rearrange message orders.\n" 1 "# UIDs have to be reassigned. An IMAP client cannot thus\n" 1 "# rearranges the order of mailitems within a mailbox, the\n" 1 "# order within a mailbox; this means that if a non-IMAP client\n" 1 "# be assigned in ascending (but not necessarily sequential)\n" 1 "# the existing message is deleted. UIDs are required to\n" 1 "# identify another message within the same mailbox, even if \n" 1 "# UIDs, on the other hand, are permanently guaranteed not to\n" 1 "# sequence numbers \"shuffled down\" to fill the gaps.\n" 1 "# are expunged from the mailbox, remaining messages have their\n" 1 "# number equal to the new size of the mail box. If messages\n" 1 "# message arrives during a session, it receives a sequence\n" 1 "# from 1 up to the number of items in the mail box. If new\n" 1 "# Message sequence numbers number messages within a mail box \n" 1 "# numbers, and UIDs. \n" 1 "# Messages have two sorts of identifiers: message sequence\n" 1 "# related commands implicitly operate. \n" 1 "# mailbox becomes the _current_ mailbox, on which mail-item\n" 1 "# selected a mailbox, they enter _selected_ state, and that\n" 1 "# read-only access) #examine(). Once the client has successfully\n" 1 "# first select that mailbox, using either #select() or (for\n" 1 "# To work on the messages within a mailbox, the client must\n" 1 "# within a hierarchy of directories.\n" 1 "# will frequently be implemented as a files in mailbox format\n" 1 "# the server is implementation-dependent; on a UNIX server, it\n" 1 "# contains zero or more messages. How this is implemented on\n" 1 "# arranged in an hierarchical namespace, and each of which\n" 1 "# available to it. Most work with mailboxes, which may be\n" 1 "# authenticated itself, there is a range of commands\n" 1 "# itself using either #authenticate() or #login(). Having\n" 1 "# An IMAP client connects to a server, and then authenticates\n" 1 "# == IMAP Overview\n" 1 "# functionality. The protocol is described in [IMAP].\n" 1 "# Net::IMAP implements Internet Message Access Protocol (IMAP) client\n" 1 "# See Net::IMAP for documentation. \n" 1 "# Webber.\n" 1 "# Documentation: Shugo Maeda, with RDoc conversion and overview by William\n" 1 "# Copyright (C) 2000 Shugo Maeda \n" 1 "# = net/imap.rb\n" 1 "rankdir" 1 " )" 1 "ssl_timeout" 1 " verify_mode" 1 "ranksep" 1 " ssl_version" 1 "%w(\n" 1 "use_ssl value changed, but session already started" 1 "use_ssl=" 1 "# a Net::HTTP object raises IOError.\n" 1 "# If you change use_ssl value after session started,\n" 1 "# This flag must be set before starting session.\n" 1 "# Turn on/off SSL.\n" 1 " Sets the SSL timeout seconds.\n" 1 ": ssl_timeout, ssl_timeout=((|sec|))\n" 1 " Sets the X509::Store to verify peer certificate.\n" 1 ": cert_store, cert_store=((|store|))\n" 1 " Sets the maximum depth for the certificate chain verification.\n" 1 ": verify_depth, verify_depth=((|num|))\n" 1 " Sets the verify callback for the server certification verification.\n" 1 ": verify_callback, verify_callback=((|proc|))\n" 1 " OpenSSL::SSL::VERIFY_NONE or OpenSSL::SSL::VERIFY_PEER is acceptable.\n" 1 " begining of SSL/TLS session.\n" 1 " Sets the flags for server the certification verification at\n" 1 ": verify_mode, verify_mode=((|mode|))\n" 1 " in PEM format.\n" 1 " Sets path of a CA certification directory containing certifications\n" 1 ": ca_path, ca_path=((|path|))\n" 1 " The file can contrain several CA certificats.\n" 1 " Sets path of a CA certification file in PEM format.\n" 1 ": ca_file, ca_file=((|path|))\n" 1 " (This method is appeared in Michal Rokos's OpenSSL extension).\n" 1 " Sets an OpenSSL::X509::Certificate object as client certificate\n" 1 ": cert, cert=((|cert|))\n" 1 " (This method is appeared in Michal Rokos's OpenSSL extension.)\n" 1 " Sets an OpenSSL::PKey::RSA or OpenSSL::PKey::DSA object.\n" 1 ": key, key=((|key|))\n" 1 " return the X.509 certificates the server presented.\n" 1 ": peer_cert\n" 1 " sets use_ssl.\n" 1 ": use_ssl=((|true_or_false|))\n" 1 " returns true if use SSL/TLS with HTTP.\n" 1 ": use_ssl?\n" 1 "=== Instance Methods\n" 1 "== class Net::HTTP\n" 1 " http.use_ssl = true if uri.scheme == \"https\" # enable SSL/TLS\n" 1 " uri = URI.parse(ARGV[0] || 'https://localhost/')\n" 1 " require 'net/https'\n" 1 "It can be replaced by the following code:\n" 1 "# a root class for any element in dot notation\n" 1 "# an element that has options ( node, edge or graph )\n" 1 "#attr_reader :parent\n" 1 "each_option_pair" 1 "#def parent=( thing )\n" 1 "# @parent.delete( self ) if defined?( @parent ) and @parent\n" 1 " uri = URI.parse(ARGV[0] || 'http://localhost/')\n" 1 "# @parent = thing\n" 1 " require 'net/http'\n" 1 "Here is a simple HTTP client:\n" 1 "== Example\n" 1 " 2004-03-06: Some code is merged in to net/http.\n" 1 " 2001-11-06: Contiributed to Ruby/OpenSSL project.\n" 1 " $Id: https.rb 18512 2008-08-12 05:20:09Z aamine $\n" 1 "== Version\n" 1 " You can get it from RAA or Ruby's CVS repository.\n" 1 " This program requires Net 1.2.0 or higher version.\n" 1 "== Requirements\n" 1 "== Licence\n" 1 " Copyright (C) 2001 GOTOU Yuuzou \n" 1 "== Info\n" 1 "= $RCSfile$ -- SSL/TLS enhancement for Net::HTTP.\n" 1 "# this is used when we build nodes that have shape=record\n" 1 "HTTPResponceReceiver" 1 "HTTPServerErrorCode" 1 "HTTPFatalErrorCode" 1 "HTTPClientErrorCode" 1 "HTTPRetriableCode" 1 "HTTPRedirectionCode" 1 "HTTPSuccessCode" 1 "HTTPInformationCode" 1 "# ports don't have options :)\n" 1 "ProxyMod" 1 "# node element\n" 1 "both arg and block given for HTTP method" 1 "attempt to read body out of block" 1 "# none\n" 1 "# \\r\\n\n" 1 "wrong chunk size line: " 1 "[0-9a-fA-F]+" 1 "each_port" 1 "record" 1 "# ignore EOF\n" 1 "label = \\\"" 1 "\\\"\\n" 1 "label = \"" 1 "# this method facilitates that.\n" 1 "# Because it may be necessary to modify the body, Eg, decompression\n" 1 "# subgraph element is the same to graph, but has another header in dot\n" 1 "# Returns the entity body.\n" 1 "# notation\n" 1 "subgraph" 1 " {\\n" 1 "\\#read_body called twice" 1 "# print segment\n" 1 "# res.read_body do |segment|\n" 1 "# # using iterator\n" 1 "}\\n" 1 "# puts res.read_body\n" 1 "# this is graph\n" 1 "digraph" 1 "# this is edge\n" 1 "# The body is provided in fragments, as it is read in from the socket.\n" 1 "# Gets entity body. If the block given, yields it to +block+.\n" 1 "# ensure to read body\n" 1 "rdoc/markup/to_html_crossref" 1 "rdoc/template" 1 "# body\n" 1 ": warning: HTTPResponse#read_header is obsolete" 1 "# Name of sub-directory that holds file descriptions\n" 1 ": warning: HTTPResponse#header is obsolete" 1 ": warning: HTTPResponse#response is obsolete" 1 "# header (for backward compatibility only; DO NOT USE)\n" 1 "# Raises HTTP error if the response is not 2xx.\n" 1 "# Name of sub-directory that holds class descriptions\n" 1 "# Name of the RDoc CSS file\n" 1 "code_type" 1 "# response <-> exception relationship\n" 1 "; use `response = http.get(...)' instead." 1 "net/http.rb: warning: Net::HTTP v1.1 style assignment found at " 1 "# response, body = Net::HTTP.get(....)\n" 1 "# To allow Net::HTTP 1.1 style assignment\n" 1 "# For backward compatibility.\n" 1 " readbody=" 1 "# :nodoc: obsolete\n" 1 "# HTTP result message. For example, 'Not Found'.\n" 1 "# response object is an instance of.\n" 1 "# determine the response type by which response subclass the\n" 1 "# HTTP result code string. For example, '302'. You can also\n" 1 "# The HTTP version supported by the server.\n" 1 "rdoc-style.css" 1 "# Build a hash of all items that can be cross-referenced. This is used when\n" 1 "# we output required and included names: if the names appear in this hash,\n" 1 "# we can generate an html cross reference to the appropriate description.\n" 1 "# spills out.\n" 1 "# next is to fix bug in RDoc, where the private inside class << self\n" 1 "wrong header line format" 1 "\\A([^:]+):\\s*" 1 "\\s+\\z" 1 "# We also use this when parsing comment blocks: any decorated words matching\n" 1 "wrong status line: " 1 "/in" 1 "\\AHTTP(?:\\/(\\d+\\.\\d+))?\\s+(\\d\\d\\d)\\s*(.*)\\z" 1 "# an entry in this list are hyperlinked.\n" 1 "# Handle common markup tasks for the various Context subclasses\n" 1 "# Convert a string in markup format into HTML.\n" 1 "# Convert leading comment markers to spaces, but only if all non-blank\n" 1 "# lines have them\n" 1 "^(?>\\s*)[^\\#]" 1 "^\\s*(#+)" 1 "^

" 1 "<\\/p>$" 1 "# Qualify a stylesheet URL; if if +css_name+ does not begin with '/' or\n" 1 "# 'http[s]://', prepend a prefix relative to +path+. Otherwise, return it\n" 1 "# unmodified.\n" 1 "# $stderr.puts \"style_url( \#{path.inspect}, \#{css_name.inspect} )\"\n" 1 "^(https?:/)?/" 1 "# Build a webcvs URL with the given 'url' argument. URLs with a '%s' in them\n" 1 "# get the file's path sprintfed into them; otherwise they're just catenated\n" 1 "# together.\n" 1 "# A Context is built by the parser to represent a container: contexts hold\n" 1 "# classes, modules, methods, require lists and include lists. ClassModule\n" 1 "# and TopLevel are the context objects we process here\n" 1 "# Generate:\n" 1 "# * a list of RDoc::Generator::File objects for each TopLevel object\n" 1 "# * a list of RDoc::Generator::Class objects for each first level class or\n" 1 "# module in the TopLevel objects\n" 1 "# * a complete list of all hyperlinkable terms (file, class, module, and\n" 1 "# method names)\n" 1 "build_indices" 1 "# convenience method to build a hyperlink\n" 1 "" 1 "# Create a list of Method objects for each method in the corresponding\n" 1 "# context object. If the @options.show_all variable is set (corresponding\n" 1 "# to the --all option, we include all methods, otherwise just the\n" 1 "# public ones.\n" 1 "# Build a summary list of all the methods in this context\n" 1 "path_prefix" 1 "# Build a list of aliases for which we couldn't find a\n" 1 "# corresponding method\n" 1 "# Build a list of constants\n" 1 "# 505\n" 1 "# Build a list from an array of Context items. Look up each in the\n" 1 "# 504\n" 1 "# AllReferences hash: if we find a corresponding entry, we generate a\n" 1 "# 503\n" 1 "# hyperlink to it, otherwise just output the name. However, some names\n" 1 "# 502\n" 1 "# potentially need massaging. For example, you may require a Ruby file\n" 1 "# 501\n" 1 "# without the .rb extension, but the file names we know about may have it.\n" 1 "# 500\n" 1 "# To deal with this, we pass in a block which performs the massaging,\n" 1 "# 417\n" 1 "# returning an array of alternative names to match\n" 1 "# 416\n" 1 "# if !ref\n" 1 "# 415\n" 1 "# container = @context.parent\n" 1 "HTTPRequestURITooLarge" 1 "# 414\n" 1 "# while !ref && container\n" 1 "# 413\n" 1 "# name = container.name + \"::\" + i.name\n" 1 "# 412\n" 1 "# ref = AllReferences[name]\n" 1 "# 411\n" 1 "# container = container.parent\n" 1 "# 410\n" 1 "# Build an array of arrays of method details. The outer array has up\n" 1 "# 409\n" 1 "# to six entries, public, private, and protected for both class\n" 1 "# 408\n" 1 "# methods, the other for instance methods. The inner arrays contain\n" 1 "# 407\n" 1 "# 406\n" 1 "# a hash for each method\n" 1 "# 405\n" 1 "callseq" 1 "# 404\n" 1 "->" 1 "# 403\n" 1 "→" 1 "# 402\n" 1 "m_desc" 1 "# 401\n" 1 "# won't be if the alias is private\n" 1 "# 400\n" 1 "aka" 1 "# 306 unused\n" 1 "# 305\n" 1 "sourcecode" 1 "# 304\n" 1 "codeurl" 1 "HTTPMovedTemporarily" 1 "# 300\n" 1 "imgurl" 1 "# 206\n" 1 "# Build the structured list of classes and modules contained\n" 1 "# 205\n" 1 "# in this context.\n" 1 "# 204\n" 1 "  ::" 1 "# 203\n" 1 "Module " 1 "# 202\n" 1 "Class " 1 "# 201\n" 1 "((?:src|href)=\")(.*?)\"" 1 "# 200\n" 1 "# Find a symbol in ourselves or our parent\n" 1 "# create table of contents if we contain sections\n" 1 "# 101\n" 1 "secname" 1 "# 100\n" 1 "# 5xx\n" 1 "# Wrap a ClassModule context\n" 1 "@html_file" 1 "# 4xx\n" 1 "# Returns the relative file name to store this class in, which is also its\n" 1 "# 3xx\n" 1 "# url\n" 1 "# 2xx\n" 1 "# 1xx\n" 1 "<<\\s*(\\w*)" 1 "from-\\1" 1 "# reopened after\n" 1 "CLASS_PAGE" 1 "# :nodoc: internal use only\n" 1 "exception_type" 1 "a_desc" 1 "par_url" 1 "# true if the response has body.\n" 1 "# xxx HTTPUnknownResponse\n" 1 "# 505 HTTPVersionNotSupported\n" 1 "# 504 HTTPGatewayTimeOut\n" 1 "# 503 HTTPServiceUnavailable\n" 1 "# 502 HTTPBadGateway\n" 1 "# 501 HTTPNotImplemented\n" 1 "# 500 HTTPInternalServerError\n" 1 "# 5xx HTTPServerError\n" 1 "# 417 HTTPExpectationFailed\n" 1 "# 416 HTTPRequestedRangeNotSatisfiable\n" 1 "# 415 HTTPUnsupportedMediaType\n" 1 "# 414 HTTPRequestURITooLong\n" 1 "# 413 HTTPRequestEntityTooLarge\n" 1 "# 412 HTTPPreconditionFailed\n" 1 "# 411 HTTPLengthRequired\n" 1 "# 410 HTTPGone\n" 1 "# 409 HTTPConflict\n" 1 "# 408 HTTPRequestTimeOut\n" 1 "# 407 HTTPProxyAuthenticationRequired\n" 1 "# 406 HTTPNotAcceptable\n" 1 "# 405 HTTPMethodNotAllowed\n" 1 "# 404 HTTPNotFound\n" 1 "# 403 HTTPForbidden\n" 1 "# 402 HTTPPaymentRequired\n" 1 "# 401 HTTPUnauthorized\n" 1 "# 400 HTTPBadRequest\n" 1 "# 4xx HTTPClientError\n" 1 "# 307 HTTPTemporaryRedirect\n" 1 "# 305 HTTPUseProxy\n" 1 "# 304 HTTPNotModified\n" 1 "# 303 HTTPSeeOther\n" 1 "# 302 HTTPFound\n" 1 "# 301 HTTPMovedPermanently\n" 1 "# 300 HTTPMultipleChoice\n" 1 "# 3xx HTTPRedirection\n" 1 "# 206 HTTPPartialContent\n" 1 "# 205 HTTPResetContent\n" 1 "# 204 HTTPNoContent\n" 1 "# 203 HTTPNonAuthoritativeInformation\n" 1 "# 202 HTTPAccepted\n" 1 "# 201 HTTPCreated\n" 1 "# 200 HTTPOK\n" 1 "# 2xx HTTPSuccess\n" 1 "# 101 HTTPSwitchProtocol\n" 1 "# 100 HTTPContinue \n" 1 "# 1xx HTTPInformation\n" 1 "# xxx HTTPResponse\n" 1 "# defined under the Net module. Indentation indicates inheritance.\n" 1 "# All classes are\n" 1 "# HTTPResponse subclass. These are listed below.\n" 1 "# Note that each possible HTTP response code defines its own \n" 1 "# header values both via hash-like methods and individual readers.\n" 1 "# Mixes in the HTTPHeader module, which provides access to response\n" 1 "# HTTP response class. This class wraps response header and entity.\n" 1 "full_path_url" 1 "infiles" 1 "# We cannot use the name \"HTTPServerError\", it is the name of the response.\n" 1 "# Handles the mapping of a file's information to HTML. In reality, a file\n" 1 "# corresponds to a +TopLevel+ object, containing modules, classes, and\n" 1 "# top-level methods. In theory it _could_ contain attributes and aliases,\n" 1 "# but we ignore these for now.\n" 1 "%|\\/|\\?|\\#" 1 "@response" 1 "%%%x" 1 "# You must use its subclasses.\n" 1 "# HTTP exception class.\n" 1 "### Response\n" 1 "FILE_PAGE" 1 "UNLOCK" 1 "LOCK" 1 "MOVE" 1 "MKCOL" 1 "PROPPATCH" 1 "PROPFIND" 1 "# WebDAV methods --- RFC2518\n" 1 "TRACE" 1 "File: " 1 "dtm_modified" 1 "M000000" 1 "# HTTP 1.1 methods --- RFC2616\n" 1 "# Initialize the class variables.\n" 1 "# TODO: rethink the class hierarchy here...\n" 1 "@src_url" 1 "# Creates HTTP request object.\n" 1 "@img_url" 1 "# You *must* use its subclass, Net::HTTP::Get, Post, Head.\n" 1 "# HTTP request class. This class wraps request header and entity path.\n" 1 "source.png" 1 "net/http: warning: Content-Type did not set; using application/x-www-form-urlencoded" 1 "0\\r\\n\\r\\n" 1 "%x\\r\\n" 1 "Content-Length not given and Transfer-Encoding is not `chunked'" 1 " (alias_for " 1 "# params coming from a call-seq in 'C' will start with the\n" 1 "# method name\n" 1 "^\\w" 1 "# write\n" 1 "both of body argument and HTTPRequest#body set" 1 "body_stream=" 1 "body_stream" 1 "# If this method has explicit block parameters, remove any\n" 1 "Net::HTTPRequest#body_exist? is obsolete; use response_body_permitted?" 1 "body_exist?" 1 "request_body_permitted?" 1 "# explicit &block\n" 1 " {|" 1 "Ruby" 1 "| ...}" 1 "*/*" 1 "Accept" 1 "HTTP request path is empty" 1 "no HTTP request path given" 1 "\\.html$" 1 ".src" 1 "SRC_PAGE" 1 "# Given a sequence of source tokens, mark up the source code\n" 1 "# to make it look purty.\n" 1 "# Mixes in the HTTPHeader module.\n" 1 "# a subclass of HTTPRequest.\n" 1 "# Parent of HTTPRequest class. Do not use this directly; use\n" 1 "# style = STYLE_MAP[t.class]\n" 1 "ruby-constant" 1 "TkKW" 1 "ruby-keyword kw" 1 "ruby-ivar" 1 "# Set Proxy-Authorization: header for \"Basic\" authorization.\n" 1 "ruby-operator" 1 "authorization" 1 "# Set the Authorization: header for \"Basic\" authorization.\n" 1 "%%%02x" 1 "[^a-zA-Z0-9_\\.\\-]" 1 "ruby-identifier" 1 "form_data=" 1 "ruby-node" 1 "ruby-comment cmt" 1 "# http.set_form_data({\"q\" => \"ruby\", \"lang\" => \"en\"}, ';')\n" 1 "# http.form_data = {\"q\" => [\"ruby\", \"perl\"], \"lang\" => \"en\"}\n" 1 "# http.form_data = {\"q\" => \"ruby\", \"lang\" => \"en\"}\n" 1 "# application/x-www-form-urlencoded.\n" 1 "# This method also set Content-Type: header field to\n" 1 "# Optional argument +sep+ means data record separator.\n" 1 "# +params+ should be a Hash containing HTML form data.\n" 1 "# Set header fields and a body from HTML form data.\n" 1 "ruby-regexp re" 1 "ruby-value str" 1 "# +type+ must be a String, +params+ must be a Hash.\n" 1 "# Set Content-Type: header field by +type+ and +params+.\n" 1 "type_params" 1 "# {\"charset\" => \"iso-2022-jp\"}.\n" 1 "# Returns content type parameters as a Hash as like\n" 1 "# or sub-type is not given (e.g. \"Content-Type: text\").\n" 1 "# This method returns nil if Content-Type: header field does not exist\n" 1 "# Returns a content type string such as \"html\".\n" 1 "ruby-value" 1 "# Returns a content type string such as \"text\".\n" 1 "" 1 "# We rely on the fact that the first line of a source code listing has\n" 1 "# Returns a content type string such as \"text/html\".\n" 1 "# # File xxxxx, line dddd\n" 1 "# The length of the range represented in Content-Range: header.\n" 1 "wrong Content-Range format" 1 "Content-Range" 1 ">i" 1 "bytes\\s+(\\d+)-(\\d+)/(\\d+|\\*)" 1 "content-range" 1 "\\A.*, line (\\d+)" 1 "# fits inside the full entity body, as range of byte offsets.\n" 1 "# This indicates, for a partial entity body, where this fragment\n" 1 "# Returns a Range object which represents Content-Range: header field.\n" 1 "(?:\\A|[^\\-\\w])chunked(?![\\-\\w])" 1 "d: " 1 "# Ruby's built-in classes, modules and exceptions\n" 1 "KNOWN_CLASSES" 1 "# stating the entire content length.\n" 1 "# the content to be sent in \"chunks\" without at the outset\n" 1 "# set to \"chunked\". This is an HTTP/1.1 feature, allowing the \n" 1 "# Returns \"true\" if the \"transfer-encoding\" header is present and\n" 1 "rb_cArray" 1 "rb_cBignum" 1 "wrong Content-Length format" 1 "# or +nil+ if that field is not provided.\n" 1 "# Returns an Integer object which represents the Content-Length: header field\n" 1 "range=" 1 "bytes=" 1 "Range/Integer is required" 1 "must be .first < .last" 1 "range.last is negative" 1 "range.first is negative" 1 "0-" 1 "rb_cClass" 1 "rb_cData" 1 "# req.set_range 0, 1023\n" 1 "# req.range = (0..1023)\n" 1 "# length from it (arg idx&len).\n" 1 "# Set Range: header from Range (arg r) or beginning index and\n" 1 "range is not specified" 1 "Data" 1 "rb_cDir" 1 "wrong Range: " 1 "bytes\\s*=\\s*(\\d+)?\\s*-\\s*(\\d+)?" 1 "# or +nil+ if there is no such header.\n" 1 "# Returns an Array of Range objects which represents Range: header field,\n" 1 "canonical_each" 1 "rb_cFalseClass" 1 "# As for #each_header, except the keys are provided in capitalized form.\n" 1 "# Returns a Hash consist of header names and values.\n" 1 "# true if +key+ header exists.\n" 1 "# Removes a header field.\n" 1 "#:yield: +value+\n" 1 "# Iterates for each header values.\n" 1 "each_capitalized_name" 1 "# Iterates for each capitalized header names.\n" 1 "# Iterates for each header names.\n" 1 "rb_cFile" 1 "#:yield: +key+, +value+\n" 1 "rb_cFixnum" 1 "# Iterates for each header names and values.\n" 1 "rb_cFloat" 1 "# if there's no header field named key. See Hash#fetch\n" 1 "# Returns the default value +args+, or the result of the block, or nil,\n" 1 "rb_cHash" 1 "# #=> \"session=al98axx; expires=Fri, 31-Dec-1999 23:58:23, query=rubyscript; expires=Fri, 31-Dec-1999 23:58:23\"\n" 1 "# p response['Set-Cookie']\n" 1 "# \"query=rubyscript; expires=Fri, 31-Dec-1999 23:58:23\"]\n" 1 "# #=> [\"session=al98axx; expires=Fri, 31-Dec-1999 23:58:23\",\n" 1 "# p response.get_fields('Set-Cookie')\n" 1 "# header fields without any processing. See also #[].\n" 1 "# case-insensitive +key+. This method allows you to get duplicated\n" 1 "# Returns an array of header field strings corresponding to the\n" 1 "rb_cIO" 1 "# p request.get_fields('X-My-Header') #=> [\"a\", \"b\", \"c\"]\n" 1 "# p request['X-My-Header'] #=> \"a, b, c\"\n" 1 "# request.add_field 'X-My-Header', 'c'\n" 1 "# p request.get_fields('X-My-Header') #=> [\"a\", \"b\"]\n" 1 "# p request['X-My-Header'] #=> \"a, b\"\n" 1 "# request.add_field 'X-My-Header', 'b'\n" 1 "# p request.get_fields('X-My-Header') #=> [\"a\"]\n" 1 "# p request['X-My-Header'] #=> \"a\"\n" 1 "# request.add_field 'X-My-Header', 'a'\n" 1 "# See also #[]=, #[] and #get_fields.\n" 1 "# Second argument +val+ must be a String.\n" 1 "# Adds header field instead of replace.\n" 1 "rb_cInteger" 1 "# Sets the header field corresponding to the case-insensitive key.\n" 1 "# For example, a key of \"Content-Type\" might return \"text/html\"\n" 1 "rb_cModule" 1 "net/http: warning: duplicated HTTP header: " 1 "rb_cNilClass" 1 "rb_cNumeric" 1 "rb_cObject" 1 "# convenient format.\n" 1 "# methods for accessing commonly-used header values in a more\n" 1 "# object, except with case-insensitive keys. Also provides\n" 1 "# Provides access to @header in the mixed-into class as a hash-like\n" 1 "# Header module.\n" 1 "HTTPSession" 1 "# utils\n" 1 "HTTP authentication failed" 1 "HTTPAuthenticationError" 1 "complete_authentication" 1 "rb_cProc" 1 "Proxy-Connection" 1 "rb_cRange" 1 "rb_cRegexp" 1 "# Some versions of ISA will close the connection if this isn't present.\n" 1 "get_initial_token" 1 "rb_cRubyVM" 1 "NegotiateAuth" 1 "SSPI" 1 "win32/sspi" 1 "Negotiate" 1 "rb_cString" 1 "rb_cStruct" 1 "# HTTP/1.1 or later\n" 1 "rb_cSymbol" 1 "rb_cThread" 1 "Conn keep-alive" 1 "rb_cTime" 1 "rb_cTrueClass" 1 "Conn socket closed" 1 "rb_eArgError" 1 "ArgError" 1 "rb_eEOFError" 1 "rb_eException" 1 "rb_eFatal" 1 "Fatal" 1 "rb_eFloatDomainError" 1 "rb_eIOError" 1 "rb_eIndexError" 1 "rb_eInterrupt" 1 "rb_eLoadError" 1 "rb_eNameError" 1 "# Giving DATA for get/head request causes ArgumentError.\n" 1 "# This method also sends DATA string if REQUEST is a post/put request.\n" 1 "# Sends an HTTPRequest object REQUEST to the HTTP server.\n" 1 "rb_eNoMemError" 1 "# puts response.body\n" 1 "# response = http.send_request('GET', '/index.html')\n" 1 "NoMemError" 1 "# This method also sends DATA string if DATA is given.\n" 1 "# Sends an HTTP request to the HTTP server.\n" 1 "put2" 1 "rb_eNotImpError" 1 "head2" 1 "get2" 1 "NotImpError" 1 "rb_eRangeError" 1 "# p response.status\n" 1 "# http.request_post('/cgi-bin/nice.rb', 'datadatadata...') {|response|\n" 1 "# puts response.body # body is already read\n" 1 "# p response.status\n" 1 "# response = http.request_post('/cgi-bin/nice.rb', 'datadatadata...')\n" 1 "# Sends a POST request to the +path+ and gets a response,\n" 1 "rb_eRuntimeError" 1 "# response = http.request_head('/index.html')\n" 1 "# Sends a HEAD request to the +path+ and gets a response,\n" 1 "rb_eScriptError" 1 "rb_eSecurityError" 1 "rb_eSignal" 1 "rb_eStandardError" 1 "# http.request_get('/index.html') {|response|\n" 1 "# puts response.body\n" 1 "# # The entity body is already read here.\n" 1 "# response = http.request_get('/index.html')\n" 1 "rb_eSyntaxError" 1 "rb_eSystemCallError" 1 "rb_eSystemExit" 1 "rb_eTypeError" 1 "rb_eZeroDivError" 1 "ZeroDivError" 1 "# Sends a GET request to the +path+ and gets a response,\n" 1 "rb_mComparable" 1 "# Sends a TRACE request to the +path+ and gets a response,\n" 1 "rb_mEnumerable" 1 "mkcol" 1 "# Sends a MKCOL request to the +path+ and gets a response,\n" 1 "# Sends a COPY request to the +path+ and gets a response,\n" 1 "rb_mErrno" 1 "# Sends a MOVE request to the +path+ and gets a response,\n" 1 "rb_mFileTest" 1 "# Sends a DELETE request to the +path+ and gets a response,\n" 1 "rb_mGC" 1 "rb_mKernel" 1 "propfind" 1 "# Sends a PROPFIND request to the +path+ and gets a response,\n" 1 "# Sends a OPTIONS request to the +path+ and gets a response,\n" 1 "rb_mMath" 1 "# Sends a UNLOCK request to the +path+ and gets a response,\n" 1 "rb_mProcess" 1 "# Sends a LOCK request to the +path+ and gets a response,\n" 1 "# RDoc::Markup parses plain text documents and attempts to decompose them into\n" 1 "proppatch" 1 "# their constituent parts. Some of these parts are high-level: paragraphs,\n" 1 "# Sends a PROPPATCH request to the +path+ and gets a response,\n" 1 "# chunks of verbatim text, list entries and the like. Other parts happen at\n" 1 "# \"application/x-www-form-urlencoded\" by default.\n" 1 "# If no Content-Type: field given, this method uses\n" 1 "# You should set Content-Type: header field for POST.\n" 1 "# http.post('/cgi-bin/search.rb', 'query=foo') do |str|\n" 1 "# response = http.post('/cgi-bin/search.rb', 'query=foo')\n" 1 "# # version 1.2\n" 1 "# response, body = http.post('/cgi-bin/search.rb', 'query=foo')\n" 1 "# # version 1.1\n" 1 "# 3xx (redirect). In this case you can get an HTTPResponse object\n" 1 "# entity body in turn as a string as it are read from\n" 1 "# In version 1.2 (ruby 1.8), this method returns a Net::HTTPResponse object.\n" 1 "# Net::HTTPResponse object and an entity body string.\n" 1 "# In version 1.1 (ruby 1.6), this method returns a pair of objects, a\n" 1 "# like { 'Accept' => '*/*', ... }.\n" 1 "# Posts +data+ (must be a String) to +path+. +header+ must be a Hash\n" 1 "# the character level: a piece of bold text, a word in code font. This markup\n" 1 "# is similar in spirit to that used on WikiWiki webs, where folks create web\n" 1 "# response = http.head('/index.html')\n" 1 "# Net::HTTP.start('some.www.server', 80) {|http|\n" 1 "# response = nil\n" 1 "# In version 1.2, this method never raises an exception.\n" 1 "# 3xx (redirect). On the case you can get a HTTPResponse object\n" 1 "# This method returns a Net::HTTPResponse object.\n" 1 "# +header+ is a Hash like { 'Accept' => '*/*', ... }.\n" 1 "# Gets only the header from +path+ on the connected-to host.\n" 1 "# Don't do anything dramatic, unless we need to later\n" 1 "# nothing needed\n" 1 "# pages using a simple set of formatting rules.\n" 1 "# Clear it till next set.\n" 1 "gzip;q=1.0,deflate;q=0.6,identity;q=0.3" 1 "# RDoc::Markup itself does no output formatting: this is left to a different\n" 1 "# set of classes.\n" 1 "# RDoc::Markup is extendable at runtime: you can add \\new markup elements to\n" 1 "# be recognised in the documents that RDoc::Markup parses.\n" 1 "# http.get('/~foo/') do |str|\n" 1 "# RDoc::Markup is intended to be the basis for a family of tools which share\n" 1 "# the common requirement that simple, plain-text should be rendered in a\n" 1 "# response = http.get('/index.html')\n" 1 "# # version 1.2 (bundled with Ruby 1.8 or later)\n" 1 "# response, body = http.get('/index.html')\n" 1 "# # version 1.1 (bundled with Ruby 1.6)\n" 1 "# variety of different output formats and media. It is envisaged that\n" 1 "# RDoc::Markup could be the basis for formatting RDoc style comment blocks,\n" 1 "# 3xx (redirect). In this case you can get a HTTPResponse object\n" 1 "# Wiki entries, and online FAQs.\n" 1 "# This code converts +input_string+ to HTML. The conversion takes place in\n" 1 "# the +convert+ method, so you can use the same RDoc::Markup converter to\n" 1 "# convert multiple input strings.\n" 1 "# h = RDoc::Markup::ToHtml.new\n" 1 "# entity body in turn as a string as it is read from\n" 1 "# puts h.convert(input_string)\n" 1 "# In version 1.2 (ruby 1.8), this method returns a Net::HTTPResponse\n" 1 "# a Net::HTTPResponse object and the entity body string.\n" 1 "# In version 1.1 (ruby 1.6), this method returns a pair of objects,\n" 1 "# it leaves the body as it found it. \n" 1 "# the header as well to prevent confusion. Otherwise\n" 1 "# compression, then it does the decompression also, removing\n" 1 "# to reduce bandwidth by default. If this routine sets up\n" 1 "# compression, so that is not supported. The intent of this is\n" 1 "# Ruby doesn't have libraries to support the compress (Lempel-Ziv)\n" 1 "# compression, which is used in preference to no compression. \n" 1 "# so that gzip compression is used in preference to deflate \n" 1 "# a value of \"gzip;q=1.0,deflate;q=0.6,identity;q=0.3\" is used,\n" 1 "# If +initheader+ doesn't have the key 'accept-encoding', then\n" 1 "# and it defaults to an empty hash.\n" 1 "# +initheader+ must be a Hash like { 'Accept' => '*/*', ... },\n" 1 "# Gets data from +path+ on the connected-to host.\n" 1 "# HTTP operations\n" 1 "# You can extend the RDoc::Markup parser to recognise new markup\n" 1 "# sequences, and to add special processing for text that matches a\n" 1 "# regular expression. Here we make WikiWords significant to the parser,\n" 1 "# without proxy\n" 1 "proxyport" 1 "proxyaddr" 1 "# User password for accessing proxy. If self does not use a proxy, nil.\n" 1 "# User name for accessing proxy. If self does not use a proxy, nil.\n" 1 "# Port number of proxy host. If self does not use a proxy, nil.\n" 1 "# Address of proxy host. If self does not use a proxy, nil.\n" 1 "# True if self is a HTTP proxy class.\n" 1 "# and also make the sequences {word} and \\text... signify\n" 1 "# strike-through text. When then subclass the HTML output class to deal\n" 1 "# with these:\n" 1 "# returns true if self is a class which was created by HTTP::Proxy.\n" 1 "@proxy_address" 1 "# with proxy\n" 1 "# require 'rdoc/markup'\n" 1 "# class WikiHtml < RDoc::Markup::ToHtml\n" 1 "# # connecting proxy.foo.org:8080\n" 1 "# proxy_class.start('www.ruby-lang.org') {|http|\n" 1 "# def handle_special_WIKIWORD(special)\n" 1 "# proxy_class = Net::HTTP::Proxy('proxy.example.com', 8080)\n" 1 "# # Example\n" 1 "# If ADDRESS is nil, this method returns self (Net::HTTP).\n" 1 "# You can replace the HTTP class with created proxy class.\n" 1 "# if authorization on proxy server is required.\n" 1 "# Arguments are address/port of proxy host and username/password\n" 1 "# Creates an HTTP proxy class.\n" 1 "# \"\" + special.text + \"\"\n" 1 "# m = RDoc::Markup.new\n" 1 "# m.add_word_pair(\"{\", \"}\", :STRIKE)\n" 1 "@proxy_addr" 1 "# m.add_html(\"no\", :STRIKE)\n" 1 "# no proxy\n" 1 "# proxy\n" 1 "HTTP session not yet started" 1 "# m.add_special(/\\b([A-Z][a-z]+[A-Z]\\w+)/, :WIKIWORD)\n" 1 "# Finishes HTTP session and closes TCP connection.\n" 1 "# wh = WikiHtml.new\n" 1 "# wh.add_tag(:STRIKE, \"\", \"\")\n" 1 "# puts \"\#{wh.convert ARGF.read}\"\n" 1 "# Author:: Dave Thomas, dave@pragmaticprogrammer.com\n" 1 "Proxy-Authorization: Basic " 1 "# License:: Ruby license\n" 1 "?\\s" 1 "Host: " 1 "CONNECT %s:%s HTTP/%s" 1 "# List entries look like:\n" 1 "# * text\n" 1 "# 1. text\n" 1 "# [label] text\n" 1 "# label:: text\n" 1 "# Flag it as a list entry, and work out the indent for subsequent lines\n" 1 "opened" 1 "^(\n ( \\* (?# bullet)\n |- (?# bullet)\n |\\d+\\. (?# numbered )\n |[A-Za-z]\\. (?# alphabetically numbered )\n )\n \\s+\n" 1 " )\\S/x" 1 "opening connection to " 1 "^(\n ( \\[.*?\\] (?# labeled )\n |\\S.*:: (?# note )\n )(?:\\s+|$)\n" 1 " )/x" 1 "HTTP session already opened" 1 "# :yield: http\n" 1 "# block; otherwise, returns self.\n" 1 "# When called with a block, returns the return value of the\n" 1 "# after the block executed.\n" 1 "# to the block and closes the TCP connection / HTTP session\n" 1 "# When this method is called with block, gives a HTTP object\n" 1 "# Opens TCP connection and HTTP session.\n" 1 "# redefined in net/https\n" 1 "# Take a block of text and use various heuristics to determine it's\n" 1 "# returns true if use SSL/TLS with HTTP.\n" 1 "close_on_empty_response" 1 "# returns true if the HTTP session is started.\n" 1 "# structure (paragraphs, lists, and so on). Invoke an event handler as we\n" 1 "# Setter for the read_timeout attribute.\n" 1 "# Seconds to wait until reading one block (by one read(2) call).\n" 1 "# identify significant chunks.\n" 1 "AttributeManager" 1 "# Add to the sequences used to add formatting to an individual word (such\n" 1 "# Seconds to wait until connection is opened.\n" 1 "# as *bold*). Matching entries will generate attributes that the output\n" 1 "# The host name to connect to.\n" 1 "Net::HTTP#set_debug_output called after HTTP started" 1 "# formatters can recognize by their +name+.\n" 1 "# http.start { .... }\n" 1 "# http.set_debug_output $stderr\n" 1 "# http = Net::HTTP.new\n" 1 "# Add to the sequences recognized as general markup.\n" 1 "# Never use this method in production code.\n" 1 "# *WARNING* This method causes serious security hole.\n" 1 "# Add to other inline sequences. For example, we could add WikiWords using\n" 1 "# something like:\n" 1 "# parser.add_special(/\\b([A-Z][a-z]+[A-Z]\\w+)/, :WIKIWORD)\n" 1 "# Each wiki word will be presented to the output formatter via the\n" 1 "# accept_special method.\n" 1 "@enable_post_connection_check" 1 "# We take a string, split it into lines, work out the type of each line,\n" 1 "# and from there deduce groups of lines (for example all lines in a\n" 1 "# paragraph). We then invoke the output formatter using a Visitor to\n" 1 "# display the result.\n" 1 "\\r?\\n" 1 "Line" 1 "Lines" 1 "@no_keepalive_server" 1 "# call the output formatter to handle the result\n" 1 "# Creates a new Net::HTTP object for the specified +address+.\n" 1 "#group.each { |line| p line }\n" 1 "# If +proxy_addr+ is given, creates an Net::HTTP object with proxy support.\n" 1 "# Creates a new Net::HTTP object.\n" 1 "# Look through the text at line indentation. We flag each line as being\n" 1 "# :yield: +http+\n" 1 "# Blank, a paragraph, a list element, or verbatim text.\n" 1 "blank?" 1 "BLANK" 1 "# if a line contains non-blanks before the margin, then it must belong\n" 1 "# itself, and the caller is responsible for closing it upon completion.\n" 1 "# return value of this method is the newly created Net::HTTP object\n" 1 "# is the return value of the block. If no block is given, the\n" 1 "# block finishes. In this case, the return value of this method\n" 1 "# created Net::HTTP object is passed to it and closed when the \n" 1 "# HTTP session. If the optional block is given, the newly \n" 1 "# creates a new Net::HTTP object and opens its TCP connection and \n" 1 "# to an outer level\n" 1 "# Rules (horizontal lines) look like\n" 1 "# --- (three or more hyphens)\n" 1 "# The more hyphens, the thicker the rule\n" 1 "^(---+)\\s*$" 1 "# The default port to use for HTTPS requests; defaults to 443.\n" 1 "RULE" 1 "# Then look for list entries. First the ones that have to have\n" 1 "# HTTP session management\n" 1 "# text following them (* xxx, - xxx, and dd. xxx)\n" 1 "BULLET" 1 "post_form" 1 "# { \"q\" => \"ruby\", \"max\" => \"50\" }\n" 1 "# HTTP.post_form URI.parse('http://www.example.com/search.cgi'),\n" 1 "^\\d" 1 "# This method also does Basic Authentication iff +URL+.user exists.\n" 1 "# { \"cmd\" => \"search\", \"q\" => \"ruby\", \"max\" => \"50\" }\n" 1 "# Form data must be represented as a Hash of String to String, e.g:\n" 1 "# Posts HTML form data to the +URL+.\n" 1 "UPPERALPHA" 1 "^[a-z]" 1 "# res = Net::HTTP.get_response('www.example.com', '/index.html')\n" 1 "LOWERALPHA" 1 "# res = Net::HTTP.get_response(URI.parse('http://www.example.com/index.html'))\n" 1 "# as a Net::HTTPResponse object. The target can either be specified as\n" 1 "# print Net::HTTP.get('www.example.com', '/index.html')\n" 1 "# print Net::HTTP.get(URI.parse('http://www.example.com/index.html'))\n" 1 "# Headings look like\n" 1 "# as a string. The target can either be specified as\n" 1 "# = Main heading\n" 1 "# == Second level\n" 1 "# === Third\n" 1 "get_print" 1 "# Net::HTTP.get_print 'www.example.com', '/index.html'\n" 1 "# Headings reset the level to 0\n" 1 "# Net::HTTP.get_print URI.parse('http://www.example.com/index.html')\n" 1 "# (+host+, +path+, +port+ = 80); so: \n" 1 "# target can either be specified as (+uri+), or as\n" 1 "# Get body from target and output it to +$stdout+. The\n" 1 "# short cut methods\n" 1 "is_version_1_2?" 1 "is_version_1_1?" 1 "^(=+)\\s*(.*)" 1 "# true if net/http is in version 1.1 compatible mode.\n" 1 "# If the character's a space, then we have verbatim text,\n" 1 "# otherwise\n" 1 "# true if net/http is in version 1.2 mode.\n" 1 "version_1_1" 1 "# Defaults to OFF in ruby 1.8.\n" 1 "# Turns on net/http 1.1 (ruby 1.6) features.\n" 1 "VERBATIM" 1 "# Net::HTTP.version_1_2\n" 1 "# Handle labeled list entries, We have a special case to deal with.\n" 1 "# I strongly recommend to call this method always.\n" 1 "# Defaults to ON in ruby 1.8.\n" 1 "# Turns on net/http 1.2 (ruby 1.8) features.\n" 1 "# Because the labels can be long, they force the remaining block of text\n" 1 "#for our purposes (unpacking gzip) lump these together\n" 1 "# over the to right:\n" 1 "# this is a long label that I wrote:: and here is the\n" 1 "# block of text with\n" 1 "Revision: 18805 " 1 "# a silly margin\n" 1 "# So we allow the special case. If the label is followed by nothing, and\n" 1 "# This function is NOT thread-safe.\n" 1 "# Net::HTTP.start {|http3| ...(http3 has 1.2 features)... }\n" 1 "# Net::HTTP.version_1_2\n" 1 "# Net::HTTP.start {|http2| ...(http2 has 1.1 features)... }\n" 1 "# Net::HTTP.version_1_1\n" 1 "# Net::HTTP.start {|http1| ...(http1 has 1.2 features)... }\n" 1 "# if the following line is indented, then we take the indent of that line\n" 1 "# allows you to use 1.2 features again.\n" 1 "# by calling HTTP.version_1_1. Calling Net::HTTP.version_1_2\n" 1 "# You can use net/http.rb 1.1 features (bundled with Ruby 1.6)\n" 1 "# == Switching Net::HTTP versions\n" 1 "# HTTPVersionNotSupported # 505\n" 1 "# HTTPGatewayTimeOut # 504\n" 1 "# HTTPServiceUnavailable # 503\n" 1 "# HTTPBadGateway # 502\n" 1 "# HTTPNotImplemented # 501\n" 1 "# HTTPInternalServerError # 500\n" 1 "# HTTPServerError # 5xx\n" 1 "# HTTPExpectationFailed # 417\n" 1 "# HTTPRequestedRangeNotSatisfiable # 416\n" 1 "# HTTPUnsupportedMediaType # 415\n" 1 "# HTTPRequestURITooLong # 414\n" 1 "# HTTPRequestEntityTooLarge # 413\n" 1 "# HTTPPreconditionFailed # 412\n" 1 "# HTTPLengthRequired # 411\n" 1 "# HTTPGone # 410\n" 1 "# HTTPConflict # 409\n" 1 "# HTTPRequestTimeOut # 408\n" 1 "# HTTPProxyAuthenticationRequired # 407\n" 1 "# HTTPNotAcceptable # 406\n" 1 "# HTTPMethodNotAllowed # 405\n" 1 "# HTTPNotFound # 404\n" 1 "# HTTPForbidden # 403\n" 1 "# HTTPPaymentRequired # 402\n" 1 "# HTTPUnauthorized # 401\n" 1 "# HTTPBadRequest # 400\n" 1 "# HTTPClientError # 4xx\n" 1 "# HTTPTemporaryRedirect # 307\n" 1 "# HTTPUseProxy # 305\n" 1 "# HTTPNotModified # 304\n" 1 "# HTTPSeeOther # 303\n" 1 "# HTTPFound # 302\n" 1 "# HTTPMovedPermanently # 301\n" 1 "# HTTPMultipleChoice # 300\n" 1 "# HTTPRedirection # 3xx\n" 1 "# HTTPPartialContent # 206\n" 1 "# HTTPResetContent # 205\n" 1 "# HTTPNoContent # 204\n" 1 "# HTTPNonAuthoritativeInformation # 203\n" 1 "# HTTPAccepted # 202\n" 1 "# HTTPCreated # 201\n" 1 "# HTTPOK # 200\n" 1 "# HTTPSuccess # 2xx\n" 1 "# HTTPSwitchProtocl # 101\n" 1 "# HTTPContinue # 100\n" 1 "# HTTPInformation # 1xx\n" 1 "# HTTPUnknownResponse\n" 1 "# HTTPResponse\n" 1 "# All classes are defined in Net module.\n" 1 "# Here is HTTP response class hierarchy.\n" 1 "# === HTTP Response Classes\n" 1 "# Net::HTTP::Trace\n" 1 "# Net::HTTP::Mkcol\n" 1 "# Net::HTTP::Copy\n" 1 "# Net::HTTP::Move\n" 1 "# Net::HTTP::Delete\n" 1 "# Net::HTTP::Propfind\n" 1 "# Net::HTTP::Options\n" 1 "# Net::HTTP::Unlock\n" 1 "# Net::HTTP::Lock\n" 1 "# Net::HTTP::Proppatch\n" 1 "# Net::HTTP::Put\n" 1 "# Net::HTTP::Post\n" 1 "# Net::HTTP::Head\n" 1 "# Net::HTTP::Get\n" 1 "# Net::HTTPRequest\n" 1 "# Here is HTTP request class hierarchy.\n" 1 "# === HTTP Request Classes\n" 1 "# print response.body\n" 1 "# response = http.request(req)\n" 1 "# req.basic_auth 'account', 'password'\n" 1 "# req = Net::HTTP::Get.new('/secret-page.html')\n" 1 "# Net::HTTP.start('www.example.com') {|http|\n" 1 "# === Basic Authentication\n" 1 "# see section \"HTTP Response Classes\".\n" 1 "# indicate HTTP result status. For details of response classes,\n" 1 "# All HTTPResponse objects belong to its own response class which\n" 1 "# Net::HTTPSuccess and Net::HTTPRedirection is a HTTPResponse class.\n" 1 "# print fetch('http://www.ruby-lang.org')\n" 1 "# response.error!\n" 1 "# when Net::HTTPRedirection then fetch(response['location'], limit - 1)\n" 1 "# when Net::HTTPSuccess then response\n" 1 "# case response\n" 1 "# response = Net::HTTP.get_response(URI.parse(uri_str))\n" 1 "# raise ArgumentError, 'HTTP redirect too deep' if limit == 0\n" 1 "# # You should choose better exception. \n" 1 "# def fetch(uri_str, limit = 10)\n" 1 "# === Following Redirection\n" 1 "# If you want to use proxy, set it explicitly.\n" 1 "# Note that net/http never rely on HTTP_PROXY environment variable.\n" 1 "# # always connect to your.proxy.addr:8080 using specified username and password\n" 1 "# proxy_user, proxy_pass).start('www.example.com') {|http|\n" 1 "# Net::HTTP::Proxy(proxy_host, proxy_port,\n" 1 "# proxy_user, proxy_pass = uri.userinfo.split(/:/) if uri.userinfo\n" 1 "# uri = URI.parse(ENV['http_proxy'])\n" 1 "# proxy_host = 'your.proxy.host'\n" 1 "# You may use them to work with authorization-enabled proxies:\n" 1 "# Net::HTTP::Proxy(proxy_addr, proxy_port, proxy_user = nil, proxy_pass = nil)\n" 1 "# specify proxy user name and password:\n" 1 "# There are two additional parameters in Net::HTTP.Proxy which allow to\n" 1 "# there's no need to change code if there's proxy or not.\n" 1 "# Since Net::HTTP.Proxy returns Net::HTTP itself when proxy_addr is nil,\n" 1 "# # always connect to your.proxy.addr:8080\n" 1 "# Net::HTTP::Proxy(proxy_addr, proxy_port).start('www.example.com') {|http|\n" 1 "# as the new margin.\n" 1 "# this is a long label that I wrote::\n" 1 "# proxy_addr = 'your.proxy.host'\n" 1 "# proxy, instead of given host.\n" 1 "# methods of Net::HTTP but its instances always connect to\n" 1 "# Net::HTTP.Proxy creates http proxy class. It has same\n" 1 "# === Accessing via Proxy\n" 1 "# {'q' => ['ruby', 'perl'], 'max' => '50'})\n" 1 "# #4: Multiple values\n" 1 "# res.error!\n" 1 "# # OK\n" 1 "# when Net::HTTPSuccess, Net::HTTPRedirection\n" 1 "# case res\n" 1 "# res = Net::HTTP.new(url.host, url.port).start {|http| http.request(req) }\n" 1 "# req.set_form_data({'from' => '2005-01-01', 'to' => '2005-03-31'}, ';')\n" 1 "# req.basic_auth 'jack', 'pass'\n" 1 "# req = Net::HTTP::Post.new(url.path)\n" 1 "# url = URI.parse('http://www.example.com/todo.cgi')\n" 1 "# #3: Detailed control\n" 1 "# 'to' => '2005-03-31'})\n" 1 "# {'from' => '2005-01-01',\n" 1 "# res = Net::HTTP.post_form(URI.parse('http://jack:pass@www.example.com/todo.cgi'),\n" 1 "# #2: POST with basic authentication\n" 1 "# {'q' => 'ruby', 'max' => '50'})\n" 1 "# here is a more reasonably indented block which\n" 1 "# #1: Simple POST\n" 1 "# === Posting Form Data\n" 1 "# http.request(req)\n" 1 "# req = Net::HTTP::Get.new(url.path)\n" 1 "# Example #4: More generic GET+print\n" 1 "# will be attached to the label.\n" 1 "# http.get('/index.html')\n" 1 "LABELED" 1 ":$" 1 "# Example #3: More generic GET+print\n" 1 "# Net::HTTP.get_print URI.parse('http://www.example.com/index.html')\n" 1 "NOTE" 1 "# Example #2: Simple GET+print by URL\n" 1 "# Net::HTTP.get_print 'www.example.com', '/index.html'\n" 1 "# body is on the next line\n" 1 "# Example #1: Simple GET+print\n" 1 "# === Getting Document From WWW Server\n" 1 "# (http://www.ietf.org/rfc/rfc2616.txt).\n" 1 "# For details of HTTP, refer [RFC2616]\n" 1 "# documents via HTTP, Hyper Text Transfer Protocol version 1.1.\n" 1 "# This library provides your program functions to access WWW\n" 1 "# == What Is This Library?\n" 1 "# Return a block consisting of fragments which are paragraphs, list\n" 1 "# entries or verbatim text. We merge consecutive lines of the same type\n" 1 "# and level together. We are also slightly tricky with lists: the lines\n" 1 "#++ \n" 1 "# $Id: http.rb 18805 2008-08-24 03:21:36Z naruse $\n" 1 "# http://www.ruby-lang.org/ja/man/html/net_http.html\n" 1 "# NOTE: You can find Japanese version of this document here:\n" 1 "# See Net::HTTP for an overview and examples. \n" 1 "# Ruby Distribution License or GNU General Public License.\n" 1 "# modify this program under the same terms of ruby itself ---\n" 1 "# following a list introduction look like paragraph lines at the next\n" 1 "# Documented by Minero Aoki; converted to RDoc by William Webber.\n" 1 "# This file is derived from \"http-access.rb\".\n" 1 "# HTTPS support added by GOTOU Yuuzou .\n" 1 "# Written and maintained by Minero Aoki .\n" 1 "# level, and we remap them into list entries instead.\n" 1 "# Copyright (c) 1999-2007 Minero Aoki\n" 1 "# Copyright (c) 1999-2007 Yukihiro Matsumoto\n" 1 "# = net/http.rb\n" 1 "# - two methods need more information (search TODO)\n" 1 "# - three methods should be private (search WRITEME)\n" 1 "# - sourced from pickaxe and nutshell, with improvements (hopefully)\n" 1 " \"" 1 "257" 1 "229" 1 "%02x%02x" 1 "in_list" 1 "228" 1 "LineCollection" 1 "fragment_for" 1 "227" 1 "# Returns +true+ iff the connection is closed.\n" 1 "# a new connection with #connect.\n" 1 "# Closes the connection. Further operations are impossible until you open\n" 1 "SITE " 1 "site" 1 "# Issues a SITE command.\n" 1 "# For debugging, we allow access to our line contents as text.\n" 1 "# Issues a NOOP command.\n" 1 "as_text" 1 "# Exits the FTP session.\n" 1 "# For debugging, return the list of line types.\n" 1 "# Issues the HELP command.\n" 1 "MDTM " 1 "# Issues the MDTM command. TODO: more info.\n" 1 "put: STAT\\n" 1 "line_types" 1 "# Returns the status (STAT command).\n" 1 "225" 1 "226" 1 "426" 1 "rdoc/markup/fragments" 1 "put: ABOR\\n" 1 "ABOR" 1 "# Aborts the previous command (ABOR command).\n" 1 "215" 1 "SYST" 1 "# Returns system information.\n" 1 "PWD" 1 "# Returns the current remote directory.\n" 1 "RMD " 1 "# Removes a remote directory.\n" 1 "rdoc/markup/inline" 1 "MKD " 1 "# Creates a remote directory.\n" 1 "rdoc/markup/lines" 1 "# +true+, it is returned as a local time, otherwise it's a UTC time.\n" 1 "# Returns the last modification time of the (remote) file. If +local+ is\n" 1 "^(\\d\\d\\d\\d)(\\d\\d)(\\d\\d)(\\d\\d)(\\d\\d)(\\d\\d)" 1 "# We handle the parsing of options, and subsequently as a singleton\n" 1 "# object to be queried for option values\n" 1 "SIZE " 1 "# Returns the size of the given (remote) filename.\n" 1 "rdoc/ri/paths" 1 "CDUP" 1 "# Changes the (remote) directory.\n" 1 "?5" 1 "# Should the output be placed into a single file\n" 1 "DELE " 1 "# Deletes a file on the server.\n" 1 "RNTO " 1 "RNFR " 1 "# Character-set\n" 1 "# URL of stylesheet\n" 1 "# Renames a file on the server.\n" 1 "# Should diagrams be drawn\n" 1 "# `ls -l`). If a block is given, it iterates through the listing.\n" 1 "# Returns an array of file information in the directory (the output is like\n" 1 "NLST" 1 "nlst" 1 "# Returns an array of filenames in the remote directory.\n" 1 "# Files matching this pattern will be excluded\n" 1 "# Sends the ACCT command. TODO: more info.\n" 1 "# Additional attr_... style method flags\n" 1 "# (text or binary). See #puttextfile and #putbinaryfile.\n" 1 "# Transfers +localfile+ to the server in whatever mode the session is set\n" 1 "extra_accessor_flags" 1 "# passing in the transmitted data one line at a time.\n" 1 "# in +remotefile+. If callback or an associated block is supplied, calls it,\n" 1 "# Transfers +localfile+ to the server in ASCII (text) mode, storing the result\n" 1 "# Pattern for additional attr_... style methods\n" 1 "extra_accessors" 1 "# data in +blocksize+ chunks.\n" 1 "# +remotefile+. If a block is supplied, calls it, passing in the transmitted\n" 1 "# Transfers +localfile+ to the server in binary mode, storing the result in\n" 1 "# binary). See #gettextfile and #getbinaryfile.\n" 1 "# Retrieves +remotefile+ in whatever mode the session is set (text or\n" 1 "# Should we draw fileboxes in diagrams\n" 1 "# line at a time.\n" 1 "# If a block is supplied, it is passed the retrieved data one\n" 1 "# +localfile+.\n" 1 "# Retrieves +remotefile+ in ASCII (text) mode, storing the result in\n" 1 "# The list of files to be processed\n" 1 "# Scan newer sources than the flag file if true.\n" 1 "# Description of the output generator (set with the -fmt option)\n" 1 "# chunks.\n" 1 "# If a block is supplied, it is passed the retrieved data in +blocksize+\n" 1 "# Formatter to mark up text with\n" 1 "# Retrieves +remotefile+ in binary mode, storing the result in +localfile+.\n" 1 "# image format for diagrams\n" 1 "# given, it also passes it the lines.\n" 1 "# named +file+ to the server, one line at a time. If the optional block is\n" 1 "# command (such as \"STOR myfile\"), and sends the contents of the file\n" 1 "# Puts the connection into ASCII (text) mode, issues the given server-side\n" 1 "# Include line numbers in the source listings\n" 1 "# Should source code be included inline, or displayed in a popup\n" 1 "# Name of the file, class or module to display in the initial index page (if\n" 1 "# not specified the first file we encounter is used)\n" 1 "main_page" 1 "# Merge into classes of the same name when generating ri\n" 1 "# the data, in chunks of +blocksize+ characters.\n" 1 "# +file+ to the server. If the optional block is given, it also passes it\n" 1 "# command (such as \"STOR myfile\"), and sends the contents of the file named\n" 1 "# Puts the connection into binary (image) mode, issues the given server-side\n" 1 "# The name of the output directory\n" 1 "# no block is given, prints the lines. Note that +cmd+ is a server command\n" 1 "# passes the resulting data, one line at a time, to the associated block. If\n" 1 "# Puts the connection into ASCII (text) mode, issues the given command, and\n" 1 "# The name to use for the output\n" 1 "op_name" 1 "# Are we promiscuous about showing module contents across multiple files\n" 1 "# chunks of +blocksize+ characters. Note that +cmd+ is a server command\n" 1 "# and fetches the data returned, passing it to the associated block in\n" 1 "# Puts the connection into binary (image) mode, issues the given command,\n" 1 "@welcome" 1 "# Array of directories to search for files to satisfy an :include:\n" 1 "PASS " 1 "USER " 1 "# Net::FTPPermError).\n" 1 "# successful login. Raises an exception on error (typically\n" 1 "# parameter is not +nil+, an FTP ACCT command is sent following the\n" 1 "# +nil+, a password of user@host is synthesized. If the +acct+\n" 1 "# connected. If +user+ is the string \"anonymous\" and the +password+ is\n" 1 "# Logs in to the remote host. The session must have been previously\n" 1 "rdoc_include" 1 "# Include private and protected methods in the output\n" 1 "# Include the '#' at the front of hyperlinked instance method names\n" 1 "# The number of columns in a tab\n" 1 "tab_width" 1 "# template to be used when generating output\n" 1 "# Template class for file generation\n" 1 "# HACK around dependencies in lib/rdoc/generator/html.rb\n" 1 "# Documentation title\n" 1 "# Verbosity, zero means quiet\n" 1 "# host, port = parse228(sendcmd(\"LPSV\"))\n" 1 "EPSV" 1 "# URL of web cvs frontend\n" 1 "PASV" 1 "@template_class" 1 "# Parse command line options.\n" 1 " [options] [names...]\n\n Files are parsed, and the information they contain collected, before any\n output is produced. This allows cross references between all files to be\n resolved. If a name is a directory, it is traversed. If no names are\n specified, all Ruby files in the current directory (and subdirectories) are\n processed.\n\n How RDoc generates output depends on the output formatter being used, and on\n the options you give.\n\n - HTML output is normally produced into a number of separate files\n (one per class, module, and file, along with various indices).\n These files will appear in the directory given by the --op\n option (doc/ by default).\n\n - XML output by default is written to standard output. If a\n --opname option is given, the output will instead be written\n to a file with that name in the output directory.\n\n - .chm files (Windows help files) are written in the --op directory.\n If an --opname parameter is present, that name is used, otherwise\n the file will be called rdoc.chm.\n" 1 "EPRT |2|%s|%d|" 1 "PORT " 1 "--accessor=ACCESSORS" 1 "# Sends a command and expect a response beginning with '2'.\n" 1 "-A" 1 "# Sends a command and returns the response.\n" 1 "A comma separated list of additional class" 1 "methods that should be treated like" 1 "'attr_reader' and friends." 1 "\\A[123]" 1 "Option may be repeated." 1 "Each accessorname may have '=text'" 1 "appended, in which case that text appears" 1 "where the r/w/rw appears for normal." 1 "get: " 1 "(\\r\\n|\\n|\\r)\\z" 1 "# if get EOF, raise EOFError\n" 1 "^(\\w+)(=(.*))?$" 1 "put: " 1 "--all" 1 "^PASS " 1 "-a" 1 "Include all methods (not just public) in" 1 "set_socket" 1 "# WRITEME or make private\n" 1 "the output." 1 "connect: " 1 "# Errno::ECONNREFUSED) if the connection cannot be established.\n" 1 "# connection through a SOCKS proxy. Raises an exception (typically\n" 1 "# port. If the environment variable +SOCKS_SERVER+ is set, sets up the\n" 1 "# Establishes an FTP connection to host, optionally overriding the default\n" 1 "SOCKS_SERVER" 1 "--charset=CHARSET" 1 "warning: Net::FTP#return_code= is obsolete and do nothing" 1 "return_code=" 1 "warning: Net::FTP#return_code is obsolete and do nothing" 1 "return_code" 1 "Specifies the output HTML character-set." 1 "-D" 1 "Displays lots on internal stuff." 1 "TYPE A" 1 "TYPE I" 1 "--diagram" 1 "binary=" 1 "Generate diagrams showing modules and" 1 "classes. You need dot V1.8.6 or later to" 1 "use the --diagram option correctly. Dot is" 1 "available from http://graphviz.org" 1 "# password, and (optionally) account are used to log in. See #login.\n" 1 "# is made. Additionally, if the +user+ is given, the given user name,\n" 1 "# Creates and returns a new +FTP+ object. If a +host+ is given, a connection\n" 1 "--exclude=PATTERN" 1 "# when the block finishes, or when an exception is raised.\n" 1 "# If a block is given, it is passed the +FTP+ object, which will be closed\n" 1 "# A synonym for FTP.new, but with a mandatory host parameter.\n" 1 "last_response" 1 "# The server's last response.\n" 1 "lastresp" 1 "Do not process files or directories" 1 "# The server's last response code.\n" 1 "welcome" 1 "# The server's welcome message.\n" 1 "# transfers are resumed or restarted. Default: +false+.\n" 1 "# Sets or retrieves the +resume+ status, which decides whether incomplete\n" 1 "debug_mode" 1 "# to +$stdout+. Default: +false+.\n" 1 "# When +true+, all traffic to and from the server is written\n" 1 "# When +true+, the connection is in passive mode. Default: +false+.\n" 1 "# When +true+, transfers are performed in binary mode. Default: +true+.\n" 1 "matching PATTERN." 1 "--extension=NEW=OLD" 1 "Treat files ending with .new as if they" 1 "# - #delete\n" 1 "# - #rename\n" 1 "# - #nlst\n" 1 "# - #chdir\n" 1 "# - #puttextfile\n" 1 "# - #putbinaryfile\n" 1 "# - #gettextfile\n" 1 "# - #getbinaryfile\n" 1 "# - FTP.open\n" 1 "# The following are the methods most likely to be useful to users:\n" 1 "# == Major Methods\n" 1 "# ftp.getbinaryfile('nif.rb-0.91.gz', 'nif.gz', 1024)\n" 1 "# files = ftp.list('n*')\n" 1 "# files = ftp.chdir('pub/lang/ruby/contrib')\n" 1 "# ftp.login\n" 1 "# Net::FTP.open('ftp.netlab.co.jp') do |ftp|\n" 1 "# === Example 2\n" 1 "# ftp.close\n" 1 "# ftp.getbinaryfile('nif.rb-0.91.gz', 'nif.gz', 1024)\n" 1 "# files = ftp.list('n*')\n" 1 "# files = ftp.chdir('pub/lang/ruby/contrib')\n" 1 "# ftp.login\n" 1 "# ftp = Net::FTP.new('ftp.netlab.co.jp')\n" 1 "# === Example 1\n" 1 "# require 'net/ftp'\n" 1 "# advantage of Ruby's style and strengths.\n" 1 "# able to use this class easily. Some extra features are included to take\n" 1 "# command-line FTP program, and are familiar with the commands, you will be\n" 1 "# This class implements the File Transfer Protocol. If you have used a\n" 1 "ended with .old. Using '-E cgi=rb' will" 1 "cause xxx.cgi to be parsed as a Ruby file." 1 "Invalid parameter to '-E'" 1 "ParserFactory" 1 "Unknown extension ." 1 "# See the Net::FTP class for an overview.\n" 1 "# It is included in the Ruby standard library.\n" 1 " to -E" 1 "--fileboxes" 1 "# and \"Ruby In a Nutshell\" (Matsumoto), used with permission.\n" 1 "# Documentation by Gavin Sinclair, sourced from \"Programming Ruby\" (Hunt/Thomas)\n" 1 "# Written by Shugo Maeda .\n" 1 "# = net/ftp.rb - FTP Client Library\n" 1 "# module Mini\n" 1 "# class Test\n" 1 "# class TestCase\n" 1 "-F" 1 "^test" 1 "Classes are put in boxes which represents" 1 "files, where these classes reside. Classes" 1 "shared between more than one file are" 1 "shown with list of files that are sharing" 1 "%.2f s: " 1 "them. Silently discarded if --diagram is" 1 "not given." 1 "--force-update" 1 "Forces rdoc to scan all sources even if" 1 "newer than the flag file." 1 "--fmt=FORMAT" 1 "# or return nil...\n" 1 "--format=FORMAT" 1 "%d tests, %d assertions, %d failures, %d errors, %d skips" 1 "\\n%3d) %s" 1 " seconds." 1 "%.6f" 1 "Finished in " 1 "Set the output formatter." 1 "\\nStarted" 1 "Loaded suite " 1 "# anything - ^test_ already filtered by #tests\n" 1 "\\/(.*)\\/" 1 "^(-n|--name)$" 1 "# Top level driver, controls all output and filtering.\n" 1 "--image-format=FORMAT" 1 "):\\n" 1 "Error:\\n" 1 "Sets output image format for diagrams. Can" 1 "be " 1 "Failure:\\n" 1 ". If this option" 1 "is omitted, png is used. Requires" 1 "diagrams." 1 "Skipped:\\n" 1 "--include=DIRECTORIES" 1 "set (or add to) the list of directories to" 1 ":in .*$" 1 "in .(assert|refute|flunk|pass|fail|raise)" 1 "be searched when satisfying :include:" 1 "output=" 1 "requests. Can be used more than once." 1 "# don't run if there was an exception\n" 1 "--inline-source" 1 "-S" 1 "Show method source code inline, rather than" 1 "via a popup link." 1 "--line-numbers" 1 "Include line numbers in the source code." 1 "--main=NAME" 1 "NAME will be the initial page displayed." 1 "--merge" 1 "Skipped, no message given" 1 " to not be the same as " 1 "refute_same" 1 " to not respond to " 1 "refute_respond_to" 1 " to not be " 1 "refute_operator" 1 " to not be nil" 1 "refute_nil" 1 " to not match " 1 "refute_match" 1 " to not be a kind of " 1 "refute_kind_of" 1 " to not be an instance of " 1 "refute_instance_of" 1 " to not include " 1 "refute_includes" 1 "refute_in_epsilon" 1 ") to not be < " 1 "-M" 1 " to not be equal to " 1 "refute_equal" 1 " to not be empty" 1 "refute_empty" 1 "Failed refutation, no message given" 1 "When creating ri output, merge previously" 1 "# used for counting assertions\n" 1 "Epic Fail!" 1 "\\n---------------" 1 ">\\n---Backtrace---\\n" 1 ">\\nMessage: <" 1 "\\nClass: <" 1 "processed classes into previously" 1 "documented classes of the same name." 1 "--one-file" 1 "-1" 1 "capture_io" 1 "# 1.8 exception\n" 1 "# 1.9 exception\n" 1 "Put all the output into a single file." 1 " to have been thrown" 1 "assert_throws" 1 ") to return true" 1 "(*" 1 "one_page_html" 1 "assert_send" 1 "Expected %s (0x%x) to be the same as %s (0x%x)" 1 "assert_same" 1 ") to respond to #" 1 " expected but nothing was raised." 1 "--op=DIR" 1 " exception expected, not" 1 "Set the output directory." 1 "--opname=NAME" 1 "assert_raises" 1 " to be " 1 "Set the NAME of the output. Has no effect" 1 "for HTML." 1 "assert_operator" 1 " to be nil" 1 "assert_nil" 1 " to match " 1 " to be a kind of " 1 "--promiscuous" 1 "assert_kind_of" 1 "When documenting a file that contains a" 1 "module or class also defined in other" 1 " to be an instance of " 1 "assert_instance_of" 1 " to include " 1 "files, show all stuff for that module or" 1 "assert_includes" 1 "class in each files page. By default, only" 1 "assert_in_epsilon" 1 ") to be < " 1 "show stuff defined in that particular file." 1 "Don't show progress as we parse." 1 "Display extra progress as we parse." 1 "are stored in the '.rdoc' directory under" 1 "your home directory unless overridden by a" 1 " to be empty" 1 "subsequent --op parameter, so no special" 1 "assert_empty" 1 "Expected block to return true value" 1 "assert_block" 1 "Failed assertion, no message given." 1 "privileges are needed." 1 "HOMEDIR" 1 "--ri-site" 1 "_assertions=" 1 "-R" 1 "special privileges are needed." 1 "No backtrace" 1 "SITEDIR" 1 "# './lib' in project dir, or '/usr/local/blahblah' if installed\n" 1 "# assume both are expanded\n" 1 "--ri-system" 1 "-Y" 1 "# assume both relative\n" 1 "^[^\\.]" 1 "# bt's expanded, but __FILE__ isn't :(\n" 1 "^1\\.9" 1 "special privileges are needed. This" 1 "option is intended to be used during Ruby" 1 "# TODO: refute -> debunk, prove/rebut, show/deny... lots of possibilities\n" 1 "# Totally minimal drop-in replacement for test-unit\n" 1 "test_" 1 "installation." 1 "unsupported after type: " 1 "SYSDIR" 1 "unsupported before type: " 1 "--show-hash" 1 "A name of the form #name in a comment is a" 1 "possible hyperlink to an instance method" 1 "name. When displayed, the '#' is removed" 1 "unless this option is specified." 1 "wont_be_within_delta" 1 "wont_be_close_to" 1 "must_be_within_delta" 1 "must_be_close_to" 1 "must_raise" 1 "must_raises" 1 "\\1_be_\\2" 1 "(must|wont)_(.*_of|nil|empty)" 1 "_include" 1 "_includes" 1 "_be" 1 "_operator" 1 "_be_within_" 1 "_in_" 1 "_be_same_as" 1 "(?!not)_same" 1 "(must_throw)s" 1 " must_(block|not?_|nothing|raise$)/x" 1 "^(must|wont)$|wont_(throw)|\n" 1 "wont" 1 "must" 1 " EOM\n" 1 "(self, *args)\n end\n" 1 "(args.first, self) if args.size == 1\n" 1 "(*args, &self) if Proc === self\n" 1 "--style=URL" 1 " *args, &block\n" 1 "Specifies the URL of a separate stylesheet." 1 "# warn \"%-22p -> %p %p\" % [meth, new_name, regexp]\n" 1 "--tab-width=WIDTH" 1 "Set the width of tab characters." 1 "--template=NAME" 1 "Set the template used when generating" 1 "output." 1 "--title=TITLE" 1 "Set TITLE as the title for HTML output." 1 "--webcvs=URL" 1 "#!/usr/bin/ruby -w\n" 1 "-W" 1 "Specify a URL for linking to a web frontend" 1 "# for the closure below\n" 1 "to CVS. If the URL contains a '\\%s', the" 1 "name of the current file will be" 1 "Mock" 1 "substituted; if the URL doesn't contain a" 1 "'\\%s', the filename will be appended to it." 1 "# If no template was specified, use the default template for the output\n" 1 "# formatter\n" 1 "# Generate a regexp from the accessors\n" 1 ")$" 1 "@extra_accessors" 1 "# Set the title, but only if not already set. This means that a title set\n" 1 "VERSION_BUILD" 1 "VERSION_MINOR" 1 "VERSION_MAJOR" 1 "# from the command line trumps one set in a source file\n" 1 "1.1.4" 1 "# JSON version\n" 1 "JSON_LOADED" 1 "title=" 1 "Using c extension for JSON." 1 "json/ext/generator" 1 "json/ext/parser" 1 "# Don't display progress as we process the files\n" 1 "# functionality as C extensions.\n" 1 "# This module holds all the modules/classes that implement JSON's\n" 1 "# Edit the string _json_ with encoding _encoding_ in the editor.\n" 1 "icon_list" 1 "# :yield: window\n" 1 "# to the JSON::Editor::MainWindow instance.\n" 1 "# Starts a JSON Editor. If a block was given, it yields\n" 1 "quiet=" 1 "# Set up an output generator for the format in @generator_name\n" 1 "Location:" 1 "Load data from location..." 1 "# Ask for location URI a to load data from. Returns the URI as a string.\n" 1 "cancel_button" 1 "Invalid output formatter" 1 "ok_button" 1 "set_transient_for" 1 "set_filename" 1 "# Check that the right version of 'dot' is available. Unfortunately this\n" 1 "set_modal" 1 "FileSelection" 1 "# selected filename or nil, if no file was selected.\n" 1 "# Open a file selecton dialog, displaying _message_, and return the\n" 1 "Failed to parse JSON file: " 1 "# ruby data structure, and return the data.\n" 1 "# Read a JSON document from the file named _filename_, parse it into a\n" 1 "create_additions" 1 "# doesn't work correctly under Windows NT, so we'll bypass the test under\n" 1 "# Windows.\n" 1 "dot -V 2>&1" 1 "^utf8$" 1 "# Load the data at location _uri_ into the editor as a JSON document.\n" 1 "dot.+version(?:\\s+gviz)?\\s+(\\d+)\\.(\\d+)" 1 "Try to select a JSON file!" 1 "# Load the file named _filename_ into the editor as a JSON document.\n" 1 "Failed to store JSON file: " 1 "Saved data to '" 1 "^dot.+version" 1 "# Store the current JSON document to _path_.\n" 1 "Save as a JSON file" 1 "# Save the current file as the filename \n" 1 "Warning: You may need dot V1.8.6 or later to use\\n" 1 "# Save the current file.\n" 1 "the --diagram option correctly. You have:\\n\\n " 1 "# Edit the string _json_ in the editor.\n" 1 "Open as a JSON file" 1 "\\nDiagrams might have strange background colors.\\n\\n" 1 "# filename.\n" 1 "# Open the file _filename_ or call the #select_file method to ask for a\n" 1 "You need the 'dot' program to produce diagrams." 1 "(see http://www.research.att.com/sw/tools/graphviz/)\\n\\n" 1 "# to ask for the _uri_.\n" 1 "# Open the data at the location _uri_, if given. Otherwise open a dialog\n" 1 "# Check that the files on the command line exist\n" 1 "file '" 1 "# Clear the current model, after asking to save all unsaved changes.\n" 1 " *" 1 "# Display the new title according to the editor's current state.\n" 1 "' not readable" 1 "main_level" 1 "# Quit this editor, that is, leave this editor's main loop.\n" 1 "Unsaved changes to JSON model. Save?" 1 "# Opens a dialog, asking, if changes should be saved to a file.\n" 1 "get_context_id" 1 "rdoc/code_objects" 1 "# Displays _text_ in the status bar.\n" 1 "# Puts a new model _model_ into the Gtk::TreeView to be edited.\n" 1 "# doesn't containt unsaved changes.\n" 1 "# Sets editor status to unchanged, to indicate that the edited data\n" 1 "# containts unsaved changes.\n" 1 "# Sets editor status to changed, to indicate that the edited data\n" 1 "rdoc/markup/preprocess" 1 "# A parser is simple a class that implements\n" 1 "# #initialize(file_name, body, options)\n" 1 "MenuBar" 1 "# Creates the menu bar with the pulldown menus and returns it.\n" 1 "# and\n" 1 "button_release_event" 1 "# #scan\n" 1 "Statusbar" 1 "# The initialize method takes a file name to be used, the body of the file,\n" 1 "# and an RDoc::Options object. The scan method is then called to return an\n" 1 "set_policy" 1 "SHADOW_ETCHED_IN" 1 "shadow_type" 1 "ScrolledWindow" 1 "# appropriately parsed TopLevel code object.\n" 1 "# The ParseFactory is used to redirect to the correct parser given a\n" 1 "cursor-changed" 1 "#vbox.border_width = 0\n" 1 "VBox" 1 "delete_event" 1 "800" 1 "set_default_size" 1 "# filename extension. This magic works because individual parsers have to\n" 1 "TOPLEVEL" 1 "# register themselves with us as they are loaded in. The do this using the\n" 1 "# The editor main window\n" 1 "# to the #expanded attribute.\n" 1 "# Expand or collapse row pointed to by _iter_ according\n" 1 "/ failed: " 1 "Evaluation of regex /" 1 "casefold?" 1 "Icase" 1 "# following incantation\n" 1 "# require \"rdoc/parser\"\n" 1 "Regex:" 1 "Find a node matching regex in tree." 1 "# string.\n" 1 "# Ask for a find term to search for in the tree. Returns the term as a\n" 1 "# class RDoc::Parser::Xyz < RDoc::Parser\n" 1 "Reverse" 1 "# parse_files_matching /\\.xyz$/ # <<<<\n" 1 "# def initialize(file_name, body, options)\n" 1 "# def scan\n" 1 "Order:" 1 "Give an order criterium for 'x'." 1 "# sorting.\n" 1 "# question. Returns the order criterium, and true/false for reverse\n" 1 "# Ask for an order criteria for sorting, using _x_ for the element in\n" 1 "# Just to make life interesting, if we suspect a plain text file, we also\n" 1 "New element into " 1 "# look for a shebang line just in case it's a potential shell script\n" 1 "# Alias an extension to another extension. After this call, files ending\n" 1 "# \"new_ext\" will be parsed using the same parser as \"old_ext\"\n" 1 "# Ask for an element to be appended _parent_.\n" 1 "xxx." 1 "# Shamelessly stolen from the ptools gem (since RDoc cannot depend on\n" 1 "# the gem).\n" 1 "0.30" 1 "# Return a parser that can handle a particular extension\n" 1 "# The default parser should *NOT* parse binary files.\n" 1 "# Find the correct parser for a particular file name. Return a SimpleParser\n" 1 "Key already exists in Hash!" 1 "# for ones that we don't know\n" 1 "# If no extension, look for shebang\n" 1 "Key:" 1 "\\.\\w+$" 1 "\\A#!(.+)" 1 "env\\s+ruby" 1 "640" 1 "width_request" 1 "/ruby" 1 "dummy.rb" 1 "New (key, value) pair for Hash" 1 "# This method must return a parser.\n" 1 "# Record which file types this parser can understand.\n" 1 "parse_files_matching" 1 "# Ask for a hash key, value pair to be added to the Hash node _parent_.\n" 1 "@top_level" 1 "rdoc/parser" 1 "# the editor treeview.\n" 1 "# in the model. If _parent_ is nil, create a new model and put it into\n" 1 "# Create a _type_ node with content _content_, and add it to _parent_\n" 1 "' encountered" 1 "unknown type '" 1 "# Simple must come first\n" 1 "rdoc/parser/ruby" 1 "%s.%d" 1 "rdoc/parser/c" 1 "rdoc/parser/f95" 1 "rdoc/parser/perl" 1 "edited" 1 "rdoc/diagram" 1 "# Encapsulate the production of rdoc documentation. Basically you can use\n" 1 "# this as you would invoke rdoc from the command line:\n" 1 "# rdoc = RDoc::RDoc.new\n" 1 "pixbuf" 1 "# rdoc.document(args)\n" 1 "# Where +args+ is an array of strings, each corresponding to an argument\n" 1 "CellRendererPixbuf" 1 "# you'd give rdoc on the command line. See rdoc/rdoc.rb for details.\n" 1 "# Returns true, if nodes are autoexpanding, false otherwise.\n" 1 "# Returns the MainWindow instance of this JSONTreeView.\n" 1 "# Accessor for statistics. Available after each call to parse_files\n" 1 "# This is the list of output generator that we support\n" 1 "headers_visible" 1 "SELECTION_BROWSE" 1 "(\\w+)\\.rb$" 1 "# a MainWindow instance and used for self delegation.\n" 1 "# Creates a JSONTreeView instance, the parameter _window_ is\n" 1 "TreeView" 1 "rdoc/generator/" 1 "# of behaviour to it.\n" 1 "# This class inherits from Gtk::TreeView, to configure it and to add a lot\n" 1 "# Report an error message and exit\n" 1 "# Create an output dir if it doesn't exist. If it does exist, but doesn't\n" 1 "Pretty saving" 1 "# contain the flag file created.rid then we refuse to use it, as\n" 1 "Collapsed nodes" 1 "# we may clobber some manually generated documentation\n" 1 "toggled" 1 "' exists, and is not a directory" 1 "\\nDirectory " 1 "# Toggle pretty saving mode on/off.\n" 1 "collapse_all" 1 " already exists, but it looks like it\\n" 1 "isn't an RDoc directory. Because RDoc doesn't want to risk\\n" 1 "# Collapse/Expand all nodes by default.\n" 1 "destroying any of your existing files, you'll need to\\n" 1 "Sort" 1 "?g" 1 "Find Again" 1 "?f" 1 "?v" 1 "Paste" 1 "specify a different output directory name (using the\\n" 1 "Edit" 1 "Select an Array to sort first!" 1 "Only Array nodes can be sorted!" 1 "Array has been sorted." 1 "Failed to sort Array with " 1 " }" 1 "lambda { |x| " 1 "--op

option).\\n\\n" 1 "# expression. _x_ is the element in question.\n" 1 "# Sort (Reverse sort) all elements of the selected array by the given\n" 1 "# Update the flag file in an output directory.\n" 1 "# Repeat the last search given by #find.\n" 1 "# Return the path name of the flag file in an output directory.\n" 1 "created.rid" 1 "# The .document file contains a list of file and directory name patterns,\n" 1 "# representing candidates for documentation. It may also contain comments\n" 1 "# Find a string in all nodes' contents and select the found node in the\n" 1 "# (starting with '#')\n" 1 "# read and strip comments\n" 1 "# Given a list of files and directories, create a list of all the Ruby\n" 1 "# files they contain.\n" 1 "# If +force_doc+ is true we always add the given files, if false, only\n" 1 "# Copy json text from primary clipboard into model.\n" 1 "# add files that we guarantee we can parse. It is true when looking at\n" 1 "# files given on the command line, false when recursing through\n" 1 "# subdirectories.\n" 1 "# The effect of this is that if you want a file with a non-standard\n" 1 "# Copy data from model into primary clipboard.\n" 1 "# extension parsed, you must name it explicitly.\n" 1 "# This class creates the Edit pulldown menu.\n" 1 "?q" 1 "Quit" 1 "Save As" 1 "Save" 1 "Revert" 1 "?l" 1 "Open location" 1 ".svn" 1 "Open" 1 "New" 1 "I can't deal with a " 1 "# Return a list of the files to be processed in a directory. We know that\n" 1 "# Quit the editor, after asking to save any unsaved changes first.\n" 1 "# this directory doesn't have a .document file, so we're looking for real\n" 1 "# files. However we may well contain subdirectories which must be tested\n" 1 "# Save the current JSON document under the given filename.\n" 1 "# for .document files.\n" 1 "# Save the current JSON document.\n" 1 "# Parse each file on the command line, recursively entering directories.\n" 1 "# Revert the current JSON document in the editor to the saved version.\n" 1 "r:ascii-8bit" 1 "coding:\\s*(\\S+)" 1 "\\A(?:.*\\n){0,2}" 1 "# first, if unsaved changes have occured.\n" 1 "# Open a file and load it into the editor. Ask to save the JSON document\n" 1 "# unsaved changes have occured.\n" 1 "# Clear the model and filename, but ask to save the JSON document, if\n" 1 "# Format up one or more files according to the given arguments.\n" 1 "# This class creates the File pulldown menu.\n" 1 "CURRENT_TIME" 1 "Event" 1 "# For simplicity, _argv_ is an array of strings, equivalent to the strings\n" 1 "# that would be passed on the command line. (This isn't a coincidence, as\n" 1 "EventButton" 1 "widget" 1 "button_press_event" 1 "# we _do_ pass in ARGV when running interactively). For a list of options,\n" 1 "Collapse/Expand node (recursively)" 1 "# see rdoc/rdoc.rb. By default, output will be stored in a directory\n" 1 "Insert new node before" 1 "?a" 1 "Append new node" 1 "?I" 1 "Paste node (inserting before)" 1 "?A" 1 "Paste node (appending)" 1 "Copy node" 1 "?X" 1 "Cut node" 1 "Change node" 1 "# called +doc+ below the current directory, so make sure you're somewhere\n" 1 "# writable before invoking.\n" 1 "# Throws: RDoc::Error on error\n" 1 "row_expanded?" 1 "RDoc Documentation" 1 "# Recursively collapse/expand a subtree starting from the selected node.\n" 1 "parent_parent" 1 "\\nNo newer files." 1 "# Insert a new node into an Array before the selected element.\n" 1 "Cannot append to '" 1 "Appendend an element to '" 1 "\\nGenerating " 1 "Added a (key, value)-pair to '" 1 "# Simple stats collector\n" 1 "num_classes" 1 "num_files" 1 "# Append a new node to the selected Hash or Array.\n" 1 "num_methods" 1 "num_modules" 1 "Files: " 1 "Classes: " 1 "Modules: " 1 "Methods: " 1 "Elapsed: " 1 "# before the selected element.\n" 1 "# Paste the data in the clipboard into the selected Array inserting it\n" 1 "%0.1fs" 1 "\\t\\talias " 1 "Cannot paste node below '" 1 "\\tclass " 1 " data into '" 1 "Cannot paste non-" 1 "\\t\\t" 1 "\\tmodule " 1 "# An ERb wrapper that allows nesting of one ERb template inside another.\n" 1 "# This TemplatePage operates similarly to RDoc 1.x's TemplatePage, but uses\n" 1 "# appending it.\n" 1 "# Paste the data in the clipboard into the selected Array or Hash by\n" 1 "Copied a node from tree." 1 "# ERb instead of a custom template language.\n" 1 "# Copy the selected node and its subtree, and save it into the\n" 1 "Cut a node from tree." 1 "# Converting from a RDoc 1.x template to an RDoc 2.x template is fairly easy.\n" 1 "# * %blah% becomes <%= values[\"blah\"] %>\n" 1 "# Cut the selected node and its subtree, and save it into the\n" 1 " in tree!" 1 "Cannot change node of type " 1 "# * !INCLUDE! becomes <%= template_include %>\n" 1 "Changed a node in tree." 1 "# * HREF:aref:name becomes <%= href values[\"aref\"], values[\"name\"] %>\n" 1 "# * IF:blah becomes <% if values[\"blah\"] then %>\n" 1 "# * IFNOT:blah becomes <% unless values[\"blah\"] then %>\n" 1 "old_content" 1 "# * ENDIF:blah becomes <% end %>\n" 1 "# * START:blah becomes <% values[\"blah\"].each do |blah| %>\n" 1 "# * END:blah becomes <% end %>\n" 1 "# To make nested loops easier to convert, start by converting START statements\n" 1 "# Change the type or content of the selected node.\n" 1 "# to:\n" 1 "# <% values[\"blah\"].each do |blah| $stderr.puts blah.keys %>\n" 1 "# This class creates the popup menu, that opens when clicking onto the\n" 1 "# created, to build the menu.\n" 1 "# this instance. It has to be called after an instance of this class is\n" 1 "# This method should be implemented in subclasses to create the #menu of\n" 1 "CONTROL_MASK" 1 "ModifierType" 1 "# So you can see what is being used inside which loop.\n" 1 "# Create a new TemplatePage that will use +templates+.\n" 1 "# Returns \"\#{name}\"\n" 1 ". Attributes can be in their own\n" 1 "# namespaces. General users of REXML will not interact with the\n" 1 "# Attribute class much.\n" 1 "# The element to which this attribute belongs\n" 1 "# The normalized value of this attribute. That is, the attribute with\n" 1 "ALL_NODES" 1 "# The Nodes necessary for the tree representation of a JSON document\n" 1 "# entities intact.\n" 1 "# All JSON primitive types\n" 1 "\\s*(" 1 "# JSON primitive types (Containers)\n" 1 ")\\s*=\\s*([\"'])(.*?)\\2" 1 "# Constructor.\n" 1 "# FIXME: The parser doesn't catch illegal characters in attributes\n" 1 "# Columns constants\n" 1 "JSON Editor" 1 "# Beginning of the editor window title\n" 1 "# first:: \n" 1 "# Either: an Attribute, which this new attribute will become a\n" 1 "# clone of; or a String, which is the name of this attribute\n" 1 "# second::\n" 1 "gtk2" 1 "# requires ruby-gtk to be installed.\n" 1 "# To use the GUI JSON editor, start the edit_json.rb executable script. It\n" 1 "json_create" 1 "json_creatable?" 1 "# the required data.\n" 1 "# method _json_create_ that expects a hash as first parameter, which includes\n" 1 "# from a serialised JSON string. The class has to implement a class\n" 1 "# Returns true, if this class can be used to create an instance\n" 1 "# structure object and return it.\n" 1 "# a Ruby data structure. Otherwise generate a JSON text from the Ruby data\n" 1 "# If _object_ is string-like parse the string and return the parsed result as\n" 1 "jj" 1 "# indentation and over many lines.\n" 1 "# Ouputs _objs_ to STDOUT as JSON strings in a pretty format, with\n" 1 "# one line.\n" 1 "# Outputs _objs_ to STDOUT as JSON strings in the shortest form, that is in\n" 1 "exceed depth limit" 1 "# If +first+ is an Attribute, then this may be an Element, or nil.\n" 1 "# same!) to the _limit_ argument in Marshal.dump.\n" 1 "# exception is raised. This argument is similar (but not exactly the\n" 1 "# If the number of nested arrays or objects exceeds _limit_ an ArgumentError\n" 1 "# was given, the resulting JSON is written to it.\n" 1 "# If anIO (an IO like object or an object that responds to the write method)\n" 1 "# the result.\n" 1 "# Dumps _obj_ as a JSON string, i.e. calls generate on the object and returns\n" 1 "# If nil, then the Element parent of this attribute is the parent\n" 1 "# of the +first+ Attribute. If the first argument is a String, \n" 1 "# then this must also be a String, and is the content of the attribute. \n" 1 "# Ruby object as an argument recursively in depth first order.\n" 1 "# to the read method. If _proc_ was given, it will be called with any nested\n" 1 "# either be a string-like object, an IO like object, or an object responding\n" 1 "# Load a ruby data structure from a JSON _source_ and return it. A source can\n" 1 "# If this is the content, it must be fully normalized (contain no\n" 1 "# illegal characters).\n" 1 " into Hash" 1 "# Ignored unless +first+ is a String; otherwise, may be the Element \n" 1 "# parent of this attribute, or nil.\n" 1 "check_circular" 1 "array_nl" 1 "object_nl" 1 "# Attribute.new( attribute_to_clone )\n" 1 "# generate method for a more detailed explanation.\n" 1 "# The _opts_ argument can be used to configure the generator, see the\n" 1 "# returned string is a prettier form of the string returned by #unparse.\n" 1 "# Unparse the Ruby data structure _obj_ into a JSON string and return it. The\n" 1 "# Attribute.new( attribute_to_clone, parent_element )\n" 1 "# Attribute.new( \"attr\", \"attr_value\" )\n" 1 "# Attribute.new( \"attr\", \"attr_value\", parent_element )\n" 1 "# _obj_ argument, because this will cause JSON to go into an infinite loop.\n" 1 "# *WARNING*: Be careful not to pass any Ruby data structures with circles as\n" 1 "# also generates NaN, Infinity, and, -Infinity float values.\n" 1 "# return it. This method disables the checks for circles in Ruby objects, and\n" 1 "illegal argument " 1 "# later delete them.\n" 1 "# I want to deprecate these later, so I'll first be silent about them, and\n" 1 "from_state" 1 "# defaults for a pretty output.\n" 1 "# amount of sanity checks, and the pretty_generate method for some\n" 1 "# See also the fast_generate for the fastest creation method with the least\n" 1 "# with :max_nesting => false, it defaults to 19.\n" 1 "# structures from which JSON is to be generated. Disable depth checking\n" 1 "# * *max_nesting*: The maximum depth of nesting allowed in the data\n" 1 "# encountered. This options defaults to false.\n" 1 "# generated, otherwise an exception is thrown, if these values are\n" 1 "# * *allow_nan*: true if NaN, Infinity, and -Infinity should be\n" 1 "# should be done (the default), false otherwise.\n" 1 "# * *check_circular*: true if checking for circular data structures\n" 1 "# * *array_nl*: a string that is put at the end of a JSON array (default: ''),\n" 1 "# * *object_nl*: a string that is put at the end of a JSON object (default: ''), \n" 1 "# * *space_before*: a string that is put before a : pair delimiter (default: ''),\n" 1 "# * *space*: a string that is put after, a : or , delimiter (default: ''),\n" 1 "# * *indent*: a string used to indent levels (default: ''),\n" 1 "# A _state_ hash can have the following keys:\n" 1 "# Infinity, and -Infinity.\n" 1 "# in one line, checks for circular data structures and doesn't allow NaN,\n" 1 "# It defaults to a state object, that creates the shortest possible JSON text\n" 1 "# that is used as or to configure a State object.\n" 1 "# * an object convertible into a hash by a to_h method,\n" 1 "# * or a Hash like object (responding to to_hash),\n" 1 "# * a JSON::State object,\n" 1 "# return it. _state_ is\n" 1 " to Attribute constructor" 1 "# Returns the namespace of the attribute.\n" 1 "# e = Element.new( \"elns:myelement\" )\n" 1 "# to true.\n" 1 "# * *allow_nan*: If set to true, allow NaN, Infinity, and -Infinity in\n" 1 "# if someone wants to fill up your stack.\n" 1 "# methods defaults to not doing max depth checking: This can be dangerous,\n" 1 "# structures. Enable depth checking with :max_nesting => anInteger. The parse!\n" 1 "# _opts_ can have the following keys:\n" 1 "# for the _opts_ hash, so be sure only to parse trusted _source_ strings.\n" 1 "# The bang version of the parse method, defaults to the more dangerous values\n" 1 "# e.add_attribute( \"nsa:a\", \"aval\" )\n" 1 "# e.add_attribute( \"b\", \"bval\" )\n" 1 "# e.attributes.get_attribute( \"a\" ).prefix # -> \"nsa\"\n" 1 "# to false.\n" 1 "# e.attributes.get_attribute( \"b\" ).prefix # -> \"elns\"\n" 1 "# * *allow_nan*: If set to true, allow NaN, Infinity and -Infinity in\n" 1 "# to 19.\n" 1 "# structures. Disable depth checking with :max_nesting => false, it defaults\n" 1 "# a.prefix # -> \"\"\n" 1 "# keys:\n" 1 "# _opts_ can have the following\n" 1 "# Returns the namespace URL, if defined, or nil otherwise\n" 1 "MissingUnicodeSupport" 1 "# system. Usually this means, that the iconv library is not installed.\n" 1 "# This exception is raised, if the required unicode support is missing on the\n" 1 "CircularDatastructure" 1 "# this exception is raised.\n" 1 "# If a circular data structure is encountered while unparsing\n" 1 "UnparserError" 1 "# For backwards compatibility\n" 1 "# e = Element.new(\"el\")\n" 1 "# This exception is raised, if a generator or unparser error occurs.\n" 1 "# e.add_attributes({\"xmlns:ns\", \"http://url\"})\n" 1 "# deep.\n" 1 "# This exception is raised, if the nesting of parsed datastructures is too\n" 1 "# e.namespace( \"ns\" ) # -> \"http://url\"\n" 1 "# This exception is raised, if a parser error occurs.\n" 1 "# Returns true if other is an Attribute and has the same name and value,\n" 1 "# The base exception for JSON errors.\n" 1 "MinusInfinity" 1 "# false otherwise.\n" 1 "json_class" 1 "# Creates (and returns) a hash from both the name and value\n" 1 "# hook of a class should be called. It defaults to 'json_class'.\n" 1 "# This is create identifier, that is used to decide, if the _json_create_\n" 1 "# be either JSON::Ext::Generator::State or JSON::Pure::Generator::State.\n" 1 "# Returns the JSON generator state class, that is used by JSON. This might\n" 1 "# either JSON::Ext::Generator or JSON::Pure::Generator.\n" 1 "# Returns the JSON generator modul, that is used by JSON. This might be\n" 1 "# Returns this attribute out as XML source, expanding the name\n" 1 "# a.to_string # -> \"x='y'\"\n" 1 "# b = Attribute.new( \"ns:x\", \"y\" )\n" 1 "GeneratorMethods" 1 "# b.to_string # -> \"ns:x='y'\"\n" 1 "generator=" 1 "# Set the module _generator_ to be used by JSON.\n" 1 "can't find const " 1 "attribute_quote" 1 "# the given path, an ArgumentError is raised.\n" 1 "# level (absolute namespace path?). If there doesn't exist a constant at\n" 1 "# either ::A::B::C or A::B::C. In any case A has to be located at the top\n" 1 "# Return the constant located at _path_. The format of _path_ has to be\n" 1 "%Q^" 1 "parser=" 1 "# Set the JSON parser class _parser_ to be used by JSON.\n" 1 "# JSON::Ext::Parser or JSON::Pure::Parser.\n" 1 "# Returns the JSON parser class, that is used by JSON. This might be either\n" 1 ""e;" 1 "='" 1 "# data structure object and return it.\n" 1 "# as a Ruby data structure. Otherwise generate a JSON text from the Ruby\n" 1 "# If _object_ is string-like parse the string and return the parsed result\n" 1 "# Returns the attribute value, with entities replaced\n" 1 "Encoding in which the passed exression is encoded is not compatible to the preceding's one" 1 "CompatibilityError" 1 "^\\s+$" 1 "# Returns the UNNORMALIZED value of this attribute. That is, entities\n" 1 "# have been expanded to their values\n" 1 "# Returns a copy of this attribute\n" 1 "# IRB.conf[:IRB_RC].call(@irb.context) if IRB.conf[:IRB_RC]\n" 1 "# Sets the element of which this object is an attribute. Normally, this\n" 1 "# is not directly called.\n" 1 "#IRB.load_modules\n" 1 "#IRB.parse_opts\n" 1 "-$Id: xmp.rb 21633 2009-01-17 12:19:53Z yugui $-" 1 "irb/frame" 1 "# \t$Revision: 21633 $\n" 1 "# xmp.rb - irb version of gotoken xmp\n" 1 "# irb/ws-for-case-2.rb - \n" 1 "delete_caller" 1 ":\\s*in `irb_binding'" 1 "# Returns this attribute\n" 1 "element=" 1 "irb/.*\\.rb" 1 "/tmp/irb-binding" 1 "# Removes this Attribute from the tree, and returns true if successfull\n" 1 "\\(irb_local_binding\\)" 1 "# error message manipulator\n" 1 "# This method is usually not called directly.\n" 1 "_=nil" 1 "CantChangeBinding" 1 "IRB.conf[:__MAIN__].instance_eval('binding', __FILE__, __LINE__)" 1 "IRB.conf[:__MAIN__].module_eval('binding', __FILE__, __LINE__)" 1 "__MAIN__" 1 "# Writes this attribute (EG, puts 'key=\"value\"' to the output)\n" 1 "def irb_binding; binding; end; irb_binding" 1 "# binging in function on TOPLEVEL_BINDING(default)\n" 1 "require \\\"irb/ws-for-case-2\\\"" 1 "/@" 1 "# binding in loaded file(thread use)\n" 1 "$binding" 1 "" 1 "irb-binding" 1 "# binding in loaded file\n" 1 "proc{binding}.call" 1 "# binding in proc on TOPLEVEL_BINDING\n" 1 "(\\]\\]>)" 1 "Binding" 1 "# inherit main from TOPLEVEL_BINDING.\n" 1 "# create new workspace. set self to main if specified, otherwise\n" 1 "# \t$Revision: 15689 $\n" 1 "# irb/workspace-binding.rb - \n" 1 "05/04/13" 1 "0.9.5" 1 "# irb/version.rb - irb version definition file\n" 1 "__ENCODING__" 1 "# DO NOT WRITE ANY MAGIC COMMENT HERE.\n" 1 "#\tConstructor. CData is data between \n" 1 "# CData.new( source )\n" 1 "# CData.new( \"Here is some CDATA\" )\n" 1 "# CData.new( \"Some unprocessed data\", respect_whitespace_TF, parent_element )\n" 1 "# Make a copy of this object\n" 1 "# d = c.clone\n" 1 "# d.to_s # -> \"Some text\"\n" 1 "# Returns the content of this CData object\n" 1 "# Tracer.on\n" 1 "# c.to_s # -> \"Some text\"\n" 1 "# Generates XML output of this object\n" 1 "# Where to write the string. Defaults to $stdout\n" 1 "op:" 1 "match>: " 1 "# able to be called arbitrary number of times. \n" 1 "# io must have getc()/ungetc(); and ungetc() must be\n" 1 "# character array\n" 1 "# chrs: String\n" 1 "change abstract node to real node" 1 "# The amount to indent this node by\n" 1 "change abstract node to real node." 1 "# c = CData.new( \" Some text \" )\n" 1 "# c.write( $stdout ) #-> \n" 1 "rexml/node" 1 "# if postproc is non-nil, this node is a real node.\n" 1 "# if postproc is nil, this node is an abstract node.\n" 1 "# class Node - \n" 1 "# A Child object is something contained by a parent, and this class\n" 1 "" 1 "match end: %s:%s\\n" 1 "D_DEATIL" 1 "# contains methods to support that. Most user code will not use this\n" 1 "# class directly.\n" 1 "#\e$BMW%A%'%C%/\e(B? \n" 1 "# The Parent of this object\n" 1 "# Constructor. Any inheritors of this class should call super to make\n" 1 "# sure this method is called.\n" 1 "# if supplied, the parent of this child will be set to the\n" 1 "Detail: " 1 "# supplied value, and self will be added to the parent\n" 1 "Debug: " 1 "# Declare @parent, but don't define it. The next line sets the \n" 1 "Warn: " 1 "# parent.\n" 1 "SLex::" 1 "# Replaces this object with another object. Basically, calls\n" 1 "node already exists" 1 "# Parent.replace_child\n" 1 "node nothing" 1 "# Removes this child from the parent.\n" 1 "-$Id: slex.rb 16810 2008-06-04 09:37:38Z matz $-" 1 "irb/notifier" 1 "# irb/slex.rb - simple lex analyzer\n" 1 "# Sets the parent of this child to the supplied argument.\n" 1 "; end; " 1 "# other::\n" 1 "# Must be a Parent object. If this object is the same object as the\n" 1 "# existing parent of this child, no action is taken. Otherwise, this\n" 1 "# child is removed from the current parent (if one exists), and is added\n" 1 "# to the new parent.\n" 1 "# Returns:: The parent added\n" 1 "# {reading => [token_class, *opt]}\n" 1 "# {reading => token_class}\n" 1 "TkDOLLAR" 1 "TkAT" 1 "TkBACKSLASH" 1 "TkSEMICOLON" 1 "TkCOMMA" 1 "TkRBRACE" 1 "TkRBRACK" 1 "TkRPAREN" 1 "\#{hash}\n" 1 "#[arry]\n" 1 "#(exp)\n" 1 "TkASSIGN" 1 "TkBACKQUOTE" 1 "TkNOTOP" 1 "TkBITNOT" 1 "TkBITAND" 1 "TkBITXOR" 1 "TkBITOR" 1 "TkMOD" 1 "TkDIV" 1 "TkMULT" 1 "TkMINUS" 1 "TkPLUS" 1 "TkLT" 1 "TkGT" 1 "# :SYMBOL\n" 1 "# &arg #\n" 1 "TkAMPER" 1 "# *arg\n" 1 "TkSTAR" 1 "# func{ #\n" 1 "# func[ #\n" 1 "# func( #\n" 1 "#:\n" 1 "#?\n" 1 "TkASSOC" 1 "# [:OPASGN,\t TkOp], # +=, -= etc. #\n" 1 "TkRSHFT" 1 "TkLSHFT" 1 "TkASET" 1 "TkAREF" 1 "TkDOT3" 1 "TkDOT2" 1 "TkNMATCH" 1 "TkMATCH" 1 "TkOROP" 1 "TkANDOP" 1 "TkLEQ" 1 "TkGEQ" 1 "TkNEQ" 1 "TkEQQ" 1 "TkEQ" 1 "TkCMP" 1 "TkPOW" 1 "TkUMINUS" 1 "TkUPLUS" 1 "Tk__FILE__" 1 "Tk__LINE__" 1 "TklEND" 1 "TklBEGIN" 1 "TkDEFINED" 1 "TkALIAS" 1 "TkNOT" 1 "TkOR" 1 "TkAND" 1 "TkFALSE" 1 "TkTRUE" 1 "# Sets the next sibling of this child. This can be used to insert a child\n" 1 "TkNIL" 1 "TkSELF" 1 "TkSUPER" 1 "TkYIELD" 1 "TkRETURN" 1 "TkDO" 1 "TkIN" 1 "TkRETRY" 1 "TkREDO" 1 "TkNEXT" 1 "TkBREAK" 1 "# after some other child.\n" 1 "# b.next_sibling = c\n" 1 "TkWHEN" 1 "TkCASE" 1 "TkELSE" 1 "TkELSIF" 1 "TkTHEN" 1 "next_sibling=" 1 "TkUNLESS" 1 "# Sets the previous sibling of this child. This can be used to insert a \n" 1 "TkIF" 1 "TkEND" 1 "TkENSURE" 1 "TkRESCUE" 1 "TkBEGIN" 1 "TkUNDEF" 1 "TkDEF" 1 "TkMODULE" 1 "TkCLASS" 1 "# child before some other child.\n" 1 "# b.previous_sibling = c\n" 1 "previous_sibling=" 1 "# Returns:: the document this child belongs to, or nil if this child\n" 1 "# belongs to no document\n" 1 "# This doesn't yet handle encodings\n" 1 "# Represents an XML comment; that is, text between \\\n" 1 "# for ruby 1.4X\n" 1 "# irb/ruby-token.rb - ruby tokens \n" 1 "# other characters \n" 1 "#, \"^\"\n" 1 "" 1 "#\tread_escape\n" 1 "# if ch == \"\\\\\" #\"\n" 1 "i|m|x|o|e|s|u|n" 1 "[+-]" 1 "# The content text\n" 1 "# Constructor. The first argument can be one of three types:\n" 1 "# @param first If String, the contents of this comment are set to the \n" 1 "numeric literal without digits" 1 "# argument. If Comment, the argument is duplicated. If\n" 1 "# Source, the argument is scanned for a comment.\n" 1 "# @param second If the first argument is a Source, this argument \n" 1 "# should be nil, not supplied, or a Parent to be set as the parent \n" 1 "Invalid octal digit" 1 "[89]" 1 "# of this object\n" 1 "[0-9_]" 1 "[dD]" 1 "#puts \"IN COMMENT CONSTRUCTOR; SECOND IS \#{second.type}\"\n" 1 "[oO]" 1 "[01_]" 1 "[bB]" 1 "[0-9a-fA-F_]" 1 "[xX]" 1 "[.eE]" 1 "\#@ltype = lt\n" 1 "# next\n" 1 "# ungetc\n" 1 "# if ch !~ /\\W/\n" 1 "unknown type of %string" 1 "#\t Where to write the string\n" 1 "(:?\\r)?\\n\\z" 1 "#\t An integer.\tIf -1, no indenting will be used; otherwise, the\n" 1 "#\t indentation will be this number of spaces, and children will be\n" 1 "#\t indented an additional amount.\n" 1 "['\"`]" 1 "# if lt = PERCENT_LTYPE[ch]\n" 1 "#\t Ignored by this class.\tThe contents of comments are never modified.\n" 1 "#\t Needed for conformity to the child API, but not used by this class.\n" 1 "[!?]" 1 "Comment.write is deprecated. See REXML::Formatters" 1 "[A-Z]" 1 "#\t\tp @indent_stack\n" 1 "rexml/attlistdecl" 1 "# Represents an XML DOCTYPE declaration; that is, the contents of . DOCTYPES can be used to declare the DTD of a document, as well as\n" 1 "# no nothing\n" 1 "^\\s*([+\\-\\/*]?=|\\*|<|>|\\&|\\|)" 1 "^\\s*([+\\-\\/*]?=|\\*|<|>|\\&)" 1 "^\\s*(([+\\-\\/*&\\|^]|<<|>>|\\|\\||\\&\\&)=|\\&\\&|\\|\\|)" 1 "^\\s*(<<|\\w|::)" 1 "# being used to declare entities used in the document.\n" 1 "# check for ``class = val'' etc.\n" 1 "\n" 1 "^\\@" 1 "# dt = DocType.new( doctype_to_clone )\n" 1 "# p Token(TkCVAR, token)\n" 1 "^\\@\\@" 1 "^\\$" 1 "# almost fix token\n" 1 "\\w|_" 1 "[$@]" 1 "# # Incomplete. Shallow clone of doctype\n" 1 "# +Note+ that the constructor: \n" 1 "[1-9]" 1 "# Doctype.new( Source.new( \"\" ) )\n" 1 "$-" 1 "# is _deprecated_. Do not use it. It will probably disappear.\n" 1 "[~_*$?!@\\/\\\\;,=:<>\".]" 1 "MATCH: end %s: %s\\n" 1 "MATCH: start %s: %s\\n" 1 "# #\tend\n" 1 "# #\t rests.shift\n" 1 "# #\tuntil @rests[0] == \"\\n\" or @rests[0] == \";\"\n" 1 "# #\t@lex_state = EXPR_END\n" 1 "# \t@lex_state = EXPR_FNAME\n" 1 "# \t@indent += 1\n" 1 "# \t|op, io|\n" 1 "# @OP.def_rule(\"def\", proc{|op, io| /\\s/ =~ io.peek(0)}) do \n" 1 "pull" 1 "[\\w_@]" 1 "start_doctype" 1 "#))\n" 1 "# Where to write the string\n" 1 "# An integer. If -1, no indentation will be used; otherwise, the\n" 1 "~@" 1 "# \tToken(OP_ASGN, :^)\n" 1 "# \t@lex_state = EXPR_BEG\n" 1 "# @OP.def_rules(\"^=\") do\n" 1 "# indented an additional amount.\n" 1 "\\n]" 1 "# This method retrieves the public identifier identifying the document's \n" 1 "# DTD.\n" 1 "# p @lex_state.id2name, @space_seen\n" 1 "# This method retrieves the system identifier identifying the document's DTD\n" 1 "# This method returns a list of notations that have been declared in the\n" 1 "# _internal_ DTD subset. Notations in the external DTD subset are not \n" 1 "# listed.\n" 1 "# for \"obj.if\" etc.\n" 1 "# Retrieves a named notation. Only notations declared in the internal\n" 1 "# DTD subset can be retrieved.\n" 1 "notation" 1 "^[\\'\\\"].*[\\'\\\"]$" 1 "^(.*)=$" 1 "**=" 1 "# We don't really handle any of these since we're not a validating\n" 1 "# parser, so we can be pretty dumb about them. All we need to be able\n" 1 "# to do is spew them back out on a write()\n" 1 "# This is an abstract class. You never use this directly; it serves as a\n" 1 "# parent class for the specific declarations.\n" 1 "ElementDecl" 1 "[\"'`]" 1 "ExternalEntity" 1 ") whether or not one is given by the\n" 1 "# user (or source document). REXML does not write one if one was not\n" 1 "# specified, because it adds unnecessary bandwidth to applications such\n" 1 "# as XML-RPC.\n" 1 "# See also the classes in the rexml/formatters package for the proper way\n" 1 "# to change the default formatting of XML output\n" 1 "# Document.new(\"\").serialize\n" 1 "# output_string = \"\"\n" 1 "# tr = Transitive.new( output_string )\n" 1 "# Document.new(\"\").serialize( tr )\n" 1 "# indentation will be twice this number of spaces, and children will be\n" 1 "# indented an additional amount. For a value of 3, every item will be \n" 1 "# indented 3 more levels, or 6 more spaces (2 * 3). Defaults to -1\n" 1 "# the absolute *value* of the document -- that is, it leaves the value\n" 1 "# and number of Text nodes in the document unchanged.\n" 1 "Terminate Line Input" 1 "key duplicate(token_n='%s', key='%s')" 1 "StreamParser" 1 "10_000" 1 "# Set the entity expansion limit. By default the limit is set to 10000.\n" 1 "entity_expansion_limit=" 1 "Already defined token(%s)" 1 "# Get the entity expansion limit. By default the limit is set to 10000.\n" 1 "-$Id: ruby-lex.rb 23233 2009-04-19 13:35:47Z yugui $-" 1 "irb/ruby-token" 1 "irb/slex" 1 "# irb/ruby-lex.rb - ruby lexcal analyzer\n" 1 "# [diouxXeEfgGcsb%] \n" 1 "# #(hh|h|l|ll|L|q|j|z|t)\n" 1 "# .(\\*|\\*[1-9][0-9]*\\$|[1-9][0-9]*|)?\n" 1 "# (\\*|\\*[1-9][0-9]*\\$|[1-9][0-9]*)\n" 1 "# [#0- +]\n" 1 "# %\n" 1 "entity_expansion_limit" 1 "(%*)%I" 1 "# extend printf\n" 1 "entity_expansion_count" 1 "-$Id: output-method.rb 14912 2008-01-06 15:49:38Z akr $-" 1 "number of entity expansions exceeded, processing aborted." 1 "# StdioOutputMethod\n" 1 "# OutputMethod\n" 1 "# output-method.rb - optput methods used by irb \n" 1 "rexml/cdata" 1 "ErrUndefinedNotifer" 1 "rexml/xpath" 1 "# An implementation note about namespaces:\n" 1 "# As we parse, when we find namespaces we put them in a hash and assign\n" 1 "# them a unique ID. We then convert the namespace prefix for the node\n" 1 "notifiers" 1 "# to the unique ID. This makes namespace lookup much faster for the\n" 1 "# cost of extra memory use. We save the namespace prefix for the\n" 1 "# context node and convert it back when we write it.\n" 1 "@@namespaces" 1 "# Represents a tagged XML element. Elements are characterized by\n" 1 "# having children, attributes, and names, and can themselves be\n" 1 "# The default name\n" 1 "# Mechanisms for accessing attributes and child elements of this\n" 1 "# element.\n" 1 "# The context holds information about the processing environment, such as\n" 1 "# whitespace handling.\n" 1 "# arg:: \n" 1 "unrecognized notifier level: %s is specified" 1 "# \tif not supplied, will be set to the default value.\n" 1 "undefined notifier level: %d is specified" 1 "ErrUndefinedNotifier" 1 "# \tIf a String, the name of this object will be set to the argument.\n" 1 "irb/output-method" 1 "# \tIf an Element, the object will be shallowly cloned; name, \n" 1 "# notifier.rb - output methods used by irb \n" 1 "# \tattributes, and namespaces will be copied. Children will +not+ be\n" 1 "# \tcopied.\n" 1 "# parent:: \n" 1 "# \tif supplied, must be a Parent, and will be used as\n" 1 "# \tthe parent of this object.\n" 1 "# see parser_magic_comment in parse.y\n" 1 "# context::\n" 1 "No such file to load -- " 1 "# \tIf supplied, must be a hash containing context items. Context items\n" 1 "# \tinclude:\n" 1 "# * :respect_whitespace the value of this is :+all+ or an array of\n" 1 "# strings being the names of the elements to respect\n" 1 "# whitespace for. Defaults to :+all+.\n" 1 "toplevel_load" 1 "ruby_require" 1 "\\.(so|o|sl)$" 1 "# * :compress_whitespace the value can be :+all+ or an array of\n" 1 "\\.(so|o|sl|rb)?" 1 "lc/" 1 "# strings being the names of the elements to ignore whitespace on.\n" 1 "modifieer" 1 "# Overrides :+respect_whitespace+.\n" 1 "%s is obsolete. use %s" 1 "irb/encoding_aliases.rb" 1 "modifier" 1 "codeset" 1 "# * :ignore_whitespace_nodes the value can be :+all+ or an array\n" 1 "LANG" 1 "LC_ALL" 1 "IRB_LANG" 1 "# of strings being the names of the elements in which to ignore\n" 1 "# whitespace-only nodes. If this is set, Text nodes which contain only\n" 1 "# whitespace will not be added to the document tree.\n" 1 "# * :raw can be :+all+, or an array of strings being the names of\n" 1 "# the elements to process in raw mode. In raw mode, special\n" 1 "# characters in text is not converted to or from entities.\n" 1 "> ... " 1 "/lc/" 1 "# Creates a shallow copy of self.\n" 1 " ]x" 1 "\n (?[[:alpha:]]{2})\n (?:_\n (?[[:alpha:]]{2,3})\n (?:\\.\n\t(?[^@]+)\n )?\n )?\n (?:@\n (?.*)\n )?\n" 1 "%r[" 1 "# d = Document.new \"\"\n" 1 "-$Id: locale.rb 20889 2008-12-20 02:02:48Z yugui $-" 1 "# \t$Revision: 20889 $\n" 1 "# irb/locale.rb - internationalization module\n" 1 "HISTORY" 1 "# new_a = d.root.clone\n" 1 "# print @prompt, l\n" 1 "# puts new_a # => \"\"\n" 1 "# Evaluates to the root node of the document that this element \n" 1 "# belongs to. If this element doesn't belong to a document, but does\n" 1 "-$Id: input-method.rb 21546 2009-01-15 15:36:57Z yugui $-" 1 "# belong to another Element, the parent's root will be returned, until the\n" 1 "(line)" 1 "# earliest ancestor is found.\n" 1 "#\t(ReadlineInputMethod)\n" 1 "#\tFileInputMethod\n" 1 "#\tStdioInputMethod\n" 1 "# InputMethod\n" 1 "irb/src_encoding" 1 "# \t$Revision: 21546 $\n" 1 "# irb/input-method.rb - input methods used irb\n" 1 "ENCODINGS" 1 "internal" 1 "# Note that this is not the same as the document element.\n" 1 "# In the following example, is the document element, and the root\n" 1 "# loading modules\n" 1 "/$irb" 1 "/_irb" 1 "\\A_?" 1 "/irb" 1 "# node is the parent node of the document element. You may ask yourself\n" 1 "IRBRC" 1 "# why the root node is useful: consider the doctype and XML declaration,\n" 1 "# enumerate possible rc-file base name generators\n" 1 "# and any processing instructions before the document element... they\n" 1 "# are children of the root node, or siblings of the document element.\n" 1 "# The only time this isn't true is when an Element is created that is\n" 1 "# not part of any Document. In this case, the ancestor that has no\n" 1 "# parent acts as the root node.\n" 1 "# StandardError, ScriptError\n" 1 "# d = Document.new ''\n" 1 "# running config\n" 1 "UnrecognizedSwitch" 1 "shfit" 1 "irb/help" 1 "^--irb_debug=(?:=(.+))?" 1 "--single-irb" 1 "^--context-mode(?:=(.+))?" 1 "^--back-trace-limit(?:=(.+))?" 1 "--tracer" 1 "--simple-prompt" 1 "--sample-book-mode" 1 "--inf-ruby-mode" 1 "--noprompt" 1 "^--prompt(?:=(.+))?" 1 "^--prompt-mode(?:=(.+))?" 1 "--noverbose" 1 "--noecho" 1 "--echo" 1 "--noreadline" 1 "--readline" 1 "--noinspect" 1 "--inspect" 1 "^--encoding(?:=(.+))?" 1 "^-E(.+)?" 1 "# a = d[1] ; c = a[1][1]\n" 1 "^-I(.+)?" 1 "^-r(.+)?" 1 "# d.root_node == d # TRUE\n" 1 "# a.root_node # namely, d\n" 1 "# c.root_node # again, d\n" 1 "# option analyzing\n" 1 "# Evaluates to the document to which this element belongs, or nil if this\n" 1 "irb/error.rb" 1 "# element doesn't belong to a document.\n" 1 "# @CONF[:LC_MESSAGES] = \"en\"\n" 1 "# use binding in function on TOPLEVEL_BINDING\n" 1 "# Evaluates to +true+ if whitespace is respected for this element. This\n" 1 " ==>%s\\n" 1 "#\t:PROMPT_N => \"%N(%m):%03n:%i> \",\n" 1 "?> " 1 "# is the case if:\n" 1 "# 1. Neither :+respect_whitespace+ nor :+compress_whitespace+ has any value\n" 1 "CLASSIC" 1 "# 2. The context has :+respect_whitespace+ set to :+all+ or\n" 1 "# an array containing the name of this element, and \n" 1 "# :+compress_whitespace+ isn't set to :+all+ or an array containing the \n" 1 "# name of this element.\n" 1 "# Evaluates to +true+ if raw mode is set for this element. This\n" 1 "IRB_LIB_PATH" 1 "irb.rb" 1 "# default configurations\n" 1 "@TRACER_INITIALIZED" 1 "# class instance variables\n" 1 "# @CONF default setting\n" 1 "UndefinedPromptMode" 1 "# is the case if the context has :+raw+ set to :+all+ or\n" 1 "# an array containing the name of this element.\n" 1 "#once :whitespace, :raw, :ignore_whitespace_nodes\n" 1 "# initialize config\n" 1 "# irb/init.rb - irb initialize module\n" 1 "#.*$" 1 "# Namespaces #\n" 1 "# Evaluates to an +Array+ containing the prefixes (names) of all defined\n" 1 "# namespaces at this context node.\n" 1 "irb/help-message" 1 "# doc = Document.new(\"\")\n" 1 "# doc.elements['//b'].prefixes # -> ['x', 'y']\n" 1 "# Evalutas to the URI for a prefix, or the empty string if no such \n" 1 "# namespace is declared for this element. Evaluates recursively for\n" 1 "# ancestors. Returns the default namespace, if there is one.\n" 1 "# irb/help.rb - print usage module\n" 1 "# the prefix to search for. If not supplied, returns the default\n" 1 "# singleton functions\n" 1 "# namespace if one exists\n" 1 "# the namespace URI as a String, or nil if no such namespace\n" 1 "# exists. If the namespace is undefined, returns an empty string\n" 1 "frame underflow" 1 "# doc = Document.new(\"\")\n" 1 "frame overflow" 1 "# b = doc.elements['//b']\n" 1 "# b.namespace # -> '1'\n" 1 "# \tby Keiju ISHITSUKA(Nihon Rational Software Co.,Ltd)\n" 1 "# b.namespace(\"y\") # -> '2'\n" 1 "# frame.rb - \n" 1 "[0-9]*$" 1 "# Adds a namespace to this element.\n" 1 "private_instance_methods" 1 "# the prefix string, or the namespace URI if +uri+ is not\n" 1 "# supplied\n" 1 "__alias_of__" 1 "# return \#{prefix}\#{name}\#{postfix}\n" 1 "def_post_proc" 1 "# uri:: \n" 1 "# the namespace URI. May be nil, in which +prefix+ is used as\n" 1 "# the URI\n" 1 "# Evaluates to: this Element\n" 1 "# a.add_namespace(\"xmlns:foo\", \"bar\" )\n" 1 "# a.add_namespace(\"foo\", \"bar\") # shorthand for previous line\n" 1 "# a.add_namespace(\"twiddle\")\n" 1 "# puts a #-> \n" 1 "def_pre_proc" 1 "MethodExtender" 1 "add_namespace" 1 ", *opts, &b\n\tend\n\tfor ali in aliases\n\t alias_method ali, cmd_name\n\tend\n" 1 "^xmlns:" 1 "\t require \"\#{" 1 ")}\n" 1 "\t Context.module_eval {remove_method(:\#{" 1 "# Removes a namespace from this node. This only works if the namespace is\n" 1 "irb/ext/save-history.rb" 1 "save_history=" 1 "irb/ext/use-loader.rb" 1 "use_loader=" 1 "irb/ext/math-mode.rb" 1 "math_mode=" 1 "irb/ext/tracer.rb" 1 "use_tracer=" 1 "irb/ext/history.rb" 1 "eval_history=" 1 "# actually declared in this node. If no argument is passed, deletes the\n" 1 "# default namespace.\n" 1 "# extension support for Context\n" 1 "# Evaluates to: this element\n" 1 "# doc = Document.new \"\"\n" 1 "_org" 1 "irb_" 1 "# doc.root.delete_namespace\n" 1 "# puts doc # -> \n" 1 "# doc.root.delete_namespace 'foo'\n" 1 "irb: warn: can't alias " 1 "# puts doc # -> \n" 1 "delete_namespace" 1 "# Elements #\n" 1 "# override = {NO_OVERRIDE, OVERRIDE_PRIVATE_ONLY, OVERRIDE_ALL}\n" 1 ".execute(irb_context, *opts, &b)\n\t end\n" 1 "\t ExtendCommand::\#{" 1 "# Adds a child to this element, optionally setting attributes in\n" 1 ", *opts, &b\n\t end\n" 1 "\t send :\#{" 1 ".execute(irb_context, \\\#{args})\n\t end\n\t ]\n" 1 "\t\tExtendCommand::\#{" 1 "(\\\#{args})\n" 1 "\t def \#{" 1 ".instance_method(:execute).arity\n\t args = (1..arity.abs).map {|i| \"arg\" + i.to_s }\n\t args << \"*opts\" if arity < 0\n\t args << \"&block\"\n\t args = args.join(\", \")\n\t eval %[\n" 1 "\t arity = ExtendCommand::\#{" 1 "# the element.\n" 1 "\t require \"\#{" 1 "# optional. If Element, the element is added.\n" 1 "# Otherwise, a new Element is constructed with the argument (see\n" 1 "# Element.initialize).\n" 1 "# aliases = [commands_alias, flag], ...\n" 1 "# attrs:: \n" 1 "# If supplied, must be a Hash containing String name,value \n" 1 "irb/cmd/help" 1 "Help" 1 "irb_help" 1 "Kill" 1 "irb_kill" 1 "fg" 1 "Foreground" 1 "irb_fg" 1 "Jobs" 1 "irb_jobs" 1 "# pairs, which will be used to set the attributes of the new Element.\n" 1 "IrbCommand" 1 "# Returns:: the Element that was added\n" 1 "irb_source" 1 "# el = doc.add_element 'my-tag'\n" 1 "irb_require" 1 "# el = doc.add_element 'my-tag', {'attr1'=>'val1', 'attr2'=>'val2'}\n" 1 "Load" 1 "irb_load" 1 "popb" 1 "irb_popb" 1 "irb_pop_binding" 1 "#\t[:popw, NO_OVERRIDE],\n" 1 "popws" 1 "#\t[:irb_popw, OVERRIDE_ALL],\n" 1 "irb_popws" 1 "PopWorkspace" 1 "irb_pop_workspace" 1 "pushb" 1 "irb_pushb" 1 "irb_push_binding" 1 "#\t[:pushw, NO_OVERRIDE],\n" 1 "pushws" 1 "#\t[:irb_pushw, OVERRIDE_ALL],\n" 1 "irb_pushws" 1 "PushWorkspace" 1 "irb_push_workspace" 1 "bindings" 1 "irb_bindings" 1 "workspaces" 1 "# el = Element.new 'my-tag'\n" 1 "Workspaces" 1 "irb_workspaces" 1 "irb_cb" 1 "irb_change_binding" 1 "#\t[:cw, NO_OVERRIDE],\n" 1 "cws" 1 "#\t[:chw, NO_OVERRIDE],\n" 1 "chws" 1 "#\t[:irb_cw, OVERRIDE_ALL],\n" 1 "irb_cws" 1 "#\t[:irb_chw, OVERRIDE_ALL],\n" 1 "irb_chws" 1 "ChangeWorkspace" 1 "irb_change_workspace" 1 "#\t[:pwb, NO_OVERRIDE]\n" 1 "#\t[:cwb, NO_OVERRIDE],\n" 1 "irb_pwb" 1 "irb_cwb" 1 "irb_print_working_binding" 1 "irb_current_working_binding" 1 "#\t[:pww, NO_OVERRIDE],\n" 1 "#\t[:cww, NO_OVERRIDE],\n" 1 "pwws" 1 "cwws" 1 "#\t[:irb_pww, OVERRIDE_ALL],\n" 1 "#\t[:irb_cww, OVERRIDE_ALL],\n" 1 "irb_pwws" 1 "irb_cwws" 1 "irb_print_working_workspace" 1 "# doc.add_element el\n" 1 "CurrentWorkingWorkspace" 1 "irb_current_working_workspace" 1 "First argument must be either an element name, or an Element object" 1 "# Deletes a child element.\n" 1 "irb_quit" 1 "# Must be an +Element+, +String+, or +Integer+. If Element, \n" 1 "# the element is removed. If String, the element is found (via XPath) \n" 1 "0x02" 1 "# and removed. This means that any parent can remove any\n" 1 "0x01" 1 "# descendant. If Integer, the Element indexed by that number will be\n" 1 "# removed.\n" 1 "# Returns:: the element that was removed.\n" 1 "# IRB extended command\n" 1 "# \t$Revision: 18837 $\n" 1 "# irb/extend-command.rb - irb extend command \n" 1 "conf.%s=:%s" 1 "# doc.delete_element \"/a/b/c[@id='4']\"\n" 1 "^@(.*)$" 1 "# doc.delete_element doc.elements[\"//k\"]\n" 1 "# doc.delete_element 1\n" 1 "__inspect__" 1 "delete_element" 1 "# Evaluates to +true+ if this element has at least one child Element\n" 1 "# doc = Document.new \"Text\"\n" 1 "__exit__" 1 "# @_ = @workspace.evaluate(line, irb_path, line_no)\n" 1 "# @workspace.evaluate(\"_ = IRB.conf[:MAIN_CONTEXT]._\")\n" 1 "# doc.root.has_elements # -> true\n" 1 "# doc.elements[\"/a/b\"].has_elements # -> false\n" 1 "debug_level=" 1 "use readline module\\n" 1 "use_readline=" 1 " inspect mode.\\n" 1 " non" 1 "Switch to" 1 "inspect_mode=" 1 "file_input?" 1 "# doc.elements[\"/a/c\"].has_elements # -> false\n" 1 "has_elements?" 1 "# Iterates through the child elements, yielding for each Element that\n" 1 "# has a particular attribute set.\n" 1 "@return_format" 1 "# key:: \n" 1 "@prompt_n" 1 "# the name of the attribute to search for\n" 1 "@prompt_c" 1 "# the value of the attribute\n" 1 "@prompt_s" 1 "# (optional) causes this method to return after yielding \n" 1 "@prompt_i" 1 "# doc = Document.new \"\"\n" 1 "# doc.root.each_element_with_attribute( 'id' ) {|e| p e}\n" 1 "prompt_mode=" 1 "_ = IRB.CurrentContext.last_value" 1 "# # Yields b, d\n" 1 "# doc.root.each_element_with_attribute( 'id', '1' ) {|e| p e}\n" 1 "rc?" 1 "# doc.root.each_element_with_attribute( 'id', '1', 1 ) {|e| p e}\n" 1 "# doc.root.each_element_with_attribute( 'id', '1', 0, 'd' ) {|e| p e}\n" 1 "each_element_with_attribute" 1 "# Iterates through the children, yielding for each Element that\n" 1 "inspect_mode" 1 "# has a particular text set.\n" 1 "# the text to search for. If nil, or not supplied, will iterate\n" 1 "# over all +Element+ children that contain at least one +Text+ node.\n" 1 "workspace_home" 1 "# (optional) causes this method to return after yielding\n" 1 "# doc = Document.new 'bbd'\n" 1 "# doc.each_element_with_text {|e|p e}\n" 1 "# # Yields b, c\n" 1 "# doc.each_element_with_text('b'){|e|p e}\n" 1 "# doc.each_element_with_text('b', 1){|e|p e}\n" 1 "# doc.each_element_with_text(nil, 0, 'd'){|e|p e}\n" 1 "each_element_with_text" 1 "save_history" 1 "# Synonym for Element.elements.each\n" 1 "each_element" 1 "# Synonym for Element.to_a\n" 1 "# This is a little slower than calling elements.each directly.\n" 1 "# xpath:: any XPath by which to search for elements in the tree\n" 1 "# Returns:: an array of Elements that match the supplied path\n" 1 "n_jobs" 1 "irb#" 1 "get_elements" 1 "# Returns the next sibling that is an element, or nil if there is\n" 1 "# no Element sibling after this one\n" 1 "# doc.root.elements['b'].next_element #-> \n" 1 "# doc.root.elements['c'].next_element #-> nil\n" 1 "# Returns the previous sibling that is an element, or nil if there is\n" 1 "# no Element sibling prior to this one\n" 1 "@back_trace_limit" 1 "# doc.root.elements['c'].previous_element #-> \n" 1 "@ignore_eof" 1 "# doc.root.elements['b'].previous_element #-> nil\n" 1 "@ignore_sigint" 1 "previous_element" 1 "eval_history" 1 "# Text #\n" 1 "use_loader" 1 "# Evaluates to +true+ if this element has at least one Text child\n" 1 "use_tracer" 1 "# A convenience method which returns the String value of the _first_\n" 1 "math_mode" 1 "# child text element, if one exists, and +nil+ otherwise.\n" 1 "# Note that an element may have multiple Text elements, perhaps\n" 1 "# separated by other children. Be aware that this method only returns\n" 1 "# the first Text node.\n" 1 "@load_modules" 1 "# This method returns the +value+ of the first text child node, which\n" 1 "@rc" 1 "# ignores the +raw+ setting, so always returns normalized text. See\n" 1 "@ap_name" 1 "# copy of default configuration\n" 1 "# @irb_level = 0\n" 1 "# the Text::value documentation.\n" 1 "# doc.root.text #-> \"some text \"\n" 1 "# Returns the first child Text node, if any, or +nil+ otherwise.\n" 1 "#\t\t other -- using this as InputMethod\n" 1 "#\t\t String -- File\n" 1 "# input_method: nil -- stdin or readline\n" 1 "# Arguments:\n" 1 "irb/workspace" 1 "# \t$Revision: 19670 $\n" 1 "# This method returns the actual +Text+ node, rather than the String content.\n" 1 "# irb/context.rb - irb context\n" 1 "completion_proc" 1 "completion_append_character" 1 " \\t\\n\\\"\\\\'`><=;|&{(" 1 "basic_word_break_characters" 1 "basic_word_break_characters=" 1 "#receiver + \" \" + e\n" 1 "^[0-9]" 1 "^[a-zA-Z_]" 1 "# doc.root.get_text.value #-> \"some text \"\n" 1 "# Sets the first Text child of this object. See text() for a\n" 1 "methods | private_methods | local_variables | self.class.constants" 1 "# unknown(maybe String)\n" 1 "^\\.([^.]*)$" 1 "^(IRB|SLex|RubyLex|RubyToken)" 1 "IRB::Context" 1 "# func1.func2\n" 1 "# Foo::Bar.func\n" 1 "# discussion about Text children.\n" 1 "# If a Text child already exists, the child is replaced by this\n" 1 "# foo.func and foo is local var.\n" 1 "self.class.constants" 1 "# content. This means that Text content can be deleted by calling\n" 1 "# this method with a nil argument. In this case, the next Text\n" 1 "# variable\n" 1 "^((\\.?[^.]+)+)\\.([^.]*)$" 1 "# when /^(\\$?(\\.?[^.]+)+)\\.([^.]*)$/\n" 1 "# child becomes the first Text child. In no case is the order of\n" 1 "^(\\$[^.]*)$" 1 "# Numeric(0xFFFF)\n" 1 "^(-?0x[0-9a-fA-F_]+)\\.([^.]*)$" 1 "# Numeric\n" 1 "^(-?(0[dbo])?[0-9_]+(\\.[0-9_]+)?([eE]-?[0-9]+)?)\\.([^.]*)$" 1 "^(:[^:.]+)\\.([^.]*)$" 1 ".methods.collect{|m| m.to_s}" 1 ".constants.collect{|m| m.to_s}" 1 "# Constant or class methods\n" 1 "^(((::)?[A-Z][^:.\\(]*)+)::?([^:.]*)$" 1 "# Absolute Constant or class methods\n" 1 "^::([A-Z][^:\\.\\(]*)$" 1 "# any siblings disturbed.\n" 1 "# If a String, a new Text child is created and added to\n" 1 "^(:[^:.]*)$" 1 "# Proc or Hash\n" 1 "^([^\\}]*\\})\\.([^.]*)$" 1 "# Array\n" 1 "^([^\\]]*\\])\\.([^.]*)$" 1 "# this Element as the first Text child. If Text, the text is set\n" 1 "# as the first Child element. If nil, then any existing first Text\n" 1 "# Regexp\n" 1 "^(\\/[^\\/]*\\/)\\.([^.]*)$" 1 "# puts \"input: \#{input}\"\n" 1 "# child is removed.\n" 1 "defined" 1 "# Returns:: this Element.\n" 1 "# doc = Document.new ''\n" 1 "-$Id: completion.rb 23233 2009-04-19 13:35:47Z yugui $-" 1 "# doc.root.text = 'Sean' #-> 'Sean'\n" 1 "# From Original Idea of shugo@ruby-lang.org\n" 1 "# doc.root.text = 'Elliott' #-> 'Elliott'\n" 1 "# doc.root.add_element 'c' #-> 'Elliott'\n" 1 "# irb/completor.rb - \n" 1 "# doc.root.text = 'Russell' #-> 'Russell'\n" 1 "nonblock=" 1 "# doc.root.text = nil #-> ''\n" 1 "text=" 1 "# compatibility for ruby-1.8.4 and older.\n" 1 "# A helper method to add a Text child. Actual Text instances can\n" 1 "(?=\\s|\\z)" 1 "\\A[^:]+(?=(?::(.*?)=(.*))?\\z)" 1 "\\$\\$|\\$\\(([^()]+)\\)|\\$\\{([^{}]+)\\}" 1 "$(vendorlibdir)/$(sitearch)" 1 "$(vendordir)/$(ruby_version)" 1 "$(sitelibdir)/$(sitearch)" 1 "$(sitedir)/$(ruby_version)" 1 "$(rubylibdir)/$(arch)" 1 "$(libdir)/$(ruby_install_name)/$(ruby_version)" 1 "/bin/sh" 1 "SHELL" 1 "PACKAGE_NAME" 1 "PACKAGE_TARNAME" 1 "PACKAGE_VERSION" 1 "PACKAGE_STRING" 1 "PACKAGE_BUGREPORT" 1 "$(prefix)" 1 "exec_prefix" 1 "$(exec_prefix)/bin" 1 "$(exec_prefix)/sbin" 1 "sbindir" 1 "$(exec_prefix)/libexec" 1 "libexecdir" 1 "$(prefix)/share" 1 "datarootdir" 1 "$(datarootdir)" 1 "$(prefix)/etc" 1 "sysconfdir" 1 "$(prefix)/com" 1 "sharedstatedir" 1 "$(prefix)/var" 1 "localstatedir" 1 "$(prefix)/include" 1 "includedir" 1 "/usr/include" 1 "oldincludedir" 1 "$(datarootdir)/doc/$(PACKAGE)" 1 "docdir" 1 "$(datarootdir)/info" 1 "infodir" 1 "htmldir" 1 "dvidir" 1 "pdfdir" 1 "# be added with regular Parent methods, such as add() and <<()\n" 1 "psdir" 1 "$(exec_prefix)/lib" 1 "$(datarootdir)/locale" 1 "localedir" 1 "$(DESTDIR)/opt/local/share/man" 1 "mandir" 1 "\\\\\\\\c" 1 "ECHO_C" 1 "ECHO_N" 1 "ECHO_T" 1 "-lpthread -ldl -lobjc " 1 "build_alias" 1 "host_alias" 1 "target_alias" 1 "MAJOR" 1 "MINOR" 1 "TEENY" 1 "# text::\n" 1 "build_cpu" 1 "build_vendor" 1 "host_cpu" 1 "host_vendor" 1 "host_os" 1 "# if a String, a new Text instance is created and added\n" 1 "# to the parent. If Text, the object is added directly.\n" 1 "target_cpu" 1 "# Returns:: this Element\n" 1 "target_vendor" 1 "# e = Element.new('a') #-> \n" 1 "/usr/bin/gcc-4.0" 1 "-O2 $(cflags) -fno-common -pipe -fno-common" 1 "-L. -L/opt/local/lib -L/usr/local/lib" 1 "-I/opt/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE $(DEFS) $(cppflags)" 1 "/usr/bin/g++-4.0" 1 "-O2 $(cxxflags)" 1 "/usr/bin/cpp-4.0" 1 "CPP" 1 "/usr/bin/grep" 1 "GREP" 1 "/usr/bin/grep -E" 1 "EGREP" 1 "GNU_LD" 1 "-o conftest.i" 1 "# e.add_text 'foo' #-> foo\n" 1 "ar" 1 "# e.add_text Text.new(' bar') #-> foo bar\n" 1 "AS" 1 "ASFLAGS" 1 "OBJDUMP" 1 "OBJCOPY" 1 "NM" 1 "WINDRES" 1 "DLLWRAP" 1 "LN_S" 1 "SET_MAKE" 1 "INSTALL_PROGRAM" 1 "# Note that at the end of this example, the branch has 3 nodes; the 'e'\n" 1 "INSTALL_SCRIPT" 1 "$(INSTALL) -m 644" 1 "rm -f" 1 "mkdir -p" 1 "$(top_srcdir)/tool/rmdirs" 1 "rm -fr" 1 "RMALL" 1 "ALLOCA" 1 "STATIC" 1 " -fno-common" 1 "cc -dynamic -bundle -undefined suppress -flat_namespace" 1 "bundle" 1 "DLEXT2" 1 " -L%s" 1 "DYLD_LIBRARY_PATH" 1 "LIBPATHENV" 1 "strip -A -n" 1 "STRIP" 1 "EXTSTATIC" 1 "Setup" 1 "miniruby$(EXEEXT)" 1 "PREP" 1 ".ext" 1 "EXTOUT" 1 "ARCHFILE" 1 "install-doc" 1 "RDOCTARGET" 1 "-I/opt/local/include" 1 "$(optflags) $(debugflags) $(warnflags)" 1 "-O2" 1 "-Wall -Wno-parentheses" 1 "cc -dynamiclib -undefined suppress -flat_namespace" 1 "LIBRUBY_LDSHARED" 1 "-install_name $(libdir)/lib$(RUBY_SO_NAME).dylib -current_version $(MAJOR).$(MINOR).$(TEENY) -compatibility_version $(ruby_version)" 1 "LIBRUBY_DLDFLAGS" 1 "rubyw_install_name" 1 "RUBYW_INSTALL_NAME" 1 "lib$(RUBY_SO_NAME)-static.a" 1 "lib$(RUBY_SO_NAME).$(MAJOR).$(MINOR).$(TEENY).dylib" 1 "LIBRUBY_SO" 1 "lib$(RUBY_SO_NAME).$(MAJOR).$(MINOR).dylib lib$(RUBY_SO_NAME).dylib" 1 "LIBRUBY_ALIASES" 1 "$(LIBRUBY_SO)" 1 "$(LIBRUBYARG_SHARED)" 1 "-l$(RUBY_SO_NAME)-static" 1 "-l$(RUBY_SO_NAME)" 1 "SOLIBS" 1 "MAINLIBS" 1 "pthread" 1 "THREAD_MODEL" 1 "MAKEFILES" 1 "# element and 2 Text node children.\n" 1 "$(libdir)/$(RUBY_INSTALL_NAME)/site_ruby" 1 "$(libdir)/$(RUBY_INSTALL_NAME)/vendor_ruby" 1 " '--prefix=/opt/local' '--enable-shared' '--mandir=/opt/local/share/man' '--enable-pthread' '--without-tk' '--program-suffix=1.9' 'CC=/usr/bin/gcc-4.0' 'CFLAGS=-O2' 'LDFLAGS=-L/opt/local/lib' 'CPPFLAGS=-I/opt/local/include' 'CXX=/usr/bin/g++-4.0' 'CXXFLAGS=-O2' 'CPP=/usr/bin/cpp-4.0'" 1 "$(includedir)/$(RUBY_INSTALL_NAME)-$(ruby_version)" 1 "$(rubyhdrdir)/site_ruby" 1 "$(rubyhdrdir)/vendor_ruby" 1 "/usr/bin/nroff" 1 "NROFF" 1 "MANTYPE" 1 " newline.c" 1 "BUILTIN_TRANSSRCS" 1 "# Attributes #\n" 1 "/opt/local" 1 "/usr/bin/install -c" 1 "# now check that prefix'es namespace is not the same as the\n" 1 "/lib/ruby/1.9.1/i386-darwin9" 1 "# default namespace\n" 1 "ruby lib version (1.9.1) doesn't match executable version (" 1 "# Evaluates to +true+ if this element has any attributes set, false\n" 1 "# changes made to this file will be lost the next time ruby is built.\n" 1 "# This file was created by mkconfig.rb when ruby was built. Any\n" 1 "has_attributes?" 1 "#sleep(1)\n" 1 "%s/druby%d.%d" 1 "# Adds an attribute to this element, overwriting any existing attribute\n" 1 "# import from tempfile.rb\n" 1 "# by the same name.\n" 1 "# can be either an Attribute or a String. If an Attribute,\n" 1 "UNIXFileMode" 1 "UNIXFileGroup" 1 "UNIXFileOwner" 1 "# the attribute is added to the list of Element attributes. If String,\n" 1 "# the argument is used as the name of the new attribute, and the value\n" 1 "UNIXSocket" 1 "^drbunix:" 1 "^drbunix:(.*?)(\\?(.*))?$" 1 "# parameter must be supplied.\n" 1 "# Required if +key+ is a String, and ignored if the first argument is\n" 1 "UNIXServer is required" 1 "# DRb.install_id_conv(TimerIdConv.new)\n" 1 "invalid reference" 1 "# an Attribute. This is a String, and is used as the value\n" 1 "# GCed\n" 1 "# of the new Attribute. This should be the unnormalized value of the\n" 1 "# KeepIt\n" 1 "# attribute (without entities).\n" 1 "# Returns:: the Attribute added\n" 1 "# e = Element.new 'e'\n" 1 "# e.add_attribute( 'a', 'b' ) #-> \n" 1 "# e.add_attribute( 'x:a', 'c' ) #-> \n" 1 "# e.add_attribute Attribute.new('b', 'd') #-> \n" 1 "# Add multiple attributes to this element.\n" 1 "# hash:: is either a hash, or array of arrays\n" 1 "# el.add_attributes( {\"name1\"=>\"value1\", \"name2\"=>\"value2\"} )\n" 1 "# el.add_attributes( [ [\"name1\",\"value1\"], [\"name2\"=>\"value2\"] ] )\n" 1 "add_attributes" 1 "# either an Attribute or a String. In either case, the\n" 1 "TimerIdConv" 1 ": warning: " 1 "# attribute is found by matching the attribute name to the argument,\n" 1 "# and then removed. If no attribute is found, no action is taken.\n" 1 "# the attribute removed, or nil if this Element did not contain\n" 1 "# a matching attribute\n" 1 "drbssl://:0" 1 "# e = Element.new('E')\n" 1 "^drbssl:" 1 "^drbssl:\\/\\/(.*?):(\\d+)(\\?(.*))?$" 1 "# e.add_attribute( 'name', 'Sean' ) #-> \n" 1 "# r = e.add_attribute( 'sur:name', 'Russell' ) #-> \n" 1 "# e.delete_attribute( 'name' ) #-> \n" 1 "# e.delete_attribute( r ) #-> \n" 1 "delete_attribute" 1 "# Other Utilities #\n" 1 "# Get an array of all CData children. \n" 1 "cdatas" 1 "# Get an array of all Comment children.\n" 1 "# Get an array of all Instruction children.\n" 1 "instructions" 1 "\t\t\t\t\t " 1 "# Get an array of all Text children.\n" 1 "texts" 1 "# Writes out this element, and recursively, all children.\n" 1 "# indented an additional amount. Defaults to -1\n" 1 "# the parse tree of the document\n" 1 "# out = ''\n" 1 "# doc.write( out ) #-> doc is written to the string 'out'\n" 1 "# doc.write( $stdout ) #-> doc written to the console\n" 1 "# A private helper method\n" 1 "# ELEMENTS #\n" 1 "# A class which provides filtering of children for Elements, and\n" 1 "# XPath search support. You are expected to only encounter this class as\n" 1 "# the element.elements object. Therefore, you are \n" 1 "# _not_ expected to instantiate this yourself.\n" 1 "# parent:: the parent Element\n" 1 "# Fetches a child element. Filters only Element children, regardless of\n" 1 "# the XPath match.\n" 1 " \t " 1 "# index:: \n" 1 "# the search parameter. This is either an Integer, which\n" 1 " \t " 1 "# will be used to find the index'th child Element, or an XPath,\n" 1 "\t " 1 "# searching good prime,\n" 1 "# which will be used to search for the Element. Because\n" 1 "# of the nature of XPath searches, any element in the connected XML\n" 1 "# document can be fetched through any other element. The\n" 1 "# Integer index is 1-based, not 0-based. This means that the first\n" 1 "# child element is at index 1, not 0, and the +n+th element is at index\n" 1 "# +n+, not n-1. This is because XPath indexes element children\n" 1 "# starting from 1, not 0, and the indexes should be the same.\n" 1 "# optional, and only used in the first argument is an\n" 1 "# Integer. In that case, the index'th child Element that has the\n" 1 "# supplied name will be returned. Note again that the indexes start at 1.\n" 1 "# Returns:: the first matching Element, or nil if no child matched\n" 1 "# doc = Document.new ''\n" 1 "# doc.root.elements[1] #-> \n" 1 "# doc.root.elements['c'] #-> \n" 1 "# e.g. [[\"CN\",\"fqdn.example.com\"]]\n" 1 "# doc.root.elements[2,'c'] #-> \n" 1 "index (" 1 ") must be >= 1" 1 "\#{ |element| \n" 1 "#\treturn element if element.kind_of? Element\n" 1 "#}\n" 1 "#return nil\n" 1 "# Sets an element, replacing any previous matching element. If no\n" 1 "# existing element is found ,the element is added.\n" 1 "# index:: Used to find a matching element to replace. See []().\n" 1 "# The element to replace the existing element with\n" 1 "# the previous element\n" 1 "# Returns:: nil if no previous element was found.\n" 1 "# doc = Document.new ''\n" 1 "# doc.root.elements[10] = Element.new('b') #-> \n" 1 "# doc.root.elements[1] #-> \n" 1 "DRbObservable" 1 "exit_value" 1 "# doc.root.elements[1] = Element.new('c') #-> \n" 1 "# doc.root.elements['c'] = Element.new('d') #-> \n" 1 "# Returns +true+ if there are no +Element+ children, +false+ otherwise\n" 1 "# Returns the index of the supplied child (starting at 1), or -1 if \n" 1 "# for ruby-1.8.0\n" 1 "a.ping(foo)\n" 1 "sleep 2\n" 1 "a = robj[:a]\n" 1 "puts \"c->b\"\n" 1 "robj = DRbObject.new_with_uri(\"drbunix:/tmp/gw_b_c\")\n" 1 "DRb.start_service(\"drbunix:/tmp/gw_c\", nil)\n" 1 "foo = Foo.new('c', nil)\n" 1 "# gw_c.rb\n" 1 "# the element is not a child\n" 1 "robj[:a] = obj\n" 1 "robj = DRbObject.new_with_uri('drbunix:/tmp/gw_b_a')\n" 1 "DRb.start_service(\"drbunix:/tmp/gw_a\", obj)\n" 1 "obj = Foo.new('a')\n" 1 "# element:: an +Element+ child\n" 1 "# Deletes a child Element\n" 1 "# gw_a.rb\n" 1 "end\n" 1 " @peer.ping(self) if @peer\n" 1 " puts \"\#{@name}: ping: \#{obj.inspect}\"\n" 1 " def ping(obj)\n" 1 " @peer = peer\n" 1 " @name = name\n" 1 " def initialize(name, peer=nil)\n" 1 " include DRbUndumped\n" 1 "class Foo\n" 1 "require 'drb/drb'\n" 1 "# foo.rb\n" 1 "s2.thread.join\n" 1 "s1.thread.join\n" 1 "s2 = DRb::DRbServer.new('drbunix:/tmp/gw_b_c', front)\n" 1 "s1 = DRb::DRbServer.new('drbunix:/tmp/gw_b_a', front)\n" 1 "front = DRb::GW.new\n" 1 "DRb.install_id_conv(DRb::GWIdConv.new)\n" 1 "# ??\n" 1 "GW" 1 "GWIdConv" 1 "invalid command. name: " 1 "# Either an Element, which is removed directly; an\n" 1 "# xpath, where the first matching child is removed; or an Integer,\n" 1 "# where the n'th Element is removed.\n" 1 "# Returns:: the removed child\n" 1 "command=" 1 "# doc = Document.new ''\n" 1 "ExtServManager" 1 " \tCopyright (c) 2000 Masatoshi SEKI \n" 1 " external service manager\n" 1 "# b = doc.root.elements[1]\n" 1 "# doc.root.elements.delete b #-> \n" 1 "itest2" 1 "itest1" 1 "# doc.elements.delete(\"a/c[@id='1']\") #-> \n" 1 "# doc.root.elements.delete 1 #-> \n" 1 "# Removes multiple elements. Filters for Element children, regardless of\n" 1 "# XPath matching.\n" 1 "# xpath:: all elements matching this String path are removed.\n" 1 "# Returns:: an Array of Elements that have been removed\n" 1 "# doc = Document.new ''\n" 1 " \tCopyright (c) 2000,2002 Masatoshi SEKI \n" 1 " external service\n" 1 "# deleted = doc.elements.delete_all 'a/c' #-> [, , , ]\n" 1 "# Adds an element\n" 1 "# See DRb::DRbServer.default_acl.\n" 1 "# Set the default acl.\n" 1 "# if supplied, is either an Element, String, or\n" 1 "# See DRbServer#default_id_conv.\n" 1 "# Set the default id conv object.\n" 1 "# This returns nil if there is no primary server. See #primary_server.\n" 1 "# Get the thread of the primary server.\n" 1 "# Get a reference id for an object using the current server.\n" 1 "# Convert a reference into an object using the current server.\n" 1 "# Source (see Element.initialize). If not supplied or nil, a\n" 1 "# Get the front object of the current server.\n" 1 "# See #current_server and DRbServer::make_config.\n" 1 "# If there is no current server, this returns the default configuration.\n" 1 "# Get the configuration of the current server.\n" 1 "# Is +uri+ the URI for the current local server?\n" 1 "# This is the URI of the current server. See #current_server.\n" 1 "# Get the URI defining the local dRuby space.\n" 1 "# server currently running, it is a noop.\n" 1 "# This operates on the primary server. If there is no primary\n" 1 "# Stop the local dRuby server.\n" 1 "# new, default Element will be constructed\n" 1 "# error is raised.\n" 1 "# If the above rule fails to find a server, a DRbServerNotFound\n" 1 "# the primary server.\n" 1 "# server is that server. Otherwise, the current server is\n" 1 "# call on the server or one of its objects), the current\n" 1 "# thread of a dRuby server (typically, as a result of a remote\n" 1 "# In the context of execution taking place within the main\n" 1 "# Get the 'current' server.\n" 1 "primary_server=" 1 "# Returns:: the added Element\n" 1 "# This is the server created by the #start_service call. \n" 1 "# The primary local dRuby server.\n" 1 "# a = Element.new('a')\n" 1 "# See DRbServer::new.\n" 1 "# be nil.\n" 1 "# +config+ is the configuration for the new server. This may\n" 1 "# +front+ is the server's front object. This may be nil.\n" 1 "# name and use the default dRuby protocol.\n" 1 "# the server will bind to random port on the default local host\n" 1 "# +uri+ is the URI for the server to bind to. If nil,\n" 1 "# if another server is currently the primary server.\n" 1 "# The new dRuby server will become the primary server, even\n" 1 "# Start a dRuby server locally.\n" 1 "# a.elements.add(Element.new('b')) #-> \n" 1 "# a.elements.add('c') #-> \n" 1 "\t " 1 "# or a local method call fails.\n" 1 "# returning responses, until the client closes the connection\n" 1 "# from the client, invoking them on a local object, and\n" 1 "# thread to handle it. This thread loops, receiving requests\n" 1 "# Accepts a connection from a client, and starts up its own\n" 1 "# The main loop performed by a DRbServer's internal thread.\n" 1 "InvokeMethod16Mixin" 1 "drb/invokemethod16" 1 "# Iterates through all of the child Elements, optionally filtering\n" 1 "drb/invokemethod" 1 "1.8" 1 "# them by a given XPath\n" 1 "# xpath:: \n" 1 "# optional. If supplied, this is a String XPath, and is used to \n" 1 "# filter the children, so that only matching children are yielded. Note\n" 1 "# that XPaths are automatically filtered for Elements, so that\n" 1 "# non-Element children will not be yielded\n" 1 "# doc = Document.new 'sean'\n" 1 "# doc.root.each {|e|p e} #-> Yields b, c, d, b, c, d elements\n" 1 "# doc.root.each('b') {|e|p e} #-> Yields b, b elements\n" 1 "# doc.root.each('child::node()') {|e|p e}\n" 1 "# #-> Yields , , , , , \n" 1 "# XPath.each(doc.root, 'child::node()', &block)\n" 1 "# #-> Yields , , , sean, , , \n" 1 "protected method `" 1 "protected_methods" 1 "# Returns the number of +Element+ children of the parent object.\n" 1 "private method `" 1 "private_methods" 1 "insecure method `" 1 " is not a symbol" 1 "# doc = Document.new 'seanelliottrussell'\n" 1 "# a NameError is thrown.\n" 1 "# SecurityError is thrown. If the method is private or undefined,\n" 1 "# If the method is an insecure method (see #insecure_method?) a \n" 1 "# method name, as a Symbol.\n" 1 "# +obj+ is the object we want to invoke the method on. +msg_id+ is the\n" 1 "# Check that a method is callable via dRuby.\n" 1 "#<%s:0x%lx>" 1 "# doc.root.size #-> 6, 3 element and 3 text nodes\n" 1 "# to_s is not defined for the object.\n" 1 "# Coerce an object to a string, providing our own representation if\n" 1 "# doc.root.elements.size #-> 3\n" 1 "# Has a method been included in the list of insecure methods?\n" 1 "# Returns an Array of Element children. An XPath may be supplied to\n" 1 "# These methods are not callable via dRuby.\n" 1 "# List of insecure methods.\n" 1 "# filter the children. Only Element children are returned, even if the\n" 1 "# supplied XPath matches non-Element children.\n" 1 "# doc = Document.new 'seanelliott'\n" 1 "# Convert a local object to a dRuby reference.\n" 1 "# Convert a dRuby reference to the local object it refers to.\n" 1 "# doc.root.elements.to_a #-> [ , ]\n" 1 "# doc.root.elements.to_a(\"child::node()\") #-> [ , ] \n" 1 "# Stop this server.\n" 1 "# Is this server alive?\n" 1 "# Get whether the server is in verbose mode.\n" 1 "# XPath.match(doc.root, \"child::node()\") #-> [ sean, , elliott, ]\n" 1 "# Set whether to operate in verbose mode.\n" 1 "# The configuration of this DRbServer\n" 1 "# URI alone, with an object id.\n" 1 "# This object receives remote method calls made on the server's\n" 1 "# The front object of the DRbServer.\n" 1 "# session.\n" 1 "# from clients, not that handles each client's request-response\n" 1 "# This is the thread that listens for and accepts connections\n" 1 "# The main thread of this DRbServer.\n" 1 "# The URI of this DRbServer.\n" 1 "# Private helper class. Removes quotes from quoted strings\n" 1 "?'" 1 "# ATTRIBUTES #\n" 1 "# A class that defines the set of Attributes of an Element and provides \n" 1 "# operations for accessing elements in that set.\n" 1 "@front" 1 "# element:: the Element of which this is an Attribute\n" 1 "# Fetches an attribute value. If you want to get the Attribute itself,\n" 1 "# The server will immediately start running in its own thread.\n" 1 "# this will become the primary server.\n" 1 "# If no other server is currently set as the primary server,\n" 1 "# See the :tcp_acl option for more details.\n" 1 "# assumed to be the access control list for this server.\n" 1 "# If +config_or_acl+ is not a hash, but is not nil, it is\n" 1 "# and #verbose=\n" 1 "# #default_load_limit, #default_acl, #default_id_conv,\n" 1 "# a class-wide basis by the class methods #default_argc_limit,\n" 1 "# The default values of these options can be modified on\n" 1 "# 256.\n" 1 "# method accepted by the server. Defaults to\n" 1 "# :argc_limit :: the maximum number of arguments to a remote\n" 1 "# the server. Defaults to 25 MB (26214400).\n" 1 "# :load_limit :: the maximum message size in bytes accepted by\n" 1 "# the ACL class from the main dRuby distribution.\n" 1 "# :tcp_acl :: the access control list for this server. See\n" 1 "# by default.\n" 1 "# in the server will be logged to $stdout. false\n" 1 "# :verbose :: if true, all unsuccessful remote calls on objects\n" 1 "# to an instance of the class DRb::DRbIdConv.\n" 1 "# :idconv :: an id-to-object conversion object. This defaults\n" 1 "# use for this server. The following options are recognised:\n" 1 "# If +config_or_acl+ is a hash, it is the configuration to\n" 1 "# nil, then the server will not accept remote method calls.\n" 1 "# to which remote method calls on the server will be passed. If\n" 1 "# +front+ is the front object for the server, that is, the object\n" 1 "# as 'drbunix:', can be specified instead.\n" 1 "# the default dRuby transport protocol: another protocol, such\n" 1 "# can be retrieved from the +uri+ attribute. 'druby:' specifies\n" 1 "# will be bound to, on a port selected by the system; these value\n" 1 "# the local machine. If nil, then the system's default hostname\n" 1 "# 'druby://:' where is a hostname of\n" 1 "# +uri+ is the URI to bind to. This is normally of the form\n" 1 "# Create a new DRbServer instance.\n" 1 "# use get_attribute()\n" 1 "# name:: an XPath attribute name. Namespaces are relevant here.\n" 1 "# Get the default value of the :verbose option.\n" 1 "# the String value of the matching attribute, or +nil+ if no\n" 1 "# See #new(). The initial default value is false.\n" 1 "# Set the default value of the :verbose option.\n" 1 "default_safe_level" 1 "# matching attribute was found. This is the unnormalized value\n" 1 "# (with entities expanded).\n" 1 "# See #new(). The initial default value is a DRbIdConv instance.\n" 1 "# Set the default value for the :id_conv option.\n" 1 "# doc = Document.new \"\"\n" 1 "# See #new(). The initial default value is nil.\n" 1 "# Set the default value for the :acl option.\n" 1 "default_load_limit" 1 "# See #new(). The initial default value is 25 MB.\n" 1 "# Set the default value for the :load_limit option.\n" 1 "default_argc_limit" 1 "# See #new(). The initial default value is 256.\n" 1 "# Set the default value for the :argc_limit option.\n" 1 "# doc.root.attributes['att'] #-> '<'\n" 1 "# doc.root.attributes['bar:att'] #-> '2'\n" 1 "102400" 1 "# Returns the number of attributes the owning Element contains.\n" 1 "# doc = Document \"\"\n" 1 "@@secondary_server" 1 "# doc.root.attributes.length #-> 3\n" 1 "# Iterates over the attributes of an Element. Yields actual Attribute\n" 1 "# nodes, not String values.\n" 1 "# started by calling DRb.start_service.\n" 1 "# Unless multiple servers are being used, the local DRbServer is normally\n" 1 "# passing marshalled parameters.\n" 1 "# in the local process if you are only making outgoing dRuby calls\n" 1 "# never actually called remotely. You do not need to start a DRbServer\n" 1 "# dRuby references to remote processes, even if those local objects are\n" 1 "# dRuby calls can be accepted, or any local objects can be passed as\n" 1 "# A DRbServer must be running in the local process before any incoming\n" 1 "# Class representing a drb server instance.\n" 1 "# doc.root.attributes.each_attribute {|attr|\n" 1 "#FIXME\n" 1 "# p attr.expanded_name+\" => \"+attr.value\n" 1 "# :yields: attribute\n" 1 "# Iterates over each attribute of an Element, yielding the expanded name\n" 1 "# not normally need to deal with it directly.\n" 1 "# This class is used internally by DRbObject. The user does\n" 1 "# method call.\n" 1 "# overhead of starting and closing down connections for each\n" 1 "# This class maintains a pool of connections, to reduce the\n" 1 "# server the real object lives on.\n" 1 "# Class handling the connection between a DRbObject and the\n" 1 "^\\(druby:\\/\\/" 1 "`__send__'$" 1 "# and value as a pair of Strings.\n" 1 "# doc.root.attributes.each {|name, value| p name+\" => \"+value }\n" 1 "# Fetches an attribute\n" 1 "# the name by which to search for the attribute. Can be a\n" 1 "# prefix:name namespace name.\n" 1 "# Returns:: The first matching attribute, or nil if there was none. This\n" 1 "# value is an Attribute node, not the String value of the attribute.\n" 1 "# doc = Document.new ''\n" 1 "# doc.root.attributes.get_attribute(\"foo\").value #-> \"2\"\n" 1 "# Routes method calls to the referenced object.\n" 1 "# doc.root.attributes.get_attribute(\"x:foo\").value #-> \"1\"\n" 1 "# Get the reference of the object, if local.\n" 1 "# Look for prefix\n" 1 "# Get the URI of the remote object.\n" 1 "# will be a stub for.\n" 1 "# this is +nil+. +uri+ is the URI of the remote object that this\n" 1 "# +obj+ is the (local) object we want to create a stub for. Normally\n" 1 "# Create a new remote object stub.\n" 1 "# The URI and ref of the object are marshalled.\n" 1 "# Marshall this object.\n" 1 "new_with_uri" 1 "# Create a new DRbObject from a URI alone.\n" 1 "# check prefix\n" 1 "# Sets an attribute, overwriting any existing attribute value by the\n" 1 "# same name. Namespace is significant.\n" 1 "# name:: the name of the attribute\n" 1 "# created to act as a stub for the remote referenced object.\n" 1 "# the object itself is returned. Otherwise, a new DRbObject is\n" 1 "# If the referenced object is located within the local server, then\n" 1 "# Unmarshall a marshalled DRbObject.\n" 1 "# object that this object is a stub for.\n" 1 "# Method calls on this object are relayed to the remote\n" 1 "# Object wrapping a reference to a remote drb object.\n" 1 "# (optional) If supplied, the value of the attribute. If\n" 1 "# :nodoc: I don't understand the purpose of this class...\n" 1 "# nil, any existing matching attribute is deleted.\n" 1 "# default\n" 1 "TCP_NODELAY" 1 "IPPROTO_TCP" 1 "# Owning element\n" 1 "# Check to see if this connection is alive.\n" 1 "# the server's side of this client-server session.\n" 1 "# accept a client connection and return a new instance to handle\n" 1 "# On the server side, for an instance returned by #open_server, \n" 1 "# client-server session.\n" 1 "# returned by #open or by #accept, then it closes this particular\n" 1 "# listening for new connections altogether. If this is an instance\n" 1 "# If this is an instance returned by #open_server, then this stops\n" 1 "# Close the connection.\n" 1 "# On the client side, receive a reply from the server.\n" 1 "# On the server side, send a reply to the client.\n" 1 "# On the server side, receive a request from the client.\n" 1 "# On the client side, send a request to the server.\n" 1 "# Get the socket.\n" 1 "# we are bound to.\n" 1 "# Get the address of our TCP peer (the other end of the socket\n" 1 "# Get the URI that we are connected to.\n" 1 "# doc = Document.new \"\"\n" 1 "# doc.root.attributes['y:foo'] = '2'\n" 1 "# doc.root.attributes['foo'] = '4'\n" 1 "# doc.root.attributes['x:foo'] = nil\n" 1 "# configuration.\n" 1 "# +soc+ is the tcp socket we are bound to. +config+ is our\n" 1 "# +uri+ is the URI we are connected to.\n" 1 "# Create a new DRbTCPSocket instance.\n" 1 "# Delete the named attribute\n" 1 "# Check for conflicting namespaces\n" 1 "Namespace conflict in adding attribute \\\"" 1 "druby://:0" 1 "# Open a server listening for connections at +uri+ using \n" 1 "\\\": " 1 "Prefix \\\"" 1 "\\\" = " 1 "\\\" and prefix " 1 "\\\" = \\\"" 1 "# Returns an array of Strings containing all of the prefixes declared \n" 1 "# by this set of # attributes. The array does not include the default\n" 1 "# namespace declaration, if one exists.\n" 1 "# doc = Document.new(\"\")\n" 1 "# Open a client connection to +uri+ using configuration +config+.\n" 1 "^druby:" 1 "^druby:\\/\\/(.*?):(\\d+)(\\?(.*))?$" 1 "# prefixes = doc.root.attributes.prefixes #-> ['x', 'y']\n" 1 "# attribute:: \n" 1 "# Communicates over a TCP socket.\n" 1 "# The default drb protocol.\n" 1 "drb/" 1 "^drb([a-z0-9]+):" 1 "# opt = nil if opt == ''\n" 1 "# either a String, which is the name of the attribute to remove --\n" 1 "# URI, then a DRbBadURI error is raised. \n" 1 "# try to parse the URI. Each protocol signals that it does not handle that\n" 1 "# namespaces are significant here -- or the attribute to remove.\n" 1 "# Returns:: the owning element\n" 1 "# error is passed on to the caller.\n" 1 "# accepts the URI, but an error occurs in opening it, the underlying \n" 1 "# recognises the URI, then a DRbBadURI error is raised. If a protocol \n" 1 "# not handle that URI by raising a DRbBadScheme error. If no protocol \n" 1 "# try to open a server at the URI. Each protocol signals that it does \n" 1 "# doc = Document.new \"\"\n" 1 "# Open a server listening for connections at +uri+ with \n" 1 "# doc.root.attributes.delete 'foo' #-> \"\n" 1 "# doc.root.attributes.delete 'x:foo' #-> \"\n" 1 "# attr = doc.root.attributes.get_attribute('y:foo')\n" 1 "# URI, but an error occurs in opening it, a DRbConnError is raised.\n" 1 "# URI, then a DRbBadURI error is raised. If a protocol accepts the\n" 1 "# doc.root.attributes.delete attr #-> \"\n" 1 "# try to open the URI. Each protocol signals that it does not handle that\n" 1 "# the supplied attribute is one of many\n" 1 "# Open a client connection to +uri+ with the configuration +config+.\n" 1 "# the supplied attribute is a top-level one\n" 1 "# Adds an attribute, overriding any existing attribute by the\n" 1 "# Add a new protocol to the DRbProtocol module.\n" 1 "# same name. Namespaces are significant.\n" 1 "# drb distribution.\n" 1 "# and HTTP0 in sample/http0.rb and sample/http0serv.rb in the full\n" 1 "# For examples of other protocols, see DRbUNIXSocket in drb/unix.rb,\n" 1 "# the add_protocol method.\n" 1 "# A new protocol is registered with the DRbProtocol module using\n" 1 "# Close this connection.\n" 1 "# on top of the current protocol.\n" 1 "# by calling DRbMessage.send_reply, providing a stream that sits\n" 1 "# Send a reply to the client. This is most easily implemented\n" 1 "# [send_reply(succ, result)]\n" 1 "# the current protocol.\n" 1 "# DRbMessage.recv_request, providing a stream that sits on top of\n" 1 "# args, block] tuple. This is most easily implemented by calling\n" 1 "# Receive a request from the client and return a [object, message,\n" 1 "# [recv_request]\n" 1 "# The protocol instance returned by #open_server().accept() must have\n" 1 "# Close this connection.\n" 1 "# attribute:: An Attribute\n" 1 "# Is this connection still alive?\n" 1 "# [alive?]\n" 1 "# current protocol.\n" 1 "# DRb.recv_reply, providing a stream that sits on top of the \n" 1 "# reply-value] pair. This is most easily implemented by calling\n" 1 "# Receive a reply from the server and return it as a [success-boolean,\n" 1 "# [recv_reply]\n" 1 "# providing a stream that sits on top of the current protocol.\n" 1 "# This is most easily implemented by calling DRbMessage.send_request,\n" 1 "# Send a request to +ref+ with the given message id and arguments.\n" 1 "# [send_request (ref, msg_id, arg, b)] \n" 1 "# The protocol instance returned by #open must have the following methods:\n" 1 "# [uri] Get the URI for this server.\n" 1 "# [close] Close the server connection.\n" 1 "# instance capable of communicating with the client.\n" 1 "# [accept] Accept a new connection to the server. Returns a protocol\n" 1 "# following methods:\n" 1 "# The protocol instance returned by #open_server must have the\n" 1 "# given a URI, determines which protocol implementation serves that\n" 1 "# the standard Ruby protocol). This is how the DRbProtocol module,\n" 1 "# does not identify the protocol they support (e.g. \"druby:\" for\n" 1 "# All of these methods should raise a DRbBadScheme error if the URI \n" 1 "# and return a [uri, option] tuple.\n" 1 "# component (e.g. a trailing '?param=val'), \n" 1 "# [uri_option(uri, config)] Take a URI, possibly containing an option\n" 1 "# protocol instance for this listener.\n" 1 "# using configuration +config+. Return a\n" 1 "# [open_server(uri, config)] Open a server listening at +uri+,\n" 1 "# instance for this connection.\n" 1 "# using configuration +config+. Return a protocol\n" 1 "# [open(uri, config)] Open a client connection to the server at +uri+,\n" 1 "# can be defined. A protocol must define the following class methods:\n" 1 "# By default, drb uses the DRbTCPSocket protocol. Other protocols\n" 1 "# Module managing the underlying network protocol(s) used by drb.\n" 1 "# Deletes all attributes matching a name. Namespaces are significant.\n" 1 "too many arguments" 1 "# A String; all attributes that match this path will be removed\n" 1 "# Returns:: an Array of the Attributes that were removed\n" 1 "# The +get_attribute_ns+ method retrieves a method by its namespace\n" 1 "# and name. Thus it is possible to reliably identify an attribute\n" 1 "# even if an XML processor has changed the prefix.\n" 1 "get_attribute_ns" 1 "# foo will match xmlns:foo, but only if foo isn't also an attribute\n" 1 "premature marshal format(can\\'t read)" 1 "too large packet " 1 "premature header" 1 "# -*- mode: ruby; ruby-indent-level: 2; indent-tabs-mode: t; tab-width: 2 -*- vim: sw=2 ts=2\n" 1 "# sizeof (N)\n" 1 "encoding_method" 1 "# Native, default format is UTF-8, so it is declared here rather than in\n" 1 "# an encodings/ definition.\n" 1 "UTF-16" 1 "# ID ---> Encoding name\n" 1 "Bad encoding name " 1 "^[\\w-]+$" 1 "# normal use.\n" 1 "# The user does not have to directly deal with this object in\n" 1 "# protocol layer with having to deal with these details.\n" 1 "# and client. This relieves the implementor of a new drb\n" 1 "# of drb requests and responses sent over the wire between server\n" 1 "# This takes care of the low-level marshalling and unmarshalling\n" 1 "# Handler for sending and receiving drb messages.\n" 1 "rexml/encodings/ICONV.rb" 1 "ICONV" 1 "rexml" 1 "# Create a DRbUnknownError exception containing this object.\n" 1 "reload" 1 "# but identical DRbUnknown object will be returned.\n" 1 "# will be unmarshalled and returned. Otherwise, a new \n" 1 "# If the class of the object is now known locally, the object\n" 1 "# Attempt to load the wrapped marshalled object again.\n" 1 "# Buffer contained the marshalled, unknown object.\n" 1 "# constants.\n" 1 "# Class name for unknown objects; variable name for unknown\n" 1 "# The name of the unknown thing.\n" 1 "encodings" 1 "undefined class\\/module (\\S+)" 1 "uninitialized constant (\\S+)" 1 "# name of the unmarshalled object.\n" 1 "# when the unmarshalling failed. It is used to determine the\n" 1 "# be unmarshalled. +err+ is the error message that was raised \n" 1 "# +buf+ is a string containing a marshalled object that could not\n" 1 "# Create a new DRbUnknown object.\n" 1 "No decoder found for encoding " 1 "# attribute.\n" 1 "# +name+ attribute. The marshalled object is held in the +buf+\n" 1 "# The class or constant name of the object can be read from the\n" 1 "# drb, then the wrapped object is passed instead.\n" 1 "# If this object is passed as an argument to a method invoked over\n" 1 "# the still-marshalled object is returned wrapped in a DRbUnknown instance.\n" 1 "# the object is a constant unknown in the client namespace, then\n" 1 "# class of the object is unknown in the client namespace, or\n" 1 "# If an object is returned by a method invoked over drb, but the\n" 1 "# Class wrapping a marshalled object whose type is unknown locally.\n" 1 "# the class of the error, as a string.\n" 1 ". Please install iconv." 1 "# An exception wrapping an error object\n" 1 "rexml/encodings/UTF-8.rb" 1 "# Get the wrapped DRb::DRbUnknown object.\n" 1 "# We have to recognize UTF-16, LSB UTF-16, and UTF-8\n" 1 "# Create a new DRbUnknownError for the DRb::DRbUnknown object +unknown+\n" 1 "^\\s*<\\?xml\\s+version\\s*=\\s*(['\"]).*?\\1\\s+encoding\\s*=\\s*([\"'])(.*?)\\2" 1 "# An exception wrapping a DRb::DRbUnknown object\n" 1 "# God, I hate DTDs. I really do. Why this idiot standard still\n" 1 "# scheme specified in a URI. See DRb::DRbProtocol.\n" 1 "# Error raised by a dRuby protocol when it doesn't support the\n" 1 "# plagues us is beyond me.\n" 1 "# protocol implementation support the scheme specified in a URI.\n" 1 "# Error raised by the DRbProtocol module when it cannot find any\n" 1 "\\x20\\x0D\\x0Aa-zA-Z0-9\\\\-()+,./:=?;!*@$_%#" 1 "((?:\"[^\"]*\")|(?:'[^']*'))" 1 "# the context's current drb server but the context does not have one.\n" 1 "# Error raised by the DRb module when an attempt is made to refer to\n" 1 "can\\'t dump" 1 "(\"[" 1 "']*\"|'[" 1 "# object being marshalled and moved into the client space.\n" 1 "# and a reference to the object is returned, rather than the\n" 1 "# called over drb, then the object remains in the server space\n" 1 "# If an object which includes this module is returned by method\n" 1 "# Mixin module making an object undumpable or unmarshallable.\n" 1 "]*')" 1 "# object space.\n" 1 "# This implementation returns the object's __id__ in the local\n" 1 "# Convert an object into a reference id.\n" 1 "(?:(?:(SYSTEM)\\\\s+" 1 ")|(?:(PUBLIC)\\\\s+" 1 "# space and returns the object it refers to.\n" 1 "# This implementation looks up the reference id in the local object\n" 1 "# Convert an object reference id to an object.\n" 1 "\\\\s+NDATA\\\\s+" 1 "# and DRbNameIdConv in sample/name.rb in the full drb distribution.\n" 1 "# For alternative mechanisms, see DRb::TimerIdConv in rdb/timeridconv.rb\n" 1 "# within the server runtime.\n" 1 "# drb remains valid only while that object instance remains alive \n" 1 "# __id__ as its id. This means that an object's identification over\n" 1 "# This, the default implementation, uses an object's local ObjectSpace\n" 1 "# Class responsible for converting between an object and its id.\n" 1 "((?:\"(?:[^%&\"]|" 1 "# Error raised when an error occurs on the underlying communication\n" 1 ")*\")|(?:'([^%&']|" 1 "# Superclass of all errors raised in the DRb module.\n" 1 ")*'))" 1 "# register an object using the same dRuby name.\n" 1 "# can be made persistent across processes by having each process\n" 1 "# allows objects to specify their own id or \"name\". A dRuby reference\n" 1 "# is provided in sample/name.rb in the main dRuby distribution. This\n" 1 "# garbage-collected within this time. Another sample implementation\n" 1 "# period of time (defaulting to ten minutes), to prevent them being\n" 1 "# reference to all objects exported over dRuby for a configurable\n" 1 "# in the file drb/timeridconv.rb. This implementation retains a local\n" 1 "# process. A modified implementation is provided by DRb::TimerIdConv\n" 1 "# the object's process and the lifetime of the object within that\n" 1 "# reference to that object only remains meaningful for the lifetime of\n" 1 "# object's ObjectSpace id as its dRuby id. This means that the dRuby\n" 1 "# default implementation is provided by DRb::DRbIdConv. It uses an\n" 1 "# can be specified as part of a DRb::DRbServer's configuration. The\n" 1 "# objects they refer to, and vice versa. The implementation to use\n" 1 "# The ID-to-object mapping component maps dRuby object ids to the\n" 1 "# distribution.\n" 1 "# HTTP can be found in the samples accompanying the main dRuby\n" 1 "# selected by the scheme 'drbunix:'. A sample implementation over\n" 1 "# is implemented by DRb::DRbUNIXSocket in the file drb/unix.rb, and\n" 1 "# communication. An alternative protocol, using UNIX domain sockets,\n" 1 "# DRb::DRbTCPSocket. This uses plain TCP/IP sockets for\n" 1 "# selected by the scheme 'druby:', and implemented by\n" 1 "# the scheme of a dRuby URI. The default transport protocol is\n" 1 "# DRbProtocol at the one time; selection between them is determined by\n" 1 "# DRb::DRbProtocol. Multiple protocols can be installed in\n" 1 "# and unmarshalling. The transport layer is managed by\n" 1 "# Normally, it uses DRb::DRbMessage internally to manage marshalling\n" 1 "# network connections and forwarding dRuby request across them.\n" 1 "# The transport layer is responsible for opening client and server\n" 1 "# scheme as part of an implementation of the transport layer.\n" 1 "# However, it is possible to implement an alternative marshalling\n" 1 "# replace this component, and no direct way is provided to do so.\n" 1 "# reconstitute it at the other end. There is normally no need to\n" 1 "# the method call before sending it over the transport layer, then\n" 1 "# a DRb::DRbMessage instance. This uses the Marshal module to dump\n" 1 "# Marshalling and unmarshalling of remote method calls is performed by\n" 1 ")?))" 1 "# indirectly, replaced, in order to provide different behaviour and\n" 1 "# ID-to-object mapper. The latter two can be directly, and the first\n" 1 "# call marshaller/unmarshaller; a transport protocol; and an\n" 1 "# dRuby is implemented using three main components: a remote method\n" 1 "# == dRuby internals\n" 1 "# as a replacement for, a good firewall.\n" 1 "# general, this mechanism should only be used alongside, rather than\n" 1 "# main druby distribution provides the ACL class for this purpose. In\n" 1 "# selectively allow or deny access from specified IP addresses. The\n" 1 "# A DRbServer can be configured with an access control list to\n" 1 "# this practice.\n" 1 "# passed across the wire. The sample usage code given above follows \n" 1 "# level 1. This will disable eval() and related calls on strings \n" 1 "# DRbServer should generally be run with $SAFE set to at least \n" 1 "# The dangers posed by instance_eval and friends are such that a\n" 1 "# ro.instance_eval(\"`rm -rf *`\")\n" 1 "# undef :instance_eval # force call to be passed to remote object\n" 1 "# class << ro\n" 1 "# ro = DRbObject::new_with_uri(\"druby://your.server.com:8989\")\n" 1 "# # !!! UNSAFE CODE !!!\n" 1 "# code on your server. Consider the following:\n" 1 "# defined for that object, but by default to execute arbitrary Ruby\n" 1 "# not only allowing outside clients to call the methods you have\n" 1 "# using dRuby. By allowing external access to a Ruby object, you are\n" 1 "# As with all network services, security needs to be considered when\n" 1 "# == Security\n" 1 "# logger.log(\"=== EOT ===\")\n" 1 "# logger.log(\"Goodbye, world!\")\n" 1 "# logger.log(\"Hello, world!\")\n" 1 "# logger=log_service.get_logger(logname)\n" 1 "# [\"loga\", \"logb\", \"logc\"].each do |logname|\n" 1 "# log_service=DRbObject.new_with_uri(SERVER_URI)\n" 1 "# FRONT_OBJECT=LoggerFactory.new(\"/tmp/dlog\")\n" 1 "# return @loggers[name]\n" 1 "# @loggers[name] = Logger.new(name, @basedir + \"/\" + fname)\n" 1 "# fname = name.gsub(/[.\\/]/, \"_\").untaint\n" 1 "# # make the filename safe, then declare it to be so\n" 1 "# if !@loggers.has_key? name\n" 1 "# def get_logger(name)\n" 1 "# @loggers = {}\n" 1 "# @basedir = bdir\n" 1 "# def initialize(bdir)\n" 1 "# class LoggerFactory\n" 1 "# # garbage collected!\n" 1 "# # reference to an object is not sufficient to prevent it being\n" 1 "# # to prevent loggers from being garbage collected. A dRuby\n" 1 "# # is so an existing logger can be looked up by name, but also\n" 1 "# # This retains a local reference to all loggers created. This\n" 1 "# # We have a central object for creating and retrieving loggers.\n" 1 "# f.puts(\"\#{Time.now}: \#{@name}: \#{message}\")\n" 1 "# File.open(@filename, \"a\") do |f|\n" 1 "# def log(message)\n" 1 "# @filename = fname\n" 1 "# @name = n\n" 1 "# def initialize(n, fname)\n" 1 "# include DRb::DRbUndumped\n" 1 "# # not copies.\n" 1 "# # Make dRuby send Logger instances as dRuby references,\n" 1 "# class Logger\n" 1 "# URI=\"druby://localhost:8787\"\n" 1 "# executed in the server process.\n" 1 "# where methods can be invoked upon them. These methods are \n" 1 "# process. References to them are returned to the client process,\n" 1 "# from a dRuby call. The Logger instances live in the server\n" 1 "# This example illustrates returning a reference to an object\n" 1 "# === Remote objects under dRuby\n" 1 "# puts timeserver.get_current_time \n" 1 "# timeserver = DRbObject.new_with_uri(SERVER_URI)\n" 1 "<< to which the entity will be\n" 1 "# output\n" 1 "# *DEPRECATED* and ignored\n" 1 "2.0.0" 1 "\n" 1 "LPCSTR" 1 "PVOID" 1 "# \n" 1 "PHANDLE" 1 "HANDLE" 1 "UCHAR" 1 "ULONG" 1 "UINT" 1 "unsigned char *" 1 "PBYTE" 1 "BYTE" 1 "# then:\n" 1 "BOOL" 1 "unsigned short *" 1 "PWORD" 1 "WORD" 1 "unsigned long *" 1 "PDWORD" 1 "DWORD" 1 "Win32Types" 1 "# doctype.entity('yada').value #-> \"nanoo bar nanoo\"\n" 1 "# This is a set of entity constants -- the ones defined in the XML\n" 1 "# specification. These are +gt+, +lt+, +amp+, +quot+ and +apos+.\n" 1 "# +>+\n" 1 "# +<+\n" 1 "# +&+\n" 1 "AMP" 1 "# +\"+\n" 1 "# +'+\n" 1 "# If you add a method, keep in mind two things:\n" 1 ")\n new(addr)\n end\n" 1 " addr = DL.malloc(\#{" 1 "\n end\n def new_class.malloc()\n" 1 " def new_class.size()\n" 1 "# (1) the first argument will always be a list of nodes from which to\n" 1 "# filter. In the case of context methods (such as position), the function\n" 1 "# should return an array with a value for each child in the array.\n" 1 "# (2) all method calls from XML will have \"-\" replaced with \"_\".\n" 1 "# Therefore, in XML, \"local-name()\" is identical (and actually becomes)\n" 1 "# \"local_name()\"\n" 1 "dl/pack.rb" 1 "namespace_context=" 1 "context=" 1 "# Since REXML is non-validating, this method is not implemented as it\n" 1 "# requires a DTD\n" 1 "namespace_uri" 1 "# Helper method.\n" 1 "# A node-set is converted to a string by returning the string-value of the\n" 1 "# node in the node-set that is first in document order. If the node-set is\n" 1 "# empty, an empty string is returned.\n" 1 "# A number is converted to a string as follows\n" 1 "# NaN is converted to the string NaN \n" 1 "# positive zero is converted to the string 0 \n" 1 "# negative zero is converted to the string 0 \n" 1 "# positive infinity is converted to the string Infinity \n" 1 "# negative infinity is converted to the string -Infinity \n" 1 "# if the number is an integer, the number is represented in decimal form\n" 1 "# as a Number with no decimal point and no leading zeros, preceded by a\n" 1 "# minus sign (-) if the number is negative\n" 1 "# otherwise, the number is represented in decimal form as a Number\n" 1 "# including a decimal point with at least one digit before the decimal\n" 1 "# point and at least one digit after the decimal point, preceded by a\n" 1 "# minus sign (-) if the number is negative; there must be no leading zeros\n" 1 "# before the decimal point apart possibly from the one required digit\n" 1 "# immediately before the decimal point; beyond the one required digit\n" 1 "# after the decimal point there must be as many, but only as many, more\n" 1 "# digits as are needed to uniquely distinguish the number from all other\n" 1 "cannot find the function: " 1 "cannot find the symbol: " 1 "import_symbol" 1 "import_value" 1 "# IEEE 754 numeric values.\n" 1 "# The boolean false value is converted to the string false. The boolean\n" 1 "# true value is converted to the string true.\n" 1 "# An object of a type other than the four basic types is converted to a\n" 1 "# string in a way that is dependent on that type.\n" 1 "#object = @context unless object\n" 1 "starts_with" 1 "(*args,&block)\n" 1 "#define_method(name){|*args,&block| f.call(*args,&block)}\n" 1 "unknown callback type: " 1 "contains" 1 "# Kouhei fixed this \n" 1 "substring_before" 1 "# Kouhei fixed this too\n" 1 "substring_after" 1 "(*args, &block)\n" 1 "# define_method(name){|*args,&block| f.call(*args,&block)}\n" 1 "@.+" 1 "test_string" 1 "(.*)" 1 "# Take equal portions of Mike Stok and Sean Russell; mix \n" 1 "# vigorously, and pour into a tall, chilled glass. Serves 10,000.\n" 1 "substring" 1 "# Handle the special cases\n" 1 "# Now, get the bounds. The XPath bounds are 1..length; the ruby bounds \n" 1 "# are 0..length. Therefore, we have to offset the bounds by one.\n" 1 "string_length" 1 "prekey" 1 "normalize_space" 1 "# This is entirely Mike Stok's beast\n" 1 "translate" 1 "# the map is our translation table.\n" 1 "# if a character occurs more than once in the\n" 1 "SIZEOF_LONG_LON" 1 "# from string then we ignore the second &\n" 1 "# subsequent mappings\n" 1 "# if a character maps to nil then we delete it\n" 1 "# in the output. This happens if the from\n" 1 "sizeof" 1 "# string is longer than the to string\n" 1 "# there's nothing about - or ^ being special in\n" 1 "# http://www.w3.org/TR/xpath#function-translate\n" 1 "# so we don't build ranges or negated classes\n" 1 "# a string that consists of optional whitespace followed by an optional\n" 1 "can't load " 1 "dlopen" 1 "Handle" 1 "# minus sign followed by a Number followed by whitespace is converted to\n" 1 "dlload" 1 "# the IEEE 754 number that is nearest (according to the IEEE 754\n" 1 "# round-to-nearest rule) to the mathematical value represented by the\n" 1 "# string; any other string is converted to NaN\n" 1 "# boolean true is converted to 1; boolean false is converted to 0\n" 1 "# a node-set is first converted to a string as if by a call to the string\n" 1 "dl/cparser.rb" 1 "dl/struct.rb" 1 "dl/func.rb" 1 "dlunwrap" 1 "The index of userdata should be lower than " 1 "dlwrap" 1 "# function and then converted in the same way as a string argument\n" 1 "create_carrier" 1 "# an object of a type other than the four basic types is converted to a\n" 1 "# number in a way that is dependent on that type\n" 1 "# If XPath ever gets scientific notation...\n" 1 "#if str =~ /^\\s*-?(\\d*\\.?\\d+|\\d+\\.)([Ee]\\d*)?\\s*$/\n" 1 "^\\s*-?(\\d*\\.?\\d+|\\d+\\.)\\s*$" 1 "ceiling" 1 "can't bind C function." 1 "RuntimeException" 1 "ceil" 1 "METHOD MISSING " 1 "# Represents an XML Instruction; IE, \n" 1 "# TODO: Add parent arg (3rd arg) to constructor\n" 1 "<\\?" 1 "# target is the \"name\" of the Instruction; IE, the \"tag\" in \n" 1 "# content is everything else.\n" 1 "# Constructs a new Instruction\n" 1 "# @param target can be one of a number of things. If String, then \n" 1 "# the target of this instruction is set to this. If an Instruction,\n" 1 "# then the Instruction is shallowly cloned (target and content are\n" 1 "# copied). If a Source, then the source is scanned and parsed for\n" 1 "# an Instruction declaration.\n" 1 "Insecure operation" 1 "# @param content Must be either a String, or a Parent. Can only\n" 1 "# be a Parent if the target argument is a Source. Otherwise, this\n" 1 "# String is set as the content of this instruction.\n" 1 "# @return true if other is an Instruction, and the content and target\n" 1 "# of the other matches the target and content of this object.\n" 1 "" 1 "# Adds named attributes to an object.\n" 1 "# The name of the object, valid if set\n" 1 "dl/value" 1 "dl/stack" 1 "dl/callback" 1 "# The expanded name of the object, valid if name is set\n" 1 "^(?:(" 1 "):)?(" 1 "\\[\\s*\\]" 1 "\\*" 1 "# Sets the name and the expanded name\n" 1 "name=" 1 "@namespace" 1 "unsigned long long" 1 "# Compares names optionally WITH namespaces\n" 1 "# Fully expand the name, even if the prefix wasn't specified in the\n" 1 "# source file.\n" 1 "rexml/formatters/pretty" 1 "rexml/formatters/default" 1 "# Represents a node in the tree. Nodes are never encountered except as\n" 1 "# superclasses of other objects. Nodes have siblings.\n" 1 "# @return the next sibling (nil if unset)\n" 1 "# @return the previous sibling (nil if unset)\n" 1 "# *DEPRECATED* This parameter is now ignored. See the formatters in the\n" 1 "TYPE_VOID" 1 "void" 1 "# REXML::Formatters package for changing the output style.\n" 1 "can't parse the function prototype: " 1 "^\\*+" 1 ".to_s(indent) parameter is deprecated" 1 "# Visit all subnodes of +self+ recursively\n" 1 "^([\\d\\w@\\*_\\s]+)\\(([\\d\\w\\*_\\s\\,\\[\\]]*)\\)$" 1 "# Find (and return) first subnode (recursively) for which the block \n" 1 "# evaluates to true. Returns +nil+ if none was found.\n" 1 "find_first_recursive" 1 "# Returns the position that +self+ holds in its parent's array, indexed\n" 1 "# from 1.\n" 1 "index_in_parent" 1 "\\s+(\\*)?" 1 "Output[" 1 "# A parent has children, and has methods for accessing them. The Parent\n" 1 "# class is never encountered except as the superclass for some other\n" 1 "# @param parent if supplied, will be set as the parent of this object\n" 1 "#puts \"PARENT GOTS \#{size} CHILDREN\"\n" 1 "#puts \"PARENT NOW GOTS \#{size} CHILDREN\"\n" 1 "# Fetches a child at a given index\n" 1 "# @param index the Integer index of the child to fetch\n" 1 "remove_callback" 1 "set_callback" 1 "each_child" 1 "# Set an index entry. See Array.[]=\n" 1 "# @param index the index of the element to set\n" 1 "# @param opt either the object to set, or an Integer length\n" 1 "# @param child if opt is an Integer, this is the child to set\n" 1 "# Inserts an child before another child\n" 1 "# child2 will be inserted before child1 in the child list of the parent.\n" 1 "# If an xpath, child2 will be inserted before the first child to match\n" 1 "# Inserts an child after another child\n" 1 "# child2 will be inserted after child1 in the child list of the parent.\n" 1 "# If an xpath, child2 will be inserted after the first child to match\n" 1 "# Fetches the index of a given child\n" 1 "DLSTACK_SIZE" 1 "MAX_CALLBACK" 1 "arity should not be less than 0." 1 "# @param child the child to get the index of\n" 1 "# @return the index of the child, or nil if the object is not a child\n" 1 "# of this parent.\n" 1 "# @return the number of children of this parent\n" 1 "# Replaces one child with another, making sure the nodelist is correct\n" 1 "# @param to_replace the child to replace (must be a Child)\n" 1 "# @param replacement the child to insert into the nodelist (must be a \n" 1 "# Child)\n" 1 "#<%s:%d %s>" 1 "# Deeply clones this object. This creates a complete duplicate of this\n" 1 "unsupported bit length: %s" 1 "384" 1 "# Parent, including all descendants.\n" 1 "continued_exception" 1 "# Creates a new SHA2 hash object with a given bit length.\n" 1 "# Digest::SHA2.new(bitlen = 256) -> digest_obj\n" 1 "SHA2" 1 "# A meta digest provider class for SHA256, SHA384 and SHA512.\n" 1 "# $Id: sha2.rb 11708 2007-02-12 23:01:19Z shyouhei $\n" 1 "# SHA384, and SHA512 classes.\n" 1 "# sha2.rb - defines Digest::SHA2 class which wraps up the SHA256,\n" 1 "^\\#<(.*)>$" 1 "#<%s: key=%s, digest=%s>" 1 "# Quote the original exception, if there was one\n" 1 "\\n...\\n" 1 "# Get the stack trace and error message\n" 1 "# Add contextual information\n" 1 "\\nLine: " 1 "Position: " 1 "Last 80 unconsumed characters:\\n" 1 "nil is not a valid xpath" 1 "^\\/([^\\/]|$)" 1 "# match on root\n" 1 "^[-\\w]*::" 1 "^[\\[!\\w:]" 1 "# match on child\n" 1 "# Given an array of nodes it filters the array based on the path. The\n" 1 "HMAC" 1 "# $Id: hmac.rb 14881 2008-01-04 07:26:14Z akr $\n" 1 "# Documentation by Akinori MUSHA\n" 1 "# result is that when this method returns, the array will contain elements\n" 1 "# puts hmac.bubblebabble\n" 1 "# hmac.update(buf)\n" 1 "# while stream.read(16384, buf)\n" 1 "# buf = \"\"\n" 1 "# hmac = Digest::HMAC.new(\"foo\", Digest::RMD160)\n" 1 "# # rather longer one\n" 1 "# puts Digest::HMAC.hexdigest(\"data\", \"hash key\", Digest::SHA1)\n" 1 "# # one-liner example\n" 1 "# require 'digest/hmac'\n" 1 "# creates a Digest class for calculating HMAC digests.\n" 1 "# This library adds a method named hmac() to Digest classes, which\n" 1 "# An implementation of HMAC keyed-hashing algorithm\n" 1 "# = digest/hmac.rb\n" 1 ".%0*d" 1 "T%T" 1 "# which match the path\n" 1 "%FT%T%:z" 1 "[,.]" 1 "\\A(?:gmt|utc?)?([-+])" 1 "\\s+dst\\z" 1 "daylight" 1 "^\\/\\/" 1 "\\s+(standard|daylight)\\s+time\\z" 1 "h\\1" 1 "\\A\\s*(\\d)" 1 "\\A\\s*\\d" 1 "\t(z|[-+]\\d{2}(:?\\d{2})?)?)?)?\\s*\\z/ix" 1 "\\A\\s*[mtsh]?\\d{2}\\.\\d{2}\\.\\d{2}\n\t(t\n\t(\\d{2}:\\d{2}(:\\d{2}([,.]\\d*)?)?\n" 1 "\t\\d{4}\\s*\\z/iox" 1 ")\\s+\n\t\\d{1,2}\\s+\n\t\\d{2}:\\d{2}:\\d{2}\\s+\n" 1 ")\\s+\n" 1 ")\\s*-\\s*\n\t\\d{2}\\s+\n\t\\d{2}:\\d{2}:\\d{2}\\s+\n" 1 ")\\s*,\\s+\n\t\\d{2}\\s*-\\s*\n" 1 "# Descendant\n" 1 ")\\s+\n\t-?\\d{4}\\s+ # allow minus, anyway\n\t\\d{2}:\\d{2}:\\d{2}\\s+\n" 1 "descendant-or-self" 1 ")\\s*,\\s+\n\t\\d{2}\\s+\n" 1 "^\\/?\\b(\\w[-\\w]*)\\b::" 1 "_rfc822" 1 "\t(?:[-+]\\d{4}|ut|gmt|e[sd]t|c[sd]t|m[sd]t|p[sd]t|[a-ik-z])\\s*\\z/iox" 1 ")\\s+\n\t-?(\\d{2,})\\s+ # allow minus, anyway\n\t\\d{2}:\\d{2}(:\\d{2})?\\s*\n" 1 "\t(?:\#{" 1 ")\\s*,\\s+)?\n\t\\d{1,2}\\s+\n" 1 "\\A\\s*(?:(?:" 1 "\\A\\s*(?:--(\\d{2})(?:-(\\d{2}))?|---(\\d{2}))\n" 1 "\\A\\s*(\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))?\n" 1 "# Axe\n" 1 "\\A\\s*(-?\\d{4,})(?:-(\\d{2})(?:-(\\d{2}))?)?\n\t(?:t\n\t (\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))?)?\n" 1 "\t(z|[-+]\\d{2}:\\d{2})\\s*\\z/ix" 1 "\\A\\s*-?\\d{4}-\\d{2}-\\d{2} # allow minus, anyway\n\t(t|\\s)\n\t\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?\n" 1 "\\A\\s*(\\d{2}\\d{2}(\\d{2}([,.]\\d+)?)?\n" 1 "\\A\\s*(\\d{2}:\\d{2}(:\\d{2}([,.]\\d+)?)?\n" 1 "^\\/(?=\\b([:!\\w][-\\.\\w]*:)?[-!\\*\\.\\w]*\\b([^:(]|$)|\\*)" 1 "\\A\\s*(([-+]?(\\d{2}|\\d{4})|--)\\d{2}\\d{2}|\n\t ([-+]?(\\d{2}|\\d{4}))?\\d{3}|-\\d{3}|\n\t (\\d{2}|\\d{4})?w\\d{2}\\d)\n\t(t?\n\t\\d{2}\\d{2}(\\d{2}([,.]\\d+)?)?\n" 1 "# Child\n" 1 "\\A\\s*(([-+]?\\d{2,}|-)-\\d{2}-\\d{2}|\n\t ([-+]?\\d{2,})?-\\d{3}|\n\t (\\d{2}|\\d{4})?-w\\d{2}-\\d|\n\t -w-\\d)\n\t(t\n\t\\d{2}:\\d{2}(:\\d{2}([,.]\\d+)?)?\n" 1 "^\\/?(\\w[-\\w]*)\\(" 1 "\\A\\s*(\\d{1,2})\\s*\\z" 1 "\\b(bc\\b|bce\\b|b\\.c\\.|b\\.c\\.e\\.)" 1 "# || _parse_beat(str, e)\n" 1 "[^-+',.\\/:@[:alnum:]\\[\\]]+" 1 "# :_parse_beat,\n" 1 "+%s" 1 "([-+]?)(\\d{2,14})\n\t\t (?:\n\t\t \\s*\n\t\t t?\n\t\t \\s*\n\t\t (\\d{2,6})?(?:[,.](\\d*))?\n\t\t )?\n\t\t (?:\n\t\t \\s*\n\t\t (\n\t\t z\\b\n\t\t |\n\t\t [-+]\\d{1,4}\\b\n\t\t |\n\t\t \\[[-+]?\\d[^\\]]*\\]\n\t\t )\n\t\t )?\n" 1 "# / Function\n" 1 "(\\d+)(st|nd|rd|th)\\b" 1 "# Element name\n" 1 ")\\S*" 1 "^\\/\\[" 1 "'(\\d+)\\b" 1 "# Predicate\n" 1 "('?-?\\d+)\\.\\s*('?\\d+)\\.\\s*('?-?\\d+)" 1 "^\\/?\\.\\.\\." 1 "('?-?\\d+)/\\s*('?\\d+)(?:\\D\\s*('?-?\\d+))?" 1 "\t\t\t\t\t\t\t\t\t\t" 1 "\t\t-('?-?\\d+)(?:-('?-?\\d+))?/iox" 1 "\t\t-('?-?\\d+)/iox" 1 "# Ancestor\n" 1 "('?-?\\d+)-(" 1 "^\\/?\\.\\." 1 "# Parent\n" 1 "\\b([mtsh])(\\d+)\\.(\\d+)\\.(\\d+)" 1 "^\\/?\\." 1 "\\b-(\\d{3})\\b" 1 "\\d-\\d{3}\\b" 1 "\\b(\\d{2}|\\d{4})-(\\d{3})\\b" 1 "[,.](\\d{2}|\\d{4})-\\d{3}\\b" 1 "--(\\d{2})(\\d{2})?\\b" 1 "--(\\d{2})?-(\\d{2})\\b" 1 "-w-(\\d)\\b" 1 "\\b(\\d{2}|\\d{4})?-?w(\\d{2})(?:-?(\\d))?\\b" 1 "# Self\n" 1 "('?[-+]?\\d+)-(\\d+)-('?-?\\d+)" 1 "\t\t\t\t\t\t\t\t\t\t\t\t\t" 1 ")[^-\\d\\s']*\n\t\t \\s*\n\t\t ('?\\d+)[^-\\d\\s']*\n\t\t (?:\n\t\t \\s*\n\t\t (c(?:e|\\.e\\.)|b(?:ce|\\.c\\.e\\.)|a(?:d|\\.d\\.)|b(?:c|\\.c\\.))?\n\t\t \\s*\n\t\t ('?-?\\d+)\n\t\t )?\n" 1 "# Any\n" 1 "#if element.kind_of? Element\n" 1 ")[^-\\d\\s']*\n\t\t (?:\n\t\t \\s*\n\t\t (c(?:e|\\.e\\.)|b(?:ce|\\.c\\.e\\.)|a(?:d|\\.d\\.)|b(?:c|\\.c\\.))?\n\t\t \\s*\n\t\t ('?-?\\d+(?:(?:st|nd|rd|th)\\b)?)\n\t\t )?\n" 1 "\t\t (\#{" 1 "'?(\\d+)[^-\\d\\s]*\n\t\t \\s*\n" 1 "#\tchildren = element.to_a\n" 1 " e.zone = '+01:00'\n" 1 " e.sec_fraction = fr * 86400\n" 1 " e.sec = s\n" 1 " e.min = min\n" 1 " e.hour = h\n" 1 " h, min, s, fr = self.day_fraction_to_time(secs)\n" 1 " secs = Rational(beat, 1000)\n" 1 " beat += Rational($2.to_i, 10**$2.size) if $2\n" 1 " beat = Rational($1.to_i)\n" 1 " if str.sub!(/@\\s*(\\d+)(?:[,.](\\d*))?/, ' ')\n" 1 " def self._parse_beat(str, e) # :nodoc:\n" 1 "\t (?:\\s*([ap])(?:m\\b|\\.m\\.))?/ix" 1 "\\A(\\d+)h?\n\t (?:\\s*:?\\s*(\\d+)m?\n\t\t(?:\n\t\t \\s*:?\\s*(\\d+)(?:[,.](\\d+))?s?\n\t\t)?\n\t )?\n" 1 "#\tchildren.delete_if { |child| !child.kind_of?(Element) }\n" 1 "(\n\t\t (?:\n\t\t \\d+\\s*:\\s*\\d+\n\t\t (?:\n\t\t \\s*:\\s*\\d+(?:[,.]\\d*)?\n\t\t )?\n\t\t |\n\t\t \\d+\\s*h(?:\\s*\\d+m?(?:\\s*\\d+s?)?)?\n\t\t )\n\t\t (?:\n\t\t \\s*\n\t\t [ap](?:m\\b|\\.m\\.)\n\t\t )?\n\t\t |\n\t\t \\d+\\s*[ap](?:m\\b|\\.m\\.)\n\t\t )\n\t\t (?:\n\t\t \\s*\n\t\t (\n\t\t (?:gmt|utc?)?[-+]\\d+(?:[,.:]\\d+(?::\\d+)?)?\n\t\t |\n\t\t [[:alpha:].\\s]+(?:standard|daylight)\\stime\\b\n\t\t |\n\t\t [[:alpha:]]+(?:\\sdst)?\\b\n\t\t )\n\t\t )?\n" 1 "#\tresults |= filter( children, $' )\n" 1 "-or-self$" 1 " e.wday = %w(su mo tu we th fr sa).index($1.downcase)\n" 1 " elsif str.sub!(/\\b(?!\\dth)(su|mo|tu|we|th|fr|sa)\\b/i, ' ')\n" 1 ")[^-\\d\\s]*" 1 "^descendant" 1 "descendant-or-self::" 1 "^ancestor" 1 "following-sibling" 1 "([-+])?(\\d+)" 1 "# us -> be\n" 1 "(\\d+)(.+)?" 1 "previous-sibling" 1 "# A predicate filters a node-set with respect to an axis to produce a\n" 1 "leftover" 1 "# new node-set. For each node in the node-set to be filtered, the \n" 1 "\\A[\\s\\v]+" 1 "\\A[\\s\\v]" 1 "\\A%" 1 "\t\t\t\t )/ix" 1 "\\A((?:gmt|utc?)?[-+]\\d+(?:[,.:]\\d+(?::\\d+)?)?\n\t\t\t\t |[[:alpha:].\\s]+(?:standard|daylight)\\s+time\\b\n\t\t\t\t |[[:alpha:]]+(?:\\s+dst)?\\b\n" 1 "\\A:{0,3}z" 1 "# PredicateExpr is evaluated with that node as the context node, with \n" 1 "wnum1=" 1 "wnum0=" 1 "# the number of nodes in the node-set as the context size, and with the \n" 1 "# proximity position of the node in the node-set with respect to the\n" 1 "\\A([ap])(?:m\\b|\\.m\\.)" 1 "#\t val = Rational($1.to_i, 10**9)\n" 1 "\\A([-+]?\\d{1,9})" 1 "#\t val = Rational($1.to_i, 10**3)\n" 1 "\\A([-+]?\\d{1,3})" 1 "366" 1 "\\A(\\d{1,3})" 1 "# axis as the context position; if PredicateExpr evaluates to true for\n" 1 "# that node, the node is included in the new node-set; otherwise, it is\n" 1 "# not included.\n" 1 "# A PredicateExpr is evaluated by evaluating the Expr and converting\n" 1 "# the result to a boolean. If the result is a number, the result will\n" 1 "# be converted to true if the number is equal to the context position\n" 1 "\\A([-+]?\\d{1,2})" 1 "# and will be converted to false otherwise; if the result is not a\n" 1 "# number, then the result will be converted as if by a call to the\n" 1 "%([EO]?(?::{1,3}z|.))|(.)" 1 "# boolean function. Thus a location path para[3] is equivalent to\n" 1 "# para[position()=3].\n" 1 "\\A%[EO]?[CDdeFGgHIjkLlMmNQRrSsTUuVvWwXxYy\\d]" 1 "?[" 1 "\t'.%0*d' % [n, (f / Rational(1, 10**n)).round]\n" 1 "?]" 1 "\t''\n" 1 " if n < 1\n" 1 " ('@%03d' % i) +\n" 1 " i, f = (new_offset(HOURS_IN_DAY).day_fraction * 1000).divmod(1)\n" 1 " def beat(n=0)\n" 1 ".%m.%d" 1 "# have to change 'a [=<>] b [=<>] c' into 'a [=<>] b and b [=<>] c'\n" 1 "H%02d" 1 "([^\\s(and)(or)<>=]+)\\s*([<>=])\\s*([^\\s(and)(or)<>=]+)\\s*([<>=])\\s*([^\\s(and)(or)<>=]+)" 1 "S%02d" 1 "2447535" 1 "\\1 \\2 \\3 and \\3 \\4 \\5" 1 "T%02d" 1 "# Let's do some Ruby trickery to avoid some work:\n" 1 "@(\\w[-\\w.]*)" 1 "M%02d" 1 "attribute(\"\\1\")" 1 "\\bmod\\b" 1 "%a, %d %b %Y %T GMT" 1 "%a, %-d %b %Y %T %z" 1 "\\b(\\w[-\\w.]*\\()" 1 "# alias_method :format, :strftime\n" 1 "METHOD: " 1 "# /.*?(?:\\)|,)/\n" 1 "^." 1 "# if depth = 1, then we start a new argument\n" 1 "\\A(:{0,3})z" 1 "#arguments << evaluate( string[0..count] )\n" 1 "# start a new method call\n" 1 "?)" 1 "# close the method call and return arguments\n" 1 "Ow" 1 "# -*- encoding: utf-8 -*-\n" 1 "# REXML is an XML toolkit for Ruby[http://www.ruby-lang.org], in Ruby.\n" 1 "# REXML is a _pure_ Ruby, XML 1.0 conforming,\n" 1 "# non-validating[http://www.w3.org/TR/2004/REC-xml-20040204/#sec-conformance]\n" 1 "# toolkit with an intuitive API. REXML passes 100% of the non-validating Oasis\n" 1 "# tests[http://www.oasis-open.org/committees/xml-conformance/xml-test-suite.shtml],\n" 1 "%02d:%02d:%02d" 1 "%T" 1 "# and provides tree, stream, SAX2, pull, and lightweight APIs. REXML also \n" 1 "# includes a full XPath[http://www.w3c.org/tr/xpath] 1.0 implementation. Since \n" 1 "# Ruby 1.8, REXML is included in the standard Ruby distribution.\n" 1 "PM" 1 "AM" 1 "# Main page:: http://www.germane-software.com/software/rexml\n" 1 "# Author:: Sean Russell \n" 1 "# Date:: 2008/019\n" 1 "%b" 1 "# Version:: 3.1.7.3\n" 1 "# This API documentation can be downloaded from the REXML home page, or can\n" 1 "# be accessed online[http://www.germane-software.com/software/rexml_doc]\n" 1 "# A tutorial is available in the REXML distribution in docs/tutorial.html,\n" 1 "# or can be accessed \n" 1 "# online[http://www.germane-software.com/software/rexml/docs/tutorial.html]\n" 1 "Copyright © 2001-2008 Sean Russell " 1 "DATE" 1 "%([-_0^#]+)?(\\d+)?([EO]?(?::{1,3}z|.))" 1 "2008/019" 1 "3.1.7.3" 1 "$Revision: 15141 $" 1 "\\$Revision:|\\$" 1 "Copyright" 1 "# === Missing methods from SAX2\n" 1 "# ignorable_whitespace\n" 1 "rjust" 1 "\\A_" 1 "# === Methods extending SAX2 \n" 1 "# +WARNING+\n" 1 "yakutsk" 1 "west pacific" 1 "west asia" 1 "w. europe" 1 "w. central africa" 1 "w. australia" 1 "vladivostok" 1 "us mountain" 1 "us eastern" 1 "46800" 1 "tonga" 1 "tokyo" 1 "tasmania" 1 "taipei" 1 "sri lanka" 1 "south africa" 1 "malay peninsula" 1 "se asia" 1 "samoa" 1 "sa western" 1 "sa pacific" 1 "sa eastern" 1 "russian" 1 "romance" 1 "pacific" 1 "pacific sa" 1 "north asia" 1 "north asia east" 1 "newfoundland" 1 "new zealand" 1 "20700" 1 "nepal" 1 "n. central asia" 1 "23400" 1 "myanmar" 1 "# These methods are certainly going to change, until DTDs are fully\n" 1 "mountain" 1 "mid-atlantic" 1 "mexico" 1 "korea" 1 "jerusalem" 1 "# supported. Be aware of this.\n" 1 "iran" 1 "19800" 1 "india" 1 "hawaiian" 1 "gtb" 1 "greenwich" 1 "greenland" 1 "fle" 1 "fiji" 1 "ekaterinburg" 1 "egypt" 1 "# start_document\n" 1 "eastern" 1 "e. south america" 1 "# end_document\n" 1 "e. europe" 1 "e. australia" 1 "e. africa" 1 "# doctype\n" 1 "dateline" 1 "# elementdecl\n" 1 "china" 1 "central" 1 "# attlistdecl\n" 1 "central pacific" 1 "central european" 1 "central europe" 1 "central asia" 1 "central america" 1 "cen. australia" 1 "caucasus" 1 "cape verde" 1 "# entitydecl\n" 1 "canada central" 1 "azores" 1 "# notationdecl\n" 1 "aus eastern" 1 "# cdata\n" 1 "aus central" 1 "atlantic" 1 "arabic" 1 "# xmldecl\n" 1 "arabian" 1 "# comment\n" 1 "arab" 1 "SAX2Listener" 1 "alaskan" 1 "16200" 1 "afghanistan" 1 "nzdt" 1 "nzt" 1 "nzst" 1 "idle" 1 "eadt" 1 "gst" 1 "east" 1 "kst" 1 "jst" 1 "wadt" 1 "sgt" 1 "cct" 1 "wast" 1 "zp6" 1 "ist" 1 "zp5" 1 "zp4" 1 "msd" 1 "msk" 1 "eest" 1 "eat" 1 "sst" 1 "sast" 1 "mesz" 1 "mest" 1 "fst" 1 "eet" 1 "cest" 1 "west" 1 "wat" 1 "swt" 1 "mez" 1 "mewt" 1 "met" 1 "fwt" 1 "cet" 1 "bst" 1 "idlw" 1 "start_document" 1 "hst" 1 "hast" 1 "end_document" 1 "ahst" 1 "yst" 1 "hdt" 1 "hadt" 1 "akst" 1 "ydt" 1 "akdt" 1 "clt" 1 "ast" 1 "nst" 1 "clst" 1 "brt" 1 "adt" 1 "art" 1 "start_prefix_mapping" 1 "ndt" 1 "brst" 1 "wet" 1 "pdt" 1 "pst" 1 "mdt" 1 "mst" 1 "cdt" 1 "cst" 1 "edt" 1 "est" 1 "gmt" 1 "ut" 1 "end_prefix_mapping" 1 "start_element" 1 "fri" 1 "thu" 1 "wed" 1 "tue" 1 "sun" 1 "end_element" 1 "characters" 1 "nov" 1 "aug" 1 "jul" 1 "jun" 1 "apr" 1 "mar" 1 "feb" 1 "jan" 1 "decl" 1 "saturday" 1 "friday" 1 "thursday" 1 "wednesday" 1 "tuesday" 1 "monday" 1 "sunday" 1 "# @p spaced the declaration is followed by a line break\n" 1 "december" 1 "november" 1 "october" 1 "september" 1 "august" 1 "july" 1 "june" 1 "# Generates Source-s. USE THIS CLASS.\n" 1 "april" 1 "march" 1 "february" 1 "january" 1 "# Generates a Source object\n" 1 "# $Id: format.rb,v 2.43 2008-01-17 20:16:31+09 tadf Exp $\n" 1 "# format.rb: Written by Tadayoshi Funaba 1999-2008\n" 1 ")*)__(?=<\\/?\\w)" 1 "^((?:" 1 "# @param arg Either a String, or an IO\n" 1 "# @return a Source, or nil if a bad argument was given\n" 1 "^\\s*<" 1 "create_from" 1 "^<\\/(\\w+)" 1 " is not a valid input stream. It must walk \\n" 1 "\\\\0\\n" 1 "<(?:.|\\n)*?>(?!\\n)" 1 "\\n\\\\0" 1 "(?!\\A)<(?:.|\\n)*?>" 1 "# print CGI::pretty(\"\", \"\\t\")\n" 1 "# print CGI::pretty(\"\")\n" 1 "# unit to use; it defaults to two spaces.\n" 1 "# +string+ is the HTML string to indent. +shift+ is the indentation\n" 1 "# Prettify (indent) an HTML string.\n" 1 "%s, %.2d %s %.4d %.2d:%.2d:%.2d GMT" 1 "like either a String, an IO, or a Source." 1 "# # Sat, 01 Jan 2000 00:00:00 GMT\n" 1 "# CGI::rfc1123_date(Time.now)\n" 1 "# Format a +Time+ object as a String using the format specified by RFC 1123.\n" 1 "unescape_element" 1 "escape_element" 1 ")(?!\\w)(?:.|\\n)*?>" 1 "<\\/?(?:" 1 "# A Source can be searched for patterns, and wraps buffers and other\n" 1 "# CGI::escapeHTML('
'), [\"A\", \"IMG\"])\n" 1 "# objects and provides consumption of text\n" 1 "# CGI::escapeHTML('
'), \"A\", \"IMG\")\n" 1 "# The current buffer (what we're going to read next)\n" 1 "# Undo escaping such as that done by CGI::escapeElement()\n" 1 ")(?!\\w)(?:.|\\n)*?>" 1 "<\\/?(?:" 1 "# The line number of the last consumed text\n" 1 "# print CGI::escapeElement('
', [\"A\", \"IMG\"])\n" 1 "# @param arg must be a String, and should be a valid XML document\n" 1 "# print CGI::escapeElement('
', \"A\", \"IMG\")\n" 1 "# instance, the double-quotes surrounding attribute values).\n" 1 "# The attribute list of the open tag will also be escaped (for\n" 1 "# This matches both the start and the end tag of that element.\n" 1 "# is specified by the name of the element, without angle brackets.\n" 1 "# Takes an element or elements or array of elements. Each element\n" 1 "# Escape only the tags of certain HTML elements in +string+.\n" 1 "unescape_html" 1 "escape_html" 1 "&#x" 1 "&#" 1 "# @param encoding if non-null, sets the encoding of the source to this\n" 1 "# value, overriding all encoding detection\n" 1 "&(amp|quot|gt|lt|\\#[0-9]+|\\#x[0-9A-Fa-f]+);" 1 "# Inherited from Encoding\n" 1 "# Overridden to support optimized en/decoding\n" 1 "# Scans the source for a given pattern. Note, that this is not your\n" 1 "# usual scan() method. For one thing, the pattern argument has some\n" 1 "# requirements; for another, the source can be consumed. You can easily\n" 1 "# confuse this method. Originally, the patterns were easier\n" 1 "# to construct and this method more robust, because this method \n" 1 "# generated search regexes on the fly; however, this was \n" 1 "&(amp|quot|gt|lt|#[0-9]+|#x[0-9A-Fa-f]+);" 1 "UTF_32LE" 1 "UTF_32BE" 1 "UTF_16LE" 1 "UTF_16BE" 1 "# computationally expensive and slowed down the entire REXML package \n" 1 "# # => \"Usage: foo \\\"bar\\\" \"\n" 1 "# CGI::unescapeHTML(\"Usage: foo "bar" <baz>\")\n" 1 "# Unescape a string that has been HTML-escaped\n" 1 "[&\\\"<>]" 1 "# considerably, since this is by far the most commonly called method.\n" 1 "# # => \"Usage: foo "bar" <baz>\"\n" 1 "# CGI::escapeHTML('Usage: foo \"bar\" ')\n" 1 "# Escape special characters in HTML, namely &\\\"<>\n" 1 "# @param pattern must be a Regexp, and must be in the form of\n" 1 "((?:%[0-9a-fA-F]{2})+)" 1 "# # => \"'Stop!' said Fred\"\n" 1 "# string = CGI::unescape(\"%27Stop%21%27+said+Fred\")\n" 1 "# URL-decode a string.\n" 1 "([^ a-zA-Z0-9_.-]+)" 1 "# # => \"%27Stop%21%27+said+Fred\"\n" 1 "# url_encoded_string = CGI::escape(\"'Stop!' said Fred\")\n" 1 "# URL-encode a string.\n" 1 "# Restore (empty) session state.\n" 1 "# Create a new NullStore instance.\n" 1 "NullStore" 1 "# will be done.\n" 1 "# Implements session storage place holder. No actual storage\n" 1 "# Dummy session storage class.\n" 1 "# /^\\s*(\#{your pattern, with no groups})(.*)/. The first group\n" 1 "# don't need to close\n" 1 "# will be returned; the second group is used if the consume flag is\n" 1 "# don't need to update; hash is shared\n" 1 "# set.\n" 1 "# @param consume if true, the pattern returned will be consumed, leaving\n" 1 "# Returns session data as a hash.\n" 1 "# Restore session state.\n" 1 "# everything after it in the Source.\n" 1 "# @return the pattern, if found, or nil if the Source is empty or the\n" 1 "# pattern is not found.\n" 1 "# Create a new MemoryStore instance.\n" 1 "match_to" 1 "MemoryStore" 1 "# instance does.\n" 1 "# data will only persist for as long as the ruby interpreter \n" 1 "# Implements session storage as a global in-memory hash. Session\n" 1 "# In-memory session storage class.\n" 1 "# Close and delete the session's FileStore file.\n" 1 "# Update and close the session's FileStore file.\n" 1 "%s=%s\\n" 1 "match_to_consume" 1 "# Save session state to the session's FileStore file.\n" 1 "# @return true if the Source is exhausted\n" 1 "# Returns the session state as a hash.\n" 1 "# Restore session state from the session's FileStore file.\n" 1 "# A Source that wraps an IO. See the Source class for method\n" 1 "cgi_sid_" 1 "# documentation\n" 1 "# not exist, or opened if it does.\n" 1 "# This session's FileStore file will be created if it does\n" 1 "# Defaults to the empty string.\n" 1 "# suffix:: the prefix to add to the session id when generating\n" 1 "# Defaults to \"cgi_sid_\".\n" 1 "#attr_reader :block_size\n" 1 "# prefix:: the prefix to add to the session id when generating\n" 1 "# on Unix systems).\n" 1 "# file. Defaults to Dir::tmpdir (generally \"/tmp\"\n" 1 "# tmpdir:: the directory to use for storing the FileStore\n" 1 "# following options are recognised:\n" 1 "# +option+ is a hash of options for the initializer. The\n" 1 "# this requirement.\n" 1 "# characters; automatically generated session ids observe\n" 1 "# created. The session id must only contain alphanumeric\n" 1 "# +session+ is the session for which this instance is being\n" 1 "# user does not generally need to call it directly.\n" 1 "# This constructor is used internally by CGI::Session. The\n" 1 "# Create a new FileStore instance.\n" 1 "# storing and from Strings when retrieving.\n" 1 "# user is responsible for converting other types to Strings when\n" 1 "# This storage type only works directly with String values; the\n" 1 "# Implements session storage as a flat file of 'key=value' values.\n" 1 "# File-based session storage class.\n" 1 "# upon the session expiring.\n" 1 "# Note that the session's data is _not_ automatically deleted\n" 1 "# Delete the session from storage. Also closes the storage.\n" 1 "# For some session storage types, this is a no-op.\n" 1 "# Store session data on the server and close the session storage. \n" 1 "# this is a no-op.\n" 1 "# Store session data on the server. For some session storage types,\n" 1 "@write_lock" 1 "# Set the session date for key +key+.\n" 1 "# block_size has been deprecated\n" 1 "# Retrieve the session data for key +key+.\n" 1 "block_size" 1 "no_cookies" 1 "# Determining the encoding is a deceptively difficult issue to resolve.\n" 1 "session_secure" 1 "session_domain" 1 "session_expires" 1 "no_hidden" 1 "invalid session_id `%s'" 1 "# First, we check the first two bytes for UTF-16. Then we\n" 1 "# assume that the encoding is at least ASCII enough for the '>', and\n" 1 "database_manager" 1 "# we read until we get one of those. This gives us the XML declaration,\n" 1 "session_key `%s' should be supplied" 1 "_session_id" 1 "# if there is one. If there isn't one, the file MUST be UTF-8, as per\n" 1 "# the XML spec. If there is one, we can determine the encoding from\n" 1 "# undef_method :fieldset\n" 1 "# class << cgi\n" 1 "# (see http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/37805)\n" 1 "# use of fieldsets with code similar to the following\n" 1 "# is _not_ invisible on many browsers; you may wish to disable the\n" 1 "# fields are surrounded by a
tag in HTML 4 generation, which\n" 1 "# *WARNING* the +output_hidden+\n" 1 "# to add hidden input elements to forms. \n" 1 "# as a cookie, and also to its +output_hidden+ table, which is used\n" 1 "# The retrieved or created session is automatically added to +request+\n" 1 "# \n" 1 "# they support.\n" 1 "# the documentation for each session storage class for the options\n" 1 "# +option+ is also passed on to the session storage class initializer; see\n" 1 "# to the directory of the CGI script.\n" 1 "# session_path:: the path for which this session applies. Defaults\n" 1 "# session_secure:: if +true+, this session will only work over HTTPS.\n" 1 "# If not set, defaults to the hostname of the server.\n" 1 "# session_domain:: the hostname domain for which this session is valid.\n" 1 "# when the user's browser is closed.\n" 1 "# +Time+ object. If not set, the session will terminate\n" 1 "# session_expires:: the time the current session expires, as a \n" 1 "# session id is stored in a cookie.\n" 1 "# The following options are also recognised, but only apply if the\n" 1 "# these classes for more details.\n" 1 "# cgi/session/pstore.rb). See the documentation for\n" 1 "# +MemoryStore+, and +PStore+ (from\n" 1 "# is provided for +FileStore+ (the default),\n" 1 "# for session state persistence. Built-in support\n" 1 "# database_manager:: the name of the class providing storage facilities\n" 1 "# option is not set, an ArgumentError is raised.\n" 1 "# and if none currently exists and the +session_id+\n" 1 "# exists. If false, a new session is never created,\n" 1 "# a new session is only created if none currently\n" 1 "# new_session:: if true, force creation of a new session. If not set, \n" 1 "# a new session.\n" 1 "# of the request, or automatically generated for\n" 1 "# it is retrieved from the +session_key+ parameter\n" 1 "# session_id:: the session id to use. If not provided, then\n" 1 "# Defaults to '_session_id'.\n" 1 "# session_key:: the parameter name used for the session id.\n" 1 "# recognised:\n" 1 "# CGI::Session instance. The following options are\n" 1 "# +option+ is a hash of options for initialising this\n" 1 "# +request+ is an instance of the +CGI+ class (see cgi.rb).\n" 1 "# Create a new CGI::Session object for +request+.\n" 1 "# it.\n" 1 "foobar" 1 "\\000>" 1 ">\\000" 1 "# session ids. \n" 1 "# is used internally for automatically generated\n" 1 "# a random number, and a constant string. This routine\n" 1 "# The session id is an MD5 hash based upon the time,\n" 1 "# Create a new session id.\n" 1 "\\xef\\xbb" 1 "\\xBF" 1 "# You'll notice that this next section is very similar to the same\n" 1 "# The id of this session.\n" 1 "# section in match(), but just a liiittle different. This is\n" 1 "# because it is a touch faster to do it this way with scan()\n" 1 "# session = CGI::Session.new(cgi, 'new_session' => true)\n" 1 "# rescue ArgumentError # if no old session\n" 1 "# session.delete \n" 1 "# session = CGI::Session.new(cgi, 'new_session' => false) \n" 1 "# # from being maliciously hijacked later on.\n" 1 "# # not just to free resources, but to prevent the session \n" 1 "# # We make sure to delete an old session if one exists,\n" 1 "# === Creating a new session safely\n" 1 "# than the way match() does it; enough faster to warrent duplicating\n" 1 "# session['user_name'] = \"guest\"\n" 1 "# elsif !session['user_name']\n" 1 "# session['user_name'] = cgi['user_name'].to_s\n" 1 "# # string-like CGI::QueryExtension::Value\n" 1 "# # coerce to String: cgi[] returns the \n" 1 "# if cgi.has_key?('user_name') and cgi['user_name'] != ''\n" 1 "# 'prefix' => 'pstore_sid_') # PStore option\n" 1 "# 'session_expires' => Time.now + 30 * 60, # 30 minute timeout \n" 1 "# 'session_key' => '_rb_sess_id', # custom session key\n" 1 "# 'database_manager' => CGI::Session::PStore, # use PStore\n" 1 "# session = CGI::Session.new(cgi,\n" 1 "# some code\n" 1 "# require 'cgi/session/pstore' # provides CGI::Session::PStore\n" 1 "# READLINE OPT\n" 1 "#str = @source.read(@block_size)\n" 1 "# === Setting the user's name\n" 1 "# is not automatically handled.\n" 1 "# input to HTML forms created by other mechanisms. Also, session expiry\n" 1 "# attribute and manually encoding it in URLs and adding it as a hidden\n" 1 "# responsible for extracting the session id from the session_id \n" 1 "# provided for other mechanisms, such as URL re-writing. The caller is\n" 1 "# using the CGI#form() HTML generation method. No built-in support is\n" 1 "# add the session id as a hidden input field to all forms generated\n" 1 "# CGI::Session class in conjunction with the CGI class will transparently\n" 1 "# as a parameter of all requests sent by the client to the server. The\n" 1 "# If the client has cookies disabled, the session id must be included\n" 1 "# if the client has cookies enabled.\n" 1 "# provides transparent support for session id communication via cookies\n" 1 "# The simplest way to do this is via cookies. The CGI::Session class\n" 1 "# to maintain a reference to this session state.\n" 1 "# id must be passed backwards and forwards between client and server\n" 1 "# Most session state is maintained on the server. However, a session\n" 1 "# == Maintaining the session id.\n" 1 "# things will break nastily!\n" 1 "# and clients still have old sessions lying around in cookies, then\n" 1 "# making sure that filenames will be different\n" 1 "# same name. If your application switches from one to the other without\n" 1 "# that by default the FileStore and PStore session data files have the\n" 1 "# Changing storage type mid-session does not work. Note in particular\n" 1 "# delete\n" 1 "# close\n" 1 "# update\n" 1 "# restore # returns hash of session data.\n" 1 "# new(session, options)\n" 1 "IllegalSequence" 1 "# Custom storage types can also be created by defining a class with \n" 1 "# and provides file-locking and transaction support.\n" 1 "# cgi/session/pstore.rb. Supports data of any type, \n" 1 "# CGI::Session::PStore:: stores data in Marshalled format. Provided by\n" 1 "# interpreter instance does.\n" 1 "# only persists for as long as the current ruby \n" 1 "# CGI::Session::MemoryStore:: stores data in an in-memory hash. The data \n" 1 "# storage type.\n" 1 "# works with String data. This is the default \n" 1 "# CGI::Session::FileStore:: stores data as plain text in a flat file. Only \n" 1 "# following storage classes are provided as part of the standard library:\n" 1 "# data with the +database_manager+ option to CGI::Session::new. The\n" 1 "# The caller can specify what form of storage to use for the session's \n" 1 "# == Storing session state\n" 1 "# finishing session processing for this request, call the update()\n" 1 "# to store the session's state to persistent storage without\n" 1 "# store the session's state to persistent storage. If you want\n" 1 "# session should be closed using the close() method. This will\n" 1 "# When session processing has been completed for a request, the\n" 1 "# are not supported).\n" 1 "# using '[]', much the same as hashes (although other hash methods\n" 1 "# This data can be set and retrieved by indexing the Session instance \n" 1 "# The Session class associates data with a session as key-value pairs.\n" 1 "# == Setting and retrieving session data.\n" 1 "# a new session with the old session's id.\n" 1 "# makes another request with the same id, the effect will be to start\n" 1 "# does not however remove the session id from the client. If the client\n" 1 "# #delete() deletes a session from session storage. It\n" 1 "# never create a new session. See #new() for more details.\n" 1 "# exist. The +new_session+ option can be used to either always or\n" 1 "# exists, or continue the current session for this client if one does\n" 1 "# this CGI::Session instance will start a new session if none currently\n" 1 "# A CGI::Session instance is created from a CGI object. By default,\n" 1 "# == Lifecycle\n" 1 "# cgi/session.rb for an introduction to HTTP sessions.\n" 1 "# Class representing an HTTP session. See documentation for the file \n" 1 "# The byte position in the source\n" 1 "# and examples of usage. See cgi.rb for the +CGI+ class itself.\n" 1 "# See the documentation to the +CGI::Session+ class for more details\n" 1 "# HTTP request/response protocol.\n" 1 "# to the user. This adds state information to the otherwise stateless\n" 1 "# and server with every request and response, transparently\n" 1 "# on the server between requests. A session id is passed between client\n" 1 "# Information associated with the session is stored\n" 1 "# and responses linked together and associated with a single client. \n" 1 "# support for CGI scripts. A session is a sequence of HTTP requests\n" 1 "# This file provides the +CGI::Session+ class, which provides session\n" 1 "# Documentation: William Webber (william@williamwebber.com)\n" 1 "# Author: Yukihiro \"Matz\" Matsumoto\n" 1 "# Copyright (C) 2001 Yukihiro \"Matz\" Matsumoto\n" 1 "# cgi/session.rb - session support for cgi scripts\n" 1 "# Html4Fr\n" 1 "FRAME" 1 "FRAMESET" 1 "" 1 "# Mixin module for generating HTML version 4 with framesets.\n" 1 "# Html4Tr\n" 1 "ISINDEX" 1 " COL" 1 " NOSCRIPT" 1 "NOFRAMES" 1 "IFRAME" 1 " LEGEND" 1 "FIELDSET" 1 " INS" 1 "APPLET" 1 "CENTER" 1 " ADDRESS" 1 " CODE" 1 "" 1 "# Mixin module for HTML version 4 transitional generation methods.\n" 1 "# Html4\n" 1 "# The XML < position in the source\n" 1 "# The \\r\\n position in the source\n" 1 "# Called when a tag is encountered.\n" 1 "# @p name the tag name\n" 1 "# @p attrs an array of arrays of attribute/value pairs, suitable for\n" 1 "# use with assoc or rassoc. IE, \n" 1 "# will result in \n" 1 "COL" 1 " TEXTAREA" 1 "NOSCRIPT" 1 "# tag_start( \"tag\", # [[\"attr1\",\"value1\"],[\"attr2\",\"value2\"]])\n" 1 "# Called when the end tag is reached. In the case of , tag_end\n" 1 "# will be called immidiately after tag_start\n" 1 "LEGEND" 1 " FIELDSET" 1 "# @p the name of the tag\n" 1 "# Called when text is encountered in the document\n" 1 "# @p text the text content.\n" 1 "INS" 1 " H1" 1 "# Called when an instruction is encountered. EG: \n" 1 "# @p name the instruction name; in the example, \"xsl\"\n" 1 "# @p instruction the rest of the instruction. In the example,\n" 1 "# \"sheet='foo'\"\n" 1 "# Called when the doctype is done\n" 1 " VAR" 1 "doctype_end" 1 "" 1 "# Mixin module for HTML version 4 generation methods.\n" 1 "# Html3\n" 1 "td" 1 " th" 1 "raw_content" 1 "# Called when %foo; is encountered in a doctype declaration.\n" 1 "# @p content \"foo\"\n" 1 "# Creates a new SyncEnumerator which enumerates rows of given\n" 1 "PLAINTEXT" 1 "# Enumerable objects.\n" 1 "# Enumerates rows of the Enumerable objects.\n" 1 "# Represents text nodes in an XML document\n" 1 "# The order in which the substitutions occur\n" 1 " ISINDEX" 1 "&(?!#?[\\w-]+;)" 1 " " 1 "# Characters which are substituted in written strings\n" 1 "# If +raw+ is true, then REXML leaves the value alone\n" 1 "NUMERICENTITY" 1 "�*((?:\\d+)|(?:x[a-fA-F0-9]+));" 1 "0x9" 1 "0xA" 1 "0xD" 1 "0x20" 1 "0xD7FF" 1 "0xE000" 1 "0xFFFD" 1 "0x10000" 1 "0x10FFFF" 1 "^[" 1 " CAPTION" 1 "UUU" 1 "]*$" 1 "^(\n [\\x09\\x0A\\x0D\\x20-\\x7E] # ASCII\n | [\\xC2-\\xDF][\\x80-\\xBF] # non-overlong 2-byte\n | \\xE0[\\xA0-\\xBF][\\x80-\\xBF] # excluding overlongs\n | [\\xE1-\\xEC\\xEE][\\x80-\\xBF]{2} # straight 3-byte\n | \\xEF[\\x80-\\xBE]{2} #\n | \\xEF\\xBF[\\x80-\\xBD] # excluding U+fffe and U+ffff\n | \\xED[\\x80-\\x9F][\\x80-\\xBF] # excluding surrogates\n | \\xF0[\\x90-\\xBF][\\x80-\\xBF]{2} # planes 1-3\n | [\\xF1-\\xF3][\\x80-\\xBF]{3} # planes 4-15\n | \\xF4[\\x80-\\x8F][\\x80-\\xBF]{2} # plane 16\n" 1 " )*$/nx" 1 "# +arg+ if a String, the content is set to the String. If a Text,\n" 1 "# the object is shallowly cloned. \n" 1 "# +respect_whitespace+ (boolean, false) if true, whitespace is\n" 1 "# respected\n" 1 " STYLE" 1 "# +parent+ (nil) if this is a Parent object, the parent\n" 1 "# will be set to this. \n" 1 "# +raw+ (nil) This argument can be given three values.\n" 1 "# If true, then the value of used to construct this object is expected to \n" 1 "# contain no unescaped XML markup, and REXML will not change the text. If \n" 1 "# this value is false, the string may contain any characters, and REXML will\n" 1 "# escape any and all defined entities whose values are contained in the\n" 1 "LISTING" 1 "# text. If this value is nil (the default), then the raw value of the \n" 1 "# parent will be used as the raw value for this node. If there is no raw\n" 1 " APPLET" 1 "# value for the parent, and no value is supplied, the default is false.\n" 1 "# Use this field if you have entities defined for some text, and you don't\n" 1 "# want REXML to escape that text in output.\n" 1 "# Text.new( \"<&\", false, nil, false ) #-> \"<&\"\n" 1 "# Text.new( \"<&\", false, nil, false ) #-> \"&lt;&amp;\"\n" 1 "# Text.new( \"<&\", false, nil, true ) #-> Parse exception\n" 1 "# Text.new( \"<&\", false, nil, true ) #-> \"<&\"\n" 1 "# # Assume that the entity \"s\" is defined to be \"sean\"\n" 1 "# # and that the entity \"r\" is defined to be \"russell\"\n" 1 " DFN" 1 "# Text.new( \"sean russell\" ) #-> \"&s; &r;\"\n" 1 "# Text.new( \"sean russell\", false, nil, true ) #-> \"sean russell\"\n" 1 "# +entity_filter+ (nil) This can be an array of entities to match in the\n" 1 "# supplied text. This argument is only useful if +raw+ is set to false.\n" 1 "# Text.new( \"sean russell\", false, nil, false, [\"s\"] ) #-> \"&s; russell\"\n" 1 "# Text.new( \"sean russell\", false, nil, true, [\"s\"] ) #-> \"sean russell\"\n" 1 "# In the last example, the +entity_filter+ argument is ignored.\n" 1 "# +pattern+ INTERNAL USE ONLY\n" 1 "squeeze!" 1 " \\n\\t" 1 "" 1 "Illegal argument of type " 1 "# Mixin module for HTML version 3 generation methods.\n" 1 "# HtmlExtension\n" 1 "ROWS" 1 "COLS" 1 " for Text constructor (" 1 "textarea" 1 "# # = textarea(\"NAME\" => \"name\", \"COLS\" => 40, \"ROWS\" => 5)\n" 1 "# textarea(\"name\", 40, 5)\n" 1 "# # = textarea(\"NAME\" => \"name\", \"COLS\" => 70, \"ROWS\" => 10)\n" 1 "# textarea(\"name\")\n" 1 "# columns and +rows+ is the number of rows in the display.\n" 1 "# +name+ is the name of the textarea. +cols+ is the number of\n" 1 "# Generate a TextArea element, as a String.\n" 1 "text_field" 1 "# # \n" 1 "# text_field(\"NAME\" => \"name\", \"VALUE\" => \"value\")\n" 1 "# # \n" 1 "# text_field(\"name\", \"value\", 80, 200)\n" 1 "# # \n" 1 "# text_field(\"name\", \"value\", 80)\n" 1 "# # \n" 1 "# text_field(\"name\", \"value\")\n" 1 "# # \n" 1 "# text_field(\"name\")\n" 1 "# is the maximum length of input accepted.\n" 1 "# value. +size+ is the size of the input area. +maxlength+\n" 1 "# +name+ is the name of the input field. +value+ is its initial\n" 1 "# Generate a text field Input element, as a String.\n" 1 "# check for illegal characters\n" 1 "# # \n" 1 "# submit(\"VALUE\" => \"ok\", \"NAME\" => \"button1\", \"ID\" => \"foo\")\n" 1 "# # \n" 1 "# submit(\"ok\", \"button1\")\n" 1 "# # \n" 1 "# submit(\"ok\")\n" 1 "# # \n" 1 "# submit\n" 1 "# of the input.\n" 1 "# +value+ is the text to display on the button. +name+ is the name\n" 1 "# Generate a submit button Input element, as a String.\n" 1 "scrolling_list" 1 "# # \n" 1 "# reset(\"VALUE\" => \"reset\", \"ID\" => \"foo\")\n" 1 "# # \n" 1 "# reset(\"reset\")\n" 1 "# # \n" 1 "# reset\n" 1 "# is the text displayed on the button. +name+ is the name of this button.\n" 1 "# This resets the values on a form to their initial values. +value+\n" 1 "# Generate a reset button Input element, as a String.\n" 1 "radio_group" 1 "# \"VALUES\" => [[\"1\", \"Foo\"], [\"2\", \"Bar\", true], \"Baz\"])\n" 1 "# \"VALUES\" => [[\"foo\"], [\"bar\", true], \"baz\"])\n" 1 "# \"VALUES\" => [\"foo\", \"bar\", \"baz\"])\n" 1 "# illegal anywhere\n" 1 "# # Baz\n" 1 "# # Bar\n" 1 "# # Foo\n" 1 "# radio_group(\"name\", [\"1\", \"Foo\"], [\"2\", \"Bar\", true], \"Baz\")\n" 1 "# # bar\n" 1 "# radio_group(\"name\", [\"foo\"], [\"bar\", true], \"baz\")\n" 1 "[\\x00-\\x7F]|[\\x80-\\xBF][\\xC0-\\xF0]*|[\\xC0-\\xF0]" 1 "# # bar\n" 1 "# context sensitive\n" 1 "# radio_group(\"name\", \"foo\", \"bar\", \"baz\")\n" 1 "# to have more than one radiobutton in a group checked.\n" 1 "# This works the same as #checkbox_group(). However, it is not valid\n" 1 "# Generate a sequence of radio button Input elements, as a String.\n" 1 "?;" 1 "Undeclared entity '" 1 "# # \n" 1 "# radio_button(\"NAME\" => \"name\", \"VALUE\" => \"value\", \"ID\" => \"foo\")\n" 1 "# # \n" 1 "# radio_button(\"name\", \"value\", true)\n" 1 "# # \n" 1 "# radio_button(\"name\", \"value\")\n" 1 "# starts off checked.\n" 1 "# the field if checked. +checked+ specifies whether the field\n" 1 "# +name+ is the name of the input field. +value+ is the value of\n" 1 "# Generates a radio-button Input element.\n" 1 "SELECTED" 1 "# Appends text to this text node. The text is appended in the +raw+ mode\n" 1 "# of this text node.\n" 1 "# +other+ a String or a Text\n" 1 "# +returns+ the result of (to_s <=> arg.to_s)\n" 1 "# # \n" 1 "# password_field(\"NAME\" => \"name\", \"VALUE\" => \"value\")\n" 1 "# # \n" 1 "# password_field(\"password\", \"value\", 80, 200)\n" 1 "# # \n" 1 "# password_field(\"name\", \"value\")\n" 1 "# # \n" 1 "# password_field(\"name\")\n" 1 "# Alternatively, attributes can be specified as a hash.\n" 1 "# is the maximum length of the inputted password.\n" 1 "# value. +size+ is the size of the input field display. +maxlength+\n" 1 "# +name+ is the name of the input field. +value+ is its default\n" 1 "# Generate a Password Input element as a string.\n" 1 "multipart/form-data" 1 "multipart_form" 1 "# #
string
\n" 1 "# multipart_form(\"url\") { \"string\" }\n" 1 "# #
string
\n" 1 "# multipart_form{ \"string\" }\n" 1 "# type, which defaults to \"multipart/form-data\".\n" 1 "# +action+ is the action to perform. +enctype+ is the encoding\n" 1 "# Multipart encoding is used for forms that include file uploads.\n" 1 "# Generate a Form element with multipart encoding as a String.\n" 1 "HEIGHT" 1 "WIDTH" 1 "# console. This ignores the 'raw' attribute setting, and any\n" 1 "img" 1 "# img(\"SRC\" => \"src\", \"ALT\" => \"alt\", \"WIDTH\" => 100, \"HEIGHT\" => 50)\n" 1 "# entity_filter.\n" 1 "# img(\"src\", \"alt\", 100, 50)\n" 1 "# its height.\n" 1 "# the image. +width+ is the width of the image, and +height+ is\n" 1 "# +src+ is the URL of the image. +alt+ is the alternative text for\n" 1 "# Generate an Image element as a string.\n" 1 "# t = Text.new( \"< & &s; russell\", false, nil, false )\n" 1 "# u.value #-> \"sean russell\"\n" 1 "# Sets the contents of this text node. This expects the text to be \n" 1 "image_button" 1 "# # \n" 1 "# image_button(\"SRC\" => \"url\", \"ATL\" => \"strng\")\n" 1 "# # \n" 1 "# image_button(\"url\", \"name\", \"string\")\n" 1 "# # \n" 1 "# image_button(\"url\")\n" 1 "# is the input name. +alt+ is the alternative text for the image.\n" 1 "# +src+ is the URL of the image to use for the button. +name+ \n" 1 "# Generate an Image Button Input element as a string.\n" 1 "# unnormalized. It returns self.\n" 1 "# e = Element.new( \"a\" )\n" 1 "# e.add_text( \"foo\" ) # foo\n" 1 "# e[0].value = \"bar\" # bar\n" 1 "# e[0].value = \"\" # <a>\n" 1 "# html(if $VERBOSE then \"PRETTY\" end) { \"HTML string\" }\n" 1 "# # = html(\"PRETTY\" => \" \") { \"\" }\n" 1 "# html(\"PRETTY\") { \"\" }\n" 1 "# Recursively wrap string at width.\n" 1 "# Position in string with last ' ' before cutoff\n" 1 "# html(\"PRETTY\" => \"\\t\") { \"\" }\n" 1 "[\\s]+$" 1 "# This probably won't work properly\n" 1 "/text()" 1 "# Writes out text, substituting special characters beforehand.\n" 1 "# +out+ A String, IO, or any other object supporting <<( String )\n" 1 "# html(\"PRETTY\" => \" \") { \"\" }\n" 1 "# # string\n" 1 "# html(\"DOCTYPE\" => '') { \"string\" }\n" 1 "# # string\n" 1 "# html(\"DOCTYPE\" => false) { \"string\" }\n" 1 "# # string\n" 1 "# html(\"LANG\" => \"ja\") { \"string\" }\n" 1 "# # string\n" 1 "# html{ \"string\" }\n" 1 "# The body of the html element is supplied as a block.\n" 1 "# should include the entire text of this tag, including angle brackets.\n" 1 "# \"DOCTYPE\", if given, is used as the leading DOCTYPE SGML tag; it\n" 1 "# a string as the sole argument to this method. The pseudo-attribute\n" 1 "# HTML string should be indented. \"PRETTY\" can also be specified as\n" 1 "# pseudo-attribute \"PRETTY\" can be used to specify that the generated\n" 1 "# The attributes of the element are specified as a hash. The\n" 1 "# Generate a top-level HTML element as a string.\n" 1 "# +input+ the text to substitute and the write out\n" 1 "# # \n" 1 "# hidden(\"NAME\" => \"name\", \"VALUE\" => \"reset\", \"ID\" => \"foo\")\n" 1 "# # \n" 1 "# hidden(\"name\", \"value\")\n" 1 "# # \n" 1 "# hidden(\"name\")\n" 1 "# +name+ and +value+.\n" 1 "# The attributes of the element can be specified as two arguments,\n" 1 "# Generate a Hidden Input element as a string.\n" 1 "# z=utf8.unpack(\"U*\")\n" 1 "\\\" VALUE=\\\"" 1 "string\n" 1 "# form(\"METHOD\" => \"post\", \"ENCTYPE\" => \"enctype\") { \"string\" }\n" 1 "# #
string
\n" 1 "# form(\"get\", \"url\") { \"string\" }\n" 1 "# #
string
\n" 1 "# form(\"get\") { \"string\" }\n" 1 "# #
string
\n" 1 "# form{ \"string\" }\n" 1 "# See also #multipart_form() for forms that include file uploads.\n" 1 "# defaults to \"application/x-www-form-urlencoded\". \n" 1 "# +action+ defaults to the current CGI script name. +enctype+\n" 1 "# +method+ should be either \"get\" or \"post\", and defaults to the latter.\n" 1 "# Generate a Form element as a string.\n" 1 "read_with_substitution" 1 "malformed text: Illegal character " 1 " in \\\"" 1 "file_field" 1 "# file_field(\"NAME\" => \"name\", \"SIZE\" => 40)\n" 1 "# # \n" 1 "# file_field(\"name\", 40, 100)\n" 1 "�*((?:\\d+)|(?:x[a-f0-9]+));" 1 "# file_field(\"name\", 40)\n" 1 "# # \n" 1 "# file_field(\"name\")\n" 1 "# See #multipart_form() for forms that include file uploads.\n" 1 "# of the file's _name_, not of the file's _contents_.\n" 1 "# +name+, +size+, and +maxlength+. +maxlength+ is the maximum length\n" 1 "# Generate an File Upload Input element as a string.\n" 1 "#m='0' if m==''\n" 1 "checkbox_group" 1 "# \"VALUES\" => [[\"1\", \"Foo\"], [\"2\", \"Bar\", true], \"Baz\"])\n" 1 "# \"VALUES\" => [[\"foo\"], [\"bar\", true], \"baz\"])\n" 1 "# \"VALUES\" => [\"foo\", \"bar\", \"baz\"])\n" 1 "EREFERENCE" 1 "# # Baz\n" 1 "# # Bar\n" 1 "# # Foo\n" 1 "# checkbox_group(\"name\", [\"1\", \"Foo\"], [\"2\", \"Bar\", true], \"Baz\")\n" 1 "# # bar\n" 1 "# checkbox_group(\"name\", [\"foo\"], [\"bar\", true], \"baz\")\n" 1 "&(?!" 1 "# # bar\n" 1 ";)" 1 "# checkbox_group(\"name\", \"foo\", \"bar\", \"baz\")\n" 1 "# (defaults to false).\n" 1 "# to the same as the label), or the boolean checked element\n" 1 "# array, by omitting either the value element (defaults\n" 1 "# Each value can also be specified as a two-element\n" 1 "# checkbox is CHECKED.\n" 1 "# label; and the third is a boolean specifying whether this\n" 1 "# The first element is the VALUE attribute; the second is the\n" 1 "# Each value can also be specified as a three-element array.\n" 1 "# same effect.\n" 1 "# for that checkbox. A single-element array has the\n" 1 "# as the value of the VALUE attribute and as the label\n" 1 "# can be specified as a String, which will be used both\n" 1 "# There will be one checkbox for each value. Each value\n" 1 "# Each checkbox is followed by a label.\n" 1 "# The checkboxes will all have the same +name+ attribute.\n" 1 "# Generate a sequence of checkbox elements, as a String.\n" 1 "# Escapes all possible entities\n" 1 "#copy = copy.gsub( EREFERENCE, '&' )\n" 1 "# Unescapes all possible entities\n" 1 "UndefinedNamespaceException" 1 "Undefined prefix " 1 " found" 1 "# # = checkbox(\"NAME\" => \"name\", \"VALUE\" => \"value\", \"CHECKED\" => true)\n" 1 "# checkbox(\"name\", \"value\", true)\n" 1 "# # = checkbox(\"NAME\" => \"name\", \"VALUE\" => \"value\")\n" 1 "# checkbox(\"name\", \"value\")\n" 1 "# # = checkbox(\"NAME\" => \"name\")\n" 1 "# checkbox(\"name\")\n" 1 "# NEEDS DOCUMENTATION\n" 1 "# if true, the CHECKED attribute will be included in the element.\n" 1 "# +name+, +value+, and +checked+. +checked+ is a boolean value;\n" 1 "DEFAULT_ENCODING" 1 "# Generate a Checkbox Input element as a string.\n" 1 "ALIGN" 1 "DEFAULT_STANDALONE" 1 "# # => Capital Cities\n" 1 "# caption(\"left\") { \"Capital Cities\" }\n" 1 "# The body of the element is provided by the passed-in no-argument block.\n" 1 "# all the attributes of the element. Or it can be omitted.\n" 1 "# (one of top, bottom, left, or right). It can be a hash of\n" 1 "# +align+ can be a string, giving the alignment of the caption\n" 1 "# Generate a Table Caption element as a string.\n" 1 "<\\?xml" 1 "writethis" 1 "blockquote" 1 "# #=> \"
Foo!
\n" 1 "# blockquote(\"http://www.example.com/quotes/foo.html\") { \"Foo!\" }\n" 1 "# Ignored. There must be no whitespace before an XML declaration\n" 1 "# or it can be omitted, in which case the element has no attributes.\n" 1 "# the quoted text, or a hash, giving all attributes of the element,\n" 1 "# +cite+ can either be a string, give the URI for the source of\n" 1 "# Generate a BlockQuote element as a string.\n" 1 "# # => \"\"\n" 1 "# base(\"http://www.example.com/cgi\")\n" 1 "# The passed-in no-argument block is ignored.\n" 1 "# attribute, or it can be a has of the element's attributes.\n" 1 "# +href+ can either by a string, giving the base URL for the HREF\n" 1 "# Generate a Document Base URI element as a String. \n" 1 "old_enc=" 1 "# Only use this if you do not want the XML declaration to be written;\n" 1 "# this object is ignored by the XML writer. Otherwise, instantiate your\n" 1 "# # => \"Example\"\n" 1 "# a(\"HREF\" => \"http://www.example.com\", \"TARGET\" => \"_top\") { \"Example\" }\n" 1 "# a(\"http://www.example.com\") { \"Example\" }\n" 1 "# block passed in.\n" 1 "# The body of the element is the string returned by the no-argument\n" 1 "# the element's attributes.\n" 1 "# for the HREF attribute, or it can be a hash of\n" 1 "# +href+ can either be a string, giving the URL\n" 1 "# Generate an Anchor element as a string.\n" 1 "# See class CGI for a detailed example. \n" 1 "# (:title, :center, etc.).\n" 1 "# Modules Http3, Http4, etc., contain more basic HTML-generation methods\n" 1 "# own XMLDecl and add it to the document.\n" 1 "# cgi.a(\"http://www.example.com\") { \"Example\" }\n" 1 "# Mixin module providing HTML generation methods.\n" 1 "# TagMaker\n" 1 ">\"\n else\n \"\"\n end\n" 1 " yield.to_s + \"\"\n" 1 " \"<\#{" 1 " attributes={attributes=>nil} if attributes.kind_of?(String)\n" 1 "# - O EMPTY\n" 1 "# Generate code for an empty element.\n" 1 "version='" 1 " encoding='" 1 " \"\"html3\")\n" 1 "# CGI locations, which varies according to the REQUEST_METHOD. It works this:\n" 1 "# cookies and other parameters are parsed automatically from the standard\n" 1 "# from the command line or (failing that) from standard input. Otherwise,\n" 1 "# it will run in \"offline\" mode. In this mode, it reads its parameters\n" 1 "# (that is, it can't locate REQUEST_METHOD in its environment), then\n" 1 "# If the CGI object is not created in a standard CGI call environment\n" 1 "# If not specified, no HTML generation methods will be loaded.\n" 1 "# html4Fr:: HTML 4.0 with Framesets\n" 1 "# html4Tr:: HTML 4.0 Transitional\n" 1 "# html4:: HTML 4.0\n" 1 "# html3:: HTML 3.x\n" 1 "# methods for. The following versions of HTML are supported:\n" 1 "# :tag_maker specifies which version of HTML to load the HTML generation\n" 1 "# == tag_maker\n" 1 "# encoding_error[key] = value\n" 1 "# cgi=CGI.new(:accept_charset=>\"EUC-JP\") do |name,value| \n" 1 "# encoding_error={}\n" 1 "# that query encoding is invalid. Example:\n" 1 "# When you use a block, you can write a process \n" 1 "# == block\n" 1 "# cgi=CGI.new(:accept_charset => \"EUC-JP\") # => \"EUC-JP\"\n" 1 "# when specified \"EUC-JP\":\n" 1 "# cgi=CGI.new # @accept_charset # => \"UTF-8\"\n" 1 "# when not specified:\n" 1 "# Example. Suppose @@accept_charset # => \"UTF-8\"\n" 1 "# If not valid, raise CGI::InvalidEncoding\n" 1 "# ( Default value is @@accept_charset. )\n" 1 "# :accept_charset specifies encoding of received query string.\n" 1 "# == accept_charset\n" 1 "# Instead, please use hash parameter.\n" 1 "# And, if you specify string, @accept_charset cannot be changed.\n" 1 "# CGI.new(\"html3\") #=> CGI.new(:tag_maker=>\"html3\")\n" 1 "# But string is as same as using :tag_maker of hash.\n" 1 "# CGI accept constructor parameters either in a hash, string as a block.\n" 1 "# Create a new CGI instance.\n" 1 "accept_charset=" 1 "#CHARREF = \"&#\\\\d+;|&#x[0-9a-fA-F]+;\"\n" 1 "rexml/xpath_parser" 1 "# CGI.accept_charset = \"EUC-JP\"\n" 1 "# when create a new CGI instance, set this:\n" 1 "# If you want to change the default accept character set\n" 1 "# This default value default is \"UTF-8\"\n" 1 "# @@accept_charset is default accept character set.\n" 1 "# InvalidEncoding Exception class\n" 1 "# QueryExtension\n" 1 "# Returns true if a given parameter key exists in the query.\n" 1 "# Return all parameter keys as an array.\n" 1 "# retrieved; use #params() to get the array of values.\n" 1 "# If the parameter has multiple values, only the first will be \n" 1 "# Get the value for the parameter with a given key.\n" 1 "# Wrapper class. Use this class to access the XPath functions.\n" 1 "COOKIE" 1 "# Finds and returns the first node that matches the supplied xpath.\n" 1 "# \tThe context element\n" 1 "# \tThe xpath to search for. If not supplied or nil, returns the first\n" 1 "too large multipart data." 1 "\\Amultipart/form-data.*boundary=\\\"?([^\\\";,]+)\\\"?" 1 "# \tnode matching '*'.\n" 1 "# \tIf supplied, a Hash which defines a namespace mapping.\n" 1 "# Reads query parameters in the @params field, and cookies into @cookies.\n" 1 "# Handles multipart forms (in particular, forms that involve file uploads).\n" 1 "# Initialize the data from the query.\n" 1 "# to a TempFile when the passed threshold is passed.\n" 1 "# A wrapper class to use a StringIO object as the body and switch\n" 1 "%26" 1 "\\\\&" 1 "%3D" 1 "\\\\=" 1 "(offline mode: enter name=value pairs on standard input)\\n" 1 "# XPath.first( node )\n" 1 "# XPath.first( doc, \"//b\"} )\n" 1 "# offline mode. read name=value pairs on standard input.\n" 1 "MSIE" 1 "Mozilla" 1 "Mac" 1 "# XPath.first( node, \"a/x:b\", { \"x\"=>\"http://doofus\" } )\n" 1 "# XPath.first( node, '/book/publisher/text()=$publisher', {}, {\"publisher\"=>\"O'Reilly\"})\n" 1 "# Iterates over nodes that match the given path, calling the supplied\n" 1 "# block with the match.\n" 1 "# read_multipart\n" 1 "bad boundary end of body part" 1 "## break loop\n" 1 "# The context element\n" 1 "# The xpath to search for. If not supplied or nil, defaults to '*'\n" 1 "# \tIf supplied, a Hash which defines a namespace mapping\n" 1 "# XPath.each( node ) { |el| ... }\n" 1 "Content-Disposition:.* name=(?:\"(.*?)\"|([^;\\r\\n]*))" 1 "## query parameter name\n" 1 "# XPath.each( node, '/*[@attr='v']' ) { |el| ... }\n" 1 "Content-Type: (.*)" 1 "## content type\n" 1 "@original_filename" 1 "# XPath.each( node, 'ancestor::x' ) { |el| ... }\n" 1 "Content-Disposition:.* filename=(?:\"(.*?)\"|([^;\\r\\n]*))" 1 "## original filename\n" 1 "## reset file cursor position\n" 1 "(\\r?\\n)\\z" 1 "## read to end of boundary\n" 1 "## find head and boundary\n" 1 "# XPath.each( node, '/book/publisher/text()=$publisher', {}, {\"publisher\"=>\"O'Reilly\"}) \\\n" 1 "local_path" 1 "# {|el| ... }\n" 1 "# Returns an array of nodes matching a given XPath. \n" 1 "## create body (StringIO or Tempfile)\n" 1 "too many parameters." 1 "rexml/syncenumerator" 1 "rexml/parsers/xpathparser" 1 "# You don't want to use this class. Really. Use XPath, which is a wrapper\n" 1 "# for this class. Believe me. You don't want to poke around in here.\n" 1 "|--)" 1 "# There is strange, dark magic at work in this code. Beware. Go back! Go\n" 1 "# back while you still can!\n" 1 "## parse and set params\n" 1 "^'([^']*)'|^\"([^\"]*)\"" 1 "no content body" 1 "namespaces=" 1 "## read first boundary\n" 1 "get_first" 1 "# Performs a depth-first (document order) XPath search, and returns the\n" 1 "# first match. This is the fastest, lightest way to return a single result.\n" 1 "# FIXME: This method is incomplete!\n" 1 "params=" 1 "# Set all the parameters.\n" 1 "# Get the uploaed files as a hash of name=>values pairs\n" 1 "# values is an Array.\n" 1 "# Get the parameters as a hash of name=>values pairs, where\n" 1 "# Get the cookies as a hash of cookie-name=>Cookie pairs.\n" 1 "HTTP_COOKIE2" 1 "raw_cookie2" 1 "# Get the raw RFC2965 cookies as a string.\n" 1 "#puts \"\#{depth}) Entering match( \#{path.inspect}, \#{tree.inspect} )\"\n" 1 "# Get the raw cookies as a string.\n" 1 "#puts \"\#{depth}) CHILD checking \#{name(c)}\"\n" 1 "HTTP_REFERER" 1 "HTTP_PRAGMA" 1 " HTTP_NEGOTIATE" 1 "HTTP_HOST" 1 "HTTP_FROM" 1 "HTTP_CACHE_CONTROL" 1 " HTTP_ACCEPT_LANGUAGE" 1 "HTTP_ACCEPT_ENCODING" 1 "HTTP_ACCEPT_CHARSET" 1 " HTTP_ACCEPT" 1 " SERVER_NAME" 1 "#puts \"\#{depth}) RETURNING \#{r.inspect}\" if r\n" 1 " REMOTE_IDENT" 1 "#puts \"\#{depth}) QNAME \#{name(tree)} == \#{name} (path => \#{path.size})\"\n" 1 "#puts \"\#{depth}) RETURNING \#{tree.inspect}\" if path.size == 3\n" 1 "#puts \"MATCH: path_stack = \#{path_stack.inspect}\"\n" 1 " PATH_TRANSLATED" 1 "#puts \"MATCH: nodeset = \#{nodeset.inspect}\"\n" 1 "#puts \"MAIN EXPR => \#{r.inspect}\"\n" 1 "# Returns a String namespace for a node, given a prefix\n" 1 "AUTH_TYPE" 1 "# The rules are:\n" 1 "# 1. Use the supplied namespace mapping first.\n" 1 "# 2. If no mapping was supplied, use the context node to look up the namespace\n" 1 "# Expr takes a stack of path elements and a set of nodes (either a Parent\n" 1 "# class to be used in \"offline\" mode.\n" 1 "# mechanisms, handling multipart forms, and allowing the\n" 1 "# 4. The initialize_query method, for initialising the above\n" 1 "# [] to perform parameter value lookup by key.\n" 1 "# 3. Access to parameters, including the params attribute, and overloading\n" 1 "# 2. Access to cookies, including the cookies attribute.\n" 1 "# documentation to the CGI class for a list of these variables.\n" 1 "# 1. Access to CGI environment variables as methods. See \n" 1 "# Mixin module. It provides the follow functionality groups:\n" 1 "# or an Array and returns an Array of matching nodes\n" 1 "# Maximum number of request parameters when multipart\n" 1 "#puts \"#\"*15\n" 1 "# Maximum content length of multipart data\n" 1 "##MAX_CONTENT_LENGTH = 2 * 1024 * 1024\n" 1 "# Maximum content length of post data\n" 1 "#puts \"In expr with \#{path_stack.inspect}\"\n" 1 "#puts \"Returning\" if path_stack.length == 0 || nodeset.length == 0\n" 1 "#puts \"#\"*5\n" 1 "# # \"name2\" => [\"value1\", \"value2\", ...], ... }\n" 1 "# # {\"name1\" => [\"value1\", \"value2\", ...],\n" 1 "# params = CGI::parse(\"query_string\")\n" 1 "# Parse an HTTP query string into a hash of key=>value pairs.\n" 1 "# cgi.print # default: cgi.print == $DEFAULT_OUTPUT.print\n" 1 "# Print an argument or list of arguments to the default output stream\n" 1 "#puts \"Path stack = \#{path_stack.inspect}\"\n" 1 "#puts \"Nodeset is \#{nodeset.inspect}\"\n" 1 "# to \"ja\".\n" 1 "# the content is converted to this charset, and the language is set \n" 1 "# If the charset is \"iso-2022-jp\" or \"euc-jp\" or \"shift_jis\" then\n" 1 "# is ignored).\n" 1 "# is outputted (the content block is still required, but it\n" 1 "# If ENV['REQUEST_METHOD'] == \"HEAD\", then only the header\n" 1 "# the String returned by the content block.\n" 1 "# Content-Length is automatically calculated from the size of\n" 1 "# \"my_header2\" => \"my_value\") { \"string\" }\n" 1 "# \"my_header1\" => \"my_value\",\n" 1 "# \"cookie\" => [cookie1, cookie2],\n" 1 "# \"expires\" => Time.now + (3600 * 24 * 30),\n" 1 "# \"language\" => \"ja\",\n" 1 "# # Content-Type: text/html; charset=iso-2022-jp\n" 1 "# \"charset\" => \"iso-2022-jp\",\n" 1 "# \"type\" => \"text/html\",\n" 1 "# \"connection\" => \"close\",\n" 1 "# \"server\" => ENV['SERVER_SOFTWARE'],\n" 1 "# \"status\" => \"OK\", # == \"200 OK\"\n" 1 "# cgi.out(\"nph\" => true,\n" 1 "# cgi.out(\"text/plain\") { \"string\" }\n" 1 "#puts \":document, nodeset = \#{nodeset.inspect}\"\n" 1 "#puts \"IN QNAME\"\n" 1 "# cgi.out{ \"string\" }\n" 1 "# in block. This block takes no arguments. It is required.\n" 1 "# The body of the document is that returned by the passed-\n" 1 "# The header is provided by +options+, as for #header().\n" 1 "# Print an HTTP header and body to $DEFAULT_OUTPUT ($>)\n" 1 "# FIXME: This DOUBLES the time XPath searches take\n" 1 "#puts \"NS = \#{ns.inspect}\"\n" 1 "#puts \"node.node_type == :element => \#{node.node_type == :element}\"\n" 1 "^location$" 1 "#puts \"node.name == \#{name} => \#{node.name == name}\"\n" 1 "#puts \"node.namespace == \#{ns.inspect} => \#{node.namespace == ns}\"\n" 1 "#puts \"ANY 1: nodeset = \#{nodeset.inspect}\"\n" 1 "^status$" 1 "#puts \"ANY 1: node_types = \#{node_types.inspect}\"\n" 1 "#puts \"ANY 2: nodeset = \#{nodeset.inspect}\"\n" 1 "name:%s value:%s\\n" 1 "([^:]+): (.+)" 1 "#puts \"Element name = \#{element.name}\"\n" 1 "IIS\\/(\\d+)" 1 "# _header_for_hash\n" 1 "## other headers\n" 1 "## cookie\n" 1 "Expires: " 1 "Content-Language: " 1 "#puts \"get_namespace( \#{element.inspect}, \#{prefix} ) = \#{get_namespace(element, prefix)}\"\n" 1 "Content-Length: " 1 "#if type\n" 1 "Connection: " 1 "Status: " 1 "## common headers\n" 1 "#puts \"attrib = \#{attrib.inspect}\"\n" 1 "#puts \"ANY\"\n" 1 "#puts \"PARENT 1: nodeset = \#{nodeset}\"\n" 1 "## NPH\n" 1 "; charset=" 1 "## add charset to option['type']\n" 1 "# _header_for_string\n" 1 "#nodeset = expr(path_stack.dclone, nodeset.collect{|n| n.parent}.compact)\n" 1 "#puts \"PARENT 2: nodeset = \#{nodeset.inspect}\"\n" 1 "ancestor_or_self" 1 "#puts \"PREDICATE SETTING CONTEXT INDEX TO \#{index+1}\"\n" 1 "Connection: close" 1 "#puts \"\#{node.hash}) Recursing with \#{pred.inspect} and [\#{node.inspect}]\"\n" 1 "#puts \"\#{node.hash}) Result = \#{result.inspect} (\#{result.class.name})\"\n" 1 "#puts \"Adding node \#{node.inspect}\" if result == (index+1)\n" 1 " 200 OK" 1 "#puts \"Adding node \#{node.inspect}\" if result.size > 0\n" 1 "#puts \"Adding node \#{node.inspect}\" if result\n" 1 "#puts \"New nodeset = \#{new_nodeset.inspect}\"\n" 1 "# header()\n" 1 "# empty line of separator\n" 1 "#puts \"Path_stack = \#{path_stack.inspect}\"\n" 1 " predicate = path_stack.shift\n" 1 "expected String or Hash but got " 1 " ns = nodeset.clone\n" 1 " result = expr( predicate, ns )\n" 1 " #puts \"Result = \#{result.inspect} (\#{result.class.name})\"\n" 1 "# This method does not perform charset conversion. \n" 1 "# \"VARIANT_ALSO_VARIES\" --> \"506 Variant Also Negotiates\"\n" 1 "# \"BAD_GATEWAY\" --> \"502 Bad Gateway\"\n" 1 "# \"NOT_IMPLEMENTED\" --> \"501 Method Not Implemented\"\n" 1 "# \"SERVER_ERROR\" --> \"500 Internal Server Error\"\n" 1 "# \"PRECONDITION_FAILED\" --> \"412 Precondition Failed\"\n" 1 "# \"LENGTH_REQUIRED\" --> \"411 Length Required\"\n" 1 "# \"NOT_ACCEPTABLE\" --> \"406 Not Acceptable\"\n" 1 "# \"METHOD_NOT_ALLOWED\" --> \"405 Method Not Allowed\"\n" 1 "# \"NOT_FOUND\" --> \"404 Not Found\"\n" 1 "# \"FORBIDDEN\" --> \"403 Forbidden\"\n" 1 "# \"AUTH_REQUIRED\" --> \"401 Authorization Required\"\n" 1 "# \"BAD_REQUEST\" --> \"400 Bad Request\"\n" 1 "# \"NOT_MODIFIED\" --> \"304 Not Modified\"\n" 1 "# \"REDIRECT\" --> \"302 Found\"\n" 1 "# \"MOVED\" --> \"301 Moved Permanently\"\n" 1 "# \"MULTIPLE_CHOICES\" --> \"300 Multiple Choices\"\n" 1 "# \"PARTIAL_CONTENT\" --> \"206 Partial Content\"\n" 1 "# \"OK\" --> \"200 OK\"\n" 1 "# The status codes are:\n" 1 "# \"my_header2\" => \"my_value\")\n" 1 "# \"my_header1\" => \"my_value\"\n" 1 "# \"cookie\" => [cookie1, cookie2],\n" 1 "# \"expires\" => Time.now + 30,\n" 1 "# \"language\" => \"ja\",\n" 1 "# \"length\" => 103,\n" 1 "# # Content-Type: text/html; charset=iso-2022-jp\n" 1 "# \"charset\" => \"iso-2022-jp\",\n" 1 "# \"type\" => \"text/html\",\n" 1 "# \"connection\" => \"close\",\n" 1 "# \"server\" => ENV['SERVER_SOFTWARE'],\n" 1 "# # \"status\" => \"200 GOOD\",\n" 1 "# \"status\" => \"OK\", # == \"200 OK\"\n" 1 "# header(\"nph\" => true,\n" 1 " #puts \"nodeset = \#{nodeset.inspect}\"\n" 1 "# header(\"text/plain\")\n" 1 " if result.kind_of? Array\n" 1 "# header\n" 1 "# Other header lines can also be set; they are appended as key: value.\n" 1 "# @output_cookies field.\n" 1 "# These cookies are in addition to the cookies held in the\n" 1 "# hash all of whose values are literal cookie strings or Cookie objects.\n" 1 "# object; an Array of literal cookie strings or Cookie objects; or a \n" 1 "# The value can be the literal string of the cookie; a CGI::Cookie\n" 1 "# cookie:: a cookie or cookies, returned as one or more Set-Cookie headers.\n" 1 "# object, returned as the Expires header.\n" 1 "# expires:: the time on which the current content expires, as a +Time+\n" 1 "# header.\n" 1 "# language:: the language of the content, returned as the Content-Language\n" 1 "# Content-Length header.\n" 1 "# length:: the length of the content that will be sent, returned as the\n" 1 "# instance, \"close\".\n" 1 "# connection:: the connection type, returned as the Connection header (for \n" 1 "# server:: the server software, returned as the Server header.\n" 1 "# list of available status codes below.\n" 1 "# status:: the HTTP status code, returned as the Status header. See the\n" 1 "# explicitly set.\n" 1 "# date; and sets default values for \"server\" and \"connection\" if not\n" 1 "# nph:: a boolean value. If true, prepend protocol string and status code, and\n" 1 "# charset:: the charset of the body, appended to the Content-Type header.\n" 1 "# type:: the Content-Type header. Defaults to \"text/html\"\n" 1 "# header keys are recognized:\n" 1 "# to text/html), or a hash of header key/value pairs. The following\n" 1 "# +options+ can be a string specifying the Content-Type (defaults\n" 1 "# Includes the empty line that ends the header block.\n" 1 "# Create an HTTP header block as a string.\n" 1 " nodeset = result.zip(ns).collect{|m,n| n if m}.compact\n" 1 " nodeset = result ? nodeset : []\n" 1 " #puts \"Outgoing NS = \#{nodeset.inspect}\"\n" 1 "descendant" 1 "# Abbreviated month names specified by RFC 822\n" 1 "following_sibling" 1 "# Abbreviated day-of-week names specified by RFC 822\n" 1 "506 Variant Also Negotiates" 1 "VARIANT_ALSO_VARIES" 1 "502 Bad Gateway" 1 "BAD_GATEWAY" 1 "501 Method Not Implemented" 1 "NOT_IMPLEMENTED" 1 "500 Internal Server Error" 1 "SERVER_ERROR" 1 "412 Precondition Failed" 1 "PRECONDITION_FAILED" 1 "411 Length Required" 1 "LENGTH_REQUIRED" 1 "406 Not Acceptable" 1 "NOT_ACCEPTABLE" 1 "405 Method Not Allowed" 1 "METHOD_NOT_ALLOWED" 1 "404 Not Found" 1 "NOT_FOUND" 1 "403 Forbidden" 1 "FORBIDDEN" 1 "401 Authorization Required" 1 "AUTH_REQUIRED" 1 "400 Bad Request" 1 "BAD_REQUEST" 1 "304 Not Modified" 1 "NOT_MODIFIED" 1 "302 Found" 1 "REDIRECT" 1 "301 Moved Permanently" 1 "MOVED" 1 "300 Multiple Choices" 1 "MULTIPLE_CHOICES" 1 "206 Partial Content" 1 "PARTIAL_CONTENT" 1 "#puts \"FOLLOWING_SIBLING 1: nodeset = \#{nodeset}\"\n" 1 "#puts \"FOLLOWING_SIBLING 2: nodeset = \#{nodeset}\"\n" 1 "preceding_sibling" 1 "# HTTP status codes.\n" 1 "MACINTOSH" 1 "WINDOWS" 1 "UNIX" 1 "# Path separators in different environments.\n" 1 "WIN" 1 "NEEDS_BINMODE" 1 "$Id: core.rb 23760 2009-06-20 09:06:49Z yugui $" 1 "#puts \"NEW NODESET => \#{new_nodeset.inspect}\"\n" 1 "#puts \"In :namespace\"\n" 1 "# Standard internet newline sequence\n" 1 "namesapces" 1 "#puts \"Namespaces = \#{namespaces.inspect}\"\n" 1 "# String for linefeed\n" 1 "#puts \"Prefix = \#{prefix.inspect}\"\n" 1 "#puts \"Node.namespace = \#{node.namespace}\"\n" 1 "# String for carriage return\n" 1 "# for FCGI support\n" 1 "variable" 1 "# :and, :or, :eq, :neq, :lt, :lteq, :gt, :gteq\n" 1 "[;,]\\s?" 1 "# TODO: Special case for :or and :and -- not evaluate the right\n" 1 "# operand if the left alone determines result (i.e. is true for\n" 1 "# # { \"name1\" => cookie1, \"name2\" => cookie2, ... }\n" 1 "# cookies = CGI::Cookie::parse(\"raw_cookie_string\")\n" 1 "# pairs.\n" 1 "# Parse a raw cookie string into a hash of cookie-name=>Cookie\n" 1 "# class Cookie\n" 1 "; secure" 1 "# :or and false for :and).\n" 1 "; expires=" 1 "; path=" 1 "; domain=" 1 "# Convert the Cookie to its string representation.\n" 1 "secure=" 1 "# +val+ must be a boolean.\n" 1 "# Set whether the Cookie is a secure cookie or not.\n" 1 "minus" 1 "#puts \"FUNCTION 0: \#{func_name}(\#{arguments.collect{|a|a.inspect}.join(', ')})\" \n" 1 "#puts \"FUNCTION 1: Calling expr( \#{arg.inspect}, [\#{n.inspect}] )\"\n" 1 "# simple support for IE\n" 1 "`name' required" 1 "#puts \"FUNCTION 2: \#{func_name}(\#{args.collect{|a|a.inspect}.join(', ')})\" \n" 1 "#puts \"FUNCTION 3: \#{res[-1].inspect}\"\n" 1 "# while\n" 1 "# These keywords correspond to attributes of the cookie object.\n" 1 "# servers.\n" 1 "# false). Secure cookies are only transmitted to HTTPS \n" 1 "# secure:: whether this cookie is a secure cookie or not (default to\n" 1 "# expires:: the time at which this cookie expires, as a +Time+ object.\n" 1 "# domain:: the domain for which this cookie applies.\n" 1 "# base directory of the CGI script.\n" 1 "# path:: the path for which this cookie applies. Defaults to the\n" 1 "# value:: the cookie's value or list of values.\n" 1 "# name:: the name of the cookie. Required.\n" 1 "# this hash are as follows:\n" 1 "# be specified as a single hash argument. The possible keywords of\n" 1 "# or more +value+ arguments. Alternatively, the contents can\n" 1 "# The contents of the cookie can be specified as a +name+ and one\n" 1 "# Create a new CGI::Cookie object.\n" 1 "#puts \"EXPR returning \#{nodeset.inspect}\"\n" 1 "##########################################################\n" 1 "# cookie1.secure = true\n" 1 "# cookie1.expires = Time.now + 30\n" 1 "# cookie1.domain = 'domain'\n" 1 "# cookie1.path = 'path'\n" 1 "# cookie1.value = ['value1', 'value2', ...]\n" 1 "# cookie1.name = 'name'\n" 1 "# secure = cookie1.secure\n" 1 "# expires = cookie1.expires\n" 1 "# domain = cookie1.domain\n" 1 "# path = cookie1.path\n" 1 "# values = cookie1.value\n" 1 "# name = cookie1.name\n" 1 "# cgi.out(\"cookie\" => [cookie1, cookie2]) { \"string\" }\n" 1 "# )\n" 1 "# 'secure' => true # optional\n" 1 "# 'expires' => Time.now, # optional\n" 1 "# 'domain' => 'domain', # optional\n" 1 "# 'path' => 'path', # optional\n" 1 "# 'value' => ['value1', 'value2', ...],\n" 1 "# cookie1 = CGI::Cookie::new('name' => 'name',\n" 1 "# cookie1 = CGI::Cookie::new(\"name\" => \"name\", \"value\" => \"value\")\n" 1 "# cookie1 = CGI::Cookie::new(\"name\", \"value1\", \"value2\", ...)\n" 1 "# See RFC 2965.\n" 1 "# is a delegator to the array of its values.\n" 1 "# In addition to its specific fields and methods, a Cookie instance\n" 1 "# Class representing an HTTP cookie.\n" 1 "# The next two methods are BAD MOJO!\n" 1 "# Converts a Rational to a BigDecimal\n" 1 "frac" 1 "to_digits" 1 "# This method is deprecated; use BigDecimal#to_s(\"F\") instead.\n" 1 "# Converts a BigDecimal to a String of the form \"nnnnnn.mmm\".\n" 1 "# This is my achilles heel. If anybody thinks of a better\n" 1 "# ----------------------------------------------------------------------\n" 1 "# BigDecimal#to_r -> Rational\n" 1 "# The following method is provided to convert BigDecimals to other types:\n" 1 "# Rational#to_d -> BigDecimal\n" 1 "# Float#to_d -> BigDecimal\n" 1 "# String#to_d -> BigDecimal\n" 1 "# The following methods are provided to convert other types to BigDecimals:\n" 1 "# To use these functions, require 'bigdecimal/util'\n" 1 "# BigDecimal utility library.\n" 1 "# way of doing this, be my guest. This really sucks, but \n" 1 "Failed to reduce function values." 1 "# it is a wonder it works at all.\n" 1 "# Solve dfdx*dx = -f0 to estimate dx\n" 1 "# Not yet converged. => Compute Jacobian matrix\n" 1 "# ########################################################\n" 1 "#puts \"#\"*80\n" 1 "#puts \"PATH_STACK = \#{path_stack.inspect}\"\n" 1 "nlsolve" 1 "#puts \"NODESET = \#{nodeset.collect{|n|n.inspect}.inspect}\"\n" 1 "#puts \"RS = \#{rs.collect{|n|n.inspect}.inspect}\"\n" 1 "Newton" 1 "bigdecimal/jacobian" 1 "bigdecimal/ludcmp" 1 "# On exit, x is the solution vector.\n" 1 "# f is an Object which is used to compute the values of the equations to be solved.\n" 1 "# x is the initial value vector\n" 1 "# where n is the number of iterations required,\n" 1 "# n = nlsolve(f,x)\n" 1 "# To call:\n" 1 "# This program is not dependent on BigDecimal.\n" 1 "# Solves the nonlinear algebraic equation system f = 0 by Newton's method.\n" 1 "# newton.rb \n" 1 "Zero or negative precision for E" 1 "# digits of precision.\n" 1 "# Computes e (the base of natural logarithms) to the specified number of\n" 1 "956" 1 "-80" 1 "-57121" 1 "#rs.flatten.compact\n" 1 "-0.04" 1 "#puts \"IN DOS with \#{ns.inspect}; ALREADY HAVE \#{r.inspect}\"\n" 1 "Zero or negative argument for PI" 1 "PI" 1 "# Computes the value of pi to the specified number of digits of precision.\n" 1 "Zero or negative argument for log" 1 "# Returns x if x is infinite or NaN.\n" 1 "# of precision.\n" 1 "# Computes the natural logarithm of x to the specified number of digits \n" 1 "Zero or negative precision for exp" 1 "# -> \"0.271828182845904523536028752390026306410273E1\"\n" 1 "# BigMath::exp(BigDecimal.new('1'), 10).to_s\n" 1 "# power of x, to the specified number of digits of precision.\n" 1 "# Computes the value of e (the base of natural logarithms) raised to the \n" 1 "x.abs must be less than 1.0" 1 "Zero or negative precision for atan" 1 "# Raises an argument error if x > 1.\n" 1 "# Computes the arctangent of x to the specified number of digits of precision.\n" 1 "Zero or negative precision for cos" 1 "# Computes the cosine of x to the specified number of digits of precision.\n" 1 "#puts \"P => \#{p.inspect}\"\n" 1 "# Reorders an array of nodes so that they are in document order\n" 1 "# It tries to do this efficiently.\n" 1 "# FIXME: I need to get rid of this, but the issue is that most of the XPath \n" 1 "# interpreter functions as a filter, which means that we lose context going\n" 1 "Zero or negative precision for sin" 1 "# in and out of function calls. If I knew what the index of the nodes was,\n" 1 "# Computes the sine of x to the specified number of digits of precision.\n" 1 "# -> \"0.14142135623730950488016887242096975E1\"\n" 1 "# BigDecimal.new('2').sqrt(16).to_s \n" 1 "# precision.\n" 1 "# Computes the square root of x to the specified number of digits of \n" 1 "BigMath" 1 "# puts sin(a,100) # -> 0.10000000000000000000......E1\n" 1 "# a = BigDecimal((PI(100)/2).to_s)\n" 1 "# include BigMath\n" 1 "# require \"bigdecimal/math\"\n" 1 "# require \"bigdecimal\"\n" 1 "# Provides mathematical functions.\n" 1 "# prec ... Number of digits to be obtained.\n" 1 "# |x| must be small enough to get convergence.\n" 1 "# x ... BigDecimal number to be computed.\n" 1 "# where:\n" 1 "# E (prec) == exp(1.0,prec)\n" 1 "# PI (prec)\n" 1 "# log (x, prec)\n" 1 "# exp (x, prec)\n" 1 "# atan(x, prec) Note: |x|<1, x=0.9999 may not converge.\n" 1 "# cos (x, prec)\n" 1 "# sin (x, prec)\n" 1 "# sqrt(x, prec)\n" 1 "# Contents:\n" 1 "# I wouldn't have to do this. Maybe add a document IDX for each node?\n" 1 "# Problems with mutable documents. Or, rewrite everything.\n" 1 "# during LU decomposition.\n" 1 "# ps is the pivot, a vector which indicates the permutation of rows performed\n" 1 "# a is a matrix, b is a constant vector, x is the solution vector.\n" 1 "#puts \"new_arry = \#{new_arry.inspect}\"\n" 1 "# Builds a nodeset of all of the preceding nodes of the supplied node,\n" 1 "# in reverse document order\n" 1 "# preceding:: includes every element in the document that precedes this node, \n" 1 "# except for ancestors\n" 1 "# Gaussian elimination with partial pivoting.\n" 1 "#psn = preceding_node_of( node.parent )\n" 1 "#puts \"psn = \#{psn.inspect}\"\n" 1 "#puts \"EQ_REL_COMP(\#{set1.inspect} \#{op.inspect} \#{set2.inspect})\"\n" 1 "#puts \"\#{set1.size} & \#{set2.size}\"\n" 1 "#puts \"RV = \#{rv.inspect}\"\n" 1 "# pick up largest(abs. val.) element in each row.\n" 1 "#puts \"i1 = \#{i1.inspect} (\#{i1.class.name})\"\n" 1 "#puts \"i2 = \#{i2.inspect} (\#{i2.class.name})\"\n" 1 "#puts \"EQ_REL_COMP: \#{set1.inspect} (\#{set1.class.name}), \#{op}, \#{set2.inspect} (\#{set2.class.name})\"\n" 1 "#puts \"COMPARING VALUES\"\n" 1 "# If one is nodeset and other is number, compare number to each item\n" 1 "# Performs LU decomposition of the n by n matrix a.\n" 1 "# in nodeset s.t. number op number(string(item))\n" 1 "# If one is nodeset and other is string, compare string to each item\n" 1 "# in nodeset s.t. string op string(item)\n" 1 "# If one is nodeset and other is boolean, compare boolean to each item\n" 1 "# in nodeset s.t. boolean op boolean(item)\n" 1 "# Computes the Jacobian of f at x. fx is the value of f at x.\n" 1 "#puts \"ISA ARRAY\"\n" 1 "#puts \"B = \#{b.inspect}\"\n" 1 "Singular Jacobian matrix. No change at x[" 1 "#puts \"Functions::string( \#{b}(\#{b.class.name}) ) = \#{Functions::string(b)}\"\n" 1 "# If neither is nodeset,\n" 1 "# If op is = or !=\n" 1 "# If either boolean, convert to boolean\n" 1 "# If either number, convert to number\n" 1 "# Else, convert to string\n" 1 "# Else\n" 1 "# Convert both to numbers and compare\n" 1 "#puts \"EQ_REL_COMP: \#{set1}=>\#{s1}, \#{set2}=>\#{s2}\"\n" 1 "# fx is the value of f at x.\n" 1 "# Computes the derivative of f[i] at x[i].\n" 1 "#puts \"Functions::boolean(\#{set1})=>\#{Functions::boolean(set1)}\"\n" 1 "1.0e-8" 1 "#puts \"Functions::boolean(\#{set2})=>\#{Functions::boolean(set2)}\"\n" 1 "#puts \"EQ_REL_COMP: \#{set1} \#{op} \#{set2}\"\n" 1 "# fx is f.values(x).\n" 1 "# x is the point at which to compute the Jacobian.\n" 1 "#puts \">>> \#{compare( set1, op, set2 )}\"\n" 1 "#puts \"COMPARE \#{a.inspect}(\#{a.class.name}) \#{op} \#{b.inspect}(\#{b.class.name})\"\n" 1 "# A module to implement the Linda distributed computing paradigm in Ruby.\n" 1 "# Rinda is part of DRb (dRuby).\n" 1 "# == Example(s)\n" 1 "# See the sample/drb/ directory in the Ruby distribution, from 1.8.2 onwards.\n" 1 "# TODO\n" 1 "# f is an Object which is used to compute the Jacobian matrix of the equations.\n" 1 "# point x. In the methods below:\n" 1 "# Provides methods to compute the Jacobian matrix of a set of equations at a\n" 1 "# require 'bigdecimal/jacobian'\n" 1 "# == Introduction to Linda/rinda?\n" 1 "# == Why is this library separate from DRb?\n" 1 "# state: TX\n" 1 "# name: dave\n" 1 "# --- !ruby/struct:S \n" 1 "# _produces:_\n" 1 "# y s\n" 1 "# s = S['dave', 'TX']\n" 1 "# S = Struct.new(:name, :state)\n" 1 "# a variation on +Kernel::p+.\n" 1 "# Prints any supplied _objects_ out in YAML. Intended as\n" 1 "# ryan:: Either way, I certainly will have a pony parade.\n" 1 "# _why:: Go nuts! Have a pony parade!\n" 1 "# IMO, a big YAML use case.\n" 1 "# But, on the other hand, convenience of dumping for debugging is,\n" 1 "# ryan:: I know you don't want to urinate all over your users' namespaces.\n" 1 "# _why:: (listening)\n" 1 "# YAML.\n" 1 "# structures? The only downside is that it's not as legible as\n" 1 "# ryan:: You know how Kernel.p is a really convenient way to dump ruby\n" 1 "yaml/types" 1 "yaml/rubytypes" 1 "# Rinda error base class\n" 1 "# Raised when a hash-based tuple has an invalid key.\n" 1 "# Raised when trying to use a canceled tuple.\n" 1 "# Allocate an Emitter if needed\n" 1 "Invalid object explicitly tagged !ruby/Object: " 1 "# Raised when trying to use an expired tuple.\n" 1 "# Allocate blank object\n" 1 "# A tuple is the elementary object in Rinda programming.\n" 1 "# Tuples may be matched against templates if the tuple and\n" 1 "# the template are the same size.\n" 1 "# the type and the constant of the class\n" 1 "# Method to extract colon-seperated type and class, returning\n" 1 "try_implicit" 1 "# Apply any implicit a node may qualify for\n" 1 "# Creates a new Tuple from +ary_or_hash+ which must be an Array or Hash.\n" 1 "# The number of elements in the tuple.\n" 1 "# Apply a transfer method to a Ruby object\n" 1 "# Accessor method for elements of the tuple.\n" 1 "# Convert a type_id to a taguri\n" 1 "# Fetches item +k+ from the tuple.\n" 1 "# Detect typing of a string\n" 1 "# Iterate through the tuple, yielding the index or key, and the\n" 1 "# value, thus ensuring arrays are iterated similarly to hashes.\n" 1 "add_private_type" 1 "# Add a private document type\n" 1 "tag:ruby.yaml.org,2002:" 1 "add_ruby_type" 1 "tag:yaml.org,2002:" 1 "add_builtin_type" 1 "# Return the tuple itself\n" 1 "# Munges +ary+ into a valid Tuple.\n" 1 "# Ensures +hash+ is a valid Tuple.\n" 1 "# Templates are used to match tuples in Rinda.\n" 1 "# Matches this template against +tuple+. The +tuple+ must be the same\n" 1 "add_domain_type" 1 "# Add a global handler for a YAML domain type.\n" 1 "# size as the template. An element with a +nil+ value in a template acts\n" 1 "# as a wildcard, matching any value in the corresponding position in the\n" 1 "# --- {}\n" 1 "# --- []\n" 1 "# #=> --- 0\n" 1 "# YAML.dump_stream( 0, [], {} )\n" 1 "# each having their own document.\n" 1 "# Returns a YAML stream containing each of the items in +objs+,\n" 1 "# tuple. Elements of the template match the +tuple+ if the are #== or\n" 1 "load_stream" 1 "# loaded documents.\n" 1 "# returning a +YAML::Stream+ object containing all\n" 1 "# Loads all documents from the current _io_ stream, \n" 1 "parse_documents" 1 "# YAML.parse_documents( yf ) do |ydoc|\n" 1 "# #===.\n" 1 "# Template.new([:foo, 5]).match Tuple.new([:foo, 5]) # => true\n" 1 "# YAML.each_node( yf ) do |ydoc|\n" 1 "# Template.new([:foo, nil]).match Tuple.new([:foo, 5]) # => true\n" 1 "# Template.new([String]).match Tuple.new(['hello']) # => true\n" 1 "# Template.new([:foo]).match Tuple.new([:foo, 5]) # => false\n" 1 "# YAML.load_documents( yf ) do |ydoc|\n" 1 "# Template.new([:foo, 6]).match Tuple.new([:foo, 5]) # => false\n" 1 "# Template.new([:foo, nil]).match Tuple.new([:foo]) # => false\n" 1 "# Template.new([:foo, 6]).match Tuple.new([:foo]) # => false\n" 1 "# Alias for #match.\n" 1 "# YAML.each_document( yf ) do |ydoc|\n" 1 "DRbObjectTemplate" 1 "# Creates a new DRbObjectTemplate that will match against +uri+ and +ref+.\n" 1 "# This DRbObjectTemplate matches +ro+ if the remote object's drburi and\n" 1 "parse_file" 1 "# YAML.parse_file( 'animals.yaml' )\n" 1 "# Parse a document from the file located at _filepath_.\n" 1 "# @value=\":locked\", @kind=:scalar>\n" 1 "# @type_id=\"tag:ruby.yaml.org,2002:sym\", \n" 1 "# #=> # :locked\n" 1 "# YAML.load( \"--- :locked\" )\n" 1 "# seconds.\n" 1 "180" 1 "# Called by the TupleSpace to check if the object is still alive.\n" 1 "# Load a document from the current _io_ stream.\n" 1 "# Note: Rinda::Ring API is unstable.\n" 1 "# The default port Ring discovery will use.\n" 1 "# #=> \"--- :locked\"\n" 1 "# YAML.dump( :locked )\n" 1 "# is returned.\n" 1 "# If no _io_ is provided, a string containing the dumped YAML\n" 1 "# YAML.dump( ['badger', 'elephant', 'tiger'], out )\n" 1 "# File.open( 'animals.yaml', 'w' ) do |out|\n" 1 "# Converts _obj_ to YAML and writes the YAML result to _io_.\n" 1 "7647" 1 "# Returns a new default emitter\n" 1 "# Returns the default resolver\n" 1 "# A RingServer allows a Rinda::TupleSpace to be located via UDP broadcasts.\n" 1 "# Returns a new generic parser\n" 1 "# Service location uses the following steps:\n" 1 "# 1. A RingServer begins listening on the broadcast UDP address.\n" 1 "# Returns a new default parser\n" 1 "# 2. A RingFinger sends a UDP packet containing the DRb URI where it will\n" 1 "# listen for a reply.\n" 1 "# 3. The RingServer receives the UDP packet and connects back to the\n" 1 "# provided DRb URI with the DRb service.\n" 1 "use_types_at" 1 "# Advertises +ts+ on the UDP broadcast address at +port+.\n" 1 "@w_service" 1 "@r_service" 1 "# Widget.new( val )\n" 1 "# YAML::add_domain_type( \"your-site.com,2004\", \"widget\" ) do |type, val|\n" 1 "# To register your custom types with the global resolver, use +add_domain_type+.\n" 1 "# # => true\n" 1 "# ruby_obj == test_obj\n" 1 "# # => [\"dogs\", \"cats\", \"badgers\"]\n" 1 "# ruby_obj = YAML::load( yaml_obj )\n" 1 "# - badgers\n" 1 "# - cats\n" 1 "# - dogs\n" 1 "# # -> ---\n" 1 "# yaml_obj = YAML::dump( test_obj )\n" 1 "# test_obj = [\"dogs\", \"cats\", \"badgers\"]\n" 1 "# require \"yaml\"\n" 1 "# A simple round-trip (load and dump) of an object.\n" 1 "# global types (YAML::add_domain_type).\n" 1 "# and dumping (YAML::dump) tasks. This module also provides an API for registering\n" 1 "# The YAML module provides quick access to the most common loading (YAML::load)\n" 1 "# 3 of the YAML 1.0 Specification (http://yaml.org/spec/#id2491269).\n" 1 "# For more information about the various information models, see Chapter\n" 1 "# to you as a string. (See +YAML::dump+.)\n" 1 "# The presentation stage is the YAML document itself. This is accessible\n" 1 "# SyckNode structs.\n" 1 "# Ruby is called Syck. Serialized nodes are available in the extension as\n" 1 "# The serialization stage happens inside the parser. The YAML parser used in\n" 1 "# at this level. (See +YAML::parse+.)\n" 1 "# tree of node objects. You can perform YPath queries and transformations\n" 1 "# +YAML::BaseNode+ objects. In this stage, the document is available as a\n" 1 "# The representation stage means data which has been composed into\n" 1 "# own types. (See +YAML::load+.)\n" 1 "# The native stage refers to data which has been loaded completely into Ruby's\n" 1 "# The four stages are: native, representation, serialization, and presentation.\n" 1 "# available to you in three stages.\n" 1 "# This library honors all four of those stages, although data is really only\n" 1 "# The YAML 1.0 specification outlines four stages of YAML loading and dumping.\n" 1 "# == About This Library\n" 1 "# \n" 1 "# visit YAML In Five Minutes (http://yaml.kwiki.org/?YamlInFiveMinutes).\n" 1 "# See http://yaml.org/ for more information. For a quick tutorial, please\n" 1 "# Creates a thread that picks up UDP packets and passes them to do_write\n" 1 "# and construct computer programs to process it.\n" 1 "# provides all the information necessary to understand YAML Version 1.0\n" 1 "# serialization format. Together with the Unicode standard for characters, it\n" 1 "# filtering. This specification describes the YAML information model and\n" 1 "# dumping, configuration files, log files, Internet messaging and\n" 1 "# and Python. YAML is optimized for data serialization, formatted\n" 1 "# human readability and interaction with scripting languages such as Perl\n" 1 "# straightforward machine parsable data serialization format designed for\n" 1 "# YAML(tm) (rhymes with 'camel') is a\n" 1 "# == YAML\n" 1 "# for decoding.\n" 1 "yaml/stream" 1 "yaml/tag" 1 "yaml/syck" 1 "# Extracts the response URI from +msg+ and adds it to TupleSpace where it\n" 1 "# will be picked up by +reply_service+ for notification.\n" 1 "# = yaml.rb: top-level module with methods for loading and parsing YAML documents\n" 1 "# $Id: yaml.rb 19495 2008-09-23 18:16:08Z drbrain $\n" 1 "# Creates a thread that notifies waiting clients from the TupleSpace.\n" 1 "webrick/httpauth.rb" 1 "webrick/httpservlet.rb" 1 "webrick/httpserver.rb" 1 "webrick/httpresponse.rb" 1 "webrick/httprequest.rb" 1 "webrick/httpstatus.rb" 1 "webrick/httpversion.rb" 1 "webrick/cookie.rb" 1 "webrick/httputils.rb" 1 "webrick/htmlutils.rb" 1 "# Pulls lookup tuples out of the TupleSpace and sends their DRb object the\n" 1 "webrick/utils.rb" 1 "webrick/server.rb" 1 "webrick/log.rb" 1 "webrick/config.rb" 1 "webrick/version.rb" 1 "webrick/compat.rb" 1 "# $IPR: webrick.rb,v 1.12 2002/10/01 17:16:31 gotoyuzo Exp $\n" 1 "# address of the local TupleSpace.\n" 1 "# RingFinger is used by RingServer clients to discover the RingServer's\n" 1 "# TupleSpace. Typically, all a client needs to do is call\n" 1 "# RingFinger.primary to retrieve the remote TupleSpace, which it can then\n" 1 "# WEBrick -- WEB server toolkit.\n" 1 "# should raise exception (recycled)\n" 1 "# begin using.\n" 1 "# should be same class\n" 1 "# original's class\n" 1 "# require 'thread'\n" 1 "weakref_alive?" 1 "" 1 "# Creates a singleton RingFinger and looks for a RingServer. Returns the\n" 1 "# created RingFinger.\n" 1 "# Returns the first advertised TupleSpace.\n" 1 "# The list of addresses where RingFinger will send query packets.\n" 1 "# The port that RingFinger will send query packets to.\n" 1 "# Contain the first advertised TupleSpace after lookup_ring_any is called.\n" 1 "# Creates a new RingFinger that will look for RingServers at +port+ on\n" 1 "# ref -> obj\n" 1 "# the addresses in +broadcast_list+.\n" 1 "# obj -> [ref,...]\n" 1 "# Iterates over all discovered TupleSpaces starting with the primary.\n" 1 "# Looks up RingServers waiting +timeout+ seconds. RingServers will be\n" 1 "# given +block+ as a callback, which will be called with the remote\n" 1 "# p foo.to_s\t\t\t# should raise exception (recycled)\n" 1 "# ObjectSpace.garbage_collect\n" 1 "# p foo.to_s\t\t\t# should be same class\n" 1 "# foo = WeakRef.new(foo)\n" 1 "# p foo.to_s\t\t\t# original's class\n" 1 "# TupleSpace.\n" 1 "# Weak Reference class that does not bother GCing.\n" 1 "uri/mailto" 1 "uri/ldaps" 1 "SOL_SOCKET" 1 "uri/https" 1 "SO_BROADCAST" 1 "uri/ftp" 1 "# Returns the first found remote TupleSpace. Any further recovered\n" 1 "# TupleSpaces can be found by calling +to_a+.\n" 1 "000911" 1 "RingNotFound" 1 "# See URI for documentation\n" 1 "# Revision:: $Id: uri.rb 13772 2007-10-25 00:53:34Z akira $\n" 1 "# You can redistribute it and/or modify it under the same term as Ruby.\n" 1 "# Copyright (c) 2001 akira yamada \n" 1 "# RingProvider uses a RingServer advertised TupleSpace as a name service.\n" 1 "# Documentation:: Akira Yamada , Dmitry V. Sabanin \n" 1 "# TupleSpace clients can register themselves with the remote TupleSpace and\n" 1 "# URI support for Ruby\n" 1 "^# ?" 1 "-e " 1 "-e \\w+" 1 "##\\n" 1 "# look up other provided services via the remote TupleSpace.\n" 1 "# Display help message.\n" 1 "# Services are registered with a tuple of the format [:name, klass,\n" 1 "d:h:l:f:v:t:m:c:" 1 "# DRbObject, description].\n" 1 "# --vendor\tinstall to vendor_ruby\n" 1 "# -c ARGS\trun have_const\n" 1 "# -m ARGS\trun have_macro\n" 1 "# -t ARGS\trun have_type\n" 1 "# -v ARGS\trun have_var\n" 1 "# -f ARGS\trun have_func\n" 1 "# -l ARGS\trun have_library\n" 1 "# -h ARGS\trun have_header\n" 1 "# -d ARGS\trun dir_config\n" 1 "# Create makefile using mkmf.\n" 1 "r+b" 1 "n:w:v" 1 "wait_writable" 1 "# -w SEC\teach wait time in seconds\n" 1 "# -n RETRY\tcount to retry\n" 1 "# Wait until the file becomes writable.\n" 1 "# Update the access and modification times of each FILE to the current time.\n" 1 "# Change the mode of each FILE to OCTAL-MODE.\n" 1 "RingProvider" 1 "pm:" 1 "# -m\t\tset permission mode (as in chmod), instead of 0755\n" 1 "# \t\tcorresponding destination files\n" 1 "# -p\t\tapply access/modification times of SOURCE files to\n" 1 "# Copy SOURCE to DEST.\n" 1 "# -p\t\tremove DIRECTORY and its ancestors.\n" 1 "# ruby -run -e rmdir -- [OPTION] DIR\n" 1 "# Remove the DIR.\n" 1 "_p" 1 "# -p\t\tno error if existing, make parent directories as needed\n" 1 "# ruby -run -e mkdir -- [OPTION] DIR\n" 1 "# Create the DIR, if they do not already exist.\n" 1 "# -r\t\tremove the contents of directories recursively\n" 1 "# -f\t\tignore nonexistent files\n" 1 "# Remove the FILE\n" 1 "# Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" 1 "_s" 1 "sf" 1 "# -f\t\tremove existing destination files\n" 1 "# -s\t\tmake symbolic links instead of hard links\n" 1 "# Create a link to the specified TARGET with LINK_NAME.\n" 1 "# Creates a RingProvider that will provide a +klass+ service running on\n" 1 "# +front+, with a +description+. +renewer+ is optional.\n" 1 "# -r\t\tcopy recursively\n" 1 "# -p\t\tpreserve file attributes if possible\n" 1 "# Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY\n" 1 "[*?\\[{]" 1 "\\A(?!--)" 1 "\\A(?:--)?([^\\s=]+)" 1 "# Advertises this service on the primary remote TupleSpace.\n" 1 ".:?" 1 "provide" 1 "# @fileutils_label = \"\"\n" 1 "rinda/tuplespace" 1 "world" 1 "# A TupleEntry is a Tuple (i.e. a possible entry in some Tuplespace)\n" 1 "# together with expiry and cancellation data.\n" 1 "# Creates a TupleEntry based on +ary+ with an optional renewer or expiry\n" 1 "# time +sec+.\n" 1 "# ruby -run -e rmdir -- [OPTION] DIRS\n" 1 "# ruby -run -e mkdir -- [OPTION] DIRS\n" 1 "# A renewer must implement the +renew+ method which returns a Numeric,\n" 1 "# nil, or true to indicate when the tuple has expired.\n" 1 "# Marks this TupleEntry as canceled.\n" 1 "# A TupleEntry is dead when it is canceled or expired.\n" 1 "# == SYNOPSIS\n" 1 "# == Utilities to replace common UNIX commands in Makefiles etc\n" 1 "# You can distribute/modify this program under the same terms of Ruby.\n" 1 "# Copyright (c) 2003 WATANABE Hirofumi \n" 1 "# = un.rb\n" 1 "# Return the object which makes up the tuple itself: the Array\n" 1 "# command line look-and-feel: ruby -rubygems foo.rb\n" 1 "# This file allows for the running of rubygems with a nice\n" 1 "# or Hash.\n" 1 "test_cycle" 1 "test_dag" 1 "TSortTest" 1 "# Returns the canceled status.\n" 1 "# Has this tuple expired? (true/false).\n" 1 "# :yields: child\n" 1 "# #tsort_each_child is used to iterate for child nodes of _node_.\n" 1 "# #tsort_each_node is used to iterate for all nodes over a graph.\n" 1 "# A tuple has expired when its expiry timer based on the +sec+ argument to\n" 1 "# #initialize runs out.\n" 1 "# Reset the expiry time according to +sec_or_renewer+. \n" 1 "# +nil+:: it is set to expire in the far future.\n" 1 "# +false+:: it has expired.\n" 1 "# Numeric:: it will expire in that many seconds.\n" 1 "# Otherwise the argument refers to some kind of renewer object\n" 1 "# #each_strongly_connected_component_from doesn't call #tsort_each_node.\n" 1 "# Return value is unspecified.\n" 1 "# _node_.\n" 1 "# Iterates over strongly connected component in the subgraph reachable from\n" 1 "# which will reset its expiry time. \n" 1 "# Returns an expiry Time based on +sec+ which can be one of:\n" 1 "# Numeric:: +sec+ seconds into the future\n" 1 "# #each_strongly_connected_component returns +nil+.\n" 1 "# obj.strongly_connected_components.each, but\n" 1 "# obj.each_strongly_connected_component is similar to\n" 1 "# The iterator version of the #strongly_connected_components method.\n" 1 "# +true+:: the expiry time is the start of 1970 (i.e. expired)\n" 1 "# Each elements of the array represents a strongly connected component.\n" 1 "# The array is sorted from children to parents.\n" 1 "# Returns strongly connected components as an array of arrays of nodes.\n" 1 "topological sort failed: " 1 "# +nil+:: it is Tue Jan 19 03:14:07 GMT Standard Time 2038 (i.e. when\n" 1 "# #tsort_each returns +nil+.\n" 1 "# UNIX clocks will die)\n" 1 "# obj.tsort_each is similar to obj.tsort.each, but\n" 1 "# The iterator version of the #tsort method.\n" 1 "# Retrieves +key+ from the tuple.\n" 1 "# Fetches +key+ from the tuple.\n" 1 "# the first element has no child and the last node has no parent.\n" 1 "# The array is sorted from children to parents, i.e.\n" 1 "# Returns a topologically sorted array of nodes.\n" 1 "# The size of the tuple.\n" 1 "# SIAM Journal on Computing, Vol. 1, No. 2, pp. 146-160, June 1972.\n" 1 "# R. E. Tarjan, \"Depth First Search and Linear Graph Algorithms\",\n" 1 "# Although 'strongly_connected_components.rb' is correct but too long.\n" 1 "# Tarjan's algorithm for strongly connected components.\n" 1 "# * 'tsort.rb' is wrong name because this library uses\n" 1 "# m.build('t5')\n" 1 "# m.rule(%w[t5], %w[t4 t2]) { command 'cat t4 t2 > t5' }\n" 1 "# m.rule(%w[t4], %w[t1 t3]) { command 'cat t1 t3 > t4' }\n" 1 "# m.rule(%w[t3]) { command 'date > t3' }\n" 1 "# m.rule(%w[t2]) { command 'date > t2' }\n" 1 "# m.rule(%w[t1]) { command 'date > t1' }\n" 1 "# m = Make.new\n" 1 "# system arg\n" 1 "# print arg, \"\\n\"\n" 1 "# def command(arg)\n" 1 "# @dep[node].each(&block)\n" 1 "# block.call\n" 1 "# sleep 1 if inputs_time != nil && inputs_time.to_i == Time.now.to_i\n" 1 "# inputs_time != nil && outputs_time <= inputs_time\n" 1 "# if outputs_time == nil ||\n" 1 "# outputs_time = nil\n" 1 "# rescue Errno::ENOENT\n" 1 "# outputs_time = outputs.map {|f| File.mtime f}.min\n" 1 "# begin\n" 1 "# inputs_time = inputs.map {|f| File.mtime f}.max\n" 1 "# outputs, inputs, block = n\n" 1 "# if Array === n\n" 1 "# n = ns.first\n" 1 "# raise TSort::Cyclic.new(\"cyclic dependencies: \#{fs.join ', '}\")\n" 1 "# fs = ns.delete_if {|n| Array === n}\n" 1 "# if ns.length != 1\n" 1 "# each_strongly_connected_component_from(target) {|ns|\n" 1 "# def build(target)\n" 1 "# @dep[triple] = inputs\n" 1 "# outputs.each {|f| @dep[f] = [triple]}\n" 1 "# triple = [outputs, inputs, block]\n" 1 "# def rule(outputs, inputs=[], &block)\n" 1 "# @dep.default = []\n" 1 "# @dep = {}\n" 1 "# class Make\n" 1 "# A very simple `make' like tool can be implemented as follows:\n" 1 "# == A More Realistic Example\n" 1 "# #=> [[4], [2, 3], [1]]\n" 1 "# {1=>[2], 2=>[3, 4], 3=>[2], 4=>[]}.strongly_connected_components\n" 1 "# #=> [3, 2, 1, 4]\n" 1 "# {1=>[2, 3], 2=>[3], 3=>[], 4=>[]}.tsort\n" 1 "# fetch(node).each(&block)\n" 1 "# Creates a Rinda::Tuple for +ary+.\n" 1 "# alias tsort_each_node each_key\n" 1 "# Returns a valid argument to make_expires and the renewer or nil.\n" 1 "# class Hash\n" 1 "# Given +true+, +nil+, or Numeric, returns that value and +nil+ (no actual\n" 1 "# array using the user-supplied block.\n" 1 "# method, which fetches the array of child nodes and then iterates over that\n" 1 "# choice in turn leads to our implementation of the required #tsort_each_child\n" 1 "# hash, the associated value is an array of the node's child nodes. This\n" 1 "# #tsort_each_node method to Hash's #each_key method. For each key in the\n" 1 "# the hash as a node in the graph, and so we simply alias the required\n" 1 "# existing class (in this case, Hash). Here, we're treating each key in\n" 1 "# The following example demonstrates how to mix the TSort module into an\n" 1 "# == A Simple Example\n" 1 "# TSort uses Hash internally.\n" 1 "# The equality of nodes are defined by eql? and hash since\n" 1 "# * tsort_each_child is used to iterate for child nodes of a given node.\n" 1 "# * tsort_each_node is used to iterate for all nodes over a graph.\n" 1 "# tsort_each_node and tsort_each_child.\n" 1 "# TSort requires two methods to interpret an object as a graph,\n" 1 "# interpreted as a directed graph.\n" 1 "# TSort is designed to be able to be used with any object which can be\n" 1 "# strongly connected components.\n" 1 "# TSort implements topological sorting using Tarjan's algorithm for\n" 1 "# tsort.rb - provides a module for topological sorting and strongly connected components.\n" 1 "# direct call\n" 1 "# Thread.critical = saved_crit\n" 1 "#%d:%s:%d:%s:%s: %s" 1 "# Thread.critical = true\n" 1 "# saved_crit = Thread.critical\n" 1 "# renewer). Otherwise it returns an expiry value from calling +it.renew+\n" 1 "-\\n" 1 "# and the renewer.\n" 1 "# A TemplateEntry is a Template together with expiry and cancellation data.\n" 1 "# Matches this TemplateEntry against +tuple+. See Template#match for\n" 1 "Trace off\\n" 1 "Trace on\\n" 1 "# details on how a Template matches a Tuple.\n" 1 "# A NotifyTemplateEntry is returned by TupleSpace#notify and is notified of\n" 1 "# TupleSpace changes. You may receive either your subscribed event or the\n" 1 "-$Id: tracer.rb,v 1.8 1998/05/19 03:42:49 keiju Exp keiju $-" 1 "# tracer main class\n" 1 "# 'close' event when iterating over notifications.\n" 1 "# \t$Revision: 1.8 $\n" 1 "# \t$Release Version: 0.2$\n" 1 "# tracer.rb - \n" 1 "unexpected prefix_suffix: " 1 "# See TupleSpace#notify_event for valid notification types.\n" 1 "mktmpdir" 1 "# FileUtils.remove_entry_secure dir\n" 1 "# # remove the directory.\n" 1 "# ensure\n" 1 "# begin\n" 1 "# dir = Dir.mktmpdir\n" 1 "# In this case, Dir.mktmpdir doesn't remove the directory.\n" 1 "# The path of the directory is returned.\n" 1 "# If a block is not given,\n" 1 "# ts = Rinda::TupleSpace.new\n" 1 "# observer = ts.notify 'write', [nil]\n" 1 "# Thread.start do\n" 1 "# Dir.mktmpdir {|dir|\n" 1 "# The value of the block is returned.\n" 1 "# using FileUtils.remove_entry_secure before Dir.mktmpdir returns.\n" 1 "# The directory and its contents are removed\n" 1 "# it is yielded with the path of the directory.\n" 1 "# If a block is given,\n" 1 "# Dir.mktmpdir(nil, \"/var/tmp\") {|dir| dir is \"/var/tmp/d...\" }\n" 1 "# Dir.mktmpdir {|dir| dir is \"\#{Dir.tmpdir}/d...\" }\n" 1 "# the optional second argument tmpdir if non-nil value is given.\n" 1 "# The directory is created under Dir.tmpdir or\n" 1 "# Dir.mktmpdir([\"foo\", \"bar\"]) {|dir| dir is \".../foo...bar\" }\n" 1 "# Dir.mktmpdir(\"foo\") {|dir| dir is \".../foo...\" }\n" 1 "# Dir.mktmpdir {|dir| dir is \".../d...\" }\n" 1 "# - If it is an array, first element is used as the prefix and second element is used as a suffix.\n" 1 "# - If it is a string, it is used as the prefix and no suffix is used.\n" 1 "# - If it is not specified or nil, \"d\" is used as the prefix and no suffix is used.\n" 1 "# the optional first argument, prefix_suffix.\n" 1 "# The prefix and suffix of the name of the directory is specified by\n" 1 "# The directory is created with 0700 permission.\n" 1 "# Dir.mktmpdir creates a temporary directory.\n" 1 "\t " 1 "# observer.each { |t| p t }\n" 1 "# 3.times { |i| ts.write [i] }\n" 1 "# Outputs:\n" 1 "# Returns the operating system's temporary file path.\n" 1 "# ['write', [0]]\n" 1 "GetWindowsDirectory" 1 "# ['write', [1]]\n" 1 "GetSystemWindowsDirectory" 1 "# ['write', [2]]\n" 1 "LLLLP" 1 "# Creates a new NotifyTemplateEntry that watches +place+ for +event+s that\n" 1 "# match +tuple+.\n" 1 "# Called by TupleSpace to notify this NotifyTemplateEntry of a new event.\n" 1 "# Retrieves a notification. Raises RequestExpiredError when this\n" 1 "# NotifyTemplateEntry expires.\n" 1 "# Yields event/tuple pairs until this NotifyTemplateEntry expires.\n" 1 "0x001c" 1 "# :yields: event, tuple\n" 1 "# TupleBag is an unordered collection of tuples. It is the basis\n" 1 "# $Id: tmpdir.rb 23781 2009-06-21 09:14:14Z yugui $\n" 1 "# tmpdir - retrieve temporary directory path\n" 1 "# earlier versions of timeout.rb.\n" 1 "# Another name for Timeout::Error, defined for backwards compatibility with\n" 1 "# Timeout#timeout.\n" 1 "# Defined for backwards compatibility with earlier versions of timeout.rb, see\n" 1 "# Timeout::timeout(n, e, &block).\n" 1 "# Identical to:\n" 1 "# make sure y is dead.\n" 1 "# would be expected outside.\n" 1 "# if exception class is specified, it\n" 1 "# of Tuplespace.\n" 1 "# +true+ if the TupleBag to see if it has any expired entries.\n" 1 "# Add +tuple+ to the TupleBag.\n" 1 "execution expired" 1 "#:yield: +sec+\n" 1 "# so you can call it directly as Timeout.timeout().\n" 1 "# into your classes so they have a #timeout method, as well as a module method,\n" 1 "# Note that this is both a method of module Timeout, so you can 'include Timeout'\n" 1 "# to Timeout::Error).\n" 1 "# If not, it terminates the execution and raises +exception+ (which defaults\n" 1 "# +sec+ seconds has passed, it returns the result value of the block.\n" 1 "# Executes the method's block. If the block execution terminates before\n" 1 "# Removes +tuple+ from the TupleBag.\n" 1 "# Finds all live tuples that match +template+.\n" 1 "# Finds a live tuple that matches +template+.\n" 1 "# Raised by Timeout#timeout when the block times out.\n" 1 "# Copyright:: (C) 2000 Information-technology Promotion Agency, Japan\n" 1 "# Copyright:: (C) 2000 Network Applied Communication Laboratory, Inc.\n" 1 "# = Copyright\n" 1 "# provides both Timeout.timeout, and a backwards-compatible #timeout.\n" 1 "# Previous versions of timeout didn't provide use a module for namespace. This version\n" 1 "# it's execution if it hasn't finished by a fixed amount of time.\n" 1 "# A way of performing a potentially long-running operation in a thread, and terminating\n" 1 "# = Description\n" 1 "# # Something that should be interrupted if it takes too much time...\n" 1 "# status = Timeout::timeout(5) {\n" 1 "# require 'timeout'\n" 1 "# = Synopsis\n" 1 "# execution timeout\n" 1 "# = timeout.rb\n" 1 "# Finds all tuples in the TupleBag which when treated as templates, match\n" 1 "# +tuple+ and are alive.\n" 1 "# Delete tuples which dead tuples from the TupleBag, returning the deleted\n" 1 "test_nsec" 1 "%d/%b/%Y:%T %z" 1 "28/Aug/2005:06:54:20 +0000" 1 "06" 1 "2005" 1 "test_strptime" 1 "test_parse_fraction" 1 "2005-08-30T22:48:00-07:00" 1 "test_ruby_talk_152866" 1 "# tuples.\n" 1 "# The Tuplespace manages access to the tuples it contains,\n" 1 "test_xmlschema_fraction" 1 "1998-12-31T23:00:00-01:00" 1 "1999-01-01T00:00:00+00:00" 1 "1999-01-01T01:00:00+01:00" 1 "1999-01-01T09:00:00+09:00" 1 "1999-01-01T00:00:00-00:00" 1 "1999-01-01T00:00:00Z" 1 "1998-12-31T22:59:60-01:00" 1 "1998-12-31T23:59:60+00:00" 1 "1999-01-01T00:59:60+01:00" 1 "1999-01-01T08:59:60+09:00" 1 "1998-12-31T23:59:60-00:00" 1 "1998-12-31T23:59:60Z" 1 "1998-12-31T22:59:59-01:00" 1 "1998-12-31T23:59:59+00:00" 1 "1999-01-01T00:59:59+01:00" 1 "1999-01-01T08:59:59+09:00" 1 "1998-12-31T23:59:59-00:00" 1 "1998-12-31T23:59:59Z" 1 "test_xmlschema_leap_second" 1 "Fri, 31 Dec 1998 23:00:00 -0100" 1 "Fri, 1 Jan 1999 00:00:00 +0000" 1 "Fri, 1 Jan 1999 01:00:00 +0100" 1 "Fri, 1 Jan 1999 09:00:00 +0900" 1 "Fri, 1 Jan 1999 00:00:00 -0000" 1 "Thu, 1 Jan 1999 00:00:00 UTC" 1 "Fri, 31 Dec 1998 22:59:60 -0100" 1 "Fri, 31 Dec 1998 23:59:60 +0000" 1 "Fri, 1 Jan 1999 00:59:60 +0100" 1 "Fri, 1 Jan 1999 08:59:60 +0900" 1 "Fri, 31 Dec 1998 23:59:60 -0000" 1 "Thu, 31 Dec 1998 23:59:60 UTC" 1 "Fri, 31 Dec 1998 22:59:59 -0100" 1 "Fri, 31 Dec 1998 23:59:59 +0000" 1 "Fri, 1 Jan 1999 00:59:59 +0100" 1 "Fri, 1 Jan 1999 08:59:59 +0900" 1 "Fri, 31 Dec 1998 23:59:59 -0000" 1 "Thu, 31 Dec 1998 23:59:59 UTC" 1 "test_rfc2822_leap_second" 1 "Fri Dec 31 23:00:00 -0100 1998" 1 "Fri Jan 1 00:00:00 +0000 1999" 1 "Fri Jan 1 01:00:00 +0100 1999" 1 "Fri Jan 1 09:00:00 +0900 1999" 1 "Fri Jan 1 00:00:00 -0000 1999" 1 "Thu Jan 1 00:00:00 UTC 1999" 1 "Fri Dec 31 22:59:60 -0100 1998" 1 "Fri Dec 31 23:59:60 +0000 1998" 1 "Fri Jan 1 00:59:60 +0100 1999" 1 "Fri Jan 1 08:59:60 +0900 1999" 1 "Fri Dec 31 23:59:60 -0000 1998" 1 "Thu Dec 31 23:59:60 UTC 1998" 1 "Fri Dec 31 22:59:59 -0100 1998" 1 "Fri Dec 31 23:59:59 +0000 1998" 1 "Fri Jan 1 00:59:59 +0100 1999" 1 "Fri Jan 1 08:59:59 +0900 1999" 1 "Fri Dec 31 23:59:59 -0000 1998" 1 "Thu Dec 31 23:59:59 UTC 1998" 1 "# ensuring mutual exclusion requirements are met.\n" 1 "test_parse_leap_second" 1 "test_rfc2822_utc_roundtrip_summer" 1 "[ruby-dev:37126]" 1 "# The +sec+ option for the write, take, move, read and notify methods may\n" 1 "# either be a number of seconds or a Renewer object.\n" 1 "test_rfc2822_utc_roundtrip_winter" 1 "Sat, 01 Jan 2000 00:00:00 UTC" 1 "# Creates a new TupleSpace. +period+ is used to control how often to look\n" 1 "# for dead tuples after modifications to the TupleSpace.\n" 1 "# If no dead tuples are found +period+ seconds after the last\n" 1 "2000-01-01T00:00:00+00:00" 1 "2000-01-01T00:00:00-00:00" 1 "2000-01-01T00:00:00Z" 1 "test_zone_0000" 1 "=?iso-8859-1?Q?(=BF=E5),?= 12 =?iso-8859-1?Q?9=B7=EE?= 2001 14:52:41\\n+0900 (JST)" 1 "\\307\\341\\314\\343\\332\\311, 30 \\344\\346\\335\\343\\310\\321 2001 10:01:06" 1 "=?iso-8859-1?Q?(=C5=DA),?= 10 2 2001 23:32:26 +0900 (JST)" 1 "Wed,7 \\312\\256\\322\\273\\324\\302 2001 23:47:22 +0800" 1 "Wed,16 \\276\\305\\324\\302 2001 20:06:25 +0800" 1 "Sat, 15 Sep 2001 13:22:2 +0300" 1 "Fri, 11 Aug 2000 10:4:42 +0800" 1 "Wed, 23 Aug 2000 9:17:36 +0800" 1 "Wed, 1 Aug 2001 16:9:15 +0200" 1 "Mon, 7 May 2001 9:39:51 +0200" 1 "Fri, 1 Dec 2000 0:57:50 EST" 1 "Fri, 25 Aug 2000 9:3:48 +0800" 1 "Tue, 14 Aug 2001 3:55:3 +0200" 1 "ele, 11 h: 2000 12:42:15 -0500" 1 "# modification, the TupleSpace will stop looking for dead tuples.\n" 1 "ter, 04 set 2001 16:27:58 -0300" 1 "dom, 26 ago 2001 03:57:07 -0300" 1 "%&, 31 %2/ 2000 15:44:47 -0500" 1 "Dom, 30 Sep 2001 17:36:30" 1 "l\\366, 26 maj 2001 00:15:58" 1 "l\\366, 12 aug 2000 18:53:20" 1 "Mo, 18 Jun 2001 19:21:40 -1000" 1 "Fr, 21 Sep 2001 17:44:03 -1000" 1 "fr, 11 aug 2000 18:39:22" 1 "P, 30 sept 2001 23:03:14" 1 "Mi, 28 Mrz 2001 11:51:36" 1 "3/11/2001 1:31:57 PM Pacific Daylight Time" 1 "Thursday, Sep 27 2001 7:42:35 AM EST" 1 "Fri, 19 Jan 2001 8:15:36 AM -0500" 1 "Fri, 28 Apr 2000 20:40:47 +-900" 1 "Mon, 11 Sep 2000 19:47:33 00000" 1 "Wed, 5 Apr 2000 22:57:09 JST" 1 "Thu, 2 Nov 2000 04:13:53 -600" 1 "Fri, 27 Jul 2001 11.14.14 +0200" 1 "Fri, 2 Nov 2001 03:47:54" 1 "Fri, Oct 2001 18:53:32" 1 "18 \\343\\366\\356\\341\\370 2000" 1 "01 11 2001 06:55:57 -0500" 1 "2 Jul 00 00:51:37 JST" 1 "01 Oct 00 5:41:19 PM" 1 "13 Feb 2001 16:4 GMT" 1 "01 Nov 2001 09:04:31" 1 "9/4/2001 9:23:19 PM" 1 "2001/10/17 04:29:55" 1 "2000-12-13 11:01:11" 1 "2001-9-27 9:36:49" 1 "00-5-6 1:13:06" 1 "2001-8-28" 1 "7/21/00" 1 "01-5-20" 1 "# They were actually used in some mails.\n" 1 "Fri, 30 Nov 2001 21:30:00 JST" 1 "Saturday, 01-Dec-101 11:10:07 GMT" 1 "Saturday, 01-Dec-2001 10:15:34 GMT" 1 "Sat, 1-Dec-2001 10:53:55 GMT" 1 "Sat, 1 Dec 2001 10:25:42 GMT" 1 "1 Dec 2001 10:23:57 GMT" 1 "# They were actually used in some web sites.\n" 1 "test_invalid" 1 "10:22" 1 "#assert_equal(Time.local(2001,11,1), Time.parse(\"Nov\", now))\n" 1 "11/29" 1 "2001/11/29" 1 "2001/11/29 21:12" 1 "# Adds +tuple+\n" 1 "test_completion" 1 "2008-06-05T23:49:23.000249+09:00" 1 "# Removes +tuple+\n" 1 "1960-12-31T23:00:00.123456Z" 1 "1960" 1 "2001-04-17T19:23:17.1Z" 1 "2001-04-17T19:23:17.12345Z" 1 "2001-04-17T19:23:17.123456Z" 1 "2001-04-17T19:23:17.1234560Z" 1 "# Moves +tuple+ to +port+.\n" 1 "2001-04-17T19:23:17.3000000Z" 1 "2001-04-17T19:23:17.300000Z" 1 "2001-04-17T19:23:17Z" 1 "test_encode_xmlschema" 1 "2000-01-01T00:00:00.+00:00" 1 "# Reads +tuple+, but does not remove it.\n" 1 "# Returns all tuples matching +tuple+. Does not remove the found tuples.\n" 1 "# Registers for notifications of +event+. Returns a NotifyTemplateEntry.\n" 1 "2000-01-12T12:13:14Z" 1 "2000-01-16T00:00:00" 1 "2000-01-16T12:00:00" 1 "1999-12-31T23:00:00Z" 1 "2000-01-01T12:00:00" 1 "2000-01-16T12:00:00Z" 1 "2000-01-15T12:00:00" 1 "2000-02-15T00:00:00" 1 "2000-01-15T00:00:00" 1 "2000-03-04T20:00:00Z" 1 "2000-03-04T23:00:00+03:00" 1 "2000-01-20T12:00:00-13:00" 1 "2000-01-20T12:00:00+12:00" 1 "2000-01-20T12:00:00Z" 1 "2000-01-20T12:00:00" 1 "1999-05-31T13:20:00-05:00" 1 "test_xmlschema" 1 "# http://www.w3.org/TR/xmlschema-2/\n" 1 "1937-01-01T12:00:27.87+00:20" 1 "870000" 1 "# See NotifyTemplateEntry for examples of how to listen for notifications.\n" 1 "1937" 1 "1990-12-31T15:59:60-08:00" 1 "# leap second is representable only if timezone file has it.\n" 1 "1990-12-31T23:59:60Z" 1 "1990" 1 "1996-12-20T00:39:57Z" 1 "# There is no way to generate time string with arbitrary timezone.\n" 1 "1996-12-19T16:39:57-08:00" 1 "57" 1 "# +event+ can be:\n" 1 "1996" 1 "1985-04-12T23:20:50.52Z" 1 "520000" 1 "1985" 1 "test_rfc3339" 1 "Sunday, 23-Dec-07 11:22:33 GMT" 1 "2007" 1 "Fri, 31 Dec 1999 23:59:59 GMT" 1 "# 'write':: A tuple was added\n" 1 "Tue, 15 Nov 1994 12:45:26 GMT" 1 "# 'take':: A tuple was taken or moved\n" 1 "Sat, 29 Oct 1994 19:43:31 GMT" 1 "Thu, 01 Dec 1994 16:00:00 GMT" 1 "Tue, 15 Nov 1994 08:12:31 GMT" 1 "Wed, 15 Nov 1995 04:58:08 GMT" 1 "58" 1 "Wed, 15 Nov 1995 06:25:24 GMT" 1 "# 'delete':: A tuple was lost after being overwritten or expiring\n" 1 "Sun Nov 6 08:49:37 1994" 1 "Sunday, 06-Nov-94 08:49:37 GMT" 1 "Sun, 06 Nov 1994 08:49:37 GMT" 1 "# The TupleSpace will also notify you of the 'close' event when the\n" 1 "test_rfc2616" 1 "Fri, 21 Nov 1997 09(comment): 55 : 06 -0600" 1 "# inner comment is not supported.\n" 1 "Fri, 21 Nov 1997 09 : 55 : 06 -0600" 1 "21 Nov 97 09:55:06 GMT" 1 " -0330 (Newfoundland Time)\"" 1 " Thu,\n 13\n Feb\n 1969\n 23:32\n" 1 "Thu, 13 Feb 1969 23:32:54 -0330" 1 "# NotifyTemplateEntry has expired.\n" 1 "# Removes dead tuples.\n" 1 "Mon, 24 Nov 1997 14:22:01 -0800" 1 "Fri, 21 Nov 1997 11:00:00 -0600" 1 "Fri, 21 Nov 1997 10:01:10 -0600" 1 "Tue, 1 Jul 2003 10:52:37 +0200" 1 "52" 1 "2003" 1 "Fri, 21 Nov 1997 09:55:06 -0600" 1 "# Notifies all registered listeners for +event+ of a status change of\n" 1 "test_rfc2822" 1 "27 Aug 76 09:32 PDT" 1 "26 Aug 76 14:30 EDT" 1 "# +tuple+.\n" 1 "test_rfc822" 1 "TimeExtentionTest" 1 "# Creates a thread that scans the tuplespace for expired tuples.\n" 1 "# Checks the tuplespace to see if it needs cleaning.\n" 1 "%d-%02d-%02dT%02d:%02d:%02d" 1 "# $Id: core.rb 11708 2007-02-12 23:01:19Z shyouhei $\n" 1 "# Its default value is 0.\n" 1 "# +fractional_seconds+ specifies a number of digits of fractional seconds.\n" 1 "# If self is a UTC time, Z is used as TZD. [+-]hh:mm is used otherwise.\n" 1 "# where TZD is Z or [+-]hh:mm.\n" 1 "# CCYY-MM-DDThh:mm:ss.sssTZD\n" 1 "# CCYY-MM-DDThh:mm:ssTZD\n" 1 "# Schema:\n" 1 "# Returns a string which represents the time as dateTime defined by XML\n" 1 "%s, %02d %s %d %02d:%02d:%02d GMT" 1 "# Note that the result is always UTC (GMT).\n" 1 "# day-of-week, DD month-name CCYY hh:mm:ss GMT\n" 1 "# defined by RFC 2616:\n" 1 "# Returns a string which represents the time as rfc1123-date of HTTP-date\n" 1 "# Copyright (c) 2003-2005 Minero Aoki\n" 1 "%s%02d%02d" 1 "ripper.so" 1 "-0000" 1 "# Parses Ruby program read from _src_.\n" 1 "# _src_ must be a String or a IO or a object which has #gets method.\n" 1 "(ripper)" 1 "%s, %02d %s %d %02d:%02d:%02d " 1 "# If +self+ is a UTC time, -0000 is used as zone.\n" 1 "# where zone is [+-]hhmm.\n" 1 "# day-of-week, DD month-name CCYY hh:mm:ss zone\n" 1 "# Returns a string which represents the time as date-time defined by RFC 2822:\n" 1 "# class << self\n" 1 "# This array contains name of parser events.\n" 1 "# This array contains name of scanner events.\n" 1 "\\A\\s*\n (-?\\d+)-(\\d\\d)-(\\d\\d)\n T\n (\\d\\d):(\\d\\d):(\\d\\d)\n (\\.\\d+)?\n (Z|[+-]\\d\\d:\\d\\d)?\n" 1 "# See #xmlschema for more information on this format.\n" 1 "# ArgumentError is raised if +date+ is not compliant with the format or Time\n" 1 "# 8601.\n" 1 "# object. The format is restricted version of the format defined by ISO\n" 1 "# Parses +date+ as dateTime defined by XML Schema and converts it to a Time\n" 1 "not RFC 2616 compliant date: " 1 "\\A\\s*\n (?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)\\x20\n (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\x20\n (\\d\\d|\\x20\\d)\\x20\n (\\d\\d):(\\d\\d):(\\d\\d)\\x20\n (\\d{4})\n" 1 "# This array contains name of all ripper events.\n" 1 "\\A\\s*\n (?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday),\\x20\n (\\d\\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\d\\d)\\x20\n (\\d\\d):(\\d\\d):(\\d\\d)\\x20\n GMT\n" 1 "EVENTS" 1 "\\A\\s*\n (?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),\\x20\n (\\d{2})\\x20\n (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\x20\n (\\d{4})\\x20\n (\\d{2}):(\\d{2}):(\\d{2})\\x20\n GMT\n" 1 "# See #httpdate for more information on this format.\n" 1 "# Parser Events\n" 1 "# ArgumentError is raised if +date+ is not compliant with RFC 2616 or Time\n" 1 "# Parses +date+ as HTTP-date defined by RFC 2616 and converts it to a Time\n" 1 "not RFC 2822 compliant date: " 1 "# This method is called when weak warning is produced by the parser.\n" 1 "# This method is called when strong warning is produced by the parser.\n" 1 "# following year completion is compliant with RFC 2822.\n" 1 "# This method is called when the parser found syntax error.\n" 1 "# Since RFC 2822 permit comments, the regexp has no right anchor.\n" 1 " UT|GMT|EST|EDT|CST|CDT|MST|MDT|PST|PDT|[A-IK-Z])/ix" 1 "\\A\\s*\n (?:(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)\\s*,\\s*)?\n (\\d{1,2})\\s+\n (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s+\n (\\d{2,})\\s+\n (\\d{2})\\s*\n :\\s*(\\d{2})\\s*\n (?::\\s*(\\d{2}))?\\s+\n ([+-]\\d{4}|\n" 1 "# See #rfc2822 for more information on this format.\n" 1 "# or Time class cannot represent specified date.\n" 1 "# ArgumentError is raised if +date+ is not compliant with RFC 2822\n" 1 "# updated by RFC 1123.\n" 1 "# object. The format is identical to the date format defined by RFC 822 and\n" 1 "# Parses +date+ as date-time defined by RFC 2822 and converts it to a Time\n" 1 "DEC" 1 "NOV" 1 "OCT" 1 "SEP" 1 "AUG" 1 "JUL" 1 "JUN" 1 "MAY" 1 "APR" 1 "MAR" 1 "FEB" 1 "JAN" 1 "compile_error" 1 "invalid strptime format - `" 1 "# Time.strptime(...) {|y| y < 100 ? (y >= 69 ? y + 1900 : y + 2000) : y}\n" 1 "# Parses +date+ using Date._strptime and converts it to a Time object.\n" 1 "# A failure for Time.parse should be checked, though.\n" 1 "# Time.xmlschema(date) rescue Time.parse(date)\n" 1 "# Time.httpdate(date) rescue Time.parse(date)\n" 1 "# Time.rfc2822(date) rescue Time.parse(date)\n" 1 "# This method can be used as fail-safe for other parsing methods as:\n" 1 "# +date+ or Time class cannot represent specified date.\n" 1 "# ArgumentError is raised if Date._parse cannot extract information from\n" 1 "# it is ignored and the given time is regarded as a local time.\n" 1 "# If the extracted timezone abbreviation does not match any of them,\n" 1 "# Time.local(year, 7, 1).zone.\n" 1 "# Time.local(year, 1, 1).zone and\n" 1 "# timezone definition.) The system timezone is taken from\n" 1 "# order named. (i.e. a definition in RFC 822 overrides the system\n" 1 "# abbreviations described in RFC 822 and the system timezone, in the\n" 1 "# Based on the fact, this method only understands the timezone\n" 1 "# etc.\n" 1 "# +10:30 in Australia/Adelaide,\n" 1 "# +09:30 in Australia/Darwin,\n" 1 "# +08:00 in Asia/Harbin,\n" 1 "# -05:00 in America/Havana,\n" 1 "# -06:00 in America/Chicago,\n" 1 "# used variously as:\n" 1 "# understand all of them. For example, the abbreviation \"CST\" is\n" 1 "# abbreviations all over the world, this method is not made to\n" 1 "# Since there are numerous conflicts among locally defined timezone\n" 1 "# Time.parse(\"Aug 31\") #=> Fri Aug 31 00:00:00 GMT 2001\n" 1 "# Time.parse(\"7/23\") #=> Mon Jul 23 00:00:00 GMT 2001\n" 1 "# Time.parse(\"16:30\") #=> Thu Nov 29 16:30:00 GMT 2001\n" 1 "# # your timezone is GMT:\n" 1 "# # Suppose it is \"Thu Nov 29 14:33:20 GMT 2001\" now and\n" 1 "# values (1 or 0) are assumed if broken or missing. For example:\n" 1 "# supplied with those of +now+. For the lower components, the minimum\n" 1 "# If the upper components of the given time are broken or missing, they are\n" 1 "# Time.parse(...) {|y| y < 100 ? (y >= 69 ? y + 1900 : y + 2000) : y}\n" 1 "# Scanner Events\n" 1 "(token)\n token\n end\n" 1 "# Parses +date+ using Date._parse and converts it to a Time object.\n" 1 "# $Id: filter.rb 11708 2007-02-12 23:01:19Z shyouhei $\n" 1 "# This class handles only scanner events,\n" 1 "# and they are dispatched in the `right' order (same with input).\n" 1 "# The file name of the input.\n" 1 "# The line number of the current token.\n" 1 "# This value starts from 1.\n" 1 "# The column number of the current token.\n" 1 "# This value starts from 0.\n" 1 "# Starts parsing. _init_ is a data accumulator.\n" 1 "\\A(?:-00:00|-0000|-00|UTC|Z|UT)\\z" 1 "# So -00:00 and -0000 are treated as UTC.\n" 1 "# Europe/London because time zone neutral, \n" 1 "# They are not appropriate for specific time zone such as\n" 1 "# but the offset to local time is unknown.\n" 1 "# In RFC 3339, -00:00 is used for the time in UTC is known,\n" 1 "# local time zone.\n" 1 "# In RFC 2822, -0000 the date-time contains no information about the\n" 1 "# * -0000, -00:00\n" 1 "# So it is a local time.\n" 1 "# Africa/Dakar, etc.\n" 1 "# GMT is used as a time zone abbreviation in Europe/London,\n" 1 "# * GMT\n" 1 "# So +0000 is a local time such as Europe/London, etc.\n" 1 "# Africa/Dakar is \"a time zone at Universal Time\".\n" 1 "# Atlantic/Reykjavik is \"a time zone at Universal Time\".\n" 1 "# Europe/Lisbon is \"a time zone at Universal Time\" in Winter.\n" 1 "# Europe/London is \"a time zone at Universal Time\" in Winter.\n" 1 "# In RFC 2822, +0000 indicate a time zone at Universal Time.\n" 1 "# * +0000\n" 1 "# It is passed to the next event handler (as of Enumerable#inject).\n" 1 "\\A[+-]\\d\\d\\z" 1 "\\A([+-])(\\d\\d):?(\\d\\d)\\z" 1 "# This method is called when some event handler have not defined.\n" 1 "# _event_ is :on_XXX, _token_ is scanned token, _data_ is a data\n" 1 "# accumulator. The return value of this method is passed to the\n" 1 "# next event handler (as of Enumerable#inject).\n" 1 "# $Id: lexer.rb 13966 2007-11-19 07:10:09Z matz $\n" 1 "# Tokenizes Ruby program and returns an Array of String.\n" 1 "# Tokenizes Ruby program and returns an Array of Array,\n" 1 "# which is formatted like [[lineno, column], type, token].\n" 1 "# p Ripper.lex(\"def m(a) nil end\")\n" 1 "O" 1 "+12" 1 "+11" 1 "+10" 1 "K" 1 "+9" 1 "+8" 1 "# #=> [[[1, 0], :on_kw, \"def\"],\n" 1 "+7" 1 "# [[1, 3], :on_sp, \" \" ],\n" 1 "+6" 1 "# [[1, 4], :on_ident, \"m\" ],\n" 1 "+5" 1 "# [[1, 5], :on_lparen, \"(\" ],\n" 1 "+4" 1 "# [[1, 6], :on_ident, \"a\" ],\n" 1 "+3" 1 "+2" 1 "# [[1, 7], :on_rparen, \")\" ],\n" 1 "# See RFC 1123 and RFC 2822 for the error in RFC 822.\n" 1 "# Following definition of military zones is original one.\n" 1 "PDT" 1 "PST" 1 "MDT" 1 "MST" 1 "CDT" 1 "CST" 1 "EDT" 1 "EST" 1 "GMT" 1 "UT" 1 "# RFC 822\n" 1 "# [[1, 8], :on_sp, \" \" ],\n" 1 "# ISO 8601\n" 1 "UTC" 1 "# [[1, 9], :on_kw, \"nil\"],\n" 1 "# documentation for the time.rb library.\n" 1 "# Implements the extensions to the Time class that are described in the\n" 1 "# == Revision Information\n" 1 "# but it is not portable.\n" 1 "# %z is required to generate zone in date-time of RFC 2822\n" 1 "# * %z is not portable\n" 1 "# Ruby/GTK is the example of such library.\n" 1 "# the problem doesn't arise until some external library invokes setlocale.\n" 1 "# Since ruby-1.6 doesn't invoke setlocale by default,\n" 1 "# invalid weekday/month name in some locales.\n" 1 "# Since they are locale sensitive, they may be replaced to\n" 1 "# * %a and %b are locale sensitive\n" 1 "# on +strftime+ because:\n" 1 "# This library doesn't use +strftime+. Especially #rfc2822 doesn't depend\n" 1 "# === Doesn't depend on strftime\n" 1 "# * They makes usual life easier.\n" 1 "# * RFC 2822, RFC 2616 and XML Schema.\n" 1 "# This library provides methods dedicated to special purposes:\n" 1 "# === Specialized interface\n" 1 "# == Design Issues\n" 1 "# * various formats handled by Date._parse (string to time only)\n" 1 "# * dateTime defined by XML Schema Part 2: Datatypes (ISO 8601)\n" 1 "# * HTTP-date defined by RFC 2616\n" 1 "# * date-time defined by RFC 2822\n" 1 "# * conversion between date string and time object.\n" 1 "# This library extends the Time class:\n" 1 "# instead.\n" 1 "# be better to direct that not to appear, and put something else there\n" 1 "# - The history, etc., up the top appears in the RDoc output. Perhaps it would\n" 1 "# - I'm not particularly confident that the comments are all exactly correct.\n" 1 "# comments, and my own rephrasing.\n" 1 "# - Source of documentation is evenly split between Nutshell, existing\n" 1 "ThWait" 1 "# Raises exceptions in the same manner as +next_wait+.\n" 1 "# supplied for the method, it is executed for each thread termination.\n" 1 "# Waits until all of the specified threads are terminated. If a block is\n" 1 "# [[1, 12], :on_sp, \" \" ],\n" 1 "# is true, and there is no terminated thread, raises +ErrNoFinishedThread+.\n" 1 "# If there is no thread to wait, raises +ErrNoWaitingThread+. If +nonblock+\n" 1 "# that does.\n" 1 "# Waits until any of the specified threads has terminated, and returns the one\n" 1 "# wait.\n" 1 "# Specifies the threads that this object will wait for, but does not actually\n" 1 "# [[1, 13], :on_kw, \"end\"]]\n" 1 "# Waits for specified threads to terminate.\n" 1 "finished?" 1 "# Returns +true+ if any thread has terminated.\n" 1 "# Returns +true+ if there are no threads to be synchronized.\n" 1 "/module_eval" 1 "# Returns the array of threads in the wait queue.\n" 1 " @buf.push [[lineno(), column()], :on_\#{" 1 ", tok]\n end\n" 1 "# Parses +src+ and return a string which was matched to +pattern+.\n" 1 "# Non-blocking.\n" 1 "# Creates a ThreadsWait object, specifying the threads to wait on.\n" 1 "# +pattern+ should be described as Regexp.\n" 1 "# :yield: thread\n" 1 "# p Ripper.slice('def m(a) nil end', 'ident') #=> \"m\"\n" 1 "# it is executed for each thread termination.\n" 1 "# Waits until all specified threads have terminated. If a block is provided,\n" 1 "No finished threads." 1 "# p Ripper.slice('def m(a) nil end', '[ident lparen rparen]+') #=> \"m(a)\"\n" 1 "No threads for waiting." 1 "# p Ripper.slice(\"< \"string\\n\"\n" 1 "MatchError" 1 "[^\\w\\s$()\\[\\]{}?*+\\.]" 1 "# * ThreadsWait.all_waits(thread1,...)\n" 1 "# class methods:\n" 1 "# provides synchronization for multiple threads.\n" 1 "# feature:\n" 1 "# \tby Keiju ISHITSUKA(Nihpon Rational Software Co.,Ltd.)\n" 1 "# \t$Revision: 1.3 $\n" 1 "# \t$Release Version: 0.9 $\n" 1 "# thwait.rb - thread synchronization class\n" 1 "# - How do you make RDoc inherit documentation from superclass?\n" 1 "invalid char in pattern: " 1 "# Retrieves data from the queue and runs a waiting thread, if any.\n" 1 "# until space becomes available.\n" 1 "# Pushes +obj+ to the queue. If there is no space left in the queue, waits\n" 1 "(?:\\w+|\\$\\(|[()\\[\\]\\{\\}?*+\\.]+)" 1 "max=" 1 "# Sets the maximum size of the queue.\n" 1 "# Returns the maximum size of the queue.\n" 1 "$(" 1 "[?*\\[\\])\\.]" 1 "queue size must be positive" 1 "# Creates a fixed-length queue with a maximum size of +max+.\n" 1 "must not happen" 1 "# See Queue for an example of how a SizedQueue works.\n" 1 "# may be blocked if the capacity is full.\n" 1 "# This class represents queues of specified size capacity. The push operation\n" 1 "RegexpError" 1 "[RIPPER FATAL] too many system token" 1 "# Alias of length.\n" 1 "# Returns the length of the queue.\n" 1 "# Removes all objects from the queue.\n" 1 "# Returns +true+ if the queue is empty.\n" 1 "unknown token: " 1 "queue empty" 1 "# $Id: sexp.rb 13465 2007-09-17 12:02:35Z aamine $\n" 1 "# thread isn't suspended, and an exception is raised.\n" 1 "# suspended until data is pushed onto the queue. If +non_block+ is true, the\n" 1 "# Retrieves data from the queue. If the queue is empty, the calling thread is\n" 1 "# Parses +src+ and create S-exp tree.\n" 1 "# Pushes +obj+ to the queue.\n" 1 "# This method is for mainly developper use.\n" 1 "# require 'pp\n" 1 "# Creates a new queue.\n" 1 "# pp Ripper.sexp(\"def m(a) nil end\")\n" 1 "# consumer.join\n" 1 "# puts \"consumed \#{value}\"\n" 1 "# sleep rand(i/2) # simulate expense\n" 1 "# value = queue.pop\n" 1 "# consumer = Thread.new do\n" 1 "# puts \"\#{i} produced\"\n" 1 "# queue << i\n" 1 "# sleep rand(i) # simulate expense\n" 1 "# #=> [:program,\n" 1 "# producer = Thread.new do\n" 1 "# queue = Queue.new\n" 1 "# This class provides a way to synchronize communication between threads.\n" 1 "# [:stmts_add,\n" 1 "# TODO: imcomplete\n" 1 "# Wakes up all threads waiting for this lock.\n" 1 "# Wakes up the first thread in line waiting for this lock.\n" 1 "# TODO: mutex should not be used\n" 1 "# [:stmts_new],\n" 1 "# Releases the lock held in +mutex+ and waits; reacquires the lock on wakeup.\n" 1 "# [:def,\n" 1 "# [:@ident, \"m\", [1, 4]],\n" 1 "# Creates a new ConditionVariable\n" 1 "# resource.signal\n" 1 "# # Thread 'b' has finished using the resource\n" 1 "# b = Thread.new {\n" 1 "# # 'a' can now have the resource\n" 1 "# resource.wait(mutex)\n" 1 "# # Thread 'a' now needs the resource\n" 1 "# [:paren, [:params, [[:@ident, \"a\", [1, 6]]], nil, nil, nil]],\n" 1 "# a = Thread.new {\n" 1 "# resource = ConditionVariable.new\n" 1 "# mutex = Mutex.new\n" 1 "# [:bodystmt,\n" 1 "# resource becomes available.\n" 1 "# it is possible to suspend while in the middle of a critical section until a\n" 1 "# ConditionVariable objects augment class Mutex. Using condition variables,\n" 1 "# Copyright (C) 2001 Yukihiro Matsumoto\n" 1 "#\t\t\tby Yukihiro Matsumoto \n" 1 "#\t\tthread.rb - thread support classes\n" 1 "# => \"foo\\n\"\n" 1 "# $DEBUG = true\n" 1 "# terminates. The call returns the value of the block.\n" 1 "# and the tempfile will automatically be closed when the block\n" 1 "# If a block is given, it will be passed tempfile as an argument,\n" 1 "# If no block is given, this is a synonym for new().\n" 1 "done\\n" 1 "removing " 1 "# [:stmts_add, [:stmts_new], [:var_ref, [:@kw, \"nil\", [1, 9]]]],\n" 1 "# nil]]]]\n" 1 "# buffer is flushed before determining the size.\n" 1 "# Returns the size of the temporary file. As a side effect, the IO\n" 1 "# Returns the full path name of the temporary file.\n" 1 "# may not be able to unlink on Windows; just ignore\n" 1 "sexp" 1 "# it, because it leaves other programs zero chance to access the\n" 1 "# to unlink a temporary file immediately after creating and opening\n" 1 "# Unlinks the file. On UNIX-like systems, it is often a good idea\n" 1 "sexp_raw" 1 "# Closes and unlinks the file.\n" 1 "_new\\z" 1 "\n []\n end\n" 1 "# will be delayed until the object is finalized.\n" 1 "# If you don't explicitly unlink the temporary file, the removal\n" 1 "# after closing.\n" 1 "#Closes the file. If the optional flag is true, unlinks the file\n" 1 "_add\\z" 1 "r+" 1 "# Opens or reopens the file with mode \"r+\".\n" 1 "(list, item)\n list.push item\n list\n end\n" 1 "# carelessly put bare puts(), etc. after this.\n" 1 "# Now we have all the File/IO methods defined, you must not\n" 1 " [:\#{" 1 ", *args]\n end\n" 1 "EXCL" 1 " args.unshift :\#{" 1 "\n args\n end\n" 1 "rss_version=" 1 "feed_version=" 1 "copyright" 1 "managingEditor" 1 "webMaster" 1 "rating" 1 "lastBuildDate" 1 "docs" 1 "# I wish keyword argument settled soon.\n" 1 "# /tmp. (Note that ENV values are tainted by default)\n" 1 "# When $SAFE > 0 and the given tmpdir is tainted, it uses\n" 1 "# Dir::tmpdir provided by 'tmpdir.rb'.\n" 1 "# If tmpdir is omitted, the temporary directory is determined by\n" 1 "# Otherwise it is treated as prefix string.\n" 1 "# as prefix string and the second as suffix string, respectively.\n" 1 "# temporary file. If an Array is given, the first element is used\n" 1 "# The basename parameter is used to determine the name of a\n" 1 "# treated just like a normal File object.\n" 1 "# represents the created temporary file. A Tempfile object can be\n" 1 "# opens it with mode \"w+\", and returns a Tempfile object which\n" 1 "# Creates a temporary file of mode 0600 in the temporary directory,\n" 1 "cloud" 1 "have_attribute" 1 "SkipDays" 1 "# thread safe.\n" 1 "# A class for managing temporary files. This library is written to be\n" 1 "Day" 1 "# $Id: tempfile.rb 24119 2009-07-15 11:57:41Z yugui $\n" 1 "# tempfile - manipulates temporary files\n" 1 "Synchronizer" 1 "SkipHours" 1 "Synchronizer_m" 1 "# in EX mode, lock will upgrade to EX lock\n" 1 "@sync_ex_count" 1 "@sync_ex_locker" 1 "@sync_sh_locker" 1 "@sync_upgrade_waiting" 1 "@sync_waiting" 1 "@sync_mode" 1 ", undefined method `extend_object' for Singleton:Module\n" 1 "aString" 1 "#=> Inclusion of the OO-Singleton module in module AModule\n" 1 "AModule" 1 "Various exceptions\"" 1 "\\n\n" 1 "and basic \\\"Down test\\\" is " 1 " application/xml-dtd" 1 "\\A\\s*([a-z]+)\\/([a-z\\+]+)\\s*(?:;.*)?\\z" 1 " subclasses " 1 "initial_start_feed" 1 "\\n\\nSingleton with overridden default #inherited() hook" 1 "# => nil\n" 1 "# => [\"persist\"]\n" 1 "# => true\n" 1 "# change state\n" 1 "initial_start_entry" 1 "@persist" 1 "# this strips the @die information from the instance\n" 1 "http://purl.org/rss/1.0/modules/content/" 1 "_encoded" 1 "Customized marshalling" 1 "rss/content/1.0" 1 "\\nLets see if class level cloning really works" 1 "# 3; 2; 1; 7; 4; 8; 5 was the order of threads leaving the waiting loop\n" 1 "# 3; 2; 1; 8; 4; 7; 5 was the order of threads entering the waiting loop\n" 1 "# Now there is 1 Ups instance(s)\n" 1 "# initialize called by thread #3\n" 1 "# boom - thread #6 failed to create instance\n" 1 "# Before there were 0 Ups instance(s)\n" 1 "# results in message like\n" 1 " was the order of threads leaving the waiting loop" 1 " was the order of threads entering the waiting loop" 1 "Now there is " 1 "Before there were " 1 "rss/content/2.0" 1 "def_to_" 1 "_from_" 1 " def convert(value)\n if value.kind_of?(String)\n" 1 "\n else\n value\n end\n end\n" 1 "@iconv" 1 " @iconv.iconv(\#{" 1 "_instantiate?" 1 "initialize called by thread #" 1 ")\n rescue Iconv::Failure\n" 1 "uconv" 1 " Uconv.\#{" 1 "\\nThreaded example with exception and customized #_instantiate?() hook" 1 "basic test is " 1 "# a and b are same object\n" 1 "There are " 1 ")\n rescue Uconv::Error\n" 1 "# The basic and most important example.\n" 1 " instance(s)" 1 "NKF.nkf(" 1 "def_to_euc_jp_from_utf_8" 1 "u8toeuc" 1 "-We" 1 "Inclusion of the OO-Singleton module in module " 1 "# help out people counting on transitive mixins\n" 1 "# extending an object with Singleton is a bad idea\n" 1 "def_to_utf_8_from_euc_jp" 1 "euctou8" 1 "-Ew" 1 "def_to_shift_jis_from_utf_8" 1 "# ensure that the Singleton pattern is properly inherited\n" 1 "u8tosjis" 1 "-Ws" 1 "# that duping doesn't copy class methods?\n" 1 "# properly clone the Singleton pattern - did you know\n" 1 "def_to_utf_8_from_shift_jis" 1 "sjistou8" 1 "# default marshalling strategy\n" 1 "can't dup instance of singleton " 1 "can't clone instance of singleton " 1 "# disable build-in copying methods\n" 1 "# a previous state of ``the instance''.\n" 1 "# and _dump(depth) hooks allows the (partially) resurrections of\n" 1 "# taint state, from ``the instance''. Providing custom _load(str)\n" 1 "# by default all state information, e.g. instance variables and\n" 1 "# * _dump(depth) - returning the empty string. Marshalling strips\n" 1 "# * clone and dup - raising TypeErrors to prevent cloning or duping\n" 1 "# The instance method of Singleton are\n" 1 "# of the first, or more generally, current \"instantiation thread\".\n" 1 "# signifies the successful completion or premature termination\n" 1 "# Klass.instance() on a waiting loop. The return value\n" 1 "# nil. This hook method puts a second (or nth) thread calling\n" 1 "# * Klass._instantiate?() - returning ``the instance'' or\n" 1 "# * Klass._load(str) - calling Klass.instance()\n" 1 "# return @singleton__instance__\n" 1 "# def Klass.instance()\n" 1 "# method body is a simple:\n" 1 "# successful self modifying (normally the first) call the\n" 1 "# * Klass.instance() - returning ``the instance''. After a\n" 1 "# inherited and cloned.\n" 1 "# to ensure that the Singleton pattern is properly\n" 1 "# * Klass.inherited(sub_klass) and Klass.clone() -\n" 1 "# Providing (or modifying) the class methods\n" 1 "# * Klass.new and Klass.allocate - as private\n" 1 "# This is achieved by marking\n" 1 "# * This behavior is preserved under inheritance and cloning.\n" 1 "# ObjectSpace.each_object(OtherKlass){} # => 0.\n" 1 "# # ...\n" 1 "# include Singleton\n" 1 "# class OtherKlass\n" 1 "# words the first call of Klass.instance(), thus\n" 1 "# * ``The instance'' is created at instantiation time, in other\n" 1 "# Klass.new # NoMethodError - new is private ...\n" 1 "# a == b # => true\n" 1 "# a,b = Klass.instance, Klass.instance\n" 1 "# ``the instance'' can be created.\n" 1 "# * this ensures that only one instance of Klass lets call it\n" 1 "# include Singleton\n" 1 "# class Klass\n" 1 "# The Singleton module implements the Singleton pattern.\n" 1 "# See +Shellwords::shelljoin+ for details.\n" 1 "# array.shelljoin => string\n" 1 "# command line. See +Shellwords::shellescape+ for details.\n" 1 "# Escapes +str+ so that it can be safely used in a Bourne shell\n" 1 "# str.shellescape => string\n" 1 "# Bourne shell does. See +Shellwords::shellsplit+ for details.\n" 1 "# Splits +str+ into an array of tokens in the same way the UNIX\n" 1 "# str.shellsplit => array\n" 1 "-Sw" 1 "# open('|' + ['grep', pattern, *files].shelljoin) { |pipe|\n" 1 "# +Array#shelljoin+ is a shorthand for this function.\n" 1 "# open('|' + Shellwords.join(['grep', pattern, *files])) { |pipe|\n" 1 "def_to_euc_jp_from_shift_jis" 1 "NKF.nkf('-Se', " 1 "'\\n'" 1 "# combo is regarded as line continuation and simply ignored.\n" 1 "# A LF cannot be escaped with a backslash because a backslash + LF\n" 1 "\\\\\\\\\\\\1" 1 "([^A-Za-z0-9_\\-.,:\\/@\\n])" 1 "# implementations are multibyte aware.\n" 1 "# Process as a single byte sequence because not all shell\n" 1 "''" 1 "# An empty argument will be skipped, so return empty quotes.\n" 1 "def_to_shift_jis_from_euc_jp" 1 "# open(\"| grep \#{pattern.shellescape} file\") { |pipe|\n" 1 "# +String#shellescape+ is a shorthand for this function.\n" 1 "# open(\"| grep \#{Shellwords.escape(pattern)} file\") { |pipe|\n" 1 "# intended for use in double quotes nor in single quotes.\n" 1 "# Note that a resulted string should be used unquoted and is not\n" 1 "# command line.\n" 1 "# Escapes a string so that it can be safely used in a Bourne shell\n" 1 "\\\\(?=.)" 1 "Unmatched double quote: " 1 "NKF.nkf('-Es', " 1 "def_to_euc_jp_from_iso_2022_jp" 1 "NKF.nkf('-Je', " 1 "def_to_iso_2022_jp_from_euc_jp" 1 "\\G\\s*(?>([^\\s\\\\\\'\\\"]+)|'([^\\']*)'|\"((?:[^\\\"\\\\]|\\\\.)*)\"|(\\\\.?)|(\\S))(\\s|\\z)?" 1 "NKF.nkf('-Ej', " 1 "# argv = 'here are \"two words\"'.shellsplit\n" 1 "# +String#shellsplit+ is a shorthand for this function.\n" 1 "def_to_utf_8_from_iso_8859_1" 1 "# argv = Shellwords.split('here are \"two words\"')\n" 1 "# Bourne shell does.\n" 1 "# Splits a string into an array of tokens in the same way the UNIX\n" 1 "# - Akinori MUSHA \n" 1 "# - Wakou Aoyama\n" 1 "# Authors:\n" 1 "# but modified to conform to POSIX / SUSv3 (IEEE Std 1003.1-2001).\n" 1 "# The shellwords() function was originally a port of shellwords.pl,\n" 1 "# of the UNIX Bourne shell.\n" 1 "# This module manipulates strings according to the word parsing rules\n" 1 "# shellwords.rb: Manipulates strings a la UNIX Bourne shell\n" 1 ".unpack('C*').pack('U*')" 1 "#\t \"shell\" \" + mes\n" 1 "def_to_iso_8859_1_from_utf_8" 1 "shell: " 1 "shell(" 1 " array_utf8 = " 1 ".unpack('U*')\n array_enc = []\n array_utf8.each do |num|\n if num <= 0xFF\n array_enc << num\n else\n array_enc.concat \"&\\#\\\#{num};\".unpack('C*')\n end\n end\n array_enc.pack('C*')\n" 1 "shell(#" 1 "http://purl.org/dc/elements/1.1/" 1 "debug_output_synchronize" 1 " remove_method :" 1 " remove_method :\#{" 1 " remove_method :set_\#{" 1 ".first.value\n end\n \n" 1 "[0] = Utils.new_with_value_if_need(" 1 ", new_value)\n end\n" 1 "# command definitions\n" 1 " alias set_\#{" 1 " if method_defined?(:date)\n" 1 " alias date_without_\#{" 1 "# process management\n" 1 "popd" 1 "pushd" 1 "_date= date=\n\n def date=(value)\n" 1 " self.date_without_\#{" 1 "pushdir " 1 "_date = value\n" 1 "pushdir(with block) " 1 " self.\#{" 1 "_date = value\n end\n else\n" 1 "current dir: " 1 "chdir " 1 " alias date \#{" 1 "chdir(with block) " 1 "_date\n" 1 " alias date= \#{" 1 "# block ends.\n" 1 "# If called as iterator, it restores the current directory when the\n" 1 "_date=\n end\n\n # For backward compatibility\n" 1 " alias \#{" 1 "_rightses " 1 "# Shell#popdir/popd\n" 1 "# Shell#pushdir/pushd\n" 1 "# Shell#chdir/cd\n" 1 "# Shell#cwd/dir/getwd/pwd\n" 1 "_rights_list\n" 1 "# Most Shell commands are defined via CommandProcessor\n" 1 "creator" 1 "command_processor" 1 "publisher" 1 "identifier" 1 "system_path=" 1 "relation" 1 "coverage" 1 "rights_list" 1 " < Element\n include RSS10\n \n content_setup\n\n class << self\n def required_prefix\n DC_PREFIX\n end\n \n def required_uri\n DC_URI\n end\n end\n\n" 1 "@command_processor" 1 "@record_separator" 1 " @tag_name = \#{" 1 "@umask" 1 "\n\n alias_method(:value, :content)\n alias_method(:value=, :content=)\n \n def initialize(*args)\n if Utils.element_initialize_arguments?(args)\n super\n else\n super()\n self.content = args[0]\n end\n end\n \n def full_name\n tag_name_with_prefix(DC_PREFIX)\n end\n\n def maker_target(target)\n" 1 " target.new_\#{" 1 "\n end\n\n" 1 "debug_output_" 1 "exclusive_unlock" 1 " def setup_maker_attributes(\#{" 1 "# os resource mutex\n" 1 ".content = content\n end\n end\n" 1 "default_record_separator=" 1 " < Element\n remove_method(:content=)\n remove_method(:value=)\n\n" 1 " date_writer(\"content\", \#{" 1 "default_system_path=" 1 ")\n\n alias_method(:value=, :content=)\n end\n" 1 "DublincoreModel" 1 "rss/dublincore/1.0" 1 "# alias cascade? cascade\n" 1 "cascade" 1 "rss/dublincore/2.0" 1 "rss/dublincore/atom" 1 "http://purl.org/rss/1.0/modules/image/" 1 "validate_one_tag_name" 1 "# debug: 2 -> detail inspect debug\n" 1 "# debug: 1 -> eval definition debug\n" 1 "# debug: true -> normal debug\n" 1 "# @cascade = true\n" 1 "-$Id: shell.rb,v 1.9 2002/03/04 12:01:10 keiju Exp keiju $-" 1 "_item" 1 "shell/process-controller" 1 "shell/command-processor" 1 "ImageItem" 1 "# \t$Revision: 1.9 $\n" 1 "width=" 1 "# shell.rb - \n" 1 "image_width=" 1 "# @proc\n" 1 "# def restriction_proc\n" 1 "# super(*args)\n" 1 "# \t if include?(o) || !@proc.call(o)\n" 1 "# \t @hash[o] = true \n" 1 "# if @proc.call(o)\n" 1 "image_width" 1 "# \tdef merge(enum)\n" 1 "height=" 1 "# \t clear\n" 1 "# \tdef replace(enum)\n" 1 "image_height=" 1 "image_height" 1 "image_item" 1 "_favicon" 1 "ImageFavicon" 1 "# \t if include?(o) || !@proc.call(self, o)\n" 1 "small" 1 "medium" 1 "large" 1 ":size" 1 "# \t @hash[o] = true if @proc.call(self, o)\n" 1 "image_size=" 1 "image_size" 1 "# if @proc.arity == 2\n" 1 "# @proc = block or raise ArgumentError, \"missing a block\"\n" 1 "# def initialize(*args, &block)\n" 1 "# class RestricedSet < Set\n" 1 "# =end\n" 1 "# Returns the restriction procedure of the set.\n" 1 "# --- restriction_proc\n" 1 "# === Instance Methods\n" 1 "# is allowed to be put in the set.\n" 1 "# Otherwise, the block is called with an object to see if the object\n" 1 "# the set.\n" 1 "# itself and an object to see if the object is allowed to be put in\n" 1 "# If the block's arity is 2, it is called with the RestrictedSet\n" 1 "# enumerable object. Restrictions are defined by the given block.\n" 1 "# Creates a new restricted set containing the elements of the given\n" 1 "# --- RestricedSet::new(enum = nil) { |rset, o| ... }\n" 1 "# --- RestricedSet::new(enum = nil) { |o| ... }\n" 1 "# === Class Methods\n" 1 "# Set\n" 1 "# === Super class\n" 1 "# block.\n" 1 "# RestricedSet implements a set with restrictions defined by a given\n" 1 "# == RestricedSet class\n" 1 "# =begin\n" 1 "to_set" 1 "# Needs to +require \"set\"+ to use this method.\n" 1 "# Makes a set from the enumerable object with given arguments.\n" 1 "\n\t def initialize(*args, &block)\n\t @keys = nil\n\t super\n\t end\n\n\t def clear\n\t @keys = nil\n\t super\n\t end\n\n\t def replace(enum)\n\t @keys = nil\n\t super\n\t end\n\n\t def add(o)\n\t @keys = nil\n\t @hash[o] = true\n\t self\n\t end\n\t alias << add\n\n\t def delete(o)\n\t @keys = nil\n\t @hash.delete(o)\n\t self\n\t end\n\n\t def delete_if\n block_given? or return enum_for(__method__)\n\t n = @hash.size\n\t super\n\t @keys = nil if @hash.size != n\n\t self\n\t end\n\n\t def merge(enum)\n\t @keys = nil\n\t super\n\t end\n\n\t def each\n\t block_given? or return enum_for(__method__)\n\t to_a.each { |o| yield(o) }\n\t self\n\t end\n\n\t def to_a\n\t (@keys = @hash.keys).sort! unless @keys\n\t @keys\n\t end\n" 1 "image_favicon" 1 "\n\t def initialize(*args, &block)\n\t @hash = RBTree.new\n\t super\n\t end\n" 1 "rbtree" 1 "itunes" 1 "# a hack to shut up warning\n" 1 "http://www.itunes.com/dtds/podcast-1.0.dtd" 1 "explicit" 1 "# SortedSet implements a set which elements are sorted in order. See Set.\n" 1 "}>" 1 "#<%s: {" 1 "keywords" 1 "#<%s: {...}>" 1 "# set. (\"#\")\n" 1 "new-feed-url" 1 "_category" 1 "_categories" 1 "ITunesImage" 1 "itunes_image" 1 "ITunesOwner" 1 "itunes_owner" 1 "ITunesDuration" 1 "divide" 1 "# # #}>\n" 1 "# # #,\n" 1 "# # #,\n" 1 "# p set # => #,\n" 1 "# set = numbers.divide { |i,j| (i - j).abs == 1 }\n" 1 "# numbers = Set[1, 3, 4, 6, 9, 10, 11]\n" 1 "# in common if block.call(o1) == block.call(o2).\n" 1 "# if block.call(o1, o2) is true. Otherwise, elements o1 and o2 are\n" 1 "# If the arity of the block is 2, elements o1 and o2 are in common\n" 1 "# defined by the given block.\n" 1 "# Divides the set into a set of subsets according to the commonality\n" 1 "\\A(?:\n \\d?\\d:[0-5]\\d:[0-5]\\d|\n [0-5]?\\d:[0-5]\\d\n" 1 "# # 2002=>#}\n" 1 "# # 2001=>#,\n" 1 "# p hash # => {2000=>#,\n" 1 "# hash = files.classify { |f| File.mtime(f).year }\n" 1 "# files = Set.new(Dir.glob(\"*.rb\"))\n" 1 "# parameter.\n" 1 "# called once for each element of the set, passing the element as\n" 1 "# returns a hash of {value => set of elements} pairs. The block is\n" 1 "# Classifies the set by the return value of the given block and\n" 1 "# of elements is defined according to Object#eql?.\n" 1 "# Returns true if two sets are equal. The equality of each couple\n" 1 "# ((set | enum) - (set & enum)).\n" 1 "# and the given enumerable object. (set ^ enum) is equivalent to\n" 1 "# Returns a new set containing elements exclusive between the set\n" 1 "intersection" 1 "# Returns a new set containing elements common to the set and the\n" 1 "difference" 1 "# element that appears in the given enumerable object.\n" 1 "# Returns a new set built by duplicating the set, removing every\n" 1 " )\\z/x" 1 "must be one of HH:MM:SS, H:MM:SS, MM::SS, M:SS: " 1 "# Returns a new set built by merging the set and the elements of the\n" 1 "00" 1 "# and returns self.\n" 1 "# Deletes every element that appears in the given enumerable object\n" 1 "# Merges the elements of the given enumerable object to the set and\n" 1 "# made.\n" 1 "# Equivalent to Set#delete_if, but returns nil if no changes were\n" 1 "# Replaces the elements with ones returned by collect().\n" 1 "# true, and returns self.\n" 1 "# Deletes every element of the set for which block evaluates to\n" 1 "delete?" 1 "# object is not in the set, returns nil.\n" 1 "# Deletes the given object from the set and returns self. If the\n" 1 "# delete many items at once.\n" 1 "# Deletes the given object from the set and returns self. Use +subtract+ to\n" 1 "add?" 1 "# object is already in the set, returns nil.\n" 1 "# Adds the given object to the set and returns self. If the\n" 1 "# add many elements at once.\n" 1 "# Adds the given object to the set and returns self. Use +merge+ to\n" 1 "# given.\n" 1 "# the element as parameter. Returns an enumerator if no block is\n" 1 "# Calls the given block once for each element in the set, passing\n" 1 "proper_subset?" 1 "# Returns true if the set is a proper subset of the given set.\n" 1 "subset?" 1 "# Returns true if the set is a subset of the given set.\n" 1 "proper_superset?" 1 "# Returns true if the set is a proper superset of the given set.\n" 1 "must be (do_validate, params), (content), " 1 "superset?" 1 "# Returns true if the set is a superset of the given set.\n" 1 "# Returns true if the set contains the given object.\n" 1 "(minute, second), ([minute, second]), " 1 "# result in place. Returns nil if no modifications were made.\n" 1 "# Equivalent to Set#flatten, but replaces the receiver with the\n" 1 "# containing set recursively.\n" 1 "# Returns a new set that is a copy of the set, flattening each\n" 1 "tried to flatten recursive Set" 1 "(hour, minute, second) or ([hour, minute, second]): " 1 "minute=" 1 "# Converts the set to an array. The order of elements is uncertain.\n" 1 "# enumerable object and returns self.\n" 1 "# Replaces the contents of the set with the contents of the given\n" 1 "# Removes all elements and returns self.\n" 1 "# Returns true if the set contains no elements.\n" 1 "# Returns the number of elements.\n" 1 "# Copy internal hash.\n" 1 "second=" 1 "itunes_duration" 1 "# given block.\n" 1 "# If a block is given, the elements of enum are preprocessed by the\n" 1 "# Creates a new set containing the elements of the given enumerable\n" 1 "# Creates a new set containing the given objects.\n" 1 "add_maker" 1 "# == Contact\n" 1 "# s2.subset? s1 # -> true\n" 1 "# s1.subset? s2 # -> false\n" 1 "# s1.merge([2, 6]) # -> #\n" 1 "# s1.add(\"foo\") # -> #\n" 1 "# s1 == s2 # -> true\n" 1 "# s2 = [1, 2].to_set # -> #\n" 1 "# s1 = Set.new [1, 2] # -> #\n" 1 "makers" 1 "# can be converted to Set using the +to_set+ method.\n" 1 "# Enumerable objects besides sets and arrays. An Enumerable object\n" 1 "# Most of the initializer methods and binary operators accept generic\n" 1 "# Set is easy to use with Enumerable objects (implementing +each+).\n" 1 "# Object#eql? and Object#hash, since Set uses Hash as storage.\n" 1 "# The equality of each couple of elements is determined according to\n" 1 "# Hash's fast lookup.\n" 1 "# This is a hybrid of Array's intuitive inter-operation facilities and\n" 1 "# Set implements a collection of unordered values with no duplicates.\n" 1 "# See the Set class for an example of usage.\n" 1 "# The method +to_set+ is added to Enumerable for convenience.\n" 1 "# need to keep values ordered, use the SortedSet class.\n" 1 "# intuitive inter-operation facilities and Hash's fast lookup. If you\n" 1 "# of unordered values with no duplicates. It is a hybrid of Array's\n" 1 "# This library provides the Set class, which deals with a collection\n" 1 "rss/maker/1.0" 1 "# $Id: set.rb 18571 2008-08-13 08:03:30Z knu $\n" 1 "rss/maker/2.0" 1 "# Documentation by Akinori MUSHA and Gavin Sinclair. \n" 1 "# Copyright (c) 2002-2008 Akinori MUSHA \n" 1 "# set.rb - defines the Set class\n" 1 "0x00001000" 1 "rss/maker/feed" 1 "0x00000200" 1 "rss/maker/entry" 1 "LPLLPLPPPPPPPP" 1 "FormatMessageA" 1 "GetLastError" 1 "rss/maker/content" 1 "rss/maker/dublincore" 1 "# Following code is based on David Garamond's GUID library for Ruby.\n" 1 "rss/maker/slash" 1 "rss/maker/syndication" 1 "rss/maker/taxonomy" 1 "rss/maker/trackback" 1 "# assumption: Float::MANT_DIG <= 64\n" 1 "rss/maker/image" 1 "# 0.0 <= SecureRandom.random_number() < 1.0.\n" 1 "# SecureRandom.random_number returns an float:\n" 1 "# If 0 is given or an argument is not given,\n" 1 "# 0 <= SecureRandom.random_number(n) < n.\n" 1 "# SecureRandom.random_number returns an integer:\n" 1 "# If an positive integer is given as n,\n" 1 "# SecureRandom.random_number generates a random number.\n" 1 "rss/maker/itunes" 1 "rss/xml" 1 "# The length of the result string is about 4/3 of n.\n" 1 "# SecureRandom.base64 generates a random base64 string.\n" 1 "# Create a new NotWellFormedError for an error at +line+\n" 1 "# The length of the result string is twice of n.\n" 1 "# in +element+. If a block is given the return value of\n" 1 "# SecureRandom.hex generates a random hex string.\n" 1 "No random device" 1 "CryptGenRandom failed: " 1 "# the block ends up in the error message.\n" 1 "This is not well formed XML" 1 "CryptAcquireContext failed: " 1 "0xF0000000" 1 "\\nerror occurred" 1 " in " 1 " at about " 1 "LIP" 1 "CryptGenRandom" 1 " line" 1 "available XML parser was not found in " 1 "PPPII" 1 "CryptAcquireContext" 1 " is not an available XML parser. " 1 "Available XML parser" 1 "s are " 1 " is " 1 "Unexpected partial read from random device" 1 "prefix <" 1 "/dev/urandom" 1 "> doesn't associate uri " 1 "> in tag <" 1 "# Set @@default_parser to new_value if it is one of the\n" 1 "# available parsers. Else raise NotValidXMLParser error.\n" 1 "default_parser=" 1 "# Try to get the XML associated with +rss+.\n" 1 "# Return +rss+ if it already looks like XML, or treat it as a URI,\n" 1 "# or a file to get the XML,\n" 1 "# maybe_xml? tests if source is a string that looks like XML.\n" 1 "# Attempt to convert rss to a URI, but just return it if\n" 1 "# The argument n specifies the length of the result string.\n" 1 "# SecureRandom.random_bytes generates a random binary string.\n" 1 "# there's a ::URI::Error\n" 1 "# p SecureRandom.random_bytes(10) #=> \"\\323U\\030TO\\234\\357\\020\\a\\337\"\n" 1 "# p SecureRandom.random_bytes(10) #=> \"\\016\\t{\\370g\\310pbr\\301\"\n" 1 "# # random binary string.\n" 1 "# p SecureRandom.base64(13) #=> \"vKLJ0tXBHqQOuIcSIg==\"\n" 1 "# p SecureRandom.base64(12) #=> \"7kJSM/MzBJI+75j8\"\n" 1 "# p SecureRandom.base64(11) #=> \"l7XEiFja+8EKEtY=\"\n" 1 "# p SecureRandom.base64(10) #=> \"KO1nIU+p9DKxGg==\"\n" 1 "# p SecureRandom.base64(10) #=> \"9b0nsevdwNuM/w==\"\n" 1 "# p SecureRandom.base64(10) #=> \"EcmTPZwWRAozdA==\"\n" 1 "# # random base64 string.\n" 1 "# return the setter for the uri, tag_name pair, or nil.\n" 1 "# p SecureRandom.hex(13) #=> \"39b290146bea6ce975c37cfc23\"\n" 1 "# p SecureRandom.hex(12) #=> \"94b2fff3e7fd9b9c391a2306\"\n" 1 "# p SecureRandom.hex(11) #=> \"6aca1b5c58e4863e6b81b8\"\n" 1 "# p SecureRandom.hex(10) #=> \"92b15d6c8dc4beb5f559\"\n" 1 "# p SecureRandom.hex(10) #=> \"52750b30ffbc7de3b362\"\n" 1 "# # random hexadecimal string.\n" 1 "# * Win32\n" 1 "# * /dev/urandom\n" 1 "# * openssl\n" 1 "# It supports following secure random number generators.\n" 1 "# suitable for generating session key in HTTP cookies, etc.\n" 1 "# This library is an interface for secure random number generator which is\n" 1 "# = Secure random number generator interface.\n" 1 "# But used here to determine the number of specifiers.\n" 1 "# Sub-ideal, since another FS gets created in scanf.\n" 1 "# return the tag_names for setters associated with uri\n" 1 "available_tags" 1 "# register uri against this name.\n" 1 "ESPIPE" 1 "# test if this uri is registered against this name\n" 1 "# record class_name for the supplied uri and tag_name\n" 1 "# retrieve class_name for the supplied uri and tag_name\n" 1 "# If it doesn't exist, capitalize the tag_name\n" 1 "[_\\-]([a-z]?)" 1 "# set the accessor for the uri, tag_name pair\n" 1 "private_method_defined?" 1 "# set instance vars for version, encoding, standalone\n" 1 "xml-stylesheet" 1 "\\Axmlns(?:\\z|:)" 1 "end tag " 1 "# no: continue [this state could be analyzed further]\n" 1 "# no: save interim results and continue\n" 1 "# yes: fatal failure\n" 1 "# yes: does current spec care about input space?\n" 1 "# is fmt_string.string_left all spaces?\n" 1 "# yes:\n" 1 "# are we on the next-to-last spec in the string?\n" 1 "# The last attempted spec/string did not match:\n" 1 "# yes: save interim results and continue (next line)\n" 1 "# could the last spec keep matching?\n" 1 "# and the last attempted spec/string sub-match succeeded:\n" 1 "# Match succeeds (non-emptily)\n" 1 "# For each line:\n" 1 "# version.\n" 1 "# That's why this is much more elaborate than the string\n" 1 "# be in effect...\n" 1 "# And if it does, some rule about whitespace may or may not\n" 1 "# at the boundary where the string matches a format specifier.\n" 1 "# of input at a time. The linebreak may or may not occur\n" 1 "# The trick here is doing a match where you grab one *line*\n" 1 "\\s*([^=]+)=([\"'])([^\\2]+?)\\2" 1 "@last_spec_tried" 1 "# Extract the first name=\"value\" pair from content.\n" 1 "# Works with single quotes according to the constant\n" 1 "# CONTENT_PATTERN. Return a Hash.\n" 1 "ROOT ELEMENT???" 1 "^(?:([\\w:][-\\w\\d.]*):)?([\\w:][-\\w\\d.]*)" 1 "\\s\\z" 1 "@space" 1 "# Force bind required URI with prefix\n" 1 "lstrip" 1 "rss/xmlparser" 1 " [^%\\s]+/ix" 1 "])))|\n # or miscellaneous characters\n" 1 " \t [\#{" 1 "\n # possible space, followed by...\n (?:\\s*\n # percent sign, followed by...\n %\n # another percent sign, or...\n (?:%|\n \t # optional assignment suppression flag\n \t \\*?\n \t # optional maximum field width\n \t \\d*\n \t # named character class, ...\n \t (?:\\[\\[:\\w+:\\]\\]|\n \t # traditional character class, or...\n \t \\[[^\\]]*\\]|\n \t # specifier letter.\n" 1 "rss/xmlscanner" 1 "diuXxofeEgsc" 1 "rss/rexmlparser" 1 "rexml/streamlistener" 1 "\\A(\\d+)\\.(\\d+)(?:\\.\\d+)+\\z" 1 "last_match_tried" 1 "needs REXML 2.5 or later (" 1 "# Encoding is converted to UTF-8 when REXML parse XML.\n" 1 "\\A\\s*\n (-?\\d+)-(\\d\\d)-(\\d\\d)\n (?:T\n (\\d\\d):(\\d\\d)(?::(\\d\\d))?\n (\\.\\d+)?\n (Z|[+-]\\d\\d:\\d\\d)?)?\n" 1 " \\s*\\z/ix" 1 "0*$" 1 "rss/converter" 1 "rss/xml-stylesheet" 1 "%\\*?(\\d+)" 1 "%\\*?\\d*([a-z\\[])" 1 "0.2.5" 1 "@matched_string" 1 "http://purl.org/rss/1.0/" 1 "\\A\\s+" 1 "> is too much in tag <" 1 "> is unknown in namespace specified by uri <" 1 "tag <{" 1 "# literal characters\n" 1 "(\\s*%)" 1 "# %%\n" 1 "> is not expected in tag <" 1 "%\\*?(\\d+)c" 1 "# %5c (whitespace issues are handled by the count_*_space? methods)\n" 1 "(.)" 1 "%\\*?c" 1 "\\\\s*(.)" 1 "\\s%\\*?c" 1 "# For backward compatibility :X\n" 1 "(\\S+)" 1 "%\\*?s" 1 "# %s\n" 1 "%\\*?(\\d+)s" 1 "# %5s\n" 1 "NotExceptedTagError" 1 "%\\*?(\\d+)f" 1 "# %5f\n" 1 "([-+]?((\\d+(?>(?=[^\\d.]|$)))|(\\d*(\\.(\\d*([eE][-+]?\\d+)?)))))" 1 "%\\*?f" 1 "# %f\n" 1 "}|[0-7]{1," 1 "([-+][0-7]{1," 1 "%\\*?(\\d+)o" 1 "# %5o\n" 1 "([-+]?[0-7]+)" 1 "%\\*?o" 1 "# %o\n" 1 "[-+]" 1 "%\\*?(\\d+)[Xx]" 1 "# %5x\n" 1 "([-+]?(?:0[Xx])?" 1 "%\\*?[Xx]" 1 "# %x\n" 1 "\\\\d{1," 1 "[-+]\\\\d{1," 1 "%\\*?(\\d+)[du]" 1 "# %5d, %5u\n" 1 "([-+]?\\d+)" 1 "%\\*?[du]" 1 "# %d, %u\n" 1 "value <" 1 "> is not available." 1 "can't convert to " 1 "[-+][1-9]\\\\d{1," 1 "[-+]0[0-7]{1," 1 "0[0-7]{1," 1 "UnknownConvertMethod" 1 "[1-9]\\\\d{1," 1 "%\\*?(\\d+)i" 1 "# %5i\n" 1 "+)|(?:[1-9]\\\\d*)))" 1 "([-+]?(?:(?:0[0-7]+)|(?:0[Xx]" 1 "%\\*?i" 1 "# %i\n" 1 "]{1," 1 "%\\*?(\\d+)\\[([^\\]]*)\\]" 1 "# %5[...]\n" 1 "]|\\\\z)" 1 "]+)(?=[" 1 "ConversionError" 1 "^\\^" 1 "%\\*?\\[([^\\]]*)\\]" 1 "# %[...]\n" 1 " to " 1 "NotSetError" 1 "%\\*?(\\d+)(\\[\\[:[a-z]+:\\]\\])" 1 "# %5[[:...:]]\n" 1 "required variables of " 1 "%\\*?(\\[\\[:[a-z]+:\\]\\])" 1 "# %[[:...:]]\n" 1 " are not set: " 1 "Maker doesn't support version: " 1 "[A-Fa-f0-9]" 1 "(?:\\A|\\S)%\\*?\\d*c|%\\d*\\[" 1 " \"\\\#{@\#{" 1 ".to_s(need_convert, indent)}\"\n else\n ''\n end\n" 1 " rv = []\n" 1 ".each do |x|\n value = \"\\\#{x.to_s(need_convert, indent)}\"\n rv << value if /\\\\A\\\\s*\\\\z/ !~ value\n end\n rv.join(\"\\n\")\n" 1 " if respond_to?(:" 1 "_content)\n" 1 " content = \#{" 1 "_content\n else\n" 1 " content = @\#{" 1 "^\\s*%\\*" 1 "\n end\n if content\n" 1 ">\"\n value = html_escape(content)\n if need_convert\n rv << convert(value)\n else\n rv << value\n end\n" 1 "# accessor\n" 1 " value = html_escape(@\#{" 1 "re_string" 1 ")\n if need_convert\n rv << convert(value)\n else\n rv << value\n end\n" 1 "(need_convert=true, indent='')\n" 1 "acknowledgements\", above, for email addresses.)\n" 1 "reports of suspicious behaviors and/or bugs. (Please see \"Credits and\n" 1 "other scanfs, and would be meaningful in Ruby, are welcome, as are\n" 1 "description. Suggestions for features and behaviors which appear in\n" 1 "implementations and documentation, rather than on a single canonical\n" 1 "scanf for Ruby is based on something of an amalgam of C scanf\n" 1 "==Bugs and bug reports\n" 1 "Manual manpage for scanf(3), dated 1995-11-01.\n" 1 "Conversions sections, above, were adapted from the Linux Programmer's\n" 1 "The text for parts of this document, especially the Description and\n" 1 "Thanks to Gavin Sinclair for some feedback on the documentation.\n" 1 "Thanks to Matz for suggestions about the class design. \n" 1 "Thanks to Hal Fulton for hosting the Codefest.\n" 1 "Project contributors:: Nolan Darilek, Jason Johnston\n" 1 "Co-author:: Hal Fulton (mailto:hal9000@hypermetrics.com)\n" 1 "Principal author:: David Alan Black (mailto:dblack@superlink.net)\n" 1 "Ruby Codefest (Austin, Texas, August 2002).\n" 1 "scanf for Ruby was developed as the major activity of the Austin\n" 1 "==Credits and acknowledgements\n" 1 "merchantibility and fitness for a particular purpose.\n" 1 "warranties, including, without limitation, the implied warranties of\n" 1 "This software is provided \"as is\" and without any express or implied\n" 1 "==Warranty disclaimer\n" 1 "License:: Distributed on the same licensing terms as Ruby itself\n" 1 "Copyright:: (c) 2002-2003 David Alan Black\n" 1 "==License and copyright\n" 1 "stops and results accumulated so far are returned in an array.\n" 1 "when the FormatString object runs out of FormatSpecifiers, scanning\n" 1 "As soon as a regular expression fragment fails to match the string, or\n" 1 "not altered.)\n" 1 "sequence. (This is done to a duplicate string; the original string is\n" 1 "is \"eaten\" from the left as the FormatSpecifiers are applied in\n" 1 "input string is reduced to the post-match substring. Thus the string\n" 1 "The rendered match is then saved to an accumulator array, and the\n" 1 "rendered into an integer by a call to to_i.\n" 1 "will be matched against \"([-+]?\\d+)\", and the matched string will be\n" 1 "string when a FormatSpecifier consisting of \"%d\" is reached, the \"123\"\n" 1 "Thus, to follow up the \"%d\" example: if \"123\" occurs in the input\n" 1 "with the FormatSpecifier.\n" 1 "there's a match, it sends the matched string to the handler associated\n" 1 "corresponding regular expression fragment against the string. If\n" 1 "iterates through its FormatSpecifiers; for each one, it matches the\n" 1 "FormatString#match, passing in the input string. FormatString#match\n" 1 "associated with it is a wrapper around String#to_i. scanf itself calls\n" 1 "associated with the format \"%d\" is \"([-+]?\\d+)\", and the handler\n" 1 "associated with it. For example, the regular expression fragment\n" 1 "Each FormatSpecifier has a regular expression fragment and a \"handler\"\n" 1 "saves.\n" 1 "each atom it creates a FormatSpecifier object, which it\n" 1 "format string down into atoms (\"%d\", \"%5f\", \"blah\", etc.), and from\n" 1 "format string (\"%d%s...\") argument. The FormatString object breaks the\n" 1 "When scanf is called, a FormatString object is generated from the\n" 1 "expression> converter.\n" 1 "scanf for Ruby is essentially a -to- or the command make test.\n" 1 "TestUnit package), which can be run with the command ruby\n" 1 "scanf for Ruby includes a suite of unit tests (requiring the\n" 1 "==Test suite\n" 1 "usage\", above.)\n" 1 "yielded result from the iterative scanf operation. (See \"Block\n" 1 "the block -- that is, an array reflecting what the block did with each\n" 1 "With a block scanf returns a 'map'-like array of transformations from\n" 1 "returned array will contain the results of those successful matches.\n" 1 "after one or more successful matches have already taken place, the\n" 1 "of the scanning operation. If the first unsuccessful match takes place\n" 1 "unsuccesful match is never ignored, but rather always signals the end\n" 1 "it has found. If none are found, scanf will return an empty array. An\n" 1 "Without a block, scanf returns an array containing all the conversions\n" 1 "==Return values\n" 1 "values.)\n" 1 "completed. (See below for more details on scanf for Ruby's return\n" 1 "scanf(3) returns the number of conversions successfully\n" 1 "scanf for Ruby returns an array of successful conversions, whereas\n" 1 "===Return values\n" 1 " integer, rather than for an unsigned integer like their C counterparts.\n" 1 " In scanf for Ruby, all of these specifiers scan for an optionally signed\n" 1 "[o,u,x,X]\n" 1 "===Altered specifiers\n" 1 "* The p specifier (match a pointer value) is not implemented.\n" 1 " next pointer) is not implemented.\n" 1 "* The n specifier (store number of characters consumed so far in\n" 1 " meaningless in Ruby.\n" 1 " have to do with the type of upcoming pointer arguments, and are literally\n" 1 " upcoming conversion). Many of the flags available in C versions of scanf(4)\n" 1 "* The only flag implemented in scanf for Ruby is '*' (ignore\n" 1 "===Unimplemented flags and specifiers\n" 1 "dictated mainly by the underlying differences between the languages.\n" 1 "scanf for Ruby is based on the C function scanf(3), but with modifications,\n" 1 "==scanf for Ruby compared with scanf in C\n" 1 "See the files EXAMPLES and tests/scanftests.rb.\n" 1 "==Examples\n" 1 "specifier (just before the field width, if any).\n" 1 "the star character ('*'), immediately after the leading '%' of a format\n" 1 "in the return array, place the assignment suppression flag, which is\n" 1 "To require that a particular match occur, but without including the result\n" 1 "===Assignment suppression\n" 1 " or when the field width runs out, whichever comes first.\n" 1 " the appearance of a character not in (or, with a circumflex, in) the set,\n" 1 " in a regular expression.) The matching against the input string ends with\n" 1 " character class in a Ruby regular expression. (In fact, it is placed as-is\n" 1 " suppressed. This bracketed sub-expression is interpreted exactly like a\n" 1 " of accepted characters. The usual skip of leading white space is\n" 1 " Matches a nonempty sequence of characters from the specified set\n" 1 "[[]\n" 1 " the format.\n" 1 " space is suppressed. To skip white space first, use an explicit space in\n" 1 " field width of n is specified. The usual skip of leading white\n" 1 " Matches a single character, or a sequence of n characters if a\n" 1 "[c]\n" 1 " white space or at the maximum field width, whichever occurs first.\n" 1 " Matches a sequence of non-white-space character. The input string stops at\n" 1 "[s]\n" 1 " Matches an optionally signed floating-point number.\n" 1 "[f,g,e,E]\n" 1 " Matches an optionally signed hexadecimal integer,\n" 1 "[x,X]\n" 1 " Matches an optionally signed octal integer.\n" 1 "[o]\n" 1 " base are recognized.\n" 1 " and in base 10 other- wise. Only characters that correspond to the\n" 1 " 16 if it begins with `0x' or `0X', in base 8 if it begins with `0',\n" 1 " Matches an optionally signed integer. The integer is read in base\n" 1 "[i] \n" 1 " Same as d.\n" 1 "[u]\n" 1 " Matches an optionally signed decimal integer.\n" 1 "[d]\n" 1 " '%' is not included in the return array.\n" 1 " single input `%' character. No conversion is done, and the resulting\n" 1 " Matches a literal `%'. That is, `%%' in the format string matches a\n" 1 "[%]\n" 1 "and tests/scanftests.rb for examples.)\n" 1 "The following conversions are available. (See the files EXAMPLES\n" 1 "against the field width.\n" 1 "white space in the input string; this white space is not counted\n" 1 "that conversion. Before conversion begins, most conversions skip\n" 1 "conversion, at most n characters are scanned in processing\n" 1 "see below). Otherwise, given a field width of n for a given\n" 1 "default of `infinity' is used (with the exception of the %c specifier;\n" 1 "integer, between the % and the conversion. If no width is given, a\n" 1 "There may be an optional maximum field width, expressed as a decimal\n" 1 "character, etc.).\n" 1 "what scanf should next scan for (string, decimal number, single\n" 1 "begin with the percent character ('%') and include information about\n" 1 "includes one or more conversion specifiers. Conversion specifiers\n" 1 "The single argument to scanf is a format string, which generally\n" 1 "==Conversions\n" 1 " # => [[246, \"ABC\"], [912, \"DEF\"], [1578, \"GHI\"]]\n" 1 " str.scanf(\"%d%s\") { |num,str| [ num * 2, str.upcase ] }\n" 1 " str = \"123 abc 456 def 789 ghi\"\n" 1 "containing the results of all the executions of the block. \n" 1 "actual return value of scanf when called with a block is an array\n" 1 "(including partial matches, but not including complete failures). The\n" 1 "conversions to the block every time the format string is matched\n" 1 "to the beginning of the format string, and yields a new array of\n" 1 "When called with a block, scanf keeps scanning the input, cycling back\n" 1 "==Block usage\n" 1 " array = scanf(\"%d%s\")\n" 1 " # Kernel#scanf reads from STDIN\n" 1 " array = anIO.scanf(\"%d%s\")\n" 1 " array = aString.scanf(\"%d%s\")\n" 1 " # String#scanf and IO#scanf take a single argument (a format string)\n" 1 " require 'scanf.rb'\n" 1 "==Basic usage\n" 1 "the return array (or yielded to the block, if a block was given).\n" 1 "matched. All matches found up to the stopping point are returned in\n" 1 "exhausted, or when everything in the format string has been\n" 1 "match the specifications in the format string, or when input is\n" 1 "Scanning stops, and scanf returns, when any input character fails to\n" 1 "the input. Everything else matches only itself.\n" 1 "format string matches any amount of white space, including none, in\n" 1 "conversion specifiers. White space (blanks, tabs, or newlines) in the\n" 1 "The format string may also contain characters other than those in the\n" 1 "the conversions themselves are returned as an array.\n" 1 "etc.) The matches and conversions take place from left to right, and\n" 1 "to (e.g., decimal integer, floating point number, literal string,\n" 1 "what form (type) each particular matched substring should be converted\n" 1 "The format may contain conversion specifiers, which tell scanf\n" 1 "formats used in Kernel#printf and Kernel#sprintf.\n" 1 "defined in a string, and is similar (though not identical) to the\n" 1 "array of matches between the format and the input. The format is\n" 1 "format, as described below (\"Conversions\"), and returns an\n" 1 "scanf for Ruby scans an input string or stream according to a\n" 1 "scanf can be called either with or without a block.\n" 1 "can be used on any IO stream, including file handles and sockets.\n" 1 "Kernel#scanf. Kernel#scanf is a wrapper around STDIN.scanf. IO#scanf\n" 1 "The methods provided are String#scanf, IO#scanf, and\n" 1 "modified as necessary for Ruby compatibility.\n" 1 "scanf for Ruby is an implementation of the C function scanf(3),\n" 1 "==Description\n" 1 "=scanf for Ruby\n" 1 "# A product of the Austin Ruby Codefest (Austin, Texas, August 2002)\n" 1 "# $Author: dblack $\n" 1 "# $Id: scanf.rb 19094 2008-09-03 12:54:13Z dblack $\n" 1 "# $Revision: 19094 $\n" 1 "# $Release Version: 1.1.2 $\n" 1 "# scanf for Ruby\n" 1 "rubygems/custom_require" 1 " private :\#{" 1 "rubygems/defaults/" 1 "_without_inherit\n" 1 "rubygems/defaults/operating_system" 1 "# HACK: Needed for rake's package task.\n" 1 " if @\#{" 1 "_without_inherit\n elsif @parent\n" 1 " @parent.\#{" 1 "\n else\n nil\n end\n end\n" 1 "rubygems/gem_path_searcher" 1 "rubygems/dependency" 1 "_without_base\n" 1 " value = \#{" 1 "rubygems/exceptions" 1 "_without_base\n return nil if value.nil?\n if /\\\\A[a-z][a-z0-9+.\\\\-]*:/i =~ value\n value\n else\n \"\\\#{base}\\\#{value}\"\n end\n end\n" 1 "# area as define by \"\#{ConfigMap[:datadir]}/\#{package_name}\".\n" 1 "# specific data directory. Otherwise return a path to the share\n" 1 "# package. If the package is loaded as a gem, return the gem\n" 1 "# Return the path to the data directory associated with the named\n" 1 ")\n end\n" 1 "YAML_SPEC_DIR" 1 " YesCleanOther.parse(@\#{" 1 " Utils::YesOther.parse(@\#{" 1 "# an alias for the old name\n" 1 "_content\n" 1 "# The list of hooks to be run after Gem::Uninstall#uninstall is finished\n" 1 " if @\#{" 1 "# The list of hooks to be run after Gem::Install#install is finished\n" 1 ".nil?\n" 1 "# work\n" 1 "# The list of hooks to be run before Gem::Uninstall#uninstall does any\n" 1 "\n else\n" 1 "# The list of hooks to be run before Gem::Install#install does any work\n" 1 "loaded_specs" 1 "# Is this a windows platform?\n" 1 "# The home directory for the user.\n" 1 ".join(" 1 "# by the unit tests to provide environment isolation.\n" 1 "# Use the +home+ and +paths+ values for Gem.dir and Gem.path. Used mainly\n" 1 ".jar" 1 ".sl" 1 ".dll" 1 ".bundle" 1 ".so" 1 ".rbw" 1 "# Suffixes for require-able paths.\n" 1 "@suffix_pattern" 1 ")\n end\n end\n" 1 "# Glob pattern for require-able path suffixes.\n" 1 " = new_value\n elsif new_value.kind_of?(Time)\n" 1 "sources=" 1 "# Gem.sources.replace since that would cause an infinite loop.\n" 1 "# Need to be able to set the sources without calling\n" 1 " = new_value.dup\n else\n if @do_validate\n begin\n" 1 "> 0.0.1" 1 "# default_sources if it is not installed.\n" 1 "# list is empty, attempts to load the \"sources\" gem, then uses\n" 1 "# Returns an Array of sources to fetch remote gems from. If the sources\n" 1 " = Time.__send__('" 1 "', new_value)\n rescue ArgumentError\n" 1 "# Returns the Gem::SourceIndex of specifications that are in the Gem.path\n" 1 "# only create by matching user\n" 1 " = nil\n if /\\\\A\\\\s*\\\\z/ !~ new_value.to_s\n begin\n unless Date._parse(new_value, false).empty?\n" 1 "# TODO: should this be Gem.default_path instead?\n" 1 " @\#{" 1 "# Set the Gem search path (as reported by Gem.path).\n" 1 "# Set the Gem home directory (as reported by Gem.dir).\n" 1 " = Time.parse(new_value)\n end\n rescue ArgumentError\n end\n end\n end\n end\n\n # Is it need?\n" 1 "# The GemPathSearcher object used to search for matching installed gems.\n" 1 " if @\#{" 1 " class << @\#{" 1 "# A Gem::Version for the currently running ruby.\n" 1 "# escape string in case path to ruby executable contain spaces.\n" 1 "\n undef_method(:to_s)\n" 1 "# The path to the running Ruby interpreter.\n" 1 " alias_method(:to_s, :\#{" 1 ")\n end\n end\n\n end\n" 1 " = new_value\n else\n if @do_validate\n begin\n" 1 "required_location" 1 " not " 1 "RubyGem version error: " 1 "Could not find RubyGem " 1 "# any version by the requested name.\n" 1 "# depends on whether it was a version mismatch or if there are not gems of\n" 1 "# Report a load error during activation. The message of load error\n" 1 " = Integer(new_value)\n rescue ArgumentError\n" 1 "# Safely read a file in binary mode on all platforms.\n" 1 " = new_value\n else\n if @do_validate\n begin\n tmp = Integer(new_value)\n raise ArgumentError if tmp <= 0\n" 1 "# Refresh source_index from disk and clear searcher.\n" 1 "# The directory prefix this RubyGems was installed at.\n" 1 "pre_uninstall" 1 "# and the spec that will be uninstalled when Gem::Uninstaller#uninstall is\n" 1 "# Adds a pre-uninstall hook that will be passed an Gem::Uninstaller instance\n" 1 "pre_install" 1 "# Adds a pre-install hook that will be passed an Gem::Installer instance\n" 1 "post_uninstall" 1 " = tmp\n rescue ArgumentError\n" 1 "# and the spec that was uninstalled when Gem::Uninstaller#uninstall is\n" 1 "# Adds a post-uninstall hook that will be passed a Gem::Uninstaller instance\n" 1 " = new_value\n else\n if @do_validate and\n ![true, false, \"true\", \"false\"].include?(new_value)\n" 1 "post_install" 1 " raise NotAvailableValueError.new('\#{" 1 "# Adds a post-install hook that will be passed an Gem::Installer instance\n" 1 "', new_value)\n end\n if [true, false].include?(new_value)\n" 1 "# Array of platforms this RubyGems supports.\n" 1 " = new_value\n else\n" 1 "platforms=" 1 "# Set array of platforms this RubyGems supports (primarily for testing).\n" 1 " = new_value == \"true\"\n end\n end\n end\n" 1 "=(new_value)\n if @do_validate and\n ![\"text\", \"html\", \"xhtml\", nil].include?(new_value)\n" 1 " raise NotAvailableValueError.new('\#{" 1 "', new_value)\n end\n" 1 "# Array of paths to search for Gems.\n" 1 "MINOR_VERSION" 1 "MAJOR_VERSION" 1 " = new_value\n end\n" 1 "# The version of the Marshal format for your Ruby.\n" 1 ":Warning: Gem::manage_gems is deprecated and will be removed on or after March 2009." 1 "manage_gems" 1 "# manage_gems is useless and deprecated. Don't call it anymore.\n" 1 "(.*?):(\\d+)$" 1 "self.class::" 1 "# The file name and line number of the caller of the caller of this method.\n" 1 " if new_value.is_a?(\#{" 1 "# so you can override the gem_prelude.rb default $LOAD_PATH paths.\n" 1 "# then it inserts the activated gem's paths before the gem_prelude.rb paths\n" 1 "# Defaults to the site lib directory unless gem_prelude.rb has loaded paths,\n" 1 "# The index to insert activated gem paths into the $LOAD_PATH.\n" 1 "(.*)-((\\d+\\.)*\\d+)" 1 " = new_value\n else\n" 1 "# Return only the latest partial paths in the given +gemdir+.\n" 1 ".new\n" 1 "latest_load_paths" 1 "# gems in the Gem installation.\n" 1 "# Return a list of all possible load paths for the latest version for all\n" 1 ".content = new_value\n end\n end\n" 1 "=(value)\n value = (value ? \"yes\" : \"no\") if [true, false].include?(value)\n" 1 "# A Zlib::Inflate#inflate wrapper\n" 1 " = value\n end\n" 1 "=(new_value)\n if [true, false].include?(new_value)\n new_value = new_value ? \"yes\" : \"no\"\n end\n" 1 " = new_value\n end\n" 1 "# Zlib::GzipWriter wrapper that zips +data+.\n" 1 " = Utils::CSV.parse(new_value)\n end\n" 1 " = Utils::CSV.parse(new_value) {|v| Integer(v)}\n end\n" 1 "# Zlib::GzipReader wrapper that unzips +data+.\n" 1 "C:/" 1 "\n end\n\n" 1 "(*args)\n if args.empty?\n" 1 ".first\n else\n" 1 "[*args]\n end\n end\n\n" 1 "=(*args)\n receiver = self.class.name\n warn(\"Warning:\\\#{caller.first.sub(/:in `.*'\\z/, '')}: \" \\\n" 1 " \"Don't use `\\\#{receiver}\\#\#{" 1 "# least on Win32).\n" 1 "# it should fallback to USERPROFILE and HOMEDRIVE + HOMEPATH (at\n" 1 "# to be depending on HOME in those code samples. I propose that\n" 1 "# I have HOME, USERPROFILE and HOMEDRIVE + HOMEPATH. Ruby seems\n" 1 "# directory:\n" 1 "# Some comments from the ruby-talk list regarding finding the home\n" 1 "# Finds the user's home directory.\n" 1 " = XXX'/\" \\\n" 1 " \"`\\\#{receiver}\\#set_\#{" 1 "(XXX)'. \" \\\n \"Those APIs are not sense of Ruby. \" \\\n" 1 "find_files" 1 "# find_files does not search $LOAD_PATH for files, only gems.\n" 1 "# Gem.find_files('rdoc/discover').each do |path| load path end\n" 1 "# up features from other gems. For example:\n" 1 "# Returns a list of paths matching +file+ that can be used by a gem to pick\n" 1 " \"Use `\\\#{receiver}\\#\#{" 1 "# problem, then we will silently continue.\n" 1 "# subdirectories. If we can't create a directory due to a permission\n" 1 "# Quietly ensure the named Gem directory contains all the proper\n" 1 " << XXX' instead of them.\")\n if args.size == 1\n" 1 ".push(args[0])\n else\n" 1 ".__send__(\"[]=\", *args)\n end\n end\n" 1 " alias_method(:set_\#{" 1 ", :" 1 "# in the Gem spec. Each expanded path is yielded.\n" 1 "# Expand each partial gem path with each of the required paths specified\n" 1 "=)\n" 1 "GEM_HOME" 1 "^is" 1 "# The path where gems are to be installed.\n" 1 "Deflate" 1 "converter=" 1 "calc_indent" 1 "# A Zlib::Deflate.deflate wrapper\n" 1 "# package is not available as a gem, return nil.\n" 1 "# The path the the data directory specified by the gem name. If the\n" 1 "configuration=" 1 "# protocol) as the standard configuration object.\n" 1 "# Use the given configuration object (which implements the ConfigFile\n" 1 "model_uri" 1 "# The standard configuration object for gems.\n" 1 ".gemrc" 1 "output_encoding" 1 "output_encoding=" 1 "# The path to standard location of the user's .gemrc file.\n" 1 "to_rss" 1 "to_atom" 1 "atom:" 1 "to_xml" 1 "^(atom|rss)?(\\d+\\.\\d+)?(?::(.+))?$" 1 "# mainly used by the unit tests to provide test isolation.\n" 1 "# is requested, the values will be calculated from scratch. This is\n" 1 "# Reset the +dir+ and +path+ values. The next time +dir+ or +path+\n" 1 "\\n" 1 "# The mode needed to read a file as straight binary.\n" 1 "slash" 1 "available?" 1 "# See if a given gem is available.\n" 1 "gems/*" 1 "# Return all the partial paths in +gemdir+.\n" 1 "http://purl.org/rss/1.0/modules/slash/" 1 "department" 1 "hit_parade" 1 "slash_hit_parades" 1 "all_load_paths" 1 "# Gem installation.\n" 1 "# An Array of all possible load paths for all versions of all gems in the\n" 1 "# we are probably testing in core, -I and RUBYLIB don't apply\n" 1 "slash_hit_parade_content" 1 "sy" 1 "http://purl.org/rss/1.0/modules/syndication/" 1 "updateFrequency" 1 "updateBase" 1 " alias_method(:_sy_updatePeriod=, :sy_updatePeriod=)\n def sy_updatePeriod=(new_value)\n new_value = new_value.strip\n validate_sy_updatePeriod(new_value) if @do_validate\n self._sy_updatePeriod = new_value\n end\n" 1 "# bin directory must come before library directories\n" 1 "hourly" 1 "daily" 1 "# Load dependent gems first\n" 1 "weekly" 1 "# new load\n" 1 "monthly" 1 ", already activated " 1 "can't activate " 1 "yearly" 1 "# list of candidate gems, then we have a version conflict.\n" 1 "# This gem is already loaded. If the currently loaded gem is not in the\n" 1 "validate_sy_updatePeriod" 1 "taxo" 1 "http://purl.org/rss/1.0/modules/taxonomy/" 1 "Taxonomy" 1 "TaxonomyTopics" 1 "# Gem::Requirement and Gem::Version documentation.\n" 1 "# More information on version requirements can be found in the\n" 1 "# not found, a Gem::LoadError is raised.\n" 1 "# Gem is not found that meets the version requirements or a required Gem is\n" 1 "# is omitted, the highest version Gem of the supplied name is loaded. If a\n" 1 "# is activated its required Gems are activated. If the version information\n" 1 "# Gem#activate adds the library paths in +gem+ to $LOAD_PATH. Before a Gem\n" 1 "# loaded, or an exception otherwise.\n" 1 "# Returns true if the gem is activated, false if it is already\n" 1 "# +version_requirements+.\n" 1 "# Activates an installed gem matching +gem+. The gem must satisfy\n" 1 "taxo_topics" 1 "_topic" 1 "TaxonomyTopic" 1 ":about" 1 "_link" 1 "new_taxo_topic" 1 "trackback" 1 "http://madskills.com/public/xml/rss/module/trackback/" 1 "trackback_validate" 1 ":ping" 1 "djgpp" 1 " and @" 1 "# An Array of Regexps that match windows ruby platforms.\n" 1 ".value\n end\n\n" 1 "RubyGemsPackageVersion" 1 " = Utils.new_with_value_if_need(" 1 ", value)\n end\n" 1 "(*args)\n if args.empty?\n" 1 ".first.value\n else\n" 1 " ret = @\#{" 1 ".__send__(\"[]\", *args)\n if ret.is_a?(Array)\n ret.collect {|x| x.value}\n else\n ret.value\n end\n end\n end\n\n" 1 " remove_method :set_\#{" 1 "# Main module to hold all RubyGem classes/modules.\n" 1 "=(*args)\n if args.size == 1\n" 1 "skipping " 1 "GEM_SKIP" 1 " item = Utils.new_with_value_if_need(\#{" 1 ", args[0])\n" 1 ".push(item)\n else\n new_val = args.last\n if new_val.is_a?(Array)\n new_val = new_value.collect do |val|\n" 1 " Utils.new_with_value_if_need(\#{" 1 "# GEM_SKIP=libA:libB ruby -I../libA -I../libB ./mycode.rb\n" 1 "# RUBYLIB environment variable to skip activation of a gem.\n" 1 "# that haven't been installed yet. Now RubyGems defers to -I and the\n" 1 "# used to skip activation of specified gems, for example to test out changes\n" 1 "# In older RubyGems versions, the environment variable GEM_SKIP could be\n" 1 "# RubyGems may load a conflicting library version).\n" 1 "# Kernel#gem should be called *before* any require statements (otherwise\n" 1 "# different version was already activated, an exception will be raised.\n" 1 "# gem could not be found, didn't match the version requirements, or a\n" 1 "# Kernel#gem returns true if the gem was activated, otherwise false. If the\n" 1 "# call Kernel#gem, Kernel#require will do the right thing for you.\n" 1 "# If you will be activating the latest version of a gem, there is no need to\n" 1 "# Gem::Requirement for how to specify a version requirement.\n" 1 "# specified gem must match, most commonly \"= example.version.number\". See\n" 1 "# +version_requirements+ is a list of version requirements that the\n" 1 "# Use Kernel#gem to activate a specific version of +gem_name+.\n" 1 ", val)\n end\n else\n" 1 " new_val = Utils.new_with_value_if_need(\#{" 1 "rubygems/defaults" 1 "rubygems/rubygems_version" 1 ", new_val)\n end\n" 1 ".__send__(\"[]=\", *(args[0..-2] + [new_val]))\n end\n end\n" 1 " alias set_\#{" 1 "rss/maker" 1 "rss/trackback" 1 "rss/taxonomy" 1 "rss/syndication" 1 "rss/slash" 1 "rss/itunes" 1 "rss/image" 1 "new_about" 1 "rss/content" 1 "rss/atom" 1 "# Convert a name_with_underscores to CamelCase.\n" 1 "[_\\-]" 1 "# Tutorial:: http://www.cozmixng.org/~rwiki/?cmd=view;name=RSS+Parser%3A%3ATutorial.en\n" 1 "# Author:: Kouhei Sutou \n" 1 "# escape '&', '\"', '<' and '>' for use in HTML.\n" 1 "# Copyright (c) 2003-2007 Kouhei Sutou. You can redistribute it and/or\n" 1 "ripper/sexp" 1 "ripper/filter" 1 "# If +value+ is an instance of class +klass+, return it, else\n" 1 "# create a new instance of +klass+ with value +value+.\n" 1 "new_with_value_if_need" 1 "# Address Regexp to use for matching IP addresses.\n" 1 "# Default resolver to use for Resolv class methods.\n" 1 "arpa" 1 "ip6" 1 "H32" 1 "# ip6.arpa should be searched too. [RFC3152]\n" 1 "# Turns this IPv6 address into a Resolv::DNS::Name.\n" 1 "(^|:)0(:|$)" 1 "(^|:)0(:0)+(:|$)" 1 "nnnnnnnn" 1 "%X:%X:%X:%X:%X:%X:%X:%X" 1 "# The raw IPv6 address as a String.\n" 1 "IPv6 address must be 16 bytes" 1 "cannot interpret as IPv6 address: " 1 "YesCleanOther" 1 "\\Aclean\\z" 1 "YesOther" 1 "media" 1 "xsl" 1 "text/xsl" 1 "# String:: +arg+ must match one of the IPv6::Regex* constants\n" 1 "# IPv6:: returns +arg+.\n" 1 "# Creates a new IPv6 address from +arg+ which may be:\n" 1 " show help on COMMAND\n (e.g. 'gem help install')\n Further information:\n http://rubygems.rubyforge.org\n" 1 "^ " 1 "# This is where Commands will be placed in the namespace\n" 1 "rubygems/command" 1 "# The command manager registers and installs all the individual\n" 1 "# sub-commands supported by the gem command.\n" 1 "# p Resolv::DNS::Name.create(\"x.y.z\").to_s #=> \"x.y.z\"\n" 1 "# p Resolv::DNS::Name.create(\"x.y.z.\").to_s #=> \"x.y.z\"\n" 1 "# absolute.\n" 1 "# The domain name doesn't have a trailing dot even if the name object is\n" 1 "# returns the domain name as a string.\n" 1 "# Return the authoritative instance of the command manager.\n" 1 "not a domain name: " 1 "subdomain_of?" 1 "# p Resolv::DNS::Name.create(\"w.z\").subdomain_of?(domain) #=> false\n" 1 "# p Resolv::DNS::Name.create(\"x.y.z.\").subdomain_of?(domain) #=> false\n" 1 "# p Resolv::DNS::Name.create(\"z\").subdomain_of?(domain) #=> false\n" 1 "# p Resolv::DNS::Name.create(\"y.z\").subdomain_of?(domain) #=> false\n" 1 "# p Resolv::DNS::Name.create(\"x.y.z\").subdomain_of?(domain) #=> true\n" 1 "# p Resolv::DNS::Name.create(\"w.x.y.z\").subdomain_of?(domain) #=> true\n" 1 "# domain = Resolv::DNS::Name.create(\"y.z\")\n" 1 "# Returns true if +other+ is a subdomain.\n" 1 "# True if this name is absolute.\n" 1 "@command_manager" 1 "# Register all the subcommands supported by the gem command.\n" 1 "cleanup" 1 "cannot interpret as DNS name: " 1 "\\.\\z" 1 "# String:: Creates a new Name.\n" 1 "# Name:: returns +arg+.\n" 1 "# Creates a new DNS name from +arg+. +arg+ can be:\n" 1 "# A representation of a DNS name.\n" 1 "mirror" 1 "[^\\.]+" 1 "pristine" 1 "# Indicates that the DNS request was unable to be encoded.\n" 1 "# Indicates that the DNS response was unable to be decoded.\n" 1 "BADALG" 1 "BADNAME" 1 "BADMODE" 1 "BADTIME" 1 "BADKEY" 1 "BADSIG" 1 "BADVERS" 1 "NotZone" 1 "NotAuth" 1 "NXRRSet" 1 "YXRRSet" 1 "YXDomain" 1 "Refused" 1 "NotImp" 1 "ServFail" 1 "FormErr" 1 "Update" 1 "Notify" 1 "stale" 1 "IQuery" 1 "which" 1 "OpCode" 1 "# Indicates some other unhandled resolver error was encountered.\n" 1 "# Indicates no such domain was found.\n" 1 "DNS resolv timeout: " 1 "# Register the command object.\n" 1 "# Return the registered command from the command name.\n" 1 "# Return a list of all command names (as strings).\n" 1 "# Run the config specified by +args+.\n" 1 "While executing gem ... (" 1 "invalid ndots config: " 1 "invalid search config: " 1 ")\\n " 1 "Interrupted" 1 "invalid nameserver config: " 1 "Invalid option: " 1 ". See 'gem --help'." 1 "Ambiguous command " 1 " matches [" 1 "invalid resolv configuration: " 1 "Unknown command " 1 "_(.)" 1 "rubygems/commands/" 1 "get_resolv_info" 1 "_command" 1 "# Store the gem command options specified in the configuration file. The\n" 1 "/etc/resolv.conf" 1 "# config file object acts much like a hash.\n" 1 "\\Andots:(\\d+)\\z" 1 "# For Ruby packagers to set configuration defaults. Set in\n" 1 "# rubygems/defaults/operating_system.rb\n" 1 "[#;].*" 1 "# For Ruby implementers to set configuration defaults. Set in\n" 1 "# rubygems/defaults/\#{RUBY_ENGINE}.rb\n" 1 "0x0023" 1 "# Indicates a problem with the DNS request.\n" 1 "TCP" 1 "PLPLP" 1 "/etc" 1 "gemrc" 1 "# List of arguments supplied to the config file object.\n" 1 "recvfrom" 1 "# Where to look for gems\n" 1 "# True if we print backtraces on errors.\n" 1 "# True if we are benchmarking this run.\n" 1 "# Bulk threshold value. If the number of missing gems are above\n" 1 "# this threshold value, then a bulk download technique is used.\n" 1 "# Verbose level of output:\n" 1 "# * false -- No output\n" 1 "# unexpected DNS message ignored\n" 1 "# broken DNS message ignored\n" 1 "# * true -- Normal output\n" 1 "# * :loud -- Extra output\n" 1 "# True if we want to update the SourceInfoCache every time, false otherwise\n" 1 "# Create the config file object. +args+ is the list of arguments\n" 1 "# from the command line.\n" 1 "# The following command line options are handled early here rather\n" 1 "# than later at the time most command options are processed.\n" 1 "EADDRINUSE" 1 "# * --config-file and --config-file==NAME -- Obviously these need\n" 1 "# to be handled by the ConfigFile object to ensure we get the\n" 1 "# right config file.\n" 1 "# * --backtrace -- Backtrace needs to be turned on early so that\n" 1 "0x0000" 1 "# errors before normal option parsing can be properly handled.\n" 1 "# * --debug -- Enable Ruby level debug messages. Handled early\n" 1 "# for the same reason as --backtrace.\n" 1 "^--config-file=(.*)" 1 "^--config-file$" 1 "# HACK these override command-line args, which is bad\n" 1 "@home" 1 " due to permissions problem." 1 "# True if the backtrace option has been specified, or debug is on.\n" 1 "# The name of the configuration file.\n" 1 "# Delegates to @hash\n" 1 "# Handle the command arguments.\n" 1 "^--(backtrace|traceback)$" 1 "^--bench(mark)?$" 1 "^--debug$" 1 "# Really verbose mode gives you extra output.\n" 1 "# to_yaml only overwrites things you can't override on the command line.\n" 1 "# Writes out this config file, replacing its source.\n" 1 "# Return the configuration information for +key+.\n" 1 "# Set configuration option +key+ to +value+.\n" 1 "# The Kernel#require from before RubyGems was loaded.\n" 1 "# When RubyGems is required, Kernel#require is replaced with our own which\n" 1 "# is capable of loading gems on demand.\n" 1 "# When you call require 'x', this is what happens:\n" 1 "# * If the file can be loaded from the existing Ruby loadpath, it\n" 1 "# is.\n" 1 "# * Otherwise, installed gems are searched for a file that matches.\n" 1 "# If it's found in gem 'y', that gem is activated (added to the\n" 1 "# loadpath).\n" 1 "# The normal require functionality of returning false if\n" 1 "# that file has already been loaded is preserved.\n" 1 "# An Array of the default sources that come with RubyGems\n" 1 "http://gems.rubyforge.org/" 1 "# Default home directory path to be used if an alternate value is not\n" 1 "# #getresource for argument details.\n" 1 "# Iterates over all +typeclass+ DNS resources for +name+. See\n" 1 "getresources" 1 "# argument details.\n" 1 "# Looks up all +typeclass+ DNS resources for +name+. See #getresource for\n" 1 "# specified in the environment\n" 1 "getresource" 1 "# i.e. Resolv::DNS::Resource::IN::A.\n" 1 "# Returned resource is represented as a Resolv::DNS::Resource instance,\n" 1 "# * Resolv::DNS::Resource::IN::WKS\n" 1 "# * Resolv::DNS::Resource::IN::TXT\n" 1 "# * Resolv::DNS::Resource::IN::SOA\n" 1 "# * Resolv::DNS::Resource::IN::PTR\n" 1 "# * Resolv::DNS::Resource::IN::NS\n" 1 "# * Resolv::DNS::Resource::IN::MX\n" 1 "# * Resolv::DNS::Resource::IN::MINFO\n" 1 "# * Resolv::DNS::Resource::IN::HINFO\n" 1 "# * Resolv::DNS::Resource::IN::CNAME\n" 1 "# * Resolv::DNS::Resource::IN::ANY\n" 1 "# * Resolv::DNS::Resource::IN::AAAA\n" 1 "# * Resolv::DNS::Resource::IN::A\n" 1 "# +typeclass+ should be one of the following:\n" 1 "# +name+ must be a Resolv::DNS::Name or a String.\n" 1 "# Look up the +typeclass+ DNS resource of +name+.\n" 1 "Gems" 1 "cannot interpret as address: " 1 "/site_ruby/(?=[^/]+)" 1 "/gems/" 1 "# Path for gems in the user's home directory\n" 1 "# Default gem load path\n" 1 "# Deduce Ruby's --program-prefix and --program-suffix from its install name\n" 1 "# Iterates over all hostnames for +address+ retrieved from the DNS\n" 1 "# The default directory for binaries\n" 1 "# Gets all hostnames for +address+ from the DNS resolver.\n" 1 "# name will be a Resolv::DNS::Name.\n" 1 "# mac framework support\n" 1 "# Gets the hostname for +address+ from the DNS resolver.\n" 1 "# generic install\n" 1 "# The default system-wide source info cache directory\n" 1 "# The default user-specific source info cache directory\n" 1 "# A wrapper around RUBY_ENGINE const that may not be defined\n" 1 "# The Dependency class holds a Gem name and a Gem::Requirement\n" 1 "# Valid dependency types.\n" 1 "# When this list is updated, be sure to change\n" 1 "# Iterates over all IP addresses for +name+ retrieved from the DNS\n" 1 "# Gem::Specification::CURRENT_SPECIFICATION_VERSION as well.\n" 1 "# Gets all IP addresses for +name+ from the DNS resolver.\n" 1 "# Dependency name or regular expression.\n" 1 "# Dependency type.\n" 1 "# +name+ can be a Resolv::DNS::Name or a String. Retrieved address will\n" 1 "# Gets the IP address of +name+ from the DNS resolver.\n" 1 "# Closes the DNS resolver.\n" 1 "# Dependent versions.\n" 1 "# Orders dependencies by name only.\n" 1 "# :ndots => 1)\n" 1 "# :search => ['ruby-lang.org'],\n" 1 "# Resolv::DNS.new(:nameserver => ['210.251.121.21'],\n" 1 "# Hash:: Must contain :nameserver, :search and :ndots keys.\n" 1 "# String:: Path to a file using /etc/resolv.conf's format.\n" 1 "# nil:: Uses /etc/resolv.conf.\n" 1 "# +config_info+ can be:\n" 1 "# Creates a new DNS resolver.\n" 1 "# Constructs a dependency with +name+ and +requirements+.\n" 1 "# returns it.\n" 1 "# Yields the created DNS resolver to the block, if given, otherwise\n" 1 "# Creates a new DNS resolver. See Resolv::DNS.new for argument details.\n" 1 "Valid types are " 1 "# Uses this dependency as a pattern to compare to the dependency +other+.\n" 1 "# Default DNS UDP packet size\n" 1 "# This dependency will match if the name matches the other's name, and other\n" 1 "# Default DNS Port\n" 1 "# * etc.\n" 1 "# * ftp://ftp.isi.edu/in-notes/iana/assignments/dns-parameters\n" 1 "# * RFC 1035\n" 1 "# * STD0013\n" 1 "# Information taken from the following places:\n" 1 "# Resolv::DNS is a DNS stub resolver.\n" 1 "# Iterates over all hostnames for +address+ retrieved from the hosts file.\n" 1 "# Gets all hostnames for +address+ from the hosts file.\n" 1 " has no address: " 1 "# Gets the hostname of +address+ from the hosts file.\n" 1 "# Iterates over all IP addresses for +name+ retrieved from the hosts file.\n" 1 "# Gets all IP addresses for +name+ from the hosts file.\n" 1 " has no name: " 1 "# Gets the IP address of +name+ from the hosts file.\n" 1 "# has only an equal version requirement that satisfies this dependency.\n" 1 "# Installs a gem along with all its dependencies from local and remote gems.\n" 1 "DependencyInstaller" 1 "gems_to_install" 1 "installed_gems" 1 "# HACK NoSecurity requires OpenSSL. AlmostNo? Low?\n" 1 "# Creates a new installer instance.\n" 1 "# Options are:\n" 1 "# Creates a new DNS::Hosts, using +filename+ for its data source.\n" 1 "/etc/hosts" 1 "get_hosts_path" 1 "# :cache_dir:: Alternate repository path to store .gem files in.\n" 1 "# :domain:: :local, :remote, or :both. :local only searches gems in the\n" 1 "mswin|mingw|bccwin" 1 "# DNS::Hosts is a hostname resolver that uses the system hosts file.\n" 1 "# current directory. :remote searches only gems in Gem::sources.\n" 1 "# :both searches both.\n" 1 "# Indicates a timeout resolving a name or address.\n" 1 "# Indicates a failure to resolve a name or address.\n" 1 "no name for " 1 "# :env_shebang:: See Gem::Installer::new.\n" 1 "# :force:: See Gem::Installer#install.\n" 1 "no address for " 1 "# :format_executable:: See Gem::Installer#initialize.\n" 1 "# :ignore_dependencies:: Don't install any dependencies.\n" 1 "# :install_dir:: See Gem::Installer#install.\n" 1 "# :security_policy:: See Gem::Installer::new and Gem::Security.\n" 1 "# Creates a new Resolv using +resolvers+.\n" 1 "# :user_install:: See Gem::Installer.new\n" 1 "# :wrappers:: See Gem::Installer::new\n" 1 "# Returns a list of pairs of gemspecs and source_uris that match\n" 1 "# Gem::Dependency +dep+ from both local (Dir.pwd) and remote (Gem.sources)\n" 1 "# sources. Gems are sorted with newer gems prefered over older gems, and\n" 1 "# local gems preferred over remote gems.\n" 1 "-[0-9]*.gem" 1 "Error fetching remote data:\\t\\t" 1 "Falling back to local-only install" 1 "^http:\\/\\/" 1 "# local gems win\n" 1 "# Gathers all dependencies necessary for the installation from local and\n" 1 "# * /etc/nsswitch.conf is not supported.\n" 1 "# * NIS is not supported.\n" 1 "# p ress.map { |r| [r.exchange.to_s, r.preference] }\n" 1 "# ress = dns.getresources \"ruby-lang.org\", Resolv::DNS::Resource::IN::MX\n" 1 "# p ress.map { |r| r.address }\n" 1 "# ress = dns.getresources \"www.ruby-lang.org\", Resolv::DNS::Resource::IN::A\n" 1 "# Resolv::DNS.open do |dns|\n" 1 "# p Resolv.getname \"210.251.121.214\"\n" 1 "# p Resolv.getaddress \"www.ruby-lang.org\"\n" 1 "# Resolv can look up various DNS resources using the DNS module directly.\n" 1 "# See also resolv-replace.rb to replace the libc resolver with # Resolv.\n" 1 "# interpreter.\n" 1 "# handle multiple DNS requests concurrently without blocking. The ruby\n" 1 "# Resolv is a thread-aware DNS resolver library written in Ruby. Resolv can\n" 1 "# remote sources unless the ignore_dependencies was given.\n" 1 "# Finds a spec and the source_uri it came from for gem +gem_name+ and\n" 1 "# +version+. Returns an Array of specs and sources required for\n" 1 "# installation of the gem.\n" 1 "gem$" 1 "could not find gem " 1 " locally or in a repository" 1 "# Installs the gem and all its dependencies. Returns an Array of installed\n" 1 "# gems specifications.\n" 1 "# HACK is this test for full_name acceptable?\n" 1 "# TODO: make this sorta_verbose so other users can benefit from it\n" 1 "Installing gem " 1 " " 1 "# Adds +gemspecs+ to the dependency list.\n" 1 "# Return a list of the specifications in the dependency list,\n" 1 "original_resolv_getaddress" 1 "# sorted in order so that no spec in the list depends on a gem\n" 1 "# earlier in the list.\n" 1 "not_new" 1 "not-new" 1 "notnew" 1 "yields" 1 "METHOD_MODIFIERS" 1 "CONSTANT_MODIFIERS" 1 "ATTR_MODIFIERS" 1 "CLASS_MODIFIERS" 1 "nodoc" 1 "# This is useful when removing gems from a set of installed gems.\n" 1 ".document" 1 "# By removing them in the returned order, you don't get into as\n" 1 "# in the current directory\n" 1 "# Name of the dotfile that contains the description of files to be processed\n" 1 "2.2.2" 1 "# RDoc version you are using\n" 1 "RDocError" 1 "# Exception thrown by any rdoc error.\n" 1 "# many dependency issues.\n" 1 "# merchantibility and fitness for a particular purpose.\n" 1 "# warranties, including, without limitation, the implied warranties of\n" 1 "# This software is provided \"as is\" and without any express or implied\n" 1 "# == Warranty\n" 1 "# in the README file of the Ruby distribution.\n" 1 "# is free software, and may be redistributed under the terms specified\n" 1 "# RDoc is Copyright (c) 2001-2003 Dave Thomas, The Pragmatic Programmers. It\n" 1 "# * Dan Brickley led the design of the RDF format.\n" 1 "# * Rich Kilmer wrote the kilmer.rb output template.\n" 1 "# * Charset patch from MoonWolf.\n" 1 "# (Jah) of Enticla.\n" 1 "# * Code to diagram classes and modules was written by Sergey A Yanovitsky\n" 1 "# parser for irb and the rtags package.\n" 1 "# work of Keiju ISHITSUKA of Nippon Rational Inc, who produced the Ruby\n" 1 "# * The Ruby parser in rdoc/parse.rb is based heavily on the outstanding\n" 1 "# == Credits\n" 1 "# Dave Thomas is the original author of RDoc.\n" 1 "# RDoc is currently being maintained by Eric Hodel \n" 1 "# == Other stuff\n" 1 "# disables documentation for the entire class or module.\n" 1 "# last. If you don't specify a +:startdoc:+ by the end of the container,\n" 1 "# document, put a +:stopdoc:+ before the first, and a +:startdoc:+ after the\n" 1 "# For example, if a class has a number of constants that you don't want to\n" 1 "# Stop and start adding new documentation elements to the current container.\n" 1 "# [+:stopdoc:+ / +:startdoc:+]\n" 1 "# Equivalent to the --main command line parameter.\n" 1 "# [+:main:+ _name_]\n" 1 "# Document nothing further at the current level.\n" 1 "# [+:enddoc:+]\n" 1 "# directive in the source).\n" 1 "# command line parameter. (The command line parameter overrides any :title:\n" 1 "# Sets the title for the document. Equivalent to the --title\n" 1 "# [+:title:+ _text_]\n" 1 "# the :include: directive.\n" 1 "# shifted to have the same indentation as the ':' at the start of\n" 1 "# the current directory by default. The contents of the file will be\n" 1 "# searched for in the directories listed by the +--include+ option, or in\n" 1 "# \\Include the contents of the named file at this point. The file will be\n" 1 "# [+:include:+ _filename_]\n" 1 "# yield arguments.\n" 1 "# calling sequence, overriding the default parsing of method parameters and\n" 1 "# Lines up to the next blank line in the comment are treated as the method's\n" 1 "# [+:call-seq:+]\n" 1 "# # See it glisten in the noon-day sun.\n" 1 "# # This is the section that I wrote.\n" 1 "# # :section: My Section\n" 1 "# If there are circular dependencies (yuck!), then gems will be\n" 1 "# also removed. This allows you to add visual cues such as:\n" 1 "# These will be removed, and any identical lines at the end of the block are\n" 1 "# comment block may have one or more lines before the :section: directive.\n" 1 "# attributes, and classes will be documented in this section. A :section:\n" 1 "# the section is used as introductory text. Subsequent methods, aliases,\n" 1 "# used as the section heading, and the remainder of the comment containing\n" 1 "# Starts a new section in the output. The title following +:section:+ is\n" 1 "# [:section: title]\n" 1 "# Comment blocks can contain other directives:\n" 1 "# option.\n" 1 "# so you won't see the documentation unless you use the +-a+ command line\n" 1 "# The +:notnew:+ modifier stops this. Remember that +initialize+ is private,\n" 1 "# actually for the +new+ method, and so fakes out a +new+ for the class.\n" 1 "# assumes that the documentation and parameters for +initialize+ are\n" 1 "# Only applicable to the +initialize+ instance method. Normally RDoc\n" 1 "# [+:notnew:+]\n" 1 "# particular private method.\n" 1 "# otherwise. Useful if, for example, you want to include documentation of a\n" 1 "# Forces a method or attribute to be documented even if it wouldn't be\n" 1 "# [+:doc:+]\n" 1 "# documentation only for a particular set of methods, etc.\n" 1 "# to which it applies, so use +:stopdoc:+/+:startdoc:+ to suppress\n" 1 "# The +:nodoc:+ directive is global across all files for the class or module\n" 1 "# In the above code, only class MyModule::Input will be documented.\n" 1 "# class Output\n" 1 "# module OtherModule # :nodoc: all\n" 1 "# class Input\n" 1 "# module MyModule # :nodoc:\n" 1 "# turned off by adding the +all+ modifier.\n" 1 "# classes within that class of module _will_ be documented. This is\n" 1 "# module also will be omitted. By default, though, modules and\n" 1 "# constants, and attributes directly within the affected class or\n" 1 "# being generated. For classes and modules, the methods, aliases,\n" 1 "# This directive prevents documentation for the element from\n" 1 "# [+:nodoc:+ / +:nodoc:+ all]\n" 1 "# == Directives\n" 1 "# put it in braces: {multi word label}[url].\n" 1 "# used as the target. If +label+ contains multiple words,\n" 1 "# case the label is used in the displayed text, and +url+ is\n" 1 "# Hyperlinks can also be of the form label[url], in which\n" 1 "# directory.\n" 1 "# assumed to refer to local files whose path is relative to the --op\n" 1 "# converted into an inline . Hyperlinks starting 'link:' are\n" 1 "# recognized. An HTTP url that references an external image file is\n" 1 "# * Hyperlinks to the web starting http:, mailto:, ftp:, or www. are\n" 1 "# simple markup, not HTML-style markup.\n" 1 "# preceding the first character with a backslash. This only works for\n" 1 "# boundaries. You can turn off the interpretation of markup by\n" 1 "# Unlike conventional Wiki markup, general markup can cross line\n" 1 "# [\\text...] displays word in a +code+ font\n" 1 "# [\\\\text...] displays word in an italicized font\n" 1 "# [\\text...] displays word in an _emphasized_ font\n" 1 "# [\\text...] displays word in a *bold* font\n" 1 "# delimiter. Not surprisingly, these delimiters look like HTML markup.\n" 1 "# General markup affects text between a start delimiter and and end\n" 1 "# [\\+word+] displays word in a +code+ font\n" 1 "# [\\_word_] displays word in an _emphasized_ font\n" 1 "# [\\*word*] displays word in a *bold* font\n" 1 "# Word-based markup uses flag characters around individual words:\n" 1 "# supports word-based and general markup.\n" 1 "# appearance of parts of that text. Out of the box, RDoc::Markup\n" 1 "# * You can use markup within text (except verbatim) to change the\n" 1 "# (within reason, and if supported by the output device)\n" 1 "# generates a horizontal rule. The more hyphens, the thicker the rule\n" 1 "# * A line starting with three or more hyphens (at the current indent)\n" 1 "# have two,and so on.\n" 1 "# heading. Level one headings have one equals sign, level two headings\n" 1 "# * A line starting with an equals sign (=) is treated as a\n" 1 "# list above is also verbatim text.\n" 1 "# as verbatim text. This is useful for code listings. The example of a\n" 1 "# * Any line that starts to the right of the current margin is treated\n" 1 "# aligned: think of them as a two column table.\n" 1 "# This latter style guarantees that the list bodies' left margins are\n" 1 "# ant:: a little insect that is known\n" 1 "# cat:: a small furry mammal\n" 1 "# label from the list body:\n" 1 "# A minor variation on labeled lists uses two colons to separate the\n" 1 "# returned in order until only the circular dependents and anything\n" 1 "# [ant] a little insect that is known\n" 1 "# they reference are left. Then arbitrary gemspecs will be returned\n" 1 "# [cat] a small furry mammal\n" 1 "# and indenting the list body:\n" 1 "# or definition lists. Do this by putting the label in square brackets\n" 1 "# * You can also construct labeled lists, sometimes called description\n" 1 "# * This is the second item in the original list\n" 1 "# first list item.\n" 1 "# This is the third conventional paragraph in the\n" 1 "# 2. This is the second item in that list\n" 1 "# 1. This is an indented, numbered list.\n" 1 "# And this is the second paragraph.\n" 1 "# the first item. This is the first paragraph.\n" 1 "# * this is a list with three paragraphs in\n" 1 "# indented to this new margin until the list ends. For example:\n" 1 "# non-space following the list start flag. Subsequent lines should be\n" 1 "# taken to be the start of a list. The margin in increased to be the first\n" 1 "# * If a paragraph starts with a \"*\", \"-\", or with \".\", then it is\n" 1 "# paragraph.\n" 1 "# * Consecutive lines starting at this margin are considered to be a\n" 1 "# used as the initial margin for the document.\n" 1 "# * The markup engine looks for a document's natural left margin. This is\n" 1 "# == \\Markup\n" 1 "# immediately after the start of the document element they are modifying.\n" 1 "# +:yields:+ is an example of a documentation directive. These appear\n" 1 "# fred() { |index, position| ... }\n" 1 "# which will get documented as\n" 1 "# def fred # :yields: index, position\n" 1 "# after the method definition\n" 1 "# You can override this using a comment containing ':yields: ...' immediately\n" 1 "# fred() { |line, address| ... }\n" 1 "# This will get documented as:\n" 1 "# until the circular dependency is broken, after which gems will be\n" 1 "# def fred\n" 1 "# will also be displayed:\n" 1 "# description. If a method calls +yield+, then the parameters passed to yield\n" 1 "# Method parameter lists are extracted and displayed with the method\n" 1 "# from comment text to their description.\n" 1 "# underscore or preceded by a hash character are automatically hyperlinked\n" 1 "# Names of classes, files, and any method names containing an\n" 1 "# def get_dob(person)\n" 1 "# # The DOB is returned as a Time object.\n" 1 "# #++\n" 1 "# # FIXME: fails if the birthday falls on February 29th\n" 1 "# #--\n" 1 "# # Extract the age and calculate the date-of-birth.\n" 1 "# ##\n" 1 "# ++.\n" 1 "# module. Commenting can be turned back on with a line that starts with a\n" 1 "# comments, or to stop a comment being associated with a method, class, or\n" 1 "# a --. This can be used to separate external from internal\n" 1 "# RDoc stops processing comments if it finds a comment line containing\n" 1 "# =end\n" 1 "# Documentation to be processed by RDoc.\n" 1 "# =begin rdoc\n" 1 "# flagged with an RDoc tag:\n" 1 "# a =begin/=end block. If you use the latter form, the =begin line must be\n" 1 "# successive lines of the comment, or by including the comment in\n" 1 "# Comment blocks can be written fairly naturally, either using +#+ on\n" 1 "# == Documenting Source Code\n" 1 "# Set the template used when generating output.\n" 1 "# [-T, --template=NAME]\n" 1 "# Show method source code inline, rather than via a popup link.\n" 1 "# [-S, --inline-source]\n" 1 "# available from http://graphviz.org\n" 1 "# use the --diagram option correctly. Dot is\n" 1 "# classes. You need dot V1.8.6 or later to\n" 1 "# Generate diagrams showing modules and\n" 1 "# [-d, --diagram]\n" 1 "# Here are some of the most commonly used options.\n" 1 "# for full details on rdoc's options.\n" 1 "# Run\n" 1 "# always will override those in +RDOCOPT+.\n" 1 "# will make rdoc default to inline method source code. Command-line options\n" 1 "# % export RDOCOPT=\"-S\"\n" 1 "# functions similarly to the +RUBYOPT+ environment variable.\n" 1 "# options can be specified via the +RDOCOPT+ environment variable, which\n" 1 "# rdoc can be passed a variety of command-line options. In addition,\n" 1 "# == \\Options\n" 1 "# recursively for C and Ruby source files only.\n" 1 "# markers). If directory names are passed to RDoc, they are scanned\n" 1 "# contain just Markup-style markup (with or without leading '#' comment\n" 1 "# ending +.c+ are parsed as C files. All other files are assumed to\n" 1 "# ending +.rb+ and +.rbw+ are assumed to be Ruby source. Files\n" 1 "# RDoc uses file extensions to determine how to process each file. File names\n" 1 "# in comment blocks in the documentation this generates.\n" 1 "# You'll find information on the various formatting tricks you can use\n" 1 "# % rdoc --main rdoc.rb\n" 1 "# case, we could type\n" 1 "# index page contain the documentation for the primary file. In our\n" 1 "# You can make this slightly more useful for your readers by having the\n" 1 "# documentation tree starting in the subdirectory +doc+.\n" 1 "# files in and below the current directory. These will be stored in a\n" 1 "# This command generates documentation for all the Ruby and C source\n" 1 "# % rdoc\n" 1 "# source (such as RDoc itself).\n" 1 "# A typical use might be to generate documentation for a package of Ruby\n" 1 "# returned in dependency order again.\n" 1 "# For an up-to-date option summary, type\n" 1 "# % rdoc [options] [names...]\n" 1 "# Once installed, you can create documentation using the +rdoc+ command\n" 1 "# == Summary\n" 1 "# RDoc::Generator::HTML\n" 1 "# * If you want to try writing your own HTML output template, see\n" 1 "# at RDoc::Markup.\n" 1 "# * If you want to use the library to format text blocks into HTML, have a look\n" 1 "# * If you want to drive RDoc programmatically, see RDoc::RDoc.\n" 1 "# * If you want to include extensions written in C, see RDoc::Parser::C\n" 1 "# read on.\n" 1 "# * If you want to use RDoc to create documentation for your Ruby source files,\n" 1 "# == Roadmap\n" 1 "# RDoc uses to document methods, classes, and so on.\n" 1 "# formats. The markup library is used to interpret the comment blocks that\n" 1 "# RDoc::Markup is a library that converts plain text into various output\n" 1 "# block, and then renders the result using a pluggable output formatter.\n" 1 "# these optional documentation contained in the immediately preceding comment\n" 1 "# modules, and methods (along with includes and requires). It associates with\n" 1 "# to JavaDoc, parsing the source, and extracting the definition for classes,\n" 1 "# produces documentation for one or more Ruby source files. It works similarly\n" 1 "# This package contains RDoc and RDoc::Markup. RDoc is an application that\n" 1 "# = \\RDoc - Ruby Documentation System\n" 1 "# Are all the dependencies in the list satisfied?\n" 1 "ok?" 1 "# Is is ok to remove a gem from the dependency list?\n" 1 "# If removing the gemspec creates breaks a currently ok dependency,\n" 1 "# then it is NOT ok to remove the gem.\n" 1 "remove_by_name" 1 "# Return a hash of predecessors. result[spec] is an\n" 1 "# constants in Object and avoid this handler.\n" 1 "# --classic-namespace command line option will define these\n" 1 "# name, display a warning and return the proper object. Using the\n" 1 "# Rake class names. If someone tries to reference the constant\n" 1 "# Check for deprecated uses of top level (i.e. in Object) uses of\n" 1 "# Array of gemspecs that have a dependency satisfied by the named\n" 1 "# Rename the original handler to make it available.\n" 1 " or 'require \"rake/classic_namespace\"' in Rakefile" 1 " Use --classic-namespace on rake command" 1 "# spec.\n" 1 "spec_predecessors" 1 "found at: " 1 "# Count the number of gemspecs in the list +specs+ that are not in\n" 1 "WARNING: Deprecated reference to top-level constant '" 1 "# +ignored+.\n" 1 "active_count" 1 "# The documentation manager generates RDoc and RI for RubyGems.\n" 1 "# Warn about deprecated use of top level constant names.\n" 1 "configured_args=" 1 "# Load the pending list of imported files.\n" 1 "# Add a file to the list of files to be imported.\n" 1 "# Load RDoc from a gem if it is available, otherwise from Ruby's stdlib\n" 1 "^(\\w+)=(.*)$" 1 "# Environmental assignments are processed at this time as well.\n" 1 "# given, return a list containing only the default task.\n" 1 "# Collect the list of tasks on the command line. If no tasks are\n" 1 "# use built-in RDoc\n" 1 "# The standard directory containing system wide rake files.\n" 1 "ERROR: RDoc documentation generator not installed!" 1 "# Updates the RI cache for RDoc 2 if it is installed\n" 1 "@system_dir" 1 "# The directory path containing the system wide rakefiles.\n" 1 "update_ri_cache" 1 "# RDoc 1 does not have VERSION\n" 1 "$rakefile" 1 "No Rakefile found (looking for: " 1 "rdoc/ri/driver" 1 "use_cache" 1 "use_system" 1 "use_site" 1 "use_home" 1 "Can't find " 1 "use_gems" 1 "driver" 1 "Driver" 1 "class_cache" 1 "# Create a document manager for +spec+. +rdoc_args+ contains arguments for\n" 1 "# RDoc (template etc.) as a String.\n" 1 "# for *.rake files in addition to *.rb files.\n" 1 "# Similar to the regular Ruby +require+ command, but will check\n" 1 "$silent" 1 "$dryrun" 1 "$trace" 1 "$show_prereqs" 1 "$show_tasks" 1 "# according to the values in the options structure.\n" 1 "# If class namespaces are requested, set the global options\n" 1 "@rdoc_args" 1 "Display this help message." 1 "# Is the RDoc documentation installed?\n" 1 "# Generate the RI documents for this gem spec.\n" 1 "# RDoc bug, ri goes first\n" 1 "Options are ..." 1 "rake [-f rakefile] {options} targets..." 1 "# Read and handle the command line options.\n" 1 "rake, version " 1 "Display the program version." 1 "# Generate the RDoc documents for this gem spec.\n" 1 "# Generate and install RDoc into the documentation directory\n" 1 "Log message to standard output (default)." 1 "Installing RDoc documentation for " 1 "# Generate and install RI into the documentation directory\n" 1 "Turn on invoke/execute tracing, enable full backtrace." 1 "Installing ri documentation for " 1 "--trace" 1 "Display the tasks (matching optional PATTERN) with descriptions, then exit." 1 "-T [PATTERN]" 1 "--tasks" 1 "# Run RDoc with +args+, which is an ARGV style argument list\n" 1 "Use standard project Rakefile search paths, ignore system wide rakefiles." 1 "-G" 1 "--nosystem" 1 "--no-system" 1 "While generating documentation for " 1 "Using system wide (global) rakefiles (usually '~/.rake/*.rake')." 1 "... MESSAGE: " 1 "--system" 1 "... RDOC args: " 1 "Like --quiet, but also suppresses the 'in directory' announcement." 1 "(continuing with the rest of the installation)" 1 "--silent" 1 "# Remove RDoc and RI documentation\n" 1 "Do not search parent directories for the Rakefile." 1 "# Base exception class for RubyGems. All exception raised by RubyGems are a\n" 1 "--nosearch" 1 "--no-search" 1 "Trace the rules resolution." 1 "--rules" 1 "ex2" 1 "# subclass of this one.\n" 1 "Require MODULE before executing rakefile." 1 "-r MODULE" 1 "--require" 1 "DependencyError" 1 "Auto-import any .rake files in RAKELIBDIR. (default is 'rakelib')" 1 "-R RAKELIBDIR" 1 "--rakelib" 1 "--rakelibdir" 1 "Use FILE as the rakefile." 1 "-f [FILE]" 1 "--rakefile" 1 "Do not log messages to standard output." 1 "# Raised when attempting to uninstall a gem that isn't in GEM_HOME.\n" 1 "# Signals that a file permission error is preventing the user from\n" 1 "Display the tasks and dependencies, then exit." 1 "# installing in the requested directories.\n" 1 "--prereqs" 1 "You don't have write permissions into the " 1 "Include LIBDIR in the search path for required modules." 1 "-I LIBDIR" 1 "--libdir" 1 "Execute some Ruby code, then continue with normal task processing." 1 "-E CODE" 1 "--execute-continue" 1 "Execute some Ruby code, print the result, then exit." 1 "-p CODE" 1 "--execute-print" 1 "Execute some Ruby code and exit." 1 "-e CODE" 1 "--execute" 1 "Do a dry run without executing actions." 1 " directory." 1 "--dry-run" 1 "Describe the tasks (matching optional PATTERN), then exit." 1 "-D [PATTERN]" 1 "--describe" 1 "# Used to raise parsing and loading errors\n" 1 "rake/classic_namespace" 1 "Put Task and FileTask in the top level namespace" 1 "-C" 1 "--classic-namespace" 1 "FormatException" 1 "# passing to OptionParser.\n" 1 "# A list of all the standard options used in rake, suitable for\n" 1 "# Display the tasks and prerequisites\n" 1 "# Signals that a remote operation cannot be conducted, probably due to not\n" 1 "# being connected (or just not finding host).\n" 1 "(aix|darwin|linux|(net|free|open)bsd|cygwin|solaris|irix|hpux)" 1 "tput cols 2>/dev/null" 1 "stty size 2>/dev/null" 1 "# TODO: create a method that tests connection to the preferred gems server.\n" 1 "# All code dealing with remote operations will want this. Failure in that\n" 1 "# method should raise this error.\n" 1 "@dynamic_width" 1 "# Calculate the dynamic width of the \n" 1 "RemoteError" 1 "RemoteInstallationCancelled" 1 "RemoteInstallationSkipped" 1 "s # %s\\n" 1 " %-" 1 "# Represents an error communicating via HTTP.\n" 1 "# Raised to indicate that a system exit should occur with the specified\n" 1 "# exit_code\n" 1 "@exit_code" 1 "Exiting RubyGems with exit_code " 1 "# Classes for building C extensions live here.\n" 1 "# Display the tasks and dependencies.\n" 1 "rubygems/ext/builder" 1 "rubygems/ext/configure_builder" 1 "# given an explicit column width to honor\n" 1 "# We will truncate output if we are outputting to a TTY or if we've been\n" 1 "rubygems/ext/ext_conf_builder" 1 "tty_output=" 1 "# Override the detected TTY output state (mostly for testing)\n" 1 "rubygems/ext/rake_builder" 1 "# True if we are outputting to TTY, false otherwise\n" 1 "Cannot load gem at [" 1 "# If a match is found, it is copied into @rakefile.\n" 1 "# True if one of the files in RAKEFILES is in the current directory.\n" 1 "(See full trace by running task with --trace)" 1 "rake aborted!" 1 "# Exit with error message\n" 1 "# Exit silently\n" 1 "# Exit silently with current status\n" 1 "# Provide standard execption handling for the given block.\n" 1 "] in " 1 "^([^\\[]+)(\\[(.*)\\])$" 1 "# check for old version gem\n" 1 "MD5SUM =" 1 "# private ----------------------------------------------------------------\n" 1 "rubygems/old_format" 1 "# Application options from the command line\n" 1 "# Some system might not have OpenSSL installed, therefore the core\n" 1 "# +ext+.\n" 1 "# Add a loader to handle imported files ending in the extension\n" 1 "# library file openssl might not be available. We localize testing\n" 1 "# for the presence of OpenSSL in this file.\n" 1 "# Is SSL (used by the signing commands) available on this\n" 1 "# platform?\n" 1 "@ssl_available" 1 "# Run the top level tasks of a Rake application.\n" 1 "# Set the value of the ssl_available flag.\n" 1 "# Find the rakefile and then load it and any pending imports.\n" 1 "# Ensure that SSL is available. Throw an exception if it is not.\n" 1 "SSL is not installed on this system" 1 "# Reference a constant defined in the .rb portion of ssl (just to\n" 1 "# Initialize the command line parameters and app name.\n" 1 "# make sure that part is loaded too).\n" 1 "# Check the validity of this certificate.\n" 1 "not valid before '" 1 "# level tasks.\n" 1 "# application. The define any tasks. Finally, call +top_level+ to run your top\n" 1 "# If you wish to build a custom rake command, you should call +init+ on your\n" 1 "# * Run the top level tasks (+run_tasks+).\n" 1 "# * Define the tasks (+load_rakefile+).\n" 1 "# * Initialize the command line options (+init+).\n" 1 "# Run the Rake application. The run method performs the following three steps:\n" 1 "not valid after '" 1 "rf" 1 " is not issuer" 1 "Valid certificate" 1 "@original_dir" 1 "# return hash\n" 1 "# We make our own versions of the constants here. This allows us\n" 1 "# to reference the constants, even though some systems might not\n" 1 "# have SSL installed in the Ruby core package.\n" 1 "# These constants are only used during load time. At runtime, any\n" 1 "# method that makes a direct reference to SSL software must be\n" 1 "# protected with a Gem.ensure_ssl_available call.\n" 1 "# Initialize a Rake::Application object.\n" 1 "Rakefile.rb" 1 "rakefile.rb" 1 "Rakefile" 1 "sha1" 1 "# GemPathSearcher has the capability to find loadable files inside\n" 1 "# List of the top level task names (task names from the command line).\n" 1 "# gems. It generates data up front to speed up searches later.\n" 1 "# Name of the actual rakefile used.\n" 1 "# The original directory where rake was invoked.\n" 1 "# The name of the application (typically 'rake')\n" 1 "# command line, a Rake::Application object is created and run.\n" 1 "# Rake main application object. When invoking +rake+ from the\n" 1 "# TaskManager\n" 1 "Don't know how to handle rule dependent: " 1 "# translation procs.\n" 1 "# Make a list of sources from the list of file name extensions /\n" 1 " ... FAIL)" 1 " ... ENHANCE)" 1 " ... EXIST)" 1 "Attempting Rule " 1 "# Initialise the data we need to make searches later.\n" 1 "# Attempt to create a rule given the list of prerequisites.\n" 1 "# We want a record of all the installed gemspecs, in the order\n" 1 "# we wish to examine them.\n" 1 "_anon_" 1 "# Map gem spec to glob of full require_path directories.\n" 1 "# Generate an anonymous namespace name.\n" 1 "# Preparing this information may speed up searches later.\n" 1 "# Look in all the installed gems until a matching _path_ is found.\n" 1 "# an anonymous namespace if +name+ is nil.\n" 1 "# Evaluate the block in a nested namespace named +name+. Create\n" 1 "# manager.\n" 1 "# Return the list of scope names currently active in the task\n" 1 "# Return the _gemspec_ of the gem where it was found. If no match\n" 1 "# Lookup the task name\n" 1 "# is found, return nil.\n" 1 "# The gems are searched in alphabetical order, and in reverse\n" 1 "# version order.\n" 1 "# find('log4r') # -> (log4r-1.1 spec)\n" 1 "# current scope. Return nil if the task cannot be found.\n" 1 "# are recognized. If no scope argument is supplied, use the\n" 1 "# synthesize file tasks or rules. Special scope names (e.g. '^')\n" 1 "# This method performs straight lookups without trying to\n" 1 "# Lookup a task, using scope and the scope hints in the task name.\n" 1 "# Clear all tasks in this application.\n" 1 "# List of all defined tasks in this application.\n" 1 "# find('log4r.rb') # -> (log4r-1.1 spec)\n" 1 "# find('rake/rdoctask') # -> (rake-0.4.12 spec)\n" 1 "# find('foobarbaz') # -> nil\n" 1 "Rule Recursion Too Deep" 1 "# the enhanced task or nil of no rule was found.\n" 1 "# source attribute of the task appropriately for the rule. Return\n" 1 "# task with the prerequisites and actions from the rule. Set the\n" 1 "# If a rule can be found that matches the task name, enhance the\n" 1 "needs" 1 "Task Argument Error" 1 "# task :t, :a, :needs => [:d] (deprecated)\n" 1 "# task :t, :needs => [:d] (deprecated)\n" 1 "# task :t, [a] => [:d]\n" 1 "# task :t => [:d]\n" 1 "# Resolve task arguments for a task or rule when there are\n" 1 "# task :t, :a (deprecated)\n" 1 "# task :t, [:a]\n" 1 "# task :t\n" 1 "# Matching paths can have various suffixes ('.rb', '.so', and\n" 1 "# others), which may or may not already be attached to _file_.\n" 1 "# Resolve task arguments for a task or rule when there are no\n" 1 "# This method doesn't care about the full filename that matches;\n" 1 "# only that there is a match.\n" 1 "# [task_name, arg_name_list, prerequisites].\n" 1 "# Resolve the arguments for a task/rule. Returns a triplet of\n" 1 "Don't know how to build task '" 1 "# Works like #find, but finds all gemspecs matching +path+.\n" 1 "# Attempts to find a matching path using the require_paths of the given\n" 1 "# Find a matching task for +task_name+.\n" 1 "# create a task of the current type.\n" 1 "# Lookup a task. Return an existing task if found, otherwise\n" 1 "# +spec+.\n" 1 "# Returns files matching +path+ in +spec+.\n" 1 "# Some of the intermediate results are cached in @lib_dirs for speed.\n" 1 "# Return a list of all installed gemspecs, sorted by alphabetical order and\n" 1 "# in reverse version order.\n" 1 "# Backwards compatibility\n" 1 "last_comment" 1 "# Track the last comment made in the Rakefile.\n" 1 "# Returns library directories glob for a gemspec. For example,\n" 1 "# The TaskManager module is a mixin for managing tasks.\n" 1 "# NameSpace\n" 1 "# Return the list of tasks defined in this namespace.\n" 1 "# Lookup a task named +name+ in the namespace.\n" 1 "# '/usr/local/lib/ruby/gems/1.8/gems/foobar-1.0/{lib,ext}'\n" 1 "/{" 1 "rubygems/command_manager" 1 "# and the list of scopes.\n" 1 "# Create a namespace lookup object using the given task manager\n" 1 "# Run an instance of the gem program.\n" 1 "# defined by a +namespace+ command.\n" 1 "# The NameSpace class will lookup task names in the the scope\n" 1 "# class Time\n" 1 "GemRunner" 1 "# Extensions to time to allow comparisons with an early time class.\n" 1 "" 1 "command_manager" 1 "# EarlyTime is a fake timestamp that occurs _before_ any other time value.\n" 1 "doc_manager" 1 "# Default Rakefile loader used by +import+.\n" 1 "# Alias FileList to be available at the top level.\n" 1 "# Run the gem command with the following arguments.\n" 1 "# Yield each file or directory component.\n" 1 "# FileList\n" 1 "# FileList.new(*args)\n" 1 "# Create a new file list including the files listed. Similar to:\n" 1 "# @exclude_patterns = DEFAULT_IGNORE_PATTERNS.dup\n" 1 "(^|[\\/\\\\])core$" 1 "~$" 1 "\\.bak$" 1 "(^|[\\/\\\\])\\.svn([\\/\\\\]|$)" 1 "(^|[\\/\\\\])CVS([\\/\\\\]|$)" 1 "# Should the given file name be excluded?\n" 1 "# Add matching glob patterns.\n" 1 "# Convert a FileList to a string by joining all elements with a space.\n" 1 "# be FileLists in this version.\n" 1 "# FileList version of partition. Needed because the nested arrays should\n" 1 "existing!" 1 "# exist on the file system.\n" 1 "# Modify the current file list so that it contains only file name that\n" 1 "existing" 1 "# file list that exist on the file system.\n" 1 "# Return a new file list that only contains file names from the current\n" 1 "\\nExecution time: %0.2f seconds.\\n" 1 "# standard out.\n" 1 "# a standard emac style file:linenumber:line message will be printed to\n" 1 "# name, line number, and the matching line of text. If no block is given,\n" 1 "# block is given, call the block on each matching line, passing the file\n" 1 "# Grep each of the files in the filelist using the given pattern. If a\n" 1 "# +ext+ is a user added method for the Array class.\n" 1 "# array.collect { |item| item.ext(newext) }\n" 1 "# This method is a shortcut for:\n" 1 "# member of the array.\n" 1 "# Return a new array with String#ext method applied to each\n" 1 "# details.)\n" 1 "# new file list with the modified paths. (See String#pathmap for\n" 1 "# Apply the pathmap spec to each of the included file names, returning a\n" 1 "# Same as +gsub+ except that the original file list is modified.\n" 1 "# Same as +sub+ except that the oringal file list is modified.\n" 1 "# => ['lib\\\\test\\\\file', 'x\\\\y']\n" 1 "# FileList['lib/test/file', 'x/y'].gsub(/\\//, \"\\\\\")\n" 1 "# element of the original list.\n" 1 "# Return a new FileList with the results of running +gsub+ against each\n" 1 "Press Enter to finish" 1 "# FileList['a.c', 'b.c'].sub(/\\.c$/, '.o') => ['a.o', 'b.o']\n" 1 "# element of the oringal list.\n" 1 "# Return a new FileList with the results of running +sub+ against each\n" 1 "# module\n" 1 "builder/xchar" 1 "# Top level class for building the gem repository index.\n" 1 "[*?\\[\\{]" 1 "Indexer" 1 "# Index install location\n" 1 "[*?]" 1 "# Index build directory\n" 1 "# Create an indexer that will index the gems in +directory+.\n" 1 "# Resolve all the pending adds now.\n" 1 "# Redefine * to return either a string or a new file list.\n" 1 "# Lie about our class.\n" 1 "Gem::Indexer requires that the XML Builder library be installed:" 1 "\\n\\tgem install builder" 1 "# Define equality.\n" 1 "gem_generate_index_" 1 "@quick_index" 1 "# Clear all the exclude patterns so that we exclude nothing.\n" 1 "@latest_index" 1 "latest_specs." 1 "# FileList['a.c', 'b.c'].exclude(\"a.*\") => ['a.c', 'b.c']\n" 1 "# If \"a.c\" is not a file, then ...\n" 1 "# FileList['a.c', 'b.c'].exclude(\"a.*\") => ['b.c']\n" 1 "# If \"a.c\" is a file, then ...\n" 1 "# FileList['a.c', 'b.c'].exclude(/^a/) => ['b.c']\n" 1 "# FileList['a.c', 'b.c'].exclude(\"a.c\") => ['b.c']\n" 1 "# system, then an glob pattern in the exclude list will not exclude the\n" 1 "# is explicitly added to a file list, but does not exist in the file\n" 1 "# Note that glob patterns are expanded against the file system. If a file\n" 1 "# return true when given to the block.\n" 1 "# strings. In addition, a block given to exclude will remove entries that\n" 1 "# list. Patterns may be regular expressions, glob patterns or regular\n" 1 "# Register a list of file name patterns that should be excluded from the\n" 1 "# TODO: check for pending\n" 1 "# Abbreviate the spec for downloading. Abbreviated specs are only used for\n" 1 "# file_list.include %w( math.c lib.h *.o )\n" 1 "# file_list.include(\"*.java\", \"*.cfg\")\n" 1 "# is given, add each element of the array.\n" 1 "# Add file names defined by glob patterns to the file list. If an array\n" 1 "# searching, downloading and related activities and do not need deployment\n" 1 "# specific information (e.g. list of files). So we abbreviate the spec,\n" 1 "# making it much smaller for quicker downloads.\n" 1 "# Build various indicies\n" 1 "Generating quick index gemspecs for " 1 "Generating specs index" 1 "Generating latest specs index" 1 "Generating quick index" 1 "# fl.exclude(/\\bCVS\\b/)\n" 1 "# pkg_files = FileList.new('lib/**/*') do |fl|\n" 1 "# file_list = FileList.new('lib/**/*.rb', 'test/test*.rb')\n" 1 "# \"yield self\" pattern.\n" 1 "# perform multiple includes or excludes at object build time, use the\n" 1 "# Create a file list from the globbable patterns given. If you wish to\n" 1 ", *args, &block)\n result.object_id == @items.object_id ? self : result\n end\n" 1 "Generating latest index" 1 ", *args, &block)\n FileList.new.import(result)\n end\n" 1 "Generating Marshal master index" 1 "Generating YAML master index for " 1 " gems (this may take a while)" 1 "# Now do the delegation.\n" 1 "--- !ruby/object:" 1 " +" 1 " compact" 1 "gems:" 1 " map" 1 "%w[\n" 1 "\\A ---" 1 "# wrapping.\n" 1 "# List of delegated methods that return new array values which need\n" 1 "# there's a needed extra ' ' here\n" 1 "Compressing indicies" 1 "# use gzip for future files.\n" 1 "# versions of them explicitly below).\n" 1 "# List of methods that should not be delegated here (we define special\n" 1 "# Collect specifications from .gem files from the gem directory.\n" 1 "# List of additional methods that must be delegated.\n" 1 "Loading " 1 "# delegated.\n" 1 "# List of array methods (that are not in +Object+) that need to be\n" 1 "# methods in the +SPECIAL_RETURN+ list below.\n" 1 "# methods and wrap them in a new FileList object. We enumerate these\n" 1 "# return a new Array object. We want to capture the return value of these\n" 1 "# The second kind of delegation call is used in methods that normally\n" 1 "# itself, and if so will return the FileList object instead.\n" 1 "# almost directly. It checks if the returned value is the @items object\n" 1 "# delegates to the @items array and returns the result directly. Well,\n" 1 "# In addition, there are two kinds of delegation calls. The regular kind\n" 1 "# lifting to an embedded array object (@items).\n" 1 "# array specific methods to call +resolve+ before delegating the heavy\n" 1 "# The lazy evaluation magic of FileLists happens by implementing all the\n" 1 "# == Method Delegation\n" 1 "Loaded all gems" 1 "# list of file names.\n" 1 "# FileList/Array is requested, the pending patterns are resolved into a real\n" 1 "# actually used. The key is that the first time an element of the\n" 1 "# files, but only search out the actual files when then FileList itself is\n" 1 "# This allows us to define a number of FileList to match any number of\n" 1 "# to find the files, a FileList holds the pattern for latter use.\n" 1 "# to be included in the file list, instead of searching the file structures\n" 1 "# FileLists are lazy. When given a list of glob patterns for possible files\n" 1 "# make file manipulation a bit easier.\n" 1 "# A FileList is essentially an array with a few helper methods defined to\n" 1 "# other objects.\n" 1 "# but mark them private so that they don't unintentionally define methods on\n" 1 "# Include the FileUtils file manipulation functions in the top level module,\n" 1 "# ArgumentError exception is thrown if non-declared options are found.\n" 1 "# Check that the options do not contain options not listed in +optdecl+. An\n" 1 "# Send the message to the default rake output (which is $stderr).\n" 1 "Skipping zero-length gem: " 1 "# Merge the given options with the default values.\n" 1 "DRYRUN: " 1 ".*\\.gem\\z" 1 "# instead of actually building the project.\n" 1 "# DRYRUN: Building Project\n" 1 "# nowrite(true) flag is set, then the example will print:\n" 1 "# The following code will build the project under normal conditions. If the\n" 1 "# project.build\n" 1 "# when_writing(\"Building Project\") do\n" 1 "# running when the :nowrite flag is set.\n" 1 "# Use this function to prevent protentially destructive ruby code from\n" 1 "Skipping misnamed gem: " 1 "# nowrite(v) { code } # Execute code with the nowrite flag set temporarily to _v_.\n" 1 "# nowrite(v) # set the nowrite flag to _v_.\n" 1 "# nowrite # return the current value of the nowrite flag\n" 1 "# Get/set the nowrite flag controlling output from the FileUtils utilities.\n" 1 "Received signal, exiting" 1 "Unable to process " 1 "# verbose(v) { code } # Execute code with the verbose flag set temporarily to _v_.\n" 1 "# verbose(v) # set the verbose flag to _v_.\n" 1 "# verbose # return the current value of the verbose flag\n" 1 "# Compacts Marshal output for the specs index data source by using identical\n" 1 "# Get/set the verbose flag controlling output from the FileUtils utilities.\n" 1 " EOS\n" 1 "\n ), &block)\n end\n" 1 "# objects as much as possible.\n" 1 "( *args, &block )\n super(\n *rake_merge_option(args,\n" 1 " def " 1 ":noop => RakeFileUtils.nowrite_flag" 1 ":verbose => RakeFileUtils.verbose_flag" 1 "# Compress +filename+ with +extension+.\n" 1 "$fileutils_nowrite" 1 "$fileutils_verbose" 1 "# respond to the verbose and nowrite commands.\n" 1 "# RakeFileUtils provides a custom version of the FileUtils methods that\n" 1 "# List of gem file names to index.\n" 1 "# split_all(\"a/b/c\") => ['a', 'b', 'c']\n" 1 "# Split a file path into individual directory names.\n" 1 "*.gem" 1 "# Builds and installs indexicies.\n" 1 "# fails.\n" 1 "# Attempt to do a normal file link, but fall back to a copy if the link\n" 1 "# Zlib::GzipWriter wrapper that gzips +filename+ on disk.\n" 1 "# ruby %{-pe '$_.upcase!' 45\n" 1 "# Sanitize the descriptive fields in the spec. Sometimes non-ASCII\n" 1 "# puts \"pattern not found (status = \#{res.exitstatus})\"\n" 1 "# if ! ok\n" 1 "# sh %{grep pattern file} do |ok, res|\n" 1 "# # check exit status after command runs\n" 1 "# sh 'ls', 'file with spaces'\n" 1 "# sh %{ls -ltr}\n" 1 "# Kernel::system).\n" 1 "# is not run with the shell (same semantics as Kernel::exec and\n" 1 "# Run the system command +cmd+. If multiple arguments are given the command\n" 1 "# characters will garble the site index. Non-ASCII characters will\n" 1 "# be replaced by their XML entity equivalent.\n" 1 "# Sanitize a single string.\n" 1 "# HACK the #to_s is in here because RSpec has an Array of Arrays of\n" 1 "# Strings for authors. Need a way to disallow bad values on gempsec\n" 1 "# generation. (Probably won't happen.)\n" 1 "# added to the FileUtils utility functions.\n" 1 "# This a FileUtils extension that defines several additional commands to be\n" 1 "# Mixin methods for install and update options for Gem::Commands\n" 1 "InstallUpdateOptions" 1 "# Add the install/update options to the option parser.\n" 1 "add_install_update_options" 1 "# import \".depend\", \"my_rules\"\n" 1 "# See also the --rakelibdir command line option.\n" 1 "# dependency declarations.\n" 1 "# A common use of the import statement is to include files containing\n" 1 "# to depend on objects defined in the importing file.\n" 1 "# appear anywhere in the importing file, and yet allowing the imported files\n" 1 "# current file is completely loaded. This allows the import statement to\n" 1 "# Import the partial Rakefiles +fn+. Imported files are loaded _after_ the\n" 1 "--install-dir DIR" 1 "# runtests\n" 1 "# task :test => [:build]\n" 1 "# desc \"Run the Unit Tests\"\n" 1 "# Describe the next rake task.\n" 1 "# sh %{cc -o \#{t.name} \#{t.source}}\n" 1 "# rule '.o' => '.c' do |t|\n" 1 "# Declare a rule for auto-tasks.\n" 1 "Gem repository directory to get installed" 1 "--bindir DIR" 1 "# task_run = ns[:run] # find :run in the given namespace.\n" 1 "# task :run\n" 1 "# ns = namespace \"nested\" do\n" 1 "# E.g.\n" 1 "# namespace.\n" 1 "# Returns a NameSpace object that can be used to lookup tasks defined in the\n" 1 "# Create a new rake namespace and use it for evaluating the given block.\n" 1 "multitask" 1 "# multitask :deploy => [:deploy_gem, :deploy_rdoc]\n" 1 "# (which is obvious when you think about it)\n" 1 "# *not* guarantee that its prerequisites will execute in any given order\n" 1 "# Declare a task that performs its prerequisites in parallel. Multitasks does\n" 1 "Directory where binary files are" 1 "located" 1 "# directory \"testdata/doc\"\n" 1 "# Declare a set of files tasks to create the given directories on demand.\n" 1 "--[no-]rdoc" 1 "# (Mainly used for the directory command).\n" 1 "# Declare a file creation task.\n" 1 "# outfile.puts line\n" 1 "# while line = infile.gets\n" 1 "# open(\"config.template\") do |infile|\n" 1 "# open(\"config.cfg\", \"w\") do |outfile|\n" 1 "# file \"config.cfg\" => [\"config.template\"] do\n" 1 "# Declare a file task.\n" 1 "Generate RDoc documentation for the gem on" 1 "# rm_rf \"html\"\n" 1 "# task :clobber => [:clean] do\n" 1 "# Declare a basic task.\n" 1 "# Task Definition Functions ...\n" 1 "--[no-]ri" 1 "Generate RI documentation for the gem on" 1 "--[no-]env-shebang" 1 "# parallel using Ruby threads.\n" 1 "# Same as a regular task, but the immediate prerequisites are done in\n" 1 "# than any other time stamp.\n" 1 "# Time stamp for file creation task. This time stamp is earlier\n" 1 "# Is this file task needed? Yes if it doesn't exist.\n" 1 "Rewrite the shebang line on installed" 1 "# any rebuilds of tasks that depend on it whenever it is updated.\n" 1 "# not re-triggered if any of its dependencies are newer, nor does trigger\n" 1 "# needed if and only if the file has not been created. Once created, it is\n" 1 "# A FileCreationTask is a file task that when used as a dependency will be\n" 1 "# class Rake::FileTask\n" 1 "# of task. File based tasks ignore the scope when creating the name.\n" 1 "# Apply the scope to the task name according to the rules for this kind\n" 1 "# Task class methods.\n" 1 "scripts to use /usr/bin/env" 1 "# Are there any prerequisites with a later time than the given time stamp?\n" 1 "--[no-]force" 1 "# Time stamp for file task.\n" 1 "Force gem to install, bypassing dependency" 1 "# is out of date.\n" 1 "# Is this file task needed? Yes if it doesn't exist, or if its time stamp\n" 1 "checks" 1 "# supplied actions).\n" 1 "# represented by this task, then the file must be rebuilt (using the\n" 1 "# FileTask's prerequisites have a timestamp that is later than the file\n" 1 "# A FileTask is a task that includes time based dependencies. If any of a\n" 1 "# class Rake::Task\n" 1 "# class << Rake::Task\n" 1 "--[no-]test" 1 "# part of the name.\n" 1 "# this kind of task. Generic tasks will accept the scope as\n" 1 "# Apply the scope to the task name according to the rules for\n" 1 "Run unit tests prior to installation" 1 "# Define a rule for synthesizing tasks.\n" 1 "--[no-]wrappers" 1 "# the existing task. Returns the defined task.\n" 1 "# given name already exists, the prerequisites and actions are added to\n" 1 "# Define a task given +args+ and an option block. If a rule with the\n" 1 "Use bin wrappers for executables" 1 "# TRUE if the task name is already defined.\n" 1 "# task with no dependencies or actions.\n" 1 "# found, but an existing file matches the task name, assume it is a file\n" 1 "# known, try to synthesize one from the defined rules. If no rules are\n" 1 "# Return a task with the given name. If the task is not currently\n" 1 "Not available on dosish platforms" 1 "# List of all defined tasks.\n" 1 "# tasks that have been assigned. (Normally used in the unit tests.)\n" 1 "# Clear the task list. This cause rake to immediately forget all the\n" 1 "# Rake Module Methods\n" 1 "--trust-policy POLICY" 1 "................................\\n\\n" 1 "latest-prerequisite time: " 1 "Specify gem trust policy" 1 "--ignore-dependencies" 1 "pre-requisites: \\n" 1 "timestamp: " 1 "task needed: " 1 "class: " 1 "Investigating " 1 "------------------------------\\n" 1 "investigation" 1 "# debugging.\n" 1 "# Return a string describing the internal state of a task. Useful for\n" 1 "Do not install any required dependent gems" 1 "# an array of symbols, one for each argument name.\n" 1 "# Set the names of the arguments for this task. +args+ should be\n" 1 "\\A([^.]+?\\.)( |$)" 1 " / " 1 "# the new comment with \" / \".\n" 1 "# Add a comment to the task. If a comment alread exists, separate\n" 1 "-y" 1 "# Writing to the comment attribute is the same as adding a description.\n" 1 "--include-dependencies" 1 "Unconditionally install the required" 1 "dependent gems" 1 "# argument list (enclosed brackets) and an optional comment.\n" 1 "# Add a description to the task. The description can consist of an option\n" 1 "include_dependencies" 1 "# time stamp. Other tasks can be more sophisticated.\n" 1 "# Timestamp for this task. Basic tasks return the current time for their\n" 1 "# Is this task needed?\n" 1 "--[no-]format-executable" 1 "Make installed executable names match ruby." 1 "** Execute " 1 "** Execute (dry run) " 1 "If ruby is ruby18, foo_exec will be" 1 "# Execute the actions associated with this task.\n" 1 "not_needed" 1 "first_time" 1 "# Format the trace flags for display.\n" 1 "foo_exec18" 1 "--[no-]user-install" 1 "# Invoke all the prerequisites of a task.\n" 1 "Install in user\\'s home directory instead" 1 "of GEM_HOME. Defaults to using home directory" 1 "only if GEM_HOME is not writable." 1 "--development" 1 "** Invoke " 1 "Install any additional development" 1 "# Default options for the gem install command.\n" 1 "# Same as invoke, but explicitly pass a call chain to detect\n" 1 "install_update_defaults_str" 1 "--rdoc --no-force --no-test --wrappers" 1 "rubygems/ext" 1 "# Invoke the task if it is needed. Prerequites are invoked first.\n" 1 "# Clear the existing actions on a rake task.\n" 1 "# Clear the existing prerequisites of a rake task.\n" 1 "rubygems/require_paths_builder" 1 "# The installer class processes RubyGem .gem files and installs the\n" 1 "# Clear the existing prerequisites and actions of a rake task.\n" 1 "reenable" 1 "# is invoked again.\n" 1 "# Reenable the task, allowing its tasks to be executed if the task\n" 1 "# Name of arguments for this task.\n" 1 "# files contained in the .gem into the Gem.path.\n" 1 "# Argument description (nil if none).\n" 1 "# Gem::Installer does the work of putting files in all the right places on the\n" 1 "# filesystem including unpacking the gem into its gem dir, installing the\n" 1 "# Name of task with argument list description.\n" 1 "# Name of the task, including any namespace qualifiers.\n" 1 "# gemspec in the specifications dir, storing the cached gem in the cache dir,\n" 1 "# and installing either wrappers or symlinks for executables.\n" 1 "# Enhance a task with prerequisites or actions. Returns self.\n" 1 "# Raised when there is an error while building extensions.\n" 1 "# The Gem::Specification for the gem being installed\n" 1 "@home_install_warning" 1 "@path_warning" 1 "# True if we've warned about ~/.gems install\n" 1 "# True if we've warned about PATH not including Gem.bindir\n" 1 "# Defaults to use Ruby's program prefix and suffix.\n" 1 "@exec_format" 1 "# Constructs an Installer instance that will install the gem located at\n" 1 "# +gem+. +options+ is a Hash with the following keys:\n" 1 "# +enhance+ to add actions and prerequisites.\n" 1 "# Create a task named +task_name+ with no actions or prerequisites. Use\n" 1 "# :env_shebang:: Use /usr/bin/env in bin wrappers.\n" 1 "# First source from a rule (nil if no sources)\n" 1 "# :force:: Overrides all version checks and security policy checks, except\n" 1 "# for a signed-gems-only policy.\n" 1 "# List of sources for task.\n" 1 "]>" 1 " => [" 1 "# Return task name\n" 1 "# :ignore_dependencies:: Don't raise if a dependency is missing.\n" 1 "# Array of nested namespaces names used for task lookup by this task.\n" 1 "# :install_dir:: The directory to install the gem into.\n" 1 "# Full text of the (possibly multi-line) comment.\n" 1 "# characters.\n" 1 "# Comment for this task. Restricted to a single line of no more than 50\n" 1 "# Application owning this task.\n" 1 "# :format_executable:: Format the executable the same as the ruby executable.\n" 1 "# List of actions attached to a task.\n" 1 "# If your ruby is ruby18, foo_exec will be installed as\n" 1 "# List of prerequisites for a task.\n" 1 "# foo_exec18.\n" 1 "# use the +file+ and +task+ convenience methods.\n" 1 "# Tasks are not usually created directly using the new method, but rather\n" 1 "# opportunity to run and then it will execute its own actions.\n" 1 "# invoked, a task will first ensure that all of its prerequisites have an\n" 1 "# actions (possibly more than one) and a list of prerequisites. When\n" 1 "# A Task is the basic unit of work in a Rakefile. Tasks have associated\n" 1 "# :security_policy:: Use the specified security policy. See Gem::Security\n" 1 "# :wrappers:: Install wrappers if true, symlinks if false.\n" 1 "# class InvocationChain\n" 1 "invalid gem format for " 1 "TOP" 1 "# We'll divert to ~/.gem below\n" 1 "# TODO: Shouldn't have to test for existence of bindir; tests need it.\n" 1 "Circular dependency detected: " 1 "# You don't want to use ~\n" 1 "Installing to ~/.gem since " 1 " and\\n\\t " 1 "# InvocationChain tracks the chain of task invocations to detect\n" 1 " aren't both writable." 1 "with_defaults" 1 "# defaults only if there is no specific value for the given\n" 1 "# Specify a hash of default values for task arguments. Use the\n" 1 "You don't have " 1 "# Find an argument value by name or index.\n" 1 " in your PATH,\\n\\t gem executables will not run." 1 "# names.\n" 1 "# Create a new argument scope using the prerequisite argument\n" 1 "# If it's still not writable, you've got issues.\n" 1 "# Installs the gem and returns a loaded Gem::Specification for the installed\n" 1 "# gem.\n" 1 "# :values). :parent is the parent argument object.\n" 1 "# (given by :names) and a set of associated values (given by\n" 1 "# Create a TaskArgument object with a list of named arguments\n" 1 "# The gem will be installed with the following structure:\n" 1 "# TaskAguments manage the arguments passed to a task.\n" 1 "# @gem_home/\n" 1 "# cache/.gem #=> a cached copy of the installed gem\n" 1 "# gems//... #=> extracted files\n" 1 "# specifications/.gemspec #=> the Gem::Specification\n" 1 "# variables to the same values.\n" 1 "# Clone an object by making a new object and setting all the instance\n" 1 "# If we're forcing the install then disable security unless the security\n" 1 "# Mixin for creating easily cloned objects.\n" 1 "# ##########################################################################\n" 1 "# policy says that we only install singed gems.\n" 1 "# Return the original directory where the Rake application was started.\n" 1 " requires Ruby version " 1 "application=" 1 "# Set the current Rake application object.\n" 1 " requires RubyGems version " 1 "# HACK remove? Isn't this done in multiple places?\n" 1 "# Current Rake Application\n" 1 "# Rake module singleton methods.\n" 1 "# --------------------------------------------------------------------------\n" 1 ": [" 1 "GzipFile" 1 "gzip error installing " 1 "# Ensure that the dependency is satisfied by the current installation of\n" 1 "# Error indicating a recursion overflow error in task selection.\n" 1 "TaskArgumentError" 1 "# Error indicating an ill-formed task declaration.\n" 1 "# Errors -----------------------------------------------------------\n" 1 "# gem. If it is not an exception is raised.\n" 1 "##############################################################################\n" 1 "# class String\n" 1 " in '" 1 "Unknown pathmap specifier " 1 "^%" 1 "# spec :: Gem::Specification\n" 1 "^%\\{([^}]*)\\}(\\d*[dpfnxX])" 1 "%(-?\\d+)d" 1 "# dependency :: Gem::Dependency\n" 1 " requires " 1 "# True if the gems in the source_index satisfy +dependency+.\n" 1 "%X" 1 "%n" 1 "# Unpacks the gem into the given directory.\n" 1 "# Writes the .gemspec specification (in Ruby) to the gem home's\n" 1 "%\\{[^}]*\\}-?\\d*[sdpfnxX%]|%-?\\d+d|%.|[^%]+" 1 "# specifications directory.\n" 1 "# \"/path/to/file.txt\"\n" 1 "# Returns:\n" 1 "# ext.downcase\n" 1 "# \"/path/to/file.TXT\".pathmap(\"%X%{.*,*}x\") { |ext|\n" 1 "# some arbitrary calculation for the replacement.\n" 1 "# If the replacement text is '*', then a block may be provided to perform\n" 1 "# \"bin/org/onestepback/proj/A.class\"\n" 1 "# returns:\n" 1 "# \"src/org/onestepback/proj/A.java\".pathmap(\"%{^src,bin}X.class\")\n" 1 "# reasonable).\n" 1 "# excluded from both the pattern and replacement text (let's keep parsing\n" 1 "# used in the replacement text. Curly braces, commas and semi-colons are\n" 1 "# Regular expressions may be used for the pattern, and back refs may be\n" 1 "# semi-colons (e.g. \"%{old,new;src,bin}d\").\n" 1 "# \"%{old,new}d\"). Muliple replacement specs should be separated by\n" 1 "# after the % character but before the operator letter. (e.g.\n" 1 "# by a comma and are enclosed by curly braces. The replacement spec comes\n" 1 "# particular part of the path. The pattern and replacement are speparated\n" 1 "# pattern/replacement argument to perform simple string substititions on a\n" 1 "# Also the %d, %p, %f, %n, %x, and %X operators can take a\n" 1 "# 'a/b/c/d/file.txt'.pathmap(\"%-2d\") => 'c/d'\n" 1 "# 'a/b/c/d/file.txt'.pathmap(\"%2d\") => 'a/b'\n" 1 "# Creates windows .bat files for easy running of commands\n" 1 "# |+n+| directories from the right hand side of the path.\n" 1 "# starting from the left hand side. If +n+ is negative, return (up to)\n" 1 "# number is positive, only return (up to) +n+ directories in the path,\n" 1 "# The %d specifier can also have a numeric prefix (e.g. '%2d'). If the\n" 1 "# * %% -- A percent sign.\n" 1 "# the standard file separator.\n" 1 "# * %s -- The alternate file separater if defined, otherwise use\n" 1 "# * %X -- Everything *but* the file extension.\n" 1 "# is no extension.\n" 1 "# * %x -- The file extension of the path. An empty string if there\n" 1 "# * %d -- The directory list of the path.\n" 1 "# * %n -- The file name of the path without its file extension.\n" 1 "# but without any directories.\n" 1 "# * %f -- The base file name of the path, with its file extension,\n" 1 "# * %p -- The complete path.\n" 1 "# recognized:\n" 1 "# controls the details of the mapping. The following special patterns are\n" 1 "# Map the path according to the given specification. The specification\n" 1 "# If the user has asked for the gem to be installed in a directory that is\n" 1 "# the system gem directory, then use the system bin directory, else create\n" 1 "# (or use) a new bin dir under the gem_home.\n" 1 "# patterns take the form 'pat1,rep1;pat2,rep2...'.\n" 1 "# Preform the pathmap replacement operations on the given path. The\n" 1 "0111" 1 "# Creates the scripts to run the applications in the gem.\n" 1 "# directories from the back end (right hand side) if +n+ is negative.\n" 1 "# front end (left hand side) if +n+ is positive. Include |+n+|\n" 1 "# Extract a partial path from the path. Include +n+ directories from the\n" 1 "# The Windows script is generated in addition to the regular one due to a\n" 1 "# bug or misfeature in the Windows shell's pipe. See\n" 1 "# Explode a path into individual components. Used by +pathmap+.\n" 1 "# http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/193379\n" 1 "exec_path" 1 "# HACK some gems don't have #! in their executables, restore 2008/06\n" 1 "# +ext+ is a user added method for the String class.\n" 1 "# is not given, or is the empty string, remove any existing extension.\n" 1 "# the string, append the new extension to the end. If the new extension\n" 1 "# Replace the file extension with +newext+. If there is no extenson on\n" 1 "# User defined methods to be added to String.\n" 1 "# module Module\n" 1 " already exists" 1 "WARNING: Possible conflict with Rake extension: " 1 "#if File.read(exec_path, 2) == '#!' then\n" 1 "# prior install may have been --no-wrappers\n" 1 "# ...\n" 1 "# def xyz\n" 1 "# rake_extension(\"xyz\") do\n" 1 "# class String\n" 1 "#else\n" 1 "# block will take effect.\n" 1 "# not added. Otherwise the block is yielded and any definitions in the\n" 1 "# the method already exists, then a warning is printed and the extension is\n" 1 "# Check for an existing method in the current class before extending. IF\n" 1 "# Rake extensions to Module.\n" 1 "# FileUtils.rm_f bin_script_path\n" 1 "rake/win32" 1 "ostruct" 1 "# FileUtils.cp exec_path, bin_script_path,\n" 1 "0.8.3" 1 "# :verbose => Gem.configuration.really_verbose\n" 1 "# independently as an application.\n" 1 "# as a library via a require statement, but it can be distributed\n" 1 "# This is the main file for the Rake application. Normally it is referenced\n" 1 "# = Rake -- Ruby Make\n" 1 "# IN THE SOFTWARE.\n" 1 "# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n" 1 "# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n" 1 "# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n" 1 "# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n" 1 "# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n" 1 "# THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n" 1 "# all copies or substantial portions of the Software.\n" 1 "# The above copyright notice and this permission notice shall be included in\n" 1 "# furnished to do so, subject to the following conditions:\n" 1 "# sell copies of the Software, and to permit persons to whom the Software is\n" 1 "# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n" 1 "# deal in the Software without restriction, including without limitation the\n" 1 "# of this software and associated documentation files (the \"Software\"), to\n" 1 "# Permission is hereby granted, free of charge, to any person obtaining a copy\n" 1 "# Copyright (c) 2003, 2004, 2005, 2006, 2007 Jim Weirich\n" 1 "1.5" 1 "/tmp/foo" 1 "# Creates the symlinks to run the applications in the gem. Moves\n" 1 "# This method is just a wrapped around Marshal.load.\n" 1 "# the symlink if the gem being installed has a newer version.\n" 1 "# This method is just a wrapped around Marshal.dump\n" 1 "Unable to use symlinks on Windows, installing wrapper" 1 "^.*-" 1 "# Generates a #! line for +bin_file_name+'s wrapper copying arguments if\n" 1 ".tmp." 1 "# necessary.\n" 1 "#!/usr/bin/env " 1 "^#!" 1 "# Windows doesn't support atomic file renames.\n" 1 "# Preserve extra words on shebang line, like \"-w\". Thanks RPA.\n" 1 "\\A\\#!.*?ruby\\S*" 1 "# This results in less filesystem calls, which is good for performance.\n" 1 "# We only want to save the new data if the size or checksum has changed.\n" 1 "# Create a plain shebang line.\n" 1 "# Avoid nasty ^M issues.\n" 1 "# Return the text for an application file.\n" 1 "# This is important because otherwise, the checksums that we generate may differ.\n" 1 "# makes sure that Marshal.dump always dumps data structures in the same order.\n" 1 "# Check whether Marshal.dump supports the 'canonical' option. This option\n" 1 "\n#\n# This file was generated by RubyGems.\n#\n" 1 "# The application '\#{" 1 "' is installed as part of a gem, and\n# this file is here to facilitate running it.\n#\n\nrequire 'rubygems'\n\n" 1 "version = \"\#{" 1 "\"\n\nif ARGV.first =~ /^_(.*)_$/ and Gem::Version.correct? $1 then\n version = $1\n ARGV.shift\nend\n\n" 1 "gem '\#{" 1 "', version\n" 1 "load '\#{" 1 "'\n" 1 "# Hash, an MD5 checksum of the data, and the size of the data.\n" 1 "# If +read_only+ is false, a 3-tuple will be returned: the unmarshalled\n" 1 "# If +read_only+ is true, the unmarshalled Hash will be returned.\n" 1 "# Load the given PStore file.\n" 1 "# return the stub script text used to launch the true ruby script\n" 1 "@ECHO OFF\nIF NOT \"%~f0\" == \"~f0\" GOTO :WinNT\n" 1 "# All exceptions are propagated.\n" 1 "# and the file does not exist, then nil will be returned.\n" 1 "# The opened File object will be returned. If _read_only_ is true,\n" 1 "# read-write mode) and lock it for reading or writing.\n" 1 "# Open the specified filename (either in read-only mode or in\n" 1 "\" \"" 1 "\" %1 %2 %3 %4 %5 %6 %7 %8 %9\nGOTO :EOF\n:WinNT\n" 1 "\" \"%~dpn0\" %*\n" 1 "# Builds extensions. Valid types of extensions are extconf.rb files,\n" 1 "# configure scripts and rakefiles or mkrf_conf files.\n" 1 "# Constant for relieving Ruby's garbage collector.\n" 1 "# This can only occur if read_only == true.\n" 1 "Building native extensions. This could take a while..." 1 "# only run rake once\n" 1 "extconf" 1 "ExtConfBuilder" 1 "ConfigureBuilder" 1 "nested transaction" 1 "# :yields: pstore\n" 1 "mkrf_conf" 1 "RakeBuilder" 1 "# Note that PStore does not support nested transactions.\n" 1 "# raise a PStore::Error.\n" 1 "# data store during the transaction and any attempts to change the data will\n" 1 "# If _read_only_ is set to +true+, you will only be allowed to read from the\n" 1 "# equivalent to calling PStore#abort.\n" 1 "# changes are handled. Raising an uncaught Exception in the block is \n" 1 "# PStore#commit or PStore#abort. See those methods for details about how\n" 1 "# automatically. You may exit the transaction early with a call to either \n" 1 "# At the end of the block, changes are committed to the data store\n" 1 "No builder for extension '" 1 "# passed to this method may read and write data to and from the data store \n" 1 "# Opens a new transaction for the data store. Code executed inside a block\n" 1 "# store.abort # end transaction here, discard all changes\n" 1 "# store[:two] = 2 # this change is not applied, see below...\n" 1 "# store[:one] = 1 # this change is not applied, see below...\n" 1 "# store.\n" 1 "# Ends the current PStore#transaction, discarding any changes to the data\n" 1 "ERROR: Failed to build gem native extension.\n\n" 1 "commit" 1 "Gem files will remain installed in \#{" 1 "# store.commit # end transaction here, committing changes\n" 1 "# store[:two] = 2\n" 1 "# store[:one] = 1\n" 1 "# store immediately.\n" 1 "# Ends the current PStore#transaction, committing any changes to the data\n" 1 "# Returns the path to the data store file.\n" 1 "# Returns true if the supplied _name_ is currently in the data store.\n" 1 " for inspection.\n" 1 "# Returns the names of all object hierarchies currently in the store.\n" 1 "# Removes an object hierarchy from the data store, by _name_.\n" 1 "Results logged to \#{" 1 " EOF\n" 1 "# end # commit changes to data store file\n" 1 "# \"James Gray\" => [\"erb.rb\", \"pstore.rb\"] }\n" 1 "# store[:obj_heirarchy] = { \"Kev Jackson\" => [\"rational.rb\", \"pstore.rb\"],\n" 1 "# store[:single_object] = \"My data...\"\n" 1 "# Reads the file index and extracts each file into the gem directory.\n" 1 "# Ensures that files can't be installed outside the gem directory.\n" 1 "format required to extract from" 1 "\\A\\/" 1 "# store clobbers the old data.\n" 1 "# store file under the root _name_. Assigning to a _name_ already in the data\n" 1 "# Stores an individual Ruby object or a hierarchy of Ruby objects in the data\n" 1 "undefined root name `%s'" 1 "# found.\n" 1 "# not specify a default, PStore::Error will be raised if the object is not \n" 1 "# found in the data store, your _default_ will be returned instead. If you do \n" 1 "# _default_ value for the object. In the event the specified _name_ is not \n" 1 "# This method is just like PStore#[], save that you may also provide a \n" 1 "# for extra sanity\n" 1 "attempt to install file into " 1 "# Ruby objects stored under that root _name_ will be returned.\n" 1 "# Retrieves a value from the PStore file data, by _name_. The hierarchy of \n" 1 "attempt to install file into %p under %p" 1 "in read-only transaction" 1 "# Prefix and suffix the program filename the same as ruby.\n" 1 "# if the code is in a read-only PStore#transaction.\n" 1 "# Raises PStore::Error if the calling code is not in a PStore#transaction or\n" 1 "not in transaction" 1 "# HACK Pathname is broken on windows.\n" 1 "# Raises PStore::Error if the calling code is not in a PStore#transaction.\n" 1 "\\A[a-z]:" 1 "# HACK is this possible after #expand_path?\n" 1 "@thread_safe" 1 "install directory %p not absolute" 1 "# Mixin methods for local and remote Gem::Command options.\n" 1 "LocalRemoteOptions" 1 "file %s not readable" 1 "directory %s does not exist" 1 "thread_safe" 1 "# then it will become thread-safe at the cost of a minor performance hit.\n" 1 "# PStore objects are always reentrant. But if _thread_safe_ is set to true,\n" 1 "# the data to be stored.\n" 1 "# To construct a PStore object, pass in the _file_ path where you would like \n" 1 "ultra_safe" 1 "# all POSIX platforms: Linux, MacOS X, FreeBSD, etc). The default value is false.\n" 1 "# This flag only has effect on platforms on which file renames are atomic (e.g.\n" 1 "# of a performance loss.\n" 1 "# unusual OS filesystem errors. Setting this flag comes at the price in the form\n" 1 "# unlikely-to-occur error conditions such as out-of-space conditions and other\n" 1 "# Whether PStore should do its best to prevent file corruptions, even when under\n" 1 "# The error type thrown by all PStore methods.\n" 1 "# Allows OptionParser to handle HTTP URIs.\n" 1 "# Add local/remote options to the command line parser.\n" 1 "add_local_remote_options" 1 "-l" 1 "--local" 1 "Restrict operations to the LOCAL domain" 1 "# backup the PStore files from time to time.\n" 1 "# Needless to say, if you're storing valuable data with PStore, then you should\n" 1 "# +ultra_safe+ for details.\n" 1 "# that support atomic file renames. Please consult the documentation for\n" 1 "# However, this results in a minor performance loss, and only works on platforms\n" 1 "# You can prevent this by setting pstore.ultra_safe = true.\n" 1 "# become corrupted.\n" 1 "# I/O error occurs while PStore is writing to its file, then the file will\n" 1 "# (and the underlying hardware) doesn't raise any unexpected I/O errors. If an\n" 1 "# By default, file integrity is only ensured as long as the operating system\n" 1 "# == Transaction modes\n" 1 "# p wiki[data_root_name]\n" 1 "# p data_root_name\n" 1 "# wiki.roots.each do |data_root_name|\n" 1 "# wiki.transaction(true) do # begin read-only transaction, no changes allowed\n" 1 "# # read wiki data...\n" 1 "# ### Some time later... ###\n" 1 "# end # commit changes to wiki data store file\n" 1 "# wiki[:wiki_index].push(*home_page.wiki_page_references)\n" 1 "# # update wiki index...\n" 1 "# wiki[:wiki_index] ||= Array.new\n" 1 "# # ensure that an index has been created...\n" 1 "# wiki[home_page.page_name] = home_page\n" 1 "# # store page...\n" 1 "# wiki.transaction do # begin transaction; do all of this or none of it\n" 1 "# wiki = PStore.new(\"wiki_pages.pstore\")\n" 1 "# # then we want to update page data and the index together, or not at all...\n" 1 "# \"A page about the JoysOfDocumentation...\" )\n" 1 "# home_page = WikiPage.new( \"HomePage\", \"James Edward Gray II\",\n" 1 "# # create a new page...\n" 1 "# # ...\n" 1 "# [@page_name] + @revisions.last[:contents].scan(/\\b(?:[A-Z]+[a-z]+){2,}/)\n" 1 "# def wiki_page_references\n" 1 "# :contents => contents }\n" 1 "# :author => author,\n" 1 "# @revisions << { :created => Time.now,\n" 1 "# def add_revision( author, contents )\n" 1 "# attr_reader :page_name\n" 1 "# add_revision(author, contents)\n" 1 "# @revisions = Array.new\n" 1 "# @page_name = page_name\n" 1 "# def initialize( page_name, author, contents )\n" 1 "# class WikiPage\n" 1 "# # a mock wiki object...\n" 1 "--remote" 1 "# == Usage example:\n" 1 "# marshalled, for example.\n" 1 "# Marshal. That carries the usual limitations. Proc objects cannot be \n" 1 "# Behind the scenes, Ruby objects are stored to the data store file with \n" 1 "# state, where some values were updated but others were not.\n" 1 "# This can be used to ensure that the data store is not left in a transitory\n" 1 "# The transactional behavior ensures that any changes succeed or fail together.\n" 1 "# may later read values back from the data store or even update data, as needed.\n" 1 "# by name (keys). An object hierarchy may be just a single object. User code \n" 1 "# code can store hierarchies of Ruby objects (values) into the data store file\n" 1 "# PStore implements a file based persistence mechanism based on a Hash. User\n" 1 "Restrict operations to the REMOTE domain" 1 "# See PStore for documentation.\n" 1 "# improved by Hongli Lai\n" 1 "# documentation by Kev Jackson and James Edward Gray II\n" 1 "# originally by matz\n" 1 "# pstore.rb -\n" 1 "# = PStore -- Transactional File Storage for Ruby Objects\n" 1 "#toplevel" 1 "-b" 1 "--both" 1 "Allow LOCAL and REMOTE operations" 1 "# Add the --bulk-threshold option\n" 1 "-B" 1 " time seconds seconds calls ms/call ms/call name\\n" 1 " %% cumulative self self total\\n" 1 "--bulk-threshold COUNT" 1 "Threshold for switching to bulk" 1 "synchronization (default " 1 "# Add the --http-proxy option\n" 1 "--[no-]http-proxy [URL]" 1 "Use HTTP proxy for remote operations" 1 "# Add the --source option\n" 1 "--source URL" 1 "Use URL as the remote source for gems" 1 "# internal values\n" 1 "\\/\\z" 1 "# Add the --update-source option\n" 1 "-u" 1 "specialized_instruction" 1 "trace_instruction" 1 "profiler" 1 "# the current position of internal pointer, not rewound.\n" 1 "# Iterates the given block over all prime numbers. Note that enumeration starts from\n" 1 "# Overwrites Prime#each.\n" 1 "# Returns the next prime number and forwards internal pointer.\n" 1 "# Provides a +Prime+ object with compatibility to Ruby 1.8 when instanciated via +Prime+.+new+.\n" 1 "# odd multiple of p which is greater than or equal to lbound\n" 1 "--[no-]update-sources" 1 "Update local source cache" 1 "# Is fetching of local and remote information enabled?\n" 1 "both?" 1 "# Is local fetching enabled?\n" 1 "# the next odd number of given n\n" 1 "# returns the least odd prime number which is greater than +n+.\n" 1 "0x2196" 1 "0x820d" 1 "0x864a" 1 "0x4c32" 1 "0x816d" 1 "0x129a" 1 "0x64b4" 1 "0xcb6e" 1 "# For an arbitrary odd number n, @table[i][j] is 1 when n is prime where i,j = n.divmod(32) .\n" 1 "# bitmap for odd prime numbers less than 256.\n" 1 "# Internal use. An implementation of eratosthenes's sieve\n" 1 "# two and three.\n" 1 "# are divisible by two or three. This also allows us to skip checking against\n" 1 "# Only check numbers congruent to one and five, modulo six. All others\n" 1 "# but without the performance hit of an actual square root calculation.\n" 1 "# Only check for prime factors up to the square root of the potential primes,\n" 1 "# +index+ is a 0-based index.\n" 1 "# Returns the +index+th prime number. \n" 1 "primes_so_far" 1 "primes" 1 "local?" 1 "# Returns the cached prime numbers.\n" 1 "# @primes[@ulticheck_index + 1] ** 2\n" 1 "121" 1 "# Is remote fetching enabled?\n" 1 "# n < Math.sqrt(@@next_to_check) })\n" 1 "# @primes.index(@primes.reverse.find {|n|\n" 1 "remote?" 1 "# @primes[-1] - @primes[-1] % 6 + 7\n" 1 "103" 1 "Cannot load gem file [" 1 "# @next_to_check % 6 must be 1. \n" 1 "# Skips the Ruby self-install header. After calling this method, the\n" 1 "97" 1 "89" 1 "83" 1 "73" 1 "71" 1 "67" 1 "61" 1 "# IO index will be set after the Ruby code.\n" 1 "47" 1 "41" 1 "# file:: [IO] The IO to process (skip the Ruby code)\n" 1 "__END__" 1 "Failed to find end of ruby script while reading gem" 1 "# There must be no primes between @primes[-1] and @next_to_check.\n" 1 "# usage is a problem, they can be put in Prime#initialize as instance variables.\n" 1 "# These are included as class variables to cache them for later uses. If memory\n" 1 "# Reads the specification YAML from the supplied IO and constructs\n" 1 "# Internal use. An implementation of prime table by trial division method.\n" 1 "# a Gem::Specification from it. After calling this method, the\n" 1 "# IO index will be set after the specification header.\n" 1 "# checking primality of a integer by brute force \n" 1 "# This is a pseudo-prime generator, suitable on \n" 1 "# are not divided by 2 nor 3.\n" 1 "# Generates all integer which are greater than 2 and\n" 1 "# Reads lines from the supplied IO until a end-of-yaml (---) is\n" 1 "# reached\n" 1 "TrialDivisionGenerator" 1 "# a prime table generated by trial division.\n" 1 "# An implementation of +PseudoPrimeGenerator+ which uses \n" 1 "# block:: [String] The read line\n" 1 "---" 1 "# Reads the embedded file data from a gem file, yielding an entry\n" 1 "# Uses +EratosthenesSieve+.\n" 1 "# An implementation of +PseudoPrimeGenerator+.\n" 1 "# containing metadata about the file and the file contents themselves\n" 1 "# see +Enumerator+#with_object.\n" 1 "# see +Enumerator+#with_index.\n" 1 "# Iterates the given block for each prime numbers.\n" 1 "need to define `rewind'" 1 "# See +Enumerator+#rewind.\n" 1 "# Rewinds the internal position for enumeration.\n" 1 "need to define `next'" 1 "# alias of +succ+.\n" 1 "need to define `succ'" 1 "# +PseudoPrimeGenerator+#succ raises +NotImplementedError+. \n" 1 "# position forward. \n" 1 "# returns the next pseudo-prime number, and move the internal\n" 1 "upper_bound=" 1 "# for each file that's archived in the gem.\n" 1 "# NOTE: Many of these methods should be extracted into some kind of\n" 1 "# Concrete subclasses should override succ, next, rewind.\n" 1 "# An abstract class for enumerating pseudo-prime numbers.\n" 1 "# Gem file read/writer\n" 1 "# gem_file:: [IO] The IO to process\n" 1 "Error reading files from gem" 1 "ZeroDivisionError" 1 "# Prime.prime_division(12) #=> [[2,2], [3,1]]\n" 1 "# [[p_1, e_1], [p_2, e_2], ...., [p_n, e_n]].\n" 1 "# prime_division(n) returns\n" 1 "# n = p_1**e_1 * p_2**e_2 * .... * p_n**e_n,\n" 1 "# For an arbitrary integer \n" 1 "# +ZeroDivisionError+:: when +value+ is zero.\n" 1 "# === Exceptions\n" 1 "# but may generate non prime numbers.\n" 1 "# order. It must generate all prime numbers,\n" 1 "# pseudo-prime number in the ascendent\n" 1 "# +generator+.succ must return the next \n" 1 "# +generator+:: Optional. A pseudo-prime generator.\n" 1 "# +value+:: An arbitrary integer.\n" 1 "# Returns the factorization of +value+.\n" 1 "DataError" 1 "# Prime.int_from_prime_division([[2,2], [3,1]]) #=> 12\n" 1 "# p_1**e_1 * p_2**e_2 * .... * p_n**e_n.\n" 1 "# For [[p_1, e_1], [p_2, e_2], ...., [p_n, e_n]], it returns\n" 1 "# and a natural number -- an exponent. \n" 1 "# pair consists of a prime number -- a prime factor --\n" 1 "# +pd+:: Array of pairs of integers. The each internal \n" 1 "# +generator+:: optional. A pseudo-prime generator.\n" 1 "# +value+:: an arbitrary integer to be checked.\n" 1 "# Returns true if +value+ is prime, false for a composite.\n" 1 "# Copyright (C) 2004 Mauricio Julio Fern\xE1ndez Pradier\n" 1 "# +Prime+.+each+.\n" 1 "# +Prime+.+new+ is now obsolete. Use +Prime+.+instance+.+each+ or simply\n" 1 "# by +Prime+::+OldCompatibility+#+each+.\n" 1 "# in order to compatibility to Ruby 1.8, and +Prime+#each is overwritten\n" 1 "# +Prime+.+new+ returns a object extended by +Prime+::+OldCompatibility+\n" 1 "# == Note\n" 1 "# yields all prime numbers p <= +ubound+.\n" 1 "# Upper bound of prime numbers. The iterator stops after \n" 1 "# a parameter.\n" 1 "# Calls +block+ once for each prime number, passing the prime as\n" 1 "# if no block given. \n" 1 "# Or an enumerator which is compatible to an +Enumerator+\n" 1 "# An evaluated value of the given block at the last time.\n" 1 "# == Return value\n" 1 "# Optional. An implementation of pseudo-prime generator.\n" 1 "# +generator+::\n" 1 "# prime numbers infinitely if +ubound+ is nil. \n" 1 "# The upper bound of enumeration. The method enumerates\n" 1 "# Optional. An arbitrary positive number. \n" 1 "# See LICENSE.txt for additional licensing information.\n" 1 "# Wrapper for FileUtils meant to provide logging and additional operations if\n" 1 "# Iterates the given block over all prime numbers.\n" 1 "NonSeekableIO" 1 "# Returns the default instance of Prime.\n" 1 "Prime::new is obsolete. use Prime::instance or class methods of Prime." 1 "ClosedIO" 1 "BadCheckSum" 1 "TooLongFileName" 1 "# obsolete. Use +Prime+::+instance+ or class methods of +Prime+.\n" 1 "TarInput" 1 "# has many prime factors. e.g. for Prime#prime? .\n" 1 "# it is suitable for factorizing an integer which is not large but\n" 1 "# is faster and uses much less memory than other generators. So,\n" 1 "# This sequence is very bad as a pseudo-prime sequence. But this \n" 1 "# Generates all positive integers which is not divided by 2 nor 3.\n" 1 "# [+Prime+::+Generator23+]\n" 1 "# Uses the trial division method.\n" 1 "# [+Prime+::+TrialDivisionGenerator+]\n" 1 "# Uses eratosthenes's sieve. \n" 1 "# [+Prime+::+EratosthenesGenerator+]\n" 1 "# There are few implementations of generator.\n" 1 "# +Prime+::+PseudoPrimeGenerator+ is the base class for generators.\n" 1 "# compatible to an Enumerator.\n" 1 "# Futhermore, it is a external iterator of prime enumeration which is \n" 1 "# numbers and it remembers the position of enumeration and upper bound.\n" 1 "# A \"generator\" provides an implementation of enumerating pseudo-prime\n" 1 "# == Generators\n" 1 "# Prime.prime?(2) #=> true\n" 1 "# Prime.instance.prime?(2) #=> true\n" 1 "Unknown Package open mode" 1 "# as a class method of +Prime+. \n" 1 "# For convenience, each instance method of +Prime+.instance can be accessed\n" 1 "# access it as +Prime+.instance.\n" 1 "# +Prime+.new is obsolete. Now +Prime+ has the default instance and you can \n" 1 "# == Retrieving the instance\n" 1 "# p prime #=> 2, 3, 5, 7, 11, ...., 97\n" 1 "# Prime.each(100) do |prime|\n" 1 "# The set of all prime numbers.\n" 1 "# :yields: prime\n" 1 "dir_class" 1 "each_prime" 1 "# See +Prime+#each for more details.\n" 1 "# Iterates the given block over all prime numbers. \n" 1 "RPA/metadata" 1 "# Returns true if +self+ is a prime number, false for a composite.\n" 1 "find_class" 1 "\\ARPA\\/" 1 "# See Prime#prime_division for more details.\n" 1 "# Returns the factorization of +self+.\n" 1 "dir?" 1 "RPA" 1 "Don't know how to pack this yet!" 1 "# See Prime#int_from_prime_division for more details.\n" 1 "rubygems/package/f_sync_dir" 1 "rubygems/package/tar_header" 1 "# Yuki Sonoda\n" 1 "# Documentation::\n" 1 "# Copyright (c) 2008 Yuki Sonoda (Yugui) \n" 1 "# Copyright (c) 1998-2008 Keiju ISHITSUKA(SHL Japan Inc.)\n" 1 "# Copyright::\n" 1 "# Prime numbers and factorization library.\n" 1 "# = prime.rb\n" 1 "rubygems/package/tar_input" 1 "abc def ghi jkl mno pqr stu\n" 1 "test_27" 1 "rubygems/package/tar_output" 1 "abc def ghi jkl mno pqr\nstu\n" 1 "test_23_26" 1 "abc def ghi jkl mno\npqr stu\n" 1 "test_19_22" 1 "abc def ghi jkl\nmno pqr stu\n" 1 "test_15_18" 1 "rubygems/package/tar_reader" 1 "abc def ghi\njkl mno pqr\nstu\n" 1 "test_11_14" 1 "abc def\nghi jkl\nmno pqr\nstu\n" 1 "test_07_10" 1 "abc\ndef\nghi\njkl\nmno\npqr\nstu\n" 1 "test_00_06" 1 "stu" 1 "pqr" 1 "mno" 1 "Fill" 1 "test_7" 1 "0 spaces" 1 "test_6" 1 " spaces" 1 "NonString" 1 "abc defghi\\njkl" 1 "rubygems/package/tar_reader/entry" 1 "rubygems/package/tar_writer" 1 "# Available list of platforms for targeting Gem installations.\n" 1 "test_1" 1 "TailGroup" 1 "if a == b then a << 2 else a + b\n" 1 "test_32" 1 "_60" 1 "if a == b\nthen a << 2\nelse a + b\n" 1 "test_11_31" 1 "if a == b\nthen\n a << 2\nelse a + b\n" 1 "test_10" 1 "if a == b\nthen\n a << 2\nelse\n a + b\n" 1 "test_09" 1 "if\n a == b\nthen\n a << 2\nelse\n a + b\n" 1 "test_08" 1 "if\n a ==\n b\nthen\n a <<\n 2\nelse\n a + b\n" 1 "test_07" 1 "if\n a ==\n b\nthen\n a <<\n 2\nelse\n a +\n b\n" 1 "test_06" 1 "if\n a\n ==\n b\nthen\n a\n <<\n 2\nelse\n a +\n b\n" 1 "test_05" 1 "if\n a\n ==\n b\nthen\n a\n <<\n 2\nelse\n a\n +\n b\n" 1 "test_00_04" 1 "mswin32$" 1 "StrictPrettyExample" 1 "\\d" 1 "# reassemble x86-linux-gnu\n" 1 "i\\d86" 1 "aaaa[ bbbbb[ ccc, dd ], eee, ffff[ gg, hhh, ii ] ]\n" 1 "test_tree_alt_50" 1 "# for command-line\n" 1 "# legacy jruby\n" 1 "aaaa[\n bbbbb[ ccc, dd ],\n eee,\n ffff[ gg, hhh, ii ]\n]\n" 1 "test_tree_alt_20_49" 1 "aaaa[\n bbbbb[ ccc, dd ],\n eee,\n ffff[\n gg,\n hhh,\n ii\n ]\n]\n" 1 "test_tree_alt_19_20" 1 "aix(\\d+)" 1 "aaaa[\n bbbbb[\n ccc,\n dd\n ],\n eee,\n ffff[\n gg,\n hhh,\n ii\n ]\n]\n" 1 "test_tree_alt_00_18" 1 "aix" 1 "darwin(\\d+)?" 1 "aaaa[bbbbb[ccc, dd], eee, ffff[gg, hhh, ii]]\n" 1 "44" 1 "test_tree_44" 1 "freebsd(\\d+)" 1 "aaaa[bbbbb[ccc, dd],\n eee,\n ffff[gg, hhh, ii]]\n" 1 "test_tree_23_43" 1 "freebsd" 1 "hpux(\\d+)" 1 "aaaa[bbbbb[ccc, dd],\n eee,\n ffff[gg,\n hhh,\n ii]]\n" 1 "test_tree_20_22" 1 "hpux" 1 "aaaa[bbbbb[ccc,\n dd],\n eee,\n ffff[gg,\n hhh,\n ii]]\n" 1 "test_tree_00_19" 1 "^java$" 1 "^jruby$" 1 "hello a b c d\n" 1 "test_hello_13" 1 "hello a b c\nd\n" 1 "test_hello_11_12" 1 "hello a b\nc\nd\n" 1 "test_hello_09_10" 1 "hello a\nb\nc\nd\n" 1 "test_hello_07_08" 1 "^java([\\d.]*)" 1 "hello\na\nb\nc\nd\n" 1 "(mswin\\d+)(\\_(\\d+))?" 1 "32$" 1 "test_hello_00_06" 1 "openbsd(\\d+\\.\\d+)" 1 "hhh" 1 "gg" 1 "ffff" 1 "eee" 1 "openbsd" 1 "dd" 1 "solaris(\\d+\\.\\d+)" 1 "ccc" 1 "bbbbb" 1 "aaaa" 1 "# test\n" 1 "^(\\w+_platform)(\\d+)" 1 "WadlerExample" 1 "invalid argument " 1 "#<%s:0x%x @cpu=%p, @os=%p, @version=%p>" 1 "# Is +other+ equal to this platform? Two platforms are equal if they have\n" 1 "# the same CPU, OS and version.\n" 1 "# Does +other+ match this platform? Two platforms match if they have the\n" 1 "# same CPU, or either has a CPU of 'universal', they have the same OS, and\n" 1 "@breakables" 1 "@depth" 1 "# they have the same version, or either has no version.\n" 1 "# cpu\n" 1 "# os\n" 1 "# version\n" 1 "# Does +other+ match this platform? If +other+ is a String it will be\n" 1 "# outputs buffered data.\n" 1 "# converted to a Gem::Platform first. See #=== for matching rules.\n" 1 "# Increases left margin after newline with +indent+ for line breaks added in\n" 1 "# nop\n" 1 "# This data is from http://gems.rubyforge.org/gems/yaml on 19 Aug 2007\n" 1 "^i686-darwin(\\d)" 1 "^i\\d86-linux" 1 "jruby" 1 "mswin32(\\_(\\d+))?" 1 "powerpc-darwin(\\d)" 1 "sparc-solaris2.8" 1 "# close_width is called after grouping.\n" 1 "# before grouping. If +close_obj+ is specified, text close_obj,\n" 1 "# If +open_obj+ is specified, text open_obj, open_width is called\n" 1 "# nest(indent) { ... }.\n" 1 "# If +indent+ is specified, the method call is regarded as nested by\n" 1 "# to be used or not.\n" 1 "# Groups line break hints added in the block. The line break hints are all\n" 1 "sparc" 1 "2.8" 1 "# specify this when +sep+ is a multibyte character, for example.\n" 1 "# If +width+ is not specified, +sep.length+ is used. You will have to\n" 1 "# If +sep+ is not specified, \" \" is used.\n" 1 "# text +sep+ is inserted if a line is not broken at the point.\n" 1 "# This tells \"you can break a line here if necessary\", and a +width+\\-column\n" 1 "universal-darwin(\\d)" 1 "# If +width+ is not specified, obj.length is used.\n" 1 "# This adds +obj+ as a text of +width+ columns in width.\n" 1 "# A pure-ruby gem that may use Gem::Specification#extensions to build\n" 1 "# binary files.\n" 1 "# A platform-specific gem that is built for the packaging ruby's platform.\n" 1 "# This will be replaced with Gem::Platform::local.\n" 1 "PrettyPrint#first? is obsoleted at 1.8.2." 1 "# RemoteFetcher handles the details of fetching gems and gem information from\n" 1 "# first? is obsoleted in 1.8.2.\n" 1 "# a remote source.\n" 1 "# ... pretty printing yyy ...\n" 1 "# q.breakable\n" 1 "# q.text ','\n" 1 "# unless q.first?\n" 1 "# xxx.each {|yyy|\n" 1 "# q.group(1, '[', ']') {\n" 1 "# It is useful to format comma separated values as:\n" 1 "# current group.\n" 1 "# first? is a predicate to test the call is a first call to first? with\n" 1 "# A FetchError exception wraps up the various possible IO and HTTP failures\n" 1 "# that could happen while downloading from the internet.\n" 1 "# The URI which was being accessed when the exception happened.\n" 1 "# Cached RemoteFetcher instance.\n" 1 "# Initialize a remote fetcher using the source URI and possible proxy\n" 1 "# +proxy+\n" 1 "# * [String]: explicit specification of proxy; overrides any environment\n" 1 "# variable setting\n" 1 "# * nil: respect environment variables (HTTP_PROXY, HTTP_PROXY_USER,\n" 1 "# HTTP_PROXY_PASS)\n" 1 "# * :no_proxy: ignore environment variables and _don't_ use a proxy\n" 1 "# Moves the gem +spec+ from +source_uri+ to the cache dir unless it is\n" 1 "# already there. If the source_uri is local the gem cache dir copy is\n" 1 "# always replaced.\n" 1 "# URI.parse gets confused by MS Windows paths with forward slashes.\n" 1 "# is not given.\n" 1 "# The block is used to generate spaces. {|width| ' ' * width} is used if it\n" 1 "# +newline+ is used for line breaks. \"\\n\" is used if it is not specified.\n" 1 "# non-breakable texts are provided.\n" 1 "# assumed. However actual outputs may overflow +maxwidth+ if long\n" 1 "# +maxwidth+ specifies maximum line length. If it is not specified, 79 is\n" 1 "# block for PrettyPrint.new.\n" 1 "# first argument +newline+ of PrettyPrint.new, and the result of a given\n" 1 "# PrettyPrint#text, the first argument +sep+ of PrettyPrint#breakable, the\n" 1 "# should have a << method which accepts the first argument +obj+ of\n" 1 "# +output+ is an output target. If it is not specified, '' is assumed. It\n" 1 "# Creates a buffer for pretty printing.\n" 1 "singleline_format" 1 "# treated as just an invocation of +text+.\n" 1 "# The invocation of +breakable+ in the block doesn't break a line and is\n" 1 "# +maxwidth+, +newline+ and +genspace+ are ignored.\n" 1 "# This is similar to PrettyPrint::format but the result has no breaks.\n" 1 "^[a-z]$" 1 "Downloading gem " 1 "Failed, downloading gem " 1 "# output\n" 1 "# q.flush\n" 1 "# q = PrettyPrint.new(output, maxwidth, newline, &genspace)\n" 1 "# This is a convenience method which is same as follows:\n" 1 "# http://homepages.inf.ed.ac.uk/wadler/topics/language-design.html#prettier\n" 1 "# Philip Wadler, A prettier printer, March 1998,\n" 1 "# http://www.st.cs.uni-sb.de/~lindig/papers/#pretty\n" 1 "# Christian Lindig, Strictly Pretty, March 2000,\n" 1 "# TODO test for local overriding cache\n" 1 "# * Other (better) model/algorithm?\n" 1 "# * Box based formatting?\n" 1 "Using local gem " 1 "# * non-string formatting\n" 1 "# * multibyte characters which has columns different to number of bytes\n" 1 "# * text formatting using proportional fonts\n" 1 "# There are several candidate uses:\n" 1 "# * PrettyPrint#breakable\n" 1 "# * optional width argument for PrettyPrint#text\n" 1 "# * newline object and space generation block for PrettyPrint.new\n" 1 "# other situations by giving suitable arguments for some methods:\n" 1 "# byte in the strings have single column in width. But it can be used for\n" 1 "# By default, the class assumes that primitive elements are strings and each\n" 1 "# nice indentations for grouped structure.\n" 1 "# This class implements a pretty printing algorithm. It finds line breaks and\n" 1 "unsupported URI scheme " 1 "# Downloads +uri+ and returns it as a String.\n" 1 ", 1" 1 "[1" 1 "# [ruby-core:02699]\n" 1 "{1=>1}" 1 "PPSingleLineTest" 1 "[nil, nil]\\n" 1 "test_share_nil" 1 "[]\\n" 1 "test_withinspect" 1 "test_anonymous" 1 "test_object" 1 "#>\\n" 1 "test_struct" 1 "timed out" 1 "{0=>{...}}\\n" 1 "# Returns the size of +uri+ in bytes.\n" 1 "[[...]]\\n" 1 "# TODO: phase this out\n" 1 "PPCycleTest" 1 "aaa\\n" 1 "test_to_s_without_iv" 1 "\\A#\\n\\z" 1 "# Returns an HTTP proxy URI if one is set in the environment variables.\n" 1 "HTTP_PROXY" 1 "test_to_s_with_iv" 1 "test_proc" 1 "# Probably we have http_proxy_* variables?\n" 1 "" 1 "test_pretty_print_inspect" 1 "test_hasboth" 1 "http_proxy_user" 1 "test_hasprettyprint" 1 "\\n" 1 "test_hasinspect" 1 "PPInspectTest" 1 "HTTP_PROXY_USER" 1 "http_proxy_pass" 1 "HTTP_PROXY_PASS" 1 "# Normalize the URI by adding \"http://\" if it is missing.\n" 1 "normalize_uri" 1 "^(https?|ftp|file):" 1 "# Creates or an HTTP connection based on +uri+, or retrieves an existing\n" 1 "# connection, using a proxy if needed.\n" 1 "\"\"\\n" 1 "%(" 1 "test_redefined_method" 1 "#\\n" 1 "# [ruby-core:7865]\n" 1 "test_struct_override_members" 1 "# Read the data from the (source based) URI, but if it is a file:// URI,\n" 1 "# read from the filesystem instead.\n" 1 "[0,\\n 1,\\n 2,\\n 3]\\n" 1 "test_list0123_11" 1 "[0, 1, 2, 3]\\n" 1 "block is dead" 1 "test_list0123_12" 1 "uri is not an HTTP URI" 1 "too many redirects" 1 "Location" 1 "PPTest" 1 "bad response " 1 "# Performs a Net::HTTP request of type +request_class+ on +uri+ returning\n" 1 "named_captures" 1 "# a Net::HTTP response object. request maintains a table of persistent\n" 1 "# connections to reduce connect overhead.\n" 1 "RubyGems/" 1 "ctime=" 1 "mtime=" 1 " Ruby/" 1 "atime=" 1 "blocks" 1 "blocks=" 1 "blksize=" 1 " patchlevel " 1 "rdev_minor" 1 "rdev_major" 1 "(%d, %d)" 1 "rdev=0x%x" 1 "getgrgid" 1 "If-Modified-Since" 1 "gid=" 1 "too many bad responses" 1 "# HACK work around EOFError bug in Net::HTTP\n" 1 "nlink" 1 "nlink=" 1 "# NOTE Errno::ECONNABORTED raised a lot on Windows, and make impossible\n" 1 "?T" 1 "# to install gems.\n" 1 "0001" 1 "0002" 1 "0004" 1 "connection reset after " 1 "0010" 1 "0020" 1 "0040" 1 " requests, retrying" 1 "too many connection resets" 1 "# Resets HTTP connection +connection+.\n" 1 "# Checks if the provided string is a file:// URI.\n" 1 "0100" 1 "# Given a file:// URI, returns its local path.\n" 1 "0200" 1 ".require_paths" 1 "# Requirement version includes a prefaced comparator in addition\n" 1 "0400" 1 "(%s %c%c%c%c%c%c%c%c%c)" 1 "mode=0%o" 1 "ino=" 1 "dev=0x%x" 1 "etc.so" 1 "# to a version number.\n" 1 "#" 1 "# 1.2, < 2.0).\n" 1 "# implement #pretty_print, or a RuntimeError will be raised.\n" 1 "# However, doing this requires that every class that #inspect is called on\n" 1 "# alias inspect pretty_print_inspect\n" 1 "# If you implement #pretty_print, it can be used as follows.\n" 1 "# Is #inspect implementation using #pretty_print.\n" 1 "# +[:@a, :@b]+.\n" 1 "# This method should return an array of names of instance variables as symbols or strings as:\n" 1 "# Returns a sorted array of instance variable names.\n" 1 "# detected as part of a cycle.\n" 1 "# A default pretty printing method for general objects that are\n" 1 "~>" 1 "# the most commonly used built-in classes for convenience.\n" 1 "# This module provides predefined #pretty_print methods for some of\n" 1 "# line break hints.\n" 1 "# the result of self.inspect is used but it obviously has no\n" 1 "# If +self+ has a customized (redefined) #inspect method,\n" 1 "# It calls #pretty_print_instance_variables to list instance variables.\n" 1 "# A default pretty printing method for general objects.\n" 1 "# 4. generic pretty_print\n" 1 "# 3. specific to_s if instance variable is empty\n" 1 "# 2. specific inspect\n" 1 "# 1. specific pretty_print\n" 1 "# Factory method to create a Gem::Requirement object. Input may be a\n" 1 "# Version, a String, or nil. Intended to simplify client code.\n" 1 "# If the input is \"weird\", the default version requirement is returned.\n" 1 "# A default \"version requirement\" can surely _only_ be '>= 0'.\n" 1 "# This comment once said:\n" 1 "# :yield: element\n" 1 "# \"A default \"version requirement\" can surely _only_ be '> 0'.\"\n" 1 ">= 0" 1 "# xxx 3\n" 1 "# xxx 2\n" 1 "# Constructs a Requirement from +requirements+ which can be a String, a\n" 1 "# xxx 1\n" 1 "# q.seplist([1,2,3], lambda { q.comma_breakable }, :each) {|v| xxx v }\n" 1 "# q.seplist([1,2,3]) {|v| xxx v }\n" 1 "# For example, following 3 code fragments has similar effect.\n" 1 "# If +iter_method+ is not given, :each is used.\n" 1 "# +lambda { comma_breakable }+ is used.\n" 1 "# If +separator_proc+ is nil or not given,\n" 1 "# If the iteration is zero times, +separator_proc+ is not called at all.\n" 1 "# The procedure +separator_proc+ is called between each yields.\n" 1 "# It yields each object to the block given for #seplist.\n" 1 "# #seplist iterates the +list+ using +iter_method+.\n" 1 "# The list is separated by comma with breakable space, by default.\n" 1 "# Adds a separated list.\n" 1 "# Gem::Version, or an Array of those. See parse for details on the\n" 1 "# formatting of requirement strings.\n" 1 "# Marshal raw requirements, rather than the full object\n" 1 "# breakable\n" 1 "# text ','\n" 1 ":0x" 1 "@nums" 1 "# True if this requirement satisfied by the Gem::Version +version+.\n" 1 "%0" 1 "# Is \"+version+ +op+ +required_version+\" satisfied?\n" 1 "\\A\\#\\z" 1 "0xffffffffffffffff" 1 "# 64bit\n" 1 "# Parse the version requirement obj returning the operator and version.\n" 1 "# 32bit\n" 1 "# The requirement can be a String or a Gem::Version. A String can be an\n" 1 "# operator (<, <=, =, =>, >, !=, ~>), a version number, or both, operator\n" 1 "# group(1, '#<' + obj.class.name, '>') { ... }\n" 1 "# first.\n" 1 ")\\s*([0-9.]+)\\s*$" 1 "^\\s*([0-9.]+)\\s*$" 1 "# printed, a.k.a the object reference chain has a cycle.\n" 1 "# Object#pretty_print_cycle is used when +obj+ is already\n" 1 "# using Object#pretty_print or Object#pretty_print_cycle.\n" 1 "# Adds +obj+ to the pretty printing buffer\n" 1 ")\\s*$" 1 "Illformed requirement [" 1 "# DO NOT EDIT\n" 1 "# This file is auto-generated by build scripts.\n" 1 "# See: rake update_version\n" 1 "# = Signed Gems README\n" 1 "# It is false by default.\n" 1 "# Returns the sharing detection flag as a boolean value.\n" 1 "@sharing_detection" 1 "# == Table of Contents\n" 1 "# * Overview\n" 1 "# * Walkthrough\n" 1 "# * Command-Line Options\n" 1 "# PP.singleline_pp returns +out+.\n" 1 "# newline.\n" 1 "# Outputs +obj+ to +out+ like PP.pp but with no indent and\n" 1 "\#$pp = q\n" 1 "# * OpenSSL Reference\n" 1 "# * Bugs/TODO\n" 1 "# PP.pp returns +out+.\n" 1 "# If +width+ is omitted, 79 is assumed.\n" 1 "# If +out+ is omitted, +$>+ is assumed.\n" 1 "# +width+ columns in width.\n" 1 "# Outputs +obj+ to +out+ in pretty printed format of\n" 1 "# * About the Author\n" 1 "# Gem::Security implements cryptographic signatures in RubyGems. The section\n" 1 "# pp returns nil.\n" 1 "# prints arguments in pretty form.\n" 1 "pretty_inspect" 1 "# returns a pretty printed object as a string.\n" 1 "prettyprint" 1 "# below is a step-by-step guide to using signed gems and generating your own.\n" 1 "# = Author\n" 1 "# PP#pp to print the object.\n" 1 "# The method should use PP#text, PP#breakable, PP#nest, PP#group and\n" 1 "# It takes an argument +pp+ which is an instance of the class PP.\n" 1 "# redefine a method #pretty_print(+pp+) in the class.\n" 1 "# To define your customized pretty printing function for your classes,\n" 1 "# = Output Customization\n" 1 "# It returns +nil+.\n" 1 "# output +obj+ to +$>+ in pretty printed format.\n" 1 "# pp(obj)\n" 1 "# = Usage\n" 1 "# I like the latter. If you do too, this library is for you.\n" 1 "# @output_width=2>\n" 1 "# @output=#,\n" 1 "# @newline=\"\\n\",\n" 1 "# @maxwidth=79,\n" 1 "# @indent=0,\n" 1 "# [#],\n" 1 "# @group_stack=\n" 1 "# []]>,\n" 1 "# [[#],\n" 1 "# @queue=\n" 1 "# #,\n" 1 "# @buffer_width=0,\n" 1 "# @buffer=[],\n" 1 "# #, @group_queue=#], []]>, @buffer=[], @newline=\"\\n\", @group_stack=[#], @buffer_width=0, @indent=0, @maxwidth=79, @output_width=2, @output=#>\n" 1 "# non-pretty-printed output by #p is:\n" 1 "# = Which seems better?\n" 1 "# == Pretty-printer for Ruby objects.\n" 1 "# create a pathname object.\n" 1 "# == Walkthrough\n" 1 "# Pathname#foreach doesn't yield Pathname object.\n" 1 "# For polymorphism between Dir.foreach and IO.foreach,\n" 1 "Pathname#foreach is obsoleted. Use each_line or each_entry." 1 "# This method is *obsoleted* at 1.8.1. Use #each_line or #each_entry.\n" 1 "# Dir.unlink as necessary.\n" 1 "# Removes a file or directory, using File.unlink or\n" 1 "# * mixed *\n" 1 "# File::Path provides \"mkpath\" and \"rmtree\".\n" 1 "# The name \"rmtree\" is borrowed from File::Path of Perl.\n" 1 "# See FileUtils.rm_r. Deletes a directory and all beneath it.\n" 1 "# intermediate directories that don't yet exist.\n" 1 "# See FileUtils.mkpath. Creates a full path, including any\n" 1 "# * FileUtils *\n" 1 "\\A\\./" 1 "# current directory, not ./.\n" 1 "# If +self+ is ., yielded pathnames begin with a filename in the\n" 1 "# to control the traverse.\n" 1 "# Since it is implemented by find.rb, Find.prune can be used\n" 1 "# manner. It yields a Pathname for each file under \"this\" directory.\n" 1 "# Pathname#find is an iterator to traverse a directory tree in a depth first\n" 1 "# * Find *\n" 1 "opendir" 1 "# See Dir.open.\n" 1 "# See Dir.rmdir. Remove the referenced directory.\n" 1 "# See Dir.mkdir. Create the referenced directory.\n" 1 "Pathname#dir_foreach is obsoleted. Use Pathname#each_entry." 1 "dir_foreach" 1 "# Pathname#dir_foreach is *obsoleted* at 1.8.1.\n" 1 "# In order to start signing your gems, you'll need to build a private key and\n" 1 "# yields a Pathname object for each entry.\n" 1 "# Iterates over the entries (files and subdirectories) in the directory. It\n" 1 "# Pathname object.\n" 1 "# Return the entries (files and subdirectories) in the directory, each as a\n" 1 "Pathname#chroot is obsoleted. Use Dir.chroot." 1 "# a self-signed certificate. Here's how:\n" 1 "# Pathname#chroot is *obsoleted* at 1.8.1.\n" 1 "Pathname#chdir is obsoleted. Use Dir.chdir." 1 "# Pathname#chdir is *obsoleted* at 1.8.1.\n" 1 "# See Dir.getwd. Returns the current working directory as a Pathname.\n" 1 "# # build a private key and certificate for gemmaster@example.com\n" 1 "# See Dir.glob. Returns or yields Pathname objects.\n" 1 "# * Dir *\n" 1 "# See FileTest.zero?.\n" 1 "# $ gem cert --build gemmaster@example.com\n" 1 "# See FileTest.writable_real?.\n" 1 "# See FileTest.world_writable?.\n" 1 "# This could take anywhere from 5 seconds to 10 minutes, depending on the\n" 1 "# See FileTest.writable?.\n" 1 "# See FileTest.symlink?.\n" 1 "# See FileTest.sticky?.\n" 1 "# speed of your computer (public key algorithms aren't exactly the speediest\n" 1 "# See FileTest.size?.\n" 1 "# See FileTest.size.\n" 1 "# crypto algorithms in the world). When it's finished, you'll see the files\n" 1 "# See FileTest.setgid?.\n" 1 "# \"gem-private_key.pem\" and \"gem-public_cert.pem\" in the current directory.\n" 1 "# See FileTest.setuid?.\n" 1 "# First things first: take the \"gem-private_key.pem\" file and move it\n" 1 "# See FileTest.readable_real?.\n" 1 "# somewhere private, preferably a directory only you have access to, a floppy\n" 1 "# See FileTest.world_readable?.\n" 1 "# (yuck!), a CD-ROM, or something comparably secure. Keep your private key\n" 1 "# See FileTest.readable?.\n" 1 "# hidden; if it's compromised, someone can sign packages as you (note: PKI has\n" 1 "# See FileTest.owned?.\n" 1 "# See FileTest.socket?.\n" 1 "# See FileTest.pipe?.\n" 1 "# See FileTest.file?.\n" 1 "# See FileTest.directory?.\n" 1 "# ways of mitigating the risk of stolen keys; more on that later).\n" 1 "# See FileTest.grpowned?.\n" 1 "# See FileTest.exist?.\n" 1 "# Now, let's sign an existing gem. I'll be using my Imlib2-Ruby bindings, but\n" 1 "# See FileTest.executable_real?.\n" 1 "# See FileTest.executable?.\n" 1 "# See FileTest.chardev?.\n" 1 "# See FileTest.blockdev?.\n" 1 "# * FileTest *\n" 1 "Pathname#symlink is obsoleted. Use Pathname#make_symlink." 1 "# Pathname#symlink is confusing and *obsoleted* because the receiver/argument\n" 1 "Pathname#link is obsoleted. Use Pathname#make_link." 1 "# you can use whatever gem you'd like. Open up your existing gemspec file and\n" 1 "# Pathname#link is confusing and *obsoleted* because the receiver/argument\n" 1 "# Array.\n" 1 "# See File.split. Returns the #dirname and the #basename in an\n" 1 "# See File.expand_path.\n" 1 "# See File.extname. Returns the file's extension.\n" 1 "# See File.dirname. Returns all but the last component of the path.\n" 1 "# See File.basename. Returns the last component of the path.\n" 1 "# See File.utime. Update the access and modification times.\n" 1 "# See File.truncate. Truncate the file to +length+ bytes.\n" 1 "make_symlink" 1 "# See File.symlink. Creates a symbolic link.\n" 1 "# See File.lstat.\n" 1 "# See File.stat. Returns a File::Stat object.\n" 1 "# See File.rename. Rename the file.\n" 1 "# See File.readlink. Read symbolic link.\n" 1 "# :yield: file\n" 1 "# See File.open. Opens the file for reading or writing.\n" 1 "make_link" 1 "# See File.link. Creates a hard link.\n" 1 "# add the following lines:\n" 1 "# etc).\n" 1 "# See File.ftype. Returns \"type\" of file (\"file\", \"directory\",\n" 1 "# # signing key and certificate chain\n" 1 "# See File.fnmatch? (same as #fnmatch).\n" 1 "# s.signing_key = '/mnt/floppy/gem-private_key.pem'\n" 1 "# pattern.\n" 1 "# See File.fnmatch. Return +true+ if the receiver matches the given\n" 1 "# See File.lchown.\n" 1 "# s.cert_chain = ['gem-public_cert.pem']\n" 1 "# See File.chown. Change owner and group of file.\n" 1 "# See File.lchmod.\n" 1 "# See File.chmod. Changes permissions.\n" 1 "# See File.mtime. Returns last modification time.\n" 1 "# See File.ctime. Returns last (directory entry, not file) change time.\n" 1 "# See File.atime. Returns last access time.\n" 1 "# * File *\n" 1 "# (Be sure to replace \"/mnt/floppy\" with the ultra-secret path to your private\n" 1 "# See IO.sysopen.\n" 1 "# See IO.readlines. Returns all the lines from the file.\n" 1 "# if specified.\n" 1 "# See IO.read. Returns all the bytes from the file, or the first +N+\n" 1 "Pathname#foreachline is obsoleted. Use Pathname#each_line." 1 "foreachline" 1 "# Pathname#foreachline is *obsoleted* at 1.8.1. Use #each_line.\n" 1 "# key).\n" 1 "# for each line.\n" 1 "# #each_line iterates over the line in the file. It yields a String object\n" 1 "# * IO *\n" 1 "# After that, go ahead and build your gem as usual. Congratulations, you've\n" 1 "base_directory has ..: " 1 "different prefix: " 1 "# just built your first signed gem! If you peek inside your gem file, you'll\n" 1 "# see a couple of new files have been added:\n" 1 "# $ tar tf tar tf Imlib2-Ruby-0.5.0.gem\n" 1 "# data.tar.gz\n" 1 "# data.tar.gz.sig\n" 1 "# metadata.gz\n" 1 "# metadata.gz.sig\n" 1 "# ArgumentError is raised when it cannot find a relative path.\n" 1 "# #relative_path_from doesn't access the filesystem. It assumes no symlinks.\n" 1 "# +self+ is relative, the argument must be relative too.\n" 1 "# receiver. If +self+ is absolute, the argument must be absolute too. If\n" 1 "# #relative_path_from returns a relative path from the argument to the\n" 1 "# Now let's verify the signature. Go ahead and install the gem, but add the\n" 1 "# following options: \"-P HighSecurity\", like this:\n" 1 "# # install the gem with using the security policy \"HighSecurity\"\n" 1 "# the directory because they are not children.\n" 1 "# Note that the result never contain the entries . and .. in\n" 1 "# # -> [ Pathname:English.rb, Pathname:Env.rb, Pathname:abbrev.rb, ... ]\n" 1 "# p.children(false)\n" 1 "# Pathname:/usr/lib/ruby/1.8/abbrev.rb, ... ]\n" 1 "# Pathname:/usr/lib/ruby/1.8/Env.rb,\n" 1 "# # -> [ Pathname:/usr/lib/ruby/1.8/English.rb,\n" 1 "# p.children\n" 1 "# p = Pathname(\"/usr/lib/ruby/1.8\")\n" 1 "# filename only.\n" 1 "# +with_directory+ to +false+, then the returned pathnames will contain the\n" 1 "# pathnames will have enough information to access the files. If you set\n" 1 "# recursive) as an array of Pathname objects. By default, the returned\n" 1 "# Returns the children of the directory (files and subdirectories, not\n" 1 "# path0 + path1 + ... + pathN.\n" 1 "# path0.join(path1, ..., pathN) is the same as\n" 1 "# Pathname#join joins pathnames.\n" 1 "# The -P option sets your security policy -- we'll talk about that in just a\n" 1 "# minute. Eh, what's this?\n" 1 "# Attempting local installation of 'Imlib2-Ruby-0.5.0.gem'\n" 1 "# ERROR: Error installing gem Imlib2-Ruby-0.5.0.gem[.gem]: Couldn't\n" 1 "# verify data signature: Untrusted Signing Chain Root: cert =\n" 1 "# '/CN=gemmaster/DC=example/DC=com', error = 'path\n" 1 "# \"/root/.rubygems/trust/cert-15dbb43a6edf6a70a85d4e784e2e45312cff7030.pem\"\n" 1 "# does not exist'\n" 1 "# -> path\n" 1 "# The culprit here is the security policy. RubyGems has several different\n" 1 "# security policies. Let's take a short break and go over the security\n" 1 "# policies. Here's a list of the available security policies, and a brief\n" 1 "# This method doesn't access the file system; it is pure string manipulation.\n" 1 "# p3 = p1 + \"/etc/passwd\" # Pathname:/etc/passwd\n" 1 "# p2 = p1 + \"bin/ruby\" # Pathname:/usr/bin/ruby\n" 1 "# p1 = Pathname.new(\"/usr\") # Pathname:/usr\n" 1 "# description of each one:\n" 1 "# Pathname#+ appends a pathname fragment to this one to produce a new Pathname\n" 1 "# Pathname.new('path/to/some/file.rb').ascend {|v| p v}\n" 1 "# Pathname.new('/path/to/some/file.rb').ascend {|v| p v}\n" 1 "# for each element in the given path in ascending order.\n" 1 "# * NoSecurity - Well, no security at all. Signed packages are treated like\n" 1 "# unsigned packages.\n" 1 "descend" 1 "# * LowSecurity - Pretty much no security. If a package is signed then\n" 1 "# RubyGems will make sure the signature matches the signing\n" 1 "# certificate, and that the signing certificate hasn't expired, but\n" 1 "# that's it. A malicious user could easily circumvent this kind of\n" 1 "# security.\n" 1 "# * MediumSecurity - Better than LowSecurity and NoSecurity, but still\n" 1 "# Pathname.new('path/to/some/file.rb').descend {|v| p v}\n" 1 "# fallible. Package contents are verified against the signing\n" 1 "# certificate, and the signing certificate is checked for validity,\n" 1 "# and checked against the rest of the certificate chain (if you don't\n" 1 "# know what a certificate chain is, stay tuned, we'll get to that).\n" 1 "# The biggest improvement over LowSecurity is that MediumSecurity\n" 1 "# Pathname.new('/path/to/some/file.rb').descend {|v| p v}\n" 1 "# for each element in the given path in descending order.\n" 1 "# won't install packages that are signed by untrusted sources.\n" 1 "# :yield: filename\n" 1 "each_filename" 1 "# # yields \"usr\", \"bin\", and \"ruby\".\n" 1 "# Pathname.new(\"/usr/bin/ruby\").each_filename {|filename| ... }\n" 1 "# Iterates over each component of the path.\n" 1 "# The opposite of #absolute?\n" 1 "# Unfortunately, MediumSecurity still isn't totally secure -- a\n" 1 "# It returns +true+ if the pathname begins with a slash.\n" 1 "# Predicate method for testing whether a path is absolute.\n" 1 "# malicious user can still unpack the gem, strip the signatures, and\n" 1 "# pathnames which points to roots such as /usr/...\n" 1 "# It doesn't access actual filesystem. So it may return +false+ for some\n" 1 "# pathname consists of consecutive slashes.\n" 1 "# #root? is a predicate for root directories. I.e. it returns +true+ if the\n" 1 "# distribute the gem unsigned.\n" 1 "# * HighSecurity - Here's the bugger that got us into this mess.\n" 1 "mountpoint?" 1 "# #mountpoint? returns +true+ if self points to a mountpoint.\n" 1 "# This is same as self + '..'.\n" 1 "# #parent returns the parent directory.\n" 1 "# The HighSecurity policy is identical to the MediumSecurity policy,\n" 1 "realpath" 1 "# No arguments should be given; the old behaviour is *obsoleted*.\n" 1 "# The real pathname doesn't contain symlinks or useless dots.\n" 1 "# Returns a real (absolute) pathname of +self+ in the actual filesystem.\n" 1 "# except that it does not allow unsigned gems. A malicious user\n" 1 "# doesn't have a whole lot of options here; he can't modify the\n" 1 "ELOOP" 1 "# package contents without invalidating the signature, and he can't\n" 1 "# modify or remove signature or the signing certificate chain, or\n" 1 "# RubyGems will simply refuse to install the package. Oh well, maybe\n" 1 "# he'll have better luck causing problems for CPAN users instead :).\n" 1 "\\A(?:\\.|\\.\\.)\\z" 1 "# So, the reason RubyGems refused to install our shiny new signed gem was\n" 1 "+\\z" 1 "# because it was from an untrusted source. Well, my code is infallible\n" 1 "# xxx: Is File.join is appropriate to add separator?\n" 1 "# (hah!), so I'm going to add myself as a trusted source.\n" 1 "# add_trailing_separator(path) -> path\n" 1 "# Here's how:\n" 1 "# has_trailing_separator?(path) -> bool\n" 1 "# Nothing more, nothing less.\n" 1 "# Clean the path simply by resolving and removing excess \".\" and \"..\" entries.\n" 1 "# # add trusted certificate\n" 1 "# gem cert --add gem-public_cert.pem\n" 1 "# I've added my public certificate as a trusted source. Now I can install\n" 1 "# packages signed my private key without any hassle. Let's try the install\n" 1 "# this can't be avoided. See #realpath.\n" 1 "# entries than absolutely necessary, but without accessing the filesystem,\n" 1 "# to avoid breaking symbolic linkages. This may retain more ..\n" 1 "# If +consider_symlink+ is +true+, then a more conservative algorithm is used\n" 1 "# removed. The filesystem is not accessed.\n" 1 "# Returns clean pathname of +self+ with consecutive slashes and useless dots\n" 1 "# command above again:\n" 1 "# # install the gem with using the HighSecurity policy (and this time\n" 1 "# # without any shenanigans)\n" 1 "# This time RubyGems should accept your signed package and begin installing.\n" 1 "# split_names(path) -> prefix, [name, ...]\n" 1 "?\\z" 1 "# While you're waiting for RubyGems to work it's magic, have a look at some of\n" 1 "# chop_basename(path) -> [pre-basename, basename] or nil\n" 1 "# the other security commands:\n" 1 "# Usage: gem cert [options]\n" 1 "sub_ext" 1 "# If self has no extension part, repl is appended.\n" 1 "# repl.\n" 1 "# Return a pathname which the extension of the basename is substituted by\n" 1 "# Options:\n" 1 "# -a, --add CERT Add a trusted certificate.\n" 1 "# -l, --list List trusted certificates.\n" 1 "$~ = Thread.current[:pathname_sub_matchdata]" 1 "# -r, --remove STRING Remove trusted certificates containing STRING.\n" 1 "# Return a pathname which is substituted by String#sub.\n" 1 "# Return the path as a String.\n" 1 "# Provides for comparing pathnames, case-sensitively.\n" 1 "# can refer to the same file.\n" 1 "# Be aware that two different paths (foo.txt and ./foo.txt)\n" 1 "# Compare this pathname with +other+. The comparison is string-based.\n" 1 "# -b, --build EMAIL_ADDR Build private key and self-signed certificate\n" 1 "pathname contains \\\\0: " 1 "# for EMAIL_ADDR.\n" 1 "# If +path+ contains a NUL character (\\0), an ArgumentError is raised.\n" 1 "# Create a Pathname object from the given String (or String-like object).\n" 1 "casecmp" 1 "FNM_SYSCASE" 1 "# -C, --certificate CERT Certificate for --sign command.\n" 1 "to_path" 1 "# -K, --private-key KEY Private key for --sign command.\n" 1 "# -s, --sign NEWCERT Sign a certificate with my key and certificate.\n" 1 "# (By the way, you can pull up this list any time you'd like by typing \"gem\n" 1 "# cert --help\")\n" 1 "# information. In some cases, a brief description will follow.\n" 1 "# anyway, and its documentation (e.g. through +ri+) will contain more\n" 1 "# FileTest.writable?\", as you should be familiar with the original method\n" 1 "# documentation for these methods generally just says, for instance, \"See\n" 1 "# As the above section shows, most of the methods in Pathname are facades. The\n" 1 "# == Method documentation\n" 1 "# - #unlink / #delete\n" 1 "# - #rmtree\n" 1 "# - #mkpath\n" 1 "# - #find(&block)\n" 1 "# These methods are a mixture of Find, FileUtils, and others:\n" 1 "# === Utilities\n" 1 "# - #sysopen(*args)\n" 1 "# - #readlines(*args)\n" 1 "# - #read(*args)\n" 1 "# - #each_line(*args, &block)\n" 1 "# These methods are a facade for IO:\n" 1 "# === IO\n" 1 "# - #opendir(*args)\n" 1 "# - #mkdir(*args)\n" 1 "# - #each_entry(&block)\n" 1 "# - #entries\n" 1 "# - #rmdir\n" 1 "# - Pathname.getwd / Pathname.pwd\n" 1 "# - Pathname.glob(*args)\n" 1 "# These methods are a facade for Dir:\n" 1 "# === Directory methods\n" 1 "# - #split\n" 1 "# - #expand_path(*args)\n" 1 "# - #extname\n" 1 "# - #dirname\n" 1 "# - #basename(*args)\n" 1 "# - #utime(atime, mtime)\n" 1 "# - #truncate(length)\n" 1 "# - #make_symlink(old)\n" 1 "# - #lstat\n" 1 "# - #stat\n" 1 "# - #rename(to)\n" 1 "# - #readlink\n" 1 "# - #open(*args, &block)\n" 1 "# - #make_link(old)\n" 1 "# - #ftype\n" 1 "# - #fnmatch?(pattern, *args)\n" 1 "# - #fnmatch(pattern, *args)\n" 1 "# - #lchown(owner, group)\n" 1 "# - #chown(owner, group)\n" 1 "# - #lchmod(mode)\n" 1 "# - #chmod(mode)\n" 1 "# - #mtime\n" 1 "# - #ctime\n" 1 "# - #atime\n" 1 "# These methods are a facade for File:\n" 1 "# === File property and manipulation methods\n" 1 "# - #zero?\n" 1 "# - #writable_real?\n" 1 "# - #world_writable?\n" 1 "# - #writable?\n" 1 "# - #symlink?\n" 1 "# - #sticky?\n" 1 "# - #socket?\n" 1 "# - #size?\n" 1 "# Hmm. We've already covered the \"--build\" option, and the \"--add\", \"--list\",\n" 1 "# - #setuid?\n" 1 "# - #setgid?\n" 1 "# - #readable_real?\n" 1 "# - #world_readable?\n" 1 "# - #readable?\n" 1 "# - #pipe?\n" 1 "# - #owned?\n" 1 "# - #grpowned?\n" 1 "# - #file?\n" 1 "# - #exist?\n" 1 "# - #executable_real?\n" 1 "# - #executable?\n" 1 "# - #directory?\n" 1 "# - #chardev?\n" 1 "# - #blockdev?\n" 1 "# These methods are a facade for FileTest:\n" 1 "# === File status predicate methods\n" 1 "# - #mountpoint?\n" 1 "# - #children\n" 1 "# - #realpath\n" 1 "# - #cleanpath\n" 1 "# - #each_filename\n" 1 "# - #relative_path_from\n" 1 "# - #relative?\n" 1 "# - #absolute?\n" 1 "# - #root?\n" 1 "# - #parent\n" 1 "# - #join\n" 1 "# - +\n" 1 "# filesystem.\n" 1 "# is. Except for #mountpoint?, #children, and #realpath, they don't access the\n" 1 "# These methods are effectively manipulating a String, because that's all a path\n" 1 "# === Core methods\n" 1 "# == Breakdown of functionality\n" 1 "# p5.children # [Pathname:/home/gavin/articles/linux, ...]\n" 1 "# p5.realpath # Pathname:/home/gavin/articles\n" 1 "# p5.cleanpath # Pathname:articles\n" 1 "# p5 = p5 + \"music/../articles\" # Pathname:music/../articles\n" 1 "# p5 = Pathname.new \".\" # Pathname:.\n" 1 "# pwd.absolute? # true\n" 1 "# pwd = Pathname.pwd # Pathname:/home/gavin\n" 1 "# p4 = p2.relative_path_from(p3) # Pathname:lib/ruby/1.8\n" 1 "# p3 = p1.parent # Pathname:/usr\n" 1 "# p2 = p1 + \"ruby/1.8\" # Pathname:/usr/lib/ruby/1.8\n" 1 "# p1 = Pathname.new(\"/usr/lib\") # Pathname:/usr/lib\n" 1 "# === Example 3: Special features\n" 1 "# File.foreach(p) { |line| _ }\n" 1 "# File.open(p) { |f| _ }\n" 1 "# data = File.read(p)\n" 1 "# dir, base = File.split(p) # [\"/usr/bin\", \"ruby\"]\n" 1 "# base = File.basename(p) # \"ruby\"\n" 1 "# dir = File.dirname(p) # \"/usr/bin\"\n" 1 "# isdir = File.directory?(p) # false\n" 1 "# size = File.size(p) # 27662\n" 1 "# p = \"/usr/bin/ruby\"\n" 1 "# === Example 2: Using standard Ruby\n" 1 "# p.each_line { |line| _ }\n" 1 "# p.open { |f| _ }\n" 1 "# data = p.read\n" 1 "# dir, base = p.split # [Pathname:/usr/bin, Pathname:ruby]\n" 1 "# base = p.basename # Pathname:ruby\n" 1 "# dir = p.dirname # Pathname:/usr/bin\n" 1 "# isdir = p.directory? # false\n" 1 "# size = p.size # 27662\n" 1 "# p = Pathname.new(\"/usr/bin/ruby\")\n" 1 "# require 'pathname'\n" 1 "# === Example 1: Using Pathname\n" 1 "# all of these, and more.\n" 1 "# FileUtils is included, in an unsurprising way. It is essentially a facade for\n" 1 "# difference. *All* functionality from File, FileTest, and some from Dir and\n" 1 "# way than standard Ruby provides. The examples below demonstrate the\n" 1 "# The value of this class is to manipulate file path information in a neater\n" 1 "# Pathname is immutable. It has no method for destructive update.\n" 1 "# reference the file that it even matters whether the file exists or not.\n" 1 "# A Pathname can be relative or absolute. It's not until you try to\n" 1 "# It does not represent the file itself.\n" 1 "# However non-Unix pathnames are supported experimentally.\n" 1 "# Pathname library works with pathnames of local OS.\n" 1 "# The pathname depends on OS: Unix, Windows, etc.\n" 1 "# Pathname represents a pathname which locates a file in a filesystem.\n" 1 "# == Pathname\n" 1 "# pathname.rb is distributed with Ruby since 1.8.0.\n" 1 "# For documentation, see class Pathname.\n" 1 "# Documentation:: Author and Gavin Sinclair\n" 1 "# Object-Oriented Pathname Class\n" 1 "# = pathname.rb\n" 1 "# Compare this object and +other+ for equality.\n" 1 " ...>" 1 "# Returns a string containing a detailed summary of the keys and values.\n" 1 "# and \"--remove\" commands seem fairly straightforward; they allow you to add,\n" 1 "# list, and remove the certificates in your trusted certificate list. But\n" 1 "delete_field" 1 "# Remove the named field from the object.\n" 1 "' for " 1 "undefined method `" 1 "can't modify frozen " 1 "# what's with this \"--sign\" option?\n" 1 "# To answer that question, let's take a look at \"certificate chains\", a\n" 1 "# concept I mentioned earlier. There are a couple of problems with\n" 1 "# self-signed certificates: first of all, self-signed certificates don't offer\n" 1 "# a whole lot of security. Sure, the certificate says Yukihiro Matsumoto, but\n" 1 "# how do I know it was actually generated and signed by matz himself unless he\n" 1 "# gave me the certificate in person?\n" 1 "# The second problem is scalability. Sure, if there are 50 gem authors, then\n" 1 "# Duplicate an OpenStruct object members. \n" 1 "# I have 50 trusted certificates, no problem. What if there are 500 gem\n" 1 "# By default, the resulting OpenStruct object will have no attributes. \n" 1 "# generate attributes and values. For example.\n" 1 "# Create a new OpenStruct object. The optional +hash+, if given, will\n" 1 "# authors? 1000? Having to constantly add new trusted certificates is a\n" 1 "# pain, and it actually makes the trust system less secure by encouraging\n" 1 "# RubyGems users to blindly trust new certificates.\n" 1 "# Here's where certificate chains come in. A certificate chain establishes an\n" 1 "# implemented with a hash, and you can initialize it with one.\n" 1 "# It is like a hash with a different way to access the data. In fact, it is\n" 1 "# puts record.address # -> nil\n" 1 "# puts record.name # -> \"John Smith\"\n" 1 "# record.pension = 300\n" 1 "# record.age = 70\n" 1 "# record.name = \"John Smith\"\n" 1 "# record = OpenStruct.new\n" 1 "# require 'ostruct' \n" 1 "# OpenStruct allows you to create data objects and set arbitrary attributes.\n" 1 "# See OpenStruct for an example.\n" 1 "# OpenStruct allows the creation of data objects with arbitrary attributes.\n" 1 "# = ostruct.rb: OpenStruct implementation\n" 1 "what's " 1 "# ARGV is arguable by OptionParser\n" 1 "Acceptables" 1 "# and DecimalNumeric. See Acceptable argument classes (in source code).\n" 1 "# Acceptable argument classes. Now contains DecimalInteger, OctalInteger\n" 1 "# Initializes instance variable.\n" 1 "# rescue OptionParser::ParseError\n" 1 "# eval \"$OPT_\#{opt.gsub(/[^A-Za-z0-9_]/, '_')} = val\"\n" 1 "# ($OPT = ARGV.getopts(*args)).each do |opt, val|\n" 1 "# def getopts(*args)\n" 1 "# OptionParser#getopts.\n" 1 "# Substitution of getopts is possible as follows. Also see\n" 1 "# Parses +self+ destructively and returns +self+ containing the\n" 1 "# containing the rest arguments left unparsed.\n" 1 "# Parses +self+ destructively in permutation mode and returns +self+\n" 1 "# arbitrarily long chain of trust between an issuing certificate and a child\n" 1 "# Parses +self+ destructively in order and returns +self+ containing the\n" 1 "# +nil+ returned.\n" 1 "# in the block, it is rescued, a error message printed to STDERR and\n" 1 "# result of the block. If an OptionParser::ParseError exception occurs\n" 1 "# If called with a block, yields the OptionParser object and returns the\n" 1 "# Actual OptionParser object, automatically created if nonexistent.\n" 1 "# certificate. So instead of trusting certificates on a per-developer basis,\n" 1 "# we use the PKI concept of certificate chains to build a logical hierarchy of\n" 1 "# via the receiver object.\n" 1 "# undefined. Thus, there is no ways to access the OptionParser object\n" 1 "# OptionParser::Arguable#options and OptionParser::Arguable#options= are\n" 1 "# Sets OptionParser object, when +opt+ is +false+ or +nil+, methods\n" 1 "# trust. Here's a hypothetical example of a trust hierarchy based (roughly)\n" 1 "# Extends command line arguments array (ARGV) to parse itself.\n" 1 "# Miscellaneous\n" 1 "ambiguous argument" 1 "# Raises when the given argument word can't be completed uniquely.\n" 1 "invalid argument" 1 "# Raises when the given argument does not match required format.\n" 1 "invalid option" 1 "# Raises when switch is undefined.\n" 1 "# on geography:\n" 1 "# Raises when a switch with mandatory argument has no argument.\n" 1 "needless argument" 1 "# Raises when there is an argument for a switch which takes no argument.\n" 1 "ambiguous option" 1 "# Raises when ambiguously completable string is encountered.\n" 1 "# Default stringizing method to emit standard error message.\n" 1 "# Returns error reason. Override this for I18N.\n" 1 "# | rubygems@rubyforge.org |\n" 1 "# |\n" 1 "recover" 1 "# Pushes back erred argument(s) to +argv+.\n" 1 "# -----------------------------------\n" 1 "# | |\n" 1 "# | seattle.rb@zenspider.com | | dcrubyists@richkilmer.com |\n" 1 "parse error" 1 "# | | | |\n" 1 "# Reason which caused the error.\n" 1 "# Base class of exceptions from OptionParser.\n" 1 "# Exceptions\n" 1 "^imx" 1 "# | alf@seattle | | bob@portland | | pabs@dc | | tomcope@dc |\n" 1 "# Now, rather than having 4 trusted certificates (one for alf@seattle,\n" 1 "# bob@portland, pabs@dc, and tomecope@dc), a user could actually get by with 1\n" 1 "# certificate: the \"rubygems@rubyforge.org\" certificate. Here's how it works:\n" 1 "\\A/((?:\\\\.|[^\\\\])*)/([[:alpha:]]+)?\\z|.*" 1 "# Regular expression with options.\n" 1 "# List of strings separated by \",\".\n" 1 "# Similar to TrueClass, but defaults to false.\n" 1 "# shoud be nil?\n" 1 "# I install \"Alf2000-Ruby-0.1.0.gem\", a package signed by \"alf@seattle\". I've\n" 1 "# yes/no/true/false/+/-.\n" 1 "# absent or not with prefix no-, or it takes an argument\n" 1 "# Boolean switch, which means whether it is present or not, whether it is\n" 1 "# decimal integer is allowed as float also.\n" 1 "# never heard of \"alf@seattle\", but his certificate has a valid signature from\n" 1 "# integer format, Float for float format.\n" 1 "# Decimal integer/float number format, to be converted to Integer for\n" 1 "# the \"seattle.rb@zenspider.com\" certificate, which in turn has a valid\n" 1 "\\A[-+]?(?:[0-7]+(?:_[0-7]+)*|0(?:" 1 "# signature from the \"rubygems@rubyforge.org\" certificate. Voila! At this\n" 1 "# Ruby/C like octal/hexadecimal/binary integer format, to be converted to\n" 1 "# point, it's much more reasonable for me to trust a package signed by\n" 1 "# \"alf@seattle\", because I can establish a chain to \"rubygems@rubyforge.org\",\n" 1 "# Decimal integer format, to be converted to Integer.\n" 1 "# for float format.\n" 1 "# Generic numeric format, converts to Integer for integer format, Float\n" 1 "# which I do trust.\n" 1 "# And the \"--sign\" option allows all this to happen. A developer creates\n" 1 "# their build certificate with the \"--build\" option, then has their\n" 1 ")(?:E[-+]?" 1 ")?)?|\\\\." 1 "(?:\\\\.(?:" 1 "# Float number format, and converts to Float.\n" 1 "# certificate signed by taking it with them to their next regional Ruby meetup\n" 1 "# (in our hypothetical example), and it's signed there by the person holding\n" 1 "0(?:[0-7]*(?:_[0-7]+)*|" 1 "# the regional RubyGems signing certificate, which is signed at the next\n" 1 "x[\\da-f]+(?:_[\\da-f]+)*" 1 "b[01]+(?:_[01]+)*" 1 "# RubyConf by the holder of the top-level RubyGems certificate. At each point\n" 1 "\\d+(?:_\\d+)*" 1 "# the issuer runs the same command:\n" 1 "# # sign a certificate with the specified key and certificate\n" 1 "# for 0x, and decimal for others; with optional sign prefix. Converts to\n" 1 "# Ruby/C-like integer, octal for 0-7 sequence, binary for 0b, hexadecimal\n" 1 "# # (note that this modifies client_cert.pem!)\n" 1 "# Any non-empty string, and no conversion.\n" 1 "# Any string and no conversion. This is fall-back.\n" 1 "# Acceptable argument classes\n" 1 "# $ gem cert -K /mnt/floppy/issuer-priv_key.pem -C issuer-pub_cert.pem\n" 1 "# --sign client_cert.pem\n" 1 "# +env+ defaults to the basename of the program.\n" 1 "# shell.\n" 1 "# Parses environment variable +env+ or its uppercase with splitting like a\n" 1 "# Then the holder of issued certificate (in this case, our buddy\n" 1 "~/.options" 1 "# directory ~/.options.\n" 1 "# +filename+ defaults to basename of the program without suffix in a\n" 1 "# is not present. Returns whether successfully loaded.\n" 1 "# Loads options from file names as +filename+. Does nothing when the file\n" 1 "# exact match or...\n" 1 "# \"alf@seattle\"), can start using this signed certificate to sign RubyGems.\n" 1 "# +pat+:: Optional pattern for completion.\n" 1 "# +icase+:: Search case insensitive if true.\n" 1 "# +opt+:: Searching key.\n" 1 "# +id+:: Searching table.\n" 1 "# canonical switch and switch descriptor OptionParser::Switch.\n" 1 "# Completes shortened long style option switch and returns pair of\n" 1 "# By the way, in order to let everyone else know about his new fancy signed\n" 1 "# Searches +key+ in @stack for +id+ hash and returns or yields the result.\n" 1 "# +block+.\n" 1 "# Traverses @stack, sending each element method +id+ with +args+ and\n" 1 "# See #getopts.\n" 1 "# certificate, \"alf@seattle\" would change his gemspec file to look like this:\n" 1 "(.)(:)?" 1 "# # signing key (still kept in an undisclosed location!)\n" 1 "# s.signing_key = '/mnt/floppy/alf-private_key.pem'\n" 1 "# # certificate chain (includes the issuer certificate now too)\n" 1 "# # params[:bar] = \"x\" # --bar x\n" 1 "# # params[:foo] = \"1\" # --foo\n" 1 "# # params[:b] = \"1\" # -b1\n" 1 "# # params[:a] = true # -a\n" 1 "# params = ARGV.getopts(\"ab:\", \"foo\", \"bar:\")\n" 1 "# Wrapper method for getopts.rb.\n" 1 "# Same as #parse, but removes switches destructively.\n" 1 "# s.cert_chain = ['/home/alf/doc/seattlerb-public_cert.pem',\n" 1 "# POSIXLY_CORRECT is set, and in permutation mode otherwise.\n" 1 "# Parses command line arguments +argv+ in order when environment variable\n" 1 "# '/home/alf/doc/alf_at_seattle-public_cert.pem']\n" 1 "# Same as #permute, but removes switches destructively.\n" 1 "# Obviously, this RubyGems trust infrastructure doesn't exist yet. Also, in\n" 1 "permute" 1 "# list of non-option arguments.\n" 1 "# Parses command line arguments +argv+ in permutation mode and returns\n" 1 "# the \"real world\" issuers actually generate the child certificate from a\n" 1 "# non-option argument\n" 1 "\\A-*" 1 "# certificate request, rather than sign an existing certificate. And our\n" 1 "# if no short options match, try completion with long\n" 1 "# short option matched.\n" 1 "# hypothetical infrastructure is missing a certificate revocation system.\n" 1 "# These are that can be fixed in the future...\n" 1 "\\A-(.)((=).*|.+)?" 1 "# short option\n" 1 "# I'm sure your new signed gem has finished installing by now (unless you're\n" 1 "# installing rails and all it's dependencies, that is ;D). At this point you\n" 1 "\\A--([^=]*)(?:=(.*))?" 1 "# long option\n" 1 "# should know how to do all of these new and interesting things:\n" 1 "# * build a gem signing key and certificate\n" 1 "# * modify your existing gems to support signing\n" 1 "# Same as #order, but removes switches destructively.\n" 1 "# * adjust your security policy\n" 1 "# * modify your trusted certificate list\n" 1 "# Returns the rest of +argv+ left unparsed.\n" 1 "# each non-option argument is yielded.\n" 1 "# Parses command line arguments +argv+ in order. When a block is given,\n" 1 "# * sign a certificate\n" 1 "# Add separator in summary.\n" 1 "def_tail_option" 1 "# If you've got any questions, feel free to contact me at the email address\n" 1 "# Add option switch like with #on, but at tail of summary.\n" 1 "# below. The next couple of sections\n" 1 "def_head_option" 1 "on_head" 1 "# Add option switch like with #on, but at head of summary.\n" 1 "# == Command-Line Options\n" 1 "def_option" 1 "# parameters.\n" 1 "# Add option switch and handler. See #make_switch for an explanation of\n" 1 "# Here's a brief summary of the certificate-related command line options:\n" 1 "no switch given" 1 "^-(.)(.+)?" 1 "^-(\\[\\^?\\]?(?:[^\\\\\\]]|\\\\.)*\\])(.+)?" 1 "^--([^\\[\\]=\\s]*)(.+)?" 1 "--[no-]" 1 "^--\\[no-\\]([^\\[\\]=\\s]*)(.+)?" 1 "# gem install\n" 1 "--no-" 1 "# -P, --trust-policy POLICY Specify gem trust policy.\n" 1 "# gem cert\n" 1 "^--no-([^\\[\\]=\\s]*)(.+)?" 1 "unsupported argument type: " 1 "argument pattern given twice" 1 "# -a, --add CERT Add a trusted certificate.\n" 1 "# anything others\n" 1 "# directly specified pattern(any object possible to match)\n" 1 "# argument class\n" 1 "# -l, --list List trusted certificates.\n" 1 "# -r, --remove STRING Remove trusted certificates containing\n" 1 "# STRING.\n" 1 "# -b, --build EMAIL_ADDR Build private key and self-signed\n" 1 "# certificate for EMAIL_ADDR.\n" 1 "# -C, --certificate CERT Certificate for --sign command.\n" 1 "# -K, --private-key KEY Private key for --sign command.\n" 1 "# -s, --sign NEWCERT Sign a certificate with my key and\n" 1 "# certificate.\n" 1 "# A more detailed description of each options is available in the walkthrough\n" 1 "# Proc or Method as an argument.\n" 1 "# Handler for the parsed argument value. Either give a block or pass a\n" 1 "# [Handler:]\n" 1 "# \"Run verbosely\"\n" 1 "# Description string for the option.\n" 1 "# [Description:]\n" 1 "# \"=[OPTIONAL]\"\n" 1 "# \"=MANDATORY\"\n" 1 "# switch parameter, this separate parameter can be used.\n" 1 "# Instead of specifying mandatory or optional arguments directly in the\n" 1 "# [Argument style and description:]\n" 1 "# \"-[a-z]\"\n" 1 "# \"-[a-z][OPTIONAL]\" \n" 1 "# \"-[a-z]MANDATORY\"\n" 1 "# set of regular expression):\n" 1 "# There is also a special form which matches character range (not full\n" 1 "# \"-x\"\n" 1 "# \"-x[OPTIONAL]\"\n" 1 "# \"-xMANDATORY\"\n" 1 "# Specifies short style switch which takes a mandatory, optional or no\n" 1 "# [Short style switch:]\n" 1 "# \"--switch\"\n" 1 "# \"--switch[=OPTIONAL]\"\n" 1 "# \"--switch=MANDATORY\" or \"--switch MANDATORY\"\n" 1 "# above.\n" 1 "# Specifies a long style switch which takes a mandatory, optional or no\n" 1 "# [Long style switch:]\n" 1 "# { \"jis\" => \"iso-2022-jp\", \"sjis\" => \"shift_jis\" }\n" 1 "# %w[iso-2022-jp shift_jis euc-jp utf8 binary]\n" 1 "# [:text, :binary, :auto]\n" 1 "# Hash or Array.\n" 1 "# [Possible argument values:]\n" 1 "# Float, Time, Array\n" 1 "# ArgumentError. Examples:\n" 1 "# once or assigned as String if not present, otherwise causes an\n" 1 "# OptionParser.accept or OptionParser#accept, or Regexp. This can appear\n" 1 "# Acceptable option argument format, must be pre-defined with\n" 1 "# [Argument pattern:]\n" 1 "# :NONE, :REQUIRED, :OPTIONAL\n" 1 "# One of the following:\n" 1 "# [Argument style:]\n" 1 "# +opts+ can include the following elements:\n" 1 "# See at the beginning of OptionParser for some full examples.\n" 1 "# value is passed to the given block, where it can be processed.\n" 1 "# Creates an OptionParser::Switch from the parameters. The parsed argument\n" 1 "# == OpenSSL Reference\n" 1 " given twice: " 1 "argument " 1 "# The .pem files generated by --build and --sign are just basic OpenSSL PEM\n" 1 "# files. Here's a couple of useful commands for manipulating them:\n" 1 "# +msg+:: Exception message.\n" 1 "# +prv+:: Previously specified argument.\n" 1 "# +obj+:: New argument.\n" 1 "# raised. Called from OptionParser#switch only.\n" 1 "# Checks if an argument is given twice, in which case an ArgumentError is\n" 1 "# Returns option summary list.\n" 1 "\\n?\\z" 1 "# Returns option summary string.\n" 1 "# +indent+:: Indentation, defaults to @summary_indent.\n" 1 "# +max+:: Maximum length allowed for left side, defaults to +width+ - 1.\n" 1 "# +width+:: Width of left side, defaults to @summary_width.\n" 1 "# +to+:: Output destination, which must have method <<. Defaults to [].\n" 1 "# a block is given.\n" 1 "# Puts option summary into +to+ and returns +to+. Yields each line if\n" 1 "# Removes the last List.\n" 1 "# Pushes a new List.\n" 1 "# Subject of #on_tail.\n" 1 "# Subject of #on / #on_head, #accept / #reject\n" 1 "# # convert a PEM format X509 certificate into DER format:\n" 1 "# Returns version string from program_name, version and release.\n" 1 "# # (note: Windows .cer files are X509 certificates in DER format)\n" 1 "@release" 1 "# $ openssl x509 -in input.pem -outform der -out output.der\n" 1 "# # print out the certificate in a human-readable format:\n" 1 "# $ openssl x509 -in input.pem -noout -text\n" 1 "# And you can do the same thing with the private key file as well:\n" 1 "summary_indent=" 1 "set_summary_indent" 1 "summary_width=" 1 "set_summary_width" 1 "program_name=" 1 "set_program_name" 1 "banner=" 1 "set_banner" 1 "# for experimental cascading :-)\n" 1 "# to $0.\n" 1 "# Program name to be emitted in error message and default banner, defaults\n" 1 "# # convert a PEM format RSA key into DER format:\n" 1 " [options]" 1 "# $ openssl rsa -in input_key.pem -outform der -out output_key.der\n" 1 "# # print out the key in a human readable format:\n" 1 "# Strings to be parsed in default.\n" 1 "# $ openssl rsa -in input_key.pem -noout -text\n" 1 "# Indentation for summary. Must be String (or have + String method).\n" 1 "summary_width" 1 "# Width for option list portion of summary. Must be Numeric.\n" 1 "# defaults to $0.\n" 1 "# Program name to be emitted in error message and default banner,\n" 1 "# == Bugs/TODO\n" 1 "# Instance methods\n" 1 "# See #reject.\n" 1 "# reject(t)\n" 1 "# +t+:: Argument class specifier, any object including Class.\n" 1 "# Directs to reject specified class argument.\n" 1 "# See #accept.\n" 1 "# accept(t, pat, &block)\n" 1 "# +pat+:: Pattern for argument, defaults to +t+ if it responds to match.\n" 1 "# +t+:: Argument class specifier, any object including Class.\n" 1 "# the block in which it should be converted to the desired class.\n" 1 "# Directs to accept specified class +t+. The argument string is passed to\n" 1 "# * There's no way to define a system-wide trust list.\n" 1 "# back to be the first non-option argument.\n" 1 "# Terminates option parsing. Optional parameter +arg+ is a string pushed\n" 1 "# * custom security policies (from a YAML file, etc)\n" 1 "@default_argv" 1 "# * Simple method to generate a signed certificate request\n" 1 "# * Support for OCSP, SCVP, CRLs, or some other form of cert\n" 1 "# status check (list is in order of preference)\n" 1 "# * Support for encrypted private keys\n" 1 "# * Some sort of semi-formal trust hierarchy (see long-winded explanation\n" 1 "# above)\n" 1 "# +indent+:: Summary indent.\n" 1 "# +width+:: Summary width.\n" 1 "# +banner+:: Banner message.\n" 1 "# Initializes the instance and yields itself if called with a block.\n" 1 "# * Path discovery (for gem certificate chains that don't have a self-signed\n" 1 "# Returns an incremented value of +default+ according to +arg+.\n" 1 "# This method is *deprecated*, its behavior corresponds to the older #new\n" 1 "# description of parameters.\n" 1 "# of the instance. Arguments +args+ are passed to #new, see there for\n" 1 "# Initializes a new instance and evaluates the optional block in context\n" 1 "# Class methods\n" 1 ": version unknown" 1 "# root) -- by the way, since we don't have this, THE ROOT OF THE CERTIFICATE\n" 1 ": no version found in package " 1 "# CHAIN MUST BE SELF SIGNED if Policy#verify_root is true (and it is for the\n" 1 "# MediumSecurity and HighSecurity policies)\n" 1 "optparse/version" 1 "# Shows version string if Version is defined.\n" 1 "# --version\n" 1 "# * Better explanation of X509 naming (ie, we don't have to use email\n" 1 "# addresses)\n" 1 "# Shows option summary.\n" 1 "# --help\n" 1 "# * Possible alternate signing mechanisms (eg, via PGP). this could be done\n" 1 "# Default options for ARGV, which never appear in option summary.\n" 1 "# pretty easily by adding a :signing_type attribute to the gemspec, then add\n" 1 "# argument classes\n" 1 "# Switches common used such as '--', and also provides default\n" 1 "# the necessary support in other places\n" 1 "# * Honor AIA field (see note about OCSP above)\n" 1 "# * Maybe honor restriction extensions?\n" 1 "# short style, only portion matched to argument pattern is dealed as\n" 1 "# Use like --switch=argument (long style) or -Xargument (short style). For\n" 1 "# OPTIONAL_ARGUMENT:: The switch requires an optional argument. (:OPTIONAL)\n" 1 "# REQUIRED_ARGUMENT:: The switch requires an argument. (:REQUIRED)\n" 1 "# NO_ARGUMENT:: The switch takes no arguments. (:NONE)\n" 1 "# Enumeration of acceptable argument styles. Possible values are:\n" 1 "# * Might be better to store the certificate chain as a PKCS#7 or PKCS#12\n" 1 "# Completion for hash key.\n" 1 "# file, instead of an array embedded in the metadata. ideas?\n" 1 "# Hash with completion search feature. See OptionParser::Completion.\n" 1 "# perhaps OptionParser::Switch\n" 1 "# method which is called on every option.\n" 1 "# newline). The arguments +args+ are passed along to the summarize\n" 1 "# Creates the summary table, passing each line to the +block+ (without\n" 1 "# Iterates over each option, passing the option to the +block+.\n" 1 "# * Possibly embed signature and key algorithms into metadata (right now\n" 1 "# is returned or yielded if a block is given. If it isn't found, nil is\n" 1 "# +pat+. If +icase+ is true, the search is case insensitive. The result\n" 1 "# Searches list +id+ for +opt+ and the optional patterns for completion\n" 1 "# they're assumed to be the same as what's set in Gem::Security::OPT)\n" 1 "# block is given. If it isn't found, nil is returned.\n" 1 "# Searches +key+ in +id+ list. The result is returned or yielded if a\n" 1 "# == About the Author\n" 1 "# append(switch, short_opts, long_opts, nolong_opts)\n" 1 "# Appends +switch+ at the tail of the list, and associates short, long\n" 1 "# Paul Duncan \n" 1 "# prepend(switch, short_opts, long_opts, nolong_opts)\n" 1 "# http://pablotron.org/\n" 1 "# default options for most of the methods below\n" 1 "# private key options\n" 1 "2048" 1 "# public cert options\n" 1 "# Inserts +switch+ at the head of the list, and associates short, long\n" 1 "# 1 year\n" 1 "# x509 certificate extensions\n" 1 "keyEncipherment,dataEncipherment,digitalSignature" 1 "# save the key and cert to a file in build_self_signed_cert()?\n" 1 "# +nlopts+:: Negated long style options list.\n" 1 "# +lopts+:: Long style option list.\n" 1 "# +sopts+:: Short style option list.\n" 1 "# +sw+:: OptionParser::Switch instance to be added.\n" 1 "# Adds +sw+ according to +sopts+, +lopts+ and +nlopts+.\n" 1 "# See OptionParser.reject.\n" 1 "has no `match'" 1 "# if you define either of these, then they'll be used instead of\n" 1 "# See OptionParser.accept.\n" 1 "# the output_fmt macro below\n" 1 "# Just initializes all instance variables.\n" 1 "# List of all switches and summary string.\n" 1 "# Map from long style option switches to actual switch objects.\n" 1 "# Map from short style option switches to actual switch objects.\n" 1 "# output name format for self-signed certs\n" 1 "# Map from acceptable argument types to pattern and converter pairs.\n" 1 "gem-%s.pem" 1 "# matching pattern and converter pair. Also provides summary feature.\n" 1 "# string to OptionParser::Switch and mapping from acceptable argument to\n" 1 "# Simple option list providing mapping from short and/or long option\n" 1 "[^a-z0-9_.-]+" 1 "# Returns nil if argument is not present or begins with '-'.\n" 1 "# Switch that takes an argument, which does not begin with '-'.\n" 1 "# Parses argument if given, or uses default value.\n" 1 "# Switch that can omit argument.\n" 1 "# Raises an exception if argument is not present.\n" 1 "# Switch that takes an argument.\n" 1 "# Raises an exception if any arguments given.\n" 1 "# Switch that takes no arguments.\n" 1 "\\A-+(?:\\[no-\\])?" 1 "# output directory for trusted certificate checksums\n" 1 "# Main name of the switch.\n" 1 "trust" 1 "]..." 1 "# default permissions for trust directory and certs\n" 1 "# A Gem::Security::Policy object encapsulates the settings for verifying\n" 1 "# signed gem files. This is the base class. You can either declare an\n" 1 "# instance of this or use one of the preset security policies below.\n" 1 "# completely hidden\n" 1 "# Create a new Gem::Security::Policy object with the given mode and\n" 1 "# set options\n" 1 "# build policy\n" 1 "@only_signed" 1 "# Get the path to the file for this cert.\n" 1 "# +indent+:: Prefix string indents all summarized lines.\n" 1 "# +max+ columns.\n" 1 "# +max+:: Maximum width of left side -> the options are filled within\n" 1 "# side (description part) starts after +width+ columns.\n" 1 "# +width+:: Width of left side (option part). In other words, the right\n" 1 "# +ldone+:: Already summarized long style options keyed hash.\n" 1 "# +sdone+:: Already summarized short style options keyed hash.\n" 1 "# block (without newline).\n" 1 "# Produces the summary text. Each line of the summary is yielded to the\n" 1 "# build path to trusted cert file\n" 1 "# exception.\n" 1 "# conversion. Yields at semi-error condition instead of raising an\n" 1 "# Parses argument, converts and returns +arg+, +block+ and result of\n" 1 "# didn't match whole arg\n" 1 "cert-" 1 ".pem" 1 "# argument pattern. Yields when the pattern doesn't match substring.\n" 1 "# Parses +arg+ and returns rest of +arg+ and matched portion to the\n" 1 "# join and return path components\n" 1 "@desc" 1 "@arg" 1 "# Verify that the gem data with the given signature and signing chain\n" 1 "# matched this security policy at the specified time.\n" 1 "@conv" 1 "# make sure signature is valid\n" 1 "# get digest algorithm (TODO: this should be configurable)\n" 1 "# verify the data signature (this is the most important part, so don't\n" 1 ": incompatible argument styles\\n " 1 "# screw it up :D)\n" 1 "Invalid Gem Signature" 1 "\\A\\s+\\[" 1 "\\A=?\\[" 1 "# OptionParser::Switch class (OptionalArgument, etc.).\n" 1 "# Guesses argument style from +arg+. Returns corresponding\n" 1 "# make sure the signer is valid\n" 1 "# make sure the signing cert is valid right now\n" 1 "Invalid Signature: " 1 "# RequiredArgument, etc. \n" 1 "# Defined within Switch are several Switch-derived classes: NoArgument,\n" 1 "# Individual switch class. Not important to the user.\n" 1 "# make sure the certificate chain is valid\n" 1 "# Map from option/keyword string to object with completion.\n" 1 "# iterate down over the chain and verify each certificate against it's\n" 1 "# issuer\n" 1 "# BN\n" 1 "# verify root of chain\n" 1 "# make sure root is self-signed\n" 1 "%s: %s (subject = '%s', issuer = '%s')" 1 "\\&\\w*" 1 "\\w+\\b" 1 "Subject does not match Issuer for Gem Signing Chain" 1 "# make sure root is valid\n" 1 "# verify that the chain root is trusted\n" 1 "# and resolved against a list of acceptable values.\n" 1 "# Keyword completion module. This allows partial arguments to be specified\n" 1 "OPTIONAL" 1 "# check to make sure trusted path exists\n" 1 "REQUIRED" 1 "Untrusted Signing Chain Root" 1 "NONE" 1 "path \\\"" 1 "\\\" does not exist" 1 "# load calculate digest from saved cert file\n" 1 "# create digest of public key\n" 1 "LastModified" 1 "# now compare the two digests, raise exception\n" 1 "15:05:43Z" 1 "2009-05-11" 1 "23396" 1 "optparse.rb" 1 "# if they don't match\n" 1 "%s: %s (saved = '%s', root = '%s')" 1 "# this document.\n" 1 "# have any questions, email me (gsinclair@soyabean.com.au) and I will update\n" 1 "# The above examples should be enough to learn how to use this class. If you\n" 1 "# === Further documentation\n" 1 "# pp options\n" 1 "# options = OptparseExample.parse(ARGV)\n" 1 "# end # class OptparseExample\n" 1 "# end # parse()\n" 1 "# options\n" 1 "# opts.parse!(args)\n" 1 "# puts OptionParser::Version.join('.')\n" 1 "# opts.on_tail(\"--version\", \"Show version\") do\n" 1 "# # Another typical switch to print the version.\n" 1 "Saved checksum doesn't match root checksum" 1 "# puts opts\n" 1 "# opts.on_tail(\"-h\", \"--help\", \"Show this message\") do\n" 1 "# # Try it and see!\n" 1 "# # No argument, shows at tail. This will print an options summary.\n" 1 "# opts.separator \"Common options:\"\n" 1 "# options.verbose = v\n" 1 "# opts.on(\"-v\", \"--[no-]verbose\", \"Run verbosely\") do |v|\n" 1 "# # Boolean switch.\n" 1 "# options.transfer_type = t\n" 1 "# \"Select transfer type (text, binary, auto)\") do |t|\n" 1 "# opts.on(\"--type [TYPE]\", [:text, :binary, :auto],\n" 1 "# # Optional argument with keyword completion.\n" 1 "# options.encoding = encoding\n" 1 "# \" (\#{code_list})\") do |encoding|\n" 1 "# opts.on(\"--code CODE\", CODES, CODE_ALIASES, \"Select encoding\",\n" 1 "# code_list = (CODE_ALIASES.keys + CODES).join(',')\n" 1 "# # the shortest unambiguous text.\n" 1 "# # and CODE_ALIASES - notice the latter is a Hash), and the user may provide\n" 1 "# # Keyword completion. We are specifying a specific set of arguments (CODES\n" 1 "# options.list = list\n" 1 "# opts.on(\"--list x,y,z\", Array, \"Example 'list' of arguments\") do |list|\n" 1 "# # List of arguments.\n" 1 "# options.record_separator = rs\n" 1 "# \"Specify record separator (default \\\\0)\") do |rs|\n" 1 "# opts.on(\"-F\", \"--irs [OCTAL]\", OptionParser::OctalInteger,\n" 1 "# # Cast to octal integer.\n" 1 "# options.time = time\n" 1 "# opts.on(\"-t\", \"--time [TIME]\", Time, \"Begin execution at given time\") do |time|\n" 1 "# # Cast 'time' argument to a Time object.\n" 1 "# options.delay = n\n" 1 "# opts.on(\"--delay N\", Float, \"Delay N seconds before executing\") do |n|\n" 1 "# # Cast 'delay' argument to a Float.\n" 1 "# options.extension.sub!(/\\A\\.?(?=.)/, \".\") # Ensure extension begins with dot.\n" 1 "# options.extension = ext || ''\n" 1 "# options.inplace = true\n" 1 "# \" (make backup if EXTENSION supplied)\") do |ext|\n" 1 "# \"Edit ARGV files in place\",\n" 1 "# opts.on(\"-i\", \"--inplace [EXTENSION]\",\n" 1 "# # Optional argument; multi-line description.\n" 1 "# options.library << lib\n" 1 "# \"Require the LIBRARY before executing your script\") do |lib|\n" 1 "# opts.on(\"-r\", \"--require LIBRARY\",\n" 1 "# # Mandatory argument.\n" 1 "# opts.separator \"Specific options:\"\n" 1 "# return the signing chain\n" 1 "# opts.banner = \"Usage: example.rb [options]\"\n" 1 "# opts = OptionParser.new do |opts|\n" 1 "# options.verbose = false\n" 1 "# options.transfer_type = :auto\n" 1 "# options.encoding = \"utf8\"\n" 1 "# options.inplace = false\n" 1 "# options.library = []\n" 1 "# options = OpenStruct.new\n" 1 "# # We set default values here.\n" 1 "# # The options specified on the command line will be collected in *options*.\n" 1 "# def self.parse(args)\n" 1 "# # Return a structure describing the options.\n" 1 "# No security policy: all package signature checks are disabled.\n" 1 "# CODE_ALIASES = { \"jis\" => \"iso-2022-jp\", \"sjis\" => \"shift_jis\" }\n" 1 "# CODES = %w[iso-2022-jp shift_jis euc-jp utf8 binary]\n" 1 "# class OptparseExample\n" 1 "# AlmostNo security policy: only verify that the signing certificate is the\n" 1 "# require 'optparse/time'\n" 1 "# the features of +optparse+.\n" 1 "# effect of specifying various options. This is probably the best way to learn\n" 1 "# The following example is a complete Ruby program. You can run it and see the\n" 1 "# === Complete example\n" 1 "# p ARGV\n" 1 "# p options\n" 1 "# end.parse!\n" 1 "# options[:verbose] = v\n" 1 "# opts.on(\"-v\", \"--[no-]verbose\", \"Run verbosely\") do |v|\n" 1 "# opts.banner = \"Usage: example.rb [options]\"\n" 1 "# OptionParser.new do |opts|\n" 1 "# options = {}\n" 1 "# one that actually signed the data. Make no attempt to verify the signing\n" 1 "# === Minimal example\n" 1 "# All of these features are demonstrated in the examples below.\n" 1 "# 5. Arguments can be restricted to a certain set.\n" 1 "# 4. Arguments can be automatically converted to a specified class.\n" 1 "# 3. Optional and mandatory arguments are specified very gracefully.\n" 1 "# separately.\n" 1 "# 2. It can output an option summary; you don't need to maintain this string\n" 1 "# same place.\n" 1 "# 1. The argument specification and the code to handle it are written in the\n" 1 "# solution.\n" 1 "# advanced, yet also easier to use, than GetoptLong, and is a more Ruby-oriented\n" 1 "# OptionParser is a class for command-line option analysis. It is much more\n" 1 "# === Introduction\n" 1 "# == OptionParser\n" 1 "# +---------------+\n" 1 "# | all instances)|\n" 1 "# reject |(shared between| +----------+\n" 1 "# OptionParser.accept ->| DefaultList | |converter |\n" 1 "# +---------------+ |----------|\n" 1 "# on_tail -------->| | |pattern |\n" 1 "# +---------------+ |==========|\n" 1 "# : : | class |\n" 1 "# on ------------->+---------------+ `-| argument |\n" 1 "# | |<|>- +----------+\n" 1 "# accept/reject -->| List |<|>-\n" 1 "# on_head -------->+---------------+ / +--------+\n" 1 "# | ,-| Switch |\n" 1 "# +--------------+ | +--------+\n" 1 "# | OptionParser |<>-----+\n" 1 "# +--------------+\n" 1 "# === Object relationship diagram\n" 1 "# - OptionParser::AmbiguousArgument\n" 1 "# - OptionParser::InvalidArgument\n" 1 "# - OptionParser::InvalidOption\n" 1 "# - OptionParser::MissingArgument\n" 1 "# - OptionParser::NeedlessArgument\n" 1 "# - OptionParser::AmbiguousOption\n" 1 "# - OptionParser::ParseError:: errors on parsing\n" 1 "# - OptionParser::List:: options list\n" 1 "# - OptionParser::Switch:: each switches\n" 1 "# - OptionParser:: front end\n" 1 "# === Class tree\n" 1 "# == Developer Documentation (not for RDoc output) \n" 1 "# See OptionParser for documentation. \n" 1 "# Documentation:: Nobu Nakada and Gavin Sinclair.\n" 1 "# Author:: Nobu Nakada\n" 1 "# optparse.rb - command-line option analysis with the OptionParser class.\n" 1 "openssl/x509" 1 "# certificate chain.\n" 1 "openssl/digest" 1 "openssl/cipher" 1 "openssl/bn" 1 "openssl.so" 1 " $Id: openssl.rb 11708 2007-02-12 23:01:19Z shyouhei $\n" 1 "# This policy is basically useless. better than nothing, but can still be\n" 1 "# easily spoofed, and is not recommended.\n" 1 "# Low security policy: only verify that the signing certificate is actually\n" 1 "# the gem signer, and that the signing certificate is valid.\n" 1 "# This policy is better than nothing, but can still be easily spoofed, and\n" 1 "# is not recommended.\n" 1 "# Medium security policy: verify the signing certificate, verify the signing\n" 1 "# certificate chain all the way to the root certificate, and only trust root\n" 1 "= $RCSfile$ -- Loader for all OpenSSL C-space and Ruby-space definitions\n" 1 "nroff -man" 1 "detach" 1 "# certificates that we have explicitly allowed trust for.\n" 1 "# This security policy is reasonable, but it allows unsigned packages, so a\n" 1 "# malicious person could simply delete the package signature and pass the\n" 1 "# gem off as unsigned.\n" 1 "# pipe[0] for read, pipe[1] for write\n" 1 "# High security policy: only allow signed gems to be installed, verify the\n" 1 "# signing certificate, verify the signing certificate chain all the way to\n" 1 "# the root certificate, and only trust root certificates that we have\n" 1 "# Closing stdin, stdout and stderr does not wait the process.\n" 1 "# The block form also waits the process when it returns.\n" 1 "# wait_thr.value waits the termination of the process.\n" 1 "# The parameter +cmd+ is passed directly to Kernel#spawn.\n" 1 "# Open3.popen3(cmd) { |stdin, stdout, stderr, wait_thr| ... }\n" 1 "# Block form:\n" 1 "# exit_status = wait_thr.value # Process::Status object returned.\n" 1 "# stderr.close\n" 1 "# stdout.close\n" 1 "# stdin.close # stdin, stdout and stderr should be closed in this form.\n" 1 "# explicitly allowed trust for.\n" 1 "# pid = wait_thr[:pid] # pid of the started process.\n" 1 "# stdin, stdout, stderr, wait_thr = Open3.popen3(cmd)\n" 1 "# Non-block form:\n" 1 "# This security policy is significantly more difficult to bypass, and offers\n" 1 "# The thread has a thread variable :pid which is the pid of the started\n" 1 "# In addition, a thread for waiting the started process is noticed.\n" 1 "# Open stdin, stdout, and stderr streams and start external executable.\n" 1 "# a reasonable guarantee that the contents of the gem have not been altered.\n" 1 "# Open3.popen3('nroff -man') { |stdin, stdout, stderr, wait_thr| ... }\n" 1 "# the process is terminated once the block exits.\n" 1 "# This ensures stdin, stdout and stderr are closed and\n" 1 "# stderr and wait_thr as parameters.\n" 1 "# Open3.popen3 can also take a block which will receive stdin, stdout,\n" 1 "# stdin, stdout, stderr, wait_thr = popen3('nroff -man')\n" 1 "# include Open3\n" 1 "# Hash of configured security policies\n" 1 "# child process when running another program.\n" 1 "# Open3 grants you access to stdin, stdout, stderr and a thread to wait the\n" 1 "# programs.\n" 1 "# Open3 gives you access to stdin, stdout, and stderr when running other\n" 1 "# Documentation:: Konrad Meyer\n" 1 "# Sign the cert cert with @signing_key and @signing_cert, using the digest\n" 1 "# = open3.rb: Popen, but with stderr, too\n" 1 "# algorithm opt[:dgst_algo]. Returns the newly signed certificate.\n" 1 "# set up issuer information\n" 1 "# Make sure the trust directory exists. If it does exist, make sure it's\n" 1 "TYPE " 1 "# xxx: typecode D is not handled.\n" 1 "# actually a directory. If not, then create it with the appropriate\n" 1 "# permissions.\n" 1 "# if the directory exists, then make sure it is in fact a directory. if\n" 1 "# it doesn't exist, then create it with the appropriate permissions\n" 1 "# verify that the trust directory is actually a directory\n" 1 "trust directory " 1 "# todo: extract user/passwd from .netrc.\n" 1 " isn't a directory" 1 "# trust directory doesn't exist, so create it with permissions\n" 1 "# The access sequence is defined by RFC 1738\n" 1 "invalid typecode: " 1 "\\A[aid]\\z" 1 "# Build a certificate from the given DN and private key.\n" 1 "invalid filename: " 1 "invalid directory: " 1 "# create new cert\n" 1 "no filename: " 1 "# populate cert attributes\n" 1 "%([0-9A-Fa-f][0-9A-Fa-f])" 1 "# strip a field before leading slash\n" 1 "# add certificate extensions\n" 1 "net/ftp" 1 "# sign cert\n" 1 "issuer_key" 1 "(\\A|\\.)" 1 "([^:,]*)(?::(\\d+))?" 1 "# return cert\n" 1 "# Build a self-signed certificate for the given email address.\n" 1 "\\A127\\.|\\A::1\\z" 1 "The environment variable HTTP_PROXY is discouraged. Use http_proxy." 1 "CGI_" 1 "# Use CGI_HTTP_PROXY. cf. libwww-perl.\n" 1 "build_self_signed_cert" 1 "# no proxy setting anyway.\n" 1 "\\Ahttp_proxy\\z" 1 "# split email address up\n" 1 "# So it should be careful to use it.\n" 1 "# HTTP_* for header information in CGI.\n" 1 "# HTTP_PROXY conflicts with *_proxy for proxy settings and\n" 1 "# CGI?\n" 1 "# munge email CN and DCs\n" 1 "# create DN\n" 1 "_proxy" 1 "# CGI_HTTP_PROXY can be used instead.\n" 1 "# http_proxy is not used too if the variable is case insensitive.\n" 1 "# So HTTP_PROXY is not used.\n" 1 "# It's because HTTP_PROXY may be set by Proxy: header.\n" 1 "# But http_proxy and HTTP_PROXY is treated specially under CGI environment.\n" 1 "# are examined too.\n" 1 "# Note that capitalized variables (HTTP_PROXY, FTP_PROXY, NO_PROXY, etc.)\n" 1 "# If there is no proper proxy, nil is returned.\n" 1 "# ftp_proxy, no_proxy, etc.\n" 1 "# The proxy URI is obtained from environment variables such as http_proxy,\n" 1 "# returns a proxy URI.\n" 1 "# The argument `options' is same as OpenURI::OpenRead#open.\n" 1 "# The string is extended with OpenURI::Meta.\n" 1 "# returns the content as string.\n" 1 "# OpenURI::OpenRead#read([options]) reads a content referenced by self and\n" 1 "# The true means redirections between http and ftp is permitted.\n" 1 "# It is true by default.\n" 1 "# OpenURI::HTTPRedirect exception raised on redirection.\n" 1 "# :redirect=>false is used to disable HTTP redirects at all.\n" 1 "# :redirect=>bool\n" 1 "# [:redirect]\n" 1 "# Ruby 1.9 uses passive mode by default.\n" 1 "# Note that the active mode is default in Ruby 1.8 or prior.\n" 1 "# :ftp_active_mode=>true is used to make ftp active mode.\n" 1 "# :ftp_active_mode=>bool\n" 1 "# [:ftp_active_mode]\n" 1 "# The IO object is extended with OpenURI::Meta.\n" 1 "# Otherwise it yields the IO object and return the value of the block.\n" 1 "# OpenURI::OpenRead#open returns an IO like object if block is not given.\n" 1 "# :ssl_verify_mode is used to specify openssl verify mode.\n" 1 "# :ssl_verify_mode=>mode\n" 1 "# [:ssl_verify_mode]\n" 1 "# If it is given, default certificates are not used.\n" 1 "# :ssl_ca_cert is used to specify CA certificate for SSL.\n" 1 "# :ssl_ca_cert=>filename\n" 1 "# [:ssl_ca_cert]\n" 1 "# :read_timeout option specifies a timeout of read for http connections.\n" 1 "# :read_timeout=>10 (10 second)\n" 1 "# :read_timeout=>nil (no timeout)\n" 1 "# [:read_timeout]\n" 1 "# }) {|f| ... }\n" 1 "# pbar.set s if pbar\n" 1 "# :progress_proc => lambda {|s|\n" 1 "# },\n" 1 "# pbar.file_transfer_mode\n" 1 "# pbar = ProgressBar.new(\"...\", t)\n" 1 "# if t && 0 < t\n" 1 "# :content_length_proc => lambda {|t|\n" 1 "# open(\"http://...\",\n" 1 "# pbar = nil\n" 1 "# For example, it can be implemented as follows using Ruby/ProgressBar.\n" 1 "# progress bar.\n" 1 "# :progress_proc and :content_length_proc are intended to be used for\n" 1 "# The argument `size' `size' is a accumulated transfered size in bytes.\n" 1 "# argument each time when `open' gets content fragment from network.\n" 1 "# If :progress_proc option is specified, the proc is called with one\n" 1 "# :progress_proc => lambda {|size| ...}\n" 1 "# [:progress_proc]\n" 1 "# It is happen when HTTP response has no Content-Length header.\n" 1 "# nil.\n" 1 "# When expected content length is unknown, the procedure is called with\n" 1 "CN=" 1 "DC=" 1 "# It takes one argument which is expected content length in bytes.\n" 1 "# is called before actual transfer is started.\n" 1 "# If :content_length_proc option is specified, the option value procedure\n" 1 "# :content_length_proc => lambda {|content_length| ... }\n" 1 "# [:content_length_proc]\n" 1 "# It is used for HTTP Basic authentication defined by RFC 2617.\n" 1 "# username and password.\n" 1 "# the value should be an array which contains 2 strings:\n" 1 "# If :http_basic_authentication is specified,\n" 1 "# :http_basic_authentication=>[user, password]\n" 1 "# [:http_basic_authentication]\n" 1 "# ArgumentError is raised.\n" 1 "# If :proxy and :proxy_http_basic_authentication is specified,\n" 1 "# If nil is given for the proxy URI, this option is just ignored.\n" 1 "# The proxy user name and password should be a String.\n" 1 "# The proxy URI should be a String, an URI or nil.\n" 1 "# It should contain a proxy URI, a proxy user name and a proxy password.\n" 1 "# If :proxy option is specified, the value should be an Array with 3 elements.\n" 1 "# :proxy_http_basic_authentication => [URI.parse(\"http://proxy.foo.com:8000/\"), \"proxy-user\", \"proxy-password\"]\n" 1 "# :proxy_http_basic_authentication => [\"http://proxy.foo.com:8000/\", \"proxy-user\", \"proxy-password\"]\n" 1 "# [:proxy_http_basic_authentication]\n" 1 "# connection will be made to a server directly.\n" 1 "# When false or nil is given, the environment variables are ignored and\n" 1 "# `scheme' is replaced by `http', `https' or `ftp'.\n" 1 "# environment variable `scheme_proxy' is examined.\n" 1 "# When true is given or the option itself is not specified,\n" 1 "# When String or URI is given, it is treated as proxy URI.\n" 1 "# boolean or nil.\n" 1 "# If :proxy option is specified, the value should be String, URI,\n" 1 "# :proxy => nil\n" 1 "# :proxy => false\n" 1 "# :proxy => true\n" 1 "# :proxy => URI.parse(\"http://proxy.foo.com:8000/\")\n" 1 "# :proxy => \"http://proxy.foo.com:8000/\"\n" 1 "# build private key\n" 1 "# [:proxy]\n" 1 "# The hash may include other options which key is a symbol:\n" 1 "# I.e. it is ignored for FTP without HTTP proxy.\n" 1 "# field for HTTP.\n" 1 "# Each pairs which key is a string in the hash specify a extra header\n" 1 "# `options' must be a hash.\n" 1 "# creation.\n" 1 "# Also `perm' is just ignored because it is meaningful only for file\n" 1 "# support write mode (yet).\n" 1 "# However, `mode' must be read mode because OpenURI::OpenRead#open doesn't\n" 1 "# `mode', `perm' is same as Kernel#open.\n" 1 "# OpenURI::OpenRead#open([mode [, perm]] [, options]) [{|io| ... }]\n" 1 "# OpenURI::OpenRead#open takes optional 3 arguments as:\n" 1 "# OpenURI::OpenRead#open provides `open' for URI::HTTP and URI::FTP.\n" 1 "# method name pretty much says it all :)\n" 1 "# Mixin for HTTP and FTP URIs.\n" 1 "# if we're saving the key, then write it out\n" 1 "private_key" 1 "?(?:," 1 "# build self-signed public cert from key\n" 1 "# if we're saving the cert, then write it out\n" 1 "# The encodings are downcased for canonicalization.\n" 1 "# as an Array of String.\n" 1 "# returns a list of encodings in Content-Encoding field\n" 1 "# RFC2616 3.7.1\n" 1 "public_cert" 1 "\\Ahttp\\z" 1 "\\Atext/" 1 "# In that case, \"iso-8859-1\" is returned as defined by RFC2616 3.7.1.\n" 1 "# nil is returned except text type in HTTP.\n" 1 "# If charset parameter and block is not given,\n" 1 "# It can be used to guess charset.\n" 1 "# the block is called and its result is returned.\n" 1 "# If charset parameter is not given but a block is given,\n" 1 "# returns a charset parameter in Content-Type field.\n" 1 "# return key, cert, and paths (if applicable)\n" 1 "key_path" 1 "# Content-Type parameters are stripped.\n" 1 "cert_path" 1 "# returns \"type/subtype\" which is MIME Content-Type.\n" 1 "[\\r\\n\\t !#-\\[\\]-~\\x80-\\xff]+|(\\\\[\\x00-\\x7f])" 1 "# Add certificate to trusted cert list.\n" 1 "# Note: At the moment these are stored in OPT[:trust_dir], although that\n" 1 "# directory may change in the future.\n" 1 "add_trusted_cert" 1 ")|(" 1 "?(?:(" 1 "# get destination path\n" 1 "# verify trust directory (can't write to nowhere, you know)\n" 1 "}no" 1 "?)?\\z" 1 ")(?:;" 1 "?/(" 1 "# write cert to output file\n" 1 "# The last (?:;\#{RE_LWS}?)? matches extra \";\" which violates RFC2045.\n" 1 "# return nil\n" 1 "# Basic OpenSSL-based package signing class.\n" 1 "?(?:" 1 "# check key, if it's a file, and if it's key, leave it alone\n" 1 "(?:;" 1 "# check cert chain, if it's a file, load it, if it's cert data, convert\n" 1 "\"(?:[\\r\\n\\t !#-\\[\\]-~\\x80-\\xff]|\\\\[\\x00-\\x7f])*\"" 1 "# it into a cert object, and if it's a cert object, leave it alone\n" 1 "# check cert, if it's a file, load it, if it's cert data, convert it\n" 1 "[^\\x00- ()<>@,;:\\\\\"/\\[\\]?={}\\x7f]+" 1 "# into a cert object, and if it's a cert object, leave it alone\n" 1 "[\\r\\n\\t ]+" 1 "# Sign data with given digest algorithm\n" 1 "last-modified" 1 "# Gem::Server and allows users to serve gems for consumption by\n" 1 "# returns a Time which represents Last-Modified field.\n" 1 "# `gem --remote-install`.\n" 1 "# Tempfile\n" 1 "# gem_server starts an HTTP server on the given port and serves the following:\n" 1 "# * \"/\" - Browsing of gem spec files for installed gems\n" 1 "# * \"/specs.\#{Gem.marshal_version}.gz\" - specs name/version/platform index\n" 1 "# The Hash keys are downcased for canonicalization.\n" 1 "# returns a Hash which represents header fields.\n" 1 "# It may differ from the URI supplied by a user because redirection.\n" 1 "# returns a URI which is base of relative URIs in the data.\n" 1 "# returns an Array which consists status code and message.\n" 1 "# * \"/latest_specs.\#{Gem.marshal_version}.gz\" - latest specs\n" 1 "# name/version/platform index\n" 1 "# Mixin for holding meta-information.\n" 1 "# * \"/quick/\" - Individual gemspecs\n" 1 "# * \"/gems\" - Direct access to download the installable gems\n" 1 "# * legacy indexes:\n" 1 "# * \"/Marshal.\#{Gem.marshal_version}\" - Full SourceIndex dump of metadata\n" 1 "# for installed gems\n" 1 "10240" 1 "# * \"/yaml\" - YAML dump of metadata for installed gems - deprecated\n" 1 "# gem_server = Gem::Server.new Gem.dir, 8089, false\n" 1 "# gem_server.run\n" 1 " (Invalid Location URI)" 1 "# TODO Refactor into a real WEBrick servlet to remove code duplication.\n" 1 "<<-'WEBPAGE'" 1 " \n \n\n \n \n RubyGems Documentation Index\n \n \n \n
\n

RubyGems Documentation Index

\n
\n \n\n
\n
\n
\n

Summary

\n

There are <%=values[\"gem_count\"]%> gems installed:

\n

\n <%= values[\"specs\"].map { |v| \"\#{v[\"name\"]}\" }.join ', ' %>.\n

Gems

\n\n
\n <% values[\"specs\"].each do |spec| %>\n \t
\n \t<% if spec[\"first_name_entry\"] then %>\n \t \">\n \t<% end %>\n\n \t<%=spec[\"name\"]%> <%=spec[\"version\"]%>\n\n \t<% if spec[\"rdoc_installed\"] then %>\n \t \">[rdoc]\n \t<% else %>\n \t [rdoc]\n \t<% end %>\n\n \t<% if spec[\"homepage\"] then %>\n \t\t\" title=\"<%=spec[\"homepage\"]%>\">[www]\n \t<% else %>\n \t\t[www]\n \t<% end %>\n\n \t<% if spec[\"has_deps\"] then %>\n \t - depends on\n \t\t<%= spec[\"dependencies\"].map { |v| \"\#{v[\"name\"]}\" }.join ', ' %>.\n \t<% end %>\n \t
\n \t
\n \t<%=spec[\"summary\"]%>\n \t<% if spec[\"executables\"] then %>\n \t
\n\n \t\t<% if spec[\"only_one_executable\"] then %>\n \t\t Executable is\n \t\t<% else %>\n \t\t Executables are\n \t\t<%end%>\n\n \t\t<%= spec[\"executables\"].map { |v| \"\#{v[\"executable\"]}\"}.join ', ' %>.\n\n \t<%end%>\n \t
\n \t
\n \t
\n <% end %>\n
\n\n
\n
\n
\n \n \n \n" 1 " WEBPAGE\n" 1 "# CSS is copy & paste from rdoc-style.css, RDoc V1.0.1 - 20041108\n" 1 "<<-RDOCCSS" 1 "body {\n font-family: Verdana,Arial,Helvetica,sans-serif;\n font-size: 90%;\n margin: 0;\n margin-left: 40px;\n padding: 0;\n background: white;\n}\n\nh1,h2,h3,h4 { margin: 0; color: #efefef; background: transparent; }\nh1 { font-size: 150%; }\nh2,h3,h4 { margin-top: 1em; }\n\na { background: #eef; color: #039; text-decoration: none; }\na:hover { background: #039; color: #eef; }\n\n/* Override the base stylesheets Anchor inside a table cell */\ntd > a {\n background: transparent;\n color: #039;\n text-decoration: none;\n}\n\n/* and inside a section title */\n.section-title > a {\n background: transparent;\n color: #eee;\n text-decoration: none;\n}\n\n/* === Structural elements =================================== */\n\ndiv#index {\n margin: 0;\n margin-left: -40px;\n padding: 0;\n font-size: 90%;\n}\n\n\ndiv#index a {\n margin-left: 0.7em;\n}\n\ndiv#index .section-bar {\n margin-left: 0px;\n padding-left: 0.7em;\n background: #ccc;\n font-size: small;\n}\n\n\ndiv#classHeader, div#fileHeader {\n width: auto;\n color: white;\n padding: 0.5em 1.5em 0.5em 1.5em;\n margin: 0;\n margin-left: -40px;\n border-bottom: 3px solid #006;\n}\n\ndiv#classHeader a, div#fileHeader a {\n background: inherit;\n color: white;\n}\n\ndiv#classHeader td, div#fileHeader td {\n background: inherit;\n color: white;\n}\n\n\ndiv#fileHeader {\n background: #057;\n}\n\ndiv#classHeader {\n background: #048;\n}\n\n\n.class-name-in-header {\n font-size: 180%;\n font-weight: bold;\n}\n\n\ndiv#bodyContent {\n padding: 0 1.5em 0 1.5em;\n}\n\ndiv#description {\n padding: 0.5em 1.5em;\n background: #efefef;\n border: 1px dotted #999;\n}\n\ndiv#description h1,h2,h3,h4,h5,h6 {\n color: #125;;\n background: transparent;\n}\n\ndiv#validator-badges {\n text-align: center;\n}\ndiv#validator-badges img { border: 0; }\n\ndiv#copyright {\n color: #333;\n background: #efefef;\n font: 0.75em sans-serif;\n margin-top: 5em;\n margin-bottom: 0;\n padding: 0.5em 2em;\n}\n\n\n/* === Classes =================================== */\n\ntable.header-table {\n color: white;\n font-size: small;\n}\n\n.type-note {\n font-size: small;\n color: #DEDEDE;\n}\n\n.xxsection-bar {\n background: #eee;\n color: #333;\n padding: 3px;\n}\n\n.section-bar {\n color: #333;\n border-bottom: 1px solid #999;\n margin-left: -20px;\n}\n\n\n.section-title {\n background: #79a;\n color: #eee;\n padding: 3px;\n margin-top: 2em;\n margin-left: -30px;\n border: 1px solid #999;\n}\n\n.top-aligned-row { vertical-align: top }\n.bottom-aligned-row { vertical-align: bottom }\n\n/* --- Context section classes ----------------------- */\n\n.context-row { }\n.context-item-name { font-family: monospace; font-weight: bold; color: black; }\n.context-item-value { font-size: small; color: #448; }\n.context-item-desc { color: #333; padding-left: 2em; }\n\n/* --- Method classes -------------------------- */\n.method-detail {\n background: #efefef;\n padding: 0;\n margin-top: 0.5em;\n margin-bottom: 1em;\n border: 1px dotted #ccc;\n}\n.method-heading {\n color: black;\n background: #ccc;\n border-bottom: 1px solid #666;\n padding: 0.2em 0.5em 0 0.5em;\n}\n.method-signature { color: black; background: inherit; }\n.method-name { font-weight: bold; }\n.method-args { font-style: italic; }\n.method-description { padding: 0 0.5em 0 0.5em; }\n\n/* --- Source code sections -------------------- */\n\na.source-toggle { font-size: 90%; }\ndiv.method-source-code {\n background: #262626;\n color: #ffdead;\n margin: 1em;\n padding: 0.5em;\n border: 1px dashed #999;\n overflow: hidden;\n}\n\ndiv.method-source-code pre { color: #ffdead; overflow: hidden; }\n\n/* --- Ruby keyword styles --------------------- */\n\n.standalone-code { background: #221111; color: #ffdead; overflow: hidden; }\n\n.ruby-constant { color: #7fffd4; background: transparent; }\n.ruby-keyword { color: #00ffff; background: transparent; }\n.ruby-ivar { color: #eedd82; background: transparent; }\n.ruby-operator { color: #00ffee; background: transparent; }\n.ruby-identifier { color: #ffdead; background: transparent; }\n.ruby-node { color: #ffa07a; background: transparent; }\n.ruby-comment { color: #b22222; font-weight: bold; background: transparent; }\n.ruby-regexp { color: #ffa07a; background: transparent; }\n.ruby-value { color: #7fffd4; background: transparent; }\n" 1 " RDOCCSS\n" 1 " does not appear to be a gem repository" 1 "/quick/index" 1 "/quick/index.rz" 1 "/quick/latest_index" 1 "/quick/latest_index.rz" 1 "^/quick/(Marshal." 1 "/)?(.*?)-([0-9.]+)(-.*?)?\\.gemspec\\.rz$" 1 "No gems found matching " 1 "Multiple gems found matching " 1 "# deprecated YAML format\n" 1 "# executables\n" 1 "/doc_root/" 1 "Chad Fowler, Rich Kilmer, Jim Weirich, Eric Hodel and others" 1 "/doc_root/rubygems-" 1 "rubygems-" 1 "http://rubygems.org/" 1 "RubyGems itself" 1 "# tag all specs with first_name_entry\n" 1 "add_path" 1 "first_name_entry" 1 "# create page from template\n" 1 "gem_count" 1 "Starting gem server on http://localhost:" 1 "/yaml" 1 "/yaml.Z" 1 "/quick/" 1 "/gem-server-rdoc-style.css" 1 "/gems" 1 "/cache/" 1 "/doc_root" 1 "/doc/" 1 "# The SourceIndex object indexes all the gems available from a\n" 1 "# FTP over HTTP proxy\n" 1 "# particular source (e.g. a list of gem directories, or a remote\n" 1 "# source). A SourceIndex maps a gem full name to a gem\n" 1 "# specification.\n" 1 "# NOTE:: The class used to be named Cache, but that became\n" 1 "# HTTP or HTTPS\n" 1 "# confusing when cached source fetchers where introduced. The\n" 1 "# constant Gem::Cache is an alias for this class to allow old\n" 1 "userinfo not supported. [RFC3986]" 1 "# don't raise for 1.8 because compatibility.\n" 1 "# YAMLized source index objects to load properly.\n" 1 "# Directories to use to refresh this SourceIndex when calling refresh!\n" 1 "Non-HTTP proxy URI: " 1 "# Factory method to construct a source index instance for a given\n" 1 "# path.\n" 1 "# deprecated::\n" 1 "# If supplied, from_installed_gems will act just like\n" 1 "# However this is ad hoc. It should be extensible/configurable.\n" 1 "# (RFC 2109 4.3.1, RFC 2965 3.3, RFC 2616 15.1.3)\n" 1 "# It avoids sending secure cookie or referer by non-secure HTTP protocol.\n" 1 "# https to http redirect is also forbidden intentionally.\n" 1 "# file:///etc/passwd.\n" 1 "# This test is intended to forbid a redirection from http://... to\n" 1 "# +from_gems_in+. This argument is deprecated and is provided\n" 1 "# just for backwards compatibility, and should not generally\n" 1 "# be used.\n" 1 "HTTP redirection loop: " 1 "# send authentication only for the URI directly specified.\n" 1 "# return::\n" 1 "redirection forbidden: " 1 "# SourceIndex instance\n" 1 "# HACK warn\n" 1 "# URI. It is converted to absolute URI using uri as a base URI.\n" 1 "# Although it violates RFC2616, Location: field may have relative\n" 1 "# Returns a list of directories from Gem.path that contain specifications.\n" 1 "# Creates a new SourceIndex from the ruby format gem specifications in\n" 1 "# +spec_dirs+.\n" 1 "# Loads a ruby-format specification from +file_name+ and returns the\n" 1 "Invalid proxy option: " 1 "# loaded spec.\n" 1 "File '" 1 "Invalid authenticated proxy option: " 1 "' does not evaluate to a gem specification" 1 "Invalid .gemspec format in '" 1 "# Constructs a source index instance from the provided\n" 1 "multiple proxy options specified" 1 "compact!" 1 "# specifications\n" 1 "# specifications::\n" 1 "# [Hash] hash of [Gem name, Gem::Specification] pairs\n" 1 " resource is read only.)" 1 "invalid access mode " 1 "# Reconstruct the source index from the specifications in +spec_dirs+.\n" 1 "\\Arb?(?:\\Z|:([^:]+))" 1 "extra arguments" 1 "*.gemspec" 1 "# Returns an Array specifications for the latest versions of each gem in\n" 1 "# this index.\n" 1 "# Add a gem specification to the source index.\n" 1 "unrecognized option: " 1 "# Add gem specifications to the source index.\n" 1 "# Remove a gem specification named +full_name+.\n" 1 "# Iterate over the specifications in the source index.\n" 1 "# :yields: gem.full_name, gem\n" 1 "# The gem specification given a full gem spec name.\n" 1 "# The signature for the source index. Changes in the signature indicate a\n" 1 "# change in the index.\n" 1 "index_signature" 1 "# The signature for the given gem specification.\n" 1 "gem_signature" 1 "# Find a gem by an exact match on the short name.\n" 1 "# Search for a gem by Gem::Dependency +gem_pattern+. If +only_platform+\n" 1 "# is true, only gems matching Gem::Platform.local will be returned. An\n" 1 "# Array of matching Gem::Specification objects is returned.\n" 1 "# p str.base_uri\n" 1 "# str = uri.read\n" 1 "# OpenURI::Meta.\n" 1 "# URI objects can be read directly. The returned string is also extended by\n" 1 "# uri.open {|f|\n" 1 "# uri = URI.parse(\"http://www.ruby-lang.org/en/\")\n" 1 "# URI objects can be opened in a similar way.\n" 1 "# open(\"http://www.ruby-lang.org/en/raa.html\", :proxy => nil) {|f|\n" 1 "# are in effect by default. :proxy => nil disables proxy.\n" 1 "# The environment variables such as http_proxy, https_proxy and ftp_proxy\n" 1 "# \"Referer\" => \"http://www.ruby-lang.org/\") {|f|\n" 1 "# \"From\" => \"foo@bar.invalid\",\n" 1 "# \"User-Agent\" => \"Ruby/\#{RUBY_VERSION}\",\n" 1 "# open(\"http://www.ruby-lang.org/en/\",\n" 1 "# Additional header fields can be specified by an optional hash argument.\n" 1 "# p f.last_modified # Thu Dec 05 02:45:02 UTC 2002\n" 1 "# p f.content_encoding # []\n" 1 "# p f.charset # \"iso-8859-1\"\n" 1 "# p f.content_type # \"text/html\"\n" 1 "# p f.base_uri # \n" 1 "# open(\"http://www.ruby-lang.org/en\") {|f|\n" 1 "# it is extended by OpenURI::Meta.\n" 1 "# The opened file has several methods for meta information as follows since\n" 1 "# For backwards compatibility, a String or Regexp pattern may be passed as\n" 1 "# open(\"http://www.ruby-lang.org/\") {|f|\n" 1 "# It is possible to open http/https/ftp URL as usual like opening a file:\n" 1 "#== Example\n" 1 "# OpenURI is an easy-to-use wrapper for net/http, net/https and net/ftp.\n" 1 "# +gem_pattern+, and a Gem::Requirement for +platform_only+. This\n" 1 "\\A[A-Za-z][A-Za-z0-9+\\-\\.]*://" 1 "# behavior is deprecated and will be removed.\n" 1 "# TODO - Remove support and warning for legacy arguments after 2008/11\n" 1 "# In these case, the opened file object is extended by OpenURI::Meta.\n" 1 "# http://, https:// and ftp://.\n" 1 "# Kernel[#.]open can accepts such URIs and strings which begins with\n" 1 "# URI::FTP#open,\n" 1 "# Since open-uri.rb provides URI::HTTP#open, URI::HTTPS#open and\n" 1 "# Otherwise original open is called.\n" 1 "# it is parsed by URI.parse. If the parsed object respond to `open' method,\n" 1 "# If the first argument is a string which begins with xxx://,\n" 1 ":Warning: Gem::SourceIndex#search support for " 1 "# If the first argument respond to `open' method,\n" 1 "# makes possible to open various resources including URIs.\n" 1 " patterns is deprecated" 1 "# Replaces the gems in the source index from specifications in the\n" 1 "# directories this source index was created from. Raises an exception if\n" 1 "# changed state is then set to +false+.\n" 1 "# currently associated observer in turn, passing it the given arguments. The\n" 1 "# If this object's changed state is +true+, invoke the update method in each\n" 1 "changed?" 1 "# Query the changed state of this object.\n" 1 "# this source index wasn't created from a directory (via from_gems_in or\n" 1 "# from_installed_gems, or having spec_dirs set).\n" 1 "source index not created from disk" 1 "# the changed +state+ is +true+.\n" 1 "# Set the changed state of this object. Notifications will be sent only if\n" 1 "count_observers" 1 "# Return the number of observers associated with this object.\n" 1 "delete_observers" 1 "# Delete all observers associated with this object.\n" 1 "# Returns an Array of Gem::Specifications that are not up to date.\n" 1 "# notifications.\n" 1 "# Delete +observer+ as an observer on this object. It will no longer receive\n" 1 "observer does not respond to `" 1 ">= " 1 "# Updates this SourceIndex from +source_uri+. If +all+ is false, only the\n" 1 "add_observer" 1 "# updates, of which default value is +update+.\n" 1 "# notifications. The second optional argument specifies a method to notify\n" 1 "# Add +observer+ as an observer on this object. +observer+ will now receive\n" 1 "# latest gems are fetched.\n" 1 "# be notified of changes in state. See observer.rb for details and an example.\n" 1 "# Implements the Observable design pattern as a mixin so that other objects can\n" 1 "# --- Sun Jun 09 00:10:25 CDT 2002: Price below 80: 79\n" 1 "# Current price: 79\n" 1 "# Current price: 112\n" 1 "# +++ Sun Jun 09 00:10:25 CDT 2002: Price above 120: 134\n" 1 "\\/$" 1 "# Current price: 90\n" 1 "# --- Sun Jun 09 00:10:25 CDT 2002: Price below 80: 75\n" 1 "# Current price: 75\n" 1 "# Current price: 83\n" 1 "# Produces:\n" 1 "# ticker.run\n" 1 "# WarnHigh.new(ticker, 120)\n" 1 "# WarnLow.new(ticker, 80)\n" 1 "# ticker = Ticker.new(\"MSFT\")\n" 1 "# print \"+++ \#{time.to_s}: Price above \#@limit: \#{price}\\n\"\n" 1 "# if price > @limit\n" 1 "# class WarnHigh < Warner\n" 1 "# print \"--- \#{time.to_s}: Price below \#@limit: \#{price}\\n\"\n" 1 "# if price < @limit\n" 1 "Missing metadata for " 1 "# class WarnLow < Warner\n" 1 "# ticker.add_observer(self)\n" 1 "# @limit = limit\n" 1 "# def initialize(ticker, limit)\n" 1 "# class Warner ### An abstract observer of Ticker objects.\n" 1 "# 60 + rand(80)\n" 1 "# def Price.fetch(symbol)\n" 1 "# class Price ### A mock class to fetch a stock price (60 - 140).\n" 1 "# sleep 1\n" 1 "# notify_observers(Time.now, price)\n" 1 "# lastPrice = price\n" 1 "# changed # notify observers\n" 1 "# if price != lastPrice\n" 1 "# print \"Current price: \#{price}\\n\"\n" 1 "# price = Price.fetch(@symbol)\n" 1 "# loop do\n" 1 "# lastPrice = nil\n" 1 "# @symbol = symbol\n" 1 "# def initialize(symbol)\n" 1 "# include Observable\n" 1 "# class Ticker ### Periodically fetch a stock price.\n" 1 "# require \"observer\"\n" 1 "# contracts are correct, nothing else can warn you.\n" 1 "# price, and the warners receive that. But if you don't ensure that your\n" 1 "# observer) is not declared or enforced. The +Ticker+ publishes a time and a\n" 1 "# Note that the contract between publisher and subscriber (observable and\n" 1 "# observers do their duty without the top-level code having to interfere.\n" 1 "# called. The system is set up with the +Ticker+ and several observers, and the\n" 1 "# The +update+ callback allows the warners to run without being explicitly\n" 1 "# set limits, respectively.\n" 1 "# and a +WarnHigh+, which print a warning if the price is below or above their\n" 1 "# general observer of the price, and two warners are demonstrated, a +WarnLow+\n" 1 "# continually receives the stock +Price+ for its +@symbol+. A +Warner+ is a\n" 1 "# The following example demonstrates this nicely. A +Ticker+, when run,\n" 1 "# * call +notify_observers+\n" 1 "# * assert that it has +changed+\n" 1 "# The observable object must:\n" 1 "# The observers must implement the +update+ method to receive notifications.\n" 1 "# objects.\n" 1 "# module, which provides the methods for managing the associated observer\n" 1 "# In the Ruby implementation, the notifying class mixes in the +Observable+\n" 1 "# == Mechanism\n" 1 "# when its state changes. \n" 1 "# mechanism for one object to inform a set of interested third-party objects\n" 1 "# The Observer pattern, also known as Publish/Subscribe, provides a simple\n" 1 "# == About\n" 1 "# Ruby\", by Hunt and Thomas; http://www.rubycentral.com/book/lib_patterns.html.\n" 1 "# following documentation is copied, with modifications, from \"Programming\n" 1 "# observer.rb implements the _Observer_ object-oriented design pattern. The\n" 1 "mu_unlock" 1 "mu_lock" 1 "mu_try_lock" 1 "mu_locked?" 1 "Falling back to bulk fetch: " 1 "mu_synchronize" 1 "# locking \n" 1 "%W[\n" 1 " yaml.Z" 1 " yaml" 1 "\\.Z$" 1 "Unable to fetch " 1 "\n alias locked? mu_locked?\n alias lock mu_lock\n alias unlock mu_unlock\n alias try_lock mu_try_lock\n alias synchronize mu_synchronize\n" 1 "Bulk updating Gem source index for: " 1 "Error fetching remote gem cache: " 1 "#\tthis obj can be handled like Mutex\n" 1 "#\tobj = Foo.new\n" 1 "#\tend\n" 1 "#\t ...\n" 1 "#\t include Mutex_m\n" 1 "#\tclass Foo\n" 1 "# or\n" 1 "#\textended object can be handled like Mutex\n" 1 "#\t...\n" 1 "#\tobj.extend Mutex_m\n" 1 "#\tobj = Object.new\n" 1 "#\trequire \"mutex_m.rb\"\n" 1 "# patched by akira yamada\n" 1 "# modified by matz\n" 1 "# Original from mutex.rb\n" 1 "# \t$Revision: 1.7 $\n" 1 "# \t$Release Version: 3.0$\n" 1 "# mutex_m.rb - \n" 1 "# End:\n" 1 "# tab-width: 8\n" 1 "# mode: Ruby\n" 1 "# Local variables:\n" 1 "# documentation easier\n" 1 "# - in short, it may be worth changing the code layout in this file to make the\n" 1 "# directly in the RDoc output.\n" 1 "# (mon_count and some queue stuff) are also in this module, and don't appear\n" 1 "# here, so is hard/impossible to RDoc. Some other useful accessors\n" 1 "# - mon_owner is in Nutshell, but appears as an accessor in a separate module\n" 1 "# not synchronize.\n" 1 "# - RDoc doesn't recognise aliases, so we have mon_synchronize documented, but\n" 1 "# comment for MonitorMixin. Does the RD section need to remain?\n" 1 "# - The entire example from the RD section at the top is replicated in the RDoc\n" 1 "# making them private, or marking them :nodoc:, etc.\n" 1 "# ConditionVariable) appear in RDoc. It might be good to hide them, by\n" 1 "# - All the internals (internal modules Accessible and Initializable, class\n" 1 "# Nutshell.\n" 1 "# - MonitorMixin.new_cond appears in the example, but is not documented in\n" 1 "# - All documentation comes from Nutshell.\n" 1 "enter" 1 "try_enter" 1 "# Get the quick index needed for incremental updates.\n" 1 "current thread not owner" 1 "Latest index not found, using quick index" 1 "No quick index found: " 1 "# Make a list of full names for all the missing gemspecs.\n" 1 "# +MonitorMixin+.\n" 1 "# section automatically when the block exits. See example under\n" 1 "# Enters exclusive section and executes the block. Leaves the exclusive\n" 1 "# Unzip the given string.\n" 1 "# Leaves exclusive section.\n" 1 "# Tries to fetch Marshal representation first, then YAML\n" 1 "# Enters exclusive section.\n" 1 "unable to fetch marshal gemspec " 1 "unable to fetch YAML gemspec " 1 "# Update the cached source index with the missing names.\n" 1 "Updating metadata for " 1 "Failed to download spec " 1 ":\\n" 1 "# Attempts to enter exclusive section. Returns +false+ if lock fails.\n" 1 "# Cache is an alias for SourceIndex to allow older YAMLized source index\n" 1 "count_waiters" 1 "# objects to load properly.\n" 1 "wait_until" 1 "wait_while" 1 "Cache" 1 "rubygems/source_info_cache_entry" 1 "# SourceInfoCache stores a copy of the gem index for each gem source.\n" 1 "# There are two possible cache locations, the system cache and the user cache:\n" 1 "# * The system cache is preferred if it is writable or can be created.\n" 1 "# * The user cache is used otherwise\n" 1 "timeout is not implemented yet" 1 "# Once a cache is selected, it will be used for all operations.\n" 1 "# above calls while_wait and signal, this class should be documented.\n" 1 "# Since MonitorMixin.new_cond returns a ConditionVariable, and the example\n" 1 "# SourceInfoCache will not switch between cache files dynamically.\n" 1 "# empty_cond.signal.\n" 1 "# reads a line from ARGF and push it to buf, then call\n" 1 "# to buf while buf.empty?, and the producer thread (main thread)\n" 1 "# The consumer thread waits for the producer thread to push a line\n" 1 "# empty_cond.signal\n" 1 "# buf.push(line)\n" 1 "# buf.synchronize do\n" 1 "# while line = ARGF.gets\n" 1 "# # producer\n" 1 "# Cache data is a Hash mapping a source URI to a SourceInfoCacheEntry.\n" 1 "# print buf.shift\n" 1 "# empty_cond.wait_while { buf.empty? }\n" 1 "# buf.synchronize do\n" 1 "# loop do\n" 1 "# Thread.start do\n" 1 "# # consumer\n" 1 "# empty_cond = buf.new_cond\n" 1 "# buf.extend(MonitorMixin)\n" 1 "# buf = []\n" 1 "# require 'monitor'\n" 1 "# +include+. For example:\n" 1 "# Adds monitor functionality to an arbitrary object by mixing the module with\n" 1 "empty_cond.signal.\n" 1 "reads a line from ARGF and push it to buf, then call\n" 1 "to buf while buf.empty?, and the producer thread (main thread)\n" 1 "The consumer thread waits for the producer thread to push a line\n" 1 " empty_cond.signal\n" 1 " buf.push(line)\n" 1 " buf.synchronize do\n" 1 " while line = ARGF.gets\n" 1 " # producer\n" 1 "# To keep things straight, this is how the cache objects all fit together:\n" 1 " print buf.shift\n" 1 " empty_cond.wait_while { buf.empty? }\n" 1 " buf.synchronize do\n" 1 " loop do\n" 1 " Thread.start do\n" 1 " # consumer\n" 1 " empty_cond = buf.new_cond\n" 1 " buf.extend(MonitorMixin)\n" 1 " buf = []\n" 1 " require 'monitor.rb'\n" 1 "This is a simple example.\n" 1 "== example\n" 1 "You can freely distribute/modify this library.\n" 1 "This library is distributed under the terms of the Ruby license.\n" 1 "Copyright (C) 2001 Shugo Maeda \n" 1 "= monitor.rb\n" 1 "# Gem::SourceInfoCache\n" 1 "\\A(extconf|makefile).rb\\z" 1 ")\n\nrealclean: distclean\n" 1 "\\t\\t@-$(RMDIRS) $(DISTCLEANDIRS\#{" 1 "\\t\\t@-$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES\#{" 1 ")\n\ndistclean-rb-default::\ndistclean-rb::\ndistclean-so::\ndistclean: clean distclean-so distclean-rb-default distclean-rb\n\\t\\t@-$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log\n" 1 ") $(CLEANFILES" 1 ") $(CLEANOBJS" 1 "\\t\\t@-$(RM) $(CLEANLIBS\#{" 1 "\nclean-rb-default::\nclean-rb::\nclean-so::\nclean: clean-so clean-rb-default clean-rb\n" 1 "int main() {return 0;}" 1 "-l%s" 1 " -L\"%s\"" 1 "$(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)" 1 "$@ $(OBJS) " 1 "$(LDSHARED) " 1 "ld $(DLDFLAGS) -r -o $@ $(OBJS)\\n" 1 "$(CFLAGS) $(src) $(LIBPATH) $(LDFLAGS) $(ARCH_FLAG) $(LOCAL_LIBS) $(LIBS)" 1 "conftest $(INCFLAGS) $(CPPFLAGS) " 1 "$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<" 1 "$(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $<" 1 ".%s.%s:" 1 "# @cache_data = {\n" 1 "#include \"ruby.h\"" 1 "# source_uri => Gem::SourceInfoCacheEntry\n" 1 "# @size = source index size\n" 1 "--topdir" 1 "# @source_index = Gem::SourceIndex\n" 1 "--curdir" 1 "# The singleton Gem::SourceInfoCache. If +all+ is true, a full refresh will\n" 1 "--topsrcdir" 1 "--srcdir" 1 " -h" 1 "Borland" 1 "nmake" 1 "?m" 1 "# be performed if the singleton instance is being initialized.\n" 1 "MAKE" 1 "make-prog" 1 "# Reset all singletons, discarding any changes.\n" 1 " failed ***\\n" 1 "*** " 1 "# Search all source indexes. See Gem::SourceInfoCache#search.\n" 1 "# Search all source indexes returning the source_uri. See\n" 1 "# the script will abort with an error message.\n" 1 "# Returns whether or not the Makefile was successfully generated. If not,\n" 1 "MESSAGE\n" 1 "Could not create Makefile due to some reason, probably lack of\nnecessary libraries and/or headers. Check the mkmf.log file for more\ndetails. You may need configuration options.\n\nProvided configuration options:\n" 1 "< $@\\n\\n" 1 "\\t$(RUBY) " 1 "$(DEFFILE): " 1 " $(DLLIB) 2> /dev/null || true" 1 "\\n\\t@-" 1 "# Marshal loads 30-40% faster from a String, and 2MB on 20061116 is small\n" 1 "# irreperable, force refetch.\n" 1 "$@ $(OBJS)" 1 "cru " 1 "ARFLAGS" 1 "$(AR) " 1 "Exception during cache_data handling: " 1 "$(STATIC_LIB): $(OBJS)\\n\\t@-$(RM) $(@" 1 "\\&XX" 1 "\\bLDSHARED\\b" 1 "Cache file was: " 1 "\\.(?:" 1 "# Refreshes each source in the cache from its repository. If +all+ is\n" 1 "# false, only latest gems are updated.\n" 1 "Reseting cache for " 1 "\\t@-$(MAKEDIRS) $(@D)\\n" 1 "\\t@-$(RM) $(@" 1 "$(OBJS) Makefile\\n" 1 "$(DEFFILE) " 1 "$(DLLIB): " 1 "# HACK may be unnecessary, see ::cache and #refresh\n" 1 "reset_cache_data" 1 "# Force cache file to be reset, useful for integration testing of rubygems\n" 1 " = $(VPATH)" 1 ".path." 1 " SITEINSTALL\n" 1 "\nsite-install: site-install-so site-install-rb\nsite-install-so: install-so\nsite-install-rb: install-rb\n\n" 1 "<<-SITEINSTALL" 1 ":\\n\\t$(MAKEDIRS) $@\\n" 1 "reset_cache_file" 1 "# Searches all source indexes. See Gem::SourceIndex#search for details on\n" 1 "# +pattern+ and +platform_only+. If +all+ is set to true, the full index\n" 1 " $(@D" 1 "# will be loaded before searching.\n" 1 "# Searches all source indexes for +pattern+. If +only_platform+ is true,\n" 1 "\\t$(" 1 "install-rb" 1 "pre-install-rb" 1 "-default" 1 "# only gems matching Gem.platforms will be selected. Returns an Array of\n" 1 "pre-install-rb-default: Makefile\\n" 1 "pre-install-rb: Makefile\\n" 1 "install-rb-default: pre-install-rb-default\\n" 1 "install-rb: pre-install-rb install-rb-default\\n" 1 "# pairs containing the Gem::Specification found and the source_uri it was\n" 1 "# found at.\n" 1 "\\t$(INSTALL_PROG) " 1 "# Set the source info cache data directly. This is mainly used for unit\n" 1 "# testing when we don't want to read a file system to grab the cached source\n" 1 "clean-so::\\n" 1 "# index information. The +hash+ should map a source URL into a\n" 1 "# SourceInfoCacheEntry.\n" 1 "install: install-so install-rb\\n\\n" 1 "(\\$\\{\\w+)(\\})" 1 "(\\$\\(\\w+)(\\))" 1 "set_cache_data" 1 "# Determine if +path+ is a candidate for a cache file. Returns +path+ if\n" 1 " install-rb" 1 "static: $(STATIC_LIB)\#{" 1 "# it is, nil if not.\n" 1 "all: \#{" 1 " *.bak\n\n" 1 "cleanobjs" 1 "CLEANOBJS = *.\#{" 1 "# Mark the cache as updated (i.e. dirty).\n" 1 "cleanlibs" 1 "CLEANLIBS = \#{" 1 "$(DLLIB)\n" 1 "TARGET_SO = \#{" 1 "# Write data to the proper cache files.\n" 1 "# Entries held by a SourceInfoCache.\n" 1 "^[[:upper:]]" 1 "%-14s= %s\\n" 1 "# TODO: fixme\n" 1 "# The source index for this cache entry.\n" 1 "INSTALLED_LIST = " 1 "# The size of the of the source entry. Used to determine if the\n" 1 "STATIC_LIB = \#{" 1 "EXTSTATIC = \#{" 1 "DLLIB = \#{" 1 "TARGET = \#{" 1 "OBJS = \#{" 1 "SRCS = \#{" 1 "# source index has changed.\n" 1 "LIBS = \#{" 1 "LOCAL_LIBS = \#{" 1 "target_prefix = \#{" 1 "extout_prefix = \#{" 1 "extout = \#{" 1 "DISTCLEANDIRS = \#{" 1 "CLEANFILES = \#{" 1 "DEFFILE = \#{" 1 "LIBPATH = \#{" 1 "libpath = \#{" 1 "# Create a cache entry.\n" 1 "# TODO Use index_signature instead of size?\n" 1 "# SpecFetcher handles metadata updates from remote gem repositories.\n" 1 "# The SpecFetcher cache dir.\n" 1 "# Cache of latest specs\n" 1 "# Cache of all spces\n" 1 "$(TARGET)-$(arch).def" 1 "# Retuns the local directory to write +uri+ to.\n" 1 "$(DEFFILE)" 1 "Init_$(TARGET)'\"" 1 "-e \"puts 'EXPORTS', '" 1 "') unless 1../^EXPORTS$/i\"" 1 "-pe \"$_.sub!(/^(?=\\\\w)/,'" 1 "# Fetch specs matching +dependency+. If +all+ is true, all matching\n" 1 "$(srcdir)/$(TARGET).def" 1 "# versions are returned. If +matching_platform+ is false, all platforms are\n" 1 ".def" 1 " " 1 ".c" 1 "# TODO: Investigate setting Gem::Specification#loaded_from to a URI\n" 1 "# Find spec names that match +dependency+. If +all+ is true, all matching\n" 1 "# versions are returned. If +matching_platform+ is false, gems for all\n" 1 ".o" 1 "# platforms are returned.\n" 1 "*.{" 1 "# Returns Array of gem repositories that were generated with RubyGems less\n" 1 "# than 1.2.\n" 1 "-DEXTLIB='%s'" 1 "# re-raise if non-repo\n" 1 "\"lib\\\\1." 1 " does not appear to be a repository" 1 "-l(.*)" 1 "# Returns a list of gems available for each source in Gem::sources. If\n" 1 "creating Makefile\\n" 1 "$target" 1 "# +all+ is true, all versions are returned instead of only latest versions.\n" 1 "# and added to the list of INCFLAGS.\n" 1 "# directory, i.e. the current directory . It is included as part of the VPATH\n" 1 "# The +srcprefix+ argument can be used to override the default source\n" 1 "# libraries may depend on the +target_prefix+ being set properly.\n" 1 "# instead of copying files around manually, because some third party\n" 1 "# It is recommended that you use this approach to generate your makefiles,\n" 1 "# /path/to/ruby/sitearchdir/test/foo.so\n" 1 "# 'make install' command:\n" 1 "# in turn, will create the following file tree when installed via the\n" 1 "# That will set the +target_prefix+ in the generated Makefile to 'test'. That,\n" 1 "# create_makefile('test/foo', 'test')\n" 1 "# And given the following code:\n" 1 "# foo.c\n" 1 "# test/\n" 1 "# extconf.rb\n" 1 "# ext/\n" 1 "# For example, given the following file tree:\n" 1 "# filesystem when you run 'make install'.\n" 1 "# a directory under your Config::CONFIG['sitearchdir'] that mimics your local\n" 1 "# Setting the +target_prefix+ will, in turn, install the generated binary in\n" 1 "# Makefile.\n" 1 "# script, but it also sets the proper +target_prefix+ in the generated\n" 1 "# you to manually copy the source files into the same directory as your build\n" 1 "# directory as your build script. This will not only eliminate the need for\n" 1 "# The +srcprefix+ should be used when your source files are not in the same\n" 1 "# have to be followed, e.g. \"require 'test/foo'\".\n" 1 "# load the file within a Ruby program later, that directory structure will\n" 1 "# be installed under the 'test' directory. This means that in order to\n" 1 "# For example, if you pass 'test/foo' as a target name, your extension will\n" 1 "# follow that directory structure.\n" 1 "# directory names, and the generated Makefile will be altered accordingly to\n" 1 "# is interpreted as the target name, and the rest are considered toplevel\n" 1 "# If any '/' characters are present in the target name, only the last name\n" 1 "# C extension is defined as 'Init_foo', then your target would simply be 'foo'.\n" 1 "# defined within your C extension, minus the 'Init_'. For example, if your\n" 1 "# The +target+ name should correspond the name of the global function name\n" 1 "# preprocessor constants that you may have generated through other methods.\n" 1 "# Generates the Makefile for your extension, passing along any options and\n" 1 "# Loads specs in +file+, fetching from +source_uri+ if the on-disk cache is\n" 1 "$(OBJS): $(RUBY_EXTCONF_H)\\n\\n" 1 "# out of date.\n" 1 "# Warn about legacy repositories if +exception+ indicates only legacy\n" 1 "# repositories are available, and yield to the block. Returns false if the\n" 1 "(?:^|[^\\\\])(?:\\\\\\\\)*\\\\$" 1 "\\1:/=\\\\" 1 "(\\$\\((?!RM|COPY)[^:)]+)(?=\\))" 1 "[-\\w\\./]{2,}" 1 "\\A\\s*\\$\\(RM|COPY\\)" 1 "\\&ruby/" 1 "\\$\\(hdrdir\\)/(?!ruby(?![^:;/\\s]))(?=[-\\w]+\\.h)" 1 "\\$\\((?:hdr|top)dir\\)\\/config.h" 1 "# exception indicates some other FetchError.\n" 1 "\\.o\\b" 1 "(\\s)(?!\\.)([^$(){}+=:\\s\\/\\\\,]+)(?=\\s|\\z)" 1 "\\A(?!\\s*\\w+\\s*=)[$\\w][^#]*:" 1 "specs\\." 1 "RubyGems 1.2+ index not found for:\n" 1 "\\A\\.(\\w+)\\.(\\w+)(?:\\s*:)" 1 "\\A\\t" 1 "\\t\#{" 1 "\n\nRubyGems will revert to legacy indexes degrading performance.\n" 1 "# Time::today has been deprecated in 0.9.5 and will be removed.\n" 1 "# for ruby_code if date.rb wasn't required\n" 1 "# == Gem::Specification\n" 1 "# The Specification class contains the metadata for a Gem. Typically\n" 1 "# defined in a .gemspec file or a Rakefile, and looks like this:\n" 1 "# s.name = 'rfoo'\n" 1 "# s.version = '1.0'\n" 1 "RULES\n" 1 "\n\nall install static install-so install-rb: Makefile\n\n" 1 "# s.summary = 'Example gem specification'\n" 1 "# There are many gemspec attributes, and the best place to learn\n" 1 "# about them in the \"Gemspec Reference\" linked from the RubyGems wiki.\n" 1 "CLEANFILES = " 1 "# Allows deinstallation of gems with legacy platforms.\n" 1 "< 2.\n" 1 "RMDIRS = \#{" 1 "$(RUBY) -run -e rm -- -rf" 1 "RM_RF = \#{" 1 "$(RUBY) -run -e rm -- -f" 1 "# An informal list of changes to the specification. The highest-valued\n" 1 "RM = \#{" 1 "# key should be equal to the CURRENT_SPECIFICATION_VERSION.\n" 1 "RUBY = $(ruby\#{" 1 "SPECIFICATION_VERSION_HISTORY" 1 "ruby = \#{" 1 "(RubyGems versions up to and including 0.7 did not have versioned specifications)" 1 "ruby_version = \#{" 1 "Deprecated \"test_suite_file\" in favor of the new, but equivalent, \"test_files\"" 1 "sitearch = \#{" 1 "\"test_file=x\" is a shortcut for \"test_files=[x]\"" 1 "arch = \#{" 1 "Added \"required_rubygems_version\"" 1 "RUBY_SO_NAME = \#{" 1 "Now forward-compatible with future versions" 1 "RUBY_INSTALL_NAME = \#{" 1 "EXEEXT = \#{" 1 "# List of Specification instances.\n" 1 "AR = \#{" 1 "$(LDSHARED)" 1 "# Optional block used to gather newly defined instances.\n" 1 "LDSHAREDXX = \#{" 1 "# List of attribute names: [:name, :version, ...]\n" 1 "LDSHARED = \#{" 1 "\nDLDFLAGS = $(ldflags) $(dldflags) $(archflag)\n" 1 "archflag = \#{" 1 "# List of _all_ attributes and default values:\n" 1 "dldflags = \#{" 1 "ldflags = \#{" 1 "# [[:name, nil],\n" 1 "CXXFLAGS = $(CFLAGS) \#{" 1 "CPPFLAGS = \#{" 1 "# [:bindir, 'bin'],\n" 1 "DEFS = \#{" 1 "INCFLAGS = -I. #" 1 "# ...]\n" 1 "CFLAGS = \#{" 1 "# List of array attributes\n" 1 "warnflags = \#{" 1 "# Map of attribute names to default values.\n" 1 "debugflags = \#{" 1 "# Names of all specification attributes\n" 1 "optflags = \#{" 1 "cflags = \#{" 1 "RUBY_EXTCONF_H = \#{" 1 "attribute_names" 1 "COUTFLAG = \#{" 1 "OUTFLAG = \#{" 1 "LIBRUBYARG_STATIC = #" 1 "# Default values for specification attributes\n" 1 "LIBRUBYARG_SHARED = #" 1 "attribute_defaults" 1 "LIBRUBY_A = \#{" 1 "# The default value for specification attribute +name+\n" 1 "LIBRUBY = \#{" 1 "# Required specification attributes\n" 1 "CXX = \#{" 1 "required_attributes" 1 "CC = \#{" 1 "-DRUBY_EXTCONF_H=\\\\\\\"$(RUBY_EXTCONF_H)\\\\\\\" " 1 "# Is +name+ a required attribute?\n" 1 "# Specification attributes that are arrays (appendable and so-forth)\n" 1 "array_attributes" 1 "# A list of Specification instances that have been defined in this Ruby\n" 1 "# Specifies the +name+ and +default+ for a specification attribute, and\n" 1 "# creates a reader and writer method like Module#attr_accessor.\n" 1 "dir$" 1 "^(?:src|top|hdr)dir$" 1 "^abs_" 1 "# The reader method returns the default if the value hasn't been set.\n" 1 "prefix$" 1 "\\nDESTDIR = " 1 "# Same as :attribute, but ensures that values assigned to the attribute\n" 1 "RUBYLIB = -\\nRUBYOPT = -r$(top_srcdir)/ext/purelib.rb\\n" 1 "VPATH = \#{" 1 "arch_hdrdir = \#{" 1 "hdrdir = \#{" 1 "topdir = \#{" 1 "\\$\\((srcdir)\\)|\\$\\{(srcdir)\\}" 1 "srcdir = \#{" 1 "$(topdir)/" 1 "top_srcdir = " 1 "\nSHELL = /bin/sh\n\n#### Start of system configuration section. ####\n" 1 "$(shell cygpath -u \\&)" 1 "# are array values by applying :to_a to the value.\n" 1 " ||= []\n end\n" 1 " = Array(value)\n end\n" 1 "# Same as attribute above, but also records this attribute as mandatory.\n" 1 "# Sometimes we don't want the world to use a setter method for a\n" 1 "# particular attribute.\n" 1 "/\\1" 1 "\\A([A-Za-z]):(?=\\/)" 1 "# converts from C:\\some\\path to /C/some/path\n" 1 "# mingw uses make from msys and it needs special care\n" 1 "# +read_only+ makes it private so we can still use it internally.\n" 1 "# Shortcut for creating several attributes at once (each with a default\n" 1 "# Converts native path to format acceptable in Makefile\n" 1 "winsep" 1 "# Converts forward slashes to backslashes. Aimed at MS Windows.\n" 1 "$(DESTDIR)" 1 "\\A\\$[\\(\\{]" 1 "# value of +nil+).\n" 1 "package configuration for %s is not found\\n" 1 "cflags: %s\\nldflags: %s\\nlibs: %s\\n\\n" 1 "package configuration for %s\\n" 1 "libs-only-l" 1 "# default to package specific config command, as a last resort.\n" 1 "# default to pkg-config command\n" 1 " --exists " 1 "# Some attributes require special behaviour when they are accessed. This\n" 1 "# allows for that.\n" 1 "# Defines a _singular_ version of an existing _plural_ attribute (i.e. one\n" 1 "# whose value is expected to be an array). This means just creating a\n" 1 "# iff package specific config command is given\n" 1 "# helper method that takes a single value and appends it to the array.\n" 1 "# These are created for convenience, so that in a spec, one can write \n" 1 "# s.require_path = 'mylib'\n" 1 "pkg_config" 1 "# pkg-config program if it has one.\n" 1 "# Handles meta information about installed libraries. Uses your platform's\n" 1 "/lib" 1 "# instead of:\n" 1 "# s.require_paths = ['mylib']\n" 1 "-dir}/lib" 1 "-lib" 1 "# That above convenience is available courtesy of:\n" 1 "-dir}/include" 1 "# attribute_alias_singular :require_path, :require_paths \n" 1 "-include" 1 "# Dump only crucial instance variables.\n" 1 "-dir" 1 "# MAINTAIN ORDER!\n" 1 "# Load custom marshal format, re-initializing defaults as needed\n" 1 "invalid Gem::Specification format " 1 "# and include files. It does not link the libraries into your application.\n" 1 "# Note that dir_config only adds to the list of places to search for libraries\n" 1 "# and +ldefault+ parameters, respectively.\n" 1 "# You may pass along additional 'include' or 'lib' defaults via the +idefault+\n" 1 "# line option.\n" 1 "# target is set to \"foo\", then the user could use the --with-foo-dir command\n" 1 "# options with on the command line by using that name. For example, if the\n" 1 "# Sets a +target+ name that the user can then use to configure various 'with'\n" 1 "# spec version\n" 1 "# List of depedencies that will automatically be activated at runtime.\n" 1 "#endif\\n" 1 "#undef " 1 "^-U(.*)" 1 "# List of dependencies that are used for development\n" 1 "^-D([^=]+)(?:=(.*))?" 1 "\\n#define " 1 "#ifndef " 1 "test_suite_file" 1 "creating %s\\n" 1 "extconf.h" 1 "test_suite_file deprecated, use test_files" 1 "# one of the last methods you call in your script.\n" 1 "# set earlier in your extconf.rb file, you will probably want to make this\n" 1 "# Given that the create_header method generates a file based on definitions\n" 1 "# #endif\n" 1 "# #define HAVE_SYS_UTIME_H 1\n" 1 "# #define HAVE_REALPATH 1\n" 1 "# #define EXTCONF_H\n" 1 "# #ifndef EXTCONF_H\n" 1 "# The above script would generate the following extconf.h file:\n" 1 "# create_makefile('foo')\n" 1 "# create_header\n" 1 "# have_header('sys/utime.h')\n" 1 "# have_func('realpath')\n" 1 "# require 'mkmf'\n" 1 "# # extconf.rb\n" 1 "test_suite_file=" 1 "# 'extconf.h'.\n" 1 "# a custom #ifndef based on the +header+ file name, which defaults to\n" 1 "# by other methods such as have_func and have_header. These are then wrapped in\n" 1 "# Generates a header file consisting of the various macro definitions generated\n" 1 "--disable-" 1 "--enable-" 1 "enable_config" 1 "# if enable_config(\"debug\")\n" 1 "# false if the disable option is given, and the default value otherwise.\n" 1 "# --disable-config option. Returns true if the enable option is given,\n" 1 "# Tests for the presence of an --enable-config or\n" 1 "--without-" 1 "--with-" 1 "^--with[-_]" 1 "test_suite_file= deprecated, use test_files=" 1 "# if with_config(\"debug\")\n" 1 "# true when this gemspec has been loaded from a specifications directory.\n" 1 "# This attribute is not persisted.\n" 1 "# option is given, and the default value otherwise.\n" 1 "# option. Returns true if the with option is given, false if the without\n" 1 "# Tests for the presence of a --with-config or --without-config\n" 1 "# Path this gemspec was loaded from. This attribute is not persisted.\n" 1 "# Returns an array with bindir attached to each executable in the\n" 1 "# executables list\n" 1 "# Files in the Gem under one of the require_paths\n" 1 "find_executable" 1 "# Note that this method does not actually affect the generated Makefile.\n" 1 "# of where it was found.\n" 1 "# If found, it will return the full path, including the executable name,\n" 1 "# searching /usr/local/bin, /usr/ucb, /usr/bin and /bin.\n" 1 "# PATH environment variable. If that isn't defined, it will resort to\n" 1 "# Searches for the executable +bin+ on +path+. The default path is your\n" 1 "/bin" 1 "lib_files" 1 "/usr/ucb" 1 "/usr/local/bin" 1 "# True if this gem was loaded from disk\n" 1 "# True if this gem has files in test_files\n" 1 "has_test_suite?" 1 "# :nodoc: deprecated\n" 1 "# This method is used internally by the find_executable method.\n" 1 "# Specification constructor. Assigns the default values to the\n" 1 "# attributes, adds this spec to the list of loaded specs (see\n" 1 ") > 1" 1 ") > sizeof(short)" 1 "# Specification.list), and yields itself for further initialization.\n" 1 ") > sizeof(int)" 1 "# Each attribute has a default value (possibly nil). Here, we initialize\n" 1 ") > sizeof(long)" 1 ") == 1" 1 "sizeof(*" 1 "seems %s" 1 " *)0)->" 1 "(((" 1 "what_type?" 1 "int t() {return (int)(1-(conftestval\#{" 1 "# all attributes to their default value. This is done through the\n" 1 "# accessor methods, so special behaviours will be honored. Furthermore,\n" 1 "int t() {return (int)(1-*(conftestval\#{" 1 "# we take a _copy_ of the default so each specification instance has its\n" 1 "# own empty arrays, etc.\n" 1 "# Special loader for YAML files. When a Specification object is loaded\n" 1 "# from a YAML file, it bypasses the normal Ruby object initialization\n" 1 "# routine (#initialize). This method makes up for that and deals with\n" 1 "# gems of different ages.\n" 1 "-DSIZEOF_%s=%d" 1 "size of " 1 "failed" 1 "# 'input' can be anything that YAML.load() accepts: String or IO. \n" 1 "YAML data doesn't evaluate to gem specification" 1 "check_sizeof" 1 "# SIZEOF_MYSTRUCT=12 preprocessor macro would be passed to the compiler.\n" 1 "# For example, if check_sizeof('mystruct') returned 12, then the\n" 1 "# name, followed by '=X' where 'X' is the actual size.\n" 1 "# the type name, in uppercase, prepended with 'SIZEOF_', followed by the type\n" 1 "# +headers+ to search in for the +type+.\n" 1 "# Returns the size of the given +type+. You may optionally specify additional\n" 1 "# Loads ruby format gemspec from +filename+\n" 1 "# For example, if have_const('foo') returned true, then the HAVE_CONST_FOO\n" 1 "# the type name, in uppercase, prepended with 'HAVE_CONST_'.\n" 1 "# then passed along to the compiler.\n" 1 "# to the common header files, and additional flags to +opt+ which are\n" 1 "# You may also pass additional +headers+ to check against in addition\n" 1 "# have_const(%w[PTHREAD_MUTEX_INITIALIZER pthread_mutex_t], \"pthread.h\")\n" 1 "# like as:\n" 1 "# optionally pass the +type+ of +const+ as [const, type],\n" 1 "# Returns whether or not the constant +const+ is defined. You may\n" 1 "-DHAVE_CONST_%s" 1 ";\n" 1 "(int)" 1 "conftest_type conftestval = \#{" 1 " conftest_type;\n" 1 "NESTED Specification.load calls not allowed!" 1 "# Make sure the YAML specification is properly formatted with dashes\n" 1 "not found" 1 "find_type" 1 "# See also +have_type+.\n" 1 "# Returns where the static type +type+ is defined.\n" 1 "^--- " 1 "# For example, if have_type('foo') returned true, then the HAVE_TYPE_FOO\n" 1 "# the type name, in uppercase, prepended with 'HAVE_TYPE_'.\n" 1 "# Sets the rubygems_version to the current RubyGems version\n" 1 "# Ignore unknown attributes while loading\n" 1 "# common header files.\n" 1 "# optionally pass additional +headers+ to check against in addition to the\n" 1 "# Returns whether or not the static type +type+ is defined. You may\n" 1 "-DHAVE_TYPE_%s" 1 " conftest_type;\nint conftestval[sizeof(conftest_type)?1:-1];\n" 1 "ignoring " 1 " loading " 1 "# backward compatibility\n" 1 "-DHAVE_ST_%s" 1 "-DHAVE_%s_%s" 1 " - (char *)0;\n" 1 "*)0)->" 1 "int s = (char *)&((\#{" 1 "# Adds a development dependency named +gem+ with +requirements+ to this\n" 1 "have_struct_member" 1 "# HAVE_ST_BAR is also defined for backward compatibility.\n" 1 "# HAVE_STRUCT_FOO_BAR preprocessor macro would be passed to the compiler.\n" 1 "# For example, if have_struct_member('struct foo', 'bar') returned true, then the\n" 1 "# the type name and the member name, in uppercase, prepended with 'HAVE_'.\n" 1 "# (in addition to the common header files).\n" 1 "# may optionally specify additional +headers+ in which to look for the struct\n" 1 "# it does not, or the struct type can't be found, then false is returned. You\n" 1 "# Returns whether or not the struct of type +type+ contains +member+. If\n" 1 "# Gem. For example:\n" 1 "# spec.add_development_dependency 'jabber4r', '> 0.1', '<= 0.5'\n" 1 "find_header" 1 "# of included directories that are sent to the compiler (via the -I switch).\n" 1 "# If the header is found then the path it was found on is added to the list\n" 1 "# provided, and returns whether or not it was found in those paths.\n" 1 "# Instructs mkmf to search for the given +header+ in any of the +paths+\n" 1 "# Development dependencies aren't installed by default and aren't\n" 1 "# activated when a gem is required.\n" 1 "add_development_dependency" 1 "# For example, if have_header('foo.h') returned true, then the HAVE_FOO_H\n" 1 "# the header file name, in uppercase, prepended with 'HAVE_'.\n" 1 "# Adds a runtime dependency named +gem+ with +requirements+ to this Gem.\n" 1 "# Returns whether or not the given +header+ file can be found on your system.\n" 1 "# spec.add_runtime_dependency 'jabber4r', '> 0.1', '<= 0.5'\n" 1 "# For example, if have_var('foo') returned true, then the HAVE_FOO\n" 1 "# variable name, in uppercase, prepended with 'HAVE_'.\n" 1 "# Returns whether or not the variable +var+ can be found in the common\n" 1 "# Adds a runtime dependency\n" 1 "add_dependency" 1 "# Returns the full name (name-version) of this Gem. Platform information\n" 1 "# is included (name-version-platform) if it is specified and not the\n" 1 "# For example, if have_func('foo') returned true, then the HAVE_FOO\n" 1 "# function name, in uppercase, prepended with 'HAVE_'.\n" 1 "# default Ruby platform.\n" 1 "# Returns the full name (name-version) of this gemspec using the original\n" 1 "# Returns whether or not the function +func+ can be found in the common\n" 1 "() in " 1 "find_library" 1 "# library paths searched and linked against.\n" 1 "# If +lib+ is found, then the path it was found on is added to the list of\n" 1 "# If +func+ is nil , then the main() function is used as the entry point.\n" 1 "# +lib+ in one of the +paths+ specified, where +paths+ is an array of strings.\n" 1 "# Returns whether or not the entry point +func+ can be found within the library\n" 1 "# platform. For use with legacy gems.\n" 1 "# The full path to the gem (install path + full name).\n" 1 "# The default (generated) file name of the gem.\n" 1 "# The directory that this gem was installed into.\n" 1 "# '--with-FOOlib' configuration option.\n" 1 "# The real name of the library to be linked can be altered by\n" 1 "# header files it looks in when searching for +func+.\n" 1 "# If +headers+ are provided, it will include those header files as the\n" 1 "# your extension.\n" 1 "# If found, it adds the library to list of libraries to be used when linking\n" 1 "# +lib+. If +func+ is nil, the 'main()' entry point is used by default.\n" 1 "# Returns whether or not the given entry point +func+ can be found within\n" 1 "# Checks if this specification meets the requirement of +dependency+.\n" 1 "# Any options you pass to +opt+ are passed along to the compiler.\n" 1 "# files or within any +headers+ you provide.\n" 1 "# Returns whether or not +macro+ is defined either in the common header\n" 1 "# Returns an object you can use to sort specifications in #sort_by.\n" 1 "# Tests specs for equality (across all attributes).\n" 1 "# True if this gem has the same attributes as +other+.\n" 1 "# for backwards compatibility\n" 1 "# Returns a Ruby code representation of this specification, such that it\n" 1 "# can be eval'ed and reconstruct the same specification later. Attributes\n" 1 "# that still have their default values are omitted.\n" 1 "--------------------\\n\\n" 1 "-------------------- " 1 "# -*- encoding: utf-8 -*-" 1 "Gem::Specification.new do |s|" 1 "... " 1 "for " 1 "\\Acheck" 1 "checking " 1 "#` for vim #'\n" 1 "in `(.*)'$" 1 " s.name = " 1 " s.version = " 1 "# various have* and find* methods as they are tested.\n" 1 "# This emits a string to stdout that allows users to see the results of the\n" 1 " s.platform = " 1 " s.required_rubygems_version = " 1 "# :no-doc:\n" 1 " if s.respond_to? :required_rubygems_version=" 1 " s." 1 "install_rb" 1 " if s.respond_to? :specification_version then" 1 " current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION" 1 " s.specification_version = " 1 "# install files which are under the $(srcdir).\n" 1 "# install files which are in current working directory.\n" 1 " if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then" 1 "/?" 1 " s.add_" 1 "_dependency(%q<" 1 " else" 1 " s.add_dependency(%q<" 1 " end" 1 " else" 1 " s.add_dependency(%q<" 1 "try_run" 1 " undefined <<<<<<\n#endif\n" 1 ">>>>>> \#{" 1 "\n# error\n" 1 "#ifndef \#{" 1 "/*top*/\n" 1 " end" 1 "# Checks that the specification contains all required fields, and does a\n" 1 "# This is used internally by the have_macro? method.\n" 1 "# very basic sanity check.\n" 1 "# Raises InvalidSpecificationException if the spec does not pass the\n" 1 " egrep '" 1 " ruby -ne 'print if " 1 "egrep_cpp" 1 ")[0]; return 0; }\n" 1 "int t() { const volatile void *volatile p; p = &(&\#{" 1 "# checks..\n" 1 "(); return 0; }\n" 1 "int t() { \#{" 1 "; return 0; }\n" 1 "int t() { void ((*volatile p)()); p = (void ((*)()))\#{" 1 "expected RubyGems version " 1 ", was " 1 "missing value for attribute " 1 "specification must have at least one require_path" 1 ");\nint main() {printf(\"%d\\\\n\", conftest_const); return 0;}\n" 1 "int conftest_const = (int)(\#{" 1 "\n#include \n/*top*/\n" 1 " > " 1 " <= " 1 "# ok\n" 1 "invalid platform " 1 "# not a constant\n" 1 " == 0" 1 "-(" 1 ", see Gem::Platform" 1 " < 0" 1 "# positive constant\n" 1 " > 0" 1 "authors must be Array of Strings" 1 "# Warnings\n" 1 "no " 1 " specified" 1 ") ? 1 : -1];\n" 1 "int conftest_const[(\#{" 1 "RDoc will not be generated (has_rdoc == false)" 1 "< " 1 "# Ask a question. Returns a true for yes, false for no. If not connected\n" 1 "# to a tty, raises an exception if default is nil, otherwise returns\n" 1 "# default.\n" 1 "Not connected to a tty and no default specified" 1 "# invoke like: ruby -r mkmf extconf.rb\n" 1 "# module to create Makefile for extension modules\n" 1 "# - Matrix#coerce and Vector#coerce need to be documented\n" 1 "Yn" 1 "Vector[" 1 "# FIXME: describe Vector#coerce.\n" 1 "# Returns the elements of the vector in an array.\n" 1 "covector" 1 "# Creates a single-row matrix from this vector.\n" 1 "# CONVERTING\n" 1 "# Vector[5,8,2].r => 9.643650761\n" 1 "# Returns the modulus (Pythagorean distance) of the vector.\n" 1 "map2" 1 "# Like Vector#collect2, but returns a Vector instead of an Array.\n" 1 "# Like Array#collect.\n" 1 "inner_product" 1 "# Vector[4,7].inner_product Vector[10,1] => 47\n" 1 "# Returns the inner product of this vector with the other.\n" 1 "# VECTOR FUNCTIONS -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n" 1 "# Vector subtraction.\n" 1 "yN" 1 "^[Yy].*" 1 "# Vector addition.\n" 1 "^[Nn].*" 1 "# Multiplies the vector by +x+, where +x+ is a number or another vector.\n" 1 "# Return a hash-code for the vector.\n" 1 "# Return a copy of the vector.\n" 1 "# Ask a question. Returns an answer if connected to a tty, nil otherwise.\n" 1 "# Returns +true+ iff the two vectors have the same elements in the same order.\n" 1 "# COMPARING -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n" 1 "# Display a statement.\n" 1 "# in conjunction.\n" 1 "# Collects (as in Enumerable#collect) over the elements of this vector and +v+\n" 1 "# Display an informational alert. Will ask +question+ if it is not nil.\n" 1 "INFO: " 1 "# Iterate over the elements of this vector and +v+ in conjunction.\n" 1 "# ENUMERATIONS -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n" 1 "# Returns the number of elements in the vector.\n" 1 "# Returns element number +i+ (starting at zero) of the vector.\n" 1 "# ACCESSING\n" 1 "# Display a warning in a location expected to get error messages. Will\n" 1 "# ask +question+ if it is not nil.\n" 1 "# whether the array itself or a copy is used internally.\n" 1 "# Creates a vector from an Array. The optional second argument specifies\n" 1 "WARNING: " 1 "# Vector[7, 4, ...]\n" 1 "# Creates a Vector from a list of elements.\n" 1 "#INSTANCE CREATION\n" 1 "# * #inspect \n" 1 "# * #to_s \n" 1 "# * #coerce(other) \n" 1 "# * #to_a \n" 1 "# * #covector \n" 1 "# * #size \n" 1 "# * #r \n" 1 "# * #map2(v) \n" 1 "# * #map \n" 1 "# * #collect \n" 1 "# * #inner_product(v) \n" 1 "# Vector functions:\n" 1 "# * -(v) \n" 1 "# * +(v) \n" 1 "# * *(x) \"is matrix or number\" \n" 1 "# Vector arithmetic:\n" 1 "# * #collect2(v) \n" 1 "# * #each2(v) \n" 1 "# To enumerate the elements:\n" 1 "# * [](i) \n" 1 "# To access elements:\n" 1 "# * Vector.elements(array, copy = true) \n" 1 "# * Vector.[](*array) \n" 1 "# To create a Vector:\n" 1 "# also constitutes a row or column of a Matrix.\n" 1 "# The +Vector+ class represents a mathematical vector, which is useful in its own right, and\n" 1 "powered_by" 1 "# Display an error message in a location expected to get error messages.\n" 1 "# Will ask +question+ if it is not nil.\n" 1 "ERROR: " 1 "# ARITHMETIC\n" 1 "# Private CLASS\n" 1 "# Terminate the application with exit code +status+, running any exit\n" 1 "Matrix[" 1 "# handlers that might have been defined.\n" 1 "# Return a progress reporter object chosen from the current verbosity.\n" 1 "# An absolutely silent progress reporter.\n" 1 "# A basic dotted progress reporter.\n" 1 "# Prints out a dot and ignores +message+.\n" 1 "# Returns an array of arrays that describe the rows of the matrix.\n" 1 "column_vectors" 1 "# Returns an array of the column vectors of the matrix. See Vector.\n" 1 "row_vectors" 1 "# Returns an array of the row vectors of the matrix. See Vector.\n" 1 "# A progress reporter that prints out messages about the current progress.\n" 1 "# Prints out the position relative to the total and the +message+.\n" 1 "# FIXME: describe #coerce.\n" 1 "# CONVERTING -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n" 1 "# 2 4 6\n" 1 "# => 1 3 5\n" 1 "# Matrix[[1,2], [3,4], [5,6]].transpose\n" 1 "# 5 6\n" 1 "# 3 4\n" 1 "# => 1 2\n" 1 "# Matrix[[1,2], [3,4], [5,6]]\n" 1 "# Returns the transpose of the matrix.\n" 1 "# Subclass of StreamUI that instantiates the user interaction using STDIN,\n" 1 "# => 16\n" 1 "# Matrix[[7,6], [3,9]].trace\n" 1 "# Returns the trace (sum of diagonal elements) of the matrix.\n" 1 "# STDOUT, and STDERR.\n" 1 "# SilentUI is a UI choice that is absolutely silent.\n" 1 "SilentUI" 1 "rank_e" 1 "# an element is a float, can't return exact value. \n" 1 "# algorism. If all elements are integer, really exact value. But, if\n" 1 "# Returns the rank of the matrix. This method uses Euclidean\n" 1 "# Validator performs various gem file and gem database validation\n" 1 "Validator" 1 "# Given a gem file's contents, validates against its own MD5 checksum\n" 1 "# gem_data:: [String] Contents of the gem file\n" 1 "empty gem file" 1 "MD5SUM" 1 "# for getting exact result.\n" 1 "# probably return faild value. Use Rational values or Matrix#rank_e\n" 1 "# Returns the rank of the matrix. Beware that using Float values,\n" 1 "det_e" 1 "# Don't worry about it...this sucks. Need to fix MD5 stuff for\n" 1 "# new format\n" 1 "# => 63\n" 1 "# exact value. \n" 1 "# really exact value. But, if an element is a float, can't return\n" 1 "# This method uses Euclidean algorism. If all elements are integer,\n" 1 "# result is 0. This method's algorism is Gaussian elimination method. \n" 1 "MD5SUM = \"([a-z0-9]+)\"" 1 "MD5SUM = \\\"" 1 "invalid checksum for gem file" 1 "# => 63.0\n" 1 "# Given the path to a gem file, validates against its own MD5 checksum\n" 1 "# Rational values or Matrix#det_e instead if this is important to you.\n" 1 "# usual lack of precision, can affect the value returned by this method. Use\n" 1 "# and using Numeric#quo(). Beware that using Float values, with their\n" 1 "# result is 0. This method's algorism is Gaussian elimination method\n" 1 "# gem_path:: [String] Path to gem file\n" 1 "# MATRIX FUNCTIONS -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n" 1 "missing gem file " 1 "# 48 99\n" 1 "# => 67 96\n" 1 "# Matrix[[7,6], [3,9]] ** 2\n" 1 "# multiplying the matrix by itself N times.\n" 1 "# Matrix exponentiation. Defined for integer powers only. Equivalent to\n" 1 "#alias reciprocal inverse\n" 1 "problem" 1 "# Checks the gem directory for the following potential\n" 1 "# Not for public consumption?\n" 1 "inv" 1 "# inconsistencies/problems:\n" 1 "# 0 -1\n" 1 "# => -1 1\n" 1 "# Matrix[[1, 2], [2, 1]].inverse\n" 1 "# Returns the inverse of the matrix.\n" 1 "rerurn" 1 "# * Checksum gem itself\n" 1 "# -3 -6\n" 1 "# => -7 1\n" 1 "# Matrix[[7,6], [3,9]] / Matrix[[2,9], [3,1]]\n" 1 "# Matrix division (multiplication by the inverse).\n" 1 "# 8 1\n" 1 "# => -8 2\n" 1 "# Matrix[[1,5], [4,2]] - Matrix[[9,3], [-4,1]]\n" 1 "# Matrix subtraction.\n" 1 "# -4 12\n" 1 "# => 6 0\n" 1 "# Matrix.scalar(2,5) + Matrix[[1,0], [-4,7]]\n" 1 "# Matrix addition.\n" 1 "# * For each file in each gem, check consistency of installed versions\n" 1 "# m is matrix or vector or number\n" 1 "# 6 8\n" 1 "# => 2 4\n" 1 "# Matrix[[2,4], [6,8]] * Matrix.identity(2)\n" 1 "# Matrix multiplication.\n" 1 "# * Check for files that aren't part of the gem but are in the gems directory\n" 1 "# * 1 cache - 1 spec - 1 directory.\n" 1 "# Returns a hash-code for the matrix.\n" 1 "# identical objects.\n" 1 "# Returns a clone of the matrix, so that the contents of each do not reference\n" 1 "# returns a hash of ErrorData objects, keyed on the problem gem's name.\n" 1 "# Not really intended for general consumption.\n" 1 "alien" 1 "# Returns +true+ if and only if the two matrices contain equal elements.\n" 1 "# OBJECT METHODS -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n" 1 "# being unreliable, though.\n" 1 "# Returns +true+ is this is a square matrix. See note in column_size about this\n" 1 "singular?" 1 "# Returns +true+ is this is a singular (i.e. non-regular) matrix.\n" 1 "Spec file doesn't exist for installed gem" 1 "# Found this file. Delete it from list\n" 1 "# HACK `gem check -a mkrf`\n" 1 "# Returns +true+ if this is a regular matrix.\n" 1 "# TESTING -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n" 1 "installed file doesn't match original from gem" 1 "# Clean out directories that weren't explicitly included in the gemspec\n" 1 "# FIXME: This still allows arbitrary incorrect directories.\n" 1 "Unmanaged files in gem: " 1 "test/unit/ui/testrunnermediator" 1 "UI" 1 "# 0 5 0\n" 1 "# => 9 0 0\n" 1 "# Matrix.diagonal(9, 5, -3).minor(0..1, 0..2)\n" 1 "# * col_range, row_range\n" 1 "# * start_row, nrows, start_col, ncols; OR\n" 1 "# Returns a section of the matrix. The parameters are either:\n" 1 "# 9 16\n" 1 "# => 1 4\n" 1 "# Matrix[ [1,2], [3,4] ].collect { |e| e**2 }\n" 1 "# elements of the matrix.\n" 1 "# Returns a matrix that is the result of iteration of the given block over all\n" 1 "# iterated.\n" 1 "# like an array). When a block is given, the elements of that vector are\n" 1 "# Returns column vector number +j+ of the matrix as a Vector (starting at 0\n" 1 "TestRunnerMediator" 1 "add_listener" 1 "# an array). When a block is given, the elements of that vector are iterated.\n" 1 "# Returns row vector number +i+ of the matrix as a Vector (starting at 0 like\n" 1 "TestResult" 1 "# result.\n" 1 "# mathematically unsound. This method uses the first row to determine the\n" 1 "# matrix with uneven columns (e.g. Matrix[ [1,2,3], [4,5] ]), but this is\n" 1 "# Returns the number of columns. Note that it is possible to construct a\n" 1 "FAULT" 1 "# Returns the number of rows.\n" 1 "run_suite" 1 "long_display" 1 "test/unit/ui/testrunnerutilities" 1 "# Runs unit tests for a given gem specification\n" 1 "# Returns element (+i+,+j+) of the matrix. That is: row +i+, column +j+.\n" 1 "unit_test" 1 "# XXX: why do we need this gem_spec when we've already got 'spec'?\n" 1 "There are no unit tests to run for " 1 "# use to general users.\n" 1 "# This method is used by the other methods that create matrices, and is of no\n" 1 "TestSuite" 1 "# The Version class processes string versions into comparable values\n" 1 "# 6\n" 1 "# 5\n" 1 "# => 4\n" 1 "# Matrix.column_vector([4,5,6])\n" 1 "# in +column+.\n" 1 "# Creates a single-column matrix where the values of that column are as given\n" 1 "# Returns true if +version+ is a valid version string.\n" 1 "\\A\\s*(\\d+(\\.\\d+)*)*\\s*\\z" 1 "# => 4 5 6\n" 1 "# Matrix.row_vector([4,5,6])\n" 1 "# +row+.\n" 1 "# Creates a single-row matrix where the values of that row are as given in\n" 1 "# Factory method to create a Version object. Input may be a Version or a\n" 1 "# 0 0\n" 1 "# => 0 0\n" 1 "# Matrix.zero(2)\n" 1 "# Creates an +n+ by +n+ zero matrix.\n" 1 "# String. Intended to simplify client code.\n" 1 "unit" 1 "# ver1 = Version.create('1.3.17') # -> (Version object)\n" 1 "# 0 1\n" 1 "# => 1 0\n" 1 "# Matrix.identity(2)\n" 1 "# Creates an +n+ by +n+ identity matrix.\n" 1 "# ver2 = Version.create(ver1) # -> (ver1)\n" 1 "# 0 5\n" 1 "# => 5 0\n" 1 "# Matrix.scalar(2, 5)\n" 1 "# +value+.\n" 1 "# Creates an +n+ by +n+ diagonal matrix where each diagonal element is\n" 1 "# ver3 = Version.create(nil) # -> nil\n" 1 "# Constructs a Version from the +version+ string. A version string is a\n" 1 "# 0 0 -3\n" 1 "# 0 5 0\n" 1 "# => 9 0 0\n" 1 "# Matrix.diagonal(9, 5, -3)\n" 1 "# Creates a matrix where the diagonal elements are composed of +values+.\n" 1 "# series of digits separated by dots.\n" 1 "# 93 66\n" 1 "# => 25 -1\n" 1 "# Matrix.columns([[25, 93], [-1, 66]])\n" 1 "# Creates a matrix using +columns+ as an array of column vectors.\n" 1 "# Matrix.rows([[25, 93], [-1, 66]])\n" 1 "# arrays as the internal structure of the matrix without copying.\n" 1 "# to the matrix. If the optional argument +copy+ is false, use the given\n" 1 "# Creates a matrix where +rows+ is an array of arrays, each of which is a row\n" 1 "Malformed version number string " 1 "# Dump only the raw version string, not the complete object\n" 1 "# Strip ignored trailing zeros.\n" 1 "# Matrix[ [25, 93], [-1, 66] ]\n" 1 "# Creates a matrix where each argument is a row.\n" 1 "# instance creations\n" 1 "# extend Exception2MessageMapper\n" 1 "-$Id: matrix.rb,v 1.13 2001/12/09 14:22:23 keiju Exp keiju $-" 1 "# Returns the text representation of the version\n" 1 "# * #inspect \n" 1 "# * #to_s \n" 1 "# return:: [String] version as string\n" 1 "# * #to_a \n" 1 "# * #column_vectors \n" 1 "# * #row_vectors \n" 1 "# * #coerce(other) \n" 1 "# Returns an integer array representation of this Version.\n" 1 "# * #t \n" 1 "# * #transpose \n" 1 "# * #tr \n" 1 "# * #trace \n" 1 "# * #rank \n" 1 "# * #det \n" 1 "# * #determinant \n" 1 "# Matrix functions:\n" 1 "# * ** \n" 1 "# * #inv \n" 1 "# * #inverse \n" 1 "# * #/(m) \n" 1 "# * -(m) \n" 1 "# * +(m) \n" 1 "# * *(m) \n" 1 "# Matrix arithmetic:\n" 1 "# * #square? \n" 1 "# * #singular? \n" 1 "# * #regular? \n" 1 "# Properties of a matrix:\n" 1 "# * #minor(*param) \n" 1 "# * #map \n" 1 "# * #collect \n" 1 "# * #column(j) \n" 1 "# * #row(i) \n" 1 "# * #column_size \n" 1 "# * #row_size \n" 1 "# * [](i, j) \n" 1 "# To access Matrix elements/columns/rows/submatrices/properties: \n" 1 "# * Matrix.column_vector(column) \n" 1 "# * Matrix.row_vector(row) \n" 1 "# * Matrix.zero(n) \n" 1 "# * Matrix.I(n) \n" 1 "# * Matrix.unit(n) \n" 1 "# * Matrix.identity(n) \n" 1 "# Compares this version with +other+ returning -1, 0, or 1 if the other\n" 1 "# * Matrix.diagonal(*values) \n" 1 "# * Matrix.columns(columns) \n" 1 "# * Matrix.rows(rows, copy = true) \n" 1 "# * Matrix.[](*rows) \n" 1 "# * Matrix[*rows] \n" 1 "# To create a matrix:\n" 1 "# version is larger, the same, or smaller than this one.\n" 1 "# also require 'mathn'. This may be fixed in the future.\n" 1 "# Also note that the determinant of integer matrices may be incorrectly calculated unless you\n" 1 "# enforced by the class.\n" 1 "# Note that although matrices should theoretically be rectangular, this is not\n" 1 "# inverse, determinant).\n" 1 "# arithmetically and algebraically, and determining their mathematical properties (trace, rank,\n" 1 "# special-case matrices (zero, identity, diagonal, singular, vector), operating on them\n" 1 "# The +Matrix+ class represents a mathematical matrix, and provides methods for creating\n" 1 "This operation(%s) can\\\\'t defined" 1 "# A Version is only eql? to another version if it has the same version\n" 1 "Not Regular Matrix" 1 "# string. \"1.0\" is not the same version as \"1\".\n" 1 "\\\#{self.name} dimension mismatch" 1 "# Return a new version object where the next to the last revision\n" 1 "Wrong # of arguments(%d for %d)" 1 "# number is one greater. (e.g. 5.3.1 => 5.4)\n" 1 "#:stopdoc:\n" 1 "# Gem::Requirement's original definition is nested in Version.\n" 1 "# See classes Matrix and Vector for documentation. \n" 1 "# Documentation:: Gavin Sinclair (sourced from Ruby in a Nutshell (Matsumoto, O'Reilly)) \n" 1 "# Author:: Keiju ISHITSUKA\n" 1 "# An implementation of Matrix and Vector classes.\n" 1 "# = matrix.rb\n" 1 "# by Keiju ISHITSUKA\n" 1 "# on July 23, 1985 at 8:37:17 am\n" 1 "# Original Version from Smalltalk-80 version\n" 1 "# \t$Revision: 1.13 $\n" 1 "# Although an inappropriate place, current gems specs reference the nested\n" 1 "# matrix.rb - \n" 1 "#!/usr/local/bin/ruby\n" 1 "# class name explicitly. To remain compatible with old software loading\n" 1 "# gemspecs, we leave a copy of original definition in Version, but define an\n" 1 "# alias Gem::Requirement for use everywhere else.\n" 1 "# Mixin methods for --version and --platform Gem::Command options.\n" 1 "VersionOption" 1 "# Add the --platform option to the option parser.\n" 1 "# ruby's bug\n" 1 "add_platform_option" 1 "--platform PLATFORM" 1 "# if !(x.kind_of?(Rational) and y.kind_of?(Rational))\n" 1 "Specify the platform of gem to " 1 "# if not abs.kind_of?(Rational)\n" 1 "# Add the --version option to the option parser.\n" 1 "add_version_option" 1 "--version VERSION" 1 "Specify version of gem to " 1 "# shell/builtin-command.rb - \n" 1 "# class Sort < Cat\n" 1 "# def initialize(sh, *filenames)\n" 1 "# super\n" 1 "# def each(rs = nil)\n" 1 "# ary = []\n" 1 "# super{|l|\tary.push l}\n" 1 "# for l in ary.sort!\n" 1 "# \tyield l\n" 1 "# shell/command-controller.rb - \n" 1 "mathn/complex" 1 "mathn/rational" 1 "prime.rb" 1 "matrix.rb" 1 "cmath.rb" 1 "# \tby Keiju ISHITSUKA(SHL Japan Inc.)\n" 1 "# \t$Revision: 1.1.1.1.4.1 $\n" 1 "# \t$Release Version: 0.5 $\n" 1 "# mathn.rb - \n" 1 "Method run must be defined in the derived class." 1 "# See Logger#add. This application's +appname+ is used.\n" 1 "# Set the logging threshold, just like Logger#level=.\n" 1 "log=" 1 "1024000" 1 "shell/system-command" 1 "# of the arguments.\n" 1 "# Sets the log device for this application. See Logger.new for an explanation\n" 1 "logger=" 1 "# Sets the logger for this application. See the class Logger for an explanation.\n" 1 "shell/builtin-command" 1 "# Logger for this application. See the class Logger for an explanation.\n" 1 ". (status: " 1 "End of " 1 "Detected an exception. Stopping ... " 1 "Start of " 1 "# Start the application. Return the status code.\n" 1 "# include Error\n" 1 "# initialize of Shell and related classes.\n" 1 "# changed with #set_log.\n" 1 "# Create an instance. Log device is +STDERR+ by default. This can be\n" 1 "# +appname+:: Name of the application.\n" 1 "# define CommandProccessor#methods to Shell#methods and Filter#methods\n" 1 "# Application.new(appname = '')\n" 1 "# include run file.\n" 1 "~/.rb_shell" 1 "# Name of the application given at initialize.\n" 1 "# CommandProcessor#expand_path(path)\n" 1 "# status = FooApp.new(....).start\n" 1 "# @log.error('my_method2') { 'Error!' }\n" 1 "# log(WARN, 'warning', 'my_method1')\n" 1 "#\t return: String\n" 1 "#\treturns the absolute path for \n" 1 "# super('FooApp') # Name of the application.\n" 1 "# def initialize(foo_app, application_specific, arguments)\n" 1 "# class FooApp < Application\n" 1 "# 3. Instantiate it and invoke 'start'.\n" 1 "# 2. Override 'run' method in your class to do many things.\n" 1 "# 1. Define your application class as a sub-class of this class.\n" 1 "# Application -- Add logging support to your application.\n" 1 "# File related commands\n" 1 "mktime" 1 "^monthly$" 1 "^weekly$" 1 "# Shell#foreach\n" 1 "^daily$" 1 "' already exists." 1 "# Shell#open\n" 1 "# YYYYMMDD\n" 1 "# Shell#unlink\n" 1 "# Shell#test\n" 1 ".0" 1 "# -\n" 1 "#\t\n" 1 "# CommandProcessor#foreach(path, rs)\n" 1 "# Note: always returns false if '0'.\n" 1 "#\t rs:\tString - record separator\n" 1 "# Logfile created on %s by %s\\n" 1 "#\t iterator\n" 1 "#\t File#foreach (when path is file)\n" 1 "#\t Dir#foreach (when path is directory)\n" 1 "#\tpath is relative to pwd\n" 1 "# CommandProcessor#open(path, mode)\n" 1 "#\t mode:\t String\n" 1 "#\t return: File or Dir\n" 1 "#\t File#open (when path is file)\n" 1 "Shifting failed. " 1 "#\t Dir#open (when path is directory)\n" 1 "#\tmode has an effect only when path is a file\n" 1 "# public :open\n" 1 "# CommandProcessor#unlink(path)\n" 1 "#\t Dir#unlink (when path is directory)\n" 1 "#\t File#unlink (when path is file)\n" 1 "# CommandProcessor#test(command, file1, file2)\n" 1 "# CommandProcessor#[command, file1, file2]\n" 1 "#\t command: char or String or Symbol\n" 1 "#\t file1: String\n" 1 "#\t file2: String(optional)\n" 1 "%06d " 1 "%Y-%m-%dT%H:%M:%S." 1 "#\t return: Boolean\n" 1 "#\t test()\t (when command is char or length 1 string or symbol)\n" 1 "#\t FileTest.command (others)\n" 1 "%s, [%s#%d] %5s -- %s: %s\\n" 1 "#\t sh[?e, \"foo\"]\n" 1 "#\t sh[:e, \"foo\"]\n" 1 "#\t sh[\"e\", \"foo\"]\n" 1 "#\t sh[:exists?, \"foo\"]\n" 1 "# Severity label for logging. (max 5 char)\n" 1 "# Close the logging device.\n" 1 "#\t sh[\"exists?\", \"foo\"]\n" 1 "# level.\n" 1 "# Log an +UNKNOWN+ message. This will be printed no matter what the logger\n" 1 "# CommandProcessor#mkdir(*path)\n" 1 "# Log a +FATAL+ message.\n" 1 "# Log an +ERROR+ message.\n" 1 "#\tsame as Dir.mkdir()\n" 1 "# Log a +WARN+ message.\n" 1 "# CommandProcessor#rmdir(*path)\n" 1 "# See #add.\n" 1 "# program name (which you can do with Logger#progname= as well).\n" 1 "# You'll probably stick to the second form above, unless you want to provide a\n" 1 "# logger.info { \"User typed \#{input}\" }\n" 1 "# logger.info \"Waiting for input from user\"\n" 1 "#\tsame as Dir.rmdir()\n" 1 "# logger.info(\"MainApp\") { \"Received connection from \#{ip}\" }\n" 1 "# === Examples\n" 1 "# is used as the program name.\n" 1 "# both are provided, then the +block+ is used as the message, and +progname+\n" 1 "# The message can come either from the +progname+ argument or the +block+. If\n" 1 "# Log an +INFO+ message.\n" 1 "# CommandProcessor#system(command, *opts)\n" 1 "# Log a +DEBUG+ message.\n" 1 "# device exists, return +nil+.\n" 1 "# Dump given message to the log device without any formatting. If no log\n" 1 "#\t command: String\n" 1 "#\t opts:\t String\n" 1 "#\t return: SystemCommand\n" 1 "#\tSame as system() function\n" 1 "# * But on the OS which supports multi I/O, records possibly be mixed.\n" 1 "# * Append open does not need to lock file.\n" 1 "# * Logfile is not locked.\n" 1 "# === Bugs\n" 1 "# implementation if required.\n" 1 "# including message, class, and backtrace. See #msg2str for the\n" 1 "# A special case is an +Exception+ object, which will be printed in detail,\n" 1 "# if the given object is not a String.\n" 1 "# converted to a String in order to log it. Generally, +inspect+ is used\n" 1 "# Message format: +message+ can be any object, but it has to be\n" 1 "# #error, and #fatal.\n" 1 "# logging method. Users will be more inclined to use #debug, #info, #warn,\n" 1 "# Log a message if the given severity is high enough. This is the generic\n" 1 "# no message, and return +true+.\n" 1 "# When the given severity is not high enough (for this particular logger), log\n" 1 "# +true+ if successful, +false+ otherwise.\n" 1 "#\t print sh.system(\"ls\", \"-l\")\n" 1 "# Can be omitted. Called to get a message string if +message+ is nil.\n" 1 "# +block+::\n" 1 "# +block+ are given.\n" 1 "# Program name string. Can be omitted. Treated as a message if no +message+ and\n" 1 "# +progname+::\n" 1 "# The log message. A String or Exception.\n" 1 "# +message+::\n" 1 "# +WARN+, +ERROR+, +FATAL+, or +UNKNOWN+.\n" 1 "# Severity. Constants are defined in Logger namespace: +DEBUG+, +INFO+,\n" 1 "# +severity+::\n" 1 "# Logger#add(severity, message = nil, progname = nil) { ... }\n" 1 "#\t sh.system(\"ls\", \"-l\") | sh.head > STDOUT\n" 1 "\\*|\\?|\\{|\\}|\\[|\\]|<|>|\\(|\\)|~|&|\\||\\\\|\\$|;|'|`|\"|\\n" 1 "# ProcessCommand#rehash\n" 1 "#\tclear command hash table.\n" 1 "# ProcessCommand#transact\n" 1 "finish_all_jobs" 1 "# internal commands\n" 1 "# def sort(*filenames)\n" 1 "# Sort.new(self, *filenames)\n" 1 "# Create an instance.\n" 1 "tee" 1 "# Maximum logfile size (only applies when +shift_age+ is a number).\n" 1 "# +shift_size+::\n" 1 "# +weekly+ or +monthly+).\n" 1 "# Number of old log files to keep, *or* frequency of rotation (+daily+,\n" 1 "# +shift_age+::\n" 1 "# +STDOUT+, +STDERR+, or an open file).\n" 1 "# The log device. This is a filename (String) or IO object (typically\n" 1 "# +logdev+::\n" 1 "# %pwd, %cwd -> @pwd\n" 1 "# Logger.new(name, shift_age = 'weekly')\n" 1 "# Logger.new(name, shift_age = 7, shift_size = 1048576)\n" 1 "%pwd" 1 "%cwd" 1 "# +FATAL+ messages.\n" 1 "# +ERROR+ messages.\n" 1 "# private functions\n" 1 "# +WARN+ messages.\n" 1 "exists?" 1 "# +INFO+ messages.\n" 1 "# CommandProcessor.def_system_command(command, path)\n" 1 "#\t command: String\n" 1 "# +DEBUG+ messages.\n" 1 "#\t path:\t String\n" 1 "#\tdefine 'command()' method as method.\n" 1 "sev_threshold=" 1 "sev_threshold" 1 " \t SystemCommand.new(@shell, '\#{" 1 "# when no formatter is set.\n" 1 "# expected to return a logdev#write-able Object. Default formatter is used\n" 1 "# msg is an Object that user passed and it could not be a String. It is\n" 1 "# time, progname and msg for each log. Bear in mind that time is a Time and\n" 1 "# Logging formatter. formatter#call is invoked with 4 arguments; severity,\n" 1 "', *opts)\n" 1 " end]" 1 "datetime_format=" 1 "# Logging date-time format (string passed to +strftime+).\n" 1 "# define command alias\n" 1 "# Logging program name.\n" 1 "# def_alias_command(\"ls_c\", \"ls\", \"-C\", \"-F\")\n" 1 "# Logging severity threshold (e.g. Logger::INFO).\n" 1 "# def_alias_command(\"ls_c\", \"ls\"){|*opts| [\"-C\", \"-F\", *opts]}\n" 1 "alias_map" 1 ",\n" 1 " *(CommandProcessor.alias_map[:\#{" 1 "].call *opts))\n" 1 "\t end]" 1 "# Logging severity.\n" 1 ", *opts)\n" 1 " end]" 1 ",v" 1 "warn: Can't alias " 1 "# CommandProcessor.def_builtin_commands(delegation_class, command_specs)\n" 1 "14:52:06Z" 1 "2008-11-22" 1 "20321" 1 "logger.rb" 1 "#\t delegation_class: Class or Module\n" 1 "#\t command_specs: [[command_name, [argument,...]],...]\n" 1 "#\t command_name: String\n" 1 "1.2.6" 1 "#\t arguments:\t String\n" 1 "# # e.g. \"Thu Sep 22 08:51:08 GMT+9:00 2005: hello world\"\n" 1 "#\t\tFILENAME?? -> expand_path(filename??)\n" 1 "# \"\#{datetime}: \#{msg}\\n\"\n" 1 "# logger.formatter = proc { |severity, datetime, progname, msg|\n" 1 "# You may change the overall format with Logger#formatter= method.\n" 1 "# # e.g. \"2004-01-03 00:54:26\"\n" 1 "# logger.datetime_format = \"%Y-%m-%d %H:%M:%S\"\n" 1 "# You may change the date and time format in this manner:\n" 1 "# I, [Wed Mar 03 02:34:24 JST 1999 895701 #19074] INFO -- Main: info.\n" 1 "# Log sample:\n" 1 "# SeverityID, [Date Time mSec #pid] SeverityLabel -- ProgName: message\n" 1 "# Log format:\n" 1 "# default. The default format and a sample are shown below:\n" 1 "# Log messages are rendered in the output stream in a certain format by\n" 1 "# == Format\n" 1 "# DEBUG < INFO < WARN < ERROR < FATAL < UNKNOWN\n" 1 "# logger.level = Logger::INFO\n" 1 "# 2. Log4r (somewhat) compatible interface.\n" 1 "# logger.sev_threshold = Logger::WARN\n" 1 "# 1. Original interface.\n" 1 "# === Setting severity threshold\n" 1 "# logger.close\n" 1 "# === How to close a logger\n" 1 "# logger.add(Logger::FATAL) { 'Fatal error!' }\n" 1 "# 4. With severity.\n" 1 "# logger.info('initialize') { \"Initializing...\" }\n" 1 "# 3. With progname.\n" 1 "# logger.error \"Argument \#{ @foo } mismatch.\"\n" 1 "# 2. Message as a string.\n" 1 "# logger.fatal { \"Argument 'foo' not given.\" }\n" 1 "# 1. Message in block.\n" 1 "# dynamic) level.\n" 1 "# +debug+. +add+ is used below to log a message of an arbitrary (perhaps\n" 1 "# messages of various levels. Other methods in this family are +warn+ and\n" 1 "# Notice the different methods (+fatal+, +error+, +info+) being used to log\n" 1 "# === How to log a message\n" 1 "# logger = Logger.new('foo.log', 'monthly')\n" 1 "# logger = Logger.new('foo.log', 'weekly')\n" 1 "# logger = Logger.new('foo.log', 'daily')\n" 1 "# 5. Create a logger which ages logfile daily/weekly/monthly.\n" 1 "# logger = Logger.new('foo.log', 10, 1024000)\n" 1 "# 10 \"old log files\" and each file is about 1,024,000 bytes.\n" 1 "# 4. Create a logger which ages logfile once it reaches a certain size. Leave\n" 1 "# logger = Logger.new(file)\n" 1 "# # file = open('foo.log', File::WRONLY | File::APPEND | File::CREAT)\n" 1 "# # To create new (and to remove old) logfile, add File::CREAT like;\n" 1 "# file = File.open('foo.log', File::WRONLY | File::APPEND)\n" 1 "# 3. Create a logger for the specified file.\n" 1 "# logger = Logger.new('logfile.log')\n" 1 "# 2. Create a logger for the file which has the specified name.\n" 1 "# logger = Logger.new(STDOUT)\n" 1 "# logger = Logger.new(STDERR)\n" 1 "# 1. Create a logger which logs messages to STDERR/STDOUT.\n" 1 "# complexity.\n" 1 "# The options below give you various choices, in more or less increasing\n" 1 "# === How to create a logger\n" 1 "# == HOWTOs\n" 1 "# shows you how to achieve these things.\n" 1 "# specifying a program name in conjunction with the message. The next section\n" 1 "# auto-rolling of log files, setting the format of log messages, and\n" 1 "# There are several interesting features that Logger provides, like\n" 1 "#\t\t*FILENAME?? -> filename??.collect{|f|expand_path(f)}.join(\", \")\n" 1 "# discarded.\n" 1 "# fatal messages are recorded. The debug and info messages are silently\n" 1 "# Because the Logger's level is set to +WARN+, only the warning, error, and\n" 1 "# log.fatal(err)\n" 1 "# log.fatal(\"Caught exception; exiting\")\n" 1 "# rescue => err\n" 1 "# log.error(\"Line in wrong format: \#{line}\")\n" 1 "# unless line =~ /^(\\w+) = (.*)$/\n" 1 "# File.each_line(path) do |line|\n" 1 "#\tdefine command_name(argument,...) as\n" 1 "# log.warn(\"Nothing to do!\")\n" 1 "# log.info(\"Program started\")\n" 1 "# log.debug(\"Created logger\")\n" 1 "# log.level = Logger::WARN\n" 1 "# log = Logger.new(STDOUT)\n" 1 "# A simple example demonstrates the above explanation:\n" 1 "# +DEBUG+.\n" 1 "# want to know about the program's internal state, and would set them to\n" 1 "# repetitive information). When you are developing it, though, you probably\n" 1 "# +INFO+ (or +WARN+ if you don't want the log files growing large with\n" 1 "# For instance, in a production system, you may have your logger(s) set to\n" 1 "# logger without having to remove actual messages.\n" 1 "# as a filter, so you can control the amount of information emitted from the\n" 1 "# So each message has a level, and the Logger itself has a level, which acts\n" 1 "# +DEBUG+:: low-level information for developers\n" 1 "# +INFO+:: generic (useful) information about system operation\n" 1 "# +WARN+:: a warning\n" 1 "# +ERROR+:: a handleable error condition\n" 1 "# +FATAL+:: an unhandleable error that results in a program crash\n" 1 "# levels, and their meanings, are:\n" 1 "# levels (+info+, +error+, etc), reflecting their varying importance. The\n" 1 "# elsewhere), and use it to log messages. The messages will have varying\n" 1 "# concept is as follows. You create a Logger object (output to a file or\n" 1 "# The HOWTOs below give a code-based overview of Logger's usage, but the basic\n" 1 "# anyone can use because it's included in the Ruby 1.8.x standard library.\n" 1 "# The Logger class provides a simple but sophisticated logging utility that\n" 1 "# See Logger for documentation.\n" 1 "# Revision:: $Id: logger.rb 20321 2008-11-22 14:52:06Z yugui $\n" 1 "# license; either the dual license version in 2003, or any later version.\n" 1 "# You can redistribute it and/or modify it under the same terms of Ruby's\n" 1 "# License::\n" 1 "# Documentation:: NAKAMURA, Hiroshi and Gavin Sinclair\n" 1 "# Author:: NAKAMURA, Hiroshi \n" 1 "# Simple logging utility.\n" 1 "# = logger.rb\n" 1 "#\t delegation_class.command_name(argument,...)\n" 1 "# Copyright (C) 2000-2003, 2005 NAKAMURA, Hiroshi .\n" 1 "# logger.rb - simple logging utility\n" 1 "# Returns whether self's encoding is UTF-8 or not.\n" 1 "# String#isutf8 => true or false\n" 1 "# Returns whether self's encoding is ISO-2022-JP or not.\n" 1 "# String#isjis => true or false\n" 1 "# Returns whether self's encoding is Shift_JIS or not.\n" 1 "# String#issjis => true or false\n" 1 "# Returns whether self's encoding is EUC-JP or not.\n" 1 "# String#iseuc => true or false\n" 1 "# is Encoding\n" 1 "# String#tolocale => string\n" 1 "# Convert self to UTF-32\n" 1 "# String#toutf32 => string\n" 1 "# Convert self to UTF-16\n" 1 "# String#toutf16 => string\n" 1 "# Convert self to UTF-8\n" 1 "# String#toutf8 => string\n" 1 "# Convert self to Shift_JIS\n" 1 "# String#tosjis => string\n" 1 "# Convert self to EUC-JP\n" 1 "# String#toeuc => string\n" 1 "# Convert self to ISO-2022-JP\n" 1 "# String#tojis => string\n" 1 "# to Encoding\n" 1 "form_enc" 1 "# Convert self to out_code.\n" 1 "# String#kconv(to_enc, from_enc)\n" 1 "^(FILENAME.*)$" 1 "# Returns whether input encoding is UTF-8 or not.\n" 1 "# Kconv.isutf8(str) => true or false\n" 1 " \\z/nox" 1 "\\A [\\t\\n\\r\\x20-\\x7E]*\n (?:\n (?:\\x1b \\x28 I [\\x21-\\x7E]*\n |\\x1b \\x28 J [\\x21-\\x7E]*\n |\\x1b \\x24 @ (?:[\\x21-\\x7E]{2})*\n |\\x1b \\x24 B (?:[\\x21-\\x7E]{2})*\n |\\x1b \\x24 \\x28 D (?:[\\x21-\\x7E]{2})*\n )*\n \\x1b \\x28 B [\\t\\n\\r\\x20-\\x7E]*\n )*\n" 1 "expand_path(%s)" 1 "# Returns whether input encoding is ISO-2022-JP or not.\n" 1 "# Kconv.isjis(str) => true or false\n" 1 "^(\\*FILENAME.*)$" 1 "# Returns whether input encoding is Shift_JIS or not.\n" 1 "# Kconv.issjis(str) => true or false\n" 1 "# \\*FILENAME* -> filenames.collect{|fn| expand_path(fn)}.join(\", \")\n" 1 "# *Note* don't expect this return value is MatchData.\n" 1 "# Returns whether input encoding is EUC-JP or not.\n" 1 "# Kconv.iseuc(str) => true or false\n" 1 "# isEncoding\n" 1 ".collect{|fn| expand_path(fn)}" 1 "# Guess input encoding by NKF.guess\n" 1 "# Kconv.guess(str) => encoding\n" 1 "# guess\n" 1 "locale_charmap" 1 "\t\t \#{" 1 "\t\t end]" 1 "# Kconv.tolocale => string\n" 1 "# CommandProcessor.install_system_commands(pre)\n" 1 "# Convert str to UTF-32\n" 1 "# Kconv.toutf32(str) => string\n" 1 "#\t pre: String - command name prefix\n" 1 "# Convert str to UTF-16\n" 1 "# Kconv.toutf16(str) => string\n" 1 "# defines every command which belongs in default_system_path via\n" 1 "# Convert str to UTF-8\n" 1 "# Kconv.toutf8(str) => string\n" 1 "# CommandProcessor.command(). It doesn't define already defined\n" 1 "# Convert str to Shift_JIS\n" 1 "# Kconv.tosjis(str) => string\n" 1 "# methods twice. By default, \"pre_\" is prefixes to each method\n" 1 "# Convert str to EUC-JP\n" 1 "# Kconv.toeuc(str) => string\n" 1 "# name. Characters that may not be used in a method name are\n" 1 "# Convert str to ISO-2022-JP\n" 1 "# Kconv.tojis(str) => string\n" 1 "# Encode to\n" 1 " --oc=" 1 " --ic=" 1 "# all converted to '_'. Definition errors are just ignored.\n" 1 "^([0-9])" 1 "_\\1" 1 "# class initializing methods - \n" 1 "# Convert str to out_code.\n" 1 "# Kconv.kconv(str, to_enc, from_enc=nil)\n" 1 "warn: override definnition of Shell#" 1 "# Public Methods\n" 1 " to Shell#" 1 "# UNKNOWN\n" 1 "_org.\\n" 1 "# UTF-32\n" 1 "method added: Shell#" 1 "# UTF-16\n" 1 "\t\t\t @command_processor.__send__(:\#{" 1 "# UTF-8\n" 1 "warn: override definnition of Shell::Filter#" 1 "# ASCII\n" 1 " to Shell::Filter#" 1 "# NOCONV\n" 1 "_org." 1 "# BINARY\n" 1 "method added: Shell::Filter#" 1 "# Shift_JIS\n" 1 "\t\t\t self | @shell.__send__(:\#{" 1 "# EUC-JP\n" 1 "# define default builtin commands\n" 1 "# ISO-2022-JP\n" 1 "# method related File.\n" 1 "#\t(exclude open/foreach/unlink)\n" 1 "# Auto-Detect\n" 1 "#Constant of Encoding\n" 1 "# Public Constants\n" 1 "*opts" 1 "# Kanji Converter for Ruby.\n" 1 "*FILENAME" 1 "# some methods in String classes are added to allow easy conversion.\n" 1 "# kconv.rb implements the Kconv class for Kanji Converter. Additionally,\n" 1 "# ----\n" 1 "# $Id: kconv.rb 15050 2008-01-14 14:37:29Z naruse $\n" 1 "# kconv.rb - Kanji Converter.\n" 1 "json/pure" 1 "FILENAMES" 1 "*items" 1 "FILENAME_FROM" 1 "FILENAME_TO" 1 "# javasript prototype library (http://www.prototypejs.org) works.\n" 1 "# receiving a JSON object from a webrick server in your browser with the\n" 1 "# The script tools/server.rb contains a small example if you want to test, how\n" 1 "# and the pp library's pp methods.\n" 1 "# pretty_generate output to the console, that work analogous to Core Ruby's p\n" 1 "# There are also the methods Kernel#j for generate, and Kernel#jj for\n" 1 "# ]\n" 1 "# }\n" 1 "# ]\n" 1 "# false\n" 1 "# 10,\n" 1 "# 4,\n" 1 "# \"data\": [\n" 1 "# \"json_class\": \"Range\",\n" 1 "# null,\n" 1 "# true,\n" 1 "# false,\n" 1 "# },\n" 1 "# \"a\": 3.141\n" 1 "# [\"size\", [\"FILENAME\"]],\n" 1 "# 2,\n" 1 "# 1,\n" 1 "# [\n" 1 "# puts JSON.pretty_generate([1, 2, {\"a\"=>3.141}, false, true, nil, 4..10])\n" 1 "# readable output:\n" 1 "# JSON.pretty_generate (or JSON.pretty_generate) that creates a more\n" 1 "# protocols, but not so good for humans to read. Fortunately there's also\n" 1 "# ruby data structure in one line. This good for data storage or network\n" 1 "# JSON.generate always creates the shortest possible string representation of a\n" 1 "# # => [1, 2, {\"a\"=>3.141}, false, true, nil, 4..10]\n" 1 "# # => \"[1,2,{\\\"a\\\":3.141},false,true,null,{\\\"json_class\\\":\\\"Range\\\",\\\"data\\\":[4,10,false]}]\"\n" 1 "# Now it possible to serialise/deserialise ranges as well:\n" 1 "# new(*o['data'])\n" 1 "# def self.json_create(o)\n" 1 "# be deserialised by implementing Range.json_create like this:\n" 1 "# called with the JSON object converted to a Ruby hash. So a range can\n" 1 "# if the given class responds to the json_create class method. If so, it is\n" 1 "# If a the key 'json_class' is found in a JSON object, the JSON parser checks\n" 1 "# used to store the necessary data to configure the object to be deserialised.\n" 1 "# the form 'A::B' or '::A::B' will do. All other keys are arbitrary and can be\n" 1 "# JSON representation later. In this case it's 'Range', but any namespace of\n" 1 "# The hash key 'json_class' is the class, that will be asked to deserialise the\n" 1 "# }.to_json(*a)\n" 1 "# 'data' => [ first, last, exclude_end? ]\n" 1 "# 'json_class' => self.class.name, # = 'Range'\n" 1 "# {\n" 1 "# def to_json(*a)\n" 1 "# method related FileTest\n" 1 "# this (don't forget the *a for all the arguments):\n" 1 "# should return a JSON object (a hash converted to JSON with #to_json) like\n" 1 "# simply implementing a more specialized version of the #to_json method, that\n" 1 "# It's possible to add JSON support serialization to arbitrary classes by\n" 1 "# Object#to_json, which is the same as #to_s.to_json.\n" 1 "# or arbitrary classes. In this case the json library falls back to call\n" 1 "# string now. The reason for this is, that JSON doesn't support ranges\n" 1 "# Note, that the range from the original data structure is a simple\n" 1 "# # => [1, 2, {\"a\"=>3.141}, false, true, nil, \"4..10\"]\n" 1 "# shell/error.rb - \n" 1 "# JSON.parse on it:\n" 1 "# To get back a ruby data structure from a JSON text, you have to call\n" 1 "# this, is by putting your values in a Ruby Array or Hash instance.\n" 1 "# embedded in either a JSON array [] or a JSON object {}. The easiest way to do\n" 1 "# To create a valid JSON text you have to make sure, that the output is\n" 1 "# # => \"[1,2,{\\\"a\\\":3.141},false,true,null,\\\"4..10\\\"]\"\n" 1 "Directory stack empty." 1 "# like that:\n" 1 "# To create a JSON text from a ruby data structure, you can call JSON.generate\n" 1 "# 0.023363113\n" 1 "# 42.802514491 ( real) -> 1.000x 6 (>=3859)\n" 1 "# 0.022763968\n" 1 "# 43.929073409 ( real) -> 1.026x 7 (>=3859)\n" 1 "# 0.022745013\n" 1 "# 43.965681162 ( real) -> 1.027x\n" 1 "# 0.015944481\n" 1 "# 62.717626652 ( real) -> 1.465x\n" 1 "# 0.002071142\n" 1 "# 482.825371244 ( real) -> 11.280x\n" 1 "# 0.001757145\n" 1 "# 569.105020353 ( real) -> 13.296x\n" 1 "# 0.001411915\n" 1 "# 708.258020939 ( real) -> 16.547x\n" 1 "# Here are the median comparisons for completeness' sake:\n" 1 "# structures, which may cause JSON to go into an infinite loop.\n" 1 "# method. Beware, that this will disable the checking for circular Ruby data\n" 1 "# To achieve the fastest JSON text output, you can use the fast_generate\n" 1 "# variant but slower than the others.\n" 1 "# bit faster than the generator_safe and generator_pretty methods of the pure\n" 1 "# JSON::Pure::Generator methods and 5 is the Rails JSON generator. It is now a\n" 1 "# In the table above 1-3 are JSON::Ext::Generator methods. 4, 6, and 7 are\n" 1 "# 0.027569373\n" 1 "# 36.272134441 ( real) -> 1.000x 6 (>=3859)\n" 1 "CantDefine" 1 "# 0.027079979\n" 1 "# 36.927649925 ( real) -> 1.018x 7 (>=3859)\n" 1 "Can't define method(%s, %s)." 1 "# 0.025952543\n" 1 "# 38.531868759 ( real) -> 1.062x\n" 1 "This method(%s) does not apply to this type(%s)." 1 "# 0.020008521\n" 1 "# 49.978706968 ( real) -> 1.378x\n" 1 "Command not found(%s)." 1 "# 0.002665923\n" 1 "# 375.104545883 ( real) -> 10.341x\n" 1 "# shell/filter.rb - \n" 1 "# 0.002252414\n" 1 "# 443.968212317 ( real) -> 12.240x\n" 1 "# Filter\n" 1 "# 0.001826970\n" 1 "# 547.354332608 ( real) -> 15.090x\n" 1 "# A method to require\n" 1 "# speed:\n" 1 "# values, because there are different modes that also influence the achieved\n" 1 "# I have benchmarked the JSON-Generator as well. This generated a few more\n" 1 "# 0.033644676\n" 1 "# 29.722384421 ( real) -> 1.000x\n" 1 "# 4 ParserBenchmarkPure#parser 1000 repeats:\n" 1 "# 0.033082008\n" 1 "# 30.227910865 ( real) -> 1.017x\n" 1 "# 3 ParserBenchmarkRails#parser 1000 repeats:\n" 1 "# 0.003690004\n" 1 "# 271.002390644 ( real) -> 9.118x\n" 1 "# 0.001249075\n" 1 "# 800.592479481 ( real) -> 26.936x\n" 1 "# each()\n" 1 "# overall smaller than the median of the JSON::Pure::Parser runs:\n" 1 "# the frequent high outliers - the median of the Rails-parser runs is still\n" 1 "# If you look at the benchmark data you can see that this is mostly caused by\n" 1 "# slow it down so much that it is only as fast as the JSON::Pure::Parser!\n" 1 "# input first to YAML and then uses the YAML-parser, the conversion seems to\n" 1 "# ActiveSupport::JSON.decode. The ActiveSupport JSON-decoder converts the\n" 1 "# compatbile JSON document, 3 is is JSON::Pure::Parser, and 4 is\n" 1 "# In the table above 1 is JSON::Ext::Parser, 2 is YAML.load with YAML\n" 1 "# parent shell\n" 1 "# input filter\n" 1 "# 0.038814780\n" 1 "# 25.763381731 ( real) -> 1.000x\n" 1 "# 4 ParserBenchmarkRails#parser 1000 repeats:\n" 1 "# 0.037376163\n" 1 "# 26.755020642 ( real) -> 1.038x\n" 1 "# 3 ParserBenchmarkPure#parser 1000 repeats:\n" 1 "# 0.004454078\n" 1 "# 224.513358139 ( real) -> 8.714x\n" 1 "Join" 1 "# 0.001805307\n" 1 "# 553.922304770 ( real) -> 21.500x\n" 1 "# shell/process-controller.rb - \n" 1 "@BlockOutputCV" 1 "# extension:\n" 1 "# subdir of the package) for the JSON-parser to estimate the speed up in the C\n" 1 "# I have created some benchmark results (see the benchmarks/data-p4-3Ghz\n" 1 "# == Speed Comparisons\n" 1 "# not been required yet.\n" 1 "# Both of the additions attempt to require 'json' (like above) first, if it has\n" 1 "# require 'json/add/rails'\n" 1 "# To get the best compatibility to rails' JSON implementation, you can\n" 1 "# Examples section below.\n" 1 "# To find out how to add JSON support to other or your own classes, read the\n" 1 "# JSON JSON(1..10) # => 1..10\n" 1 "# After requiring this you can, e. g., serialise/deserialise Ruby ranges:\n" 1 "# require 'json/add/core'\n" 1 "# you\n" 1 "# You can choose to load a set of common additions to ruby core's objects if\n" 1 "# require 'json/pure'\n" 1 "# or\n" 1 "# require 'json/ext'\n" 1 "# pick either the extension variant or the pure variant by typing\n" 1 "# variant 'json_pure'). If you have installed the extension variant, you can\n" 1 "# to load the installed variant (either the extension 'json' or the pure\n" 1 "# require 'json'\n" 1 "# To use JSON you can\n" 1 "active_process_controllers" 1 "# * http://json.rubyforge.org\n" 1 "# Online Documentation should be located at\n" 1 "# * http://rubyforge.org/frs?group_id=953\n" 1 "# The latest version of this library can be downloaded at\n" 1 "# == Download\n" 1 "# http://www.ruby-lang.org/en/LICENSE.txt.\n" 1 "# This software is distributed under the same license as Ruby itself, see\n" 1 "Process finishing, but active shell exists" 1 "# Florian Frank \n" 1 " Not finished jobs in " 1 "# endpoint.\n" 1 "# an object, that contains a byte array) and decode the result on the receiving\n" 1 "# encoded, please use the to_json_raw_object method of String (which produces\n" 1 "# sequences on the Ruby side. To encode raw binary strings, that aren't UTF-8\n" 1 "# All strings, that are to be encoded as JSON strings, should be UTF-8 byte\n" 1 "# may lead to a bit longer strings than necessarry.\n" 1 "# endpoints, that don't expect UTF-8 encoded texts. On the negative side this\n" 1 "# of UTF-8) and at the same time avoids decoding problems for receiving\n" 1 "# means that generated JSON text is encoded as UTF-8 (because ASCII is a subset\n" 1 "# in order to be able to generate the whole range of unicode code points. This\n" 1 "# characters with \\uXXXX escape sequences, and support UTF-16 surrogate pairs\n" 1 "# Both variants of the JSON generator escape all non-ASCII an control\n" 1 "# (http://www.cs.queensu.ca/~thurston/ragel).\n" 1 "# generated by the ragel state machine compiler\n" 1 "# in C and comes with its own unicode conversion functions and a parser\n" 1 "# * The quite a bit faster C extension variant, which is in parts implemented\n" 1 "# extensions, which are both part of the ruby standard library.\n" 1 "# * A pure ruby variant, that relies on the iconv and the stringscan\n" 1 "# will be two variants available:\n" 1 "# (http://www.ietf.org/rfc/rfc4627.txt). Starting from version 1.0.0 on there\n" 1 "# This is a implementation of the JSON specification according to RFC 4627\n" 1 "# = json - JSON for Ruby\n" 1 " \t\t " 1 "CONF[:%s]=%s" 1 "CONF[:%s]={%s}" 1 ":%s=>{%s}" 1 " Jobs: %id" 1 "# for shell-command complete finish at this process exit.\n" 1 "waiting_jobs" 1 "jobs_exist?" 1 "active_jobs_exist?" 1 "CONF[:%s]=...myself..." 1 "__TMP__EHV__" 1 "waiting_jobs_exist?" 1 "# schedule a command\n" 1 "# Singleton method\n" 1 "#<%s: %s>" 1 "# start a job\n" 1 "#\t command.notify \"job(%id) pre-start.\", @shell.debug?\n" 1 "%s=:%s" 1 "#\tcommand.notify \"job(%id) post-start.\", @shell.debug?\n" 1 "# start all jobs that input from the job\n" 1 "#\tcommand.notify \"job(%id) post2-start.\", @shell.debug?\n" 1 "# terminate a job\n" 1 "start_jon in ierminate_jon(%id)" 1 "%([0-9]+)?([a-zA-Z])" 1 "# kill a job\n" 1 "Shell: Warn: $!\\n" 1 "# ignore other cases as well\n" 1 "# wait for all jobs to terminate\n" 1 "LoadAbort" 1 "waiting job(%id)" 1 "# simple fork\n" 1 "^C\\n" 1 "\\nabort!!\\n" 1 "#\t th.kill unless [Thread.main, Thread.current].include?(th)\n" 1 "job(%name:#" 1 "suspend_context" 1 ") start" 1 "suspend_input_method" 1 "job(%id) start to waiting finish." 1 "suspend_workspace" 1 "waitpid" 1 "ECHILD" 1 "warn: job(%id) was done already waitipd." 1 "#\trescue\n" 1 "suspend_name" 1 "Error: irb does not work for $SAFE level higher than 2" 1 "#\t STDERR.puts $!\n" 1 "Maybe IRB bug!!\\n" 1 "... %d levels...\\n" 1 "Job(%id): Wait to finish when Process finished." 1 "# when the process ends, wait until the command termintes\n" 1 "notice: Process finishing..." 1 "wait for Job[%id] to finish." 1 "#\t command.notify \"job(%id) pre-pre-finish.\", @shell.debug?\n" 1 "#\t command.notify \"job(%id) pre-finish.\", @shell.debug?\n" 1 "#\t command.notify \"job(%id) pre-finish2.\", @shell.debug?\n" 1 "job(%id) finish." 1 "# shell/system-command.rb - \n" 1 "^IRB" 1 "irb(2)?(\\/.*|-.*|\\.rb)?:" 1 "inp" 1 "Job(%id) start imp-pipe." 1 "warn: Process finishing..." 1 "wait for Job[%id] to finish pipe importing." 1 "job(%id}) close imp-pipe." 1 "job(%id) start exp-pipe." 1 "EIO" 1 "shell: warn: Process finishing..." 1 "wait for Job(%id) to finish pipe exporting." 1 "Use \\\"exit\\\" to leave %s\\n" 1 "job(%id) close exp-pipe." 1 "super_each" 1 "# if you wish to output: \n" 1 "#\t \"shell: job(\#{@command}:\#{@pid}) close pipe-out.\"\n" 1 "#\t then \n" 1 "#\t mes: \"job(%id) close pipe-out.\"\n" 1 ".*\\z" 1 "# yorn: Boolean(@shell.debug? or @shell.verbose?)\n" 1 "%id" 1 ":#" 1 "%name" 1 "%pid" 1 "# version.rb - shell version definition file\n" 1 "# \t$Release Version: 0.7$\n" 1 "0.7" 1 "07/03/20" 1 "# test/unit compatibility layer using minitest.\n" 1 "test/unit/testcase" 1 "TEST_UNIT_IMPLEMENTATION" 1 "test/unit compatibility layer using minitest" 1 "setup_argv" 1 "--name" 1 "/**/test_*.rb" 1 "file not found: " 1 "# = uri/common.rb\n" 1 "# Revision:: $Id: common.rb 22760 2009-03-04 09:21:12Z yugui $\n" 1 "# Patterns used to parse URI's\n" 1 "# alpha = lowalpha | upalpha\n" 1 "# irb interpreter main routine \n" 1 "a-zA-Z" 1 "# alphanum = alpha | digit\n" 1 "# hex = digit | \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" |\n" 1 "# \"a\" | \"b\" | \"c\" | \"d\" | \"e\" | \"f\"\n" 1 "a-fA-F\\\\d" 1 "# print \"\\n\"\n" 1 "# escaped = \"%\" hex hex\n" 1 "]{2}" 1 "# mark = \"-\" | \"_\" | \".\" | \"!\" | \"~\" | \"*\" | \"'\" |\n" 1 "# \"(\" | \")\"\n" 1 "# unreserved = alphanum | mark\n" 1 "-_.!~*'()" 1 "# reserved = \";\" | \"/\" | \"?\" | \":\" | \"@\" | \"&\" | \"=\" | \"+\" |\n" 1 "# \"$\" | \",\"\n" 1 "# reserved = \";\" | \"/\" | \"?\" | \":\" | \"@\" | \"&\" | \"=\" | \"+\" | \n" 1 "# \"$\" | \",\" | \"[\" | \"]\" (RFC 2732)\n" 1 ";/?:@&=+$,\\\\[\\\\]" 1 "# initialize IRB and start TOP_LEVEL irb\n" 1 "# domainlabel = alphanum | alphanum *( alphanum | \"-\" ) alphanum\n" 1 "# toplabel = alpha | alpha *( alphanum | \"-\" ) alphanum\n" 1 "# PATTERN\n" 1 "irb %s(%s)" 1 "\\.0" 1 "# REGEXP\n" 1 "# URI::Parser.new([opts])\n" 1 "irb/version" 1 "# IRB version method\n" 1 "# The constructor accepts a hash as options for parser.\n" 1 "# Keys of options are pattern names of URI components\n" 1 "# and values of options are pattern strings.\n" 1 "-$Id: irb.rb 20186 2008-11-11 08:41:29Z yugui $-" 1 "# The constructor generetes set of regexps for parsing URIs.\n" 1 "irb/locale" 1 "irb/input-method" 1 "irb/ruby-lex" 1 "#require \"irb/workspace\"\n" 1 "irb/extend-command" 1 "irb/context" 1 "irb/init" 1 "# You can use the following keys:\n" 1 "# * :ESCAPED (URI::PATTERN::ESCAPED in default)\n" 1 "# \t$Revision: 20186 $\n" 1 "# \t$Release Version: 0.9.5 $\n" 1 "# irb.rb - irb main module\n" 1 "# * :UNRESERVED (URI::PATTERN::UNRESERVED in default)\n" 1 "# * :DOMLABEL (URI::PATTERN::DOMLABEL in default)\n" 1 "\\&:" 1 ".{4}(?!$)" 1 "\\&." 1 ".(?!$)" 1 "# * :TOPLABEL (URI::PATTERN::TOPLABEL in default)\n" 1 "# * :HOSTNAME (URI::PATTERN::HOSTNAME in default)\n" 1 "# p = URI::Parser.new(:ESCPAED => \"(?:%[a-fA-F0-9]{2}|%u[a-fA-F0-9]{4})\"\n" 1 "# u = p.parse(\"http://example.jp/%uABCD\") #=> #\n" 1 "^(.*)::(.*)$" 1 "[^0-9a-f:]" 1 "^::(\\d+\\.\\d+\\.\\d+\\.\\d+)$" 1 "^::ffff:(\\d+\\.\\d+\\.\\d+\\.\\d+)$" 1 "# URI.parse(u.to_s) #=> raises URI::InvalidURIError\n" 1 "^\\d+\\.\\d+\\.\\d+\\.\\d+$" 1 "address family mismatch" 1 "# s = \"http://examle.com/ABCD\"\n" 1 "# u1 = p.parse(s) #=> #\n" 1 "# test if address is vaild\n" 1 "#\t\t Socket::AI_NUMERICHOST)\n" 1 "#Socket.getaddrinfo(left, nil, Socket::AF_INET6, Socket::SOCK_STREAM, nil,\n" 1 "# It seems AI_NUMERICHOST doesn't do the job.\n" 1 "^\\[(.*)\\]$" 1 "unsupported address family: " 1 "address family must be specified" 1 "# u2 = URI.parse(s) #=> #\n" 1 "# in_addr value instead of an IPAddr object.\n" 1 "# those, such as &, |, include? and ==, accept a string, or a packed\n" 1 "# The IPAddr class defines many methods and operators, and some of\n" 1 "# and an address family.\n" 1 "# Otherwise an IP addess is generated from a packed in_addr value\n" 1 "# explicitly by the optional second argument.\n" 1 "# automatically from a specified string, you can specify one\n" 1 "# IP address. Although the address family is determined\n" 1 "# `]'). If a prefixlen or a mask is specified, it returns a masked\n" 1 "# where IPv6 address may be enclosed in square brackets (`[' and\n" 1 "# be recognized: \"address\", \"address/prefixlen\" and \"address/mask\",\n" 1 "# In the former case, the following are the valid formats that will\n" 1 "# followed by an address family.\n" 1 "# address representation in string, or from a packed in_addr value\n" 1 "# Creates a new ipaddr object either from a human readable IP\n" 1 "# u1 == u2 #=> true\n" 1 "# u1.eql?(u2) #=> false\n" 1 "# null uri\n" 1 "bad URI(absolute but no scheme): " 1 "address family is not same" 1 "bad URI(absolute but no path): " 1 "#<%s: %s:%s/%s>" 1 "bad URI(is not URI?): " 1 "\t \t " 1 "\t \t " 1 "# ipaddr. (\"#\")\n" 1 ":)" 1 "# perhaps unsafe is String object\n" 1 "US_ASCII" 1 "to_range" 1 "# Creates a Range object for the network address.\n" 1 "# Compares the ipaddr with another.\n" 1 "# Returns the successor to the ipaddr.\n" 1 ".ip6.int" 1 "ip6_int" 1 "# Returns a string for DNS reverse lookup compatible with RFC1886.\n" 1 ".ip6.arpa" 1 "# uric = reserved | unreserved | escaped\n" 1 "# Returns a string for DNS reverse lookup compatible with RFC3172.\n" 1 "URIC" 1 ".in-addr.arpa" 1 "]|" 1 "# RFC3172 form for an IPv6 address.\n" 1 "# Returns a string for DNS reverse lookup. It returns a string in\n" 1 "native" 1 "# IPv4-compatible IPv6 address, returns self.\n" 1 "# native IPv4 address. If the IP address is not an IPv4-mapped or\n" 1 "# Returns a new ipaddr built by converting the IPv6 address into a\n" 1 "ipv4_compat" 1 "# into an IPv4-compatible IPv6 address.\n" 1 "# uric_no_slash = unreserved | escaped | \";\" | \"?\" | \":\" | \"@\" |\n" 1 "# \"&\" | \"=\" | \"+\" | \"$\" | \",\"\n" 1 "URIC_NO_SLASH" 1 "# into an IPv4-mapped IPv6 address.\n" 1 ";?:@&=+$,]|" 1 "# query = *uric\n" 1 "# Returns true if the ipaddr is an IPv4-compatible IPv6 address.\n" 1 "# Returns true if the ipaddr is an IPv4-mapped IPv6 address.\n" 1 "# fragment = *uric\n" 1 "# Returns true if the ipaddr is an IPv6 address.\n" 1 "# Returns true if the ipaddr is an IPv4 address.\n" 1 "# RFC 2373, APPENDIX B:\n" 1 "112" 1 "# IPv6address = hexpart [ \":\" IPv4address ]\n" 1 "hton" 1 "# Returns a network byte ordered string form of the IP address.\n" 1 "# IPv4address = 1*3DIGIT \".\" 1*3DIGIT \".\" 1*3DIGIT \".\" 1*3DIGIT\n" 1 "# canonical form.\n" 1 "# Returns a string containing the IP address representation in\n" 1 "# hexpart = hexseq | hexseq \"::\" [ hexseq ] | \"::\" [ hexseq ]\n" 1 "::%s%d.%d.%d.%d" 1 "\\A::(ffff:)?([\\da-f]{1,4}):([\\da-f]{1,4})\\Z" 1 ":{3,}" 1 "\\b0:0\\b" 1 "\\b0:0:0\\b" 1 "\\b0:0:0:0\\b" 1 "\\b0:0:0:0:0\\b" 1 "\\b0:0:0:0:0:0\\b" 1 "\\b0:0:0:0:0:0:0\\b" 1 "\\A0:0:0:0:0:0:0:0\\Z" 1 "# hexseq = hex4 *( \":\" hex4)\n" 1 "\\b0{1,3}([\\da-f]+)\\b" 1 "# hex4 = 1*4HEXDIG\n" 1 "# XXX: This definition has a flaw. \"::\" + IPv4address must be\n" 1 "# Returns a string containing the IP address representation.\n" 1 "# Returns the integer representation of the ipaddr.\n" 1 "# allowed too. Here is a replacement.\n" 1 "# IPv4address = 1*3DIGIT \".\" 1*3DIGIT \".\" 1*3DIGIT \".\" 1*3DIGIT\n" 1 "IPV4ADDR" 1 "\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}" 1 "0xffffffffffffffffffffffff" 1 "# hex4 = 1*4HEXDIG\n" 1 "]{1,4}" 1 "# lastpart = hex4 | IPv4address\n" 1 "# p net1.include?(net3)\t#=> false\n" 1 "# p net1.include?(net2)\t#=> true\n" 1 "# net3 = IPAddr.new(\"192.168.3.0\")\n" 1 "# net2 = IPAddr.new(\"192.168.2.100\")\n" 1 "# net1 = IPAddr.new(\"192.168.2.0/24\")\n" 1 "# hexseq1 = *( hex4 \":\" ) hex4\n" 1 "# Returns true if the given ipaddr is in the range.\n" 1 "# hexseq2 = *( hex4 \":\" ) lastpart\n" 1 "# IPv6address = hexseq2 | [ hexseq1 ] \"::\" [ hexseq2 ]\n" 1 "IPV6ADDR" 1 "# prefixlen/netmask. (e.g. 8, 64, \"255.255.255.0\", etc.)\n" 1 "# Returns a new ipaddr built by masking IP address with the given\n" 1 ")?::(?:" 1 "# Returns true if two ipaddrs are equal.\n" 1 ")?)" 1 "# Returns a new ipaddr built by bitwise negation.\n" 1 "# IPv6prefix = ( hexseq1 | [ hexseq1 ] \"::\" [ hexseq1 ] ) \"/\" 1*2DIGIT\n" 1 "# Returns a new ipaddr built by bitwise left shift.\n" 1 "# Returns a new ipaddr built by bitwise right-shift.\n" 1 "# Returns a new ipaddr built by bitwise OR.\n" 1 "# unused\n" 1 "# ipv6reference = \"[\" IPv6address \"]\" (RFC 2732)\n" 1 "IPV6REF" 1 "# Returns a new ipaddr built by bitwise AND.\n" 1 "\\\\[" 1 "\\\\]" 1 "# host = hostname | IPv4address\n" 1 "C4" 1 "# human readable form.\n" 1 "# Convert a network byte ordered string form of an IP address into\n" 1 "# host = hostname | IPv4address | IPv6reference (RFC 2732)\n" 1 "new_ntoh" 1 "# string form of an IP address.\n" 1 "# Creates a new ipaddr containing the given network byte ordered\n" 1 "# port = *digit\n" 1 "# Returns the address family of this IP address.\n" 1 "%.4x" 1 "\\d*" 1 "0xffffffffffffffffffffffffffffffff" 1 "# hostport = host [ \":\" port ]\n" 1 "HOSTPORT" 1 "(?::" 1 "# userinfo = *( unreserved | escaped |\n" 1 "# p ipaddr3\t\t\t#=> #\n" 1 "# ipaddr3 = IPAddr.new \"192.168.2.0/24\"\n" 1 "# p ipaddr2.to_s\t\t#=> \"3ffe:505:2::\"\n" 1 "# ipaddr2 = ipaddr1.mask(48)\t#=> #\n" 1 "# p ipaddr1.to_s\t\t#=> \"3ffe:505:2::1\"\n" 1 "# p ipaddr1\t\t\t#=> #\n" 1 "# ipaddr1 = IPAddr.new \"3ffe:505:2::1\"\n" 1 "# \";\" | \":\" | \"&\" | \"=\" | \"+\" | \"$\" | \",\" )\n" 1 "# IPv6 are supported.\n" 1 "# IPAddr provides a set of methods to manipulate an IP address. Both IPv4 and\n" 1 ";:&=+$,]|" 1 "\\A[-A-Za-z\\d.]+\\Z" 1 "# pchar = unreserved | escaped |\n" 1 "# \":\" | \"@\" | \"&\" | \"=\" | \"+\" | \"$\" | \",\"\n" 1 ":@&=+$,]|" 1 "\\A::([\\dA-Fa-f]{1,4}(:[\\dA-Fa-f]{1,4})*:)?" 1 "\\A[\\dA-Fa-f]{1,4}(:[\\dA-Fa-f]{1,4})*::([\\dA-Fa-f]{1,4}(:[\\dA-Fa-f]{1,4})*:)?" 1 "\\A[\\dA-Fa-f]{1,4}(:[\\dA-Fa-f]{1,4})*:" 1 "# IPv6 (IPv4 compat)\n" 1 "\\A::([\\dA-Fa-f]{1,4}(:[\\dA-Fa-f]{1,4})*)?\\Z" 1 "\\A[\\dA-Fa-f]{1,4}(:[\\dA-Fa-f]{1,4})*::([\\dA-Fa-f]{1,4}(:[\\dA-Fa-f]{1,4})*)?\\Z" 1 "\\A[\\dA-Fa-f]{1,4}(:[\\dA-Fa-f]{1,4})*\\Z" 1 "# IPv6 (normal)\n" 1 "# param = *pchar\n" 1 "# segment = *pchar *( \";\" param )\n" 1 "*(?:;" 1 "\\A(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\Z" 1 "# path_segments = segment *( \"/\" segment )\n" 1 "PATH_SEGMENTS" 1 "(?:/" 1 "@)?" 1 "# - scope_id support\n" 1 "# TODO:\n" 1 "# reg_name = 1*( unreserved | escaped | \"$\" | \",\" |\n" 1 "# \";\" | \":\" | \"@\" | \"&\" | \"=\" | \"+\" )\n" 1 "# $Id: ipaddr.rb 19504 2008-09-23 21:39:21Z ryan $\n" 1 "# You can redistribute and/or modify it under the same terms as Ruby.\n" 1 "$,;:@&=+]|" 1 "# Copyright (c) 2007 Akinori MUSHA .\n" 1 "# Copyright (c) 2002 Hajimu UMEMOTO .\n" 1 "# ipaddr.rb - A class to manipulate an IP address\n" 1 "# rel_segment = 1*( unreserved | escaped |\n" 1 "# \";\" | \"@\" | \"&\" | \"=\" | \"+\" | \"$\" | \",\" )\n" 1 "REL_SEGMENT" 1 ";@&=+$,]|" 1 "# scheme = alpha *( alpha | digit | \"+\" | \"-\" | \".\" )\n" 1 "][-+." 1 "\\\\d]*" 1 "Port already in use: " 1 "running" 1 "NET_PATH" 1 "HIER_PART" 1 ")(?:\\\\?(?:" 1 "))?" 1 "] %s" 1 ":(?:" 1 ")(?:\\\\?" 1 "uri_ref" 1 " stop" 1 ")?(?:#" 1 " start" 1 "): (?# 1: scheme)\n (?:\n" 1 " disconnect" 1 "client:" 1 " (\#{" 1 ") (?# 2: opaque)\n |\n (?:(?:\n //(?:\n" 1 "> connect" 1 " client:" 1 " (?:(?:(\#{" 1 ")@)? (?# 3: userinfo)\n" 1 " (?:(\#{" 1 ")(?::(\\\\d*))?))? (?# 4: host, 5: port)\n |\n" 1 " (\#{" 1 ") (?# 6: registry)\n )\n |\n (?!//)) (?# XXX: '//' is the mark for hostport)\n" 1 " (\#{" 1 ")? (?# 7: path)\n" 1 " )(?:\\\\?(\#{" 1 "))? (?# 8: query)\n )\n" 1 "))? (?# 9: fragment)\n" 1 "\n (?:\n (?:\n //\n (?:\n" 1 " (?:(\#{" 1 ")@)? (?# 1: userinfo)\n" 1 " (\#{" 1 ")?(?::(\\\\d*))? (?# 2: host, 3: port)\n |\n" 1 " (\#{" 1 ") (?# 4: registry)\n )\n )\n |\n" 1 " (\#{" 1 ") (?# 5: rel_segment)\n )?\n" 1 ")? (?# 6: abs_path)\n" 1 " (?:\\\\?(\#{" 1 "# Hash of opened ports, i.e. services\n" 1 "))? (?# 7: query)\n" 1 "))? (?# 8: fragment)\n" 1 "# for URI::split\n" 1 "# for URI::extract\n" 1 "REL_URI_REF" 1 "# more sophisticated logging system.\n" 1 "# You can also override +log+ and +error+ if, for example, you wish to use a\n" 1 "# The above methods are only called if auditing is enabled.\n" 1 "# stopping\n" 1 "# starting\n" 1 "# disconnecting\n" 1 "# connecting\n" 1 "# more detailed logging.\n" 1 "# other methods as well if you wish, perhaps to collect statistics, or emit\n" 1 "# create a specific server, overriding the +serve+ method. You can override\n" 1 "# As the example above shows, the way to use GServer is to subclass it to\n" 1 "# === Advanced\n" 1 "# client.\n" 1 "# care of. All we have to do is implement the method that actually serves the\n" 1 "# All the business of accepting connections and exception handling is taken\n" 1 "# # or, of course, \"server.stop\".\n" 1 "# GServer.stop(10001)\n" 1 "# # Alternatively, stop it immediately.\n" 1 "# server.shutdown\n" 1 "# # Shut the server down gracefully.\n" 1 "# server.stopped? # -> false\n" 1 "# GServer.in_service?(10001) # -> true\n" 1 "# # See if it's still running. \n" 1 "# # *** Now point your browser to http://localhost:10001 to see it working ***\n" 1 "# server.start \n" 1 "# server.audit = true # Turn logging on.\n" 1 "# server = TimeServer.new\n" 1 "# # Run the server with logging enabled (it's a separate thread).\n" 1 "# io.puts(Time.now.to_s)\n" 1 "# def serve(io)\n" 1 "# super(port, *args)\n" 1 "# def initialize(port=10001, *args)\n" 1 "# class TimeServer < GServer\n" 1 "# # \n" 1 "# # A server that returns the time in seconds since 1970.\n" 1 "# for URI::escape/unescape\n" 1 "# require 'gserver'\n" 1 "# query it, and shut it down. Try this code in +irb+:\n" 1 "# Using GServer is simple. Below we implement a simple time server, run it,\n" 1 "# own event handlers if you wish.\n" 1 "# you the effort. All events are optionally logged, but you can provide your\n" 1 "# GServer.stop(port). All the threading issues are handled, saving\n" 1 "# run simultaneously, and stopped at any time through the class method\n" 1 "# maximum number. Several _services_ (i.e. one service per TCP port) can be\n" 1 "# It accepts multiple simultaneous connections from clients, up to an optional\n" 1 "# Any kind of application-level server can be implemented using this class.\n" 1 "# GServer in action.\n" 1 "# xmlrpc/httpserver.rb in the Ruby standard library for an example of\n" 1 "# simple logging, and multi-server management. See HttpServer in \n" 1 "# GServer implements a generic server, featuring thread pool management,\n" 1 "# for Generic#initialize\n" 1 "# See the class GServer for documentation.\n" 1 "# Licence:: Freeware.\n" 1 "# class Parser\n" 1 "# Author:: John W. Small\n" 1 "# Copyright (C) 2001 John W. Small All Rights Reserved\n" 1 "\\A.*::" 1 "# `each_option' is an alias of `each'.\n" 1 "# Example: ('--opt', 'value')\n" 1 "# The second is the argument which followed it (if any). \n" 1 "# The first is the option name.\n" 1 "# The block is called repeatedly with two arguments:\n" 1 "# Iterator version of `get'.\n" 1 "# URI.escape(str [, unsafe])\n" 1 "# `get_option' is an alias of `get'.\n" 1 "# Only RETURN_IN_ORDER falled into here.\n" 1 "# This is a non-option argument.\n" 1 "# String to replaces in.\n" 1 "# This is an invalid option.\n" 1 "option requires an argument -- " 1 "# +unsafe+::\n" 1 "# Check its argument.\n" 1 "# The option `option_name' is found in `@canonical_names'.\n" 1 "# Regexp that matches all symbols that must be replaced with codes.\n" 1 "# By default uses REGEXP::UNSAFE.\n" 1 "# `-lg').\n" 1 "# Short options may be catenated (e.g. `-l -g' is equivalent to\n" 1 "# This is a short style option, which start with `-' (not `--').\n" 1 "^(-(.))(.*)" 1 "' doesn't allow an argument" 1 "' requires an argument" 1 "\t " 1 "# When this argument is a String, it represents a character set.\n" 1 "# Check an argument to the option.\n" 1 "unrecognized option `" 1 "' is ambiguous between " 1 "# Escapes the string, replacing all unsafe characters with codes.\n" 1 "# p URI.escape(\"@?@!\", \"!?\")\n" 1 "# # => \"@%3F@%21\"\n" 1 "# It may be an abbreviated.\n" 1 "# The option `option_name' is not registered in `@canonical_names'.\n" 1 "# This is a long style option, which start with `--'.\n" 1 "^(--[^=]+)" 1 "# Check for long and short options.\n" 1 "# URI.unescape(str)\n" 1 "# `--' indicates the end of the option list.\n" 1 "# Check the special argument `--'.\n" 1 "# Unescapes the string.\n" 1 "# Get next option argument.\n" 1 "# Check status.\n" 1 "# Base class for all URI exceptions.\n" 1 "# Not a URI.\n" 1 "# Not a URI component.\n" 1 "# STATUS_TERMINATED).\n" 1 "# Returns nil if the processing is complete (as determined by\n" 1 "# Example: ['--option', 'value']\n" 1 "# URI is valid, bad usage is not.\n" 1 "# URI::split(uri)\n" 1 "# Get next option name and its argument, as an Array of two elements.\n" 1 "error_message" 1 "# If no error has occurred, returns nil.\n" 1 "# Return the appropriate error message in POSIX-defined format.\n" 1 "# +uri+::\n" 1 "# `error?' is an alias of `error'.\n" 1 "# Examine whether an option processing is failed.\n" 1 "# Splits the string on following parts and returns array with result:\n" 1 "# * Scheme\n" 1 "# Set an error (a protected method).\n" 1 "terminated?" 1 "# Returns true if option processing has terminated, false otherwise.\n" 1 "# * Userinfo\n" 1 "an error has occured" 1 "# * Host\n" 1 "# Explicitly terminate option processing.\n" 1 "quiet?" 1 "# `quiet?' is an alias of `quiet'.\n" 1 "# Return the flag of `quiet' mode.\n" 1 "# * Port\n" 1 "# * Registry\n" 1 "# Set/Unset `quiet' mode.\n" 1 "no option name" 1 "# `@canonical_names' Hashes.\n" 1 "# Register the option (`i') to the `@canonical_names' and \n" 1 "option redefined `" 1 "an invalid option `" 1 "^-([^-]|-.+)$" 1 "# Check an option name.\n" 1 "# * Path\n" 1 "no argument-flag" 1 "too many argument-flags" 1 "# * Opaque\n" 1 "# Find an argument flag and it set to `argument_flag'.\n" 1 "# TODO: YARV Hack\n" 1 "# Clear tables of option names and argument flags.\n" 1 "invoke set_options, but option processing has already started" 1 "# Raises a RuntimeError if option processing has already started.\n" 1 "# Set options. Takes the same argument as GetoptLong.new.\n" 1 "# Return ordering.\n" 1 "invalid ordering `" 1 "# Check ordering.\n" 1 "invoke ordering=, but option processing has already started" 1 "argument error" 1 "# * Query\n" 1 "# * Fragment\n" 1 "# p URI.split(\"http://www.ruby-lang.org/\")\n" 1 "ordering=" 1 "# ('-b', ''), ('', 'two'), ('', 'three') being processed.\n" 1 "# of '-a one -b two three' would result in option/arg pairs of ('-a', 'one')\n" 1 "# For example, if -a requires an argument but -b does not, a command line\n" 1 "# with an option of '' (empty string).\n" 1 "# preceded by a short or long option flag are passed as arguments\n" 1 "# All words on the command line are processed as options. Words not \n" 1 "# RETURN_IN_ORDER :\n" 1 "# compatibility with GNU getopt_long.\n" 1 "# POSIXLY_CORRECT is set, REQUIRE_ORDER is used instead. This is for\n" 1 "# If the ordering is set to PERMUTE but the environment variable\n" 1 "# being left in ARGV.\n" 1 "# ('-b', 'two') being processed as option/arg pairs, and 'one','three'\n" 1 "# an argument, parsing '-a one -b two three' would result in ('-a','') and\n" 1 "# For example, if -a does not require an argument and -b optionally takes\n" 1 "# without argument) is treated as an option; non-option words are skipped.\n" 1 "# Every sequence of words which can be interpreted as an option (with or\n" 1 "# default behavior.\n" 1 "# Options can occur anywhere in the command line parsed. This is the \n" 1 "# PERMUTE :\n" 1 "# POSIXLY_CORRECT is set. (This is for compatibility with GNU getopt_long.)\n" 1 "# This is the default ordering, if the environment variable\n" 1 "# processed as an option/arg pair.\n" 1 "# 'one', '-b', 'two' being left in ARGV, and only ('-a', '') being \n" 1 "# parsing command line arguments of '-a one -b two' would result in \n" 1 "# For example, if -a and -b are options which do not take arguments,\n" 1 "# been preceded by an appropriate option flag.\n" 1 "# Processing of options ends as soon as a word is encountered that has not\n" 1 "# Options are required to occur before non-options.\n" 1 "# REQUIRE_ORDER :\n" 1 "# the processing of options as follows:\n" 1 "# The supplied value must be a member of GetoptLong::ORDERINGS. It alters\n" 1 "# A RuntimeError is raised if option processing has already started.\n" 1 "# Set the handling of the ordering of options and arguments.\n" 1 "# # => [\"http\", nil, \"www.ruby-lang.org\", nil, nil, \"/\", nil, nil, nil]\n" 1 "# URI::parse(uri_str)\n" 1 "# Append them to ARGV when option processing is terminated.\n" 1 "# List of non-option-arguments.\n" 1 "# +uri_str+::\n" 1 "# Rest of catenated short options.\n" 1 "# Creates one of the URI's subclasses instance from the string.\n" 1 "# Error message.\n" 1 "# == Raises\n" 1 "# Error code.\n" 1 "# URI::InvalidURIError\n" 1 "# Status code.\n" 1 "FALSE" 1 "# Raised if URI given is not a correct one.\n" 1 "# Whether error messages are output to $stderr.\n" 1 "# uri = URI.parse(\"http://www.ruby-lang.org/\")\n" 1 "# flags of the options.\n" 1 "# Keys of the table are option names, and their values are argument\n" 1 "# Hash table of argument flags.\n" 1 "# # => #\n" 1 "# names of the options.\n" 1 "# Keys of the table are option names, and their values are canonical\n" 1 "# Hash table of option names.\n" 1 "# p uri.scheme \n" 1 "# # => \"http\" \n" 1 "# Current ordering.\n" 1 "# p uri.host \n" 1 "# Other than that, the elements of each sub-array can be in any order.\n" 1 "# The first option name is considered to be the preferred (canonical) name.\n" 1 "# GetoptLong::OPTIONAL_ARGUMENT :: Option may or may not take an argument.\n" 1 "# GetoptLong::REQUIRED_ARGUMENT :: Option always takes an argument.\n" 1 "# GetoptLong::NO_ARGUMENT :: Option does not take an argument.\n" 1 "# the same meaning, and one of the following flags:\n" 1 "# Each sub-array contains any number of String option names which carry \n" 1 "# The options to support are passed to new() as an array of arrays.\n" 1 "# Set up option processing.\n" 1 "# # => \"www.ruby-lang.org\" \n" 1 "# URI::join(str[, str, ...])\n" 1 "# String(s) to work with\n" 1 "# Joins URIs.\n" 1 "# p URI.join(\"http://localhost/\",\"main.rbx\")\n" 1 "# Error types.\n" 1 "# # => #\n" 1 "# URI::extract(str[, schemes][,&blk])\n" 1 "# +str+:: \n" 1 "# Status codes.\n" 1 "# String to extract URIs from.\n" 1 "# +schemes+::\n" 1 "# Limit URI matching to a specific schemes.\n" 1 "# Extracts URIs from a string. If block given, iterates through all matched URIs.\n" 1 "# Argument flags.\n" 1 "RETURN_IN_ORDER" 1 "# Returns nil if block given or array with matches.\n" 1 "# require \"uri\"\n" 1 "# URI.extract(\"text here http://foo.example.org/bla and here mailto:test@example.com and here also.\")\n" 1 "# Orderings.\n" 1 "# # => [\"http://foo.example.com/bla\", \"mailto:test@example.com\"]\n" 1 "# hello -n 6 --name -- /tmp\n" 1 "# Example command line:\n" 1 "# puts\n" 1 "# print \", \#{name}\"\n" 1 "# if name\n" 1 "# print \"Hello\"\n" 1 "# for i in (1..repetitions)\n" 1 "# Dir.chdir(dir)\n" 1 "# dir = ARGV.shift\n" 1 "# exit 0\n" 1 "# puts \"Missing dir argument (try --help)\"\n" 1 "# if ARGV.length != 1\n" 1 "# URI::regexp([match_schemes])\n" 1 "# name = arg\n" 1 "# else\n" 1 "# name = 'John'\n" 1 "# if arg == ''\n" 1 "# when '--name'\n" 1 "# repetitions = arg.to_i\n" 1 "# when '--repeat'\n" 1 "# EOF\n" 1 "# DIR: The directory in which to issue the greeting.\n" 1 "# greet user by name, if name not supplied default is John\n" 1 "# --name [name]:\n" 1 "# repeat x times\n" 1 "# --repeat x, -n x:\n" 1 "# show help\n" 1 "# -h, --help:\n" 1 "# hello [OPTION] ... DIR\n" 1 "# puts <<-EOF\n" 1 "# when '--help'\n" 1 "# case opt\n" 1 "# opts.each do |opt, arg|\n" 1 "# repetitions = 1\n" 1 "# name = nil\n" 1 "# dir = nil\n" 1 "# )\n" 1 "# [ '--name', GetoptLong::OPTIONAL_ARGUMENT ]\n" 1 "# [ '--repeat', '-n', GetoptLong::REQUIRED_ARGUMENT ],\n" 1 "# [ '--help', '-h', GetoptLong::NO_ARGUMENT ],\n" 1 "# opts = GetoptLong.new(\n" 1 "# require 'rdoc/usage'\n" 1 "# require 'getoptlong'\n" 1 "# Here is a simple example of usage:\n" 1 "# arguments.\n" 1 "# processing. This can be particularly important if options have optional\n" 1 "# The empty option -- (two minus symbols) is used to end option\n" 1 "# as single letter options like -f\n" 1 "# GetoptLong allows for POSIX-style options like --file as well \n" 1 "# pure Ruby implementation.\n" 1 "# the GNU getopt_long() C library call. Note, however, that GetoptLong is a \n" 1 "# The GetoptLong class allows you to parse command line options similarly to\n" 1 "# found at http://www.sra.co.jp/people/m-kasahr/ruby/getoptlong/\n" 1 "# Additional documents and the latest version of `getoptlong.rb' can be\n" 1 "# See GetoptLong for documentation.\n" 1 "# +match_schemes+:: \n" 1 "# You may redistribute and/or modify this library under the same license\n" 1 "# Copyright (C) 1998, 1999, 2000 Motoyuki Kasahara.\n" 1 "# GetoptLong for Ruby\n" 1 "# provided, it is used as the name for the delegate method.\n" 1 "# the method of the same name in _obj_). If _new_name_ is\n" 1 "# Defines a method _method_ which delegates to _obj_ (i.e. it calls\n" 1 "# Array of schemes. If given, resulting regexp matches to URIs\n" 1 "# whose scheme is one of the match_schemes.\n" 1 "# Returns a Regexp object which matches to URI-like strings.\n" 1 "SingleForwardable" 1 "# Usage of The SingleForwardable is like Fowadable module.\n" 1 "# The Regexp object returned by this method includes arbitrary\n" 1 "# number of capture group (parentheses). Never rely on it's number.\n" 1 "# If it's not a class or module, it's an instance\n" 1 "# # extract first URI from html_string\n" 1 "# html_string.slice(URI.regexp)\n" 1 "# # remove ftp URIs\n" 1 "# html_string.sub(URI.regexp(['ftp'])\n" 1 "# # You should not rely on the number of parentheses\n" 1 "# html_string.scan(URI.regexp) do |*matches|\n" 1 "# p $&\n" 1 "# alias for URI.parse.\n" 1 "# This method is introduced at 1.8.2.\n" 1 "# = uri/ftp.rb\n" 1 "# Revision:: $Id: ftp.rb 11708 2007-02-12 23:01:19Z shyouhei $\n" 1 "# FTP URI syntax is defined by RFC1738 section 3.2.\n" 1 "# Typecode is \"a\", \"i\" or \"d\". \n" 1 "# * \"a\" indicates a text file (the FTP command was ASCII)\n" 1 "# * \"i\" indicates a binary file (FTP command IMAGE)\n" 1 "# * \"d\" indicates the contents of a directory should be displayed\n" 1 ";type=" 1 "bad typecode is specified: " 1 "# do escape\n" 1 "# Creates a new URI::FTP object from components, with syntax checking. \n" 1 "# The components accepted are +userinfo+, +host+, +port+, +path+ and \n" 1 "# +typecode+.\n" 1 "# [userinfo, host, port, path, typecode]\n" 1 "# If the path supplied is absolute, it will be escaped in order to\n" 1 "# make it absolute in the URI. Examples:\n" 1 "# uri = URI::FTP.build(['user:password', 'ftp.example.com', nil, \n" 1 "# '/path/file.> zip', 'i'])\n" 1 "# puts uri.to_s -> ftp://user:password@ftp.example.com/%2Fpath/file.zip;type=a\n" 1 "# uri2 = URI::FTP.build({:host => 'ftp.example.com', \n" 1 "# :path => 'ruby/src'})\n" 1 "1.1.0" 1 "FORWARDABLE_VERSION" 1 "# Also see the example at forwardable.rb.\n" 1 "# f.content_at(1)\n" 1 "# f.gets\n" 1 "# f.printf ...\n" 1 "# f = Foo.new\n" 1 "# def_delegators :@records, :size, :<<, :map\n" 1 "# # extend Forwardable, but we did that above\n" 1 "# all of which delegate to @records, this is how you can do it:\n" 1 "# Further, if you wish to provide the methods #size, #<<, and #map,\n" 1 "# def_delegator :@records, :[], :record_number\n" 1 "# puts uri2.to_s -> ftp://ftp.example.com/ruby/src\n" 1 "# array, like this:\n" 1 "# #record_number(), which simply calls #[] on the @records\n" 1 "# contains an array @records. You could provide the lookup method\n" 1 "# For example, say you have a class RecordCollection which\n" 1 "# and #def_delegators.\n" 1 "# methods to a designated object, using the methods #def_delegator\n" 1 "# The Forwardable module provides delegation of specified\n" 1 "# Howdy!\n" 1 "# printer.extend Forwardable # prepare object for delegation\n" 1 "# Forwardable module. \n" 1 "# If the object isn't a Module and Class, You can too extend\n" 1 "# use methods def_instance_delegator and def_single_delegator, etc.\n" 1 "# If you want to use both Forwardable and SingleForwardable, you can\n" 1 "#\t def service...\n" 1 "# class Implementation\n" 1 "# def_delegator :Implementation, :service\n" 1 "# extend SingleForwardable\n" 1 "# module Facade\n" 1 "# Also, SingleForwardable can be use to Class or Module.\n" 1 "# Fix the incoming path to be generic URL syntax\n" 1 "# FTP path -> URL path\n" 1 "# printer.extend SingleForwardable # prepare object for delegation\n" 1 "# foo/bar /foo/bar\n" 1 "# SingleForwardable can be used to setup delegation at the object level as well.\n" 1 "# nil\n" 1 "# Ruby\n" 1 "# 6\n" 1 "# 5\n" 1 "# 4\n" 1 "# 3\n" 1 "# 2\n" 1 "# q.clear\n" 1 "# /foo/bar /%2Ffoo/bar\n" 1 "# q.enq \"Ruby\", \"Perl\", \"Python\"\n" 1 "# puts q.deq\n" 1 "# while q.size > 0\n" 1 "# q.shift # => 1\n" 1 "# q.push 6\n" 1 "# q.enq 1, 2, 3, 4, 5\n" 1 "# q = Queue.new\n" 1 "# def_delegators :@q, :clear, :first, :push, :shift, :size\n" 1 "# # support some general Array methods that fit Queues well\n" 1 "# def_delegator :@q, :shift, :deq\n" 1 "# def_delegator :@q, :push, :enq\n" 1 "# # setup preferred interface, enq() and deq()...\n" 1 "# @q = [ ] # prepare delegate object\n" 1 "# Creates a new URI::FTP object from generic URL components with no\n" 1 "# class Queue\n" 1 "# us the entire old interface, even if much of it isn't needed.\n" 1 "# as appropriate. In many cases this is preferable to inheritance, which gives\n" 1 "# but with delegation we can take just the methods we need and even rename them\n" 1 "# interface, almost trivial. We want to rely on what has come before obviously,\n" 1 "# Forwardable makes building a new class based on existing work, with a proper\n" 1 "# === Forwardable\n" 1 "# delegation via DelegateClass(), see delegate.rb.
\n" 1 "# def_delegator() and def_delegators() methods. For full-class\n" 1 "# forwardable.rb provides single-method delegation via the\n" 1 "# method basis.\n" 1 "# This library allows you delegate method calls to an object, on a method by\n" 1 "# Documentation by James Edward Gray II and Gavin Sinclair\n" 1 "# Revised by Daniel J. Berger with suggestions from Florian Gross.\n" 1 "#\toriginal definition by delegator.rb\n" 1 "# syntax checking.\n" 1 "# \t$Revision: 24174 $\n" 1 "# \t$Release Version: 1.1$\n" 1 "# forwardable.rb - \n" 1 "# Find::find.\n" 1 "# recursively entered. Meaningful only within the block associated with\n" 1 "# entry. If the current file is a directory, that directory will not be\n" 1 "# Skips the current file or directory, restarting the loop with the next\n" 1 "# Unlike build(), this method does not escape the path component as\n" 1 "^(?:[\\/\\\\]|[A-Za-z]:[\\/\\\\]?)$" 1 "# required by RFC1738; instead it is treated as per RFC2396.\n" 1 "bad typecode(expected " 1 "typecode=" 1 "# Returns the path from an FTP URI.\n" 1 "# RFC 1738 specifically states that the path for an FTP URI does not\n" 1 "# include the / which separates the URI path from the URI host. Example:\n" 1 "# :yield: path\n" 1 "# ftp://ftp.example.com/pub/ruby \n" 1 "# The above URI indicates that the client should connect to \n" 1 "# as arguments, then recursively on their subdirectories, and so on.\n" 1 "# Calls the associated block with the name of every file and directory listed\n" 1 "# ftp.example.com then cd pub/ruby from the initial login directory.\n" 1 "# total_size += FileTest.size(path)\n" 1 "# If you want to cd to an absolute directory, you must include an\n" 1 "# next\n" 1 "# escaped / (%2F) in the path. Example:\n" 1 "# Find.prune # Don't look any further into this directory.\n" 1 "# if File.basename(path)[0] == ?.\n" 1 "# if FileTest.directory?(path)\n" 1 "# Find.find(ENV[\"HOME\"]) do |path|\n" 1 "# total_size = 0\n" 1 "# require 'find'\n" 1 "# ignoring anything in a \"dot\" directory (e.g. $HOME/.ssh):\n" 1 "# For example, to total the size of all files under your home directory,\n" 1 "# The +Find+ module supports the top-down traversal of a set of file paths.\n" 1 "# find.rb: the Find module for processing all files under a given directory.\n" 1 "(*args)\n super(*fu_update_option(args, :noop => true, :verbose => true))\n end\n" 1 "DryRun" 1 "# This equates to passing the :noop and :verbose flag\n" 1 "# files/directories, with printing message before acting.\n" 1 "(*args)\n super(*fu_update_option(args, :noop => true))\n end\n" 1 "NoWrite" 1 "# ftp://ftp.example.com/%2Fpub/ruby\n" 1 "# files/directories. This equates to passing the :noop flag\n" 1 "# This method will then return \"/pub/ruby\"\n" 1 "^%2F" 1 "(*args)\n super(*fu_update_option(args, :verbose => true))\n end\n" 1 "# = uri/generic.rb\n" 1 "# Revision:: $Id: generic.rb 20258 2008-11-18 16:46:16Z yugui $\n" 1 "# Base class for all URI classes.\n" 1 "# methods in FileUtils.\n" 1 "# before acting. This equates to passing the :verbose flag to\n" 1 "# Implements generic URI syntax as per RFC 2396.\n" 1 "# Returns default port\n" 1 "# Components of the URI in the order.\n" 1 "# p FileUtils.collect_method(:preserve) #=> [\"cp\", \"cp_r\", \"copy\", \"install\"]\n" 1 "# Returns an Array of method names which have the option +opt+.\n" 1 "# DOC: FIXME!\n" 1 "# p FileUtils.options(:rm) #=> [\"noop\", \"verbose\", \"force\"]\n" 1 "# Returns an Array of option names of the method +mid+.\n" 1 "no such method: " 1 "# At first, tries to create a new URI::Generic instance using\n" 1 "# URI::Generic::build. But, if exception URI::InvalidComponentError is raised, \n" 1 "# p FileUtils.have_option?(:rm, :perserve) #=> false\n" 1 "# p FileUtils.have_option?(:rm, :force) #=> true\n" 1 "# p FileUtils.have_option?(:cp, :noop) #=> true\n" 1 "# Returns true if the method +mid+ have an option +opt+.\n" 1 "# then it URI::Escape.escape all URI components and tries again.\n" 1 "# p FileUtils.options #=> [\"noop\", \"force\", \"verbose\", \"preserve\", \"mode\"]\n" 1 "# Returns an Array of option names.\n" 1 "build2" 1 "# p FileUtils.commands #=> [\"chmod\", \"cp\", \"cp_r\", \"install\", ...]\n" 1 "# Returns an Array of method names which have any options.\n" 1 "# Creates a new URI::Generic instance from components of URI::Generic\n" 1 "# with check. Components are: scheme, userinfo, host, port, registry, path,\n" 1 "# opaque, query and fragment. You can provide arguments either by an Array or a Hash.\n" 1 "# See #new for hash keys to use or for order of array items.\n" 1 "# +scheme+::\n" 1 "# Protocol scheme, i.e. 'http','ftp','mailto' and so on.\n" 1 "# +userinfo+::\n" 1 "# User name and password, i.e. 'sdmitry:bla'\n" 1 "# +host+::\n" 1 "# Server host name\n" 1 "# +port+::\n" 1 "# Server port\n" 1 "# +registry+::\n" 1 "# +path+::\n" 1 "# Path on server\n" 1 "same file: " 1 "# class Entry_\n" 1 "# +opaque+::\n" 1 "# +query+::\n" 1 "# Query data\n" 1 "# +fragment+::\n" 1 "# A part of URI after '#' sign\n" 1 "# +parser+::\n" 1 "# Parser for internal use [URI::DEFAULT_PARSER by default]\n" 1 "# Windows does not have symlink\n" 1 "# +arg_check+::\n" 1 "# Check arguments [false by default]\n" 1 "# Creates a new URI::Generic instance from ``generic'' components without check.\n" 1 "01777" 1 "# clear setuid/setgid\n" 1 "EPERM" 1 "the scheme " 1 "unknown file type: " 1 "cannot handle door: " 1 " does not accept registry part: " 1 "cannot handle FIFO" 1 "cannot handle socket" 1 " (or bad hostname?)" 1 "# replace self by other URI object\n" 1 " object" 1 "bad component(expected scheme component): " 1 "scheme=" 1 "can not set user with registry or opaque" 1 "bad component(expected userinfo component or user component): " 1 "cannot copy directory %s to itself %s" 1 "can not set password with registry or opaque" 1 "password component depends user component" 1 "bad component(expected user component): " 1 "# Sets userinfo, argument is string like 'name:pass'\n" 1 "stat!" 1 "userinfo=" 1 "# returns userinfo\n" 1 "# returns user\n" 1 "# returns password\n" 1 "0xF000" 1 "# returns v\n" 1 "0xD000" 1 "[@:\\/]" 1 "# RFC 1738 section 3.1 #/\n" 1 "can not set host with registry or opaque" 1 "bad component(expected host component): " 1 "host=" 1 "can not set port with registry or opaque" 1 "bad component(expected port component): " 1 "port=" 1 "# raise if both server and registry are not nil, because:\n" 1 "can not set registry with host, port, or userinfo" 1 "bad component(expected registry component): " 1 "registry=" 1 "path conflicts with opaque" 1 "bad component(expected absolute path component): " 1 "bad component(expected relative path component): " 1 "path=" 1 "query conflicts with opaque" 1 "bad component(expected query component): " 1 "query=" 1 "can not set opaque with host, port, userinfo or path" 1 "opaque=" 1 "fu_copy_stream0" 1 "mswin|mingw|bccwin|emx" 1 "bad component(expected fragment component): " 1 "fragment=" 1 " -t %Y%m%d%H%M.%S" 1 " -c" 1 "touch " 1 "# Checks if URI has a path\n" 1 "# Checks if URI is an absolute one\n" 1 "# Checks if URI is relative\n" 1 "# FileUtils.touch Dir.glob('*.c'); system 'make'\n" 1 "# FileUtils.touch 'timestamp'\n" 1 "# +list+. Files are created if they don't exist.\n" 1 "# Updates modification time (mtime) and access time (atime) of file(s) in\n" 1 "# RFC2396, Section 5.2, 5)\n" 1 "# need Win32 support???\n" 1 "# RFC2396, Section 5.2, 6)\n" 1 "# RFC2396, Section 5.2, 6), a)\n" 1 "# RFC2396, Section 5.2, 6), c)\n" 1 "# RFC2396, Section 5.2, 6), d)\n" 1 "# RFC2396, Section 5.2, 6), e)\n" 1 "chown -R%s %s%s" 1 "# keep '/' for root directory\n" 1 "# FileUtils.chown_R 'cvs', 'cvs', '/var/cvs', :verbose => true\n" 1 "# FileUtils.chown_R 'www', 'www', '/var/www/htdocs'\n" 1 "# method does not change the attribute.\n" 1 "# a name (String). If +user+ or +group+ is nil, this\n" 1 "# +user+ and +group+ may be an ID (Integer/String) or\n" 1 "# to the user +user+ and the group +group+ recursively.\n" 1 "# RFC2396, Section 4\n" 1 "# a .. or . in an absolute path has no special meaning\n" 1 "# if x == '..'\n" 1 "# valid absolute (but abnormal) path \"/../...\"\n" 1 "chown %s%s" 1 "# valid absolute path\n" 1 "# Destructive form of #merge\n" 1 "# FileUtils.chown nil, 'bin', Dir.glob('/usr/bin/*'), :verbose => true\n" 1 "# FileUtils.chown 'root', 'staff', '/usr/local/bin/ruby'\n" 1 "# the attribute.\n" 1 "# If +user+ or +group+ is nil, this method does not change\n" 1 "# may be an ID (Integer/String) or a name (String).\n" 1 "# to the user +user+ and the group +group+. +user+ and +group+\n" 1 "# uri.merge!(\"/main.rbx?page=1\")\n" 1 "chmod -R%s %o %s" 1 "# Merges two URI's.\n" 1 "# FileUtils.chmod_R 0700, \"/tmp/app.\#{$$}\"\n" 1 "# to the bit pattern represented by +mode+.\n" 1 "# Changes permission bits on the named files (in +list+)\n" 1 "# p uri.merge(\"/main.rbx?page=1\")\n" 1 "chmod %o %s" 1 "# FileUtils.chmod 0755, '/usr/bin/ruby', :verbose => true\n" 1 "# FileUtils.chmod 0644, %w(my.rb your.rb his.rb her.rb)\n" 1 "# FileUtils.chmod 0755, 'somecommand'\n" 1 "# represented by +mode+.\n" 1 "# Changes permission bits on the named files (in +list+) to the bit pattern\n" 1 "# RFC2396, Section 5.2, 2)\n" 1 " -m 0%o" 1 "install -c" 1 "# RFC2396, Section 5.2, 7)\n" 1 "# FileUtils.install 'lib.rb', '/usr/local/lib/ruby/site_ruby', :verbose => true\n" 1 "# FileUtils.install 'ruby', '/usr/local/bin/ruby', :mode => 0755, :verbose => true\n" 1 "# This method removes destination before copy.\n" 1 "# mode to +mode+. If +dest+ is a directory, destination is +dest+/+src+.\n" 1 "# If +src+ is not same as +dest+, copies it and changes the permission\n" 1 "# Options: mode preserve noop verbose\n" 1 "# merge\n" 1 "# return base and rel.\n" 1 "# you can modify `base', but can not `rel'.\n" 1 "both URI are relative" 1 "# Returns true if the contents of a stream +a+ and +b+ are identical.\n" 1 "#raise BadURIError, \n" 1 "# \"both URI are absolute\"\n" 1 "# hmm... should return oth for usability?\n" 1 "# RFC2396, Section 4.2\n" 1 "# hmm... dst has abnormal absolute path, \n" 1 "# like \"/./\", \"/../\", \"/x/../\", ...\n" 1 "# FileUtils.compare_file('/bin/cp', '/bin/mv') #=> maybe false\n" 1 "# FileUtils.compare_file('somefile', 'somefile') #=> true\n" 1 "# Returns true if the contents of a file A and a file B are identical.\n" 1 "# FIXME?? check if it is a directory\n" 1 "# discard same parts\n" 1 "# Removes a directory +dir+ and its contents recursively.\n" 1 "# calculate\n" 1 "# Removes a file +path+.\n" 1 "# If +path+ is a directory, remove it recursively.\n" 1 "# +path+ might be a regular file, a directory, or something.\n" 1 "# This method removes a file system entry +path+.\n" 1 "# (see RFC2396 Section 5)\n" 1 "../" 1 "#:nodoc\n" 1 "# it is relative URI\n" 1 "# Calculates relative path from oth to self\n" 1 "# uri = URI.parse('http://my.example.com/main.rbx?page=1')\n" 1 "# ---- tree root is frozen ----\n" 1 "# p uri.route_from('http://my.example.com')\n" 1 "# #=> #\n" 1 "# symlink (TOC-to-TOU attack?)\n" 1 "# \"./?foo\" -> \"?foo\"\n" 1 "/." 1 "# Calculates relative path to oth from self\n" 1 "# freeze tree root\n" 1 "%o" 1 " (parent directory mode " 1 "parent directory is world writable, FileUtils#remove_entry_secure does not work; abort: " 1 "# uri = URI.parse('http://my.example.com')\n" 1 "# p uri.route_to('http://my.example.com/main.rbx?page=1')\n" 1 "# #=> #\n" 1 "# is a directory.\n" 1 "route_to" 1 "# Returns normalized URI\n" 1 "# Destructive version of #normalize\n" 1 "# Constructs String from URI\n" 1 "# Compares to URI's\n" 1 "# For fileutils.rb, this vulnerability is reported in [ruby-dev:26100].\n" 1 "# http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0452\n" 1 "# http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-0448\n" 1 "# For details of this security vulnerability, see Perl's case:\n" 1 "# work.\n" 1 "# user (root) should invoke this method. Otherwise this method does not\n" 1 "# WARNING: Only the owner of the removing directory tree, or Unix super\n" 1 "# whose permission is 1777.\n" 1 "# Only exception is temporary directory like /tmp and /var/tmp,\n" 1 "# world writable. Otherwise this method does not work.\n" 1 "# WARNING: You must ensure that *ALL* parent directories are not\n" 1 "# owner of the removing whole directory tree, or is the super user (root).\n" 1 "# removing directories. This requires the current process is the\n" 1 "# If +path+ is a directory, this method chown(2) and chmod(2) all\n" 1 "# To avoid this security hole, this method applies special preprocess.\n" 1 "# * The system has symbolic link.\n" 1 "# * Removing directory tree includes world writable directory.\n" 1 "# * Parent directory is world writable (including /tmp).\n" 1 "# #rm_r causes security hole when:\n" 1 "# (time-of-check-to-time-of-use) local security vulnerability of #rm_r.\n" 1 "# remove it recursively. This method is required to avoid TOCTTOU\n" 1 "# regular file, a directory, or something. If +path+ is a directory,\n" 1 "# This method removes a file system entry +path+. +path+ shall be a\n" 1 "--- URI::Generic#===(oth)\n" 1 "# def ===(oth)\n" 1 "# Read the documentation of #rm_r first.\n" 1 "# WARNING: This method causes local vulnerability.\n" 1 "# #rm_r(list, :force => true)\n" 1 "# Options: noop verbose secure\n" 1 "rm -r" 1 "# options[:secure] = true unless options.key?(:secure)\n" 1 "# raise NotImplementedError\n" 1 "# +components+::\n" 1 "# NOTE: This method calls #remove_entry_secure if :secure option is set.\n" 1 "# Default is :secure=>false.\n" 1 "# of #remove_entry_secure carefully, and set :secure option to true.\n" 1 "# system has symbolic link. For secure removing, read the documentation\n" 1 "# process has strong privilege such as Unix super user (root), and the\n" 1 "# writable (including /tmp, whose permission is 1777), and the current\n" 1 "# if one of parent directories or removing directory tree are world\n" 1 "# WARNING: This method causes local vulnerability\n" 1 "# FileUtils.rm_r '/', :force => true # :-)\n" 1 "# FileUtils.rm_r Dir.glob('/tmp/*')\n" 1 "# StandardError when :force option is set.\n" 1 "# removes its all contents recursively. This method ignores\n" 1 "# remove files +list+[0] +list+[1]... If +list+[n] is a directory,\n" 1 "# Options: force noop verbose secure\n" 1 "# Multiple Symbol arguments defined in URI::HTTP\n" 1 "# Selects specified components from URI\n" 1 "# #rm(list, :force => true)\n" 1 "# uri = URI.parse('http://myuser:mypass@my.example.com/test.rbx')\n" 1 "# p uri.select(:userinfo, :host, :path)\n" 1 "# # => [\"myuser:mypass\", \"my.example.com\", \"/test.rbx\"]\n" 1 "# FileUtils.rm 'NotExistFile', :force => true # never raises exception\n" 1 "# FileUtils.rm Dir.glob('*.so')\n" 1 "# FileUtils.rm %w( junk.txt dust.txt )\n" 1 "# All StandardErrors are ignored when the :force option is set.\n" 1 "# Remove file(s) specified in +list+. This method cannot remove directories.\n" 1 "expected of components of " 1 "cygwin|mswin|mingw|bccwin|emx" 1 ">\\z" 1 " URL:" 1 "# = uri/http.rb\n" 1 "# Revision:: $Id: http.rb 11708 2007-02-12 23:01:19Z shyouhei $\n" 1 "EXDEV" 1 "# The syntax of HTTP URIs is defined in RFC1738 section 3.3.\n" 1 "# Note that the Ruby URI library allows HTTP URLs containing usernames and\n" 1 "# passwords. This is not legal as per the RFC, but used to be \n" 1 "# supported in Internet Explorer 5 and 6, before the MS04-004 security \n" 1 "# FileUtils.mv Dir.glob('test*.rb'), 'test', :noop => true, :verbose => true\n" 1 "# FileUtils.mv %w(junk.txt dust.txt), '/home/aamine/.trash/'\n" 1 "# FileUtils.mv 'stuff.rb', '/notexist/lib/ruby', :force => true # no error\n" 1 "# FileUtils.mv 'badname.rb', 'goodname.rb'\n" 1 "# disk partition, the file is copied then the original file is removed.\n" 1 "# Moves file(s) +src+ to +dest+. If +file+ and +dest+ exist on the different\n" 1 "# update. See .\n" 1 "# +dest+ must respond to #write(str).\n" 1 "# +src+ must respond to #read(n) and\n" 1 "# Copies stream +src+ to +dest+.\n" 1 "# Create a new URI::HTTP object from components, with syntax checking.\n" 1 "# Copies file contents of +src+ to +dest+.\n" 1 "# The components accepted are userinfo, host, port, path, query and\n" 1 "# fragment.\n" 1 "# [userinfo, host, port, path, query, fragment].\n" 1 "# newuri = URI::HTTP.build({:host => 'www.example.com', \n" 1 "# :path> => '/foo/bar'})\n" 1 "# newuri = URI::HTTP.build([nil, \"www.example.com\", nil, \"/path\", \n" 1 "# Currently, if passed userinfo components this method generates \n" 1 "# invalid HTTP URIs as per RFC 1738.\n" 1 "# If +remove_destination+ is true, this method removes each destination file before copy.\n" 1 "# If +dereference_root+ is true, this method dereference tree root.\n" 1 "# and modified time.\n" 1 "# If +preserve+ is true, this method preserves owner, group, permissions\n" 1 "# +src+ must exist, +dest+ must not exist.\n" 1 "# Create a new URI::HTTP object from generic URI components as per\n" 1 "# (FIFO, device files and etc. are not supported yet)\n" 1 "# This method preserves file types, c.f. symlink, directory...\n" 1 "# If +src+ is a directory, this method copies its contents recursively.\n" 1 "# Copies a file system entry +src+ to +dest+.\n" 1 "# RFC 2396. No HTTP-specific syntax checking (as per RFC 1738) is \n" 1 "# performed.\n" 1 " --remove-destination" 1 "# uri = URI::HTTP.new(['http', nil, \"www.example.com\", nil, \"/path\",\n" 1 "cp -r" 1 "# Returns the full path for an HTTP request, as required by Net::HTTP::Get.\n" 1 "# # but this doesn't.\n" 1 "# FileUtils.cp_r 'src/.', 'dest' # cp_r('src', 'dest') makes src/dest,\n" 1 "# # use following code.\n" 1 "# # directory itself, c.f. src/x -> dest/x, src/y -> dest/y,\n" 1 "# # If you want to copy all contents of a directory instead of the\n" 1 "# FileUtils.cp_r Dir.glob('*.rb'), '/home/aamine/lib/ruby', :noop => true, :verbose => true\n" 1 "# FileUtils.cp_r %w(mail.rb field.rb debug/), site_ruby + '/tmail'\n" 1 "# # Examples of copying several files to target directory.\n" 1 "# FileUtils.cp_r 'lib/', site_ruby + '/mylib'\n" 1 "# FileUtils.rm_r site_ruby + '/mylib', :force\n" 1 "# # Installing ruby library \"mylib\" under the site_ruby\n" 1 "# +src+ can be a list of files.\n" 1 "# +src+ to +dest/src+.\n" 1 "# all its contents recursively. If +dest+ is a directory, copies\n" 1 "# Copies +src+ to +dest+. If +src+ is a directory, this method copies\n" 1 "# Options: preserve noop verbose dereference_root remove_destination\n" 1 "# If the URI contains a query, the full path is URI#path + '?' + URI#query.\n" 1 "# Otherwise, the path is simply URI#path.\n" 1 "# = uri/https.rb\n" 1 "# Revision:: $Id: https.rb 11708 2007-02-12 23:01:19Z shyouhei $\n" 1 "# The default port for HTTPS URIs is 443, and the scheme is 'https:' rather\n" 1 "# than 'http:'. Other than that, HTTPS URIs are identical to HTTP URIs;\n" 1 "# FileUtils.cp 'symlink', 'dest' # copy content, \"dest\" is not a symlink\n" 1 "# FileUtils.cp %w(cgi.rb complex.rb date.rb), '/usr/lib/ruby/1.6', :verbose => true\n" 1 "# FileUtils.cp %w(cgi.rb complex.rb date.rb), '/usr/lib/ruby/1.6'\n" 1 "# FileUtils.cp 'eval.c', 'eval.c.org'\n" 1 "# If +src+ is a list of files, then +dest+ must be a directory.\n" 1 "# copies +src+ to +dest/src+.\n" 1 "# Copies a file content +src+ to +dest+. If +dest+ is a directory,\n" 1 "# Options: preserve noop verbose\n" 1 "# see URI::HTTP.\n" 1 "# #ln_s(src, dest, :force)\n" 1 "# Same as\n" 1 "# = uri/ldap.rb\n" 1 "# Author:: \n" 1 "# Takaaki Tateishi \n" 1 "# Akira Yamada \n" 1 "# FileUtils.ln_s Dir.glob('bin/*.rb'), '/home/aamine/bin'\n" 1 "# If +destdir+ is not a directory, raises Errno::ENOTDIR.\n" 1 "# Creates several symbolic links in a directory, with each one pointing to the\n" 1 "# ln_s(list, destdir, options = {})\n" 1 "# FileUtils.ln_s 'verylongsourcefilename.c', 'c', :force => true\n" 1 "# FileUtils.ln_s '/usr/bin/ruby', '/usr/local/bin/ruby'\n" 1 "# :force option is set, overwrite +new+.\n" 1 "# already exists and it is not a directory, raises Errno::EEXIST. But if\n" 1 "# exists and it is a directory, creates a symbolic link +new/old+. If +new+\n" 1 "# Creates a symbolic link +new+ which points to +old+. If +new+ already\n" 1 "# ln_s(old, new, options = {})\n" 1 "# URI::LDAP is copyrighted free software by Takaaki Tateishi and Akira Yamada.\n" 1 "# Revision:: $Id: ldap.rb 11708 2007-02-12 23:01:19Z shyouhei $\n" 1 "# LDAP URI SCHEMA (described in RFC2255)\n" 1 "# ldap:///[?[?[?[?]]]]\n" 1 "389" 1 "SCOPE" 1 "SCOPE_ONE" 1 "SCOPE_SUB" 1 "# FileUtils.ln %w(cp mv mkdir), '/bin' # Now /sbin/cp and /bin/cp are linked.\n" 1 "# cd '/sbin'\n" 1 "# include FileUtils\n" 1 "SCOPE_BASE" 1 "# Creates several hard links in a directory, with each one pointing to the\n" 1 "# ln(list, destdir, options = {})\n" 1 "# FileUtils.ln '/usr/bin/emacs21', '/usr/bin/emacs'\n" 1 "# FileUtils.ln 'gcc', 'cc', :verbose => true\n" 1 "# But if :force option is set, overwrite +new+.\n" 1 "# If +new+ already exists and it is not a directory, raises Errno::EEXIST.\n" 1 "# If +new+ already exists and it is a directory, creates a link +new/old+.\n" 1 "# Creates a hard link +new+ which points to +old+.\n" 1 "# ln(old, new, options = {})\n" 1 "bad LDAP URL" 1 "dn=" 1 "ENOTEMPTY" 1 "attributes=" 1 "scope=" 1 "-p " 1 "filter=" 1 "extensions=" 1 "# The default port for LDAPS URIs is 636, and the scheme is 'ldaps:' rather\n" 1 "# FileUtils.rmdir 'somedir', :verbose => true, :noop => true\n" 1 "# # Does not really remove directory; outputs message.\n" 1 "# FileUtils.rmdir %w(somedir anydir otherdir)\n" 1 "# FileUtils.rmdir 'somedir'\n" 1 "# Removes one or more directories.\n" 1 "# Options: noop, verbose\n" 1 "# than 'ldap:'. Other than that, LDAPS URIs are identical to LDAP URIs;\n" 1 "# see URI::LDAP.\n" 1 "636" 1 "# = uri/mailto.rb\n" 1 "# Revision:: $Id: mailto.rb 19495 2008-09-23 18:16:08Z drbrain $\n" 1 "# dirname(\"/\")==\"/\", dirname(\"C:/\")==\"C:/\"\n" 1 "# RFC2368, The mailto URL scheme\n" 1 "# \"hname\" and \"hvalue\" are encodings of an RFC 822 header name and\n" 1 "# value, respectively. As with \"to\", all URL reserved characters must\n" 1 "# optimize for the most common case\n" 1 "# be encoded.\n" 1 "# \"#mailbox\" is as specified in RFC 822 [RFC822]. This means that it\n" 1 "mkdir -p " 1 "# consists of zero or more comma-separated mail addresses, possibly\n" 1 "# You can pass several directories at a time in a list.\n" 1 "# * /usr/local/lib/ruby\n" 1 "# * /usr/local/lib\n" 1 "# * /usr/local\n" 1 "# * /usr\n" 1 "# causes to make following directories, if it does not exist.\n" 1 "# FileUtils.mkdir_p '/usr/local/lib/ruby'\n" 1 "# including \"phrase\" and \"comment\" components. Note that all URL\n" 1 "# Creates a directory and all its parent directories.\n" 1 "# reserved characters in \"to\" must be encoded: in particular,\n" 1 "# parentheses, commas, and the percent sign (\"%\"), which commonly occur\n" 1 "# in the \"mailbox\" syntax.\n" 1 "# Within mailto URLs, the characters \"?\", \"=\", \"&\" are reserved.\n" 1 "# hname = *urlc\n" 1 "# hvalue = *urlc\n" 1 "# FileUtils.mkdir 'tmp', :mode => 0700\n" 1 "# FileUtils.mkdir 'notexist', :noop => true # Does not really create.\n" 1 "# FileUtils.mkdir %w( tmp data )\n" 1 "# FileUtils.mkdir 'test'\n" 1 "# Creates one or more directories.\n" 1 "# header = hname \"=\" hvalue\n" 1 "(?:[^?=&]*=[^?=&]*)" 1 "# headers = \"?\" header *( \"&\" header )\n" 1 "# to = #mailbox\n" 1 "# mailtoURL = \"mailto:\" [ to ] [ headers ]\n" 1 "uptodate? does not accept any option" 1 "|[^(),%?=&])" 1 " # :nodoc:\n \\\\A\n" 1 "# system 'make hello.o'\n" 1 "# FileUtils.uptodate?('hello.o', %w(hello.c hello.h)) or \\\n" 1 "# Non-existent files are older than any file.\n" 1 "# Returns true if +newer+ is newer than all +old_list+.\n" 1 "cd -" 1 " (\#{" 1 "*?) (?# 1: to)\n (?:\n \\\\?\n" 1 "cd " 1 "(?:\\\\&" 1 ")*) (?# 2: headers)\n )?\n (?:\n \\\\#\n" 1 ") (?# 3: fragment)\n )?\n \\\\z\n" 1 " \"" 1 "# Creates a new URI::MailTo object from components, with syntax checking.\n" 1 "# FileUtils.cd('/', :verbose => true) # chdir and report it\n" 1 "# working directory after the block execution finished.\n" 1 "# If this method is called with block, resumes to the old\n" 1 "# Changes the current directory to the directory +dir+.\n" 1 "# Options: verbose\n" 1 "# Components can be provided as an Array or Hash. If an Array is used,\n" 1 "# the components must be supplied as [to, headers].\n" 1 "# If a Hash is used, the keys are the component names preceded by colons.\n" 1 "# Returns the name of the current directory.\n" 1 "# The headers can be supplied as a pre-encoded string, such as \n" 1 "# \"subject=subscribe&cc=address\", or as an Array of Arrays like\n" 1 "# [['subject', 'subscribe'], ['cc', 'address']]\n" 1 "# This hash table holds command options.\n" 1 "# require 'uri'\n" 1 "# m1 = URI::MailTo.build(['joe@example.com', 'subject=Ruby'])\n" 1 "# puts m1.to_s -> mailto:joe@example.com?subject=Ruby\n" 1 "# :verbose flags to methods in FileUtils.\n" 1 "# files/directories. This equates to passing the :noop and\n" 1 "# == module FileUtils::DryRun\n" 1 "# files/directories. This equates to passing the :noop flag to methods\n" 1 "# m2 = URI::MailTo.build(['john@example.com', [['Subject', 'Ruby'], ['Cc', 'jack@example.com']]])\n" 1 "# == module FileUtils::NoWrite\n" 1 "# puts m2.to_s -> mailto:john@example.com?Subject=Ruby&Cc=jack@example.com\n" 1 "# before acting. This equates to passing the :verbose flag to methods\n" 1 "# m3 = URI::MailTo.build({:to => 'listman@example.com', :headers => [['subject', 'subscribe']]})\n" 1 "# == module FileUtils::Verbose\n" 1 "# uptodate?(file, cmp_list)\n" 1 "# compare_stream(stream_a, stream_b)\n" 1 "# compare_file(path_a, path_b)\n" 1 "# remove_file(path, force = false)\n" 1 "# remove_entry_secure(path, force = false)\n" 1 "# remove_entry(path, force = false)\n" 1 "# copy_stream(srcstream, deststream)\n" 1 "# copy_file(src, dest, preserve = false, dereference = true)\n" 1 "# copy_entry(src, dest, preserve = false, dereference = false)\n" 1 "# There are some `low level' methods, which do not accept any option:\n" 1 "# documentation for examples.\n" 1 "# either one file or a list of files in that argument. See the method\n" 1 "# All methods that have the concept of a \"source\" file or directory can take\n" 1 "# Each method documents the options that it honours.\n" 1 "# :noop means that no changes are made. The other two are obvious.\n" 1 "# :force, :noop, :preserve, and :verbose.\n" 1 "# The options parameter is a hash of options, taken from the list\n" 1 "# touch(list, options)\n" 1 "# chown_R(user, group, list, options)\n" 1 "# chown(user, group, list, options)\n" 1 "# chmod_R(mode, list, options)\n" 1 "# chmod(mode, list, options)\n" 1 "# install(src, dest, mode = , options)\n" 1 "# rm_rf(list, options)\n" 1 "# rm_r(list, options)\n" 1 "# rm(list, options)\n" 1 "# mv(list, dir, options)\n" 1 "# mv(src, dest, options)\n" 1 "# cp_r(list, dir, options)\n" 1 "# cp_r(src, dest, options)\n" 1 "# cp(list, dir, options)\n" 1 "# cp(src, dest, options)\n" 1 "# ln_sf(src, dest, options)\n" 1 "# ln_s(list, destdir, options)\n" 1 "# ln_s(old, new, options)\n" 1 "# ln(list, destdir, options)\n" 1 "# ln(old, new, options)\n" 1 "# rmdir(list, options)\n" 1 "# rmdir(dir, options)\n" 1 "# mkdir_p(list, options)\n" 1 "# mkdir_p(dir, options)\n" 1 "# mkdir(list, options)\n" 1 "# mkdir(dir, options)\n" 1 "# pwd()\n" 1 "# cd(dir, options) {|dir| .... }\n" 1 "# cd(dir, options)\n" 1 "# === Module Functions\n" 1 "# Namespace for several file utility methods for copying, moving, removing, etc.\n" 1 "# == module FileUtils\n" 1 "# puts m3.to_s -> mailto:listman@example.com?subject=subscribe\n" 1 "# Creates a new URI::MailTo object from generic URL components with\n" 1 "# Copyright (c) 2000-2007 Minero Aoki\n" 1 "# = fileutils.rb\n" 1 "# no syntax checking.\n" 1 "# This method is usually called from URI::parse, which checks\n" 1 "# the validity of each component.\n" 1 "unrecognised opaque part for mailtoURL: " 1 "# The primary e-mail address of the URL, as a String\n" 1 "9999999" 1 "# E-mail headers set by the URL, as an Array of Arrays\n" 1 "to=" 1 "(?:\\&" 1 ")*)\\z" 1 "headers=" 1 "# Returns the RFC822 e-mail text equivalent of the URL, as a String.\n" 1 "# define _methodname_ as instance method of current module, using ERB object or eRuby file\n" 1 "DefMethod" 1 "# 30\n" 1 "# 20\n" 1 "# 10\n" 1 "# result:\n" 1 "# print MyClass.new([10,20,30]).render()\n" 1 "# @items = items\n" 1 "# def initialize(items)\n" 1 "# def_erb_method('render()', 'example.rhtml')\n" 1 "# extend ERB::DefMethod\n" 1 "# require 'erb'\n" 1 "# example.rb:\n" 1 "# <% end %>\n" 1 "# <%= item %>\n" 1 "# <% for item in @items %>\n" 1 "# example.rhtml:\n" 1 "# Utility module to define eRuby script as instance method.\n" 1 "# ERB::DefMethod\n" 1 "# uri = URI.parse(\"mailto:ruby-list@ruby-lang.org?Subject=subscribe&cc=myaddr\")\n" 1 "# uri.to_mailtext\n" 1 "# # => \"To: ruby-list@ruby-lang.org\\nSubject: subscribe\\nCc: myaddr\\n\\n\\n\"\n" 1 "[^a-zA-Z0-9_\\-.]" 1 "To: " 1 "# \tProgramming%20Ruby%3A%20%20The%20Pragmatic%20Programmer%27s%20Guide\n" 1 "# \tputs url_encode(\"Programming Ruby: The Pragmatic Programmer's Guide\")\n" 1 "# A utility method for encoding the String _s_ as a URL.\n" 1 "to_rfc822text" 1 "MAILTO" 1 "# accesslog.rb -- Access log handling utilities\n" 1 "# Copyright (c) 2002 keita yamaguchi\n" 1 "# Copyright (c) 2002 Internet Programming with Ruby writers\n" 1 "# $IPR: accesslog.rb,v 1.1 2002/10/01 17:16:32 gotoyuzo Exp $\n" 1 "# \tis a > 0 & a < 10?\n" 1 "# \tputs html_escape(\"is a > 0 & a < 10?\")\n" 1 "[%d/%b/%Y:%H:%M:%S %Z]" 1 "%h %l %u %t \\\"%r\\\" %s %b" 1 "%{Referer}i -> %U" 1 "# A utility method for escaping HTML tag characters in _s_.\n" 1 "AGENT_LOG_FORMAT" 1 "# A utility module for conversion routines, often handy in HTML generation.\n" 1 "# ERB::Util\n" 1 "%{User-Agent}i" 1 "def_class" 1 "# print MyClass.new('foo', 123).render()\n" 1 "# MyClass = erb.def_class(MyClass_, 'render()')\n" 1 "# filename = 'example.rhtml' # @arg1 and @arg2 are used in example.rhtml\n" 1 "# @arg1 = arg1; @arg2 = arg2\n" 1 "# def initialize(arg1, arg2)\n" 1 "# class MyClass_\n" 1 "# Define unnamed class which has _methodname_ as instance method, and return it.\n" 1 "COMBINED_LOG_FORMAT" 1 "def_module" 1 "# include MyModule\n" 1 " \\\"%{Referer}i\\\" \\\"%{User-agent}i\\\"" 1 "# MyModule = erb.def_module('render(arg1, arg2)')\n" 1 "# This format specification is a subset of mod_log_config of Apache.\n" 1 "# Create unnamed module, define _methodname_ as instance method of it, and return it.\n" 1 "\\nend\\n" 1 "# http://httpd.apache.org/docs/mod/mod_log_config.html#formats\n" 1 "# won't support \"%>s\"\n" 1 "\\%(?:\\{(.*?)\\})?>?([a-zA-Z%])" 1 "parameter is required for \\\"" 1 "# cgi.rb -- Yet another CGI library\n" 1 "# $Id: cgi.rb 18678 2008-08-17 17:33:13Z gotoyuzo $\n" 1 "HTTP/(\\d+\\.\\d+)" 1 "# print MyClass.new.render('foo', 123)\n" 1 "# erb.def_method(MyClass, 'render(arg1, arg2)', filename)\n" 1 "RunOnCGI" 1 "# to detect if it runs on CGI.\n" 1 "# set true to run as NPH script.\n" 1 "# Define _methodname_ as instance method of _mod_ from compiled ruby source.\n" 1 "SERVER_ADDR" 1 "# code evaluation.\n" 1 "# _b_ accepts a Binding or Proc object which is used to set the context of\n" 1 "# be affected by _safe_level_.)\n" 1 "# the results of that code. (See ERB#new for details on how this process can\n" 1 "# Executes the generated ERB code to produce a completed template, returning\n" 1 "REMOTE_PORT" 1 "invalid CGI environment" 1 "# Generate results and print them. (see ERB#result)\n" 1 ".force_encoding(__ENCODING__)" 1 " = ''" 1 "# we cannot get real HTTP version of client ;)\n" 1 "# setup of an ERB _compiler_ object.\n" 1 "# to just use the constructor though, since calling this method requires the\n" 1 "# Can be used to set _eoutvar_ as described in ERB#new. It's probably easier\n" 1 "^HTTP_(.*)" 1 "# is run\n" 1 "# The optional _filename_ argument passed to Kernel#eval when the ERB code\n" 1 "# The Ruby code generated by ERB\n" 1 "SSL_CLIENT_CERT_CHAIN_0" 1 "^SSL_CLIENT_CERT_CHAIN_\\d+$" 1 "# compat.rb -- cross platform compatibility\n" 1 "# Copyright (c) 2002 GOTOU Yuuzou\n" 1 "# $IPR: compat.rb,v 1.6 2002/10/01 17:16:32 gotoyuzo Exp $\n" 1 "# config.rb -- Default configurations.\n" 1 "# $IPR: config.rb,v 1.52 2003/07/22 19:20:42 gotoyuzo Exp $\n" 1 "# Chicken Fried Steak -- 9.95\n" 1 "webrick/version" 1 "# Chicken Fried Steak\n" 1 "webrick/utils" 1 "# puts listings.product + \"\\n\" + listings.price\n" 1 "# listings.build\n" 1 "# listings = Listings.new\n" 1 "# # setup template data\n" 1 "LIBDIR" 1 "# END_PRICE\n" 1 "# <%= PRODUCT[:name] %> -- <%= PRODUCT[:cost] %>\n" 1 "# ERB.new(<<-'END_PRICE'.gsub(/^\\s+/, \"\"), 0, \"\", \"@price\").result b\n" 1 "# END_PRODUCT\n" 1 "# for GenericServer\n" 1 "# <%= PRODUCT[:name] %>\n" 1 "# ERB.new(<<-'END_PRODUCT'.gsub(/^\\s+/, \"\"), 0, \"\", \"@product\").result b\n" 1 "# # create and run templates, filling member data variables\n" 1 "# b = binding\n" 1 "# def build\n" 1 "# @price = price\n" 1 "# @product = product\n" 1 "# def initialize( product = \"\", price = \"\" )\n" 1 "# \"0.0.0.0\" or \"::\" or nil\n" 1 "# attr_reader :product, :price\n" 1 "# :cost => 9.95 }\n" 1 "# :desc => \"A well messages pattie, breaded and fried.\",\n" 1 "# PRODUCT = { :name => \"Chicken Fried Steak\",\n" 1 "# class Listings\n" 1 "# # build data class\n" 1 "# users MUST specifiy this!!\n" 1 "# require \"erb\"\n" 1 "# maximum number of the concurrent connections\n" 1 "# output ends up. Pass the name of the variable to be used inside a String.\n" 1 "# templates through the same binding and/or when you want to control where\n" 1 "# its output in. This is useful when you need to run multiple ERB\n" 1 "# _eoutvar_ can be used to set the name of the variable ERB will build up\n" 1 "# \t> omit newline for lines ending in %>\n" 1 "# \t<> omit newline for lines starting with <% and ending in %>\n" 1 "# \t% enables Ruby code processing for lines beginning with %\n" 1 "# modifiers, ERB will adjust its code generation as listed:\n" 1 "# If _trim_mode_ is passed a String containing one or more of the following\n" 1 "# provided level.\n" 1 "# ERB code will be run in a separate thread with $SAFE set to the\n" 1 "# the completed template when run. If _safe_level_ is set to a non-nil value,\n" 1 "# An ERB object works by building a chunk of Ruby code that will output\n" 1 "# Constructs a new ERB object with the template specified in _str_.\n" 1 "# ERB\n" 1 "# default: WEBrick::SimpleServer\n" 1 "# default: WEBrick::Log.new\n" 1 "WEBrick/" 1 "(Ruby/" 1 "TempDir" 1 "\\A%#(.*)" 1 "\\A<%#(.*)%>" 1 "# for HTTPServer, HTTPRequest, HTTPResponse ...\n" 1 "MimeTypes" 1 "@post_cmd" 1 "@pre_cmd" 1 "DirectoryIndex" 1 "index.html" 1 "%%>" 1 "# out.push(\"# \#{content_dump(content)}\")\n" 1 ").to_s)" 1 "((" 1 "index.htm" 1 "index.cgi" 1 "index.rhtml" 1 "<%%" 1 "# input buffer size in reading request body\n" 1 "# output buffer size in sending File or IO\n" 1 "# for HTTPProxyServer\n" 1 "CGIInterpreter" 1 "# don't use constant Enoding::ASCII_8BIT for miniruby\n" 1 "dummy?" 1 " is not ASCII compatible" 1 "CGIPathEnv" 1 "# workaround: if Request-URIs contain 8bit chars,\n" 1 "# they should be escaped before calling of URI::parse().\n" 1 "NondisclosureName" 1 ".ht*" 1 "*~" 1 "HandlerTable" 1 "HandlerCallback" 1 "DirectoryCallback" 1 "FileCallback" 1 "UserDir" 1 "# e.g. \"public_html\"\n" 1 "AcceptableLanguages" 1 "(\\n|\\z)" 1 "(.*?)(%%>|-%>|%>|\\z)" 1 "(.*?)(^[ \\t]*<%-|<%%|<%=|<%#|<%-|<%|\\z)" 1 "# [\"en\", \"ja\", ... ]\n" 1 "BasicAuth" 1 "DigestAuth" 1 "Algorithm" 1 "(.*?)(%%>|%>|\\z)" 1 "MD5-sess" 1 "(.*?)(<%%|<%=|<%#|<%|\\z)" 1 "# or 'MD5' \n" 1 "Domain" 1 "# an array includes domain names.\n" 1 "Qop" 1 "default_scanner" 1 "# 'auth' or 'auth-int' or both.\n" 1 "UseOpaque" 1 "UseNextNonce" 1 "CheckNc" 1 "UseAuthenticationInfoHeader" 1 "-%>\\n" 1 "NonceExpirePeriod" 1 "NonceExpireDelta" 1 "(.*?)(^[ \\t]*<%\\-|<%\\-|<%%|%%>|<%=|<%#|<%|-%>\\n|-%>|%>|\\z)" 1 "InternetExplorerHack" 1 "OperaHack" 1 "# cookie.rb -- Cookie class\n" 1 "# $IPR: cookie.rb,v 1.16 2002/09/21 12:23:35 gotoyuzo Exp $\n" 1 "#attr_accessor :comment_url, :discard, :port\n" 1 "# Netscape Cookie\n" 1 "@comment_url" 1 "@discard" 1 "expires=" 1 "Version=" 1 "Domain=" 1 "Expires=" 1 "Max-Age=" 1 "Comment=" 1 "Path=" 1 "Secure" 1 "# Cookie::parse()\n" 1 "# It parses Cookie field sent from the user agent.\n" 1 "[;,]\\s+" 1 "$Version" 1 "$Path" 1 "$Domain" 1 "$Port" 1 "max-age" 1 "parse_set_cookies" 1 ",(?=[^;,]*=)|,$" 1 "# htmlutils.rb -- HTMLUtils Module\n" 1 "# $IPR: htmlutils.rb,v 1.7 2002/09/21 12:23:35 gotoyuzo Exp $\n" 1 "# httpauth.rb -- HTTP access authentication\n" 1 "# $IPR: httpauth.rb,v 1.14 2003/07/22 19:20:42 gotoyuzo Exp $\n" 1 "webrick/httpauth/basicauth" 1 "default_scanner=" 1 "webrick/httpauth/digestauth" 1 "webrick/httpauth/htpasswd" 1 "webrick/httpauth/htdigest" 1 "webrick/httpauth/htgroup" 1 "HTTPAuth" 1 "^Basic\\s+(.*)" 1 "Basic realm=\\\"" 1 "WWW-Authenticate" 1 "# ERB::Compiler\n" 1 "erb.rb [2.1.0 " 1 "ProxyAuthenticationRequired" 1 "# Returns revision information for the erb.rb module.\n" 1 "# httpproxy.rb -- HTTPProxy Class\n" 1 "# Copyright (c) 2002 GOTO Kentaro\n" 1 "$Date:: 2009-01-17 21:20:08 +0900\#$" 1 "# $IPR: httpproxy.rb,v 1.18 2003/03/08 18:58:10 gotoyuzo Exp $\n" 1 "# $kNotwork: straw.rb,v 1.3 2002/02/12 15:13:07 gotoken Exp $\n" 1 "Rails, the web application framework, uses ERB to create views.\n" 1 "* and others; search the RAA.\n" 1 "* RDoc, distributed with Ruby, uses its own template engine, which can be reused elsewhere;\n" 1 "* cs/Template (written in C for speed);\n" 1 "* Amrita (smart at producing HTML/XML);\n" 1 "* ERB's big brother, eRuby, works the same but is written in C for speed;\n" 1 "There are a variety of templating solutions available in various Ruby projects:\n" 1 "== Notes\n" 1 " \n" 1 " \n" 1 "

\n" 1 " Call for a price, today!\n" 1 "

\n" 1 " \n" 1 "

  • Gem studded eyes... Rubies, of course!
  • \n" 1 "
  • Matz signature on left leg.
  • \n" 1 "
  • Karate-Chop Action!!!
  • \n" 1 "
  • Ignores Perl, Java, and all C variants.
  • \n" 1 "
  • Listens for verbal commands in the Ruby language!
  • \n" 1 "
      \n" 1 "

      Geek's Best Friend! Responds to Ruby commands...

      \n" 1 "

      Rubysapien (TZ-1002)

      \n" 1 " \n" 1 " Ruby Toys -- Rubysapien\n" 1 " \n" 1 "Generates (some blank lines removed):\n" 1 " rhtml.run(toy.get_binding)\n" 1 " toy.add_feature(\"Gem studded eyes... Rubies, of course!\")\n" 1 " toy.add_feature(\"Matz signature on left leg.\")\n" 1 " toy.add_feature(\"Karate-Chop Action!!!\")\n" 1 " toy.add_feature(\"Ignores Perl, Java, and all C variants.\")\n" 1 " toy.add_feature(\"Listens for verbal commands in the Ruby language!\")\n" 1 " 999.95 )\n" 1 " \"Geek's Best Friend! Responds to Ruby commands...\",\n" 1 " \"Rubysapien\",\n" 1 " toy = Product.new( \"TZ-1002\",\n" 1 " rhtml = ERB.new(template)\n" 1 " \n" 1 " \n" 1 "webrick/httpserver" 1 "

      \n" 1 " Call for a price, today!\n" 1 " <% else %>\n" 1 " Only <%= @cost %>!!!\n" 1 " <% if @cost < 10 %>\n" 1 "

      \n" 1 "

    \n" 1 "1.7" 1 "
  • <%= f %>
  • \n" 1 " <% @features.each do |f| %>\n" 1 "