From d037433eb9d2c76753008597d8d90459dbfe7ac5 Mon Sep 17 00:00:00 2001 From: Simon Szustkowski Date: Wed, 3 Sep 2014 10:28:19 +0200 Subject: [PATCH] Started rewrite for ruby2.0, spaceapi, rbenv and twitter-gem 5 --- .gems/cache/json-1.8.1.gem | Bin 0 -> 148992 bytes .gems/cache/twitter-5.11.0.gem | Bin 0 -> 505856 bytes .gems/doc/json-1.8.1/rdoc/BigDecimal.html | 345 ++ .gems/doc/json-1.8.1/rdoc/Class.html | 268 ++ .gems/doc/json-1.8.1/rdoc/Complex.html | 342 ++ .gems/doc/json-1.8.1/rdoc/Date.html | 351 ++ .gems/doc/json-1.8.1/rdoc/DateTime.html | 365 ++ .gems/doc/json-1.8.1/rdoc/Exception.html | 351 ++ .gems/doc/json-1.8.1/rdoc/JSON.html | 1180 +++++ .../rdoc/JSON/CircularDatastructure.html | 213 + .gems/doc/json-1.8.1/rdoc/JSON/Ext.html | 208 + .../json-1.8.1/rdoc/JSON/GeneratorError.html | 215 + .../json-1.8.1/rdoc/JSON/GenericObject.html | 656 +++ .gems/doc/json-1.8.1/rdoc/JSON/JSONError.html | 266 ++ .../rdoc/JSON/MissingUnicodeSupport.html | 216 + .../json-1.8.1/rdoc/JSON/NestingError.html | 216 + .../doc/json-1.8.1/rdoc/JSON/ParserError.html | 215 + .gems/doc/json-1.8.1/rdoc/JSON/Pure.html | 226 + .../json-1.8.1/rdoc/JSON/Pure/Generator.html | 217 + .../JSON/Pure/Generator/GeneratorMethods.html | 231 + .../Generator/GeneratorMethods/Array.html | 260 + .../GeneratorMethods/FalseClass.html | 253 + .../Generator/GeneratorMethods/Float.html | 271 ++ .../Pure/Generator/GeneratorMethods/Hash.html | 261 + .../Generator/GeneratorMethods/Integer.html | 253 + .../Generator/GeneratorMethods/NilClass.html | 252 + .../Generator/GeneratorMethods/Object.html | 256 + .../Generator/GeneratorMethods/String.html | 398 ++ .../GeneratorMethods/String/Extend.html | 259 + .../Generator/GeneratorMethods/TrueClass.html | 252 + .../rdoc/JSON/Pure/Generator/State.html | 963 ++++ .../doc/json-1.8.1/rdoc/JSON/Pure/Parser.html | 563 +++ .gems/doc/json-1.8.1/rdoc/Kernel.html | 205 + .gems/doc/json-1.8.1/rdoc/OpenStruct.html | 349 ++ .gems/doc/json-1.8.1/rdoc/README_rdoc.html | 554 +++ .gems/doc/json-1.8.1/rdoc/Range.html | 349 ++ .gems/doc/json-1.8.1/rdoc/Rational.html | 342 ++ .gems/doc/json-1.8.1/rdoc/Regexp.html | 350 ++ .gems/doc/json-1.8.1/rdoc/Struct.html | 350 ++ .gems/doc/json-1.8.1/rdoc/Symbol.html | 348 ++ .gems/doc/json-1.8.1/rdoc/Time.html | 358 ++ .gems/doc/json-1.8.1/rdoc/created.rid | 23 + .gems/doc/json-1.8.1/rdoc/images/brick.png | Bin 0 -> 452 bytes .../doc/json-1.8.1/rdoc/images/brick_link.png | Bin 0 -> 764 bytes .gems/doc/json-1.8.1/rdoc/images/bug.png | Bin 0 -> 774 bytes .../json-1.8.1/rdoc/images/bullet_black.png | Bin 0 -> 211 bytes .../rdoc/images/bullet_toggle_minus.png | Bin 0 -> 207 bytes .../rdoc/images/bullet_toggle_plus.png | Bin 0 -> 209 bytes .gems/doc/json-1.8.1/rdoc/images/date.png | Bin 0 -> 626 bytes .gems/doc/json-1.8.1/rdoc/images/find.png | Bin 0 -> 659 bytes .../rdoc/images/loadingAnimation.gif | Bin 0 -> 5886 bytes .../json-1.8.1/rdoc/images/macFFBgHack.png | Bin 0 -> 207 bytes .gems/doc/json-1.8.1/rdoc/images/package.png | Bin 0 -> 853 bytes .../doc/json-1.8.1/rdoc/images/page_green.png | Bin 0 -> 621 bytes .../rdoc/images/page_white_text.png | Bin 0 -> 342 bytes .../rdoc/images/page_white_width.png | Bin 0 -> 309 bytes .gems/doc/json-1.8.1/rdoc/images/plugin.png | Bin 0 -> 591 bytes .gems/doc/json-1.8.1/rdoc/images/ruby.png | Bin 0 -> 592 bytes .../doc/json-1.8.1/rdoc/images/tag_green.png | Bin 0 -> 613 bytes .gems/doc/json-1.8.1/rdoc/images/wrench.png | Bin 0 -> 610 bytes .../json-1.8.1/rdoc/images/wrench_orange.png | Bin 0 -> 584 bytes .gems/doc/json-1.8.1/rdoc/images/zoom.png | Bin 0 -> 692 bytes .gems/doc/json-1.8.1/rdoc/index.html | 711 +++ .gems/doc/json-1.8.1/rdoc/js/darkfish.js | 118 + .gems/doc/json-1.8.1/rdoc/js/jquery.js | 32 + .gems/doc/json-1.8.1/rdoc/js/quicksearch.js | 114 + .../json-1.8.1/rdoc/js/thickbox-compressed.js | 10 + .../rdoc/lib/json/add/bigdecimal_rb.html | 56 + .../rdoc/lib/json/add/complex_rb.html | 56 + .../json-1.8.1/rdoc/lib/json/add/core_rb.html | 71 + .../json-1.8.1/rdoc/lib/json/add/date_rb.html | 56 + .../rdoc/lib/json/add/date_time_rb.html | 56 + .../rdoc/lib/json/add/exception_rb.html | 54 + .../rdoc/lib/json/add/ostruct_rb.html | 56 + .../rdoc/lib/json/add/range_rb.html | 54 + .../rdoc/lib/json/add/rational_rb.html | 56 + .../rdoc/lib/json/add/regexp_rb.html | 54 + .../rdoc/lib/json/add/struct_rb.html | 54 + .../rdoc/lib/json/add/symbol_rb.html | 54 + .../json-1.8.1/rdoc/lib/json/add/time_rb.html | 54 + .../json-1.8.1/rdoc/lib/json/common_rb.html | 58 + .../doc/json-1.8.1/rdoc/lib/json/ext_rb.html | 60 + .../rdoc/lib/json/generic_object_rb.html | 54 + .../rdoc/lib/json/pure/generator_rb.html | 52 + .../rdoc/lib/json/pure/parser_rb.html | 54 + .../doc/json-1.8.1/rdoc/lib/json/pure_rb.html | 60 + .../json-1.8.1/rdoc/lib/json/version_rb.html | 52 + .gems/doc/json-1.8.1/rdoc/lib/json_rb.html | 60 + .gems/doc/json-1.8.1/rdoc/rdoc.css | 763 +++ .../doc/json-1.8.1/ri/BigDecimal/as_json-i.ri | Bin 0 -> 312 bytes .../ri/BigDecimal/cdesc-BigDecimal.ri | Bin 0 -> 293 bytes .../json-1.8.1/ri/BigDecimal/json_create-c.ri | Bin 0 -> 331 bytes .../doc/json-1.8.1/ri/BigDecimal/to_json-i.ri | Bin 0 -> 223 bytes .gems/doc/json-1.8.1/ri/Class/cdesc-Class.ri | Bin 0 -> 352 bytes .../ri/Class/json_creatable%3f-i.ri | Bin 0 -> 452 bytes .gems/doc/json-1.8.1/ri/Complex/as_json-i.ri | Bin 0 -> 158 bytes .../json-1.8.1/ri/Complex/cdesc-Complex.ri | Bin 0 -> 287 bytes .../json-1.8.1/ri/Complex/json_create-c.ri | Bin 0 -> 172 bytes .gems/doc/json-1.8.1/ri/Complex/to_json-i.ri | Bin 0 -> 158 bytes .gems/doc/json-1.8.1/ri/Date/as_json-i.ri | Bin 0 -> 277 bytes .gems/doc/json-1.8.1/ri/Date/cdesc-Date.ri | Bin 0 -> 365 bytes .gems/doc/json-1.8.1/ri/Date/json_create-c.ri | Bin 0 -> 353 bytes .gems/doc/json-1.8.1/ri/Date/to_json-i.ri | Bin 0 -> 340 bytes .gems/doc/json-1.8.1/ri/DateTime/as_json-i.ri | Bin 0 -> 286 bytes .../json-1.8.1/ri/DateTime/cdesc-DateTime.ri | Bin 0 -> 378 bytes .../json-1.8.1/ri/DateTime/json_create-c.ri | Bin 0 -> 440 bytes .gems/doc/json-1.8.1/ri/DateTime/to_json-i.ri | Bin 0 -> 434 bytes .../doc/json-1.8.1/ri/Exception/as_json-i.ri | Bin 0 -> 287 bytes .../ri/Exception/cdesc-Exception.ri | Bin 0 -> 380 bytes .../json-1.8.1/ri/Exception/json_create-c.ri | Bin 0 -> 363 bytes .../doc/json-1.8.1/ri/Exception/to_json-i.ri | Bin 0 -> 309 bytes .gems/doc/json-1.8.1/ri/JSON/%5b%5d-c.ri | Bin 0 -> 553 bytes .../cdesc-CircularDatastructure.ri | Bin 0 -> 259 bytes .gems/doc/json-1.8.1/ri/JSON/Ext/cdesc-Ext.ri | Bin 0 -> 370 bytes .../GeneratorError/cdesc-GeneratorError.ri | Bin 0 -> 380 bytes .../ri/JSON/GenericObject/%5b%5d%3d-i.ri | Bin 0 -> 175 bytes .../ri/JSON/GenericObject/%5b%5d-i.ri | Bin 0 -> 166 bytes .../json-1.8.1/ri/JSON/GenericObject/%7c-i.ri | Bin 0 -> 165 bytes .../ri/JSON/GenericObject/as_json-i.ri | Bin 0 -> 173 bytes .../JSON/GenericObject/cdesc-GenericObject.ri | Bin 0 -> 493 bytes .../ri/JSON/GenericObject/dump-c.ri | Bin 0 -> 177 bytes .../ri/JSON/GenericObject/from_hash-c.ri | Bin 0 -> 183 bytes .../JSON/GenericObject/json_creatable%3f-c.ri | Bin 0 -> 189 bytes .../ri/JSON/GenericObject/json_creatable-c.ri | Bin 0 -> 177 bytes .../ri/JSON/GenericObject/json_create-c.ri | Bin 0 -> 185 bytes .../ri/JSON/GenericObject/load-c.ri | Bin 0 -> 196 bytes .../ri/JSON/GenericObject/to_hash-i.ri | Bin 0 -> 172 bytes .../ri/JSON/GenericObject/to_json-i.ri | Bin 0 -> 174 bytes .../ri/JSON/JSONError/cdesc-JSONError.ri | Bin 0 -> 353 bytes .../json-1.8.1/ri/JSON/JSONError/wrap-c.ri | Bin 0 -> 164 bytes .../cdesc-MissingUnicodeSupport.ri | Bin 0 -> 477 bytes .../JSON/NestingError/cdesc-NestingError.ri | Bin 0 -> 397 bytes .../ri/JSON/ParserError/cdesc-ParserError.ri | Bin 0 -> 359 bytes .../GeneratorMethods/Array/cdesc-Array.ri | Bin 0 -> 288 bytes .../GeneratorMethods/Array/to_json-i.ri | Bin 0 -> 467 bytes .../FalseClass/cdesc-FalseClass.ri | Bin 0 -> 298 bytes .../GeneratorMethods/FalseClass/to_json-i.ri | Bin 0 -> 284 bytes .../GeneratorMethods/Float/cdesc-Float.ri | Bin 0 -> 288 bytes .../GeneratorMethods/Float/to_json-i.ri | Bin 0 -> 310 bytes .../GeneratorMethods/Hash/cdesc-Hash.ri | Bin 0 -> 286 bytes .../GeneratorMethods/Hash/to_json-i.ri | Bin 0 -> 538 bytes .../GeneratorMethods/Integer/cdesc-Integer.ri | Bin 0 -> 292 bytes .../GeneratorMethods/Integer/to_json-i.ri | Bin 0 -> 301 bytes .../NilClass/cdesc-NilClass.ri | Bin 0 -> 294 bytes .../GeneratorMethods/NilClass/to_json-i.ri | Bin 0 -> 279 bytes .../GeneratorMethods/Object/cdesc-Object.ri | Bin 0 -> 290 bytes .../GeneratorMethods/Object/to_json-i.ri | Bin 0 -> 433 bytes .../String/Extend/cdesc-Extend.ri | Bin 0 -> 432 bytes .../String/Extend/json_create-i.ri | Bin 0 -> 407 bytes .../GeneratorMethods/String/cdesc-String.ri | Bin 0 -> 360 bytes .../GeneratorMethods/String/included-c.ri | Bin 0 -> 293 bytes .../GeneratorMethods/String/to_json-i.ri | Bin 0 -> 404 bytes .../GeneratorMethods/String/to_json_raw-i.ri | Bin 0 -> 352 bytes .../String/to_json_raw_object-i.ri | Bin 0 -> 516 bytes .../TrueClass/cdesc-TrueClass.ri | Bin 0 -> 296 bytes .../GeneratorMethods/TrueClass/to_json-i.ri | Bin 0 -> 281 bytes .../cdesc-GeneratorMethods.ri | Bin 0 -> 243 bytes .../JSON/Pure/Generator/State/%5b%5d%3d-i.ri | Bin 0 -> 184 bytes .../ri/JSON/Pure/Generator/State/%5b%5d-i.ri | Bin 0 -> 256 bytes .../Pure/Generator/State/allow_nan%3f-i.ri | Bin 0 -> 322 bytes .../JSON/Pure/Generator/State/array_nl-i.ri | 2 + .../Pure/Generator/State/ascii_only%3f-i.ri | Bin 0 -> 317 bytes .../JSON/Pure/Generator/State/cdesc-State.ri | Bin 0 -> 940 bytes .../Generator/State/check_circular%3f-i.ri | Bin 0 -> 320 bytes .../JSON/Pure/Generator/State/configure-i.ri | Bin 0 -> 328 bytes .../ri/JSON/Pure/Generator/State/depth-i.ri | 3 + .../JSON/Pure/Generator/State/from_state-c.ri | Bin 0 -> 460 bytes .../JSON/Pure/Generator/State/generate-i.ri | Bin 0 -> 397 bytes .../ri/JSON/Pure/Generator/State/indent-i.ri | 2 + .../Pure/Generator/State/max_nesting-i.ri | 2 + .../ri/JSON/Pure/Generator/State/merge-i.ri | Bin 0 -> 181 bytes .../ri/JSON/Pure/Generator/State/new-c.ri | Bin 0 -> 1546 bytes .../JSON/Pure/Generator/State/object_nl-i.ri | 2 + .../Pure/Generator/State/quirks_mode%3f-i.ri | Bin 0 -> 294 bytes .../Pure/Generator/State/quirks_mode-i.ri | 2 + .../ri/JSON/Pure/Generator/State/space-i.ri | 3 + .../Pure/Generator/State/space_before-i.ri | 2 + .../ri/JSON/Pure/Generator/State/to_h-i.ri | Bin 0 -> 345 bytes .../ri/JSON/Pure/Generator/State/to_hash-i.ri | Bin 0 -> 181 bytes .../ri/JSON/Pure/Generator/cdesc-Generator.ri | Bin 0 -> 218 bytes .../ri/JSON/Pure/Parser/cdesc-Parser.ri | Bin 0 -> 1125 bytes .../json-1.8.1/ri/JSON/Pure/Parser/new-c.ri | Bin 0 -> 1506 bytes .../json-1.8.1/ri/JSON/Pure/Parser/parse-i.ri | Bin 0 -> 300 bytes .../ri/JSON/Pure/Parser/quirks_mode%3f-i.ri | Bin 0 -> 178 bytes .../json-1.8.1/ri/JSON/Pure/Parser/reset-i.ri | Bin 0 -> 164 bytes .../doc/json-1.8.1/ri/JSON/Pure/cdesc-Pure.ri | Bin 0 -> 370 bytes .../JSON/UnparserError/cdesc-UnparserError.ri | Bin 0 -> 378 bytes .gems/doc/json-1.8.1/ri/JSON/cdesc-JSON.ri | Bin 0 -> 3181 bytes .../ri/JSON/const_defined_in%3f-c.ri | Bin 0 -> 185 bytes .gems/doc/json-1.8.1/ri/JSON/create_id-c.ri | 2 + .gems/doc/json-1.8.1/ri/JSON/dump-i.ri | Bin 0 -> 915 bytes .../ri/JSON/dump_default_options-c.ri | 4 + .../doc/json-1.8.1/ri/JSON/fast_generate-i.ri | Bin 0 -> 550 bytes .gems/doc/json-1.8.1/ri/JSON/generate-i.ri | Bin 0 -> 2005 bytes .gems/doc/json-1.8.1/ri/JSON/generator-c.ri | 2 + .gems/doc/json-1.8.1/ri/JSON/iconv-c.ri | Bin 0 -> 243 bytes .gems/doc/json-1.8.1/ri/JSON/load-i.ri | Bin 0 -> 1108 bytes .../ri/JSON/load_default_options-c.ri | 4 + .gems/doc/json-1.8.1/ri/JSON/parse%21-i.ri | Bin 0 -> 1265 bytes .gems/doc/json-1.8.1/ri/JSON/parse-i.ri | Bin 0 -> 1296 bytes .gems/doc/json-1.8.1/ri/JSON/parser-c.ri | 2 + .../json-1.8.1/ri/JSON/pretty_generate-i.ri | Bin 0 -> 547 bytes .../doc/json-1.8.1/ri/JSON/recurse_proc-i.ri | Bin 0 -> 294 bytes .gems/doc/json-1.8.1/ri/JSON/restore-c.ri | Bin 0 -> 182 bytes .gems/doc/json-1.8.1/ri/JSON/state-c.ri | 3 + .../doc/json-1.8.1/ri/JSON/valid_utf8%3f-c.ri | Bin 0 -> 172 bytes .../doc/json-1.8.1/ri/Kernel/cdesc-Kernel.ri | Bin 0 -> 189 bytes .../doc/json-1.8.1/ri/OpenStruct/as_json-i.ri | Bin 0 -> 286 bytes .../ri/OpenStruct/cdesc-OpenStruct.ri | Bin 0 -> 380 bytes .../json-1.8.1/ri/OpenStruct/json_create-c.ri | Bin 0 -> 332 bytes .../doc/json-1.8.1/ri/OpenStruct/to_json-i.ri | Bin 0 -> 294 bytes .gems/doc/json-1.8.1/ri/Range/as_json-i.ri | Bin 0 -> 279 bytes .gems/doc/json-1.8.1/ri/Range/cdesc-Range.ri | Bin 0 -> 368 bytes .../doc/json-1.8.1/ri/Range/json_create-c.ri | Bin 0 -> 327 bytes .gems/doc/json-1.8.1/ri/Range/to_json-i.ri | Bin 0 -> 390 bytes .gems/doc/json-1.8.1/ri/Rational/as_json-i.ri | Bin 0 -> 160 bytes .../json-1.8.1/ri/Rational/cdesc-Rational.ri | Bin 0 -> 289 bytes .../json-1.8.1/ri/Rational/json_create-c.ri | Bin 0 -> 174 bytes .gems/doc/json-1.8.1/ri/Rational/to_json-i.ri | Bin 0 -> 160 bytes .gems/doc/json-1.8.1/ri/Regexp/as_json-i.ri | Bin 0 -> 281 bytes .../doc/json-1.8.1/ri/Regexp/cdesc-Regexp.ri | Bin 0 -> 371 bytes .../doc/json-1.8.1/ri/Regexp/json_create-c.ri | Bin 0 -> 374 bytes .gems/doc/json-1.8.1/ri/Regexp/to_json-i.ri | Bin 0 -> 306 bytes .gems/doc/json-1.8.1/ri/Struct/as_json-i.ri | Bin 0 -> 281 bytes .../doc/json-1.8.1/ri/Struct/cdesc-Struct.ri | Bin 0 -> 371 bytes .../doc/json-1.8.1/ri/Struct/json_create-c.ri | Bin 0 -> 327 bytes .gems/doc/json-1.8.1/ri/Struct/to_json-i.ri | Bin 0 -> 312 bytes .gems/doc/json-1.8.1/ri/Symbol/as_json-i.ri | Bin 0 -> 281 bytes .../doc/json-1.8.1/ri/Symbol/cdesc-Symbol.ri | Bin 0 -> 371 bytes .../doc/json-1.8.1/ri/Symbol/json_create-c.ri | Bin 0 -> 300 bytes .gems/doc/json-1.8.1/ri/Symbol/to_json-i.ri | Bin 0 -> 276 bytes .gems/doc/json-1.8.1/ri/Time/as_json-i.ri | Bin 0 -> 277 bytes .gems/doc/json-1.8.1/ri/Time/cdesc-Time.ri | Bin 0 -> 365 bytes .gems/doc/json-1.8.1/ri/Time/json_create-c.ri | Bin 0 -> 267 bytes .gems/doc/json-1.8.1/ri/Time/to_json-i.ri | Bin 0 -> 310 bytes .gems/doc/json-1.8.1/ri/cache.ri | 17 + .gems/doc/json-1.8.1/ri/created.rid | 23 + .gems/doc/twitter-5.11.0/rdoc/Twitter.html | 697 +++ .../rdoc/Twitter/Arguments.html | 420 ++ .../doc/twitter-5.11.0/rdoc/Twitter/Base.html | 866 ++++ .../rdoc/Twitter/BasicUser.html | 368 ++ .../twitter-5.11.0/rdoc/Twitter/Client.html | 673 +++ .../rdoc/Twitter/Configuration.html | 527 +++ .../rdoc/Twitter/Creatable.html | 436 ++ .../twitter-5.11.0/rdoc/Twitter/Cursor.html | 459 ++ .../rdoc/Twitter/DirectMessage.html | 399 ++ .../twitter-5.11.0/rdoc/Twitter/Entities.html | 825 ++++ .../twitter-5.11.0/rdoc/Twitter/Entity.html | 421 ++ .../rdoc/Twitter/Entity/Hashtag.html | 368 ++ .../rdoc/Twitter/Entity/Symbol.html | 368 ++ .../rdoc/Twitter/Entity/URI.html | 346 ++ .../rdoc/Twitter/Entity/UserMention.html | 398 ++ .../rdoc/Twitter/Enumerable.html | 408 ++ .../twitter-5.11.0/rdoc/Twitter/Error.html | 643 +++ .../rdoc/Twitter/Error/AlreadyFavorited.html | 348 ++ .../rdoc/Twitter/Error/AlreadyRetweeted.html | 348 ++ .../rdoc/Twitter/Error/BadGateway.html | 349 ++ .../rdoc/Twitter/Error/BadRequest.html | 349 ++ .../rdoc/Twitter/Error/ClientError.html | 349 ++ .../rdoc/Twitter/Error/Code.html | 449 ++ .../Twitter/Error/ConfigurationError.html | 346 ++ .../rdoc/Twitter/Error/DuplicateStatus.html | 348 ++ .../rdoc/Twitter/Error/Forbidden.html | 349 ++ .../rdoc/Twitter/Error/GatewayTimeout.html | 349 ++ .../Twitter/Error/InternalServerError.html | 349 ++ .../rdoc/Twitter/Error/NotAcceptable.html | 349 ++ .../rdoc/Twitter/Error/NotFound.html | 349 ++ .../rdoc/Twitter/Error/RequestTimeout.html | 349 ++ .../rdoc/Twitter/Error/ServerError.html | 349 ++ .../Twitter/Error/ServiceUnavailable.html | 349 ++ .../rdoc/Twitter/Error/TooManyRequests.html | 349 ++ .../rdoc/Twitter/Error/UnacceptableIO.html | 398 ++ .../rdoc/Twitter/Error/Unauthorized.html | 349 ++ .../Twitter/Error/UnprocessableEntity.html | 349 ++ .../twitter-5.11.0/rdoc/Twitter/Factory.html | 401 ++ .../doc/twitter-5.11.0/rdoc/Twitter/Geo.html | 413 ++ .../rdoc/Twitter/Geo/Point.html | 531 +++ .../rdoc/Twitter/Geo/Polygon.html | 346 ++ .../rdoc/Twitter/GeoFactory.html | 399 ++ .../rdoc/Twitter/GeoResults.html | 494 ++ .../twitter-5.11.0/rdoc/Twitter/Identity.html | 434 ++ .../twitter-5.11.0/rdoc/Twitter/Language.html | 398 ++ .../doc/twitter-5.11.0/rdoc/Twitter/List.html | 694 +++ .../twitter-5.11.0/rdoc/Twitter/Media.html | 348 ++ .../rdoc/Twitter/Media/Photo.html | 422 ++ .../rdoc/Twitter/MediaFactory.html | 399 ++ .../twitter-5.11.0/rdoc/Twitter/Metadata.html | 383 ++ .../twitter-5.11.0/rdoc/Twitter/OEmbed.html | 473 ++ .../twitter-5.11.0/rdoc/Twitter/Place.html | 578 +++ .../twitter-5.11.0/rdoc/Twitter/Profile.html | 752 +++ .../rdoc/Twitter/ProfileBanner.html | 400 ++ .../doc/twitter-5.11.0/rdoc/Twitter/REST.html | 459 ++ .../twitter-5.11.0/rdoc/Twitter/REST/API.html | 414 ++ .../rdoc/Twitter/REST/Client.html | 741 +++ .../rdoc/Twitter/REST/DirectMessages.html | 791 ++++ .../rdoc/Twitter/REST/Favorites.html | 790 ++++ .../Twitter/REST/FriendsAndFollowers.html | 1323 ++++++ .../rdoc/Twitter/REST/Help.html | 534 +++ .../rdoc/Twitter/REST/Lists.html | 1463 ++++++ .../rdoc/Twitter/REST/Media.html | 405 ++ .../rdoc/Twitter/REST/OAuth.html | 552 +++ .../rdoc/Twitter/REST/PlacesAndGeo.html | 676 +++ .../rdoc/Twitter/REST/Request.html | 348 ++ .../REST/Request/MultipartWithFile.html | 427 ++ .../rdoc/Twitter/REST/Response.html | 358 ++ .../Twitter/REST/Response/ParseErrorJson.html | 395 ++ .../rdoc/Twitter/REST/Response/ParseJson.html | 483 ++ .../Twitter/REST/Response/RaiseError.html | 403 ++ .../rdoc/Twitter/REST/SavedSearches.html | 582 +++ .../rdoc/Twitter/REST/Search.html | 443 ++ .../rdoc/Twitter/REST/SpamReporting.html | 417 ++ .../rdoc/Twitter/REST/SuggestedUsers.html | 464 ++ .../rdoc/Twitter/REST/Timelines.html | 860 ++++ .../rdoc/Twitter/REST/Trends.html | 609 +++ .../rdoc/Twitter/REST/Tweets.html | 1208 +++++ .../rdoc/Twitter/REST/Undocumented.html | 457 ++ .../rdoc/Twitter/REST/Users.html | 1693 +++++++ .../rdoc/Twitter/REST/Utils.html | 368 ++ .../rdoc/Twitter/RateLimit.html | 538 +++ .../rdoc/Twitter/Relationship.html | 397 ++ .../twitter-5.11.0/rdoc/Twitter/Request.html | 642 +++ .../rdoc/Twitter/SavedSearch.html | 410 ++ .../rdoc/Twitter/SearchResults.html | 456 ++ .../twitter-5.11.0/rdoc/Twitter/Settings.html | 413 ++ .../doc/twitter-5.11.0/rdoc/Twitter/Size.html | 440 ++ .../rdoc/Twitter/SourceUser.html | 346 ++ .../rdoc/Twitter/Streaming.html | 396 ++ .../rdoc/Twitter/Streaming/Client.html | 780 +++ .../rdoc/Twitter/Streaming/Connection.html | 482 ++ .../rdoc/Twitter/Streaming/DeletedTweet.html | 368 ++ .../rdoc/Twitter/Streaming/Event.html | 483 ++ .../rdoc/Twitter/Streaming/FriendList.html | 346 ++ .../rdoc/Twitter/Streaming/MessageParser.html | 407 ++ .../rdoc/Twitter/Streaming/Response.html | 514 ++ .../rdoc/Twitter/Streaming/StallWarning.html | 398 ++ .../rdoc/Twitter/Suggestion.html | 461 ++ .../rdoc/Twitter/TargetUser.html | 346 ++ .../twitter-5.11.0/rdoc/Twitter/Token.html | 460 ++ .../twitter-5.11.0/rdoc/Twitter/Trend.html | 410 ++ .../rdoc/Twitter/TrendResults.html | 609 +++ .../twitter-5.11.0/rdoc/Twitter/Tweet.html | 658 +++ .../doc/twitter-5.11.0/rdoc/Twitter/User.html | 911 ++++ .../twitter-5.11.0/rdoc/Twitter/Utils.html | 481 ++ .../rdoc/Twitter/Utils/ClassMethods.html | 394 ++ .../twitter-5.11.0/rdoc/Twitter/Version.html | 423 ++ .gems/doc/twitter-5.11.0/rdoc/created.rid | 84 + .../doc/twitter-5.11.0/rdoc/images/brick.png | Bin 0 -> 452 bytes .../twitter-5.11.0/rdoc/images/brick_link.png | Bin 0 -> 764 bytes .gems/doc/twitter-5.11.0/rdoc/images/bug.png | Bin 0 -> 774 bytes .../rdoc/images/bullet_black.png | Bin 0 -> 211 bytes .../rdoc/images/bullet_toggle_minus.png | Bin 0 -> 207 bytes .../rdoc/images/bullet_toggle_plus.png | Bin 0 -> 209 bytes .gems/doc/twitter-5.11.0/rdoc/images/date.png | Bin 0 -> 626 bytes .gems/doc/twitter-5.11.0/rdoc/images/find.png | Bin 0 -> 659 bytes .../rdoc/images/loadingAnimation.gif | Bin 0 -> 5886 bytes .../rdoc/images/macFFBgHack.png | Bin 0 -> 207 bytes .../twitter-5.11.0/rdoc/images/package.png | Bin 0 -> 853 bytes .../twitter-5.11.0/rdoc/images/page_green.png | Bin 0 -> 621 bytes .../rdoc/images/page_white_text.png | Bin 0 -> 342 bytes .../rdoc/images/page_white_width.png | Bin 0 -> 309 bytes .../doc/twitter-5.11.0/rdoc/images/plugin.png | Bin 0 -> 591 bytes .gems/doc/twitter-5.11.0/rdoc/images/ruby.png | Bin 0 -> 592 bytes .../twitter-5.11.0/rdoc/images/tag_green.png | Bin 0 -> 613 bytes .../doc/twitter-5.11.0/rdoc/images/wrench.png | Bin 0 -> 610 bytes .../rdoc/images/wrench_orange.png | Bin 0 -> 584 bytes .gems/doc/twitter-5.11.0/rdoc/images/zoom.png | Bin 0 -> 692 bytes .gems/doc/twitter-5.11.0/rdoc/index.html | 813 ++++ .gems/doc/twitter-5.11.0/rdoc/js/darkfish.js | 118 + .gems/doc/twitter-5.11.0/rdoc/js/jquery.js | 32 + .../doc/twitter-5.11.0/rdoc/js/quicksearch.js | 114 + .../rdoc/js/thickbox-compressed.js | 10 + .../rdoc/lib/twitter/arguments_rb.html | 52 + .../rdoc/lib/twitter/base_rb.html | 62 + .../rdoc/lib/twitter/basic_user_rb.html | 56 + .../rdoc/lib/twitter/client_rb.html | 62 + .../rdoc/lib/twitter/configuration_rb.html | 54 + .../rdoc/lib/twitter/creatable_rb.html | 56 + .../rdoc/lib/twitter/cursor_rb.html | 56 + .../rdoc/lib/twitter/direct_message_rb.html | 58 + .../rdoc/lib/twitter/entities_rb.html | 64 + .../rdoc/lib/twitter/entity/hashtag_rb.html | 54 + .../rdoc/lib/twitter/entity/symbol_rb.html | 54 + .../rdoc/lib/twitter/entity/uri_rb.html | 54 + .../lib/twitter/entity/user_mention_rb.html | 54 + .../rdoc/lib/twitter/entity_rb.html | 54 + .../rdoc/lib/twitter/enumerable_rb.html | 52 + .../rdoc/lib/twitter/error_rb.html | 54 + .../rdoc/lib/twitter/factory_rb.html | 52 + .../rdoc/lib/twitter/geo/point_rb.html | 54 + .../rdoc/lib/twitter/geo/polygon_rb.html | 54 + .../rdoc/lib/twitter/geo_factory_rb.html | 58 + .../rdoc/lib/twitter/geo_rb.html | 56 + .../rdoc/lib/twitter/geo_results_rb.html | 56 + .../rdoc/lib/twitter/identity_rb.html | 56 + .../rdoc/lib/twitter/language_rb.html | 54 + .../rdoc/lib/twitter/list_rb.html | 56 + .../rdoc/lib/twitter/media/photo_rb.html | 54 + .../rdoc/lib/twitter/media_factory_rb.html | 56 + .../rdoc/lib/twitter/metadata_rb.html | 54 + .../rdoc/lib/twitter/null_object_rb.html | 54 + .../rdoc/lib/twitter/oembed_rb.html | 54 + .../rdoc/lib/twitter/place_rb.html | 56 + .../rdoc/lib/twitter/profile_banner_rb.html | 54 + .../rdoc/lib/twitter/profile_rb.html | 56 + .../rdoc/lib/twitter/rate_limit_rb.html | 52 + .../rdoc/lib/twitter/relationship_rb.html | 54 + .../rdoc/lib/twitter/request_rb.html | 54 + .../rdoc/lib/twitter/rest/api_rb.html | 86 + .../rdoc/lib/twitter/rest/client_rb.html | 74 + .../lib/twitter/rest/direct_messages_rb.html | 64 + .../rdoc/lib/twitter/rest/favorites_rb.html | 66 + .../rest/friends_and_followers_rb.html | 66 + .../rdoc/lib/twitter/rest/help_rb.html | 60 + .../rdoc/lib/twitter/rest/lists_rb.html | 70 + .../rdoc/lib/twitter/rest/media_rb.html | 56 + .../rdoc/lib/twitter/rest/oauth_rb.html | 60 + .../lib/twitter/rest/places_and_geo_rb.html | 60 + .../rest/request/multipart_with_file_rb.html | 54 + .../rest/response/parse_error_json_rb.html | 54 + .../twitter/rest/response/parse_json_rb.html | 56 + .../twitter/rest/response/raise_error_rb.html | 56 + .../lib/twitter/rest/saved_searches_rb.html | 62 + .../rdoc/lib/twitter/rest/search_rb.html | 56 + .../lib/twitter/rest/spam_reporting_rb.html | 58 + .../lib/twitter/rest/suggested_users_rb.html | 62 + .../rdoc/lib/twitter/rest/timelines_rb.html | 60 + .../rdoc/lib/twitter/rest/trends_rb.html | 60 + .../rdoc/lib/twitter/rest/tweets_rb.html | 66 + .../lib/twitter/rest/undocumented_rb.html | 62 + .../rdoc/lib/twitter/rest/users_rb.html | 68 + .../rdoc/lib/twitter/rest/utils_rb.html | 62 + .../rdoc/lib/twitter/saved_search_rb.html | 56 + .../rdoc/lib/twitter/search_results_rb.html | 60 + .../rdoc/lib/twitter/settings_rb.html | 54 + .../rdoc/lib/twitter/size_rb.html | 56 + .../rdoc/lib/twitter/source_user_rb.html | 54 + .../rdoc/lib/twitter/streaming/client_rb.html | 64 + .../lib/twitter/streaming/connection_rb.html | 58 + .../twitter/streaming/deleted_tweet_rb.html | 52 + .../rdoc/lib/twitter/streaming/event_rb.html | 52 + .../lib/twitter/streaming/friend_list_rb.html | 52 + .../twitter/streaming/message_parser_rb.html | 64 + .../lib/twitter/streaming/response_rb.html | 54 + .../twitter/streaming/stall_warning_rb.html | 52 + .../rdoc/lib/twitter/suggestion_rb.html | 56 + .../rdoc/lib/twitter/target_user_rb.html | 54 + .../rdoc/lib/twitter/token_rb.html | 54 + .../rdoc/lib/twitter/trend_rb.html | 56 + .../rdoc/lib/twitter/trend_results_rb.html | 62 + .../rdoc/lib/twitter/tweet_rb.html | 58 + .../rdoc/lib/twitter/user_rb.html | 64 + .../rdoc/lib/twitter/utils_rb.html | 52 + .../rdoc/lib/twitter/version_rb.html | 52 + .../twitter-5.11.0/rdoc/lib/twitter_rb.html | 114 + .gems/doc/twitter-5.11.0/rdoc/rdoc.css | 763 +++ .../ri/Twitter/Arguments/cdesc-Arguments.ri | Bin 0 -> 297 bytes .../ri/Twitter/Arguments/new-c.ri | Bin 0 -> 308 bytes .../ri/Twitter/Arguments/options-i.ri | Bin 0 -> 159 bytes .../ri/Twitter/Base/%5b%5d-i.ri | Bin 0 -> 348 bytes .../ri/Twitter/Base/attr_reader-c.ri | Bin 0 -> 336 bytes .../twitter-5.11.0/ri/Twitter/Base/attrs-i.ri | Bin 0 -> 145 bytes .../ri/Twitter/Base/cdesc-Base.ri | Bin 0 -> 658 bytes .../Twitter/Base/define_attribute_method-c.ri | Bin 0 -> 420 bytes .../Twitter/Base/define_predicate_method-c.ri | Bin 0 -> 390 bytes .../ri/Twitter/Base/define_uri_method-c.ri | Bin 0 -> 354 bytes .../Base/deprecate_attribute_method-c.ri | Bin 0 -> 344 bytes .../Twitter/Base/display_uri_attr_reader-c.ri | Bin 0 -> 266 bytes .../twitter-5.11.0/ri/Twitter/Base/new-c.ri | Bin 0 -> 315 bytes .../ri/Twitter/Base/object_attr_reader-c.ri | Bin 0 -> 397 bytes .../Twitter/Base/predicate_attr_reader-c.ri | Bin 0 -> 194 bytes .../twitter-5.11.0/ri/Twitter/Base/to_h-i.ri | Bin 0 -> 143 bytes .../ri/Twitter/Base/uri_attr_reader-c.ri | Bin 0 -> 324 bytes .../ri/Twitter/BasicUser/cdesc-BasicUser.ri | Bin 0 -> 300 bytes .../ri/Twitter/BasicUser/screen_name-i.ri | Bin 0 -> 168 bytes .../ri/Twitter/Client/access_token-i.ri | Bin 0 -> 164 bytes .../Twitter/Client/access_token_secret-i.ri | Bin 0 -> 178 bytes .../ri/Twitter/Client/cdesc-Client.ri | Bin 0 -> 594 bytes .../ri/Twitter/Client/consumer_key-i.ri | Bin 0 -> 164 bytes .../ri/Twitter/Client/consumer_secret-i.ri | Bin 0 -> 170 bytes .../ri/Twitter/Client/credentials%3f-i.ri | Bin 0 -> 228 bytes .../ri/Twitter/Client/credentials-i.ri | Bin 0 -> 223 bytes .../twitter-5.11.0/ri/Twitter/Client/new-c.ri | Bin 0 -> 342 bytes .../ri/Twitter/Client/proxy-i.ri | Bin 0 -> 150 bytes .../ri/Twitter/Client/user_agent-i.ri | Bin 0 -> 159 bytes .../ri/Twitter/Client/user_token%3f-i.ri | Bin 0 -> 226 bytes .../Configuration/cdesc-Configuration.ri | Bin 0 -> 589 bytes .../characters_reserved_per_media-i.ri | Bin 0 -> 211 bytes .../Configuration/max_media_per_upload-i.ri | Bin 0 -> 193 bytes .../Configuration/non_username_paths-i.ri | Bin 0 -> 189 bytes .../Configuration/photo_size_limit-i.ri | Bin 0 -> 185 bytes .../ri/Twitter/Configuration/photo_sizes-i.ri | Bin 0 -> 326 bytes .../Configuration/short_uri_length-i.ri | Bin 0 -> 185 bytes .../Configuration/short_uri_length_https-i.ri | Bin 0 -> 197 bytes .../Configuration/short_url_length-i.ri | Bin 0 -> 185 bytes .../Configuration/short_url_length_https-i.ri | Bin 0 -> 197 bytes .../ri/Twitter/Creatable/cdesc-Creatable.ri | Bin 0 -> 316 bytes .../ri/Twitter/Creatable/created%3f-i.ri | Bin 0 -> 226 bytes .../ri/Twitter/Creatable/created_at-i.ri | Bin 0 -> 312 bytes .../ri/Twitter/Cursor/attrs-i.ri | Bin 0 -> 149 bytes .../ri/Twitter/Cursor/cdesc-Cursor.ri | Bin 0 -> 384 bytes .../twitter-5.11.0/ri/Twitter/Cursor/new-c.ri | Bin 0 -> 531 bytes .../ri/Twitter/Cursor/to_h-i.ri | Bin 0 -> 147 bytes .../DirectMessage/cdesc-DirectMessage.ri | Bin 0 -> 409 bytes .../ri/Twitter/DirectMessage/full_text-i.ri | Bin 0 -> 172 bytes .../ri/Twitter/DirectMessage/text-i.ri | Bin 0 -> 162 bytes .../ri/Twitter/Entities/cdesc-Entities.ri | Bin 0 -> 513 bytes .../ri/Twitter/Entities/entities%3f-i.ri | Bin 0 -> 226 bytes .../ri/Twitter/Entities/hashtags%3f-i.ri | Bin 0 -> 226 bytes .../ri/Twitter/Entities/hashtags-i.ri | Bin 0 -> 322 bytes .../ri/Twitter/Entities/media%3f-i.ri | Bin 0 -> 220 bytes .../ri/Twitter/Entities/media-i.ri | Bin 0 -> 306 bytes .../ri/Twitter/Entities/symbols%3f-i.ri | Bin 0 -> 224 bytes .../ri/Twitter/Entities/symbols-i.ri | Bin 0 -> 319 bytes .../ri/Twitter/Entities/uris%3f-i.ri | Bin 0 -> 243 bytes .../ri/Twitter/Entities/uris-i.ri | Bin 0 -> 334 bytes .../ri/Twitter/Entities/urls%3f-i.ri | Bin 0 -> 163 bytes .../ri/Twitter/Entities/urls-i.ri | Bin 0 -> 161 bytes .../ri/Twitter/Entities/user_mentions%3f-i.ri | Bin 0 -> 236 bytes .../ri/Twitter/Entities/user_mentions-i.ri | Bin 0 -> 336 bytes .../Twitter/Entity/Hashtag/cdesc-Hashtag.ri | Bin 0 -> 299 bytes .../ri/Twitter/Entity/Hashtag/text-i.ri | Bin 0 -> 164 bytes .../ri/Twitter/Entity/Symbol/cdesc-Symbol.ri | Bin 0 -> 296 bytes .../ri/Twitter/Entity/Symbol/text-i.ri | Bin 0 -> 162 bytes .../ri/Twitter/Entity/URI/cdesc-URI.ri | Bin 0 -> 231 bytes .../ri/Twitter/Entity/URL/cdesc-URL.ri | Bin 0 -> 231 bytes .../Entity/UserMention/cdesc-UserMention.ri | Bin 0 -> 357 bytes .../ri/Twitter/Entity/UserMention/id-i.ri | Bin 0 -> 169 bytes .../ri/Twitter/Entity/UserMention/name-i.ri | Bin 0 -> 173 bytes .../Entity/UserMention/screen_name-i.ri | Bin 0 -> 187 bytes .../ri/Twitter/Entity/cdesc-Entity.ri | Bin 0 -> 387 bytes .../ri/Twitter/Entity/indices-i.ri | Bin 0 -> 153 bytes .../ri/Twitter/Enumerable/cdesc-Enumerable.ri | Bin 0 -> 296 bytes .../ri/Twitter/Enumerable/each-i.ri | Bin 0 -> 245 bytes .../cdesc-AlreadyFavorited.ri | Bin 0 -> 387 bytes .../cdesc-AlreadyRetweeted.ri | Bin 0 -> 387 bytes .../Error/BadGateway/cdesc-BadGateway.ri | Bin 0 -> 383 bytes .../Error/BadRequest/cdesc-BadRequest.ri | Bin 0 -> 383 bytes .../Error/ClientError/cdesc-ClientError.ri | Bin 0 -> 360 bytes .../ri/Twitter/Error/Code/cdesc-Code.ri | Bin 0 -> 1191 bytes .../cdesc-ConfigurationError.ri | Bin 0 -> 258 bytes .../DuplicateStatus/cdesc-DuplicateStatus.ri | Bin 0 -> 382 bytes .../Error/Forbidden/cdesc-Forbidden.ri | Bin 0 -> 381 bytes .../GatewayTimeout/cdesc-GatewayTimeout.ri | Bin 0 -> 391 bytes .../cdesc-InternalServerError.ri | Bin 0 -> 401 bytes .../NotAcceptable/cdesc-NotAcceptable.ri | Bin 0 -> 389 bytes .../Twitter/Error/NotFound/cdesc-NotFound.ri | Bin 0 -> 379 bytes .../RequestTimeout/cdesc-RequestTimeout.ri | Bin 0 -> 391 bytes .../Error/ServerError/cdesc-ServerError.ri | Bin 0 -> 360 bytes .../cdesc-ServiceUnavailable.ri | Bin 0 -> 399 bytes .../TooManyRequests/cdesc-TooManyRequests.ri | Bin 0 -> 393 bytes .../UnacceptableIO/cdesc-UnacceptableIO.ri | Bin 0 -> 406 bytes .../ri/Twitter/Error/UnacceptableIO/new-c.ri | Bin 0 -> 170 bytes .../Error/Unauthorized/cdesc-Unauthorized.ri | Bin 0 -> 387 bytes .../cdesc-UnprocessableEntity.ri | Bin 0 -> 401 bytes .../ri/Twitter/Error/cdesc-Error.ri | Bin 0 -> 623 bytes .../twitter-5.11.0/ri/Twitter/Error/code-i.ri | Bin 0 -> 145 bytes .../ri/Twitter/Error/errors-c.ri | Bin 0 -> 212 bytes .../ri/Twitter/Error/forbidden_messages-c.ri | Bin 0 -> 184 bytes .../ri/Twitter/Error/from_response-c.ri | Bin 0 -> 368 bytes .../twitter-5.11.0/ri/Twitter/Error/new-c.ri | Bin 0 -> 429 bytes .../ri/Twitter/Error/rate_limit-i.ri | Bin 0 -> 157 bytes .../ri/Twitter/Factory/cdesc-Factory.ri | Bin 0 -> 263 bytes .../ri/Twitter/Factory/new-c.ri | Bin 0 -> 470 bytes .../ri/Twitter/Geo/Point/cdesc-Point.ri | Bin 0 -> 340 bytes .../ri/Twitter/Geo/Point/lat-i.ri | Bin 0 -> 162 bytes .../ri/Twitter/Geo/Point/latitude-i.ri | Bin 0 -> 250 bytes .../ri/Twitter/Geo/Point/lng-i.ri | Bin 0 -> 162 bytes .../ri/Twitter/Geo/Point/long-i.ri | Bin 0 -> 164 bytes .../ri/Twitter/Geo/Point/longitude-i.ri | Bin 0 -> 276 bytes .../ri/Twitter/Geo/Polygon/cdesc-Polygon.ri | Bin 0 -> 233 bytes .../ri/Twitter/Geo/cdesc-Geo.ri | Bin 0 -> 330 bytes .../ri/Twitter/Geo/coordinates-i.ri | Bin 0 -> 155 bytes .../twitter-5.11.0/ri/Twitter/Geo/coords-i.ri | Bin 0 -> 145 bytes .../ri/Twitter/GeoFactory/cdesc-GeoFactory.ri | Bin 0 -> 283 bytes .../ri/Twitter/GeoFactory/new-c.ri | Bin 0 -> 415 bytes .../ri/Twitter/GeoResults/attrs-i.ri | Bin 0 -> 158 bytes .../ri/Twitter/GeoResults/cdesc-GeoResults.ri | Bin 0 -> 413 bytes .../ri/Twitter/GeoResults/new-c.ri | Bin 0 -> 345 bytes .../ri/Twitter/GeoResults/to_h-i.ri | Bin 0 -> 156 bytes .../ri/Twitter/GeoResults/token-i.ri | Bin 0 -> 222 bytes .../ri/Twitter/Identity/cdesc-Identity.ri | Bin 0 -> 328 bytes .../ri/Twitter/Identity/id-i.ri | Bin 0 -> 147 bytes .../ri/Twitter/Identity/new-c.ri | Bin 0 -> 415 bytes .../ri/Twitter/Language/cdesc-Language.ri | Bin 0 -> 327 bytes .../ri/Twitter/Language/code-i.ri | Bin 0 -> 151 bytes .../ri/Twitter/Language/name-i.ri | Bin 0 -> 151 bytes .../ri/Twitter/Language/status-i.ri | Bin 0 -> 155 bytes .../ri/Twitter/List/cdesc-List.ri | Bin 0 -> 593 bytes .../ri/Twitter/List/description-i.ri | Bin 0 -> 157 bytes .../ri/Twitter/List/full_name-i.ri | Bin 0 -> 153 bytes .../ri/Twitter/List/member_count-i.ri | Bin 0 -> 159 bytes .../ri/Twitter/List/members_uri-i.ri | Bin 0 -> 291 bytes .../ri/Twitter/List/members_url-i.ri | Bin 0 -> 167 bytes .../twitter-5.11.0/ri/Twitter/List/mode-i.ri | Bin 0 -> 143 bytes .../twitter-5.11.0/ri/Twitter/List/name-i.ri | Bin 0 -> 143 bytes .../twitter-5.11.0/ri/Twitter/List/slug-i.ri | Bin 0 -> 143 bytes .../ri/Twitter/List/subscriber_count-i.ri | Bin 0 -> 167 bytes .../ri/Twitter/List/subscribers_uri-i.ri | Bin 0 -> 307 bytes .../ri/Twitter/List/subscribers_url-i.ri | Bin 0 -> 175 bytes .../twitter-5.11.0/ri/Twitter/List/uri-i.ri | Bin 0 -> 259 bytes .../twitter-5.11.0/ri/Twitter/List/url-i.ri | Bin 0 -> 151 bytes .../ri/Twitter/Media/Photo/cdesc-Photo.ri | Bin 0 -> 312 bytes .../ri/Twitter/Media/Photo/indices-i.ri | Bin 0 -> 164 bytes .../ri/Twitter/Media/Photo/sizes-i.ri | Bin 0 -> 311 bytes .../ri/Twitter/Media/cdesc-Media.ri | Bin 0 -> 207 bytes .../MediaFactory/cdesc-MediaFactory.ri | Bin 0 -> 289 bytes .../ri/Twitter/MediaFactory/new-c.ri | Bin 0 -> 423 bytes .../ri/Twitter/Metadata/cdesc-Metadata.ri | Bin 0 -> 325 bytes .../Twitter/Metadata/iso_language_code-i.ri | Bin 0 -> 177 bytes .../ri/Twitter/Metadata/result_type-i.ri | Bin 0 -> 165 bytes .../ri/Twitter/OEmbed/author_name-i.ri | Bin 0 -> 161 bytes .../ri/Twitter/OEmbed/cache_age-i.ri | Bin 0 -> 157 bytes .../ri/Twitter/OEmbed/cdesc-OEmbed.ri | Bin 0 -> 446 bytes .../ri/Twitter/OEmbed/height-i.ri | Bin 0 -> 151 bytes .../ri/Twitter/OEmbed/html-i.ri | Bin 0 -> 147 bytes .../ri/Twitter/OEmbed/provider_name-i.ri | Bin 0 -> 165 bytes .../ri/Twitter/OEmbed/type-i.ri | Bin 0 -> 147 bytes .../ri/Twitter/OEmbed/version-i.ri | Bin 0 -> 153 bytes .../ri/Twitter/OEmbed/width-i.ri | Bin 0 -> 149 bytes .../ri/Twitter/Place/attributes-i.ri | Bin 0 -> 157 bytes .../ri/Twitter/Place/cdesc-Place.ri | Bin 0 -> 432 bytes .../ri/Twitter/Place/country-i.ri | Bin 0 -> 151 bytes .../ri/Twitter/Place/country_code-i.ri | Bin 0 -> 225 bytes .../ri/Twitter/Place/full_name-i.ri | Bin 0 -> 155 bytes .../twitter-5.11.0/ri/Twitter/Place/name-i.ri | Bin 0 -> 145 bytes .../twitter-5.11.0/ri/Twitter/Place/new-c.ri | Bin 0 -> 407 bytes .../ri/Twitter/Place/parent_id-i.ri | Bin 0 -> 220 bytes .../ri/Twitter/Place/place_type-i.ri | Bin 0 -> 221 bytes .../ri/Twitter/Profile/cdesc-Profile.ri | Bin 0 -> 677 bytes .../Profile/profile_banner_uri%3f-i.ri | Bin 0 -> 244 bytes .../Twitter/Profile/profile_banner_uri-i.ri | Bin 0 -> 539 bytes .../Profile/profile_banner_uri_https-i.ri | Bin 0 -> 564 bytes .../Twitter/Profile/profile_banner_url-i.ri | Bin 0 -> 198 bytes .../Profile/profile_banner_url_https-i.ri | Bin 0 -> 210 bytes .../Twitter/Profile/profile_image_uri%3f-i.ri | Bin 0 -> 242 bytes .../ri/Twitter/Profile/profile_image_uri-i.ri | Bin 0 -> 499 bytes .../Profile/profile_image_uri_https-i.ri | Bin 0 -> 524 bytes .../ri/Twitter/Profile/profile_image_url-i.ri | Bin 0 -> 199 bytes .../Profile/profile_image_url_https-i.ri | Bin 0 -> 211 bytes .../ProfileBanner/cdesc-ProfileBanner.ri | Bin 0 -> 291 bytes .../ri/Twitter/ProfileBanner/sizes-i.ri | Bin 0 -> 315 bytes .../ri/Twitter/REST/API/cdesc-API.ri | Bin 0 -> 1023 bytes .../Twitter/REST/Client/bearer_token%3f-i.ri | Bin 0 -> 241 bytes .../ri/Twitter/REST/Client/bearer_token-i.ri | Bin 0 -> 175 bytes .../ri/Twitter/REST/Client/cdesc-Client.ri | Bin 0 -> 909 bytes .../REST/Client/connection_options%3d-i.ri | Bin 0 -> 307 bytes .../REST/Client/connection_options-i.ri | Bin 0 -> 248 bytes .../Twitter/REST/Client/credentials%3f-i.ri | Bin 0 -> 239 bytes .../ri/Twitter/REST/Client/get-i.ri | Bin 0 -> 248 bytes .../ri/Twitter/REST/Client/middleware%3d-i.ri | Bin 0 -> 308 bytes .../ri/Twitter/REST/Client/middleware-i.ri | Bin 0 -> 629 bytes .../ri/Twitter/REST/Client/post-i.ri | Bin 0 -> 251 bytes .../DirectMessages/cdesc-DirectMessages.ri | Bin 0 -> 568 bytes .../DirectMessages/create_direct_message-i.ri | Bin 0 -> 997 bytes .../ri/Twitter/REST/DirectMessages/d-i.ri | Bin 0 -> 203 bytes .../destroy_direct_message-i.ri | Bin 0 -> 1162 bytes .../REST/DirectMessages/direct_message-i.ri | Bin 0 -> 897 bytes .../REST/DirectMessages/direct_messages-i.ri | Bin 0 -> 1961 bytes .../direct_messages_received-i.ri | Bin 0 -> 1400 bytes .../DirectMessages/direct_messages_sent-i.ri | Bin 0 -> 1397 bytes .../ri/Twitter/REST/DirectMessages/dm-i.ri | Bin 0 -> 205 bytes .../ri/Twitter/REST/DirectMessages/m-i.ri | Bin 0 -> 203 bytes .../Twitter/REST/Favorites/cdesc-Favorites.ri | Bin 0 -> 527 bytes .../REST/Favorites/create_favorite%21-i.ri | Bin 0 -> 203 bytes .../REST/Favorites/destroy_favorite-i.ri | Bin 0 -> 203 bytes .../ri/Twitter/REST/Favorites/fav%21-i.ri | Bin 0 -> 179 bytes .../ri/Twitter/REST/Favorites/fav-i.ri | Bin 0 -> 177 bytes .../ri/Twitter/REST/Favorites/fave%21-i.ri | Bin 0 -> 181 bytes .../ri/Twitter/REST/Favorites/fave-i.ri | Bin 0 -> 179 bytes .../Twitter/REST/Favorites/favorite%21-i.ri | Bin 0 -> 1274 bytes .../ri/Twitter/REST/Favorites/favorite-i.ri | Bin 0 -> 1080 bytes .../ri/Twitter/REST/Favorites/favorites-i.ri | Bin 0 -> 1529 bytes .../ri/Twitter/REST/Favorites/unfavorite-i.ri | Bin 0 -> 1084 bytes .../cdesc-FriendsAndFollowers.ri | Bin 0 -> 862 bytes .../create_friendship%21-i.ri | Bin 0 -> 229 bytes .../create_friendship-i.ri | Bin 0 -> 227 bytes .../destroy_friendship-i.ri | Bin 0 -> 229 bytes .../REST/FriendsAndFollowers/follow%21-i.ri | Bin 0 -> 1196 bytes .../REST/FriendsAndFollowers/follow-i.ri | Bin 0 -> 1226 bytes .../FriendsAndFollowers/follower_ids-i.ri | Bin 0 -> 1060 bytes .../REST/FriendsAndFollowers/followers-i.ri | Bin 0 -> 1722 bytes .../REST/FriendsAndFollowers/following-i.ri | Bin 0 -> 211 bytes .../REST/FriendsAndFollowers/friend_ids-i.ri | Bin 0 -> 1056 bytes .../REST/FriendsAndFollowers/friends-i.ri | Bin 0 -> 1879 bytes .../FriendsAndFollowers/friendship%3f-i.ri | Bin 0 -> 970 bytes .../REST/FriendsAndFollowers/friendship-i.ri | Bin 0 -> 1016 bytes .../FriendsAndFollowers/friendship_show-i.ri | Bin 0 -> 246 bytes .../friendship_update-i.ri | Bin 0 -> 1027 bytes .../REST/FriendsAndFollowers/friendships-i.ri | Bin 0 -> 1234 bytes .../friendships_incoming-i.ri | Bin 0 -> 754 bytes .../friendships_outgoing-i.ri | Bin 0 -> 766 bytes .../FriendsAndFollowers/no_retweet_ids-i.ri | Bin 0 -> 752 bytes .../FriendsAndFollowers/no_retweets_ids-i.ri | Bin 0 -> 230 bytes .../FriendsAndFollowers/relationship-i.ri | Bin 0 -> 240 bytes .../REST/FriendsAndFollowers/unfollow-i.ri | Bin 0 -> 1114 bytes .../ri/Twitter/REST/Help/cdesc-Help.ri | Bin 0 -> 358 bytes .../ri/Twitter/REST/Help/configuration-i.ri | Bin 0 -> 622 bytes .../ri/Twitter/REST/Help/languages-i.ri | Bin 0 -> 588 bytes .../ri/Twitter/REST/Help/privacy-i.ri | Bin 0 -> 576 bytes .../ri/Twitter/REST/Help/tos-i.ri | Bin 0 -> 562 bytes .../Twitter/REST/Lists/add_list_member-i.ri | Bin 0 -> 1394 bytes .../Twitter/REST/Lists/add_list_members-i.ri | Bin 0 -> 1555 bytes .../ri/Twitter/REST/Lists/cdesc-Lists.ri | Bin 0 -> 883 bytes .../ri/Twitter/REST/Lists/create_list-i.ri | Bin 0 -> 958 bytes .../ri/Twitter/REST/Lists/destroy_list-i.ri | Bin 0 -> 1179 bytes .../ri/Twitter/REST/Lists/list-i.ri | Bin 0 -> 1186 bytes .../ri/Twitter/REST/Lists/list_member%3f-i.ri | Bin 0 -> 1411 bytes .../ri/Twitter/REST/Lists/list_members-i.ri | Bin 0 -> 1125 bytes .../ri/Twitter/REST/Lists/list_subscribe-i.ri | Bin 0 -> 1174 bytes .../REST/Lists/list_subscriber%3f-i.ri | Bin 0 -> 1573 bytes .../Twitter/REST/Lists/list_subscribers-i.ri | Bin 0 -> 1188 bytes .../ri/Twitter/REST/Lists/list_timeline-i.ri | Bin 0 -> 1818 bytes .../Twitter/REST/Lists/list_unsubscribe-i.ri | Bin 0 -> 1189 bytes .../ri/Twitter/REST/Lists/list_update-i.ri | Bin 0 -> 1531 bytes .../ri/Twitter/REST/Lists/lists-i.ri | Bin 0 -> 1210 bytes .../REST/Lists/lists_subscribed_to-i.ri | Bin 0 -> 201 bytes .../ri/Twitter/REST/Lists/memberships-i.ri | Bin 0 -> 1707 bytes .../ri/Twitter/REST/Lists/owned_lists-i.ri | Bin 0 -> 1273 bytes .../REST/Lists/remove_list_member-i.ri | Bin 0 -> 1406 bytes .../REST/Lists/remove_list_members-i.ri | Bin 0 -> 1435 bytes .../ri/Twitter/REST/Lists/subscriptions-i.ri | Bin 0 -> 937 bytes .../ri/Twitter/REST/Media/cdesc-Media.ri | Bin 0 -> 260 bytes .../ri/Twitter/REST/Media/upload-i.ri | Bin 0 -> 856 bytes .../ri/Twitter/REST/OAuth/bearer_token-i.ri | Bin 0 -> 194 bytes .../ri/Twitter/REST/OAuth/cdesc-OAuth.ri | Bin 0 -> 375 bytes .../Twitter/REST/OAuth/invalidate_token-i.ri | Bin 0 -> 851 bytes .../ri/Twitter/REST/OAuth/reverse_token-i.ri | Bin 0 -> 642 bytes .../ri/Twitter/REST/OAuth/token-i.ri | Bin 0 -> 1207 bytes .../REST/PlacesAndGeo/cdesc-PlacesAndGeo.ri | Bin 0 -> 445 bytes .../Twitter/REST/PlacesAndGeo/geo_search-i.ri | Bin 0 -> 2872 bytes .../ri/Twitter/REST/PlacesAndGeo/place-i.ri | Bin 0 -> 810 bytes .../REST/PlacesAndGeo/places_nearby-i.ri | Bin 0 -> 212 bytes .../REST/PlacesAndGeo/places_similar-i.ri | Bin 0 -> 214 bytes .../REST/PlacesAndGeo/reverse_geocode-i.ri | Bin 0 -> 2216 bytes .../REST/PlacesAndGeo/similar_places-i.ri | Bin 0 -> 2083 bytes .../REST/Request/MultipartWithFile/call-i.ri | Bin 0 -> 216 bytes .../cdesc-MultipartWithFile.ri | Bin 0 -> 465 bytes .../ri/Twitter/REST/Request/cdesc-Request.ri | Bin 0 -> 217 bytes .../ParseErrorJson/cdesc-ParseErrorJson.ri | Bin 0 -> 364 bytes .../unparsable_status_codes-i.ri | Bin 0 -> 243 bytes .../Response/ParseJson/cdesc-ParseJson.ri | Bin 0 -> 419 bytes .../REST/Response/ParseJson/on_complete-i.ri | Bin 0 -> 216 bytes .../REST/Response/ParseJson/parse-i.ri | Bin 0 -> 200 bytes .../ParseJson/unparsable_status_codes-i.ri | Bin 0 -> 232 bytes .../Response/RaiseError/cdesc-RaiseError.ri | Bin 0 -> 334 bytes .../REST/Response/RaiseError/on_complete-i.ri | Bin 0 -> 218 bytes .../Twitter/REST/Response/cdesc-Response.ri | Bin 0 -> 219 bytes .../REST/SavedSearches/cdesc-SavedSearches.ri | Bin 0 -> 455 bytes .../SavedSearches/create_saved_search-i.ri | Bin 0 -> 802 bytes .../SavedSearches/destroy_saved_search-i.ri | Bin 0 -> 1094 bytes .../REST/SavedSearches/saved_search-i.ri | Bin 0 -> 774 bytes .../REST/SavedSearches/saved_searches-i.ri | Bin 0 -> 1391 bytes .../ri/Twitter/REST/Search/cdesc-Search.ri | Bin 0 -> 307 bytes .../ri/Twitter/REST/Search/search-i.ri | Bin 0 -> 2769 bytes .../REST/SpamReporting/cdesc-SpamReporting.ri | Bin 0 -> 332 bytes .../REST/SpamReporting/report_spam-i.ri | Bin 0 -> 1092 bytes .../SuggestedUsers/cdesc-SuggestedUsers.ri | Bin 0 -> 359 bytes .../REST/SuggestedUsers/suggest_users-i.ri | Bin 0 -> 747 bytes .../REST/SuggestedUsers/suggestions-i.ri | Bin 0 -> 1032 bytes .../Twitter/REST/Timelines/cdesc-Timelines.ri | Bin 0 -> 612 bytes .../Twitter/REST/Timelines/home_timeline-i.ri | Bin 0 -> 2201 bytes .../ri/Twitter/REST/Timelines/mentions-i.ri | Bin 0 -> 194 bytes .../REST/Timelines/mentions_timeline-i.ri | Bin 0 -> 1375 bytes .../Twitter/REST/Timelines/retweeted_by-i.ri | Bin 0 -> 208 bytes .../REST/Timelines/retweeted_by_me-i.ri | Bin 0 -> 1838 bytes .../REST/Timelines/retweeted_by_user-i.ri | Bin 0 -> 1974 bytes .../REST/Timelines/retweeted_to_me-i.ri | Bin 0 -> 1870 bytes .../REST/Timelines/retweets_of_me-i.ri | Bin 0 -> 1414 bytes .../Twitter/REST/Timelines/user_timeline-i.ri | Bin 0 -> 2297 bytes .../ri/Twitter/REST/Trends/cdesc-Trends.ri | Bin 0 -> 429 bytes .../ri/Twitter/REST/Trends/local_trends-i.ri | Bin 0 -> 204 bytes .../Twitter/REST/Trends/trend_locations-i.ri | Bin 0 -> 202 bytes .../ri/Twitter/REST/Trends/trends-i.ri | Bin 0 -> 1124 bytes .../Twitter/REST/Trends/trends_available-i.ri | Bin 0 -> 718 bytes .../Twitter/REST/Trends/trends_closest-i.ri | Bin 0 -> 1217 bytes .../ri/Twitter/REST/Trends/trends_place-i.ri | Bin 0 -> 204 bytes .../ri/Twitter/REST/Tweets/cdesc-Tweets.ri | Bin 0 -> 656 bytes .../Twitter/REST/Tweets/destroy_status-i.ri | Bin 0 -> 1325 bytes .../ri/Twitter/REST/Tweets/destroy_tweet-i.ri | Bin 0 -> 191 bytes .../ri/Twitter/REST/Tweets/oembed-i.ri | Bin 0 -> 2629 bytes .../ri/Twitter/REST/Tweets/oembeds-i.ri | Bin 0 -> 2901 bytes .../ri/Twitter/REST/Tweets/retweet%21-i.ri | Bin 0 -> 1401 bytes .../ri/Twitter/REST/Tweets/retweet-i.ri | Bin 0 -> 1243 bytes .../Twitter/REST/Tweets/retweeters_ids-i.ri | Bin 0 -> 994 bytes .../ri/Twitter/REST/Tweets/retweeters_of-i.ri | Bin 0 -> 1142 bytes .../ri/Twitter/REST/Tweets/retweets-i.ri | Bin 0 -> 1057 bytes .../ri/Twitter/REST/Tweets/status-i.ri | Bin 0 -> 1002 bytes .../ri/Twitter/REST/Tweets/statuses-i.ri | Bin 0 -> 1191 bytes .../ri/Twitter/REST/Tweets/update%21-i.ri | Bin 0 -> 2627 bytes .../ri/Twitter/REST/Tweets/update-i.ri | Bin 0 -> 2530 bytes .../REST/Tweets/update_with_media-i.ri | Bin 0 -> 2662 bytes .../REST/Undocumented/cdesc-Undocumented.ri | Bin 0 -> 361 bytes .../Undocumented/following_followers_of-i.ri | Bin 0 -> 1003 bytes .../REST/Undocumented/tweet_count-i.ri | Bin 0 -> 518 bytes .../ri/Twitter/REST/Users/block%3f-i.ri | Bin 0 -> 825 bytes .../ri/Twitter/REST/Users/block-i.ri | Bin 0 -> 1085 bytes .../ri/Twitter/REST/Users/blocked-i.ri | Bin 0 -> 835 bytes .../ri/Twitter/REST/Users/blocked_ids-i.ri | Bin 0 -> 781 bytes .../ri/Twitter/REST/Users/cdesc-Users.ri | Bin 0 -> 961 bytes .../ri/Twitter/REST/Users/contributees-i.ri | Bin 0 -> 1217 bytes .../ri/Twitter/REST/Users/contributors-i.ri | Bin 0 -> 1219 bytes .../ri/Twitter/REST/Users/current_user-i.ri | Bin 0 -> 194 bytes .../ri/Twitter/REST/Users/mute-i.ri | Bin 0 -> 1015 bytes .../ri/Twitter/REST/Users/muted-i.ri | Bin 0 -> 832 bytes .../ri/Twitter/REST/Users/muted_ids-i.ri | Bin 0 -> 775 bytes .../ri/Twitter/REST/Users/profile_banner-i.ri | Bin 0 -> 943 bytes .../REST/Users/remove_profile_banner-i.ri | Bin 0 -> 671 bytes .../ri/Twitter/REST/Users/settings-i.ri | Bin 0 -> 2540 bytes .../ri/Twitter/REST/Users/unblock-i.ri | Bin 0 -> 1031 bytes .../ri/Twitter/REST/Users/unmute-i.ri | Bin 0 -> 1030 bytes .../REST/Users/update_delivery_device-i.ri | Bin 0 -> 795 bytes .../ri/Twitter/REST/Users/update_profile-i.ri | Bin 0 -> 1333 bytes .../update_profile_background_image-i.ri | Bin 0 -> 1220 bytes .../REST/Users/update_profile_banner-i.ri | Bin 0 -> 2439 bytes .../REST/Users/update_profile_colors-i.ri | Bin 0 -> 1158 bytes .../REST/Users/update_profile_image-i.ri | Bin 0 -> 1444 bytes .../ri/Twitter/REST/Users/user%3f-i.ri | Bin 0 -> 636 bytes .../ri/Twitter/REST/Users/user-i.ri | Bin 0 -> 1199 bytes .../ri/Twitter/REST/Users/user_search-i.ri | Bin 0 -> 906 bytes .../ri/Twitter/REST/Users/users-i.ri | Bin 0 -> 1136 bytes .../REST/Users/verify_credentials-i.ri | Bin 0 -> 902 bytes .../ri/Twitter/REST/Utils/cdesc-Utils.ri | Bin 0 -> 350 bytes .../ri/Twitter/REST/cdesc-REST.ri | Bin 0 -> 205 bytes .../ri/Twitter/RateLimit/cdesc-RateLimit.ri | Bin 0 -> 359 bytes .../ri/Twitter/RateLimit/limit-i.ri | Bin 0 -> 221 bytes .../ri/Twitter/RateLimit/remaining-i.ri | Bin 0 -> 229 bytes .../ri/Twitter/RateLimit/reset_at-i.ri | Bin 0 -> 224 bytes .../ri/Twitter/RateLimit/reset_in-i.ri | Bin 0 -> 258 bytes .../ri/Twitter/RateLimit/retry_after-i.ri | Bin 0 -> 178 bytes .../Relationship/cdesc-Relationship.ri | Bin 0 -> 285 bytes .../ri/Twitter/Relationship/new-c.ri | Bin 0 -> 339 bytes .../ri/Twitter/Request/cdesc-Request.ri | Bin 0 -> 522 bytes .../ri/Twitter/Request/client-i.ri | Bin 0 -> 154 bytes .../ri/Twitter/Request/new-c.ri | Bin 0 -> 402 bytes .../ri/Twitter/Request/options-i.ri | Bin 0 -> 156 bytes .../ri/Twitter/Request/path-i.ri | Bin 0 -> 150 bytes .../ri/Twitter/Request/perform-i.ri | Bin 0 -> 217 bytes .../Twitter/Request/perform_with_cursor-i.ri | Bin 0 -> 345 bytes .../Twitter/Request/perform_with_object-i.ri | Bin 0 -> 315 bytes .../Twitter/Request/perform_with_objects-i.ri | Bin 0 -> 276 bytes .../ri/Twitter/Request/request_method-i.ri | Bin 0 -> 170 bytes .../ri/Twitter/Request/verb-i.ri | Bin 0 -> 150 bytes .../Twitter/SavedSearch/cdesc-SavedSearch.ri | Bin 0 -> 384 bytes .../ri/Twitter/SavedSearch/name-i.ri | Bin 0 -> 158 bytes .../ri/Twitter/SavedSearch/position-i.ri | Bin 0 -> 166 bytes .../ri/Twitter/SavedSearch/query-i.ri | Bin 0 -> 160 bytes .../ri/Twitter/SearchResults/attrs-i.ri | Bin 0 -> 164 bytes .../SearchResults/cdesc-SearchResults.ri | Bin 0 -> 406 bytes .../ri/Twitter/SearchResults/new-c.ri | Bin 0 -> 401 bytes .../ri/Twitter/SearchResults/to_h-i.ri | Bin 0 -> 162 bytes .../ri/Twitter/Settings/cdesc-Settings.ri | Bin 0 -> 367 bytes .../ri/Twitter/Settings/language-i.ri | Bin 0 -> 159 bytes .../ri/Twitter/Settings/screen_name-i.ri | Bin 0 -> 165 bytes .../ri/Twitter/Settings/sleep_time-i.ri | Bin 0 -> 163 bytes .../ri/Twitter/Settings/time_zone-i.ri | Bin 0 -> 161 bytes .../ri/Twitter/Size/cdesc-Size.ri | Bin 0 -> 383 bytes .../doc/twitter-5.11.0/ri/Twitter/Size/h-i.ri | Bin 0 -> 137 bytes .../ri/Twitter/Size/height-i.ri | Bin 0 -> 147 bytes .../ri/Twitter/Size/resize-i.ri | Bin 0 -> 147 bytes .../doc/twitter-5.11.0/ri/Twitter/Size/w-i.ri | Bin 0 -> 137 bytes .../twitter-5.11.0/ri/Twitter/Size/width-i.ri | Bin 0 -> 145 bytes .../ri/Twitter/SourceUser/cdesc-SourceUser.ri | Bin 0 -> 240 bytes .../Streaming/Client/before_request-i.ri | Bin 0 -> 291 bytes .../Twitter/Streaming/Client/cdesc-Client.ri | Bin 0 -> 508 bytes .../Twitter/Streaming/Client/connection-i.ri | Bin 0 -> 180 bytes .../ri/Twitter/Streaming/Client/filter-i.ri | Bin 0 -> 1247 bytes .../ri/Twitter/Streaming/Client/firehose-i.ri | Bin 0 -> 852 bytes .../ri/Twitter/Streaming/Client/new-c.ri | Bin 0 -> 615 bytes .../ri/Twitter/Streaming/Client/sample-i.ri | Bin 0 -> 672 bytes .../ri/Twitter/Streaming/Client/site-i.ri | Bin 0 -> 1280 bytes .../Streaming/Client/ssl_socket_class-i.ri | Bin 0 -> 193 bytes .../Streaming/Client/tcp_socket_class-i.ri | Bin 0 -> 193 bytes .../ri/Twitter/Streaming/Client/user-i.ri | Bin 0 -> 1409 bytes .../Streaming/Connection/cdesc-Connection.ri | Bin 0 -> 380 bytes .../ri/Twitter/Streaming/Connection/new-c.ri | Bin 0 -> 194 bytes .../Connection/ssl_socket_class-i.ri | Bin 0 -> 200 bytes .../Twitter/Streaming/Connection/stream-i.ri | Bin 0 -> 207 bytes .../Connection/tcp_socket_class-i.ri | Bin 0 -> 200 bytes .../DeletedTweet/cdesc-DeletedTweet.ri | Bin 0 -> 326 bytes .../Streaming/DeletedTweet/user_id-i.ri | Bin 0 -> 187 bytes .../ri/Twitter/Streaming/Event/cdesc-Event.ri | Bin 0 -> 444 bytes .../ri/Twitter/Streaming/Event/name-i.ri | Bin 0 -> 166 bytes .../ri/Twitter/Streaming/Event/new-c.ri | Bin 0 -> 235 bytes .../ri/Twitter/Streaming/Event/source-i.ri | Bin 0 -> 170 bytes .../ri/Twitter/Streaming/Event/target-i.ri | Bin 0 -> 170 bytes .../Streaming/Event/target_object-i.ri | Bin 0 -> 184 bytes .../Streaming/FriendList/cdesc-FriendList.ri | Bin 0 -> 238 bytes .../MessageParser/cdesc-MessageParser.ri | Bin 0 -> 305 bytes .../Streaming/MessageParser/parse-c.ri | Bin 0 -> 200 bytes .../ri/Twitter/Streaming/Response/%3c%3c-i.ri | Bin 0 -> 182 bytes .../Streaming/Response/cdesc-Response.ri | Bin 0 -> 348 bytes .../ri/Twitter/Streaming/Response/new-c.ri | Bin 0 -> 338 bytes .../Twitter/Streaming/Response/on_body-i.ri | Bin 0 -> 192 bytes .../Response/on_headers_complete-i.ri | Bin 0 -> 220 bytes .../StallWarning/cdesc-StallWarning.ri | Bin 0 -> 370 bytes .../Twitter/Streaming/StallWarning/code-i.ri | Bin 0 -> 181 bytes .../Streaming/StallWarning/message-i.ri | Bin 0 -> 187 bytes .../Streaming/StallWarning/percent_full-i.ri | Bin 0 -> 197 bytes .../ri/Twitter/Streaming/cdesc-Streaming.ri | Bin 0 -> 293 bytes .../ri/Twitter/Suggestion/cdesc-Suggestion.ri | Bin 0 -> 378 bytes .../ri/Twitter/Suggestion/name-i.ri | Bin 0 -> 155 bytes .../ri/Twitter/Suggestion/size-i.ri | Bin 0 -> 155 bytes .../ri/Twitter/Suggestion/slug-i.ri | Bin 0 -> 155 bytes .../ri/Twitter/Suggestion/users-i.ri | Bin 0 -> 235 bytes .../ri/Twitter/TargetUser/cdesc-TargetUser.ri | Bin 0 -> 240 bytes .../ri/Twitter/Token/access_token-i.ri | Bin 0 -> 161 bytes .../ri/Twitter/Token/bearer%3f-i.ri | Bin 0 -> 216 bytes .../ri/Twitter/Token/cdesc-Token.ri | Bin 0 -> 381 bytes .../twitter-5.11.0/ri/Twitter/Token/to_s-i.ri | Bin 0 -> 145 bytes .../ri/Twitter/Token/token_type-i.ri | Bin 0 -> 157 bytes .../ri/Twitter/Trend/cdesc-Trend.ri | Bin 0 -> 350 bytes .../ri/Twitter/Trend/events-i.ri | Bin 0 -> 149 bytes .../twitter-5.11.0/ri/Twitter/Trend/name-i.ri | Bin 0 -> 145 bytes .../ri/Twitter/Trend/query-i.ri | Bin 0 -> 147 bytes .../ri/Twitter/TrendResults/as_of%3f-i.ri | Bin 0 -> 174 bytes .../ri/Twitter/TrendResults/as_of-i.ri | Bin 0 -> 309 bytes .../ri/Twitter/TrendResults/attrs-i.ri | Bin 0 -> 162 bytes .../TrendResults/cdesc-TrendResults.ri | Bin 0 -> 547 bytes .../ri/Twitter/TrendResults/location%3f-i.ri | Bin 0 -> 235 bytes .../ri/Twitter/TrendResults/location-i.ri | Bin 0 -> 252 bytes .../ri/Twitter/TrendResults/new-c.ri | Bin 0 -> 353 bytes .../ri/Twitter/TrendResults/to_h-i.ri | Bin 0 -> 160 bytes .../ri/Twitter/Tweet/cdesc-Tweet.ri | Bin 0 -> 719 bytes .../ri/Twitter/Tweet/favorite_count-i.ri | Bin 0 -> 165 bytes .../ri/Twitter/Tweet/filter_level-i.ri | Bin 0 -> 161 bytes .../ri/Twitter/Tweet/full_text-i.ri | Bin 0 -> 256 bytes .../Twitter/Tweet/in_reply_to_attrs_id-i.ri | Bin 0 -> 177 bytes .../Tweet/in_reply_to_screen_name-i.ri | Bin 0 -> 183 bytes .../Twitter/Tweet/in_reply_to_status_id-i.ri | Bin 0 -> 179 bytes .../Twitter/Tweet/in_reply_to_tweet_id-i.ri | Bin 0 -> 177 bytes .../ri/Twitter/Tweet/in_reply_to_user_id-i.ri | Bin 0 -> 175 bytes .../twitter-5.11.0/ri/Twitter/Tweet/lang-i.ri | Bin 0 -> 145 bytes .../ri/Twitter/Tweet/retweet_count-i.ri | Bin 0 -> 163 bytes .../ri/Twitter/Tweet/source-i.ri | Bin 0 -> 149 bytes .../twitter-5.11.0/ri/Twitter/Tweet/text-i.ri | Bin 0 -> 145 bytes .../twitter-5.11.0/ri/Twitter/Tweet/uri-i.ri | Bin 0 -> 252 bytes .../twitter-5.11.0/ri/Twitter/Tweet/url-i.ri | Bin 0 -> 153 bytes .../ri/Twitter/User/cdesc-User.ri | Bin 0 -> 1213 bytes .../ri/Twitter/User/connections-i.ri | Bin 0 -> 157 bytes .../ri/Twitter/User/description-i.ri | Bin 0 -> 157 bytes .../ri/Twitter/User/entities%3f-i.ri | Bin 0 -> 218 bytes .../ri/Twitter/User/favorites_count-i.ri | Bin 0 -> 165 bytes .../ri/Twitter/User/favourites_count-i.ri | Bin 0 -> 167 bytes .../ri/Twitter/User/followers_count-i.ri | Bin 0 -> 165 bytes .../ri/Twitter/User/friends_count-i.ri | Bin 0 -> 161 bytes .../twitter-5.11.0/ri/Twitter/User/lang-i.ri | Bin 0 -> 143 bytes .../ri/Twitter/User/listed_count-i.ri | Bin 0 -> 159 bytes .../ri/Twitter/User/location-i.ri | Bin 0 -> 151 bytes .../twitter-5.11.0/ri/Twitter/User/name-i.ri | Bin 0 -> 143 bytes .../User/profile_background_color-i.ri | Bin 0 -> 183 bytes .../User/profile_background_image_uri-i.ri | Bin 0 -> 191 bytes .../profile_background_image_uri_https-i.ri | Bin 0 -> 203 bytes .../User/profile_background_image_url-i.ri | Bin 0 -> 191 bytes .../profile_background_image_url_https-i.ri | Bin 0 -> 203 bytes .../ri/Twitter/User/profile_link_color-i.ri | Bin 0 -> 171 bytes .../User/profile_sidebar_border_color-i.ri | Bin 0 -> 191 bytes .../User/profile_sidebar_fill_color-i.ri | Bin 0 -> 187 bytes .../ri/Twitter/User/profile_text_color-i.ri | Bin 0 -> 171 bytes .../ri/Twitter/User/statuses_count-i.ri | Bin 0 -> 163 bytes .../ri/Twitter/User/time_zone-i.ri | Bin 0 -> 153 bytes .../ri/Twitter/User/tweets_count-i.ri | Bin 0 -> 159 bytes .../twitter-5.11.0/ri/Twitter/User/uri-i.ri | Bin 0 -> 249 bytes .../twitter-5.11.0/ri/Twitter/User/url-i.ri | Bin 0 -> 151 bytes .../ri/Twitter/User/utc_offset-i.ri | Bin 0 -> 155 bytes .../ri/Twitter/User/website%3f-i.ri | Bin 0 -> 161 bytes .../ri/Twitter/User/website-i.ri | Bin 0 -> 244 bytes .../Utils/ClassMethods/cdesc-ClassMethods.ri | Bin 0 -> 279 bytes .../Utils/ClassMethods/deprecate_alias-i.ri | Bin 0 -> 209 bytes .../ri/Twitter/Utils/cdesc-Utils.ri | Bin 0 -> 286 bytes .../ri/Twitter/Utils/flat_pmap-c.ri | Bin 0 -> 487 bytes .../ri/Twitter/Utils/included-c.ri | Bin 0 -> 168 bytes .../twitter-5.11.0/ri/Twitter/Utils/pmap-c.ri | Bin 0 -> 476 bytes .../ri/Twitter/Version/cdesc-Version.ri | Bin 0 -> 370 bytes .../ri/Twitter/Version/to_s-c.ri | Bin 0 -> 214 bytes .../ri/Twitter/cdesc-Twitter.ri | Bin 0 -> 306 bytes .gems/doc/twitter-5.11.0/ri/cache.ri | 39 + .gems/doc/twitter-5.11.0/ri/created.rid | 84 + .gems/gems/json-1.8.1/.gitignore | 13 + .gems/gems/json-1.8.1/.travis.yml | 20 + .gems/gems/json-1.8.1/CHANGES | 284 ++ .gems/gems/json-1.8.1/COPYING | 58 + .gems/gems/json-1.8.1/COPYING-json-jruby | 57 + .gems/gems/json-1.8.1/GPL | 340 ++ .gems/gems/json-1.8.1/Gemfile | 11 + .../json-1.8.1/README-json-jruby.markdown | 33 + .gems/gems/json-1.8.1/README.rdoc | 358 ++ .gems/gems/json-1.8.1/Rakefile | 412 ++ .gems/gems/json-1.8.1/TODO | 1 + .gems/gems/json-1.8.1/VERSION | 1 + .gems/gems/json-1.8.1/data/example.json | 1 + .gems/gems/json-1.8.1/data/index.html | 38 + .gems/gems/json-1.8.1/data/prototype.js | 4184 +++++++++++++++++ .gems/gems/json-1.8.1/diagrams/.keep | 0 .../json-1.8.1/ext/json/ext/fbuffer/fbuffer.h | 181 + .../ext/json/ext/generator/Makefile | 214 + .../json-1.8.1/ext/json/ext/generator/depend | 1 + .../ext/json/ext/generator/extconf.rb | 14 + .../ext/json/ext/generator/generator.c | 1435 ++++++ .../ext/json/ext/generator/generator.h | 148 + .../ext/json/ext/generator/generator.o | Bin 0 -> 109040 bytes .../ext/json/ext/generator/generator.so | Bin 0 -> 79078 bytes .../json-1.8.1/ext/json/ext/parser/Makefile | 214 + .../json-1.8.1/ext/json/ext/parser/depend | 1 + .../json-1.8.1/ext/json/ext/parser/extconf.rb | 13 + .../json-1.8.1/ext/json/ext/parser/parser.c | 2204 +++++++++ .../json-1.8.1/ext/json/ext/parser/parser.h | 77 + .../json-1.8.1/ext/json/ext/parser/parser.o | Bin 0 -> 139056 bytes .../json-1.8.1/ext/json/ext/parser/parser.rl | 927 ++++ .../json-1.8.1/ext/json/ext/parser/parser.so | Bin 0 -> 90501 bytes .gems/gems/json-1.8.1/install.rb | 23 + .../java/src/json/ext/ByteListTranscoder.java | 167 + .../java/src/json/ext/Generator.java | 444 ++ .../java/src/json/ext/GeneratorMethods.java | 232 + .../java/src/json/ext/GeneratorService.java | 43 + .../java/src/json/ext/GeneratorState.java | 543 +++ .../java/src/json/ext/OptionsReader.java | 114 + .../json-1.8.1/java/src/json/ext/Parser.java | 2644 +++++++++++ .../json-1.8.1/java/src/json/ext/Parser.rl | 968 ++++ .../java/src/json/ext/ParserService.java | 35 + .../java/src/json/ext/RuntimeInfo.java | 121 + .../java/src/json/ext/StringDecoder.java | 167 + .../java/src/json/ext/StringEncoder.java | 106 + .../json-1.8.1/java/src/json/ext/Utils.java | 89 + .gems/gems/json-1.8.1/json-java.gemspec | 23 + .gems/gems/json-1.8.1/json.gemspec | 38 + .gems/gems/json-1.8.1/json_pure.gemspec | 40 + .gems/gems/json-1.8.1/lib/json.rb | 62 + .../json-1.8.1/lib/json/add/bigdecimal.rb | 28 + .gems/gems/json-1.8.1/lib/json/add/complex.rb | 22 + .gems/gems/json-1.8.1/lib/json/add/core.rb | 11 + .gems/gems/json-1.8.1/lib/json/add/date.rb | 34 + .../gems/json-1.8.1/lib/json/add/date_time.rb | 50 + .../gems/json-1.8.1/lib/json/add/exception.rb | 31 + .gems/gems/json-1.8.1/lib/json/add/ostruct.rb | 31 + .gems/gems/json-1.8.1/lib/json/add/range.rb | 29 + .../gems/json-1.8.1/lib/json/add/rational.rb | 22 + .gems/gems/json-1.8.1/lib/json/add/regexp.rb | 30 + .gems/gems/json-1.8.1/lib/json/add/struct.rb | 30 + .gems/gems/json-1.8.1/lib/json/add/symbol.rb | 25 + .gems/gems/json-1.8.1/lib/json/add/time.rb | 38 + .gems/gems/json-1.8.1/lib/json/common.rb | 484 ++ .gems/gems/json-1.8.1/lib/json/ext.rb | 21 + .gems/gems/json-1.8.1/lib/json/ext/.keep | 0 .../gems/json-1.8.1/lib/json/ext/generator.so | Bin 0 -> 79078 bytes .gems/gems/json-1.8.1/lib/json/ext/parser.so | Bin 0 -> 90501 bytes .../json-1.8.1/lib/json/generic_object.rb | 70 + .gems/gems/json-1.8.1/lib/json/pure.rb | 21 + .../json-1.8.1/lib/json/pure/generator.rb | 522 ++ .gems/gems/json-1.8.1/lib/json/pure/parser.rb | 359 ++ .gems/gems/json-1.8.1/lib/json/version.rb | 8 + .../gems/json-1.8.1/tests/fixtures/fail1.json | 1 + .../json-1.8.1/tests/fixtures/fail10.json | 1 + .../json-1.8.1/tests/fixtures/fail11.json | 1 + .../json-1.8.1/tests/fixtures/fail12.json | 1 + .../json-1.8.1/tests/fixtures/fail13.json | 1 + .../json-1.8.1/tests/fixtures/fail14.json | 1 + .../json-1.8.1/tests/fixtures/fail18.json | 1 + .../json-1.8.1/tests/fixtures/fail19.json | 1 + .../gems/json-1.8.1/tests/fixtures/fail2.json | 1 + .../json-1.8.1/tests/fixtures/fail20.json | 1 + .../json-1.8.1/tests/fixtures/fail21.json | 1 + .../json-1.8.1/tests/fixtures/fail22.json | 1 + .../json-1.8.1/tests/fixtures/fail23.json | 1 + .../json-1.8.1/tests/fixtures/fail24.json | 1 + .../json-1.8.1/tests/fixtures/fail25.json | 1 + .../json-1.8.1/tests/fixtures/fail27.json | 2 + .../json-1.8.1/tests/fixtures/fail28.json | 2 + .../gems/json-1.8.1/tests/fixtures/fail3.json | 1 + .../gems/json-1.8.1/tests/fixtures/fail4.json | 1 + .../gems/json-1.8.1/tests/fixtures/fail5.json | 1 + .../gems/json-1.8.1/tests/fixtures/fail6.json | 1 + .../gems/json-1.8.1/tests/fixtures/fail7.json | 1 + .../gems/json-1.8.1/tests/fixtures/fail8.json | 1 + .../gems/json-1.8.1/tests/fixtures/fail9.json | 1 + .../gems/json-1.8.1/tests/fixtures/pass1.json | 56 + .../json-1.8.1/tests/fixtures/pass15.json | 1 + .../json-1.8.1/tests/fixtures/pass16.json | 1 + .../json-1.8.1/tests/fixtures/pass17.json | 1 + .../gems/json-1.8.1/tests/fixtures/pass2.json | 1 + .../json-1.8.1/tests/fixtures/pass26.json | 1 + .../gems/json-1.8.1/tests/fixtures/pass3.json | 6 + .gems/gems/json-1.8.1/tests/setup_variant.rb | 11 + .gems/gems/json-1.8.1/tests/test_json.rb | 545 +++ .../json-1.8.1/tests/test_json_addition.rb | 196 + .../json-1.8.1/tests/test_json_encoding.rb | 65 + .../json-1.8.1/tests/test_json_fixtures.rb | 35 + .../json-1.8.1/tests/test_json_generate.rb | 322 ++ .../tests/test_json_generic_object.rb | 75 + .../tests/test_json_string_matching.rb | 39 + .../json-1.8.1/tests/test_json_unicode.rb | 72 + .gems/gems/json-1.8.1/tools/fuzz.rb | 139 + .gems/gems/json-1.8.1/tools/server.rb | 62 + .gems/gems/twitter-5.11.0/.yardopts | 16 + .gems/gems/twitter-5.11.0/CHANGELOG.md | 940 ++++ .gems/gems/twitter-5.11.0/CONTRIBUTING.md | 49 + .gems/gems/twitter-5.11.0/LICENSE.md | 20 + .gems/gems/twitter-5.11.0/README.md | 595 +++ .gems/gems/twitter-5.11.0/Rakefile | 37 + .gems/gems/twitter-5.11.0/lib/twitter.rb | 31 + .../twitter-5.11.0/lib/twitter/arguments.rb | 13 + .gems/gems/twitter-5.11.0/lib/twitter/base.rb | 153 + .../twitter-5.11.0/lib/twitter/basic_user.rb | 12 + .../gems/twitter-5.11.0/lib/twitter/client.rb | 73 + .../lib/twitter/configuration.rb | 22 + .../twitter-5.11.0/lib/twitter/creatable.rb | 22 + .../gems/twitter-5.11.0/lib/twitter/cursor.rb | 60 + .../lib/twitter/direct_message.rb | 14 + .../twitter-5.11.0/lib/twitter/entities.rb | 96 + .../gems/twitter-5.11.0/lib/twitter/entity.rb | 7 + .../lib/twitter/entity/hashtag.rb | 9 + .../lib/twitter/entity/symbol.rb | 9 + .../twitter-5.11.0/lib/twitter/entity/uri.rb | 14 + .../lib/twitter/entity/user_mention.rb | 9 + .../twitter-5.11.0/lib/twitter/enumerable.rb | 26 + .../gems/twitter-5.11.0/lib/twitter/error.rb | 167 + .../twitter-5.11.0/lib/twitter/factory.rb | 18 + .gems/gems/twitter-5.11.0/lib/twitter/geo.rb | 10 + .../twitter-5.11.0/lib/twitter/geo/point.rb | 20 + .../twitter-5.11.0/lib/twitter/geo/polygon.rb | 8 + .../twitter-5.11.0/lib/twitter/geo_factory.rb | 18 + .../twitter-5.11.0/lib/twitter/geo_results.rb | 29 + .../twitter-5.11.0/lib/twitter/identity.rb | 19 + .../twitter-5.11.0/lib/twitter/language.rb | 7 + .gems/gems/twitter-5.11.0/lib/twitter/list.rb | 33 + .../twitter-5.11.0/lib/twitter/media/photo.rb | 22 + .../lib/twitter/media_factory.rb | 17 + .../twitter-5.11.0/lib/twitter/metadata.rb | 7 + .../twitter-5.11.0/lib/twitter/null_object.rb | 14 + .../gems/twitter-5.11.0/lib/twitter/oembed.rb | 9 + .../gems/twitter-5.11.0/lib/twitter/place.rb | 42 + .../twitter-5.11.0/lib/twitter/profile.rb | 94 + .../lib/twitter/profile_banner.rb | 16 + .../twitter-5.11.0/lib/twitter/rate_limit.rb | 30 + .../lib/twitter/relationship.rb | 16 + .../twitter-5.11.0/lib/twitter/request.rb | 47 + .../twitter-5.11.0/lib/twitter/rest/api.rb | 41 + .../twitter-5.11.0/lib/twitter/rest/client.rb | 156 + .../lib/twitter/rest/direct_messages.rb | 138 + .../lib/twitter/rest/favorites.rb | 108 + .../lib/twitter/rest/friends_and_followers.rb | 271 ++ .../twitter-5.11.0/lib/twitter/rest/help.rb | 56 + .../twitter-5.11.0/lib/twitter/rest/lists.rb | 493 ++ .../twitter-5.11.0/lib/twitter/rest/media.rb | 29 + .../twitter-5.11.0/lib/twitter/rest/oauth.rb | 65 + .../lib/twitter/rest/places_and_geo.rb | 84 + .../rest/request/multipart_with_file.rb | 39 + .../twitter/rest/response/parse_error_json.rb | 13 + .../lib/twitter/rest/response/parse_json.rb | 31 + .../lib/twitter/rest/response/raise_error.rb | 36 + .../lib/twitter/rest/saved_searches.rb | 93 + .../twitter-5.11.0/lib/twitter/rest/search.rb | 36 + .../lib/twitter/rest/spam_reporting.rb | 27 + .../lib/twitter/rest/suggested_users.rb | 49 + .../lib/twitter/rest/timelines.rb | 197 + .../twitter-5.11.0/lib/twitter/rest/trends.rb | 57 + .../twitter-5.11.0/lib/twitter/rest/tweets.rb | 310 ++ .../lib/twitter/rest/undocumented.rb | 44 + .../twitter-5.11.0/lib/twitter/rest/users.rb | 442 ++ .../twitter-5.11.0/lib/twitter/rest/utils.rb | 209 + .../lib/twitter/saved_search.rb | 9 + .../lib/twitter/search_results.rb | 76 + .../twitter-5.11.0/lib/twitter/settings.rb | 11 + .gems/gems/twitter-5.11.0/lib/twitter/size.rb | 11 + .../twitter-5.11.0/lib/twitter/source_user.rb | 9 + .../lib/twitter/streaming/client.rb | 146 + .../lib/twitter/streaming/connection.rb | 27 + .../lib/twitter/streaming/deleted_tweet.rb | 8 + .../lib/twitter/streaming/event.rb | 35 + .../lib/twitter/streaming/friend_list.rb | 6 + .../lib/twitter/streaming/message_parser.rb | 28 + .../lib/twitter/streaming/response.rb | 32 + .../lib/twitter/streaming/stall_warning.rb | 7 + .../twitter-5.11.0/lib/twitter/suggestion.rb | 17 + .../twitter-5.11.0/lib/twitter/target_user.rb | 7 + .../gems/twitter-5.11.0/lib/twitter/token.rb | 16 + .../gems/twitter-5.11.0/lib/twitter/trend.rb | 11 + .../lib/twitter/trend_results.rb | 54 + .../gems/twitter-5.11.0/lib/twitter/tweet.rb | 47 + .gems/gems/twitter-5.11.0/lib/twitter/user.rb | 103 + .../gems/twitter-5.11.0/lib/twitter/utils.rb | 48 + .../twitter-5.11.0/lib/twitter/version.rb | 15 + .../spec/fixtures/already_favorited.json | 1 + .../spec/fixtures/already_posted.json | 1 + .../spec/fixtures/already_retweeted.json | 1 + .../spec/fixtures/bearer_token.json | 1 + .../spec/fixtures/category.json | 1 + .../spec/fixtures/configuration.json | 1 + .../spec/fixtures/contributees.json | 1 + .../twitter-5.11.0/spec/fixtures/count.json | 1 + .../spec/fixtures/direct_message.json | 1 + .../spec/fixtures/direct_messages.json | 1 + .../twitter-5.11.0/spec/fixtures/empty.json | 0 .../spec/fixtures/followers_list.json | 1 + .../spec/fixtures/followers_list2.json | 1 + .../spec/fixtures/following.json | 1 + .../spec/fixtures/forbidden.json | 1 + .../spec/fixtures/friends_list.json | 1 + .../spec/fixtures/friends_list2.json | 1 + .../spec/fixtures/friendships.json | 1 + .../twitter-5.11.0/spec/fixtures/ids.json | 1 + .../spec/fixtures/ids_list.json | 1 + .../spec/fixtures/ids_list2.json | 1 + .../spec/fixtures/languages.json | 1 + .../twitter-5.11.0/spec/fixtures/list.json | 1 + .../twitter-5.11.0/spec/fixtures/lists.json | 1 + .../spec/fixtures/locations.json | 1 + .../spec/fixtures/matching_trends.json | 1 + .../gems/twitter-5.11.0/spec/fixtures/me.jpeg | Bin 0 -> 65384 bytes .../twitter-5.11.0/spec/fixtures/members.json | 1 + .../spec/fixtures/memberships.json | 1 + .../spec/fixtures/memberships2.json | 1 + .../spec/fixtures/not_following.json | 1 + .../spec/fixtures/not_found.json | 1 + .../twitter-5.11.0/spec/fixtures/oembed.json | 1 + .../spec/fixtures/ownerships.json | 1 + .../twitter-5.11.0/spec/fixtures/pbjt.gif | Bin 0 -> 73623 bytes .../spec/fixtures/pengwynn.json | 1 + .../twitter-5.11.0/spec/fixtures/place.json | 1 + .../twitter-5.11.0/spec/fixtures/places.json | 1 + .../twitter-5.11.0/spec/fixtures/privacy.json | 1 + .../spec/fixtures/profile_banner.json | 1 + .../spec/fixtures/request_token.txt | 6 + .../twitter-5.11.0/spec/fixtures/retweet.json | 1 + .../spec/fixtures/retweets.json | 1 + .../spec/fixtures/saved_search.json | 1 + .../spec/fixtures/saved_searches.json | 1 + .../twitter-5.11.0/spec/fixtures/search.json | 1 + .../twitter-5.11.0/spec/fixtures/search2.json | 1 + .../spec/fixtures/search_malformed.json | 1 + .../spec/fixtures/settings.json | 1 + .../twitter-5.11.0/spec/fixtures/sferik.json | 1 + .../twitter-5.11.0/spec/fixtures/status.json | 1 + .../spec/fixtures/statuses.json | 1 + .../spec/fixtures/subscriptions.json | 1 + .../spec/fixtures/subscriptions2.json | 1 + .../spec/fixtures/suggestions.json | 1 + .../twitter-5.11.0/spec/fixtures/tos.json | 1 + .../spec/fixtures/track_streaming.json | 3 + .../spec/fixtures/track_streaming_user.json | 6 + .../twitter-5.11.0/spec/fixtures/upload.json | 1 + .../spec/fixtures/user_search.json | 1 + .../spec/fixtures/user_timeline.json | 1 + .../twitter-5.11.0/spec/fixtures/users.json | 1 + .../spec/fixtures/users_list.json | 1 + .../spec/fixtures/users_list2.json | 1 + .../spec/fixtures/we_concept_bg2.png | Bin 0 -> 181798 bytes .../spec/fixtures/wildcomet2.jpe | Bin 0 -> 36612 bytes .gems/gems/twitter-5.11.0/spec/helper.rb | 68 + .../twitter-5.11.0/spec/twitter/base_spec.rb | 39 + .../spec/twitter/basic_user_spec.rb | 23 + .../spec/twitter/configuration_spec.rb | 17 + .../spec/twitter/cursor_spec.rb | 30 + .../spec/twitter/direct_message_spec.rb | 232 + .../spec/twitter/entity/uri_spec.rb | 75 + .../twitter-5.11.0/spec/twitter/error_spec.rb | 52 + .../spec/twitter/geo/point_spec.rb | 41 + .../spec/twitter/geo/polygon_spec.rb | 29 + .../spec/twitter/geo_factory_spec.rb | 19 + .../spec/twitter/geo_results_spec.rb | 35 + .../twitter-5.11.0/spec/twitter/geo_spec.rb | 29 + .../spec/twitter/identifiable_spec.rb | 29 + .../twitter-5.11.0/spec/twitter/list_spec.rb | 88 + .../spec/twitter/media/photo_spec.rb | 151 + .../spec/twitter/media_factory_spec.rb | 15 + .../spec/twitter/oembed_spec.rb | 170 + .../twitter-5.11.0/spec/twitter/place_spec.rb | 168 + .../spec/twitter/profile_banner_spec.rb | 13 + .../spec/twitter/rate_limit_spec.rb | 59 + .../spec/twitter/relationship_spec.rb | 49 + .../spec/twitter/rest/client_spec.rb | 217 + .../spec/twitter/rest/direct_messages_spec.rb | 133 + .../spec/twitter/rest/favorites_spec.rb | 188 + .../rest/friends_and_followers_spec.rb | 667 +++ .../spec/twitter/rest/geo_spec.rb | 68 + .../spec/twitter/rest/help_spec.rb | 68 + .../spec/twitter/rest/lists_spec.rb | 910 ++++ .../spec/twitter/rest/media_spec.rb | 54 + .../spec/twitter/rest/oauth_spec.rb | 63 + .../spec/twitter/rest/saved_searches_spec.rb | 98 + .../spec/twitter/rest/search_spec.rb | 42 + .../spec/twitter/rest/spam_reporting_spec.rb | 25 + .../spec/twitter/rest/suggested_users_spec.rb | 59 + .../spec/twitter/rest/timelines_spec.rb | 138 + .../spec/twitter/rest/trends_spec.rb | 68 + .../spec/twitter/rest/tweets_spec.rb | 614 +++ .../spec/twitter/rest/undocumented_spec.rb | 103 + .../spec/twitter/rest/users_spec.rb | 797 ++++ .../spec/twitter/saved_search_spec.rb | 45 + .../spec/twitter/search_results_spec.rb | 30 + .../spec/twitter/settings_spec.rb | 27 + .../twitter-5.11.0/spec/twitter/size_spec.rb | 28 + .../spec/twitter/source_user_spec.rb | 23 + .../spec/twitter/streaming/client_spec.rb | 123 + .../spec/twitter/streaming/connection_spec.rb | 32 + .../twitter/streaming/deleted_tweet_spec.rb | 23 + .../spec/twitter/streaming/event_spec.rb | 43 + .../twitter/streaming/friend_list_spec.rb | 11 + .../twitter/streaming/message_parser_spec.rb | 54 + .../spec/twitter/streaming/response_spec.rb | 21 + .../spec/twitter/suggestion_spec.rb | 40 + .../spec/twitter/target_user_spec.rb | 23 + .../twitter-5.11.0/spec/twitter/token_spec.rb | 16 + .../spec/twitter/trend_results_spec.rb | 89 + .../twitter-5.11.0/spec/twitter/trend_spec.rb | 51 + .../twitter-5.11.0/spec/twitter/tweet_spec.rb | 456 ++ .../twitter-5.11.0/spec/twitter/user_spec.rb | 447 ++ .../twitter-5.11.0/spec/twitter/utils_spec.rb | 34 + .gems/gems/twitter-5.11.0/twitter.gemspec | 31 + .gems/specifications/json-1.8.1.gemspec | 36 + .gems/specifications/twitter-5.11.0.gemspec | 59 + .rbenv-gemsets | 1 + bot.rb | 17 +- 1312 files changed, 112495 insertions(+), 8 deletions(-) create mode 100644 .gems/cache/json-1.8.1.gem create mode 100644 .gems/cache/twitter-5.11.0.gem create mode 100644 .gems/doc/json-1.8.1/rdoc/BigDecimal.html create mode 100644 .gems/doc/json-1.8.1/rdoc/Class.html create mode 100644 .gems/doc/json-1.8.1/rdoc/Complex.html create mode 100644 .gems/doc/json-1.8.1/rdoc/Date.html create mode 100644 .gems/doc/json-1.8.1/rdoc/DateTime.html create mode 100644 .gems/doc/json-1.8.1/rdoc/Exception.html create mode 100644 .gems/doc/json-1.8.1/rdoc/JSON.html create mode 100644 .gems/doc/json-1.8.1/rdoc/JSON/CircularDatastructure.html create mode 100644 .gems/doc/json-1.8.1/rdoc/JSON/Ext.html create mode 100644 .gems/doc/json-1.8.1/rdoc/JSON/GeneratorError.html create mode 100644 .gems/doc/json-1.8.1/rdoc/JSON/GenericObject.html create mode 100644 .gems/doc/json-1.8.1/rdoc/JSON/JSONError.html create mode 100644 .gems/doc/json-1.8.1/rdoc/JSON/MissingUnicodeSupport.html create mode 100644 .gems/doc/json-1.8.1/rdoc/JSON/NestingError.html create mode 100644 .gems/doc/json-1.8.1/rdoc/JSON/ParserError.html create mode 100644 .gems/doc/json-1.8.1/rdoc/JSON/Pure.html create mode 100644 .gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator.html create mode 100644 .gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods.html create mode 100644 .gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/Array.html create mode 100644 .gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/FalseClass.html create mode 100644 .gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/Float.html create mode 100644 .gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/Hash.html create mode 100644 .gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/Integer.html create mode 100644 .gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/NilClass.html create mode 100644 .gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/Object.html create mode 100644 .gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/String.html create mode 100644 .gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/String/Extend.html create mode 100644 .gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/TrueClass.html create mode 100644 .gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/State.html create mode 100644 .gems/doc/json-1.8.1/rdoc/JSON/Pure/Parser.html create mode 100644 .gems/doc/json-1.8.1/rdoc/Kernel.html create mode 100644 .gems/doc/json-1.8.1/rdoc/OpenStruct.html create mode 100644 .gems/doc/json-1.8.1/rdoc/README_rdoc.html create mode 100644 .gems/doc/json-1.8.1/rdoc/Range.html create mode 100644 .gems/doc/json-1.8.1/rdoc/Rational.html create mode 100644 .gems/doc/json-1.8.1/rdoc/Regexp.html create mode 100644 .gems/doc/json-1.8.1/rdoc/Struct.html create mode 100644 .gems/doc/json-1.8.1/rdoc/Symbol.html create mode 100644 .gems/doc/json-1.8.1/rdoc/Time.html create mode 100644 .gems/doc/json-1.8.1/rdoc/created.rid create mode 100644 .gems/doc/json-1.8.1/rdoc/images/brick.png create mode 100644 .gems/doc/json-1.8.1/rdoc/images/brick_link.png create mode 100644 .gems/doc/json-1.8.1/rdoc/images/bug.png create mode 100644 .gems/doc/json-1.8.1/rdoc/images/bullet_black.png create mode 100644 .gems/doc/json-1.8.1/rdoc/images/bullet_toggle_minus.png create mode 100644 .gems/doc/json-1.8.1/rdoc/images/bullet_toggle_plus.png create mode 100644 .gems/doc/json-1.8.1/rdoc/images/date.png create mode 100644 .gems/doc/json-1.8.1/rdoc/images/find.png create mode 100644 .gems/doc/json-1.8.1/rdoc/images/loadingAnimation.gif create mode 100644 .gems/doc/json-1.8.1/rdoc/images/macFFBgHack.png create mode 100644 .gems/doc/json-1.8.1/rdoc/images/package.png create mode 100644 .gems/doc/json-1.8.1/rdoc/images/page_green.png create mode 100644 .gems/doc/json-1.8.1/rdoc/images/page_white_text.png create mode 100644 .gems/doc/json-1.8.1/rdoc/images/page_white_width.png create mode 100644 .gems/doc/json-1.8.1/rdoc/images/plugin.png create mode 100644 .gems/doc/json-1.8.1/rdoc/images/ruby.png create mode 100644 .gems/doc/json-1.8.1/rdoc/images/tag_green.png create mode 100644 .gems/doc/json-1.8.1/rdoc/images/wrench.png create mode 100644 .gems/doc/json-1.8.1/rdoc/images/wrench_orange.png create mode 100644 .gems/doc/json-1.8.1/rdoc/images/zoom.png create mode 100644 .gems/doc/json-1.8.1/rdoc/index.html create mode 100644 .gems/doc/json-1.8.1/rdoc/js/darkfish.js create mode 100644 .gems/doc/json-1.8.1/rdoc/js/jquery.js create mode 100644 .gems/doc/json-1.8.1/rdoc/js/quicksearch.js create mode 100644 .gems/doc/json-1.8.1/rdoc/js/thickbox-compressed.js create mode 100644 .gems/doc/json-1.8.1/rdoc/lib/json/add/bigdecimal_rb.html create mode 100644 .gems/doc/json-1.8.1/rdoc/lib/json/add/complex_rb.html create mode 100644 .gems/doc/json-1.8.1/rdoc/lib/json/add/core_rb.html create mode 100644 .gems/doc/json-1.8.1/rdoc/lib/json/add/date_rb.html create mode 100644 .gems/doc/json-1.8.1/rdoc/lib/json/add/date_time_rb.html create mode 100644 .gems/doc/json-1.8.1/rdoc/lib/json/add/exception_rb.html create mode 100644 .gems/doc/json-1.8.1/rdoc/lib/json/add/ostruct_rb.html create mode 100644 .gems/doc/json-1.8.1/rdoc/lib/json/add/range_rb.html create mode 100644 .gems/doc/json-1.8.1/rdoc/lib/json/add/rational_rb.html create mode 100644 .gems/doc/json-1.8.1/rdoc/lib/json/add/regexp_rb.html create mode 100644 .gems/doc/json-1.8.1/rdoc/lib/json/add/struct_rb.html create mode 100644 .gems/doc/json-1.8.1/rdoc/lib/json/add/symbol_rb.html create mode 100644 .gems/doc/json-1.8.1/rdoc/lib/json/add/time_rb.html create mode 100644 .gems/doc/json-1.8.1/rdoc/lib/json/common_rb.html create mode 100644 .gems/doc/json-1.8.1/rdoc/lib/json/ext_rb.html create mode 100644 .gems/doc/json-1.8.1/rdoc/lib/json/generic_object_rb.html create mode 100644 .gems/doc/json-1.8.1/rdoc/lib/json/pure/generator_rb.html create mode 100644 .gems/doc/json-1.8.1/rdoc/lib/json/pure/parser_rb.html create mode 100644 .gems/doc/json-1.8.1/rdoc/lib/json/pure_rb.html create mode 100644 .gems/doc/json-1.8.1/rdoc/lib/json/version_rb.html create mode 100644 .gems/doc/json-1.8.1/rdoc/lib/json_rb.html create mode 100644 .gems/doc/json-1.8.1/rdoc/rdoc.css create mode 100644 .gems/doc/json-1.8.1/ri/BigDecimal/as_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/BigDecimal/cdesc-BigDecimal.ri create mode 100644 .gems/doc/json-1.8.1/ri/BigDecimal/json_create-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/BigDecimal/to_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/Class/cdesc-Class.ri create mode 100644 .gems/doc/json-1.8.1/ri/Class/json_creatable%3f-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/Complex/as_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/Complex/cdesc-Complex.ri create mode 100644 .gems/doc/json-1.8.1/ri/Complex/json_create-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/Complex/to_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/Date/as_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/Date/cdesc-Date.ri create mode 100644 .gems/doc/json-1.8.1/ri/Date/json_create-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/Date/to_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/DateTime/as_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/DateTime/cdesc-DateTime.ri create mode 100644 .gems/doc/json-1.8.1/ri/DateTime/json_create-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/DateTime/to_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/Exception/as_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/Exception/cdesc-Exception.ri create mode 100644 .gems/doc/json-1.8.1/ri/Exception/json_create-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/Exception/to_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/%5b%5d-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/CircularDatastructure/cdesc-CircularDatastructure.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Ext/cdesc-Ext.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/GeneratorError/cdesc-GeneratorError.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/GenericObject/%5b%5d%3d-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/GenericObject/%5b%5d-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/GenericObject/%7c-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/GenericObject/as_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/GenericObject/cdesc-GenericObject.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/GenericObject/dump-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/GenericObject/from_hash-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/GenericObject/json_creatable%3f-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/GenericObject/json_creatable-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/GenericObject/json_create-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/GenericObject/load-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/GenericObject/to_hash-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/GenericObject/to_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/JSONError/cdesc-JSONError.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/JSONError/wrap-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/MissingUnicodeSupport/cdesc-MissingUnicodeSupport.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/NestingError/cdesc-NestingError.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/ParserError/cdesc-ParserError.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/Array/cdesc-Array.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/Array/to_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/FalseClass/cdesc-FalseClass.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/FalseClass/to_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/Float/cdesc-Float.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/Float/to_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/Hash/cdesc-Hash.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/Hash/to_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/Integer/cdesc-Integer.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/Integer/to_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/NilClass/cdesc-NilClass.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/NilClass/to_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/Object/cdesc-Object.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/Object/to_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/String/Extend/cdesc-Extend.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/String/Extend/json_create-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/String/cdesc-String.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/String/included-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/String/to_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/String/to_json_raw-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/String/to_json_raw_object-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/TrueClass/cdesc-TrueClass.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/TrueClass/to_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/cdesc-GeneratorMethods.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/%5b%5d%3d-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/%5b%5d-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/allow_nan%3f-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/array_nl-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/ascii_only%3f-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/cdesc-State.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/check_circular%3f-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/configure-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/depth-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/from_state-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/generate-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/indent-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/max_nesting-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/merge-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/new-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/object_nl-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/quirks_mode%3f-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/quirks_mode-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/space-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/space_before-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/to_h-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/to_hash-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Generator/cdesc-Generator.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Parser/cdesc-Parser.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Parser/new-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Parser/parse-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Parser/quirks_mode%3f-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/Parser/reset-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/Pure/cdesc-Pure.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/UnparserError/cdesc-UnparserError.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/cdesc-JSON.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/const_defined_in%3f-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/create_id-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/dump-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/dump_default_options-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/fast_generate-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/generate-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/generator-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/iconv-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/load-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/load_default_options-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/parse%21-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/parse-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/parser-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/pretty_generate-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/recurse_proc-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/restore-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/state-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/JSON/valid_utf8%3f-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/Kernel/cdesc-Kernel.ri create mode 100644 .gems/doc/json-1.8.1/ri/OpenStruct/as_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/OpenStruct/cdesc-OpenStruct.ri create mode 100644 .gems/doc/json-1.8.1/ri/OpenStruct/json_create-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/OpenStruct/to_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/Range/as_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/Range/cdesc-Range.ri create mode 100644 .gems/doc/json-1.8.1/ri/Range/json_create-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/Range/to_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/Rational/as_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/Rational/cdesc-Rational.ri create mode 100644 .gems/doc/json-1.8.1/ri/Rational/json_create-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/Rational/to_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/Regexp/as_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/Regexp/cdesc-Regexp.ri create mode 100644 .gems/doc/json-1.8.1/ri/Regexp/json_create-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/Regexp/to_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/Struct/as_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/Struct/cdesc-Struct.ri create mode 100644 .gems/doc/json-1.8.1/ri/Struct/json_create-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/Struct/to_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/Symbol/as_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/Symbol/cdesc-Symbol.ri create mode 100644 .gems/doc/json-1.8.1/ri/Symbol/json_create-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/Symbol/to_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/Time/as_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/Time/cdesc-Time.ri create mode 100644 .gems/doc/json-1.8.1/ri/Time/json_create-c.ri create mode 100644 .gems/doc/json-1.8.1/ri/Time/to_json-i.ri create mode 100644 .gems/doc/json-1.8.1/ri/cache.ri create mode 100644 .gems/doc/json-1.8.1/ri/created.rid create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Arguments.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Base.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/BasicUser.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Client.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Configuration.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Creatable.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Cursor.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/DirectMessage.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Entities.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Entity.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Entity/Hashtag.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Entity/Symbol.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Entity/URI.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Entity/UserMention.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Enumerable.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Error.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Error/AlreadyFavorited.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Error/AlreadyRetweeted.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Error/BadGateway.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Error/BadRequest.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Error/ClientError.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Error/Code.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Error/ConfigurationError.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Error/DuplicateStatus.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Error/Forbidden.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Error/GatewayTimeout.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Error/InternalServerError.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Error/NotAcceptable.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Error/NotFound.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Error/RequestTimeout.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Error/ServerError.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Error/ServiceUnavailable.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Error/TooManyRequests.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Error/UnacceptableIO.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Error/Unauthorized.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Error/UnprocessableEntity.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Factory.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Geo.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Geo/Point.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Geo/Polygon.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/GeoFactory.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/GeoResults.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Identity.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Language.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/List.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Media.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Media/Photo.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/MediaFactory.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Metadata.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/OEmbed.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Place.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Profile.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/ProfileBanner.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/REST.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/REST/API.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Client.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/REST/DirectMessages.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Favorites.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/REST/FriendsAndFollowers.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Help.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Lists.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Media.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/REST/OAuth.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/REST/PlacesAndGeo.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Request.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Request/MultipartWithFile.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Response.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Response/ParseErrorJson.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Response/ParseJson.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Response/RaiseError.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/REST/SavedSearches.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Search.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/REST/SpamReporting.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/REST/SuggestedUsers.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Timelines.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Trends.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Tweets.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Undocumented.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Users.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Utils.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/RateLimit.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Relationship.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Request.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/SavedSearch.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/SearchResults.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Settings.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Size.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/SourceUser.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/Client.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/Connection.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/DeletedTweet.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/Event.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/FriendList.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/MessageParser.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/Response.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/StallWarning.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Suggestion.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/TargetUser.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Token.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Trend.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/TrendResults.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Tweet.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/User.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Utils.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Utils/ClassMethods.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/Twitter/Version.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/created.rid create mode 100644 .gems/doc/twitter-5.11.0/rdoc/images/brick.png create mode 100644 .gems/doc/twitter-5.11.0/rdoc/images/brick_link.png create mode 100644 .gems/doc/twitter-5.11.0/rdoc/images/bug.png create mode 100644 .gems/doc/twitter-5.11.0/rdoc/images/bullet_black.png create mode 100644 .gems/doc/twitter-5.11.0/rdoc/images/bullet_toggle_minus.png create mode 100644 .gems/doc/twitter-5.11.0/rdoc/images/bullet_toggle_plus.png create mode 100644 .gems/doc/twitter-5.11.0/rdoc/images/date.png create mode 100644 .gems/doc/twitter-5.11.0/rdoc/images/find.png create mode 100644 .gems/doc/twitter-5.11.0/rdoc/images/loadingAnimation.gif create mode 100644 .gems/doc/twitter-5.11.0/rdoc/images/macFFBgHack.png create mode 100644 .gems/doc/twitter-5.11.0/rdoc/images/package.png create mode 100644 .gems/doc/twitter-5.11.0/rdoc/images/page_green.png create mode 100644 .gems/doc/twitter-5.11.0/rdoc/images/page_white_text.png create mode 100644 .gems/doc/twitter-5.11.0/rdoc/images/page_white_width.png create mode 100644 .gems/doc/twitter-5.11.0/rdoc/images/plugin.png create mode 100644 .gems/doc/twitter-5.11.0/rdoc/images/ruby.png create mode 100644 .gems/doc/twitter-5.11.0/rdoc/images/tag_green.png create mode 100644 .gems/doc/twitter-5.11.0/rdoc/images/wrench.png create mode 100644 .gems/doc/twitter-5.11.0/rdoc/images/wrench_orange.png create mode 100644 .gems/doc/twitter-5.11.0/rdoc/images/zoom.png create mode 100644 .gems/doc/twitter-5.11.0/rdoc/index.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/js/darkfish.js create mode 100644 .gems/doc/twitter-5.11.0/rdoc/js/jquery.js create mode 100644 .gems/doc/twitter-5.11.0/rdoc/js/quicksearch.js create mode 100644 .gems/doc/twitter-5.11.0/rdoc/js/thickbox-compressed.js create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/arguments_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/base_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/basic_user_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/client_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/configuration_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/creatable_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/cursor_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/direct_message_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/entities_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/entity/hashtag_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/entity/symbol_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/entity/uri_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/entity/user_mention_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/entity_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/enumerable_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/error_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/factory_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/geo/point_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/geo/polygon_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/geo_factory_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/geo_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/geo_results_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/identity_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/language_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/list_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/media/photo_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/media_factory_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/metadata_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/null_object_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/oembed_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/place_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/profile_banner_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/profile_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/rate_limit_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/relationship_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/request_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/api_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/client_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/direct_messages_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/favorites_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/friends_and_followers_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/help_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/lists_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/media_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/oauth_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/places_and_geo_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/request/multipart_with_file_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/response/parse_error_json_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/response/parse_json_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/response/raise_error_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/saved_searches_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/search_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/spam_reporting_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/suggested_users_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/timelines_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/trends_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/tweets_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/undocumented_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/users_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/utils_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/saved_search_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/search_results_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/settings_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/size_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/source_user_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/client_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/connection_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/deleted_tweet_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/event_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/friend_list_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/message_parser_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/response_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/stall_warning_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/suggestion_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/target_user_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/token_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/trend_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/trend_results_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/tweet_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/user_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/utils_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter/version_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/lib/twitter_rb.html create mode 100644 .gems/doc/twitter-5.11.0/rdoc/rdoc.css create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Arguments/cdesc-Arguments.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Arguments/new-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Arguments/options-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Base/%5b%5d-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Base/attr_reader-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Base/attrs-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Base/cdesc-Base.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Base/define_attribute_method-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Base/define_predicate_method-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Base/define_uri_method-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Base/deprecate_attribute_method-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Base/display_uri_attr_reader-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Base/new-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Base/object_attr_reader-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Base/predicate_attr_reader-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Base/to_h-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Base/uri_attr_reader-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/BasicUser/cdesc-BasicUser.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/BasicUser/screen_name-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Client/access_token-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Client/access_token_secret-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Client/cdesc-Client.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Client/consumer_key-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Client/consumer_secret-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Client/credentials%3f-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Client/credentials-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Client/new-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Client/proxy-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Client/user_agent-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Client/user_token%3f-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Configuration/cdesc-Configuration.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Configuration/characters_reserved_per_media-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Configuration/max_media_per_upload-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Configuration/non_username_paths-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Configuration/photo_size_limit-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Configuration/photo_sizes-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Configuration/short_uri_length-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Configuration/short_uri_length_https-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Configuration/short_url_length-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Configuration/short_url_length_https-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Creatable/cdesc-Creatable.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Creatable/created%3f-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Creatable/created_at-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Cursor/attrs-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Cursor/cdesc-Cursor.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Cursor/new-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Cursor/to_h-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/DirectMessage/cdesc-DirectMessage.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/DirectMessage/full_text-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/DirectMessage/text-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Entities/cdesc-Entities.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Entities/entities%3f-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Entities/hashtags%3f-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Entities/hashtags-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Entities/media%3f-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Entities/media-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Entities/symbols%3f-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Entities/symbols-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Entities/uris%3f-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Entities/uris-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Entities/urls%3f-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Entities/urls-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Entities/user_mentions%3f-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Entities/user_mentions-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Entity/Hashtag/cdesc-Hashtag.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Entity/Hashtag/text-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Entity/Symbol/cdesc-Symbol.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Entity/Symbol/text-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Entity/URI/cdesc-URI.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Entity/URL/cdesc-URL.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Entity/UserMention/cdesc-UserMention.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Entity/UserMention/id-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Entity/UserMention/name-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Entity/UserMention/screen_name-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Entity/cdesc-Entity.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Entity/indices-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Enumerable/cdesc-Enumerable.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Enumerable/each-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Error/AlreadyFavorited/cdesc-AlreadyFavorited.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Error/AlreadyRetweeted/cdesc-AlreadyRetweeted.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Error/BadGateway/cdesc-BadGateway.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Error/BadRequest/cdesc-BadRequest.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Error/ClientError/cdesc-ClientError.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Error/Code/cdesc-Code.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Error/ConfigurationError/cdesc-ConfigurationError.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Error/DuplicateStatus/cdesc-DuplicateStatus.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Error/Forbidden/cdesc-Forbidden.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Error/GatewayTimeout/cdesc-GatewayTimeout.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Error/InternalServerError/cdesc-InternalServerError.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Error/NotAcceptable/cdesc-NotAcceptable.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Error/NotFound/cdesc-NotFound.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Error/RequestTimeout/cdesc-RequestTimeout.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Error/ServerError/cdesc-ServerError.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Error/ServiceUnavailable/cdesc-ServiceUnavailable.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Error/TooManyRequests/cdesc-TooManyRequests.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Error/UnacceptableIO/cdesc-UnacceptableIO.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Error/UnacceptableIO/new-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Error/Unauthorized/cdesc-Unauthorized.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Error/UnprocessableEntity/cdesc-UnprocessableEntity.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Error/cdesc-Error.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Error/code-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Error/errors-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Error/forbidden_messages-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Error/from_response-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Error/new-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Error/rate_limit-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Factory/cdesc-Factory.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Factory/new-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Geo/Point/cdesc-Point.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Geo/Point/lat-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Geo/Point/latitude-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Geo/Point/lng-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Geo/Point/long-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Geo/Point/longitude-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Geo/Polygon/cdesc-Polygon.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Geo/cdesc-Geo.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Geo/coordinates-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Geo/coords-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/GeoFactory/cdesc-GeoFactory.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/GeoFactory/new-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/GeoResults/attrs-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/GeoResults/cdesc-GeoResults.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/GeoResults/new-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/GeoResults/to_h-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/GeoResults/token-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Identity/cdesc-Identity.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Identity/id-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Identity/new-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Language/cdesc-Language.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Language/code-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Language/name-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Language/status-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/List/cdesc-List.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/List/description-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/List/full_name-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/List/member_count-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/List/members_uri-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/List/members_url-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/List/mode-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/List/name-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/List/slug-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/List/subscriber_count-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/List/subscribers_uri-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/List/subscribers_url-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/List/uri-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/List/url-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Media/Photo/cdesc-Photo.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Media/Photo/indices-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Media/Photo/sizes-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Media/cdesc-Media.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/MediaFactory/cdesc-MediaFactory.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/MediaFactory/new-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Metadata/cdesc-Metadata.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Metadata/iso_language_code-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Metadata/result_type-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/OEmbed/author_name-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/OEmbed/cache_age-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/OEmbed/cdesc-OEmbed.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/OEmbed/height-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/OEmbed/html-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/OEmbed/provider_name-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/OEmbed/type-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/OEmbed/version-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/OEmbed/width-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Place/attributes-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Place/cdesc-Place.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Place/country-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Place/country_code-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Place/full_name-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Place/name-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Place/new-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Place/parent_id-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Place/place_type-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Profile/cdesc-Profile.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Profile/profile_banner_uri%3f-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Profile/profile_banner_uri-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Profile/profile_banner_uri_https-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Profile/profile_banner_url-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Profile/profile_banner_url_https-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Profile/profile_image_uri%3f-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Profile/profile_image_uri-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Profile/profile_image_uri_https-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Profile/profile_image_url-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Profile/profile_image_url_https-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/ProfileBanner/cdesc-ProfileBanner.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/ProfileBanner/sizes-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/API/cdesc-API.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Client/bearer_token%3f-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Client/bearer_token-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Client/cdesc-Client.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Client/connection_options%3d-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Client/connection_options-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Client/credentials%3f-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Client/get-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Client/middleware%3d-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Client/middleware-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Client/post-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/DirectMessages/cdesc-DirectMessages.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/DirectMessages/create_direct_message-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/DirectMessages/d-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/DirectMessages/destroy_direct_message-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/DirectMessages/direct_message-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/DirectMessages/direct_messages-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/DirectMessages/direct_messages_received-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/DirectMessages/direct_messages_sent-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/DirectMessages/dm-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/DirectMessages/m-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Favorites/cdesc-Favorites.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Favorites/create_favorite%21-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Favorites/destroy_favorite-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Favorites/fav%21-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Favorites/fav-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Favorites/fave%21-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Favorites/fave-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Favorites/favorite%21-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Favorites/favorite-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Favorites/favorites-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Favorites/unfavorite-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/cdesc-FriendsAndFollowers.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/create_friendship%21-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/create_friendship-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/destroy_friendship-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/follow%21-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/follow-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/follower_ids-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/followers-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/following-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/friend_ids-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/friends-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/friendship%3f-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/friendship-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/friendship_show-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/friendship_update-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/friendships-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/friendships_incoming-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/friendships_outgoing-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/no_retweet_ids-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/no_retweets_ids-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/relationship-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/unfollow-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Help/cdesc-Help.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Help/configuration-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Help/languages-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Help/privacy-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Help/tos-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/add_list_member-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/add_list_members-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/cdesc-Lists.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/create_list-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/destroy_list-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/list-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/list_member%3f-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/list_members-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/list_subscribe-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/list_subscriber%3f-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/list_subscribers-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/list_timeline-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/list_unsubscribe-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/list_update-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/lists-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/lists_subscribed_to-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/memberships-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/owned_lists-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/remove_list_member-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/remove_list_members-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/subscriptions-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Media/cdesc-Media.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Media/upload-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/OAuth/bearer_token-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/OAuth/cdesc-OAuth.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/OAuth/invalidate_token-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/OAuth/reverse_token-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/OAuth/token-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/PlacesAndGeo/cdesc-PlacesAndGeo.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/PlacesAndGeo/geo_search-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/PlacesAndGeo/place-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/PlacesAndGeo/places_nearby-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/PlacesAndGeo/places_similar-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/PlacesAndGeo/reverse_geocode-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/PlacesAndGeo/similar_places-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Request/MultipartWithFile/call-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Request/MultipartWithFile/cdesc-MultipartWithFile.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Request/cdesc-Request.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Response/ParseErrorJson/cdesc-ParseErrorJson.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Response/ParseErrorJson/unparsable_status_codes-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Response/ParseJson/cdesc-ParseJson.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Response/ParseJson/on_complete-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Response/ParseJson/parse-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Response/ParseJson/unparsable_status_codes-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Response/RaiseError/cdesc-RaiseError.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Response/RaiseError/on_complete-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Response/cdesc-Response.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/SavedSearches/cdesc-SavedSearches.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/SavedSearches/create_saved_search-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/SavedSearches/destroy_saved_search-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/SavedSearches/saved_search-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/SavedSearches/saved_searches-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Search/cdesc-Search.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Search/search-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/SpamReporting/cdesc-SpamReporting.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/SpamReporting/report_spam-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/SuggestedUsers/cdesc-SuggestedUsers.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/SuggestedUsers/suggest_users-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/SuggestedUsers/suggestions-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Timelines/cdesc-Timelines.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Timelines/home_timeline-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Timelines/mentions-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Timelines/mentions_timeline-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Timelines/retweeted_by-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Timelines/retweeted_by_me-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Timelines/retweeted_by_user-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Timelines/retweeted_to_me-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Timelines/retweets_of_me-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Timelines/user_timeline-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Trends/cdesc-Trends.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Trends/local_trends-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Trends/trend_locations-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Trends/trends-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Trends/trends_available-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Trends/trends_closest-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Trends/trends_place-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/cdesc-Tweets.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/destroy_status-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/destroy_tweet-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/oembed-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/oembeds-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/retweet%21-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/retweet-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/retweeters_ids-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/retweeters_of-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/retweets-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/status-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/statuses-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/update%21-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/update-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/update_with_media-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Undocumented/cdesc-Undocumented.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Undocumented/following_followers_of-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Undocumented/tweet_count-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/block%3f-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/block-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/blocked-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/blocked_ids-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/cdesc-Users.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/contributees-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/contributors-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/current_user-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/mute-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/muted-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/muted_ids-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/profile_banner-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/remove_profile_banner-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/settings-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/unblock-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/unmute-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/update_delivery_device-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/update_profile-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/update_profile_background_image-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/update_profile_banner-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/update_profile_colors-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/update_profile_image-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/user%3f-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/user-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/user_search-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/users-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/verify_credentials-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/Utils/cdesc-Utils.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/REST/cdesc-REST.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/RateLimit/cdesc-RateLimit.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/RateLimit/limit-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/RateLimit/remaining-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/RateLimit/reset_at-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/RateLimit/reset_in-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/RateLimit/retry_after-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Relationship/cdesc-Relationship.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Relationship/new-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Request/cdesc-Request.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Request/client-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Request/new-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Request/options-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Request/path-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Request/perform-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Request/perform_with_cursor-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Request/perform_with_object-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Request/perform_with_objects-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Request/request_method-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Request/verb-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/SavedSearch/cdesc-SavedSearch.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/SavedSearch/name-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/SavedSearch/position-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/SavedSearch/query-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/SearchResults/attrs-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/SearchResults/cdesc-SearchResults.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/SearchResults/new-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/SearchResults/to_h-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Settings/cdesc-Settings.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Settings/language-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Settings/screen_name-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Settings/sleep_time-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Settings/time_zone-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Size/cdesc-Size.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Size/h-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Size/height-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Size/resize-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Size/w-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Size/width-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/SourceUser/cdesc-SourceUser.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/before_request-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/cdesc-Client.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/connection-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/filter-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/firehose-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/new-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/sample-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/site-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/ssl_socket_class-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/tcp_socket_class-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/user-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Connection/cdesc-Connection.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Connection/new-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Connection/ssl_socket_class-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Connection/stream-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Connection/tcp_socket_class-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/DeletedTweet/cdesc-DeletedTweet.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/DeletedTweet/user_id-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Event/cdesc-Event.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Event/name-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Event/new-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Event/source-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Event/target-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Event/target_object-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/FriendList/cdesc-FriendList.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/MessageParser/cdesc-MessageParser.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/MessageParser/parse-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Response/%3c%3c-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Response/cdesc-Response.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Response/new-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Response/on_body-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Response/on_headers_complete-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/StallWarning/cdesc-StallWarning.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/StallWarning/code-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/StallWarning/message-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/StallWarning/percent_full-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Streaming/cdesc-Streaming.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Suggestion/cdesc-Suggestion.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Suggestion/name-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Suggestion/size-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Suggestion/slug-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Suggestion/users-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/TargetUser/cdesc-TargetUser.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Token/access_token-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Token/bearer%3f-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Token/cdesc-Token.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Token/to_s-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Token/token_type-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Trend/cdesc-Trend.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Trend/events-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Trend/name-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Trend/query-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/TrendResults/as_of%3f-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/TrendResults/as_of-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/TrendResults/attrs-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/TrendResults/cdesc-TrendResults.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/TrendResults/location%3f-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/TrendResults/location-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/TrendResults/new-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/TrendResults/to_h-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Tweet/cdesc-Tweet.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Tweet/favorite_count-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Tweet/filter_level-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Tweet/full_text-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Tweet/in_reply_to_attrs_id-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Tweet/in_reply_to_screen_name-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Tweet/in_reply_to_status_id-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Tweet/in_reply_to_tweet_id-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Tweet/in_reply_to_user_id-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Tweet/lang-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Tweet/retweet_count-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Tweet/source-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Tweet/text-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Tweet/uri-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Tweet/url-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/cdesc-User.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/connections-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/description-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/entities%3f-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/favorites_count-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/favourites_count-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/followers_count-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/friends_count-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/lang-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/listed_count-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/location-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/name-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/profile_background_color-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/profile_background_image_uri-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/profile_background_image_uri_https-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/profile_background_image_url-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/profile_background_image_url_https-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/profile_link_color-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/profile_sidebar_border_color-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/profile_sidebar_fill_color-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/profile_text_color-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/statuses_count-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/time_zone-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/tweets_count-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/uri-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/url-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/utc_offset-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/website%3f-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/User/website-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Utils/ClassMethods/cdesc-ClassMethods.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Utils/ClassMethods/deprecate_alias-i.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Utils/cdesc-Utils.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Utils/flat_pmap-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Utils/included-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Utils/pmap-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Version/cdesc-Version.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/Version/to_s-c.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/Twitter/cdesc-Twitter.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/cache.ri create mode 100644 .gems/doc/twitter-5.11.0/ri/created.rid create mode 100644 .gems/gems/json-1.8.1/.gitignore create mode 100644 .gems/gems/json-1.8.1/.travis.yml create mode 100644 .gems/gems/json-1.8.1/CHANGES create mode 100644 .gems/gems/json-1.8.1/COPYING create mode 100644 .gems/gems/json-1.8.1/COPYING-json-jruby create mode 100644 .gems/gems/json-1.8.1/GPL create mode 100644 .gems/gems/json-1.8.1/Gemfile create mode 100644 .gems/gems/json-1.8.1/README-json-jruby.markdown create mode 100644 .gems/gems/json-1.8.1/README.rdoc create mode 100644 .gems/gems/json-1.8.1/Rakefile create mode 100644 .gems/gems/json-1.8.1/TODO create mode 100644 .gems/gems/json-1.8.1/VERSION create mode 100644 .gems/gems/json-1.8.1/data/example.json create mode 100644 .gems/gems/json-1.8.1/data/index.html create mode 100644 .gems/gems/json-1.8.1/data/prototype.js create mode 100644 .gems/gems/json-1.8.1/diagrams/.keep create mode 100644 .gems/gems/json-1.8.1/ext/json/ext/fbuffer/fbuffer.h create mode 100644 .gems/gems/json-1.8.1/ext/json/ext/generator/Makefile create mode 100644 .gems/gems/json-1.8.1/ext/json/ext/generator/depend create mode 100644 .gems/gems/json-1.8.1/ext/json/ext/generator/extconf.rb create mode 100644 .gems/gems/json-1.8.1/ext/json/ext/generator/generator.c create mode 100644 .gems/gems/json-1.8.1/ext/json/ext/generator/generator.h create mode 100644 .gems/gems/json-1.8.1/ext/json/ext/generator/generator.o create mode 100755 .gems/gems/json-1.8.1/ext/json/ext/generator/generator.so create mode 100644 .gems/gems/json-1.8.1/ext/json/ext/parser/Makefile create mode 100644 .gems/gems/json-1.8.1/ext/json/ext/parser/depend create mode 100644 .gems/gems/json-1.8.1/ext/json/ext/parser/extconf.rb create mode 100644 .gems/gems/json-1.8.1/ext/json/ext/parser/parser.c create mode 100644 .gems/gems/json-1.8.1/ext/json/ext/parser/parser.h create mode 100644 .gems/gems/json-1.8.1/ext/json/ext/parser/parser.o create mode 100644 .gems/gems/json-1.8.1/ext/json/ext/parser/parser.rl create mode 100755 .gems/gems/json-1.8.1/ext/json/ext/parser/parser.so create mode 100755 .gems/gems/json-1.8.1/install.rb create mode 100644 .gems/gems/json-1.8.1/java/src/json/ext/ByteListTranscoder.java create mode 100644 .gems/gems/json-1.8.1/java/src/json/ext/Generator.java create mode 100644 .gems/gems/json-1.8.1/java/src/json/ext/GeneratorMethods.java create mode 100644 .gems/gems/json-1.8.1/java/src/json/ext/GeneratorService.java create mode 100644 .gems/gems/json-1.8.1/java/src/json/ext/GeneratorState.java create mode 100644 .gems/gems/json-1.8.1/java/src/json/ext/OptionsReader.java create mode 100644 .gems/gems/json-1.8.1/java/src/json/ext/Parser.java create mode 100644 .gems/gems/json-1.8.1/java/src/json/ext/Parser.rl create mode 100644 .gems/gems/json-1.8.1/java/src/json/ext/ParserService.java create mode 100644 .gems/gems/json-1.8.1/java/src/json/ext/RuntimeInfo.java create mode 100644 .gems/gems/json-1.8.1/java/src/json/ext/StringDecoder.java create mode 100644 .gems/gems/json-1.8.1/java/src/json/ext/StringEncoder.java create mode 100644 .gems/gems/json-1.8.1/java/src/json/ext/Utils.java create mode 100644 .gems/gems/json-1.8.1/json-java.gemspec create mode 100644 .gems/gems/json-1.8.1/json.gemspec create mode 100644 .gems/gems/json-1.8.1/json_pure.gemspec create mode 100644 .gems/gems/json-1.8.1/lib/json.rb create mode 100644 .gems/gems/json-1.8.1/lib/json/add/bigdecimal.rb create mode 100644 .gems/gems/json-1.8.1/lib/json/add/complex.rb create mode 100644 .gems/gems/json-1.8.1/lib/json/add/core.rb create mode 100644 .gems/gems/json-1.8.1/lib/json/add/date.rb create mode 100644 .gems/gems/json-1.8.1/lib/json/add/date_time.rb create mode 100644 .gems/gems/json-1.8.1/lib/json/add/exception.rb create mode 100644 .gems/gems/json-1.8.1/lib/json/add/ostruct.rb create mode 100644 .gems/gems/json-1.8.1/lib/json/add/range.rb create mode 100644 .gems/gems/json-1.8.1/lib/json/add/rational.rb create mode 100644 .gems/gems/json-1.8.1/lib/json/add/regexp.rb create mode 100644 .gems/gems/json-1.8.1/lib/json/add/struct.rb create mode 100644 .gems/gems/json-1.8.1/lib/json/add/symbol.rb create mode 100644 .gems/gems/json-1.8.1/lib/json/add/time.rb create mode 100644 .gems/gems/json-1.8.1/lib/json/common.rb create mode 100644 .gems/gems/json-1.8.1/lib/json/ext.rb create mode 100644 .gems/gems/json-1.8.1/lib/json/ext/.keep create mode 100755 .gems/gems/json-1.8.1/lib/json/ext/generator.so create mode 100755 .gems/gems/json-1.8.1/lib/json/ext/parser.so create mode 100644 .gems/gems/json-1.8.1/lib/json/generic_object.rb create mode 100644 .gems/gems/json-1.8.1/lib/json/pure.rb create mode 100644 .gems/gems/json-1.8.1/lib/json/pure/generator.rb create mode 100644 .gems/gems/json-1.8.1/lib/json/pure/parser.rb create mode 100644 .gems/gems/json-1.8.1/lib/json/version.rb create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/fail1.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/fail10.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/fail11.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/fail12.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/fail13.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/fail14.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/fail18.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/fail19.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/fail2.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/fail20.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/fail21.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/fail22.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/fail23.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/fail24.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/fail25.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/fail27.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/fail28.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/fail3.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/fail4.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/fail5.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/fail6.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/fail7.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/fail8.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/fail9.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/pass1.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/pass15.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/pass16.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/pass17.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/pass2.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/pass26.json create mode 100644 .gems/gems/json-1.8.1/tests/fixtures/pass3.json create mode 100644 .gems/gems/json-1.8.1/tests/setup_variant.rb create mode 100755 .gems/gems/json-1.8.1/tests/test_json.rb create mode 100755 .gems/gems/json-1.8.1/tests/test_json_addition.rb create mode 100644 .gems/gems/json-1.8.1/tests/test_json_encoding.rb create mode 100755 .gems/gems/json-1.8.1/tests/test_json_fixtures.rb create mode 100755 .gems/gems/json-1.8.1/tests/test_json_generate.rb create mode 100644 .gems/gems/json-1.8.1/tests/test_json_generic_object.rb create mode 100644 .gems/gems/json-1.8.1/tests/test_json_string_matching.rb create mode 100755 .gems/gems/json-1.8.1/tests/test_json_unicode.rb create mode 100755 .gems/gems/json-1.8.1/tools/fuzz.rb create mode 100755 .gems/gems/json-1.8.1/tools/server.rb create mode 100644 .gems/gems/twitter-5.11.0/.yardopts create mode 100644 .gems/gems/twitter-5.11.0/CHANGELOG.md create mode 100644 .gems/gems/twitter-5.11.0/CONTRIBUTING.md create mode 100644 .gems/gems/twitter-5.11.0/LICENSE.md create mode 100644 .gems/gems/twitter-5.11.0/README.md create mode 100644 .gems/gems/twitter-5.11.0/Rakefile create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/arguments.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/base.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/basic_user.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/client.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/configuration.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/creatable.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/cursor.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/direct_message.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/entities.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/entity.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/entity/hashtag.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/entity/symbol.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/entity/uri.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/entity/user_mention.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/enumerable.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/error.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/factory.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/geo.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/geo/point.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/geo/polygon.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/geo_factory.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/geo_results.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/identity.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/language.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/list.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/media/photo.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/media_factory.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/metadata.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/null_object.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/oembed.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/place.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/profile.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/profile_banner.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/rate_limit.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/relationship.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/request.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/rest/api.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/rest/client.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/rest/direct_messages.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/rest/favorites.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/rest/friends_and_followers.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/rest/help.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/rest/lists.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/rest/media.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/rest/oauth.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/rest/places_and_geo.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/rest/request/multipart_with_file.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/rest/response/parse_error_json.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/rest/response/parse_json.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/rest/response/raise_error.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/rest/saved_searches.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/rest/search.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/rest/spam_reporting.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/rest/suggested_users.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/rest/timelines.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/rest/trends.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/rest/tweets.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/rest/undocumented.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/rest/users.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/rest/utils.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/saved_search.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/search_results.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/settings.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/size.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/source_user.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/streaming/client.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/streaming/connection.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/streaming/deleted_tweet.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/streaming/event.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/streaming/friend_list.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/streaming/message_parser.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/streaming/response.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/streaming/stall_warning.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/suggestion.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/target_user.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/token.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/trend.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/trend_results.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/tweet.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/user.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/utils.rb create mode 100644 .gems/gems/twitter-5.11.0/lib/twitter/version.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/already_favorited.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/already_posted.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/already_retweeted.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/bearer_token.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/category.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/configuration.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/contributees.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/count.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/direct_message.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/direct_messages.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/empty.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/followers_list.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/followers_list2.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/following.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/forbidden.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/friends_list.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/friends_list2.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/friendships.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/ids.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/ids_list.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/ids_list2.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/languages.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/list.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/lists.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/locations.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/matching_trends.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/me.jpeg create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/members.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/memberships.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/memberships2.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/not_following.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/not_found.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/oembed.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/ownerships.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/pbjt.gif create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/pengwynn.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/place.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/places.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/privacy.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/profile_banner.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/request_token.txt create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/retweet.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/retweets.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/saved_search.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/saved_searches.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/search.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/search2.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/search_malformed.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/settings.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/sferik.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/status.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/statuses.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/subscriptions.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/subscriptions2.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/suggestions.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/tos.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/track_streaming.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/track_streaming_user.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/upload.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/user_search.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/user_timeline.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/users.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/users_list.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/users_list2.json create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/we_concept_bg2.png create mode 100644 .gems/gems/twitter-5.11.0/spec/fixtures/wildcomet2.jpe create mode 100644 .gems/gems/twitter-5.11.0/spec/helper.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/base_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/basic_user_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/configuration_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/cursor_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/direct_message_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/entity/uri_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/error_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/geo/point_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/geo/polygon_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/geo_factory_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/geo_results_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/geo_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/identifiable_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/list_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/media/photo_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/media_factory_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/oembed_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/place_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/profile_banner_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/rate_limit_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/relationship_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/rest/client_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/rest/direct_messages_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/rest/favorites_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/rest/friends_and_followers_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/rest/geo_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/rest/help_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/rest/lists_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/rest/media_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/rest/oauth_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/rest/saved_searches_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/rest/search_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/rest/spam_reporting_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/rest/suggested_users_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/rest/timelines_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/rest/trends_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/rest/tweets_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/rest/undocumented_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/rest/users_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/saved_search_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/search_results_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/settings_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/size_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/source_user_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/streaming/client_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/streaming/connection_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/streaming/deleted_tweet_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/streaming/event_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/streaming/friend_list_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/streaming/message_parser_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/streaming/response_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/suggestion_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/target_user_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/token_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/trend_results_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/trend_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/tweet_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/user_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/spec/twitter/utils_spec.rb create mode 100644 .gems/gems/twitter-5.11.0/twitter.gemspec create mode 100644 .gems/specifications/json-1.8.1.gemspec create mode 100644 .gems/specifications/twitter-5.11.0.gemspec create mode 100644 .rbenv-gemsets diff --git a/.gems/cache/json-1.8.1.gem b/.gems/cache/json-1.8.1.gem new file mode 100644 index 0000000000000000000000000000000000000000..d903086bb9c577fa095a14c7d0c1d51383030afa GIT binary patch literal 148992 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ξ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

YDb|BP{b#o);IB$V7 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 literal 0 HcmV?d00001 diff --git a/.gems/cache/twitter-5.11.0.gem b/.gems/cache/twitter-5.11.0.gem new file mode 100644 index 0000000000000000000000000000000000000000..4e2be466e75a971f15b532e6c9d75a15ab675db2 GIT binary patch literal 505856 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�(%ovlE2I%W&blB6Sz_hu`)#az4Q~2wq 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 z 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

ne1elo$y5{?c1YVr}jyk-SdRx1P~kV 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%0D+_ipdt1n#i| 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%0Dv$n8$| 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 fNhHvmRNA_(d{y#uXdl&%`yg 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

AQBS4{xr(mrtdi>glp3` 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 z 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∨OMDDZW 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

Rg=76B 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%0DrVB~Cd3me`YBbHl@khgzUcr?hT#P4Gj^ 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≫PQE0rtU$-hI-=Tp}{Mt0em1OhUOKDH+ZyhWGw> zjKOr=kyeI?+%a$LxB|V@ytuP=YbfeLD$^y^HhLdnX~pQi`EfLrmwJrUGNR%xD0N=; zu4!+RVX&WG>iU>z8}z=hZ(*e8cOQgF#eA#q)j`1Jo`S=7`FD|a^&C#X#m-DWR1z#cj(6Z!Dt*7uR0;7_-3_vHk#f zNmW_rj@O!+Q?ET%jx^7rG}dP(tM{c$em@~)=?^s!G59(&*9ie+YgYYTT>tkNs<8~&(a5ZYoM|#5sbXWH_qBnSQf;v&iZfG?l(+1e(`}=M;E1aD6 z{k;Q+DBZEZ!%!>+F4LJoq4@={S=CgSqi2UKT-}30uA$0Dw^ek?Dv8w%Z$=IM$?TaU zDPaJg)rVAt{&CuHEuSyc(p501$4P}2&t%ud>rY9qd?5g64iq@53`nt)#UKxutEIY3*AsV6JN{O&nCL&cp&KtViz7fz*-HWL0QS1%XrR;A0 z_jwjL`t;fL;Wi!15hd8vj?LadIDlhg=mi0VJ_r`QYZ~s^b&<;EM6joHiQbuNYWWLaA`B`1VXCH*h&&`f}W1tH@a7kV@ zIHpf1q%**63=VA03L%4Ql#;&v3f0kXjCmMJH&{2@nH;cIU9Ej=i%^^?v?C^E9aIdc zyOvaYk-+`jG2oU<-FA*ZH~FhK5{a9t&gl-VPU!mF66OhCF#Ct?lSW%h}_ah5W; zTYRpVf4bg@ZEXII*`P{_CceR?!0Q;y*rK6X$O|`GZuSz7-yBeI6Bx_$q@>r>3U z?|IHS&w8HooO7N7NR_L*_}Y+?#8}hg@L_8sN79$i*0`NijZ^G1WdY*B-F1*owUU1F>|Uoch=>bI!W zJQ#PQBH2IhsE6@=`|LG$c3GBggjC$|uZ>S=-#5WZLSm^<6fV&h{m3Jnr_7ElW{-9F z=5~n5HfiJJ&GZ?5uQWy|5-WoCnhbKfhjGX8#A#Ky%MZ(IoZvY`R&N`9=FGWbEQd6Z z--)Wa<()FE#leqar?VxMSuI#Z8F<<)2M-?N7H!EYtu!vPZ@4nhBsOgH`YFi&=^HLc zEN|eCO{mhwl%QZ|^q5z+pr7MFh=};@#v&TCbe%){t@DF3_Cq(87PZDhg?)N~mQ@!& z2VuDQwDvsghL$xZ^#czXr0xxSQ^KZRpV)Tz4xN@PM{vNyxBFPaQnI%3+GLm11RRk# z`4qt-S7#HwAt)mh;c?1Al*;Pq_+e{Po(D=IIwdc(z5>o6;*;-{T)Ew8jE=sxUCIu={L;DH`=L0>}kbDI}X+22wIgGsj!h ztoFp;KQB^3*@b?^ppel$5GQSN<5Mj3++pi_;6h{pwq}vlS%{Net>t!Mq(<5=u9Tb^Z8!^ zZ}GiQwt}U{`Bs2w5ulP`ds9=)sr6SKa(0SQ52^8iy<;OBzA`~ zfEgB;mAgy#bc{W!%JM4TDBf?4X|}cOV?Xx#OY_m^$NYVB&VPBtRC<&_NFntapA>U- zZ}koN4fPZCX>k3-&9~**@82tWE>s=!tRk(;_WDkE`ZbL!57KX>r|$^7T~I9ApO}5- z-Q5?2LS7*B|~gbi;TD)mD4mIsuWkIxw?Zw^)EL^s&m?AX#oGmwFPn9(Q|+UQCeyJpm0&N7>vI<|HggsPh$ zReiPZRohT$V~cFh0P4`+*W{Zf;yR<)&gIqlun*pT7hk-7d+KRFxqN1@FvJUWGL9J_ z-#I$S#H146Cuw#vYDh*QC`Z>m7SZsm^DhdG0ROQAdVWqHQ$Jo=n=oh^{MfkcoTq+! z(*3g+-SjdjU0)(L14`2R+o zLOW~DcFUa1iw|LH7-Y!sAX9;$x?5V=7m!klihpcq5_+6jBLzDu zu2hcO*ra#H{bgJqbbPNcv!?n(gF>WI@vcr+4T)qn>7URe4QyxuKy*9C;a8 zY5td}Y>Jvo&B+Hx3<}GHyWI?n0{?PiY%O}jyg9@8L`k`IngaBmOyw&Q$A7Q8R=cm>3PgBMb;3lqhatw{TdJWP$EX$WxQ ziHE{b>deYxp{`}1?vz~JVint)(T{pki+b-(02{Hcn|Z^9Igs}Q#{@SqxsqH6l4U}n z&8fE7a=tLWELfC}tm;!UetKuenz29!ve-vPFc7k<+`Rv(!_$UCFTJj7X9R*qS}%{f zi}>nr(PCS-W?Bz0zLnuHKeS$0`-^d+VbHd-r`2r6B#b>edp&fTjU}7DY@|rVRE;nV zpGF=#rrS+pcAHB;mzYL$@nZ|5r!UECJDmv*0+pI^SjTmJ1sF43&7?eU)1Q2lWunmZ z=t+;V>?4@1PGY%wY&I}|uhv}A;?hDn*t-PsZC?SqGj$GK8hCADpj7U_l=+0okQa?Z zh1VRd;!)R;@Bawil3eh#P1N{#w$A0s1L4OH#!G;6kF+G0oW1sb;JPTA`HfZr=f<|E*UT%1!?pqvI+F=WbUm%jw@bzMM5Y9SsmcpV#NJ zwcUWS-~{PhCB@_31Z_M1G~JT9tSs_mEH$Xlr5$+JC$9mCOHB)o-WNcfS`r2;@lY-mX9}XZC;eXcO>ya!hE5B()n-dZ zE&#LJdY~cVmR*azUMj{wL&)fbPwzgaLhejoXeZAT9*8yvVo=}ky>)EcSHOT8n}O^) zgdvbCnAc0})$v%jTxGvfpn1Y&h2cbxPj??$mLV7r)t+4CWNMUx(i+&rx^`D+@U|wT2MW1T=ZofV=y!{18vd=d?g+hV?EHw6yf{U=p|$4 z+fLkwQupASq|}WSP)~(a-cv9u#S#y5WWxUIj02-Qr#ts{1^W2to+*B#3@!-wD0TO! z0G{{IblehnV6f?7TCGKWqpA#p^|cqJU&`&TLn+$?2VWRzcs;NQ=x-3&+ed;np{s%P zWQVTbUi0PBU+6b=!Rw10c<(}6H+yp=DGfdH?$Ql3@aI`Neb6~)kp0dfft}@@K-(DoBk5RiT@f;HNdsJO{rc&N!VVyB?2e7Gu{&tw z{Elw9#?QlXzmT<4-)VeTvV5yS-#{9`^lk;uRm&GqKuDp3n<>=0igrMZ{4VHbo4EZtMX{xQh=i@(mmrA{eY z^>c;j>+a$O$;`T!rG}+G>7COzW;0hw+GD}p!Xq47Pse1scUQ~VaTq>P+tAY)!*}y5U=y3~ zT37Zr@;i4zE>&71>pTK#nesVqcQRkPtOU3#pD9uqD6xgL-%HK|2g8x@r1n+^&uP5W40RPHC5Zn z+;+OAS{tTRYG@4TDzk>uDz0xK@uiijzm*a>5vEGTYr)?#XnNY*!mAt71c)rH6UHRC zdvjFl7pO#u0plL$+)KOFwz(EtXOpQC#`Yz#(!_*BSpAy%2}&385D&7tA`@|HE*|Vg z`#h$?a|a(CS9(8EY9MS;sTa;mJX^fTF083690D;IvAc+LbLDMp)+1o5tdB+w{P%TrF_gzLJKsE~iY2+rJ$iE3S5%X48(UDRrGNUw zKI~V(=;c#qHg$01M?9!lqn=dKsIOdg|Mb1&{(%U+ZFFM&8Y%0nq@#+=I!E8%2ue#r z`@5aNH9X(1g<@oh>*`fa(mynHT5pTf>-`z~EF#=ZPF1QhbF?ckZ^U@|KS_M3k(NeG zU1b3W3xmCwNesBQ))2-@l@Kojljc5lv`JG1{ooFn_zOlS9K9c0dLB2C`_LLIWnVYa zqKahZ#revHRHnzHp7q-LJq*cUZ-zhp6siufl7@{5`T~mmN+vAJ$oJQaD2XW1_KK~o zr;;bv-2E3LWvE5vT~0Z`L96r==ttHY1zWm$V_vV@D3~kCVvN3BTNle2sLYYpoy2fV zl1oOnWH~_-RX?UjRC#%O;3wZC!+>a8HF2Ia^PX*X%8EYF5BKVP zt~PUTdr|#xU8uQ06M2i#gI+bQrI(mqeAhriJ zOdP5v|4hfD!VcHURH3dDpc5}~0~`$0bA#RTG)fLXm!#gG%*uB%_X@)o-%1&?xNlJNWzwQ%l2FK%lhYwX2<(ZWLz+p5tXN_ijt2e7Q+^g6sz#b`6`I9%^egNj>Y(AKn8 zS2Uw&P2SP_9Q$1F?2xMbIKl7i^IU_5G_I*kA&)P4bM2b;%Lz=d0`6623?t_lR5+mQUca6S&1%73T#loxZcP5W+*~5%YWiQ<&$!@9*-pTO z2kBH6mUf(S(lJjqT~~AM=VQOtE&joCn3dw`&WfX49{Vd^I~=rK>&9;@<%yEoTf?s{ zYtyvZiM63YQ||HecM&$x-93R-Qt4qTx`#3zw~@L&xNJcJYR?c#>CbGm! zYtIQcyK=0vIu(0fuzy%*Kj?bhAhVp|5VQIAP~}d8ayF!e{7oAK8GrQdGq_^I#*B!w zo7e2U_VV%@x~xtK;awL#o}tucdv^CLKrf$^z0WvzBsn%fg*|pNJ(1Ci#WSYPFm2Jp zo(Ux#EgqDXNT-%u!}Kg8WmoNCH~Do3S+|o~g%x^w35)dHmo6vu&)fKnE$9}oGewj; zC{sA8SYjvZ-zM3+pARu6Q=v4Mj_QFT#TyzMN`;Ze z%8?*m$zvalN2*0Hc?Fyj$u9IcD{^8(E*>_kHR$2fs=9jxC)8>MWnYq%={FlR8|(q5 zobxMc+jy92+ey9zJ~W$P)Bduqb;-G+~+BSiBnXbBFbCdC{ zdeMCH-51=>WJ&fq8cK;>R@v-hw1F>xZezpT3X0YaLiHoo2w zn5npJo88+~k@~9=C%}JmG#U)FRrKqrzR@pj6DcU@d_TZ%osIHKwlGfCJX3XCr;^d#Md>J); zZ5mKh8&2c^F(|_i1Ij`&dbMmrv)j z5^DA5Y38XofB03VZ9*L2jJV+59RMmBRxaL;C>8cX!=QlCH0SNk>A72_%g>cGR++Rf_) z&)#!S$Y56I8!cy-7}-0ZC{}eO#rG>fH~OiFpooYFRqSCZ3udvMYW%tLa@V5UW<6*~E)qX|5?chrFj12cG@|Kp;9iCvloF;(S zF7fz|XKhUejb~I~XkbQm;1ewU{u6gE3^9u8e2M6$HG-ArC#H$2ZEB&vf`A?0`oJPa zIZ@@?2>IQRZkmopAW)vY7AJH^o|{$OKghz5?!I-oyF}=Mhv&7PS{V(w#skX0^o?rG zeC913cPqBkzy{+vGFr7Nq8$4@Zl?M-+l{%WN}zQ^ocJ`0C#ZW_XgGQu**%R1Ya@Yv z_33ZMVjtkWMwZ(t@a&54Qb)^|c?k!k$i^Kf?!=K+4Rs5f!2N>GW=w?F?YoYlbX?Of zqiRw`O0(r`L*2`+XXVGR-olLG`4-`vEh*V z4?W*b;-TBlwade}yv%~?jzx4W&ylN^FfyOcAwZ6@bxlUU>T#OW**VdVjl=y&lqrB7 zTVi%p-i&-B!wqg|&%Ys6Q!E2y?zHF_PSG`z3N~i*2DH;U`PbA~#0=fu9(j#I%a#qB zeDF}&s9SNCb`kJ)hF=-aIY_P5y;J)H$PF-B>48;;!LJ)QZDM>W!ZS)5tzjk|uPK^X zvNfpp9RyedH2ES2ww)vEQ>6!Vn5a^{YK;FF&L?(E4EDvXTTgD1;wiC{ zdJ*a1bF`l6TnKsC7@e03cn=j7vq(l?S&FG-k$pT2^df8>M`{2g)9nfYVMej@{jQ}l z#rJws2KXGQEl*SKy|dknt4K>wKxLza1*ebug(eEaz0kBl!#e{84V|u${J~xT(Yv`y zDb32#Hx7IS2;nD}y4OD|f27uHl(K6G?Ez~vAFoRZ*xf0i2fkOM^x+eyc1odpk8|Jl zPuf%fABG(nX_*@{Qk`9G(~FJcn`&rrQWZ+YC%`PeC5DX~od9J(n!hggbXmEo$B9~R zj*~d@ChoKU-$|eI9a{d%6>F>N8hIiU{fImB`bBk@N3WcZg1-WMVNIj2MqX2|bHYY< zOF}&BvoT=lTU)c$OPk~^*j1SUJ;UzqN^3hE9KNV>s*dex%dMmPt5P}5tvx)IGWXq} zWT|G6Y95reS_ zl&Rt=Ys#@{sXlAkZVdy&tDUSb7LAz;u|Qte(~9gn?h)F#;arsq2=GezAh-0p<{$@q z@l>Bi%!>|MS&jXkdIJ*UTgXN~d;J(1OSLDy38NUk2R+BSLCeo>G^DJNCV9Lw{?!Py{`%>$F123QlaR z&#+Q+(fN2o|H;*m=Zt}}6Jg8&`iIDb)6bb2hhLBBP9BT>Tct_=HrNMiMjOn~u2Se?)~L1=eff-K(-;|C8=~M>a zve_Y|v6uOB2j9>!2bQQO_RrEv8V5kmDG>$(z3~+&+X_IMLvvKppbJW^Qha!KLzvck zuLBu_)=rF@SuWl<&a;8tKHjCuK<+JNo`iIGgY%iy zc+YRm>f)oup2KEbr=oSa!0m9trdb~ieL<q-(-Z8ryuEIV(*Z1h77h17bFKJQ+ zWBl|+>rB%HdAB_TKj3581>(7H`}snD&k6htj+`?Palvr&eo?x&BqMdPI4@?)b+G_UYFzoKHD#FL2b3OH_@if#gc7)Y`g% zW*lp6N*c(q!uEr%0nbA+&vX)1UXkq&oLFxLxF4~Uk8;fVu=z@(Qjm)rw%eoJuGv`1 zzlKEJ<>0=Lw+iEsUA=yf#uDS%&ei}Mj8v<+*)?r>uos+Yj#hF0xaAeJwbz5md=|@M%BBPyObuctk>#=ZUm)ZB}8OJhzQoT`XdUAVXNlC~C zx_W2&qXSN)`-DF$oqQJZhBqOwIrL~Ykaq{+-*U3O#oQ0RYQ*O;I7nqYTu4{v|0zT^ zYHul=&o(u{#P|UmOmY1$CrCsvPw$)i9M2gF#_D*u(!cBn>vgd5J4{&6Iv1D?Wj)~E zsk~Dq8J7F*yl04ufO1dQXM`(=E5dW9!ruyPUSx^hn*me+N}a&Kl+&^Hmt!~O(?%G` zGQ8o~ONeu*k<~jGH(E0!J>3qB+ZgrC$@1m1!`3{#@j58eEtamEg1ZatNLVT|y?aGV zqK@zMf0;mwlQ%n0MmA#j8WL91^q5yoaN8rBcR|iCbq;$_o-cz+<`(kteWC8D-#QY| zf#waQYCC!;NjueTm`$g72Q?c_GedJrx6{*3tikwRoQ-?^U%j8!dc_#jy)jOD1T5HM zcqJ$Mbls?9Md1lt=b_rWFqjw0f2cW5OteWa+g>LPWfxaS6~BA?p*Rz}+daiY@r9+n z$2R1xDO9|4Nd6R%bw>=B$9g#_T`e*IiF>UBmMSVXO*=$^goW+dMMc$yu@rB9XAk{K zJ+TnNl5%9oA<0vzZMBz*$W!X+H115em5}2)&>{iS>JpAR>td;r{q;YU=S8)?^)4?t z%RheTHO!*c{9cmV1xjjX{i-p)I`4hw!q-dhdL6H{&-(IZ>%ZZsqkNsRlyc)y0ipEI z3-kC6^xX`6>hU*2X$ut(tDnGEz>}*TV-(jpvgmvQ8p`bK--syndOFEP$ZgxG<&p3G zNlKMQ{|Stj%{la~bW5LW`Qws!<*xt*|(}F7=1y@W_21D zAJSWI$|05p)n8t)sC;M<<1v&%oc8E-4dpvsPyHO!26w_R4pV3XD5wDKTQwKIOi%t2 zVF!!zEzpbS22gG2Ed+tcwjpDi@$s9{zXrh6k3 z!fHb4csb-^xE5oFYJv_3okI2!ZrOUR0Tjsztn>%vB0NS1L9z1PVIwM@@GmJz#npEt0*-~+G1r!7lSX(} zxI=Qe<7{lVNM#4sfKx@1*W~eU5*A*2aX)|~TXlUSw|aZs(XOJnjhDS|$W&!N4yg~zzmLtQka#7L<-KT#hWp-3HkIry$Fu-o0Wwg+Zw8BOjU>EAO5 zlB#yTtNJ24e1>sZBIcX&OiH98x6|Ql$GNCy&dC7Mfv1)RMx7*bgutVz=%CfWGYtHY zXOZqc&Ce02up_?l8r`CwzN{DS9vWeJ8H@;YUs$pn+3nxes!EfM47S0xW0 zkF{Zx`U*g)esnt^I6e*<@bZlT@fAj%!An+&BcOS)X*rRQt2?W)ir zflr`a=Bk~PmJB`V{)tNT9T~muk&NqD1;zwhJFNz91IvZMW!u-fWt6XbaVvW8xn;0> zN#Xz>*1D54Qq$v}EyY7Z7;*y@X;B503eT>D40dOMdMYo!iP5|&u{wuT{!u@r^P&zL zuM0^lF`W4Xc|a4wCmSF1R+b}sJkYVu)2+^pkrcoPSo?OfR^i{<&)rBYt|%6^p|S|4 zY+8H9ugtKk%Q7!;d zM3hsBS?fB_(f6Hw99)qXU3EpjF!Ozg-KNs1X|c%x(#pbK0fRYwOm9N%B+1M9c*qo{ zI@;En=zJ>ZS=XEpU zo8&uFc2JKoVK~mE*bhKP@Ak?SSK6jiRx=mxI1XB4XMHljyC}>F_?W)~dx73T%;jKr zDg$#bBQ=kau6+f$cQOwkPN6=A%r( zG0yZz$~am_T(yy` z74S9VUk5##OW9hw4y^ThoZi7?c=N6FS3rcT3i)YTHkh1bxk{XhR>FS4q8AO6-ooL% zIp`2wKY#_B#+JdR#`0~BM?G}62LY{}Eh_V3E^E3N+^O_TN^Vd3cm-DDFXyfu31jLP z9@e}SnsqXqf^^iZ1(|uuao2_H>K4lF6097gUcvPAeaT@4F`yALIs0vDcDoWs#0NpP zcX`THsglYw^3oLV1lV!woDbi@JDcc>8X-zb9`7Mk|Adm{-@YftGe|l8v(1nnBHo6L z)9xNp?{)2dke9fplzAYC##fuIEd2DPPqMpn23Q-+x7H`vkR%ED<~Xokbv)brc^3_Q z^hQaspu_8^*B*mr4)pp?*PlAHf6zNTgWKV~R*?@Lwlo&W1?bWi44tv5(QDh>El)xh zFfqEf%*-yO^?s&<$RO~tn0MY8D&~4BdF@(`m-H>~Q$`0aHD?M-08BLY>p>PNLqn^Y{h`7B=;jE0E&AX`e3$5RTTRSPIAgv|0E@LaQT@0Dh< zO@4N$^3?;_XMjp(eQsZ1x*yRnY2!XumtU4=k2*hA)Y-)De!Ip_l((!tfc9sCOoByCztDog{y&%bavfih?s`Zbb zRGrB;6tPe^lzv`PE@RBNK)ti+y0E>vf*c^c-6I+|T+mdrtL#3YRKHLadoZ9I#1Y^1 zPzhuUiKc8Ed1|!>Qsa;seao=<9Ls@`h?<)lGoISsh44^r*~6f(c#1)P9$6My|JWjm z8QYRe@%WC#$Bd(V9iJj5)IU|0uTviy^n}KFr`-2Q5=yI(?GS!hZ$U>Ujd4- zHz}i{#&i=yRD`W$sBN}+ML+vwl3(&^|CocE>!ElA_PASn+Wj;E@OjZ~C?}oDl#({1 z4f36@GQa|^EkYtAFTxU=nm4ig+V;E@W`*B*g0@R}^IW`gU+&HQ#(S*1&vfi?jR!e9 zjSTAvG#eTw3%2dtQyFf_$Vgt18XkFZTi~NI+Q;j+-#gc-jog5X4=f*N;%Q+N@rVP| z8YOyp-|$Zcdsjeix;eW)dNgCoKl2yiQ0Dr%10EqyTOi&k54l+Yd_>sJI{7D7XVcm{ z_s$C5TcG^nXYdlr&G`iC__Hz~xBQi4xVM$X8If@^ooEw3CrHOHLsy++G4V>%}a=BoOmRb0veG@)r6 zt4XMpNSwSfysiRJ1YCU1)fa8NvYa|^~2G`VD z+mV`~o(xJUwgj!ay1 zU(n?aWZeELX$ee>WrmMkBFSl@l!rj|_wpK>j2m)I?ngF^N!NnxTRS>0-H6e2g*>Gq zeJX5Gb1{#UDmYZ3=S9+o)~dRz>taC(r$s@WSxIB{^j;#;zS2fs;Kw#YXPj&fTdIlE z{iXUm@QY~|p8(cq_k@gn6B|z?=w0?blw-5nnr@FQEo#%vjk(74_cp|+2M1n_=}?Vd zlT&uwc~g16n0oU`_)hZLD!zW(H{s2%b!_FE$Ty`PLMa`*mvx7JznS{>Ze5%_~#S~+|9~zOfansu2*5r1zqaH7+x_N=8@0VjY+dOFZ ze`cvaRB0>BVGKkMQQ_=4P%r*Y5Yzs&L=Fu zAlHJmJ`Hw(wSZZe`D~?2aWhNPYu7?SI&9C7QCC{`mABd-)LCz8NL1>d;5QFUcznpa z{AA*g6?#0R-Kf>&m4&=s`mx2f1!>`Nt61eVCy)_NieH8mqf)2mfl>hpw|L z@j9gye%x|HyGLaDBbYUOld*B(x-%Z^{;>`fooPw>-Cn9CDV6@3qkaa;-n%EZa()Fc zTw}OBxFH^%6Wr}VztdynLQ2dzJ=ZfXqek#Vt-G?sPk z0bTFycyZ5dLc+VD%5iOf$xX+q$8^}5qc~X~%`ycIc@=)6|(gS!T&FVA7 zUh1g;vGVT^Qjm@FM;ppLwseeZP=WJWS#x^Ri=6+wUMzQ_+}ujA&i+dCMZmS~x^7K$ z89m_v?FXH&p6Jzyq{*-=^}pvn2Jz%%6xDv&7+w9Txc@7FwdCCi<0`bqyAQX~+aN>R z(Vxm(FO{bsAE%_zNu*bJjO-^lOx=N}#_PfMtCBu0L3~shCqIi*;w<|`A$b_x`#p*F zRk(P5pr=Nuiwx3f1wU7CZw6*s>E_#O;2qF=k72_JZH9(D{J)Z6}2S#79a$kMXl zR;KO+L`rL1v&7~5%93QKE7PU)nyU1kNV26_3;AZzC7js({MMfR_N~v3e-Qg}mi(nI z%Wd-E_|fcQ!|bazjSR}R+p|oXs;|6}e|K=UXF}Y)zJSBF++T}qR+c|~iBP`@hj&uZ zc-U}hRlRmTF%N2Ou56a%?*4Yzz*oT8Ml}V^st=w4jP}WcmMQfC4{NX6JGef~b{M_B z9Y%SMqa0k7DOTBs^%ldJD(+#{!*yWj7(VS!)qNIFSDOeKLftqSP;YQe?Z8*S75e5+ zmqnU*=vi#pcDD51KZ`1%h`&o~8$4K_Q)b`G+k79TyltJeKmcQ>h_HCdr(2g_4rzi$ zT8I4a*|RjFC^Q&bHC5`wL6XgF-}b9hptWDG?`IwHa>j3Vg?LiaDoER#w!)xEa3ft&@1(4zZ^E zWRx|%2$@ItU4wgKPfkBTnCL$vX|x|T^4yI~4@&l|Zpy5Ye`HT4_!Yq9m3jUHxjb8M zOWlKWOpLo?B(>9$D!Z`uK?0do`x-(@S$4XGsM3)1(z%?Kv2A`nah&0znYFE{v(V!& z=9&uhd#UdF9Wx^3d8q#SHOQ3Z#HERG){Tkcu~+*`hr13`_ZggSxk+KLD zsENs;MVX1O$B!b}doae;hl*qWfS0)ujQ^tpADUga3ewru>6RGPBt~=Mj&r@$Ss4fK z6Aq)v7+A2^#0#U57mR3o%m4^J`clHX5wJ$@?rFWNfgHewYpMu~4DfJ{HILFr8DXyDnZKWfcGbAak z!fIQL$y0GHLsqHjo!SD?Hfy1$gV`f)46JzrHpC{ty3P zZ4fYi3xt&o0t3RB{hBrezybmy!omQ7$)CA@1%<&P0I;AC1S|j+6&Ari2MY^8L;*m7 z-$4L7EDnmncg4X1fw1~PxuxFEMecv(2ZOM+Lt+p>PAt;e#tH#L+jCM(Kf`}RV4zl3 z*cs1o4oDmhftm3HLy(~v-?2Ch5_JTLo(Y7owlPOqA!a^8TH{-@neoH{VP=hnS@M6Y zk3tV&riT9xf+Mj|Gb@BC3V}0)p;0IV47Z(20^cpP15jFKMlV75Hn}M%4rt@yLHLs9 z$Rl?6is5LW%j7o~3LtRu6A0mmFN8D2BVz%SAhtMJj!*<&2!wS);h>H{X`sYpN&I63 z3Qj@zPXR}m1EHpHgcSmZ;Ie_@EV%J+p{4{x5Lg_S#N-=Z;K4~!Nk|+})IKO7p&t)A==U5%idQstOdsfoo>f_=Y+8Iq|~efp_3(WIzo5ZWWYazY}k z;KWb({@PjLzC(g0%@0vuvG^wE)bzcvZyG&S1F^6FN5}tfHl5!Liba?bo~*7bu*CQe z77>~|{)-3-f&Ux-f9v=^=>u{S)D;WEAk7fpt;}w`Sl~xTqSBh9G2cD|fpP?S!Ryql zf<%)bfrJx=W-#|RCBy%ju9lO{(3o?o3M39ceiO!Spfv(#frev&c38aj0u7CU#Gx7M zWNn7Fnl28UYe>Goz&Au3sJV!}GL%4@9VHC#NVqXK2#3b^+!Tres-SR)BM8hlkV*Cb z{&&gF5G~73bcS=fGn^~y4F-X)AB6>?kXArE<$=~nEU`zE{refRn4{6tUBK76NPqFA zI2S0kP#4j5IQ*D|1ww(}+Mdy?soqHcsDJbLHK(!ZzI}rwcFP)ygIRF#8yW6V#E*Ci z@&{Ek)QyaRY(_IG!hc6%@p5N_LBOCm1RMm^!HX-~^m`z_9&-e~9w5#F0knr&*&#su z+%piIFS$@04uhQ~yi**40xh6e3m_Wr9^uO%&FpXp>bvD6o|M7lH`QvHzmNLW2L<|3Aq7BVl;m!4Twmwn9itFQ^STj2!}q zrx*%2scl%G${xIq;M*an8Ww7en4ue3s67Jjlp&xPyedjB(Cn-sg%>D+!ow41egrec z{jC->zGlqIz|EkTY4C3fI=e5@leK;`ghZ?sHPPl!E9@dT!;$9Z2n^mu|7oOGhNR$1 zkRtYbIatB0pja&8mt&*?$5)HQIW1WFXAt_0#`J&P|DTGPKygSkYW0SIrR=|;sNih- zFG!dH{Ad6F6#K6*Q!M6>0X7zB9NH9%Jcd}xH6oUov?eov2woZ%G1HXHd?~$1KPK(N ztdcT7X9=t|-hrR|XhF1vf+Bd6PYe_a2@Bvq;%EE#(v!mn636L^e`E#496`*05f+(- z5fxYj#u@=f+F8#45)v1m0uosa2xnnuZ8if23=x=unfy2d28Kb~aJss3gJz&O+X~Kj zF+HgO?!}XO(PD;^J-9^$5^X>pu`d;kof2k^ka9e~|qrip6}xkAT7~rqzFTXb3;8hY_RFGY!GaX!WG| z#ycEXJ8S%O(-PrCw0a8rIPqq1`Y{#(!;d19Z?p+-pfDH$i#5feE%644@L2xf+{ZJ4 z5%x{h+tREpTSbiiN3p$ELqd2)igeVV}gsmL{<1}fdCl!KN6(5+; z5FU2~zKQ861QzcGBP}^y3D(MVa=_z~Fhj$M@KX_UPJ9!lR!A)FTRZrAED%sQzVUCZ zpiwwHNlbB0Hj}kNZEUQNFrvNWCxA!-VHQvf-q=dp;mrBO@Xf6fQeYtgyw(Ydfd$0y zQ*JSFQ30WUj-}u#qd9wCLR<&I66cXHGzNnoH3$KGv>gUEE8y}?{6JGAF~#?eYYGu= z5J7Z-&aSgZALuWX58`lUfuFaSnh^?EY;F^!#S!0+Z=qKxW~QsLNC)S4aao<@f^aX~&xL#XeL6ZT z9{NA&namph;Yfl$nOfs*DfGzdtpxpe{1+4u5fz;~{}U1r`fvRI9Y1V%v4{AXo$l7L=LHwe~)*vE44m<1m|Rz zuX#k}Mk263U>(w&Foxi54Z+?_m7jx_9mWc43dLZcc!wQmIPFq8Pk#aeCGcg4e6hgc zY_Jmi{5TK{&A(sJQDryun3|?JC-2O{lN+}1gq#V52SPYP37a?Zpw|3TWoARdkyslm zsM9pyLJ*y9w`Kz&QE((|GO%h07T^U62^oKXKjk7%E!X255D45)N$527h_f03(FmWu z6VG)Hdx{5=fY^VhOS7MR>T{Xc-zW6P@J@e6#RDp;sA)pX=v* zZNj&Ov_Z}sjb{&I#Fb^DotQ59ODy5{+KC*QEF@|Q5rCKqi3z&?*oaI6FAzH?Ah7iC zH4C}lZ3E|Zf2qN18epm6>wke~D;}`^3|_53$FTTE_}SW03N~5nmvHJ^)jz?eNywkp ztM54dZbr@S_);1*S$ZjT`hz*NVlDc&IkN)&A*@j2php&2z(xTly*Rv^ph%qeNl5IS z1eip0dfX+9!?W?6s(2|sa5@Gsb-w23J+Y}KSHWxfUX{!oOkBA^Qx9fyV(RIPeXjBZ zfQ3te%#j%ELSyP2I{ye7^o=@G;n^t)asLpAK=3JuX`*v4u>?L}j(?um%O&7~3*fVa zm#`NBx}fCFegmBRz6x^jtscBII?s$_O)cyYm+?7W@vbh2SaLRk#793C4`Pu;WkZed zRzgCP(8`J#_LC%78k42@G`X35`8GzISpJ(WorGP$!hCzPkb(JbRWubf2@68A>1fig@PjMcIpcozmuUd0W&Q$OIxnxb(Br_W^yeNJ9K4&Z7`ju4ALZ1egHe)98D4WM=j2_M+A1Q+!p;b7nVocr3Ks$gIvCJ>l{$Q zE;)Sup9-O@f{(Y-Sjrr~iNL@gtI`4hOR5Z>)61-6nM3*F@ZXt){N5q$sS|-eRRuvG z7vuHHb@bQzy)*eYS6!#hH=*!83kq(9ARK3cqVRnnNXNgSa)gC_Q#*pAj)kEygyX0y zRl()d@V}#yc;?|7SX3})F&^klC=MbJ!WD#KUY+)&(U1T@REa8}bsfd3CR71inpa?50pN84I z85vyufChInUd*3;QGXV$A9j~26v zE2}e)5W0R^y*oQN7j6u#{Lq*QiuNh5GYS(hT z^0}5_*4Va$ueea*m3f8pg4PS*y?~YZA@0jUXsMv|43MQF(|-u7Rvd-?)udj@zJl*A z*kZ~-(5dNe&vMyTOz#E#Zi2Ud1n)N6nGxwewGDPYhBNy*bC8F_F@(|0%nGr<#BMGi zVZZqF5WQskOKQwqdi--fE`;S$Ix`byIZE@VaPg-!=hu>a1-i3LmH84mKU?Uuemu$G z_&zzi@&fUaJI5>$YXK3eo<1=&Rc7%eTw=sviQdjFwbBkR*w1g3&Y0CK47TV_F(?jU zYK62$F1EjqPyk3Q@a-7F>h}M8`wN7Y4&YzzC%l`Ff+2pW3EtIMpjXgi3bhpM)QI*@q!k?*m~-`-z++OKkx^11O%7 zKHEvii8;AY^X-7+%xpA2?$u&P`xY!Um7Zp@%9WhKoPPv$CNUN{in>InRz%R5*(ZOZ z{|lTUor}Oir!7~E!E~p2fisX~*ulX8(BI9NcG(SP1RrY3nNTV5ufAeXk zP$S?v|Lr7Errv!+d>QYiYh6B#{sn*OkCvJL!zqL3j{m0SP#6x4ar%wpzksO7y!pR~ z;D7ml|D^F>X;LcYZTBK5`>dh!2m&>kl?@055~q7JtOZ`Y=GcmF)lQm>>7d~x+#Kb_ z11}KY|30mpXU=B#gsAvG)t5=gmGp)PG2gsS2ewsEaD?OJqT1wgG@-GnwP<|xNOL3t zK5uRXbY85x^P`;KTUctoHBbL1Z$rZVM*RniKm_OM|9|Vhf0X_on3Rf@=760cP;<2H zTZNO_Hg$&=VF|&;3OcoGe)?>wEARA?b-@{*g=Tyfp79wn^w!o>*- z+_S3x@g}P&{O0cx`UxDDi_ZdEuzsB{I?w*E{`GH5#(#w7@Ba}H`7i$SC)xjn!#?w! zsQ+&xJqx3{#58!G!v9P0oIiL{dlqXHCMk91a79@5n7sO3$5&qEPcVk4Z-AxC}#$$Qi`VAKu{411S^?M3d zgYGLh@@$Q;#yfr3MY9DE3@YL9Grm6JwoF3rzQOz?>8CBG4dEtIf<9vjXFLd}D;CTf z{G&U@79hb4gcd#u{ml`Xapaf(dr$bMaQm^dkF_(K{JcWS&4BwesW%6)pP}GP9Jzn$ zxcvf@`!lKaa}-*ND%fQtStnxfk1XJ#G*}o@>_5q#K7HnFmCfDEUM-na0K0Tz^nZh@ zD;_|mI{6D|`HON4%$olZ^BMDhyM+07?f(D^34;aZ?f(}1Z~w<{`T3drUo-P>|C)Ir zQ3PkI%giR1Hyc?JV&;|OzjP+}3y~3A7BZ_gH(UiwmNQ9Q9u^CDeuR7D7a5)jS@j87 zMzx8z(@ze4Q#aYq$)Y{?{`y6c1Phpg1q4lnA%dpjVq&IXh^VPJgy^SCRzW;vZ4I@u z`gWNDkz;~{p~!)_eMwk=c*6~$^kjeoiQ^>fgt3BRjv!{h2#ZX^hzcwMLonTT)-!;F z2uJBAfkYMq!dci^o6Ud$Lj;&ZIBnl@y`tE`d?rd0~fZ-%D zj2G}#2wYhr3FkDo7RY=44>`6pPD`ggU*)ui%hxns;Lj%3Bet>pEQkvi{~dV{S8jHe z!ti&dMf_J-`D?Nyt{x-)wWNtF;>Kc`%WcfCAiU3PeT2xDNw0ag)*cZxO$`M_d3iI1 zy#gQ`)RBd`^izoy=Y!6l+^)D|tB`N;A4?Ns4^ z%A)V}tQLQ!(O99fPQ(2UO`S!)RTqGHBv?vErva9up#KA`|0%uvO+5J-jWi_&Lsz7i zlOU_bqHndWI-@4*{aH<&g#NAi`kk!5PC{lAW!btr3AQ2){$CQ3f2PyFk8i&zNAikT zw3zk-57bI*T>K!pFx|M|!0zlI_~EatEDLhW!C|BtxBwYI z1VnI4GKE%mS%QclzWXI2zHnUL3{TXW;;UfBBNYSwCRPbV&)B7tsf|3TlM!gx-e#WM zj%KPS?_MHa=W;VL-RH@|2q%zv&gG^DkB`{~@)dF`Ys9obXcly`$$bvVeRa5vWG4wm5t-}npMp|ZS{{yhB)>~bslH-_Q=`D6-<{;wAc0G(@qKQ|p1LI4Mk_`iw| zh*ALoN2dXJm7qX4Sq}WKT<429H*(ZBy;UAXV!aS)f@TaP$J$5Oj`tD7TVe`S1jgDV zvMi|?iJ+9zdnDQmJ0P*XM3#&2K=P1Xz;`73Qqz^`&*yrLAIIT;T385C_{tOiQ#AR4@2bRILJE#XlW=lY9zIZOR6K6T@E1^v5FJsgO1&15NtE_kf{#(@g5Jd^5c@L6x<%oIsB9Ev zX@TH(ePsrBA)P4w{%9a8gF#;zE2oowf5Kq(0{WdRDIhSV;_Feu+NYrvsBKZQ+SR8b z*cDLeUkukX9h<4flJE1-8nj2KReG#=HE0#_?xv-n7KuJb)g!^%_!P)*H(lcwRM9#{Q z5K>Q>ae*iVl1c|5U;;5Pau3OsoBpQsRJt+$?9(hbb=EdK=&4PeudE^}WWiSiE7^&% z!-xmc19dQ74EpoIK$#nhncP1>cZd?>qVs2|g8S%(=oVC={7yrDj|4#YA^@6KmBch9 zOIHlr+|$pC1h~)j?uZ5}edf0UFcjHGQ{oeP8o>1u zl{Np|9V3Z;xs~m9h?L?*@3u!aAwgW*zI&_99LB}Ox)d~l1#JS*00S?;l?J;z(3#1w z2Yt1=;Dkz?o~)1ynmS6^KJr(5!m?VLbjK}sbp6+L7N%urQ{A==x3Y!c{QI9r$@8E6 zZvD4K>%W*So*}MC9|NnY>|*SzSQT}370cCCq^RGR{KI3rnq@A{YHxwbk^ert>^V{Y zcQ6=r^4}Ku{{YzH4djZn>?3BO%YL*u6^s4XhmgA-q7L}K(v_jlX+^y^Y)I;ZXckBp z9HhrPzsc-EAgaB`ai(!s_(-9J<`@G%X1O#`1h5~pSy2~|@v4k8~Ri6y1@<;oJm z(9Bu&7Or9ZZeSd&{n;U`j&dxG(EpV2F>rm3B{_i%ec@wQEj|>+4?9_vtpwV@Lc}5! zj|w2VAO)_C$Ky7#jk&Gu&~g9Iuyo&aZ12ikHFy7OUsZ<5_)k{4`XBA_{|L6Agn!Q3 zof)~e;^1Z!#X%1Ki2hL={l#0NAP|p9z0)PROiK3d;f}O`3BBOFIwyjNq7jNiB{1icztoj7=OiX1EeS(roKpCu;hO1p0w?&Tp5 zxJl0)dtqL#U8LdgIXC0$%vkyHgSxcCWchgcq^MedFg%uq0}X^mpO0e4&ce?eMkAu{ zgCSFMiZpUy5CY63kzhN#@Xs9sTMaZ9m@Oy@b>;y)V!AYP5|hoa*XBZUZ0i;t~8c=E+?&Bd)oOd;4M0{8Y{bOK&=<_PA6`4v1c4uflQgO&hRoXQFoQjszM z_CDJErb7XlAvJOWyZnbVyV70YC_X|rM27p1;hm()_BpUOTf1o6;W~^&Dn;GOurF_J zZMz2Kscl4F!0L#�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 literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/rdoc/BigDecimal.html b/.gems/doc/json-1.8.1/rdoc/BigDecimal.html new file mode 100644 index 0000000..8bd7122 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/BigDecimal.html @@ -0,0 +1,345 @@ + + + + + + + Class: BigDecimal + + + + + + + + + + + +

+ +
+

BigDecimal

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ json_create(object) + click to toggle source +
+ + +
+ +

Import a JSON Marshalled object.

+ +

method used for JSON marshalling support.

+ + + +
+
+# File lib/json/add/bigdecimal.rb, line 10
+def self.json_create(object)
+  BigDecimal._load object['b']
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ as_json(*) + click to toggle source +
+ + +
+ +

Marshal the object to JSON.

+ +

method used for JSON marshalling support.

+ + + +
+
+# File lib/json/add/bigdecimal.rb, line 17
+def as_json(*)
+  {
+    JSON.create_id => self.class.name,
+    'b'            => _dump,
+  }
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ to_json(*) + click to toggle source +
+ + +
+ +

return the JSON value

+ + + +
+
+# File lib/json/add/bigdecimal.rb, line 25
+def to_json(*)
+  as_json.to_json
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/Class.html b/.gems/doc/json-1.8.1/rdoc/Class.html new file mode 100644 index 0000000..5905e7e --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/Class.html @@ -0,0 +1,268 @@ + + + + + + + Class: Class + + + + + + + + + + + + + +
+

Class

+ +
+ +

Extends any Class to include +json_creatable? method.

+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ json_creatable?() + click to toggle source +
+ + +
+ +

Returns true if this class can be used to create an instance from a +serialised JSON string. The class has to implement +a class method json_create that expects a hash as first parameter. +The hash should include the required data.

+ + + +
+
+# File lib/json/common.rb, line 481
+def json_creatable?
+  respond_to?(:json_create)
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/Complex.html b/.gems/doc/json-1.8.1/rdoc/Complex.html new file mode 100644 index 0000000..08f9e42 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/Complex.html @@ -0,0 +1,342 @@ + + + + + + + Class: Complex + + + + + + + + + + + + + +
+

Complex

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ json_create(object) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/json/add/complex.rb, line 7
+def self.json_create(object)
+  Complex(object['r'], object['i'])
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ as_json(*) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/json/add/complex.rb, line 11
+def as_json(*)
+  {
+    JSON.create_id => self.class.name,
+    'r'            => real,
+    'i'            => imag,
+  }
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ to_json(*) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/json/add/complex.rb, line 19
+def to_json(*)
+  as_json.to_json
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/Date.html b/.gems/doc/json-1.8.1/rdoc/Date.html new file mode 100644 index 0000000..0918f7a --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/Date.html @@ -0,0 +1,351 @@ + + + + + + + Class: Date + + + + + + + + + + + + + +
+

Date

+ +
+ +

Date serialization/deserialization

+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ json_create(object) + click to toggle source +
+ + +
+ +

Deserializes JSON string by converting Julian year +y, month m, day d and Day of Calendar Reform +sg to Date.

+ + + +
+
+# File lib/json/add/date.rb, line 11
+def self.json_create(object)
+  civil(*object.values_at('y', 'm', 'd', 'sg'))
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ as_json(*) + click to toggle source +
+ + +
+ +

Returns a hash, that will be turned into a JSON +object and represent this object.

+ + + +
+
+# File lib/json/add/date.rb, line 19
+def as_json(*)
+  {
+    JSON.create_id => self.class.name,
+    'y' => year,
+    'm' => month,
+    'd' => day,
+    'sg' => start,
+  }
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ to_json(*args) + click to toggle source +
+ + +
+ +

Stores class name (Date) with Julian year +y, month m, day d and Day of Calendar Reform +sg as JSON string

+ + + +
+
+# File lib/json/add/date.rb, line 31
+def to_json(*args)
+  as_json.to_json(*args)
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/DateTime.html b/.gems/doc/json-1.8.1/rdoc/DateTime.html new file mode 100644 index 0000000..817027c --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/DateTime.html @@ -0,0 +1,365 @@ + + + + + + + Class: DateTime + + + + + + + + + + + + + +
+

DateTime

+ +
+ +

DateTime serialization/deserialization

+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ json_create(object) + click to toggle source +
+ + +
+ +

Deserializes JSON string by converting year +y, month m, day d, hour H, minute +M, second S, offset of and Day of Calendar +Reform sg to DateTime.

+ + + +
+
+# File lib/json/add/date_time.rb, line 12
+def self.json_create(object)
+  args = object.values_at('y', 'm', 'd', 'H', 'M', 'S')
+  of_a, of_b = object['of'].split('/')
+  if of_b and of_b != '0'
+    args << Rational(of_a.to_i, of_b.to_i)
+  else
+    args << of_a
+  end
+  args << object['sg']
+  civil(*args)
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ as_json(*) + click to toggle source +
+ + +
+ +

Returns a hash, that will be turned into a JSON +object and represent this object.

+ + + +
+
+# File lib/json/add/date_time.rb, line 28
+def as_json(*)
+  {
+    JSON.create_id => self.class.name,
+    'y' => year,
+    'm' => month,
+    'd' => day,
+    'H' => hour,
+    'M' => min,
+    'S' => sec,
+    'of' => offset.to_s,
+    'sg' => start,
+  }
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ to_json(*args) + click to toggle source +
+ + +
+ +

Stores class name (DateTime) with Julian year +y, month m, day d, hour H, minute +M, second S, offset of and Day of Calendar +Reform sg as JSON string

+ + + +
+
+# File lib/json/add/date_time.rb, line 45
+def to_json(*args)
+  as_json.to_json(*args)
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/Exception.html b/.gems/doc/json-1.8.1/rdoc/Exception.html new file mode 100644 index 0000000..dd1a6a1 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/Exception.html @@ -0,0 +1,351 @@ + + + + + + + Class: Exception + + + + + + + + + + + + + +
+

Exception

+ +
+ +

Exception serialization/deserialization

+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ json_create(object) + click to toggle source +
+ + +
+ +

Deserializes JSON string by constructing new Exception object with message m and +backtrace b serialized with to_json

+ + + +
+
+# File lib/json/add/exception.rb, line 10
+def self.json_create(object)
+  result = new(object['m'])
+  result.set_backtrace object['b']
+  result
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ as_json(*) + click to toggle source +
+ + +
+ +

Returns a hash, that will be turned into a JSON +object and represent this object.

+ + + +
+
+# File lib/json/add/exception.rb, line 18
+def as_json(*)
+  {
+    JSON.create_id => self.class.name,
+    'm'            => message,
+    'b'            => backtrace,
+  }
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ to_json(*args) + click to toggle source +
+ + +
+ +

Stores class name (Exception) with message +m and backtrace array b as JSON +string

+ + + +
+
+# File lib/json/add/exception.rb, line 28
+def to_json(*args)
+  as_json.to_json(*args)
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/JSON.html b/.gems/doc/json-1.8.1/rdoc/JSON.html new file mode 100644 index 0000000..998c3b2 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/JSON.html @@ -0,0 +1,1180 @@ + + + + + + + Module: JSON + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ + + +
+ + + + + + +
+

Namespace

+ +
+ + + + + + + + +
+ + +
+ +
+

JSON

+ +
+ +

JavaScript Object Notation (JSON)

+ +

JSON is a lightweight data-interchange format. It +is easy for us humans to read and write. Plus, equally simple for machines +to generate or parse. JSON is completely language +agnostic, making it the ideal interchange format.

+ +

Built on two universally available structures:

+ +
1. A collection of name/value pairs. Often referred to as an _object_, hash table, record, struct, keyed list, or associative array.
+2. An ordered list of values. More commonly called an _array_, vector, sequence or list.
+ +

To read more about JSON visit: json.org

+ +

Parsing JSON

+ +

To parse a JSON string received by another +application or generated within your existing application:

+ +
require 'json'
+
+my_hash = JSON.parse('{"hello": "goodbye"}')
+puts my_hash["hello"] => "goodbye"
+ +

Notice the extra quotes '' around the hash notation. Ruby expects +the argument to be a string and can’t convert objects like a hash or array.

+ +

Ruby converts your string into a hash

+ +

Generating JSON

+ +

Creating a JSON string for communication or +serialization is just as simple.

+ +
require 'json'
+
+my_hash = {:hello => "goodbye"}
+puts JSON.generate(my_hash) => "{\"hello\":\"goodbye\"}"
+ +

Or an alternative way:

+ +
require 'json'
+puts {:hello => "goodbye"}.to_json => "{\"hello\":\"goodbye\"}"
+ +

JSON.generate only allows objects or arrays to be converted to JSON syntax. to_json, however, accepts many +Ruby classes even though it acts only as a method for serialization:

+ +
require 'json'
+
+1.to_json => "1"
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
Infinity
+ +
+ + +
JSON_LOADED
+ +
+ + +
MinusInfinity
+ +
+ + +
NaN
+ +
+ + +
UnparserError
+ +

For backwards compatibility

+ + +
VERSION
+ +

JSON version

+ + +
+
+ + + + +
+

Attributes

+ + +
+ + + + +
+ create_id[RW] +
+ +
+ +

This is create identifier, which is used to decide if the +json_create hook of a class should be called. It defaults to +‘json_class’.

+ +
+
+ +
+ + + + +
+ dump_default_options[RW] +
+ +
+ +

The global default options for the JSON.dump method:

+ +
:max_nesting: false
+:allow_nan: true
+:quirks_mode: true
+ +
+
+ +
+ + +
+ generator[R] +
+ +
+ +

Returns the JSON generator module that is used by +JSON. This is either JSON::Ext::Generator or JSON::Pure::Generator.

+ +
+
+ +
+ + + + +
+ load_default_options[RW] +
+ +
+ +

The global default options for the JSON.load method:

+ +
:max_nesting: false
+:allow_nan: true
+:quirks_mode: true
+ +
+
+ +
+ + +
+ parser[R] +
+ +
+ +

Returns the JSON parser class that is used by JSON. This is either JSON::Ext::Parser or JSON::Pure::Parser.

+ +
+
+ +
+ + + + +
+ state[RW] +
+ +
+ +

Returns the JSON generator state class that is used +by JSON. This is either JSON::Ext::Generator::State +or JSON::Pure::Generator::State.

+ +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + + +
+ [](object, opts = {}) + click to toggle source +
+ + +
+ +

If object is string-like, parse the string and return the parsed +result as a Ruby data structure. Otherwise generate a JSON text from the Ruby data structure object and +return it.

+ +

The opts argument is passed through to generate/parse +respectively. See generate and parse for their documentation.

+ + + +
+
+# File lib/json/common.rb, line 12
+def [](object, opts = {})
+  if object.respond_to? :to_str
+    JSON.parse(object.to_str, opts)
+  else
+    JSON.generate(object, opts)
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ const_defined_in?(modul, constant) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/json/common.rb, line 429
+def self.const_defined_in?(modul, constant)
+  modul.const_defined?(constant)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ iconv(to, from, string) + click to toggle source +
+ + +
+ +

Encodes string using Ruby’s String.encode

+ + + +
+
+# File lib/json/common.rb, line 417
+def self.iconv(to, from, string)
+  string.encode(to, from)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ restore(source, proc = nil, options = {}) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: load +
+ +
+ + +
+ + + +
+ valid_utf8?(string) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/json/pure/generator.rb, line 74
+def valid_utf8?(string)
+  encoding = string.encoding
+  (encoding == Encoding::UTF_8 || encoding == Encoding::ASCII) &&
+    string.valid_encoding?
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ dump(obj, anIO = nil, limit = nil) + click to toggle source +
+ + +
+ +

Dumps obj as a JSON string, i.e. calls +generate on the object and returns the result.

+ +

If anIO (an IO-like object or an object that responds to the write method) +was given, the resulting JSON is written to it.

+ +

If the number of nested arrays or objects exceeds limit, an +ArgumentError exception is raised. This argument is similar (but not +exactly the same!) to the limit argument in Marshal.dump.

+ +

The default options for the generator can be changed via the dump_default_options +method.

+ +

This method is part of the implementation of the load/dump interface of +Marshal and YAML.

+ + + +
+
+# File lib/json/common.rb, line 384
+def dump(obj, anIO = nil, limit = nil)
+  if anIO and limit.nil?
+    anIO = anIO.to_io if anIO.respond_to?(:to_io)
+    unless anIO.respond_to?(:write)
+      limit = anIO
+      anIO = nil
+    end
+  end
+  opts = JSON.dump_default_options
+  limit and opts.update(:max_nesting => limit)
+  result = generate(obj, opts)
+  if anIO
+    anIO.write result
+    anIO
+  else
+    result
+  end
+rescue JSON::NestingError
+  raise ArgumentError, "exceed depth limit"
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ fast_generate(obj, opts = nil) + click to toggle source +
+ + +
+ +

Generate a JSON document from the Ruby data +structure obj and return it. This method disables the checks for +circles in Ruby objects.

+ +

WARNING: Be careful not to pass any Ruby data structures with +circles as obj argument because this will cause JSON to go into an infinite loop.

+ + + +
+
+# File lib/json/common.rb, line 238
+def fast_generate(obj, opts = nil)
+  if State === opts
+    state, opts = opts, nil
+  else
+    state = FAST_STATE_PROTOTYPE.dup
+  end
+  if opts
+    if opts.respond_to? :to_hash
+      opts = opts.to_hash
+    elsif opts.respond_to? :to_h
+      opts = opts.to_h
+    else
+      raise TypeError, "can't convert #{opts.class} into Hash"
+    end
+    state.configure(opts)
+  end
+  state.generate(obj)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ generate(obj, opts = nil) + click to toggle source +
+ + +
+ +

Generate a JSON document from the Ruby data +structure obj and return it. state is * a JSON::State +object,

+
  • +

    or a Hash like object (responding to to_hash),

    +
  • +

    an object convertible into a hash by a to_h method,

    +
+ +

that is used as or to configure a State object.

+ +

It defaults to a state object, that creates the shortest possible JSON text in one line, checks for circular data +structures and doesn’t allow NaN, Infinity, and -Infinity.

+ +

A state hash can have the following keys:

+
  • +

    indent: a string used to indent levels (default: "),

    +
  • +

    space: a string that is put after, a : or , delimiter (default: "),

    +
  • +

    space_before: a string that is put before a : pair delimiter +(default: "),

    +
  • +

    object_nl: a string that is put at the end of a JSON object (default: "),

    +
  • +

    array_nl: a string that is put at the end of a JSON array (default: "),

    +
  • +

    allow_nan: true if NaN, Infinity, and -Infinity should be generated, otherwise an +exception is thrown if these values are encountered. This options defaults +to false.

    +
  • +

    max_nesting: The maximum depth of nesting allowed in the data +structures from which JSON is to be generated. +Disable depth checking with :max_nesting => false, it defaults to 100.

    +
+ +

See also the fast_generate +for the fastest creation method with the least amount of sanity checks, and +the pretty_generate method +for some defaults for pretty output.

+ + + +
+
+# File lib/json/common.rb, line 207
+def generate(obj, opts = nil)
+  if State === opts
+    state, opts = opts, nil
+  else
+    state = SAFE_STATE_PROTOTYPE.dup
+  end
+  if opts
+    if opts.respond_to? :to_hash
+      opts = opts.to_hash
+    elsif opts.respond_to? :to_h
+      opts = opts.to_h
+    else
+      raise TypeError, "can't convert #{opts.class} into Hash"
+    end
+    state = state.configure(opts)
+  end
+  state.generate(obj)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ load(source, proc = nil, options = {}) + click to toggle source +
+ + +
+ +

Load a ruby data structure from a JSON +source and return it. A source can either be a string-like object, +an IO-like object, or an object responding to the read method. If +proc was given, it will be called with any nested Ruby object as +an argument recursively in depth first order. To modify the default options +pass in the optional options argument as well.

+ +

BEWARE: This method is meant to serialise data from trusted user input, +like from your own database server or clients under your control, it could +be dangerous to allow untrusted users to pass JSON +sources into it. The default options for the parser can be changed via the +load_default_options +method.

+ +

This method is part of the implementation of the load/dump interface of +Marshal and YAML.

+ + + +
+
+# File lib/json/common.rb, line 322
+def load(source, proc = nil, options = {})
+  opts = load_default_options.merge options
+  if source.respond_to? :to_str
+    source = source.to_str
+  elsif source.respond_to? :to_io
+    source = source.to_io.read
+  elsif source.respond_to?(:read)
+    source = source.read
+  end
+  if opts[:quirks_mode] && (source.nil? || source.empty?)
+    source = 'null'
+  end
+  result = parse(source, opts)
+  recurse_proc(result, &proc) if proc
+  result
+end
+
+ +
+ + +
+ Also aliased as: restore +
+ + + +
+ + +
+ + + +
+ parse(source, opts = {}) + click to toggle source +
+ + +
+ +

Parse the JSON document source into a Ruby +data structure and return it.

+ +

opts can have the following keys:

+
  • +

    max_nesting: The maximum depth of nesting allowed in the parsed data +structures. Disable depth checking with :max_nesting => false. It +defaults to 100.

    +
  • +

    allow_nan: If set to true, allow NaN, Infinity and -Infinity in defiance of RFC 4627 to be parsed +by the Parser. This option defaults to false.

    +
  • +

    symbolize_names: If set to true, returns symbols for the names +(keys) in a JSON object. Otherwise strings are +returned. Strings are the default.

    +
  • +

    create_additions: If set to false, the Parser doesn't create +additions even if a matching class and create_id was found. This option +defaults to true.

    +
  • +

    object_class: Defaults to Hash

    +
  • +

    array_class: Defaults to Array

    +
+ + + +
+
+# File lib/json/common.rb, line 154
+def parse(source, opts = {})
+  Parser.new(source, opts).parse
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ parse!(source, opts = {}) + click to toggle source +
+ + +
+ +

Parse the JSON document source into a Ruby +data structure and return it. The bang version of the parse method defaults +to the more dangerous values for the opts hash, so be sure only to +parse trusted source documents.

+ +

opts can have the following keys:

+
  • +

    max_nesting: The maximum depth of nesting allowed in the parsed data +structures. Enable depth checking with :max_nesting => anInteger. The +parse! methods defaults to not doing max depth checking: This can be +dangerous if someone wants to fill up your stack.

    +
  • +

    allow_nan: If set to true, allow NaN, Infinity, and -Infinity in defiance of RFC 4627 to be parsed +by the Parser. This option defaults to true.

    +
  • +

    create_additions: If set to false, the Parser doesn't create +additions even if a matching class and create_id was found. This option +defaults to true.

    +
+ + + +
+
+# File lib/json/common.rb, line 173
+def parse!(source, opts = {})
+  opts = {
+    :max_nesting  => false,
+    :allow_nan    => true
+  }.update(opts)
+  Parser.new(source, opts).parse
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ pretty_generate(obj, opts = nil) + click to toggle source +
+ + +
+ +

Generate a JSON document from the Ruby data +structure obj and return it. The returned document is a prettier +form of the document returned by unparse.

+ +

The opts argument can be used to configure the generator. See the +generate method for a more detailed explanation.

+ + + +
+
+# File lib/json/common.rb, line 269
+def pretty_generate(obj, opts = nil)
+  if State === opts
+    state, opts = opts, nil
+  else
+    state = PRETTY_STATE_PROTOTYPE.dup
+  end
+  if opts
+    if opts.respond_to? :to_hash
+      opts = opts.to_hash
+    elsif opts.respond_to? :to_h
+      opts = opts.to_h
+    else
+      raise TypeError, "can't convert #{opts.class} into Hash"
+    end
+    state.configure(opts)
+  end
+  state.generate(obj)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ recurse_proc(result, &proc) + click to toggle source +
+ + +
+ +

Recursively calls passed Proc if the parsed data structure is an +Array or Hash

+ + + +
+
+# File lib/json/common.rb, line 340
+def recurse_proc(result, &proc)
+  case result
+  when Array
+    result.each { |x| recurse_proc x, &proc }
+    proc.call result
+  when Hash
+    result.each { |x, y| recurse_proc x, &proc; recurse_proc y, &proc }
+    proc.call result
+  else
+    proc.call result
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/JSON/CircularDatastructure.html b/.gems/doc/json-1.8.1/rdoc/JSON/CircularDatastructure.html new file mode 100644 index 0000000..db848a4 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/JSON/CircularDatastructure.html @@ -0,0 +1,213 @@ + + + + + + + Class: JSON::CircularDatastructure + + + + + + + + + + + + + +
+

JSON::CircularDatastructure

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/JSON/Ext.html b/.gems/doc/json-1.8.1/rdoc/JSON/Ext.html new file mode 100644 index 0000000..ff46537 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/JSON/Ext.html @@ -0,0 +1,208 @@ + + + + + + + Module: JSON::Ext + + + + + + + + + + + + + +
+

JSON::Ext

+ +
+ +

This module holds all the modules/classes that implement JSON’s +functionality as C extensions.

+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/JSON/GeneratorError.html b/.gems/doc/json-1.8.1/rdoc/JSON/GeneratorError.html new file mode 100644 index 0000000..06e1a8d --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/JSON/GeneratorError.html @@ -0,0 +1,215 @@ + + + + + + + Class: JSON::UnparserError + + + + + + + + + + + + + +
+

JSON::UnparserError

+ +
+ +

This exception is raised if a generator or unparser error occurs.

+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/JSON/GenericObject.html b/.gems/doc/json-1.8.1/rdoc/JSON/GenericObject.html new file mode 100644 index 0000000..6ee4717 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/JSON/GenericObject.html @@ -0,0 +1,656 @@ + + + + + + + Class: JSON::GenericObject + + + + + + + + + + + + + +
+

JSON::GenericObject

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + + + +
+ json_creatable[W] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + + +
+ dump(obj, *args) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/json/generic_object.rb, line 40
+def dump(obj, *args)
+  ::JSON.dump(obj, *args)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ from_hash(object) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/json/generic_object.rb, line 20
+def from_hash(object)
+  case
+  when object.respond_to?(:to_hash)
+    result = new
+    object.to_hash.each do |key, value|
+      result[key] = from_hash(value)
+    end
+    result
+  when object.respond_to?(:to_ary)
+    object.to_ary.map { |a| from_hash(a) }
+  else
+    object
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ json_creatable?() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/json/generic_object.rb, line 8
+def json_creatable?
+  @json_creatable
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ json_create(data) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/json/generic_object.rb, line 14
+def json_create(data)
+  data = data.dup
+  data.delete JSON.create_id
+  self[data]
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ load(source, proc = nil, opts = {}) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/json/generic_object.rb, line 35
+def load(source, proc = nil, opts = {})
+  result = ::JSON.load(source, proc, opts.merge(:object_class => self))
+  result.nil? ? new : result
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ [](name) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/json/generic_object.rb, line 50
+def [](name)
+  table[name.to_sym]
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ []=(name, value) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/json/generic_object.rb, line 54
+def []=(name, value)
+  __send__ "#{name}=", value
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ as_json(*) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/json/generic_object.rb, line 62
+def as_json(*)
+  { JSON.create_id => self.class.name }.merge to_hash
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ to_hash() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/json/generic_object.rb, line 46
+def to_hash
+  table
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ to_json(*a) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/json/generic_object.rb, line 66
+def to_json(*a)
+  as_json.to_json(*a)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ |(other) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/json/generic_object.rb, line 58
+def |(other)
+  self.class[other.to_hash.merge(to_hash)]
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/JSON/JSONError.html b/.gems/doc/json-1.8.1/rdoc/JSON/JSONError.html new file mode 100644 index 0000000..3f5b4dc --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/JSON/JSONError.html @@ -0,0 +1,266 @@ + + + + + + + Class: JSON::JSONError + + + + + + + + + + + + + +
+

JSON::JSONError

+ +
+ +

The base exception for JSON errors.

+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ wrap(exception) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/json/common.rb, line 107
+def self.wrap(exception)
+  obj = new("Wrapped(#{exception.class}): #{exception.message.inspect}")
+  obj.set_backtrace exception.backtrace
+  obj
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/JSON/MissingUnicodeSupport.html b/.gems/doc/json-1.8.1/rdoc/JSON/MissingUnicodeSupport.html new file mode 100644 index 0000000..6a384a7 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/JSON/MissingUnicodeSupport.html @@ -0,0 +1,216 @@ + + + + + + + Class: JSON::MissingUnicodeSupport + + + + + + + + + + + + + +
+

JSON::MissingUnicodeSupport

+ +
+ +

This exception is raised if the required unicode support is missing on the +system. Usually this means that the iconv library is not installed.

+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/JSON/NestingError.html b/.gems/doc/json-1.8.1/rdoc/JSON/NestingError.html new file mode 100644 index 0000000..8c5937a --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/JSON/NestingError.html @@ -0,0 +1,216 @@ + + + + + + + Class: JSON::NestingError + + + + + + + + + + + + + +
+

JSON::NestingError

+ +
+ +

This exception is raised if the nesting of parsed data structures is too +deep.

+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/JSON/ParserError.html b/.gems/doc/json-1.8.1/rdoc/JSON/ParserError.html new file mode 100644 index 0000000..f408993 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/JSON/ParserError.html @@ -0,0 +1,215 @@ + + + + + + + Class: JSON::ParserError + + + + + + + + + + + + + +
+

JSON::ParserError

+ +
+ +

This exception is raised if a parser error occurs.

+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/JSON/Pure.html b/.gems/doc/json-1.8.1/rdoc/JSON/Pure.html new file mode 100644 index 0000000..d451d5a --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/JSON/Pure.html @@ -0,0 +1,226 @@ + + + + + + + Module: JSON::Pure + + + + + + + + + + + + + +
+

JSON::Pure

+ +
+ +

This module holds all the modules/classes that implement JSON’s +functionality in pure ruby.

+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator.html b/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator.html new file mode 100644 index 0000000..1a08618 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator.html @@ -0,0 +1,217 @@ + + + + + + + Module: JSON::Pure::Generator + + + + + + + + + + + + + +
+

JSON::Pure::Generator

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods.html b/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods.html new file mode 100644 index 0000000..3c80bd1 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods.html @@ -0,0 +1,231 @@ + + + + + + + Module: JSON::Pure::Generator::GeneratorMethods + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ + + + +
+ +
+

JSON::Pure::Generator::GeneratorMethods

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/Array.html b/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/Array.html new file mode 100644 index 0000000..37a379d --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/Array.html @@ -0,0 +1,260 @@ + + + + + + + Module: JSON::Pure::Generator::GeneratorMethods::Array + + + + + + + + + + + + + +
+

JSON::Pure::Generator::GeneratorMethods::Array

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ to_json(state = nil, *) + click to toggle source +
+ + +
+ +

Returns a JSON string containing a JSON array, that is unparsed from this Array instance. state is a JSON::State +object, that can also be used to configure the produced JSON string output further.

+ + + +
+
+# File lib/json/pure/generator.rb, line 382
+def to_json(state = nil, *)
+  state = State.from_state(state)
+  state.check_max_nesting
+  json_transform(state)
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/FalseClass.html b/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/FalseClass.html new file mode 100644 index 0000000..cb8106d --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/FalseClass.html @@ -0,0 +1,253 @@ + + + + + + + Module: JSON::Pure::Generator::GeneratorMethods::FalseClass + + + + + + + + + + + + + +
+

JSON::Pure::Generator::GeneratorMethods::FalseClass

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ to_json(*) + click to toggle source +
+ + +
+ +

Returns a JSON string for false: +‘false’.

+ + + +
+
+# File lib/json/pure/generator.rb, line 512
+def to_json(*) 'false' end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/Float.html b/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/Float.html new file mode 100644 index 0000000..b6e591f --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/Float.html @@ -0,0 +1,271 @@ + + + + + + + Module: JSON::Pure::Generator::GeneratorMethods::Float + + + + + + + + + + + + + +
+

JSON::Pure::Generator::GeneratorMethods::Float

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ to_json(state = nil, *) + click to toggle source +
+ + +
+ +

Returns a JSON string representation +for this Float number.

+ + + +
+
+# File lib/json/pure/generator.rb, line 418
+def to_json(state = nil, *)
+  state = State.from_state(state)
+  case
+  when infinite?
+    if state.allow_nan?
+      to_s
+    else
+      raise GeneratorError, "#{self} not allowed in JSON"
+    end
+  when nan?
+    if state.allow_nan?
+      to_s
+    else
+      raise GeneratorError, "#{self} not allowed in JSON"
+    end
+  else
+    to_s
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/Hash.html b/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/Hash.html new file mode 100644 index 0000000..c39f97a --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/Hash.html @@ -0,0 +1,261 @@ + + + + + + + Module: JSON::Pure::Generator::GeneratorMethods::Hash + + + + + + + + + + + + + +
+

JSON::Pure::Generator::GeneratorMethods::Hash

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ to_json(state = nil, *) + click to toggle source +
+ + +
+ +

Returns a JSON string containing a JSON object, that is unparsed from this Hash instance. state is a JSON::State object, +that can also be used to configure the produced JSON string output further. depth +is used to find out nesting depth, to indent accordingly.

+ + + +
+
+# File lib/json/pure/generator.rb, line 338
+def to_json(state = nil, *)
+  state = State.from_state(state)
+  state.check_max_nesting
+  json_transform(state)
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/Integer.html b/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/Integer.html new file mode 100644 index 0000000..1a4a12a --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/Integer.html @@ -0,0 +1,253 @@ + + + + + + + Module: JSON::Pure::Generator::GeneratorMethods::Integer + + + + + + + + + + + + + +
+

JSON::Pure::Generator::GeneratorMethods::Integer

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ to_json(*) + click to toggle source +
+ + +
+ +

Returns a JSON string representation +for this Integer number.

+ + + +
+
+# File lib/json/pure/generator.rb, line 413
+def to_json(*) to_s end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/NilClass.html b/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/NilClass.html new file mode 100644 index 0000000..50b5426 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/NilClass.html @@ -0,0 +1,252 @@ + + + + + + + Module: JSON::Pure::Generator::GeneratorMethods::NilClass + + + + + + + + + + + + + +
+

JSON::Pure::Generator::GeneratorMethods::NilClass

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ to_json(*) + click to toggle source +
+ + +
+ +

Returns a JSON string for nil: ‘null’.

+ + + +
+
+# File lib/json/pure/generator.rb, line 517
+def to_json(*) 'null' end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/Object.html b/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/Object.html new file mode 100644 index 0000000..1c318b3 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/Object.html @@ -0,0 +1,256 @@ + + + + + + + Module: JSON::Pure::Generator::GeneratorMethods::Object + + + + + + + + + + + + + +
+

JSON::Pure::Generator::GeneratorMethods::Object

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ to_json(*) + click to toggle source +
+ + +
+ +

Converts this object to a string (calling to_s), converts it to a JSON string, and returns the result. This +is a fallback, if no special method to_json was defined for some +object.

+ + + +
+
+# File lib/json/pure/generator.rb, line 329
+def to_json(*) to_s.to_json end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/String.html b/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/String.html new file mode 100644 index 0000000..79ca5e4 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/String.html @@ -0,0 +1,398 @@ + + + + + + + Module: JSON::Pure::Generator::GeneratorMethods::String + + + + + + + + + + + + + +
+

JSON::Pure::Generator::GeneratorMethods::String

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ included(modul) + click to toggle source +
+ + +
+ +

Extends modul with the String::Extend module.

+ + + +
+
+# File lib/json/pure/generator.rb, line 483
+def self.included(modul)
+  modul.extend Extend
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ to_json(state = nil, *args) + click to toggle source +
+ + +
+ +

This string should be encoded with UTF-8 A call to this method returns a JSON string encoded with UTF16 big endian +characters as u????.

+ + + +
+
+# File lib/json/pure/generator.rb, line 444
+def to_json(state = nil, *args)
+  state = State.from_state(state)
+  if encoding == ::Encoding::UTF_8
+    string = self
+  else
+    string = encode(::Encoding::UTF_8)
+  end
+  if state.ascii_only?
+    '"' << JSON.utf8_to_json_ascii(string) << '"'
+  else
+    '"' << JSON.utf8_to_json(string) << '"'
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ to_json_raw(*args) + click to toggle source +
+ + +
+ +

This method creates a JSON text from +the result of a call to to_json_raw_object of +this String.

+ + + +
+
+# File lib/json/pure/generator.rb, line 500
+def to_json_raw(*args)
+  to_json_raw_object.to_json(*args)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ to_json_raw_object() + click to toggle source +
+ + +
+ +

This method creates a raw object hash, that can be nested into other data +structures and will be unparsed as a raw string. This method should be +used, if you want to convert raw strings to JSON instead of UTF-8 strings, e. g. +binary data.

+ + + +
+
+# File lib/json/pure/generator.rb, line 491
+def to_json_raw_object
+  {
+    JSON.create_id  => self.class.name,
+    'raw'           => self.unpack('C*'),
+  }
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/String/Extend.html b/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/String/Extend.html new file mode 100644 index 0000000..0935eb8 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/String/Extend.html @@ -0,0 +1,259 @@ + + + + + + + Module: JSON::Pure::Generator::GeneratorMethods::String::Extend + + + + + + + + + + + + + +
+

JSON::Pure::Generator::GeneratorMethods::String::Extend

+ +
+ +

Module that holds the extinding methods if, the String module is included.

+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ json_create(o) + click to toggle source +
+ + +
+ +

Raw Strings are JSON Objects (the +raw bytes are stored in an array for the key “raw”). The Ruby String can be created by this module method.

+ + + +
+
+# File lib/json/pure/generator.rb, line 477
+def json_create(o)
+  o['raw'].pack('C*')
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/TrueClass.html b/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/TrueClass.html new file mode 100644 index 0000000..39a696a --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/GeneratorMethods/TrueClass.html @@ -0,0 +1,252 @@ + + + + + + + Module: JSON::Pure::Generator::GeneratorMethods::TrueClass + + + + + + + + + + + + + +
+

JSON::Pure::Generator::GeneratorMethods::TrueClass

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ to_json(*) + click to toggle source +
+ + +
+ +

Returns a JSON string for true: ‘true’.

+ + + +
+
+# File lib/json/pure/generator.rb, line 507
+def to_json(*) 'true' end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/State.html b/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/State.html new file mode 100644 index 0000000..892805c --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Generator/State.html @@ -0,0 +1,963 @@ + + + + + + + Class: JSON::Pure::Generator::State + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ + +
+ +
+

JSON::Pure::Generator::State

+ +
+ +

This class is used to create State instances, that +are use to hold data while generating a JSON text from a Ruby data structure.

+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + + + +
+ array_nl[RW] +
+ +
+ +

This string is put at the end of a line that holds a JSON array.

+ +
+
+ +
+ + + + +
+ depth[RW] +
+ +
+ +

This integer returns the current depth data structure nesting in the +generated JSON.

+ +
+
+ +
+ + + + +
+ indent[RW] +
+ +
+ +

This string is used to indent levels in the JSON text.

+ +
+
+ +
+ + + + +
+ max_nesting[RW] +
+ +
+ +

This integer returns the maximum level of data structure nesting in the +generated JSON, max_nesting = 0 if no maximum +is checked.

+ +
+
+ +
+ + + + +
+ object_nl[RW] +
+ +
+ +

This string is put at the end of a line that holds a JSON object (or Hash).

+ +
+
+ +
+ + + + +
+ quirks_mode[RW] +
+ +
+ +

If this attribute is set to true, quirks mode is enabled, otherwise it’s +disabled.

+ +
+
+ +
+ + + + +
+ space[RW] +
+ +
+ +

This string is used to insert a space between the tokens in a JSON string.

+ +
+
+ +
+ + + + +
+ space_before[RW] +
+ +
+ +

This string is used to insert a space before the ‘:’ in JSON objects.

+ +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + + +
+ from_state(opts) + click to toggle source +
+ + +
+ +

Creates a State object from opts, which +ought to be Hash to create a new State instance +configured by opts, something else to create an unconfigured +instance. If opts is a State object, it +is just returned.

+ + + +
+
+# File lib/json/pure/generator.rb, line 129
+def self.from_state(opts)
+  case
+  when self === opts
+    opts
+  when opts.respond_to?(:to_hash)
+    new(opts.to_hash)
+  when opts.respond_to?(:to_h)
+    new(opts.to_h)
+  else
+    SAFE_STATE_PROTOTYPE.dup
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new(opts = {}) + click to toggle source +
+ + +
+ +

Instantiates a new State object, configured by +opts.

+ +

opts can have the following keys:

+
  • +

    indent: a string used to indent levels (default: "),

    +
  • +

    space: a string that is put after, a : or , delimiter (default: "),

    +
  • +

    space_before: a +string that is put before a : pair delimiter (default: "),

    +
  • +

    object_nl: a string +that is put at the end of a JSON object +(default: "),

    +
  • +

    array_nl: a string +that is put at the end of a JSON array +(default: "),

    +
  • +

    check_circular: is deprecated now, use the :max_nesting option instead,

    +
  • +

    max_nesting: sets +the maximum level of data structure nesting in the generated JSON, max_nesting = 0 if no maximum +should be checked.

    +
  • +

    allow_nan: true if NaN, Infinity, and -Infinity should be generated, +otherwise an exception is thrown, if these values are encountered. This +options defaults to false.

    +
  • +

    quirks_mode: +Enables quirks_mode for +parser, that is for example generating single JSON values instead of documents is possible.

    +
+ + + +
+
+# File lib/json/pure/generator.rb, line 159
+def initialize(opts = {})
+  @indent                = ''
+  @space                 = ''
+  @space_before          = ''
+  @object_nl             = ''
+  @array_nl              = ''
+  @allow_nan             = false
+  @ascii_only            = false
+  @quirks_mode           = false
+  @buffer_initial_length = 1024
+  configure opts
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ [](name) + click to toggle source +
+ + +
+ +

Return the value returned by method name.

+ + + +
+
+# File lib/json/pure/generator.rb, line 307
+def [](name)
+  if respond_to?(name)
+    __send__(name)
+  else
+    instance_variable_get("@#{name}")
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ []=(name, value) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/json/pure/generator.rb, line 315
+def []=(name, value)
+  if respond_to?(name_writer = "#{name}=")
+    __send__ name_writer, value
+  else
+    instance_variable_set "@#{name}", value
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ allow_nan?() + click to toggle source +
+ + +
+ +

Returns true if NaN, Infinity, and -Infinity should be considered as valid +JSON and output.

+ + + +
+
+# File lib/json/pure/generator.rb, line 226
+def allow_nan?
+  @allow_nan
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ ascii_only?() + click to toggle source +
+ + +
+ +

Returns true, if only ASCII characters should be generated. Otherwise +returns false.

+ + + +
+
+# File lib/json/pure/generator.rb, line 232
+def ascii_only?
+  @ascii_only
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ check_circular?() + click to toggle source +
+ + +
+ +

Returns true, if circular data structures are checked, otherwise returns +false.

+ + + +
+
+# File lib/json/pure/generator.rb, line 220
+def check_circular?
+  !@max_nesting.zero?
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ configure(opts) + click to toggle source +
+ + +
+ +

Configure this State instance with the Hash +opts, and return itself.

+ + + +
+
+# File lib/json/pure/generator.rb, line 243
+def configure(opts)
+  if opts.respond_to?(:to_hash)
+    opts = opts.to_hash
+  elsif opts.respond_to?(:to_h)
+    opts = opts.to_h
+  else
+    raise TypeError, "can't convert #{opts.class} into Hash"
+  end
+  for key, value in opts
+    instance_variable_set "@#{key}", value
+  end
+  @indent                = opts[:indent] if opts.key?(:indent)
+  @space                 = opts[:space] if opts.key?(:space)
+  @space_before          = opts[:space_before] if opts.key?(:space_before)
+  @object_nl             = opts[:object_nl] if opts.key?(:object_nl)
+  @array_nl              = opts[:array_nl] if opts.key?(:array_nl)
+  @allow_nan             = !!opts[:allow_nan] if opts.key?(:allow_nan)
+  @ascii_only            = opts[:ascii_only] if opts.key?(:ascii_only)
+  @depth                 = opts[:depth] || 0
+  @quirks_mode           = opts[:quirks_mode] if opts.key?(:quirks_mode)
+  @buffer_initial_length ||= opts[:buffer_initial_length]
+
+  if !opts.key?(:max_nesting) # defaults to 100
+    @max_nesting = 100
+  elsif opts[:max_nesting]
+    @max_nesting = opts[:max_nesting]
+  else
+    @max_nesting = 0
+  end
+  self
+end
+
+ +
+ + +
+ Also aliased as: merge +
+ + + +
+ + +
+ + + +
+ generate(obj) + click to toggle source +
+ + +
+ +

Generates a valid JSON document from +object obj and returns the result. If no valid JSON document can be created this method +raises a GeneratorError exception.

+ + + +
+
+# File lib/json/pure/generator.rb, line 292
+def generate(obj)
+  result = obj.to_json(self)
+  JSON.valid_utf8?(result) or raise GeneratorError,
+    "source sequence #{result.inspect} is illegal/malformed utf-8"
+  unless @quirks_mode
+    unless result =~ /\A\s*\[/ && result =~ /\]\s*\Z/ ||
+      result =~ /\A\s*\{/ && result =~ /\}\s*\Z/
+    then
+      raise GeneratorError, "only generation of JSON objects or arrays allowed"
+    end
+  end
+  result
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ merge(opts) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: configure +
+ +
+ + +
+ + + +
+ quirks_mode?() + click to toggle source +
+ + +
+ +

Returns true, if quirks mode is enabled. Otherwise returns false.

+ + + +
+
+# File lib/json/pure/generator.rb, line 237
+def quirks_mode?
+  @quirks_mode
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ to_h() + click to toggle source +
+ + +
+ +

Returns the configuration instance variables as a hash, that can be passed +to the configure method.

+ + + +
+
+# File lib/json/pure/generator.rb, line 278
+def to_h
+  result = {}
+  for iv in instance_variables
+    iv = iv.to_s[1..-1]
+    result[iv.to_sym] = self[iv]
+  end
+  result
+end
+
+ +
+ + +
+ Also aliased as: to_hash +
+ + + +
+ + +
+ + + +
+ to_hash() + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: to_h +
+ +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Parser.html b/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Parser.html new file mode 100644 index 0000000..6c128a3 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/JSON/Pure/Parser.html @@ -0,0 +1,563 @@ + + + + + + + Class: JSON::Pure::Parser + + + + + + + + + + + + + +
+

JSON::Pure::Parser

+ +
+ +

This class implements the JSON parser that is +used to parse a JSON string into a Ruby data +structure.

+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
ARRAY_CLOSE
+ +
+ + +
ARRAY_OPEN
+ +
+ + +
COLLECTION_DELIMITER
+ +
+ + +
EMPTY_8BIT_STRING
+ +
+ + +
FALSE
+ +
+ + +
FLOAT
+ +
+ + +
IGNORE
+ +
+ + +
INFINITY
+ +
+ + +
INTEGER
+ +
+ + +
MINUS_INFINITY
+ +
+ + +
NAN
+ +
+ + +
NULL
+ +
+ + +
OBJECT_CLOSE
+ +
+ + +
OBJECT_OPEN
+ +
+ + +
PAIR_DELIMITER
+ +
+ + +
STRING
+ +
+ + +
TRUE
+ +
+ + +
UNESCAPE_MAP
+ +

Unescape characters in strings.

+ + +
UNPARSED
+ +
+ + +
+
+ + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ new(source, opts = {}) + click to toggle source +
+ + +
+ +

Creates a new JSON::Pure::Parser instance for the +string source.

+ +

It will be configured by the opts hash. opts can have the +following keys:

+
  • +

    max_nesting: The maximum depth of nesting allowed in the parsed data +structures. Disable depth checking with :max_nesting => false|nil|0, it +defaults to 100.

    +
  • +

    allow_nan: If set to true, allow NaN, Infinity and -Infinity in +defiance of RFC 4627 to be parsed by the Parser. +This option defaults to false.

    +
  • +

    symbolize_names: If set to true, returns symbols for the names +(keys) in a JSON object. Otherwise strings +are returned, which is also the default.

    +
  • +

    create_additions: If set to true, the Parser creates additions when if a matching class +and create_id was found. This option defaults to false.

    +
  • +

    object_class: Defaults to Hash

    +
  • +

    array_class: Defaults to Array

    +
  • +

    quirks_mode: Enables quirks_mode for parser, that is for example +parsing single JSON values instead of +documents is possible.

    +
+ + + +
+
+# File lib/json/pure/parser.rb, line 73
+def initialize(source, opts = {})
+  opts ||= {}
+  unless @quirks_mode = opts[:quirks_mode]
+    source = convert_encoding source
+  end
+  super source
+  if !opts.key?(:max_nesting) # defaults to 100
+    @max_nesting = 100
+  elsif opts[:max_nesting]
+    @max_nesting = opts[:max_nesting]
+  else
+    @max_nesting = 0
+  end
+  @allow_nan = !!opts[:allow_nan]
+  @symbolize_names = !!opts[:symbolize_names]
+  if opts.key?(:create_additions)
+    @create_additions = !!opts[:create_additions]
+  else
+    @create_additions = false
+  end
+  @create_id = @create_additions ? JSON.create_id : nil
+  @object_class = opts[:object_class] || Hash
+  @array_class  = opts[:array_class] || Array
+  @match_string = opts[:match_string]
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ parse() + click to toggle source +
+ + +
+ +

Parses the current JSON string +source and returns the complete data structure as a result.

+ + + +
+
+# File lib/json/pure/parser.rb, line 112
+def parse
+  reset
+  obj = nil
+  if @quirks_mode
+    while !eos? && skip(IGNORE)
+    end
+    if eos?
+      raise ParserError, "source did not contain any JSON!"
+    else
+      obj = parse_value
+      obj == UNPARSED and raise ParserError, "source did not contain any JSON!"
+    end
+  else
+    until eos?
+      case
+      when scan(OBJECT_OPEN)
+        obj and raise ParserError, "source '#{peek(20)}' not in JSON!"
+        @current_nesting = 1
+        obj = parse_object
+      when scan(ARRAY_OPEN)
+        obj and raise ParserError, "source '#{peek(20)}' not in JSON!"
+        @current_nesting = 1
+        obj = parse_array
+      when skip(IGNORE)
+        ;
+      else
+        raise ParserError, "source '#{peek(20)}' not in JSON!"
+      end
+    end
+    obj or raise ParserError, "source did not contain any JSON!"
+  end
+  obj
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ quirks_mode?() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/json/pure/parser.rb, line 101
+def quirks_mode?
+  !!@quirks_mode
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ reset() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/json/pure/parser.rb, line 105
+def reset
+  super
+  @current_nesting = 0
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/Kernel.html b/.gems/doc/json-1.8.1/rdoc/Kernel.html new file mode 100644 index 0000000..633e2bb --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/Kernel.html @@ -0,0 +1,205 @@ + + + + + + + Module: Kernel + + + + + + + + + + + + + +
+

Kernel

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/OpenStruct.html b/.gems/doc/json-1.8.1/rdoc/OpenStruct.html new file mode 100644 index 0000000..b905447 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/OpenStruct.html @@ -0,0 +1,349 @@ + + + + + + + Class: OpenStruct + + + + + + + + + + + + + +
+

OpenStruct

+ +
+ +

OpenStruct serialization/deserialization

+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ json_create(object) + click to toggle source +
+ + +
+ +

Deserializes JSON string by constructing new Struct object with values v serialized by +to_json.

+ + + +
+
+# File lib/json/add/ostruct.rb, line 11
+def self.json_create(object)
+  new(object['t'] || object[:t])
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ as_json(*) + click to toggle source +
+ + +
+ +

Returns a hash, that will be turned into a JSON +object and represent this object.

+ + + +
+
+# File lib/json/add/ostruct.rb, line 17
+def as_json(*)
+  klass = self.class.name
+  klass.to_s.empty? and raise JSON::JSONError, "Only named structs are supported!"
+  {
+    JSON.create_id => klass,
+    't'            => table,
+  }
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ to_json(*args) + click to toggle source +
+ + +
+ +

Stores class name (OpenStruct) with this +struct’s values v as a JSON string.

+ + + +
+
+# File lib/json/add/ostruct.rb, line 28
+def to_json(*args)
+  as_json.to_json(*args)
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/README_rdoc.html b/.gems/doc/json-1.8.1/rdoc/README_rdoc.html new file mode 100644 index 0000000..98430c7 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/README_rdoc.html @@ -0,0 +1,554 @@ + + + + + + + + File: README.rdoc [json-1.8.1 Documentation] + + + + + + + + + + + + +
+ +

JSON implementation for Ruby

+ +

Description

+ +

This is a implementation of the JSON specification +according to RFC 4627 www.ietf.org/rfc/rfc4627.txt +. Starting from version 1.0.0 on there will be two variants available:

+
  • +

    A pure ruby variant, that relies on the iconv and the stringscan +extensions, which are both part of the ruby standard library.

    +
  • +

    The quite a bit faster C extension variant, which is in parts implemented +in C and comes with its own unicode conversion functions and a parser +generated by the ragel state machine compiler www.cs.queensu.ca/~thurston/ragel +.

    +
+ +

Both variants of the JSON generator generate UTF-8 +character sequences by default. If an :ascii_only option with a true value +is given, they escape all non-ASCII and control characters with uXXXX +escape sequences, and support UTF-16 surrogate pairs in order to be able to +generate the whole range of unicode code points.

+ +

All strings, that are to be encoded as JSON +strings, should be UTF-8 byte sequences on the Ruby side. To encode raw +binary strings, that aren’t UTF-8 encoded, please use the +to_json_raw_object method of String (which produces an object, that +contains a byte array) and decode the result on the receiving endpoint.

+ +

The JSON parsers can parse UTF-8, UTF-16BE, +UTF-16LE, UTF-32BE, and UTF-32LE JSON documents +under Ruby 1.8. Under Ruby 1.9 they take advantage of Ruby’s M17n features +and can parse all documents which have the correct String#encoding set. If +a document string has ASCII-8BIT as an encoding the parser attempts to +figure out which of the UTF encodings from above it is and trys to parse +it.

+ +

Installation

+ +

It’s recommended to use the extension variant of JSON, because it’s faster than the pure ruby variant. +If you cannot build it on your system, you can settle for the latter.

+ +

Just type into the command line as root:

+ +
# rake install
+ +

The above command will build the extensions and install them on your +system.

+ +
# rake install_pure
+ +

or

+ +
# ruby install.rb
+ +

will just install the pure ruby implementation of JSON.

+ +

If you use Rubygems you can type

+ +
# gem install json
+ +

instead, to install the newest JSON version.

+ +

There is also a pure ruby json only variant of the gem, that can be +installed with:

+ +
# gem install json_pure
+ +

Compiling the extensions yourself

+ +

If you want to build the extensions yourself you need rake:

+ +
You can get it from rubyforge:
+  http://rubyforge.org/projects/rake
+
+or just type
+
+# gem install rake
+
+for the installation via rubygems.
+ +

If you want to create the parser.c file from its parser.rl file or draw +nice graphviz images of the state machines, you need ragel from: www.cs.queensu.ca/~thurston/ragel

+ +

Usage

+ +

To use JSON you can

+ +
require 'json'
+ +

to load the installed variant (either the extension ‘json’ or the pure +variant ‘json_pure’). If you have installed the extension variant, you can +pick either the extension variant or the pure variant by typing

+ +
require 'json/ext'
+ +

or

+ +
require 'json/pure'
+ +

Now you can parse a JSON document into a ruby data +structure by calling

+ +
JSON.parse(document)
+ +

If you want to generate a JSON document from a ruby +data structure call

+ +
JSON.generate(data)
+ +

You can also use the pretty_generate method (which formats the output more +verbosely and nicely) or fast_generate (which doesn’t do any of the +security checks generate performs, e. g. nesting deepness checks).

+ +

To create a valid JSON document you have to make +sure, that the output is embedded in either a JSON +array [] or a JSON object {}. The easiest way to do +this, is by putting your values in a Ruby Array or Hash instance.

+ +

There are also the JSON and JSON[] methods which +use parse on a String or generate a JSON document +from an array or hash:

+ +
document = JSON 'test'  => 23 # => "{\"test\":23}"
+document = JSON['test'] => 23 # => "{\"test\":23}"
+ +

and

+ +
data = JSON '{"test":23}'  # => {"test"=>23}
+data = JSON['{"test":23}'] # => {"test"=>23}
+ +

You can choose to load a set of common additions to ruby core’s objects if +you

+ +
require 'json/add/core'
+ +

After requiring this you can, e. g., serialise/deserialise Ruby ranges:

+ +
JSON JSON(1..10) # => 1..10
+ +

To find out how to add JSON support to other or +your own classes, read the section “More Examples” below.

+ +

To get the best compatibility to rails’ JSON +implementation, you can

+ +
require 'json/add/rails'
+ +

Both of the additions attempt to require ‘json’ (like above) first, if it +has not been required yet.

+ +

More Examples

+ +

To create a JSON document from a ruby data +structure, you can call JSON.generate like that:

+ +
json = JSON.generate [1, 2, {"a"=>3.141}, false, true, nil, 4..10]
+# => "[1,2,{\"a\":3.141},false,true,null,\"4..10\"]"
+ +

To get back a ruby data structure from a JSON +document, you have to call JSON.parse on it:

+ +
JSON.parse json
+# => [1, 2, {"a"=>3.141}, false, true, nil, "4..10"]
+ +

Note, that the range from the original data structure is a simple string +now. The reason for this is, that JSON doesn’t +support ranges or arbitrary classes. In this case the json library falls +back to call Object#to_json, which is the same as to_s.to_json.

+ +

It’s possible to add JSON support serialization to +arbitrary classes by simply implementing a more specialized version of the +to_json method, that should return a JSON object (a +hash converted to JSON with to_json) like this +(don’t forget the *a for all the arguments):

+ +
class Range
+  def to_json(*a)
+    {
+      'json_class'   => self.class.name, # = 'Range'
+      'data'         => [ first, last, exclude_end? ]
+    }.to_json(*a)
+  end
+end
+ +

The hash key ‘json_class’ is the class, that will be asked to deserialise +the JSON representation later. In this case it’s +‘Range’, but any namespace of the form ‘A::B’ or ‘::A::B’ will do. All +other keys are arbitrary and can be used to store the necessary data to +configure the object to be deserialised.

+ +

If a the key ‘json_class’ is found in a JSON +object, the JSON parser checks if the given class +responds to the json_create class method. If so, it is called with the JSON object converted to a Ruby hash. So a range can +be deserialised by implementing Range.json_create like this:

+ +
class Range
+  def self.json_create(o)
+    new(*o['data'])
+  end
+end
+ +

Now it possible to serialise/deserialise ranges as well:

+ +
json = JSON.generate [1, 2, {"a"=>3.141}, false, true, nil, 4..10]
+# => "[1,2,{\"a\":3.141},false,true,null,{\"json_class\":\"Range\",\"data\":[4,10,false]}]"
+JSON.parse json
+# => [1, 2, {"a"=>3.141}, false, true, nil, 4..10]
+ +

JSON.generate always creates the +shortest possible string representation of a ruby data structure in one +line. This is good for data storage or network protocols, but not so good +for humans to read. Fortunately there's also JSON.pretty_generate (or JSON.pretty_generate) that +creates a more readable output:

+ +
puts JSON.pretty_generate([1, 2, {"a"=>3.141}, false, true, nil, 4..10])
+[
+  1,
+  2,
+  {
+    "a": 3.141
+  },
+  false,
+  true,
+  null,
+  {
+    "json_class": "Range",
+    "data": [
+      4,
+      10,
+      false
+    ]
+  }
+]
+ +

There are also the methods Kernel#j for generate, and Kernel#jj for +pretty_generate output to the console, that work analogous to Core Ruby’s p +and the pp library’s pp methods.

+ +

The script tools/server.rb contains a small example if you want to test, +how receiving a JSON object from a webrick server +in your browser with the javasript prototype library www.prototypejs.org works.

+ +

Speed Comparisons

+ +

I have created some benchmark results (see the benchmarks/data-p4-3Ghz +subdir of the package) for the JSON-parser to estimate the speed up in the +C extension:

+ +
Comparing times (call_time_mean):
+ 1 ParserBenchmarkExt#parser   900 repeats:
+       553.922304770 (  real) ->   21.500x 
+         0.001805307
+ 2 ParserBenchmarkYAML#parser  1000 repeats:
+       224.513358139 (  real) ->    8.714x 
+         0.004454078
+ 3 ParserBenchmarkPure#parser  1000 repeats:
+        26.755020642 (  real) ->    1.038x 
+         0.037376163
+ 4 ParserBenchmarkRails#parser 1000 repeats:
+        25.763381731 (  real) ->    1.000x 
+         0.038814780
+           calls/sec (  time) ->    speed  covers
+           secs/call
+ +

In the table above 1 is JSON::Ext::Parser, 2 is YAML.load with YAML +compatbile JSON document, 3 is is JSON::Pure::Parser, and 4 is +ActiveSupport::JSON.decode. The ActiveSupport JSON-decoder converts the +input first to YAML and then uses the YAML-parser, the conversion seems to +slow it down so much that it is only as fast as the JSON::Pure::Parser!

+ +

If you look at the benchmark data you can see that this is mostly caused by +the frequent high outliers - the median of the Rails-parser runs is still +overall smaller than the median of the JSON::Pure::Parser runs:

+ +
Comparing times (call_time_median):
+ 1 ParserBenchmarkExt#parser   900 repeats:
+       800.592479481 (  real) ->   26.936x 
+         0.001249075
+ 2 ParserBenchmarkYAML#parser  1000 repeats:
+       271.002390644 (  real) ->    9.118x 
+         0.003690004
+ 3 ParserBenchmarkRails#parser 1000 repeats:
+        30.227910865 (  real) ->    1.017x 
+         0.033082008
+ 4 ParserBenchmarkPure#parser  1000 repeats:
+        29.722384421 (  real) ->    1.000x 
+         0.033644676
+           calls/sec (  time) ->    speed  covers
+           secs/call
+ +

I have benchmarked the JSON-Generator as well. This generated a few more +values, because there are different modes that also influence the achieved +speed:

+ +
Comparing times (call_time_mean):
+ 1 GeneratorBenchmarkExt#generator_fast    1000 repeats:
+       547.354332608 (  real) ->   15.090x 
+         0.001826970
+ 2 GeneratorBenchmarkExt#generator_safe    1000 repeats:
+       443.968212317 (  real) ->   12.240x 
+         0.002252414
+ 3 GeneratorBenchmarkExt#generator_pretty  900 repeats:
+       375.104545883 (  real) ->   10.341x 
+         0.002665923
+ 4 GeneratorBenchmarkPure#generator_fast   1000 repeats:
+        49.978706968 (  real) ->    1.378x 
+         0.020008521
+ 5 GeneratorBenchmarkRails#generator       1000 repeats:
+        38.531868759 (  real) ->    1.062x 
+         0.025952543
+ 6 GeneratorBenchmarkPure#generator_safe   1000 repeats:
+        36.927649925 (  real) ->    1.018x 7 (>=3859)
+         0.027079979
+ 7 GeneratorBenchmarkPure#generator_pretty 1000 repeats:
+        36.272134441 (  real) ->    1.000x 6 (>=3859)
+         0.027569373
+           calls/sec (  time) ->    speed  covers
+           secs/call
+ +

In the table above 1-3 are JSON::Ext::Generator methods. 4, 6, and 7 are JSON::Pure::Generator methods and 5 is +the Rails JSON generator. It is now a bit faster +than the generator_safe and generator_pretty methods of the pure variant +but slower than the others.

+ +

To achieve the fastest JSON document output, you +can use the fast_generate method. Beware, that this will disable the +checking for circular Ruby data structures, which may cause JSON to go into an infinite loop.

+ +

Here are the median comparisons for completeness’ sake:

+ +
Comparing times (call_time_median):
+ 1 GeneratorBenchmarkExt#generator_fast    1000 repeats:
+       708.258020939 (  real) ->   16.547x 
+         0.001411915
+ 2 GeneratorBenchmarkExt#generator_safe    1000 repeats:
+       569.105020353 (  real) ->   13.296x 
+         0.001757145
+ 3 GeneratorBenchmarkExt#generator_pretty  900 repeats:
+       482.825371244 (  real) ->   11.280x 
+         0.002071142
+ 4 GeneratorBenchmarkPure#generator_fast   1000 repeats:
+        62.717626652 (  real) ->    1.465x 
+         0.015944481
+ 5 GeneratorBenchmarkRails#generator       1000 repeats:
+        43.965681162 (  real) ->    1.027x 
+         0.022745013
+ 6 GeneratorBenchmarkPure#generator_safe   1000 repeats:
+        43.929073409 (  real) ->    1.026x 7 (>=3859)
+         0.022763968
+ 7 GeneratorBenchmarkPure#generator_pretty 1000 repeats:
+        42.802514491 (  real) ->    1.000x 6 (>=3859)
+         0.023363113
+           calls/sec (  time) ->    speed  covers
+           secs/call
+ +

Author

+ +

Florian Frank <flori@ping.de>

+ +

License

+ +

Ruby License, see the COPYING file included in the source distribution. The +Ruby License includes the GNU General Public License (GPL), Version 2, so +see the file GPL as well.

+ +

Download

+ +

The latest version of this library can be downloaded at

+ + +

Online Documentation should be located at

+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + diff --git a/.gems/doc/json-1.8.1/rdoc/Range.html b/.gems/doc/json-1.8.1/rdoc/Range.html new file mode 100644 index 0000000..f40cb12 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/Range.html @@ -0,0 +1,349 @@ + + + + + + + Class: Range + + + + + + + + + + + + + +
+

Range

+ +
+ +

Range serialization/deserialization

+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ json_create(object) + click to toggle source +
+ + +
+ +

Deserializes JSON string by constructing new Range object with arguments a serialized by +to_json.

+ + + +
+
+# File lib/json/add/range.rb, line 10
+def self.json_create(object)
+  new(*object['a'])
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ as_json(*) + click to toggle source +
+ + +
+ +

Returns a hash, that will be turned into a JSON +object and represent this object.

+ + + +
+
+# File lib/json/add/range.rb, line 16
+def as_json(*)
+  {
+    JSON.create_id  => self.class.name,
+    'a'             => [ first, last, exclude_end? ]
+  }
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ to_json(*args) + click to toggle source +
+ + +
+ +

Stores class name (Range) with JSON array of arguments a which include +first (integer), last (integer), and +exclude_end? (boolean) as JSON string.

+ + + +
+
+# File lib/json/add/range.rb, line 26
+def to_json(*args)
+  as_json.to_json(*args)
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/Rational.html b/.gems/doc/json-1.8.1/rdoc/Rational.html new file mode 100644 index 0000000..9b71378 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/Rational.html @@ -0,0 +1,342 @@ + + + + + + + Class: Rational + + + + + + + + + + + + + +
+

Rational

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ json_create(object) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/json/add/rational.rb, line 7
+def self.json_create(object)
+  Rational(object['n'], object['d'])
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ as_json(*) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/json/add/rational.rb, line 11
+def as_json(*)
+  {
+    JSON.create_id => self.class.name,
+    'n'            => numerator,
+    'd'            => denominator,
+  }
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ to_json(*) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/json/add/rational.rb, line 19
+def to_json(*)
+  as_json.to_json
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/Regexp.html b/.gems/doc/json-1.8.1/rdoc/Regexp.html new file mode 100644 index 0000000..70da129 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/Regexp.html @@ -0,0 +1,350 @@ + + + + + + + Class: Regexp + + + + + + + + + + + + + +
+

Regexp

+ +
+ +

Regexp serialization/deserialization

+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ json_create(object) + click to toggle source +
+ + +
+ +

Deserializes JSON string by constructing new Regexp object with source s (Regexp or String) and options o serialized +by to_json

+ + + +
+
+# File lib/json/add/regexp.rb, line 11
+def self.json_create(object)
+  new(object['s'], object['o'])
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ as_json(*) + click to toggle source +
+ + +
+ +

Returns a hash, that will be turned into a JSON +object and represent this object.

+ + + +
+
+# File lib/json/add/regexp.rb, line 17
+def as_json(*)
+  {
+    JSON.create_id => self.class.name,
+    'o'            => options,
+    's'            => source,
+  }
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ to_json(*) + click to toggle source +
+ + +
+ +

Stores class name (Regexp) with options +o and source s (Regexp or +String) as JSON string

+ + + +
+
+# File lib/json/add/regexp.rb, line 27
+def to_json(*)
+  as_json.to_json
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/Struct.html b/.gems/doc/json-1.8.1/rdoc/Struct.html new file mode 100644 index 0000000..2e827cc --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/Struct.html @@ -0,0 +1,350 @@ + + + + + + + Class: Struct + + + + + + + + + + + + + +
+

Struct

+ +
+ +

Struct serialization/deserialization

+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ json_create(object) + click to toggle source +
+ + +
+ +

Deserializes JSON string by constructing new Struct object with values v serialized by +to_json.

+ + + +
+
+# File lib/json/add/struct.rb, line 10
+def self.json_create(object)
+  new(*object['v'])
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ as_json(*) + click to toggle source +
+ + +
+ +

Returns a hash, that will be turned into a JSON +object and represent this object.

+ + + +
+
+# File lib/json/add/struct.rb, line 16
+def as_json(*)
+  klass = self.class.name
+  klass.to_s.empty? and raise JSON::JSONError, "Only named structs are supported!"
+  {
+    JSON.create_id => klass,
+    'v'            => values,
+  }
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ to_json(*args) + click to toggle source +
+ + +
+ +

Stores class name (Struct) with Struct values v as a JSON string. Only named structs are supported.

+ + + +
+
+# File lib/json/add/struct.rb, line 27
+def to_json(*args)
+  as_json.to_json(*args)
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/Symbol.html b/.gems/doc/json-1.8.1/rdoc/Symbol.html new file mode 100644 index 0000000..6817097 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/Symbol.html @@ -0,0 +1,348 @@ + + + + + + + Class: Symbol + + + + + + + + + + + + + +
+

Symbol

+ +
+ +

Symbol serialization/deserialization

+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ json_create(o) + click to toggle source +
+ + +
+ +

Deserializes JSON string by converting the +string value stored in the object to a Symbol

+ + + +
+
+# File lib/json/add/symbol.rb, line 22
+def self.json_create(o)
+  o['s'].to_sym
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ as_json(*) + click to toggle source +
+ + +
+ +

Returns a hash, that will be turned into a JSON +object and represent this object.

+ + + +
+
+# File lib/json/add/symbol.rb, line 9
+def as_json(*)
+  {
+    JSON.create_id => self.class.name,
+    's'            => to_s,
+  }
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ to_json(*a) + click to toggle source +
+ + +
+ +

Stores class name (Symbol) with String +representation of Symbol as a JSON string.

+ + + +
+
+# File lib/json/add/symbol.rb, line 17
+def to_json(*a)
+  as_json.to_json(*a)
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/Time.html b/.gems/doc/json-1.8.1/rdoc/Time.html new file mode 100644 index 0000000..21ff475 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/Time.html @@ -0,0 +1,358 @@ + + + + + + + Class: Time + + + + + + + + + + + + + +
+

Time

+ +
+ +

Time serialization/deserialization

+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ json_create(object) + click to toggle source +
+ + +
+ +

Deserializes JSON string by converting time since +epoch to Time

+ + + +
+
+# File lib/json/add/time.rb, line 9
+def self.json_create(object)
+  if usec = object.delete('u') # used to be tv_usec -> tv_nsec
+    object['n'] = usec * 1000
+  end
+  if instance_methods.include?(:tv_nsec)
+    at(object['s'], Rational(object['n'], 1000))
+  else
+    at(object['s'], object['n'] / 1000)
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ as_json(*) + click to toggle source +
+ + +
+ +

Returns a hash, that will be turned into a JSON +object and represent this object.

+ + + +
+
+# File lib/json/add/time.rb, line 22
+def as_json(*)
+  nanoseconds = [ tv_usec * 1000 ]
+  respond_to?(:tv_nsec) and nanoseconds << tv_nsec
+  nanoseconds = nanoseconds.max
+  {
+    JSON.create_id => self.class.name,
+    's'            => tv_sec,
+    'n'            => nanoseconds,
+  }
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ to_json(*args) + click to toggle source +
+ + +
+ +

Stores class name (Time) with number of seconds +since epoch and number of microseconds for Time as +JSON string

+ + + +
+
+# File lib/json/add/time.rb, line 35
+def to_json(*args)
+  as_json.to_json(*args)
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/json-1.8.1/rdoc/created.rid b/.gems/doc/json-1.8.1/rdoc/created.rid new file mode 100644 index 0000000..c9e706c --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/created.rid @@ -0,0 +1,23 @@ +Wed, 03 Sep 2014 10:26:43 +0200 +lib/json.rb Wed, 03 Sep 2014 10:26:40 +0200 +lib/json/common.rb Wed, 03 Sep 2014 10:26:40 +0200 +lib/json/ext.rb Wed, 03 Sep 2014 10:26:40 +0200 +lib/json/pure.rb Wed, 03 Sep 2014 10:26:40 +0200 +lib/json/version.rb Wed, 03 Sep 2014 10:26:40 +0200 +lib/json/generic_object.rb Wed, 03 Sep 2014 10:26:40 +0200 +lib/json/add/symbol.rb Wed, 03 Sep 2014 10:26:40 +0200 +lib/json/add/date.rb Wed, 03 Sep 2014 10:26:40 +0200 +lib/json/add/exception.rb Wed, 03 Sep 2014 10:26:40 +0200 +lib/json/add/ostruct.rb Wed, 03 Sep 2014 10:26:40 +0200 +lib/json/add/date_time.rb Wed, 03 Sep 2014 10:26:40 +0200 +lib/json/add/range.rb Wed, 03 Sep 2014 10:26:40 +0200 +lib/json/add/core.rb Wed, 03 Sep 2014 10:26:40 +0200 +lib/json/add/struct.rb Wed, 03 Sep 2014 10:26:40 +0200 +lib/json/add/complex.rb Wed, 03 Sep 2014 10:26:40 +0200 +lib/json/add/rational.rb Wed, 03 Sep 2014 10:26:40 +0200 +lib/json/add/time.rb Wed, 03 Sep 2014 10:26:40 +0200 +lib/json/add/bigdecimal.rb Wed, 03 Sep 2014 10:26:40 +0200 +lib/json/add/regexp.rb Wed, 03 Sep 2014 10:26:40 +0200 +lib/json/pure/generator.rb Wed, 03 Sep 2014 10:26:40 +0200 +lib/json/pure/parser.rb Wed, 03 Sep 2014 10:26:40 +0200 +README.rdoc Wed, 03 Sep 2014 10:26:40 +0200 diff --git a/.gems/doc/json-1.8.1/rdoc/images/brick.png b/.gems/doc/json-1.8.1/rdoc/images/brick.png new file mode 100644 index 0000000000000000000000000000000000000000..7851cf34c946e5667221e3478668503eb1cd733f GIT binary patch literal 452 zcmV;#0XzPQP)Pdwe5?6tW?r-ok|b$oDQj8FV%kZPq;(MWOV8?8;<)(iP}>hNMU> z7fbz%jjlr7h8uuoQ~J6}n}@Y@PdTk=)PxO{%7zmL?dchpZX*~n;I{!C>*(8cU;q(~ zAS%Po_@naEU!xidrBXD?;hN|x^%W|Ij)0y*r5vi|?W&Fub(NqJ@z0o=O&SR3v>A``^efOSo-hEdApp;^Jd;9y!%1UfzX6Bh- z%-mbG|0Na{7Ruai_Y+DEb1s+b!*9k%Q!whMxjtZKA*?o;i1g&jy0@( zaU=-@d-h+o%gal6JRXEXA&L3`d2 z%jIxzZ~*p9O-;EJp_Ds0If38rM<5W8ic~K>FOK&2_p!CLg^i63OioVb6k$)zWHLx3 z5;!|M!}<9+#QSi1dRlbEcxPt^;cysUuU8@%3}RwpLRIGG<|IKnoyP6$Eh3SKw7a*r zSDXP=IYc&YZf;7@?fCe($^l9ORaJ3wbAx0uiC8QqRr$2t-Cfy8%XCI3B%pxJW>XdM zw~zPt_s}#A@pxQ5Ly)4szaMtH9lgE1SXx@b+S(fW`ub$fYPE8J7#bSNDzme*Ub07{ zQKV8SjEs!%0@v5ql8ggm!@$6Rbi^E8vBqpRM-}l+@5OSMrl+TWj*gC^qoV@>u{fQb zov5v?g~?>X@bEC&+uLPaQ&Ypn-y~^mZA}+f(&2EFH8eE%dU|@ENpN*_1-)L6_4Rc* zFuq@`IjX9vp1QiaK9ZojyZhnQURP99d=u;%37VRkpwsD4U0sd3x;hEQB&e^i|3QN0 z=H|Os1fRqaw!?#igLmS4HE!G3*ce(`TF} zlgUq0Q544c8(ae&UR$8ps&snq6^bPY3v3xAmMW74Di$h~GCH6E3TaYs2#6A<7K*gC z777H71_Wa;(dfp+g-drPCSWu)#PInZi72LJ;o?i~$-U=y&UbQ89Dul3%3P+Axkzc* zbH-y;QF=hR{qLItf%ci2_&e5wNo0gnVatG?ul6Zw=o$I9Ljfn*ic3`U?>IfEim3g{ zujU&$-hy6wn;w(xme|zJm;lWJxtTFfM)q0`kX!Vu0+d${$}LCddK1<^htTe-fUYL3 zB`SdNsZD>RgvLj1<^@h6_+cDRK2Brcr2~>%$*5S)hyV33PV^teac3%|4lz@8p4?)5 z?t5o^?q+%^%)Yygo~I^U4VR!bTnWuE35hcWrfCDR3q+sxJ79e7Fg`&)RCqLA^2^y^ z0laVfadW90_Fz8Brm|r47sB^u1VgI>kanj)Z4`zMSfHlm8>CwXa$JVM`$2RrmZB-3 zN10m-!;BvH*Br3V8t`DH7m`jf#2upVDXl{5ff18_pzCPK1Zu$$CKKvd8FGeFf)+K<|x33pc7P&S#3GZT4mEw;nr(Ze*F z3&*?-4U-lm*#tber5 z%S_ceqB`b3ko6r~BbvDwdohTvP(3a(pq{x#T$yQsu#OKwEe}KuH^Mh@nxg_(Nw136 zq#a^3xNBke)In+!?qk3%4wB69{pF`Tzg`07*qoM6N<$ Eg55P&8UO$Q literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/rdoc/images/bullet_black.png b/.gems/doc/json-1.8.1/rdoc/images/bullet_black.png new file mode 100644 index 0000000000000000000000000000000000000000..57619706d10d9736b1849a83f2c5694fbe09c53b GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^zbpD<_bdI{u9mbgZg z1m~xflqVLYGB~E>C#5QQ<|d}62BjvZR2H60wE-$h^>lFz(Kw&{<9vg>5sw~gS5O!4 zr|{HuUFIBKiQyL}eBJ-L{`UVT|6_O~L{G%N{Wbre{kQtZ_0LvEhC#5QQ<|d}62BjvZR2H60wE-$h^mK6y(Kw&{<9vg>(S^W+6Zii9 z|Nhthr~iNb*Z!}6uiN$Dz5neG3a-`baBX8yz1H+_;eX)`ni0%X8XBDc-`=Ph(Uan2 zYsR{H!kvIN--9isvHznRsC#5QQ<|d}62BjvZR2H60wE-$h_H=O!(Kw&{<9vg>(S^W+6Zii9 z|Nhthr~iNb*Z!}6uiN$Dz5neG3a-`baBX8yz4q@v|B?28{s)#N@CGn3@%_y|zAV9T z66e<&B4?b6oF&azg|C(V&1ZbI_D}pL`}(^FT2yXwG1Ph~$Q@h8mJYOz!PC{xWt~$( F699+YQR)By literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/rdoc/images/date.png b/.gems/doc/json-1.8.1/rdoc/images/date.png new file mode 100644 index 0000000000000000000000000000000000000000..783c83357fdf90a1c7c024358e1d768b5c09c135 GIT binary patch literal 626 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 Dl)1NK literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/rdoc/images/macFFBgHack.png b/.gems/doc/json-1.8.1/rdoc/images/macFFBgHack.png new file mode 100644 index 0000000000000000000000000000000000000000..c6473b324ee1dae1faaacc0826639833f551116c GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^k|4~%1|*NXY)uAIEX7WqAsj$Z!;#Vf4nJ za0`Jjl>Qs8<JF;+Fd5q0wCR k?u=~bH}2*0f`J3~k>FVdQ&MBb@0BAfpf&c&j literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/rdoc/images/package.png b/.gems/doc/json-1.8.1/rdoc/images/package.png new file mode 100644 index 0000000000000000000000000000000000000000..da3c2a2d74bab159ba0f65d7db601768258afcb2 GIT binary patch literal 853 zcmV-b1FHOqP)5TQ^(M5v$(QKVE?W+9X! z*o}&~6c?_FreF)9NJB7b5Nbn{G0n4+%uJhR9(V5R|NFTpb|HgjefT!tIhLx@DR+N) zV+fHiR5Yt19}k|KnCsND{tH-`IMJ)3AE?OtyZ4>Un|6(d%h#JK`i&a7^xW9>`yBy` zS4SOHeOpC7$?hH5-#7Rswiue_8Ju*2N@$58=a#2OTA3png`w3v->gWif7t%e$ z$NLVS!tFT#8WL|Wa&K~+{%4P2cRfwesYV1_!F=3OaRVHl(>=`%&{x*s30c}#CNE@&;ItrAv!f!)Oy$Q9t$uS=(sD$-J{T*^(8Eez1E-l3}} zPrfHZ1`qsIFe&gipuL8-IZbo2Yg{lFGKs?ZZWcOaOdk*3`5T;$?AjbG1#`B510Er^h2)2r3Y{!8_2Gj=$KzuN5 zaErtW8W_Y2iJJjY)5pmTVJoPJYpanPOEuYHclM^C1F>${hFRpdi8a<2H|Xudf78bm(zwJ9`K%6I?q*Ua~ fW9JvIbn5*B+_J)rUMBs>00000NkvXXu0mjfH&TkY literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/rdoc/images/page_green.png b/.gems/doc/json-1.8.1/rdoc/images/page_green.png new file mode 100644 index 0000000000000000000000000000000000000000..de8e003f9fb8752c09e7f3655d5d8664b5c62fc3 GIT binary patch literal 621 zcmV-z0+RiSP)QqUjAtB;_Vvt6}AS_5YgM`Uqu`yva+H8^=4U$e4gHb}u zAQ2N{V3A%pO|?Pv?tb6z=jC}SiRa$G^v3q?*6XcYz$p|cq{uLj@#~Fi`J(>5{@&&N zy%T^+;>8cXx%|o77anP?&W1?1A(>-T49z9pyeCl@7YI+Si zKti7=B~``}TImz(G{0PnlQA3P#MAd}sorMjkP!50B7$nAkU^%#nl{Q9lW0@}9fE-> zN(q7tRuiC_T1r|BBtVBTlQ2+70$Rf;eF`Z;lx46Cpu-rEgb)EBKq(b^W8l<^We(`D z43?0=01z<3G6+UUv6`CsWCk6^93!#+<;ws7007{zS3k2k9-zZKFO~(k`>s0y006+1 zgF_jyIhsL-`FMf~JL~C=cV75(CrJ|q;MVO961G=O zm9d)YpJg5g(4i_HKL75eSE}mq$Y}r}hyVdcV~p>6a}oXr80q`oj%+s700000NkvXX Hu0mjfPs|!l literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/rdoc/images/page_white_text.png b/.gems/doc/json-1.8.1/rdoc/images/page_white_text.png new file mode 100644 index 0000000000000000000000000000000000000000..813f712f726c935f9adf8d2f2dd0d7683791ef11 GIT binary patch literal 342 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^zbpD<_bdI{u9mbgZg z1m~xflqVLYGB~E>C#5QQ<|d}62BjvZR2H60wE-%6;pyTSA|c6o&@eC9QG)Hj&ExYL zO&oVL^)+cM^qd@ApywS>pwx0H@RDN}hq;7mU-SKczYQ-hnrr=;iDAQMZQ+*g=YOM= z!QlMQEn7FbaD->uKAYgo_j9)W&$$zS*W9}m(ey0q$&7l-XEWO0Y(9M=SnhLbwy;d>@~SY$Ku*0xPvIOQeV1x7u_z-2-X>_74(yfh7C znXL|3GZ+d2`3re2hs?MKC#5QQ<|d}62BjvZR2H60wE-$R?&;zfqH(@;q9b3Efq-lM(nr^( z=EYR73-9e)UYMWsXy%?aZsD68Yyv^2$~6QgEcljw%kx>O(f-gQ?@fOOx3A-0+Qw?O zRx~W)kn~Qe2d6f9nMG#g9Q04Mk==M~N!Dglvxk!fgVh#w@ZV$IY1+Xc`d{d2UcaP~ zfWp)_Ivqj}l2SPy^9ZWy6rG9Yx4v67_uA&&9|XA~5-#3)W3%em1peD8RWH^#O%XoM zxMPud%}GTj#~*+7JMxTd!`{^Q+>(D3*|@KV`*G2;{QnANOxu1$r2xIe;OXk;vd$@? F2>@zac~<}c literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/rdoc/images/plugin.png b/.gems/doc/json-1.8.1/rdoc/images/plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..6187b15aec001b7080b51a5f944f07591f26cc15 GIT binary patch literal 591 zcmV-V0eEcNHZMNv|IbJ-M`( zKwWL~opzjJe^WpCmV9E;(0&ut2;4va_(#>M8)>9$R5viQnf(Nkh~VM$y>J(jqb$cj z+nL1Nm|mV)Gm|9MnHf*7Ja4OEAQz__^LRKOLEwqpiGV^^A*T=#&inGm-62Xs;dnSp zKj&H9T*boh2i)W+(n27l!C)>fq|L%VB1i ziC4p;NwV_}ZjW7$LRW#(_bKF#hp=!IqNO26Z*w2+LEwx{PVnZ&Sn}T;mtzb$;qA*nT@@+ zV5uQ@iXDTPoTbV#FRr~z04|PPh`wXTNoCm9*tG&?e3+fYl>K6+&3|Cc$KOpL`ER+_ dcRl5U#9zn6ZO}GFk7R5;7c zlif>`Q5?tj7Yw@ZCMtTF^Q|ZedeJhM%QPCR*bs8V79p$QTo7e94yQNXRs-{0?hOn_-8n0AMO@u1Ts zNl8QzJs1#rz%RBt?ux>l+amAvh+J!{$lkaqv}+Erb-6j2xp>K4GLQnNB*W`hFg*?P z^AL@~(h~Z+wfcWEXHqV^Tq-#z$7Y#o0;yFxA!00F}F2dX# zjE$iOgT#G4*1TR6kB1Gnn@>$meCh2a>c5YuIvFn-R2W@>4@M*m@-|jiDV?b)bccgA zyPfsMM!rjy>+1O2)5Eg29Z_*2p&qGnmS!OH?vZ(4>QB01d>j%9n4QINxkyT(Dos?I zjaWF$*IQmh`SF-?xU%xMEfjq1=6qY*g&lgG_cXv$BGoIWyfO5 zp>pdV*O+y=&6@N2WWFo(%RtT`Q(H^6zn^a%epE~Kx^mEJ{c8`luC$nc*z9j|4Ms8aJK-la^5T)AZ%#@G{_P{NCN^P z(J0zvSn~SSm(Ur);-M~8^*;61*VRI`T1BN&LAhK;sZ>I-SVW;vfUfJv=ko^ugnc0x zhJodBxe>iyk3%w<%wC8holUJ4(iv>tL{`DQt zPOsyUbO_Cmc&*iHkqbm3ku`|GcC^OhF>jj9W*GkH;^g!iUVpib_h*=@udp4h(P+e*zL_~ZmJjh(y^BxULwq>9zXoYE8sq{#pN~U0C6!8vY)5N2 z9P*}mw}7X$O^qTtJef1ACWvJT9^wt-)Zh0r~j#0bT`f;-zv6 z^Tmw22!%rMcs!TaUX<-8s;X-B`+Xbo+_uWuFa z1yIPc?DTrQ7KvRhmt*TG|L=EYQ=LqFX;=Lp`4}jx6BE-@00000NkvXXu0mjf=s_29 literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/rdoc/images/wrench.png b/.gems/doc/json-1.8.1/rdoc/images/wrench.png new file mode 100644 index 0000000000000000000000000000000000000000..5c8213fef5ab969f03189d4367e32e597e38bd7f GIT binary patch literal 610 zcmV-o0-gPdP)^jb z4`0v}DG1te)wmeb(>p90leRz?_mO+^JKy=v&2<29Od6?F%9%(c8los#f*@G`-%W&* z$)uBj2i@u-@SgX}gtyWPe6d*|w6h%R? zScK2#Yn%$sum0cy>90DmY*i{1XqpClEtktsRTZ)lCUe z<FogV^*tm>8*AlX za4oiR!&85LrobG57qUHUX#{>Vz(RHpB5|@>9O6N$jqB8>%($0wxE5R3)b>Y~xtCo$ zCgEk&A?_#IxHdN)9tqre^o{ho4{?hmPuf@^@I3-wncaRd%|~O3xbrKY=&TiwPYkJroM{;WUQTuMY8vpg}f4o)2%U3C;eEDoiEh?94d(rV57VIF#8VqzW$HrDC|#U`x@QDbgi zVl)t9GGz&YY#D?gc%>hISA+_EBpnXt#pnC`p6@xw0$8TCbULjhlgVx(kuc)%xbgqq zR5+DNDFRN0!y)7Gm}oT0i39}h4h928qY?Rho^UvPGJ#kuW|-Amtrn`Pmd&+bFo@sp z$LI4IQw7BG?|#2ewOS<<3VjL$0=lMY^m;wqZujv5kx1l%Sl;V&Iy4#$ip3&@LV2!7vhhN=PCz%^9v24`qb(+m4W?!q-&~=?ssf5GfnAmJKV;3bvpDm0(NhahZ=&^sqo6Odj6>)Dq_3p~4~ zvb`d3Mydwjt&Df^hVmLtI2x=U&h9(JVYX-!y~z3zi;1>=LY;o(bL$(Yf$lf)dMf0-u^0HrpTG Wk@)HE*94aU0000m+BBgry{~j2fHLegbHP( zrgXNbr0}2;^nywdjLjZe?uxtrd3D(pZH@fFFc0{BW_~jxoO1w7-VX;6vK@ROA$$R6 zEmo;Ht-Mj|>5jUy{bQ^V5@53LRI8AgLpUm|m+15sqcz@QtVSo|oz7ArM8?pIn+>gN z0b=4_b5O|4A*;Q+vc9Vqr~%3V155*NV~@gTz}KSUiKB-uJzjMZ>5%Q#n24H!V{ zTY(LLAE*NAHZ}C#wnj%Bw5OFIkRhkkAW#kDC3j9Wm0YXRaXlyyp>#mVfYG)eC;@ab zDb=T-BCAY4LI(Z@GOTr2V_A{pRwSmz+8Be>CjAw(=gnbVWAeguvZa93JmL(EDxv1m z0OP4q=fpAK1Mq!C2`OkEn37o;m#wF#(t(8Pu#S?2f#x<~4EO{@fmm`p9veD6RZ_jp z@Au4};q&`XuKEYgIiB4((kgxOs#YdqJw0fY>9^K_agEu5+$#k;w#%I2N>n_?)YIqu z`tq&#_^p?-%K*U0^}|7+9U(&k0?s;=r=uCZ%)H9_edH8wK}gB(nUB1FFk+2Ol%BXV zHoFY`D~2x|2 + + + + + + + json-1.8.1 Documentation + + + + + + + + + + + + +

json-1.8.1 Documentation

+ + +
+ + +

Description

+ +

This is a implementation of the JSON specification +according to RFC 4627 www.ietf.org/rfc/rfc4627.txt +. Starting from version 1.0.0 on there will be two variants available:

+
  • +

    A pure ruby variant, that relies on the iconv and the stringscan +extensions, which are both part of the ruby standard library.

    +
  • +

    The quite a bit faster C extension variant, which is in parts implemented +in C and comes with its own unicode conversion functions and a parser +generated by the ragel state machine compiler www.cs.queensu.ca/~thurston/ragel +.

    +
+ +

Both variants of the JSON generator generate UTF-8 +character sequences by default. If an :ascii_only option with a true value +is given, they escape all non-ASCII and control characters with uXXXX +escape sequences, and support UTF-16 surrogate pairs in order to be able to +generate the whole range of unicode code points.

+ +

All strings, that are to be encoded as JSON +strings, should be UTF-8 byte sequences on the Ruby side. To encode raw +binary strings, that aren’t UTF-8 encoded, please use the +to_json_raw_object method of String (which produces an object, that +contains a byte array) and decode the result on the receiving endpoint.

+ +

The JSON parsers can parse UTF-8, UTF-16BE, +UTF-16LE, UTF-32BE, and UTF-32LE JSON documents +under Ruby 1.8. Under Ruby 1.9 they take advantage of Ruby’s M17n features +and can parse all documents which have the correct String#encoding set. If +a document string has ASCII-8BIT as an encoding the parser attempts to +figure out which of the UTF encodings from above it is and trys to parse +it.

+ +

Installation

+ +

It’s recommended to use the extension variant of JSON, because it’s faster than the pure ruby variant. +If you cannot build it on your system, you can settle for the latter.

+ +

Just type into the command line as root:

+ +
# rake install
+ +

The above command will build the extensions and install them on your +system.

+ +
# rake install_pure
+ +

or

+ +
# ruby install.rb
+ +

will just install the pure ruby implementation of JSON.

+ +

If you use Rubygems you can type

+ +
# gem install json
+ +

instead, to install the newest JSON version.

+ +

There is also a pure ruby json only variant of the gem, that can be +installed with:

+ +
# gem install json_pure
+ +

Compiling the extensions yourself

+ +

If you want to build the extensions yourself you need rake:

+ +
You can get it from rubyforge:
+  http://rubyforge.org/projects/rake
+
+or just type
+
+# gem install rake
+
+for the installation via rubygems.
+ +

If you want to create the parser.c file from its parser.rl file or draw +nice graphviz images of the state machines, you need ragel from: www.cs.queensu.ca/~thurston/ragel

+ +

Usage

+ +

To use JSON you can

+ +
require 'json'
+ +

to load the installed variant (either the extension ‘json’ or the pure +variant ‘json_pure’). If you have installed the extension variant, you can +pick either the extension variant or the pure variant by typing

+ +
require 'json/ext'
+ +

or

+ +
require 'json/pure'
+ +

Now you can parse a JSON document into a ruby data +structure by calling

+ +
JSON.parse(document)
+ +

If you want to generate a JSON document from a ruby +data structure call

+ +
JSON.generate(data)
+ +

You can also use the pretty_generate method (which formats the output more +verbosely and nicely) or fast_generate (which doesn’t do any of the +security checks generate performs, e. g. nesting deepness checks).

+ +

To create a valid JSON document you have to make +sure, that the output is embedded in either a JSON +array [] or a JSON object {}. The easiest way to do +this, is by putting your values in a Ruby Array or Hash instance.

+ +

There are also the JSON and JSON[] methods which +use parse on a String or generate a JSON document +from an array or hash:

+ +
document = JSON 'test'  => 23 # => "{\"test\":23}"
+document = JSON['test'] => 23 # => "{\"test\":23}"
+ +

and

+ +
data = JSON '{"test":23}'  # => {"test"=>23}
+data = JSON['{"test":23}'] # => {"test"=>23}
+ +

You can choose to load a set of common additions to ruby core’s objects if +you

+ +
require 'json/add/core'
+ +

After requiring this you can, e. g., serialise/deserialise Ruby ranges:

+ +
JSON JSON(1..10) # => 1..10
+ +

To find out how to add JSON support to other or +your own classes, read the section “More Examples” below.

+ +

To get the best compatibility to rails’ JSON +implementation, you can

+ +
require 'json/add/rails'
+ +

Both of the additions attempt to require ‘json’ (like above) first, if it +has not been required yet.

+ +

More Examples

+ +

To create a JSON document from a ruby data +structure, you can call JSON.generate like that:

+ +
json = JSON.generate [1, 2, {"a"=>3.141}, false, true, nil, 4..10]
+# => "[1,2,{\"a\":3.141},false,true,null,\"4..10\"]"
+ +

To get back a ruby data structure from a JSON +document, you have to call JSON.parse on it:

+ +
JSON.parse json
+# => [1, 2, {"a"=>3.141}, false, true, nil, "4..10"]
+ +

Note, that the range from the original data structure is a simple string +now. The reason for this is, that JSON doesn’t +support ranges or arbitrary classes. In this case the json library falls +back to call Object#to_json, which is the same as to_s.to_json.

+ +

It’s possible to add JSON support serialization to +arbitrary classes by simply implementing a more specialized version of the +to_json method, that should return a JSON object (a +hash converted to JSON with to_json) like this +(don’t forget the *a for all the arguments):

+ +
class Range
+  def to_json(*a)
+    {
+      'json_class'   => self.class.name, # = 'Range'
+      'data'         => [ first, last, exclude_end? ]
+    }.to_json(*a)
+  end
+end
+ +

The hash key ‘json_class’ is the class, that will be asked to deserialise +the JSON representation later. In this case it’s +‘Range’, but any namespace of the form ‘A::B’ or ‘::A::B’ will do. All +other keys are arbitrary and can be used to store the necessary data to +configure the object to be deserialised.

+ +

If a the key ‘json_class’ is found in a JSON +object, the JSON parser checks if the given class +responds to the json_create class method. If so, it is called with the JSON object converted to a Ruby hash. So a range can +be deserialised by implementing Range.json_create like this:

+ +
class Range
+  def self.json_create(o)
+    new(*o['data'])
+  end
+end
+ +

Now it possible to serialise/deserialise ranges as well:

+ +
json = JSON.generate [1, 2, {"a"=>3.141}, false, true, nil, 4..10]
+# => "[1,2,{\"a\":3.141},false,true,null,{\"json_class\":\"Range\",\"data\":[4,10,false]}]"
+JSON.parse json
+# => [1, 2, {"a"=>3.141}, false, true, nil, 4..10]
+ +

JSON.generate always creates the +shortest possible string representation of a ruby data structure in one +line. This is good for data storage or network protocols, but not so good +for humans to read. Fortunately there's also JSON.pretty_generate (or JSON.pretty_generate) that +creates a more readable output:

+ +
puts JSON.pretty_generate([1, 2, {"a"=>3.141}, false, true, nil, 4..10])
+[
+  1,
+  2,
+  {
+    "a": 3.141
+  },
+  false,
+  true,
+  null,
+  {
+    "json_class": "Range",
+    "data": [
+      4,
+      10,
+      false
+    ]
+  }
+]
+ +

There are also the methods Kernel#j for generate, and Kernel#jj for +pretty_generate output to the console, that work analogous to Core Ruby’s p +and the pp library’s pp methods.

+ +

The script tools/server.rb contains a small example if you want to test, +how receiving a JSON object from a webrick server +in your browser with the javasript prototype library www.prototypejs.org works.

+ +

Speed Comparisons

+ +

I have created some benchmark results (see the benchmarks/data-p4-3Ghz +subdir of the package) for the JSON-parser to estimate the speed up in the +C extension:

+ +
Comparing times (call_time_mean):
+ 1 ParserBenchmarkExt#parser   900 repeats:
+       553.922304770 (  real) ->   21.500x 
+         0.001805307
+ 2 ParserBenchmarkYAML#parser  1000 repeats:
+       224.513358139 (  real) ->    8.714x 
+         0.004454078
+ 3 ParserBenchmarkPure#parser  1000 repeats:
+        26.755020642 (  real) ->    1.038x 
+         0.037376163
+ 4 ParserBenchmarkRails#parser 1000 repeats:
+        25.763381731 (  real) ->    1.000x 
+         0.038814780
+           calls/sec (  time) ->    speed  covers
+           secs/call
+ +

In the table above 1 is JSON::Ext::Parser, 2 is YAML.load with YAML +compatbile JSON document, 3 is is JSON::Pure::Parser, and 4 is +ActiveSupport::JSON.decode. The ActiveSupport JSON-decoder converts the +input first to YAML and then uses the YAML-parser, the conversion seems to +slow it down so much that it is only as fast as the JSON::Pure::Parser!

+ +

If you look at the benchmark data you can see that this is mostly caused by +the frequent high outliers - the median of the Rails-parser runs is still +overall smaller than the median of the JSON::Pure::Parser runs:

+ +
Comparing times (call_time_median):
+ 1 ParserBenchmarkExt#parser   900 repeats:
+       800.592479481 (  real) ->   26.936x 
+         0.001249075
+ 2 ParserBenchmarkYAML#parser  1000 repeats:
+       271.002390644 (  real) ->    9.118x 
+         0.003690004
+ 3 ParserBenchmarkRails#parser 1000 repeats:
+        30.227910865 (  real) ->    1.017x 
+         0.033082008
+ 4 ParserBenchmarkPure#parser  1000 repeats:
+        29.722384421 (  real) ->    1.000x 
+         0.033644676
+           calls/sec (  time) ->    speed  covers
+           secs/call
+ +

I have benchmarked the JSON-Generator as well. This generated a few more +values, because there are different modes that also influence the achieved +speed:

+ +
Comparing times (call_time_mean):
+ 1 GeneratorBenchmarkExt#generator_fast    1000 repeats:
+       547.354332608 (  real) ->   15.090x 
+         0.001826970
+ 2 GeneratorBenchmarkExt#generator_safe    1000 repeats:
+       443.968212317 (  real) ->   12.240x 
+         0.002252414
+ 3 GeneratorBenchmarkExt#generator_pretty  900 repeats:
+       375.104545883 (  real) ->   10.341x 
+         0.002665923
+ 4 GeneratorBenchmarkPure#generator_fast   1000 repeats:
+        49.978706968 (  real) ->    1.378x 
+         0.020008521
+ 5 GeneratorBenchmarkRails#generator       1000 repeats:
+        38.531868759 (  real) ->    1.062x 
+         0.025952543
+ 6 GeneratorBenchmarkPure#generator_safe   1000 repeats:
+        36.927649925 (  real) ->    1.018x 7 (>=3859)
+         0.027079979
+ 7 GeneratorBenchmarkPure#generator_pretty 1000 repeats:
+        36.272134441 (  real) ->    1.000x 6 (>=3859)
+         0.027569373
+           calls/sec (  time) ->    speed  covers
+           secs/call
+ +

In the table above 1-3 are JSON::Ext::Generator methods. 4, 6, and 7 are JSON::Pure::Generator methods and 5 is +the Rails JSON generator. It is now a bit faster +than the generator_safe and generator_pretty methods of the pure variant +but slower than the others.

+ +

To achieve the fastest JSON document output, you +can use the fast_generate method. Beware, that this will disable the +checking for circular Ruby data structures, which may cause JSON to go into an infinite loop.

+ +

Here are the median comparisons for completeness’ sake:

+ +
Comparing times (call_time_median):
+ 1 GeneratorBenchmarkExt#generator_fast    1000 repeats:
+       708.258020939 (  real) ->   16.547x 
+         0.001411915
+ 2 GeneratorBenchmarkExt#generator_safe    1000 repeats:
+       569.105020353 (  real) ->   13.296x 
+         0.001757145
+ 3 GeneratorBenchmarkExt#generator_pretty  900 repeats:
+       482.825371244 (  real) ->   11.280x 
+         0.002071142
+ 4 GeneratorBenchmarkPure#generator_fast   1000 repeats:
+        62.717626652 (  real) ->    1.465x 
+         0.015944481
+ 5 GeneratorBenchmarkRails#generator       1000 repeats:
+        43.965681162 (  real) ->    1.027x 
+         0.022745013
+ 6 GeneratorBenchmarkPure#generator_safe   1000 repeats:
+        43.929073409 (  real) ->    1.026x 7 (>=3859)
+         0.022763968
+ 7 GeneratorBenchmarkPure#generator_pretty 1000 repeats:
+        42.802514491 (  real) ->    1.000x 6 (>=3859)
+         0.023363113
+           calls/sec (  time) ->    speed  covers
+           secs/call
+ +

Author

+ +

Florian Frank <flori@ping.de>

+ +

License

+ +

Ruby License, see the COPYING file included in the source distribution. The +Ruby License includes the GNU General Public License (GPL), Version 2, so +see the file GPL as well.

+ +

Download

+ +

The latest version of this library can be downloaded at

+ + +

Online Documentation should be located at

+ + +
+ + + + +

Files

+ + + +

Classes/Modules

+ + +

Methods

+ + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + diff --git a/.gems/doc/json-1.8.1/rdoc/js/darkfish.js b/.gems/doc/json-1.8.1/rdoc/js/darkfish.js new file mode 100644 index 0000000..7a2f44c --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/js/darkfish.js @@ -0,0 +1,118 @@ +/** + * + * Darkfish Page Functions + * $Id: darkfish.js 53 2009-01-07 02:52:03Z deveiant $ + * + * Author: Michael Granger + * + */ + +/* Provide console simulation for firebug-less environments */ +if (!("console" in window) || !("firebug" in console)) { + var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", + "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"]; + + window.console = {}; + for (var i = 0; i < names.length; ++i) + window.console[names[i]] = function() {}; +}; + + +/** + * Unwrap the first element that matches the given @expr@ from the targets and return them. + */ +$.fn.unwrap = function( expr ) { + return this.each( function() { + $(this).parents( expr ).eq( 0 ).after( this ).remove(); + }); +}; + + +function showSource( e ) { + var target = e.target; + var codeSections = $(target). + parents('.method-detail'). + find('.method-source-code'); + + $(target). + parents('.method-detail'). + find('.method-source-code'). + slideToggle(); +}; + +function hookSourceViews() { + $('.method-description,.method-heading').click( showSource ); +}; + +function toggleDebuggingSection() { + $('.debugging-section').slideToggle(); +}; + +function hookDebuggingToggle() { + $('#debugging-toggle img').click( toggleDebuggingSection ); +}; + +function hookQuickSearch() { + $('.quicksearch-field').each( function() { + var searchElems = $(this).parents('.section').find( 'li' ); + var toggle = $(this).parents('.section').find('h3 .search-toggle'); + // console.debug( "Toggle is: %o", toggle ); + var qsbox = $(this).parents('form').get( 0 ); + + $(this).quicksearch( this, searchElems, { + noSearchResultsIndicator: 'no-class-search-results', + focusOnLoad: false + }); + $(toggle).click( function() { + // console.debug( "Toggling qsbox: %o", qsbox ); + $(qsbox).toggle(); + }); + }); +}; + +function highlightTarget( anchor ) { + console.debug( "Highlighting target '%s'.", anchor ); + + $("a[name]").each( function() { + if ( $(this).attr("name") == anchor ) { + if ( !$(this).parent().parent().hasClass('target-section') ) { + console.debug( "Wrapping the target-section" ); + $('div.method-detail').unwrap( 'div.target-section' ); + $(this).parent().wrap( '
' ); + } else { + console.debug( "Already wrapped." ); + } + } + }); +}; + +function highlightLocationTarget() { + console.debug( "Location hash: %s", window.location.hash ); + if ( ! window.location.hash || window.location.hash.length == 0 ) return; + + var anchor = window.location.hash.substring(1); + console.debug( "Found anchor: %s; matching %s", anchor, "a[name=" + anchor + "]" ); + + highlightTarget( anchor ); +}; + +function highlightClickTarget( event ) { + console.debug( "Highlighting click target for event %o", event.target ); + try { + var anchor = $(event.target).attr( 'href' ).substring(1); + console.debug( "Found target anchor: %s", anchor ); + highlightTarget( anchor ); + } catch ( err ) { + console.error( "Exception while highlighting: %o", err ); + }; +}; + + +$(document).ready( function() { + hookSourceViews(); + hookDebuggingToggle(); + hookQuickSearch(); + highlightLocationTarget(); + + $('ul.link-list a').bind( "click", highlightClickTarget ); +}); diff --git a/.gems/doc/json-1.8.1/rdoc/js/jquery.js b/.gems/doc/json-1.8.1/rdoc/js/jquery.js new file mode 100644 index 0000000..afe9e74 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/js/jquery.js @@ -0,0 +1,32 @@ +/* + * jQuery 1.2.6 - New Wave Javascript + * + * Copyright (c) 2008 John Resig (jquery.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * $Date: 2008-09-25 09:50:52 -0700 (Thu, 25 Sep 2008) $ + * $Rev: 38 $ + */ +(function(){var _jQuery=window.jQuery,_$=window.$;var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);};var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem){if(elem.id!=match[3])return jQuery().find(selector);return jQuery(elem);}selector=[];}}else +return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(jQuery.makeArray(selector));},jquery:"1.2.6",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value===undefined)return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else +return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else +selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=='string'?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(value);jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else +this.value=value;});},html:function(value){return value==undefined?(this[0]?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)data=jQuery.data(this[0],key);return data===undefined&&parts[1]?this.data(parts[0]):data;}else +return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script"))scripts=scripts.add(elem);else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.fn.init.prototype=jQuery.fn;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else +jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}function now(){return+new Date;}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==i){target=this;--i;}for(;i-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else +jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;function color(elem){if(!jQuery.browser.safari)return false;var ret=defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=style.outline;style.outline="0 solid black";style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&style&&style[name])ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle&&!color(elem))ret=computedStyle.getPropertyValue(name);else{var swap=[],stack=[],a=elem,i=0;for(;a&&color(a);a=a.parentNode)stack.unshift(a);for(;i]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("",""]||!tags.indexOf("",""]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
"]||!tags.indexOf("",""]||(!tags.indexOf("",""]||!tags.indexOf("",""]||jQuery.browser.msie&&[1,"div
","
"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf(""&&tags.indexOf("=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else +ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(name in elem&¬xml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem[name]=value;}if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))return elem.getAttributeNode(name).nodeValue;return elem[name];}if(msie&¬xml&&name=="style")return jQuery.attr(elem.style,"cssText",value);if(set)elem.setAttribute(name,""+value);var attr=msie&¬xml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}if(msie&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||array.split||array.setInterval||array.call)ret[0]=array;else +while(i)ret[--i]=array[i];}return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return im[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false,re=quickChild,m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=this.proxy(fn,function(){return fn.apply(this,arguments);});handler.data=data;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(typeof jQuery!="undefined"&&!jQuery.event.triggered)return jQuery.event.handle.apply(arguments.callee.elem,arguments);});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else +for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});data[0][expando]=true;}data[0].type=type;if(exclusive)data[0].exclusive=true;var handle=jQuery.data(elem,"handle");if(handle)val=handle.apply(elem,data);if((!fn||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val,ret,namespace,all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);namespace=event.type.split(".");event.type=namespace[0];namespace=namespace[1];all=!namespace&&!event.exclusive;handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||handler.type==namespace){event.handler=handler;event.data=handler.data;ret=handler.apply(this,arguments);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}return val;},fix:function(event){if(event[expando]==true)return event;var originalEvent=event;event={originalEvent:originalEvent};var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");for(var i=props.length;i;i--)event[props[i]]=originalEvent[props[i]];event[expando]=true;event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};event.timeStamp=event.timeStamp||now();if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn);},toggle:function(fn){var args=arguments,i=1;while(i=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("
").append(res.responseText.replace(//g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{url:location.href,global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="GET"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");var remote=/^(?:\w+:)?\/\/([^\/?#]+)/;if(s.dataType=="script"&&type=="GET"&&remote.test(s.url)&&remote.exec(s.url)[1]!=location.host){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xhr=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();if(s.username)xhr.open(type,s.url,s.async,s.username,s.password);else +xhr.open(type,s.url,s.async);try{if(s.data)xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&jQuery.active--;xhr.abort();return false;}if(s.global)jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else +jQuery.handleError(s,xhr,status);complete();if(s.async)xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xhr){xhr.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xhr,s]);}function complete(){if(s.complete)s.complete(xhr,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(filter)data=filter(data,type);if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else +for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else +s.push(encodeURIComponent(j)+"="+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall),p,hidden=jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return opt.complete.call(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else +e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.call(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(elem){type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",jQuery.makeArray(array));}return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].call(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.call(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;ithis.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done)this.options.complete.call(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},step:{scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}}});jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),css=jQuery.curCSS,fixed=css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||css(offsetChild,"position")=="absolute"))||(mozilla&&css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l,10)||0;top+=parseInt(t,10)||0;}return results;};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom";jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+num(this,"padding"+tl)+num(this,"padding"+br);};jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+num(this,"border"+tl+"Width")+num(this,"border"+br+"Width")+(margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};});})(); \ No newline at end of file diff --git a/.gems/doc/json-1.8.1/rdoc/js/quicksearch.js b/.gems/doc/json-1.8.1/rdoc/js/quicksearch.js new file mode 100644 index 0000000..70dbd33 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/js/quicksearch.js @@ -0,0 +1,114 @@ +/** + * + * JQuery QuickSearch - Hook up a form field to hide non-matching elements. + * $Id: quicksearch.js 53 2009-01-07 02:52:03Z deveiant $ + * + * Author: Michael Granger + * + */ +jQuery.fn.quicksearch = function( target, searchElems, options ) { + // console.debug( "Quicksearch fn" ); + + var settings = { + delay: 250, + clearButton: false, + highlightMatches: false, + focusOnLoad: false, + noSearchResultsIndicator: null + }; + if ( options ) $.extend( settings, options ); + + return jQuery(this).each( function() { + // console.debug( "Creating a new quicksearch on %o for %o", this, searchElems ); + new jQuery.quicksearch( this, searchElems, settings ); + }); +}; + + +jQuery.quicksearch = function( searchBox, searchElems, settings ) { + var timeout; + var boxdiv = $(searchBox).parents('div').eq(0); + + function init() { + setupKeyEventHandlers(); + focusOnLoad(); + }; + + function setupKeyEventHandlers() { + // console.debug( "Hooking up the 'keypress' event to %o", searchBox ); + $(searchBox). + unbind( 'keyup' ). + keyup( function(e) { return onSearchKey( e.keyCode ); }); + $(searchBox). + unbind( 'keypress' ). + keypress( function(e) { + switch( e.which ) { + // Execute the search on Enter, Tab, or Newline + case 9: + case 13: + case 10: + clearTimeout( timeout ); + e.preventDefault(); + doQuickSearch(); + break; + + // Allow backspace + case 8: + return true; + break; + + // Only allow valid search characters + default: + return validQSChar( e.charCode ); + } + }); + }; + + function focusOnLoad() { + if ( !settings.focusOnLoad ) return false; + $(searchBox).focus(); + }; + + function onSearchKey ( code ) { + clearTimeout( timeout ); + // console.debug( "...scheduling search." ); + timeout = setTimeout( doQuickSearch, settings.delay ); + }; + + function validQSChar( code ) { + var c = String.fromCharCode( code ); + return ( + (c == ':') || + (c >= 'a' && c <= 'z') || + (c >= 'A' && c <= 'Z') + ); + }; + + function doQuickSearch() { + var searchText = searchBox.value; + var pat = new RegExp( searchText, "im" ); + var shownCount = 0; + + if ( settings.noSearchResultsIndicator ) { + $('#' + settings.noSearchResultsIndicator).hide(); + } + + // All elements start out hidden + $(searchElems).each( function(index) { + var str = $(this).text(); + + if ( pat.test(str) ) { + shownCount += 1; + $(this).fadeIn(); + } else { + $(this).hide(); + } + }); + + if ( shownCount == 0 && settings.noSearchResultsIndicator ) { + $('#' + settings.noSearchResultsIndicator).slideDown(); + } + }; + + init(); +}; diff --git a/.gems/doc/json-1.8.1/rdoc/js/thickbox-compressed.js b/.gems/doc/json-1.8.1/rdoc/js/thickbox-compressed.js new file mode 100644 index 0000000..3a3fdae --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/js/thickbox-compressed.js @@ -0,0 +1,10 @@ +/* + * Thickbox 3 - One Box To Rule Them All. + * By Cody Lindley (http://www.codylindley.com) + * Copyright (c) 2007 cody lindley + * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php +*/ + +var tb_pathToImage = "../images/loadingAnimation.gif"; + +eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('$(o).2S(9(){1u(\'a.18, 3n.18, 3i.18\');1w=1p 1t();1w.L=2H});9 1u(b){$(b).s(9(){6 t=X.Q||X.1v||M;6 a=X.u||X.23;6 g=X.1N||P;19(t,a,g);X.2E();H P})}9 19(d,f,g){3m{3(2t o.v.J.2i==="2g"){$("v","11").r({A:"28%",z:"28%"});$("11").r("22","2Z");3(o.1Y("1F")===M){$("v").q("<4 5=\'B\'><4 5=\'8\'>");$("#B").s(G)}}n{3(o.1Y("B")===M){$("v").q("<4 5=\'B\'><4 5=\'8\'>");$("#B").s(G)}}3(1K()){$("#B").1J("2B")}n{$("#B").1J("2z")}3(d===M){d=""}$("v").q("<4 5=\'K\'><1I L=\'"+1w.L+"\' />");$(\'#K\').2y();6 h;3(f.O("?")!==-1){h=f.3l(0,f.O("?"))}n{h=f}6 i=/\\.2s$|\\.2q$|\\.2m$|\\.2l$|\\.2k$/;6 j=h.1C().2h(i);3(j==\'.2s\'||j==\'.2q\'||j==\'.2m\'||j==\'.2l\'||j==\'.2k\'){1D="";1G="";14="";1z="";1x="";R="";1n="";1r=P;3(g){E=$("a[@1N="+g+"]").36();25(D=0;((D&1d;&1d;2T &2R;"}n{1D=E[D].Q;1G=E[D].u;14="<1e 5=\'1U\'>&1d;&1d;&2O; 2N"}}n{1r=1b;1n="1t "+(D+1)+" 2L "+(E.1c)}}}S=1p 1t();S.1g=9(){S.1g=M;6 a=2x();6 x=a[0]-1M;6 y=a[1]-1M;6 b=S.z;6 c=S.A;3(b>x){c=c*(x/b);b=x;3(c>y){b=b*(y/c);c=y}}n 3(c>y){b=b*(y/c);c=y;3(b>x){c=c*(x/b);b=x}}13=b+30;1a=c+2G;$("#8").q("<1I 5=\'2F\' L=\'"+f+"\' z=\'"+b+"\' A=\'"+c+"\' 23=\'"+d+"\'/>"+"<4 5=\'2D\'>"+d+"<4 5=\'2C\'>"+1n+14+R+"<4 5=\'2A\'>1l 1k 1j 1s");$("#Z").s(G);3(!(14==="")){9 12(){3($(o).N("s",12)){$(o).N("s",12)}$("#8").C();$("v").q("<4 5=\'8\'>");19(1D,1G,g);H P}$("#1U").s(12)}3(!(R==="")){9 1i(){$("#8").C();$("v").q("<4 5=\'8\'>");19(1z,1x,g);H P}$("#1X").s(1i)}o.1h=9(e){3(e==M){I=2w.2v}n{I=e.2u}3(I==27){G()}n 3(I==3k){3(!(R=="")){o.1h="";1i()}}n 3(I==3j){3(!(14=="")){o.1h="";12()}}};16();$("#K").C();$("#1L").s(G);$("#8").r({Y:"T"})};S.L=f}n{6 l=f.2r(/^[^\\?]+\\??/,\'\');6 m=2p(l);13=(m[\'z\']*1)+30||3h;1a=(m[\'A\']*1)+3g||3f;W=13-30;V=1a-3e;3(f.O(\'2j\')!=-1){1E=f.1B(\'3d\');$("#15").C();3(m[\'1A\']!="1b"){$("#8").q("<4 5=\'2f\'><4 5=\'1H\'>"+d+"<4 5=\'2e\'>1l 1k 1j 1s ")}n{$("#B").N();$("#8").q(" ")}}n{3($("#8").r("Y")!="T"){3(m[\'1A\']!="1b"){$("#8").q("<4 5=\'2f\'><4 5=\'1H\'>"+d+"<4 5=\'2e\'>1l 1k 1j 1s<4 5=\'F\' J=\'z:"+W+"p;A:"+V+"p\'>")}n{$("#B").N();$("#8").q("<4 5=\'F\' 3c=\'3b\' J=\'z:"+W+"p;A:"+V+"p;\'>")}}n{$("#F")[0].J.z=W+"p";$("#F")[0].J.A=V+"p";$("#F")[0].3a=0;$("#1H").11(d)}}$("#Z").s(G);3(f.O(\'37\')!=-1){$("#F").q($(\'#\'+m[\'26\']).1T());$("#8").24(9(){$(\'#\'+m[\'26\']).q($("#F").1T())});16();$("#K").C();$("#8").r({Y:"T"})}n 3(f.O(\'2j\')!=-1){16();3($.1q.35){$("#K").C();$("#8").r({Y:"T"})}}n{$("#F").34(f+="&1y="+(1p 33().32()),9(){16();$("#K").C();1u("#F a.18");$("#8").r({Y:"T"})})}}3(!m[\'1A\']){o.21=9(e){3(e==M){I=2w.2v}n{I=e.2u}3(I==27){G()}}}}31(e){}}9 1m(){$("#K").C();$("#8").r({Y:"T"})}9 G(){$("#2Y").N("s");$("#Z").N("s");$("#8").2X("2W",9(){$(\'#8,#B,#1F\').2V("24").N().C()});$("#K").C();3(2t o.v.J.2i=="2g"){$("v","11").r({A:"1Z",z:"1Z"});$("11").r("22","")}o.1h="";o.21="";H P}9 16(){$("#8").r({2U:\'-\'+20((13/2),10)+\'p\',z:13+\'p\'});3(!(1V.1q.2Q&&1V.1q.2P<7)){$("#8").r({38:\'-\'+20((1a/2),10)+\'p\'})}}9 2p(a){6 b={};3(!a){H b}6 c=a.1B(/[;&]/);25(6 i=0;i + + + + + + + File: bigdecimal.rb [json-1.8.1 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:26:40 +0200
+ + +
Requires
+
+
    + +
  • json
  • + +
  • bigdecimal
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/json-1.8.1/rdoc/lib/json/add/complex_rb.html b/.gems/doc/json-1.8.1/rdoc/lib/json/add/complex_rb.html new file mode 100644 index 0000000..8ee60f1 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/lib/json/add/complex_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: complex.rb [json-1.8.1 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:26:40 +0200
+ + +
Requires
+
+
    + +
  • json
  • + +
  • complex
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/json-1.8.1/rdoc/lib/json/add/core_rb.html b/.gems/doc/json-1.8.1/rdoc/lib/json/add/core_rb.html new file mode 100644 index 0000000..03cb0df --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/lib/json/add/core_rb.html @@ -0,0 +1,71 @@ + + + + + + + + File: core.rb [json-1.8.1 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:26:40 +0200
+ + +
Requires
+
+
    + +
  • json/add/date
  • + +
  • json/add/date_time
  • + +
  • json/add/exception
  • + +
  • json/add/range
  • + +
  • json/add/regexp
  • + +
  • json/add/struct
  • + +
  • json/add/symbol
  • + +
  • json/add/time
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +

This file requires the implementations of ruby core’s custom objects for +serialisation/deserialisation.

+ +
+ +
+ + + diff --git a/.gems/doc/json-1.8.1/rdoc/lib/json/add/date_rb.html b/.gems/doc/json-1.8.1/rdoc/lib/json/add/date_rb.html new file mode 100644 index 0000000..79ac08f --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/lib/json/add/date_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: date.rb [json-1.8.1 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:26:40 +0200
+ + +
Requires
+
+
    + +
  • json
  • + +
  • date
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/json-1.8.1/rdoc/lib/json/add/date_time_rb.html b/.gems/doc/json-1.8.1/rdoc/lib/json/add/date_time_rb.html new file mode 100644 index 0000000..73141bb --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/lib/json/add/date_time_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: date_time.rb [json-1.8.1 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:26:40 +0200
+ + +
Requires
+
+
    + +
  • json
  • + +
  • date
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/json-1.8.1/rdoc/lib/json/add/exception_rb.html b/.gems/doc/json-1.8.1/rdoc/lib/json/add/exception_rb.html new file mode 100644 index 0000000..57a3159 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/lib/json/add/exception_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: exception.rb [json-1.8.1 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:26:40 +0200
+ + +
Requires
+
+
    + +
  • json
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/json-1.8.1/rdoc/lib/json/add/ostruct_rb.html b/.gems/doc/json-1.8.1/rdoc/lib/json/add/ostruct_rb.html new file mode 100644 index 0000000..24274b6 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/lib/json/add/ostruct_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: ostruct.rb [json-1.8.1 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:26:40 +0200
+ + +
Requires
+
+
    + +
  • json
  • + +
  • ostruct
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/json-1.8.1/rdoc/lib/json/add/range_rb.html b/.gems/doc/json-1.8.1/rdoc/lib/json/add/range_rb.html new file mode 100644 index 0000000..2e0d7d0 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/lib/json/add/range_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: range.rb [json-1.8.1 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:26:40 +0200
+ + +
Requires
+
+
    + +
  • json
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/json-1.8.1/rdoc/lib/json/add/rational_rb.html b/.gems/doc/json-1.8.1/rdoc/lib/json/add/rational_rb.html new file mode 100644 index 0000000..8bafcdf --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/lib/json/add/rational_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: rational.rb [json-1.8.1 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:26:40 +0200
+ + +
Requires
+
+
    + +
  • json
  • + +
  • rational
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/json-1.8.1/rdoc/lib/json/add/regexp_rb.html b/.gems/doc/json-1.8.1/rdoc/lib/json/add/regexp_rb.html new file mode 100644 index 0000000..b62711c --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/lib/json/add/regexp_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: regexp.rb [json-1.8.1 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:26:40 +0200
+ + +
Requires
+
+
    + +
  • json
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/json-1.8.1/rdoc/lib/json/add/struct_rb.html b/.gems/doc/json-1.8.1/rdoc/lib/json/add/struct_rb.html new file mode 100644 index 0000000..a31843e --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/lib/json/add/struct_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: struct.rb [json-1.8.1 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:26:40 +0200
+ + +
Requires
+
+
    + +
  • json
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/json-1.8.1/rdoc/lib/json/add/symbol_rb.html b/.gems/doc/json-1.8.1/rdoc/lib/json/add/symbol_rb.html new file mode 100644 index 0000000..8c39fe6 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/lib/json/add/symbol_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: symbol.rb [json-1.8.1 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:26:40 +0200
+ + +
Requires
+
+
    + +
  • json
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/json-1.8.1/rdoc/lib/json/add/time_rb.html b/.gems/doc/json-1.8.1/rdoc/lib/json/add/time_rb.html new file mode 100644 index 0000000..5397697 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/lib/json/add/time_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: time.rb [json-1.8.1 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:26:40 +0200
+ + +
Requires
+
+
    + +
  • json
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/json-1.8.1/rdoc/lib/json/common_rb.html b/.gems/doc/json-1.8.1/rdoc/lib/json/common_rb.html new file mode 100644 index 0000000..047c004 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/lib/json/common_rb.html @@ -0,0 +1,58 @@ + + + + + + + + File: common.rb [json-1.8.1 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:26:40 +0200
+ + +
Requires
+
+
    + +
  • json/version
  • + +
  • json/generic_object
  • + +
  • iconv
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/json-1.8.1/rdoc/lib/json/ext_rb.html b/.gems/doc/json-1.8.1/rdoc/lib/json/ext_rb.html new file mode 100644 index 0000000..f1e52cb --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/lib/json/ext_rb.html @@ -0,0 +1,60 @@ + + + + + + + + File: ext.rb [json-1.8.1 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:26:40 +0200
+ + +
Requires
+
+
    + +
  • simplecov
  • + +
  • json/common
  • + +
  • json/ext/parser
  • + +
  • json/ext/generator
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/json-1.8.1/rdoc/lib/json/generic_object_rb.html b/.gems/doc/json-1.8.1/rdoc/lib/json/generic_object_rb.html new file mode 100644 index 0000000..d80ddac --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/lib/json/generic_object_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: generic_object.rb [json-1.8.1 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:26:40 +0200
+ + +
Requires
+
+
    + +
  • ostruct
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/json-1.8.1/rdoc/lib/json/pure/generator_rb.html b/.gems/doc/json-1.8.1/rdoc/lib/json/pure/generator_rb.html new file mode 100644 index 0000000..0ddc091 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/lib/json/pure/generator_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: generator.rb [json-1.8.1 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:26:40 +0200
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/json-1.8.1/rdoc/lib/json/pure/parser_rb.html b/.gems/doc/json-1.8.1/rdoc/lib/json/pure/parser_rb.html new file mode 100644 index 0000000..6789c5e --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/lib/json/pure/parser_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: parser.rb [json-1.8.1 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:26:40 +0200
+ + +
Requires
+
+
    + +
  • strscan
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/json-1.8.1/rdoc/lib/json/pure_rb.html b/.gems/doc/json-1.8.1/rdoc/lib/json/pure_rb.html new file mode 100644 index 0000000..697c454 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/lib/json/pure_rb.html @@ -0,0 +1,60 @@ + + + + + + + + File: pure.rb [json-1.8.1 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:26:40 +0200
+ + +
Requires
+
+
    + +
  • simplecov
  • + +
  • json/common
  • + +
  • json/pure/parser
  • + +
  • json/pure/generator
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/json-1.8.1/rdoc/lib/json/version_rb.html b/.gems/doc/json-1.8.1/rdoc/lib/json/version_rb.html new file mode 100644 index 0000000..3562b71 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/lib/json/version_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: version.rb [json-1.8.1 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:26:40 +0200
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/json-1.8.1/rdoc/lib/json_rb.html b/.gems/doc/json-1.8.1/rdoc/lib/json_rb.html new file mode 100644 index 0000000..1b9d813 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/lib/json_rb.html @@ -0,0 +1,60 @@ + + + + + + + + File: json.rb [json-1.8.1 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:26:40 +0200
+ + +
Requires
+
+
    + +
  • json/common
  • + +
  • json/version
  • + +
  • json/ext
  • + +
  • json/pure
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/json-1.8.1/rdoc/rdoc.css b/.gems/doc/json-1.8.1/rdoc/rdoc.css new file mode 100644 index 0000000..ea91421 --- /dev/null +++ b/.gems/doc/json-1.8.1/rdoc/rdoc.css @@ -0,0 +1,763 @@ +/* + * "Darkfish" Rdoc CSS + * $Id: rdoc.css 54 2009-01-27 01:09:48Z deveiant $ + * + * Author: Michael Granger + * + */ + +/* Base Green is: #6C8C22 */ + +*{ padding: 0; margin: 0; } + +body { + background: #efefef; + font: 14px "Helvetica Neue", Helvetica, Tahoma, sans-serif; +} +body.class, body.module, body.file { + margin-left: 40px; +} +body.file-popup { + font-size: 90%; + margin-left: 0; +} + +h1 { + font-size: 300%; + text-shadow: rgba(135,145,135,0.65) 2px 2px 3px; + color: #6C8C22; +} +h2,h3,h4 { margin-top: 1.5em; } + +:link, +:visited { + color: #6C8C22; + text-decoration: none; +} +:link:hover, +:visited:hover { + border-bottom: 1px dotted #6C8C22; +} + +pre { + background: #ddd; + padding: 0.5em 0; +} + + +/* @group Generic Classes */ + +.initially-hidden { + display: none; +} + +.quicksearch-field { + width: 98%; + background: #ddd; + border: 1px solid #aaa; + height: 1.5em; + -webkit-border-radius: 4px; +} +.quicksearch-field:focus { + background: #f1edba; +} + +.missing-docs { + font-size: 120%; + background: white url(images/wrench_orange.png) no-repeat 4px center; + color: #ccc; + line-height: 2em; + border: 1px solid #d00; + opacity: 1; + padding-left: 20px; + text-indent: 24px; + letter-spacing: 3px; + font-weight: bold; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; +} + +.target-section { + border: 2px solid #dcce90; + border-left-width: 8px; + padding: 0 1em; + background: #fff3c2; +} + +/* @end */ + + +/* @group Index Page, Standalone file pages */ +body.indexpage { + margin: 1em 3em; +} +body.indexpage p, +body.indexpage div, +body.file p { + margin: 1em 0; +} + +.indexpage .rdoc-list p, .file .rdoc-list p { + margin: 0em 0; +} + +.indexpage ol, +.file #documentation ol { + line-height: 160%; +} + +.indexpage ul, +.file #documentation ul { + line-height: 160%; + list-style: none; +} +.indexpage ul :link, +.indexpage ul :visited { + font-size: 16px; +} + +.indexpage li, +.file #documentation li { + padding-left: 20px; +} + +.indexpage ol, +.file #documentation ol { + margin-left: 20px; +} + +.indexpage ol > li, +.file #documentation ol > li { + padding-left: 0; +} + +.indexpage ul > li, +.file #documentation ul > li { + background: url(images/bullet_black.png) no-repeat left 4px; +} +.indexpage li.module { + background: url(images/package.png) no-repeat left 4px; +} +.indexpage li.class { + background: url(images/ruby.png) no-repeat left 4px; +} +.indexpage li.file { + background: url(images/page_white_text.png) no-repeat left 4px; +} +.file li p, +.indexpage li p { + margin: 0 0; +} + +/* @end */ + +/* @group Top-Level Structure */ + +.class #metadata, +.file #metadata, +.module #metadata { + float: left; + width: 260px; +} + +.class #documentation, +.file #documentation, +.module #documentation { + margin: 2em 1em 5em 300px; + min-width: 340px; +} + +.file #metadata { + margin: 0.8em; +} + +#validator-badges { + clear: both; + margin: 1em 1em 2em; +} + +/* @end */ + +/* @group Metadata Section */ +#metadata .section { + background-color: #dedede; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border: 1px solid #aaa; + margin: 0 8px 16px; + font-size: 90%; + overflow: hidden; +} +#metadata h3.section-header { + margin: 0; + padding: 2px 8px; + background: #ccc; + color: #666; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-bottom: 1px solid #aaa; +} +#metadata #home-section h3.section-header { + border-bottom: 0; +} + +#metadata ul, +#metadata dl, +#metadata p { + padding: 8px; + list-style: none; +} + +#file-metadata ul { + padding-left: 28px; + list-style-image: url(images/page_green.png); +} + +dl.svninfo { + color: #666; + margin: 0; +} +dl.svninfo dt { + font-weight: bold; +} + +ul.link-list li { + white-space: nowrap; +} +ul.link-list .type { + font-size: 8px; + text-transform: uppercase; + color: white; + background: #969696; + padding: 2px 4px; + -webkit-border-radius: 5px; +} + +/* @end */ + + +/* @group Project Metadata Section */ +#project-metadata { + margin-top: 3em; +} + +.file #project-metadata { + margin-top: 0em; +} + +#project-metadata .section { + border: 1px solid #aaa; +} +#project-metadata h3.section-header { + border-bottom: 1px solid #aaa; + position: relative; +} +#project-metadata h3.section-header .search-toggle { + position: absolute; + right: 5px; +} + + +#project-metadata form { + color: #777; + background: #ccc; + padding: 8px 8px 16px; + border-bottom: 1px solid #bbb; +} +#project-metadata fieldset { + border: 0; +} + +#no-class-search-results { + margin: 0 auto 1em; + text-align: center; + font-size: 14px; + font-weight: bold; + color: #aaa; +} + +/* @end */ + + +/* @group Documentation Section */ +.description { + font-size: 100%; + color: #333; +} + +.description p { + margin: 1em 0.4em; +} + +.description li p { + margin: 0; +} + +.description ul { + margin-left: 1.5em; +} +.description ul li { + line-height: 1.4em; +} + +.description dl, +#documentation dl { + margin: 8px 1.5em; + border: 1px solid #ccc; +} +.description dl { + font-size: 14px; +} + +.description dt, +#documentation dt { + padding: 2px 4px; + font-weight: bold; + background: #ddd; +} +.description dd, +#documentation dd { + padding: 2px 12px; +} +.description dd + dt, +#documentation dd + dt { + margin-top: 0.7em; +} + +#documentation .section { + font-size: 90%; +} + +#documentation h2.section-header { + margin-top: 2em; + padding: 0.75em 0.5em; + background: #ccc; + color: #333; + font-size: 175%; + border: 1px solid #bbb; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} + +#documentation h3.section-header { + margin-top: 2em; + padding: 0.25em 0.5em; + background-color: #dedede; + color: #333; + font-size: 150%; + border: 1px solid #bbb; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} + +#constants-list > dl, +#attributes-list > dl { + margin: 1em 0 2em; + border: 0; +} +#constants-list > dl dt, +#attributes-list > dl dt { + padding-left: 0; + font-weight: bold; + font-family: Monaco, "Andale Mono"; + background: inherit; +} +#constants-list > dl dt a, +#attributes-list > dl dt a { + color: inherit; +} +#constants-list > dl dd, +#attributes-list > dl dd { + margin: 0 0 1em 0; + padding: 0; + color: #666; +} + +.documentation-section h2 { + position: relative; +} + +.documentation-section h2 a { + position: absolute; + top: 8px; + right: 10px; + font-size: 12px; + color: #9b9877; + visibility: hidden; +} + +.documentation-section h2:hover a { + visibility: visible; +} + +/* @group Method Details */ + +#documentation .method-source-code { + display: none; +} + +#documentation .method-detail { + margin: 0.5em 0; + padding: 0.5em 0; + cursor: pointer; +} +#documentation .method-detail:hover { + background-color: #f1edba; +} +#documentation .method-heading { + position: relative; + padding: 2px 4px 0 20px; + font-size: 125%; + font-weight: bold; + color: #333; + background: url(images/brick.png) no-repeat left bottom; +} +#documentation .method-heading :link, +#documentation .method-heading :visited { + color: inherit; +} +#documentation .method-click-advice { + position: absolute; + top: 2px; + right: 5px; + font-size: 10px; + color: #9b9877; + visibility: hidden; + padding-right: 20px; + line-height: 20px; + background: url(images/zoom.png) no-repeat right top; +} +#documentation .method-detail:hover .method-click-advice { + visibility: visible; +} + +#documentation .method-alias .method-heading { + color: #666; + background: url(images/brick_link.png) no-repeat left bottom; +} + +#documentation .method-description, +#documentation .aliases { + margin: 0 20px; + color: #666; +} + +#documentation .method-description p, +#documentation .aliases p { + line-height: 1.2em; +} + +#documentation .aliases { + padding-top: 4px; + font-style: italic; + cursor: default; +} +#documentation .method-description p { + padding: 0; +} +#documentation .method-description p + p { + margin-bottom: 0.5em; +} +#documentation .method-description ul { + margin-left: 1.5em; +} + +#documentation .attribute-method-heading { + background: url(images/tag_green.png) no-repeat left bottom; +} +#documentation #attribute-method-details .method-detail:hover { + background-color: transparent; + cursor: default; +} +#documentation .attribute-access-type { + font-size: 60%; + text-transform: uppercase; + vertical-align: super; + padding: 0 2px; +} +/* @end */ + +/* @end */ + + + +/* @group Source Code */ + +div.method-source-code { + background: #262626; + color: #efefef; + margin: 1em; + padding: 0.5em; + border: 1px dashed #999; + overflow: hidden; +} + +div.method-source-code pre { + background: inherit; + padding: 0; + color: white; + overflow: auto; +} + +/* @group Ruby keyword styles */ + +.ruby-constant { color: #7fffd4; background: transparent; } +.ruby-keyword { color: #00ffff; background: transparent; } +.ruby-ivar { color: #eedd82; background: transparent; } +.ruby-operator { color: #00ffee; background: transparent; } +.ruby-identifier { color: #ffdead; background: transparent; } +.ruby-node { color: #ffa07a; background: transparent; } +.ruby-comment { color: #b22222; font-weight: bold; background: transparent; } +.ruby-regexp { color: #ffa07a; background: transparent; } +.ruby-value { color: #7fffd4; background: transparent; } + +/* @end */ +/* @end */ + + +/* @group File Popup Contents */ + +.file #metadata, +.file-popup #metadata { +} + +.file-popup dl { + font-size: 80%; + padding: 0.75em; + background-color: #dedede; + color: #333; + border: 1px solid #bbb; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} +.file dt { + font-weight: bold; + padding-left: 22px; + line-height: 20px; + background: url(images/page_white_width.png) no-repeat left top; +} +.file dt.modified-date { + background: url(images/date.png) no-repeat left top; +} +.file dt.requires { + background: url(images/plugin.png) no-repeat left top; +} +.file dt.scs-url { + background: url(images/wrench.png) no-repeat left top; +} + +.file dl dd { + margin: 0 0 1em 0; +} +.file #metadata dl dd ul { + list-style: circle; + margin-left: 20px; + padding-top: 0; +} +.file #metadata dl dd ul li { +} + + +.file h2 { + margin-top: 2em; + padding: 0.75em 0.5em; + background-color: #dedede; + color: #333; + font-size: 120%; + border: 1px solid #bbb; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} + +/* @end */ + + + + +/* @group ThickBox Styles */ +#TB_window { + font: 12px Arial, Helvetica, sans-serif; + color: #333333; +} + +#TB_secondLine { + font: 10px Arial, Helvetica, sans-serif; + color:#666666; +} + +#TB_window :link, +#TB_window :visited { color: #666666; } +#TB_window :link:hover, +#TB_window :visited:hover { color: #000; } +#TB_window :link:active, +#TB_window :visited:active { color: #666666; } +#TB_window :link:focus, +#TB_window :visited:focus { color: #666666; } + +#TB_overlay { + position: fixed; + z-index:100; + top: 0px; + left: 0px; + height:100%; + width:100%; +} + +.TB_overlayMacFFBGHack {background: url(images/macFFBgHack.png) repeat;} +.TB_overlayBG { + background-color:#000; + filter:alpha(opacity=75); + -moz-opacity: 0.75; + opacity: 0.75; +} + +* html #TB_overlay { /* ie6 hack */ + position: absolute; + height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'); +} + +#TB_window { + position: fixed; + background: #ffffff; + z-index: 102; + color:#000000; + display:none; + border: 4px solid #525252; + text-align:left; + top:50%; + left:50%; +} + +* html #TB_window { /* ie6 hack */ + position: absolute; + margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px'); +} + +#TB_window img#TB_Image { + display:block; + margin: 15px 0 0 15px; + border-right: 1px solid #ccc; + border-bottom: 1px solid #ccc; + border-top: 1px solid #666; + border-left: 1px solid #666; +} + +#TB_caption{ + height:25px; + padding:7px 30px 10px 25px; + float:left; +} + +#TB_closeWindow{ + height:25px; + padding:11px 25px 10px 0; + float:right; +} + +#TB_closeAjaxWindow{ + padding:7px 10px 5px 0; + margin-bottom:1px; + text-align:right; + float:right; +} + +#TB_ajaxWindowTitle{ + float:left; + padding:7px 0 5px 10px; + margin-bottom:1px; + font-size: 22px; +} + +#TB_title{ + background-color: #6C8C22; + color: #dedede; + height:40px; +} +#TB_title :link, +#TB_title :visited { + color: white !important; + border-bottom: 1px dotted #dedede; +} + +#TB_ajaxContent{ + clear:both; + padding:2px 15px 15px 15px; + overflow:auto; + text-align:left; + line-height:1.4em; +} + +#TB_ajaxContent.TB_modal{ + padding:15px; +} + +#TB_ajaxContent p{ + padding:5px 0px 5px 0px; +} + +#TB_load{ + position: fixed; + display:none; + height:13px; + width:208px; + z-index:103; + top: 50%; + left: 50%; + margin: -6px 0 0 -104px; /* -height/2 0 0 -width/2 */ +} + +* html #TB_load { /* ie6 hack */ + position: absolute; + margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px'); +} + +#TB_HideSelect{ + z-index:99; + position:fixed; + top: 0; + left: 0; + background-color:#fff; + border:none; + filter:alpha(opacity=0); + -moz-opacity: 0; + opacity: 0; + height:100%; + width:100%; +} + +* html #TB_HideSelect { /* ie6 hack */ + position: absolute; + height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'); +} + +#TB_iframeContent{ + clear:both; + border:none; + margin-bottom:-1px; + margin-top:1px; + _margin-bottom:1px; +} + +/* @end */ + +/* @group Debugging Section */ + +#debugging-toggle { + text-align: center; +} +#debugging-toggle img { + cursor: pointer; +} + +#rdoc-debugging-section-dump { + display: none; + margin: 0 2em 2em; + background: #ccc; + border: 1px solid #999; +} + + + +/* @end */ diff --git a/.gems/doc/json-1.8.1/ri/BigDecimal/as_json-i.ri b/.gems/doc/json-1.8.1/ri/BigDecimal/as_json-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..21e3ee19db33eebba67213c13a4b7797d21fcaf0 GIT binary patch literal 312 zcmZXPJ5R$f7)3iE6IuoaBnFVM!U7CQ<}XXBN~9nPh{u!x*|D3rb!^LzfqzdPFd*i8 z@3}e$(FdHqu5}G?r@l7ax0+Qa0+sPGai2S<6#{f$l=0b0G;3aqj>xOuBu7O73lpdm zwTANvvmtgL3_#Be9asJk7E42{cU7d};&11LSkhQxT9hAE{U`3nt|b!tmSatKy!O~@ z{P6btl%O2F{{yTfQTs=s_)O>XA4t-T7C1Q0@K)P#j=PC0g=(-1#%SwDB+QpvA$gW% f)vS!8>)V^*sEjYApy}YB62?+08aBx%mJWq)A5UOF literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/BigDecimal/cdesc-BigDecimal.ri b/.gems/doc/json-1.8.1/ri/BigDecimal/cdesc-BigDecimal.ri new file mode 100644 index 0000000000000000000000000000000000000000..dffcdeb6b26633e6c999f37a09b98a0de3885bd9 GIT binary patch literal 293 zcmY+8F;BxV5QQ^TPL-rBQx^uL`~cGVvP5mElmU29KQvh!++=M+?5hGt4*4LZ8xg51Js4`$Lr!Md7@?BoFN~~ok2aos1R}p?D z4}g^ErpJ^+*?AFC}QS+L91$#j`)W*iw`L literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/BigDecimal/json_create-c.ri b/.gems/doc/json-1.8.1/ri/BigDecimal/json_create-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..204dbf488839266061fab8911715f4e04bf0fad3 GIT binary patch literal 331 zcmZY5F;BxV5Cz~4$dpz{9oVRZ6$uHJB=cn{RjCw20YRBEptIv9ZXMfl?16tz(sTeZ z-@EVW?ri)CSMMvs0Uq@CM)=y4#Y~bsn(bSozqk|V1p)H7&ZGHKRx80}g9_mHI3w#V zOl@FFas$_cw?TIZ7NEmJBeXw<>B6G(Z80`5|C@P3hm}KHlkB4C%5U?=8s{m}r;pbc z+EHzdN{Nyhwin#TBqQ5@%2J^|JWDM`CYzk3xH;ZLL)$Iyj2pn_1WH}eHrT%FNWx^X mlS-s%T8#4O@@{Cm@7wa|MoE_RXD3*e36oVh{33R&5Bvbo?Px3j literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/BigDecimal/to_json-i.ri b/.gems/doc/json-1.8.1/ri/BigDecimal/to_json-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..7f04615bfe09701fbb4dc2a198253319fa346932 GIT binary patch literal 223 zcmY+8y$gas9EKa>`mmuP2r5WysfKj^xm1{7U_~F3L!5f))#=H37xdqkL__QQzC7Eeg2_X4aSU~FY|C~Ke0%I52G9+@ z)9>E-y_4dFoZySUXu10 ztZ9Xp5TVoZrX_=n2ivcck7rueuS(0Ny3nfI)3|V6eL$3XXsV?$A%YR|SIXubWpMV-T;}yD$83>>Y{_Te D!RBWE literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/Class/json_creatable%3f-i.ri b/.gems/doc/json-1.8.1/ri/Class/json_creatable%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..71197c758dac174773bb55bd7c4860e13911356a GIT binary patch literal 452 zcmZ9I%}c{T5XC*n*4m4Qf}kFT2%?v^=k383HIPD8YCYvpHk(Pay4j8U0s7xNX$8^i z%$whP^A3+*`EYe_CFgVVwZu@{GCxr)ONMXWnvHZQf+#fJGR_{-EIGT=!u!kr%PC7! zK4@d1m9+ePPh1N39$U@{9~(5G#|N`kxZrbU`Ndz&vv6YTL|e0IKksMBe1#!8;~}_+ zpehKp@*q2NkitNL5IvReP#ur$_L?DYG5H zy2c-1Ey%}$YFdq5P&(Q3t`clvpy1h%c z+_SEHZKEzJsnoGVq98c@h{{pAlByncI(|H>l*Y+qk{@JA@A`&@)cvVe#kdPGmbPiE J8M&fUe*>qMltTaj literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/Complex/as_json-i.ri b/.gems/doc/json-1.8.1/ri/Complex/as_json-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..97eedea6ecdc99f628dae2b8f5721a398022adfb GIT binary patch literal 158 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMtD$Yk?W;z=xy&nnK(W3ys&b@Nmban8>z$VshG zh6!7Avx5QRMyIoL|*l%<{g1LDl*#gHc8p)HhVx*^E20!n2|NOI`Uug;muO?UU+ z_ukX$4BM|aD*-;NAB8y>5dv;B>neV*qciH40Xv@BysOI3{-$JP4LezQdAQz%|Ct>? zLd>I@Vh&~NgpUC;DB7zwYLD46IVMCQiBAMvVbZ#}H(Da2-}5cl=_0)nQIVpnUXAW+ zy4GSCYWb+M^L_e$C-=sA8&e@Qq<|c_^ZK5=v~<;4Pa%p)E+`6X3S2615iZ1}h;~a- O9__zNQxc-#nEe5uRZyG& literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/Complex/json_create-c.ri b/.gems/doc/json-1.8.1/ri/Complex/json_create-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..aeae186f5bb5d70bb3be9371fb51b027a28146d3 GIT binary patch literal 172 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMtD$Yk?W638mf&x=nkN=+-HO|xAhD>VIGVwV z%ONc@C)L2fAezBbiB}^(DJwO(M3c>$EyPnvCMPpVA7r|IVoHjBGQ>W;q9l+k00i7M AO8@`> literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/Complex/to_json-i.ri b/.gems/doc/json-1.8.1/ri/Complex/to_json-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..082ac0d26539a761b1b0221af4adbf7dd42d012c GIT binary patch literal 158 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMtD$Yk?W;wj0G&nnK(W3ys&b@Nmban8>z$VshG zh6!7!dP1lzJ5A^ts%A_m60 z_uaeq4yUhpzFXNA@!tHbWmHx)r<&E-35Bc*wh_n(@X~o1(!+G511s4}N!bX_wB@(5Q2R?*g@=#qI11@fC*$xB0o^udGPx1iaYxInv zemv?SQC7AdLW+_&PAM<&XP0yCGX(eu;6F)*MSY#GTtyuWSn~tPxS{FwY{r|fY}vjW zt3`coP1hVEvY_vq9>q7I%M8A}m5b?7iFubQH_35jAu*UAJ8P6A8QWz2UIm>CBBR|P zW9@@W*iiRqLRsa5`9?esqF$LHCK%L2&xX8|)0qn5KD+(fh`LH{w&7K_;48WK1q&o- AQ~&?~ literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/Date/json_create-c.ri b/.gems/doc/json-1.8.1/ri/Date/json_create-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..9b9c7aa6d79504a4f6cba36d2ec35552c6d28162 GIT binary patch literal 353 zcmY+AK}*9x5Jo-7RxLsgB8VQAoD{_5JS|c&Eu>H@wVra2Np_NMO?Ja(Bg9|tCh?$` zVdtASZ(xs4-r-^!>J;EfwQI6_E#iq}kvBQiT79I3&=Lc-SVrDu=-vQ-2UE7(!MJLY zLZ%w72h$qOXHx+93W6X$ioEk%og65&cf+l#LMDFqF+K|6 Ki*Cmx-RK8CU2qEk literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/Date/to_json-i.ri b/.gems/doc/json-1.8.1/ri/Date/to_json-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..5d352e8248b90ad95539db938d47b34c8555f8f6 GIT binary patch literal 340 zcmY+AF;BxV5QQ0#3zPvQ76ij7EG z4d1g!FD>UD2Luv2U)?B#}9nTvy&Zb1u+y9z18Y~Sq6$ww%QR1z)P8)6^muM|0tT{}E z#3}p;SHZHC0u^)|4a}T->SlgFAE4H%-wvcc5QZHI$$R202Fi96P%((G16{xiO0HOM zv*Cp{_3qY|2bqQC_U#p{GeVVv4LzF|Lh>L8(xbkT$vv9VPWJ)VQe^(nkdKV{tbg{= HWW(wgAiHV? literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/DateTime/as_json-i.ri b/.gems/doc/json-1.8.1/ri/DateTime/as_json-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..a7eff28c387bde0a4079a1c74093e1378881f25d GIT binary patch literal 286 zcmY+9F;BxV5Jnl0TPOnqOdw>11rTa7UzQ@3NI`0gN|`cL=lCElscqSgD*io=B8HB4 z-@EVhPRE~cwVs$ILrA{B~#?mY-FlGFh%EbWVGYyg}bQ^Uz@6 z2i3M*5bqZDA@ b4^NK+bJr@7_L?b5nab$64N-FHM4$fwOIcYe literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/DateTime/cdesc-DateTime.ri b/.gems/doc/json-1.8.1/ri/DateTime/cdesc-DateTime.ri new file mode 100644 index 0000000000000000000000000000000000000000..ff16dfa528e82dac40a44117d6b23d31c0c8316d GIT binary patch literal 378 zcmY+AF;BxV5QRG+J4({36AK8TtVo2}ULsK{Wq=}7CJ)iYG2oKKmhCX`>p2H?h&)(# z@AZk`r76T zX{1w#h>mKDj*WFD;Hs)a2xYl-`Umw`;K%6E2N>mSk3gP@c}xzziL^7OF7jX&9iB%7 HUyIcr_W5m% literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/DateTime/json_create-c.ri b/.gems/doc/json-1.8.1/ri/DateTime/json_create-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..b9c34be3ac5c7a32c78bf984c551ea475c95fc18 GIT binary patch literal 440 zcmY+A!Arw16vjPBoDN|JPbw06Qjm4$Y{?oBQLYSyO@F%Ygve!y*?(h8S9tT zHkUE7%kD@B`nxI_a~G>ZD0{^Ek0oepB7*GdKeGT0sfIEmiipt97ShG4i!tk~Y)-Yhps?JWAKP|bat-0KRl2sMVTrWD^ zS~we9R_H%_2aqcJFEVigvxP$+L&Geb|976yTJEC*n1N=a)m+N@~ANK zZ{2lV5FZdpu1&N_czAwXb1SygMvg{uPtH?F4^v17R4WtLFt-Lm5Vb~})SGXqT-0_z6m7OG=4AQU?Ujs(p{=E7fB){m ze~ymQ1Q`!%h?p*02R;UYEW?-;>89s%?-O`<_uxKImN~ilkGc%XYcTo;a&XhD*_?u3 zXxYALqd2)Rx@-0!xuEYGbu4@ByKH0SjaW>kv`B@v5TRDIp7v0Z?AT4an=HvJwf=e=7mHp7 z9^d1=nK?ashpX3#(*TclKSwHDp7jh9NpBOJU1^V!kO7;{MADyrYOKjP3-Ff?*=z~j zx>2Rk4*G4}T>5QO101rO3N3Y@JFcatkTD0>|2;3#%e9wv!G`BqMm3f;G5xG^o^v4jR;9~q?N*oLZ*@;LlZ`;PZw&kWYDvkD3=6Q<0&${<2 F@^9m3cX0p! literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/Exception/to_json-i.ri b/.gems/doc/json-1.8.1/ri/Exception/to_json-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..7c2f24e40214cc0c24fb881db1365b69153ff386 GIT binary patch literal 309 zcmY+9K}*9x5QRO+R;>pQ;zf}mURn<(=S`6cHV~mzte$d^$!1O0Cc9yFLhZjd!B+4x zm+yOTc!x*t^8EGDDJdW9cCLBlitNmYG&p7V@#UQrQp}PxxR`w_-LP@?W)EVKBy!la zd1aK7m%lA@q;=a!*;Tf+wmgu-X@kT*6HZ?JcV3XNBy3h9KF$VduvoGq?Lk%OJy@(Y zjQ-w^VPkj&we}uM4HM@3dJ=XQ&=!!RS~H>2fJC?zv3N^^>t4!tl82||^8!4Rv1QNY k$@J4yI*Ov~pqo3oMJoMxm#j=4_Ul6|ics&T-%;N4AA?R|y8r+H literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/%5b%5d-c.ri b/.gems/doc/json-1.8.1/ri/JSON/%5b%5d-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..d5f960947e4ac8c2b699cc160271391fdf5e95a9 GIT binary patch literal 553 zcmZXR!B4_46vjE2fe;f9CYtEsWhY4xb}lhNqa;%S19)1@(ru4X812$_Dlz`=wi{82 z$G(2w*YEdw(0Cyy(>oCpa>KVH)Ju^B$IS8FdhqHH=YHtBM-Q{fm=JUBJHt6?>q7}wE1g1b~ z$#{B|u{CzUgeU~P#N8MuPe7tBBrm7sy`88c)27?pcOR(&3ezImLP9mQ#v(Qb?83wZ z$#-TFQ{*VAMx(T3pz%Y)LW)h9YRy$xdp`oIo_|{~-L=wxn70|_>nFysCi+c_S~sY3 z0}_f{s}QJ6%T-zAoGOKhd0L7hU4j-r{d&~`3}0^c!`?94c43BCwex;4%vvhxLP*QN zBqY1fpqdF@mL$!=f@SD=UQqMhv&)L61GW)d!{=AK%010k)LSXRd$HJTj9EtZ;u{Bu BwMYN} literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/CircularDatastructure/cdesc-CircularDatastructure.ri b/.gems/doc/json-1.8.1/ri/JSON/CircularDatastructure/cdesc-CircularDatastructure.ri new file mode 100644 index 0000000000000000000000000000000000000000..0dca3d285b32208049fbcfcbd8776d4b71319de1 GIT binary patch literal 259 zcmZvWF>Avx5QRMi**J;E6xt>D7i2y!0mlUg;zCO%O&3KeqKYL>r~dxR4&B1R!Q*{* z?=6ZmY(5W80Su1rXj_XR$jXSmer*k@Xps)c7?`5sNLqmC-urrc{Q4LGo+FJ&#LI&i zbYL@ncSMdvG90`;@=i!U(F3ILc-JH6u-tnj4l;vse=}C^WHwJO^S& literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Ext/cdesc-Ext.ri b/.gems/doc/json-1.8.1/ri/JSON/Ext/cdesc-Ext.ri new file mode 100644 index 0000000000000000000000000000000000000000..f86ed4ce39f72d524d1f198d5e726b4db968563d GIT binary patch literal 370 zcmY*Uu};G<5bc1Rs%bkRF~DGjfvxF$St`+13Q`M#GG)4?E-^T^<#SN^d+Y!MvUJwH z_wL@ii}5R5J+Dmzus5zlwKKVWj23!dE5g;pkUjjf$N{49lDR+ z0)!2HC$vu>U0HOVDrSl#DaPT4oB!G;bol1bwk*&|nXM14B;F0iyfx}b9F^j}6~7?m zjY1+p0YlGaXO)O%JchcXkmyimx2Ik=UK))``Y(>e@3}a8p($Xrh$5J*PEv_7yHv8y z-^u7aC>E}cWHDJ*qv0hn)MT)X$5tUEq_(e>YyzLa+&be$ R>PGyH7HK4k=}>3Y=o_uNZQ}p{ literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/GeneratorError/cdesc-GeneratorError.ri b/.gems/doc/json-1.8.1/ri/JSON/GeneratorError/cdesc-GeneratorError.ri new file mode 100644 index 0000000000000000000000000000000000000000..2ffd122fd645840751a7c7089d8ce19f60d151ad GIT binary patch literal 380 zcmZ9IPfG(a5XF0tZ0Wy?qKF>Cet_2V1*+D3PiFv*G^-=w7nWnhMv zU*6=Av;GHMzCAb%uyWL@=DtxO$cbT9dH#qNNkvBsB1a6^Vp)~fPwy`)fPYM|gf5OK z_oE}7I=DHme^&I>d4Tj**P@LD4Ch`^43arf6r!Id-2T1$sz~if`8~_HDwpfM2^@bk z`e>ZxNsuxDH{5Kw;=5B`?ud6bZ4XEsb9nBw?kG%|U~3r6x2D0WylPB6`wY&`v};>u zr&MPy26wV|s6rN1Inen_5?IQ-A&vU1F;^i3_v$WMtD$Yk?W;)ss5WwT;)b@Nn`@e20$v$Aqe%}XuH zO!iO8N=+_N21#49xw%O)SbTEwHiz8d{p0npeVZ#qCg#SX5FR z&0xjlkd~Q~YG7ax&ETmdq>-1Ho2sKwmY7qTstGhK#8XK=Co@Sut2jSTKOJIQd_LGZ Jy`m(L0sxUnG@k$f literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/GenericObject/%5b%5d-i.ri b/.gems/doc/json-1.8.1/ri/JSON/GenericObject/%5b%5d-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..787a71a2d3a07405ca19085ab700c6bdbb595283 GIT binary patch literal 166 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMtD$Yk?WVvmkxvtn~~^Hh@d3ikK2vT{$&OD)Pw z_D{-6O)gOe%38Czxmj@+lqTh5Cg)p8Lrn2aEXpn|u(ARgS(=-gSHf<^?NE?dR8kzx zV8!K-mYI`kU|-A&vU1F;^i3_v$WMtD$Yk?WVyj`ZVsmx#RFd)v_V=^0a!<`mEy_&x zPs&P7E>W&wvu1O1v*Io&P0Gnk&bN|=nBkjPlwDe2Wd$^_G&eP`gx!kUp&+rSq&S+v zipwD_Gbh!+z#y8zQ;A0-za%5INE2vGh^LZ#PG*vRR&jowemcaK_-A&vU1F;^i3_v$WMtD$Yk?W;z=xy&nnK(W3ys&b@NnG@Cx?#v$Aqe z%}XuHO!iO8N=+_NhAFXTb91xeE+|dP$xP0-l7^V)n^=@xT3}@bG`uu7HLrx-irb+e zv8bdtn!$?8AuTf})xf|Yn!!_vLqkiG&6+L5Q%OE2Gf5w0seU@dp7?yQMS4X^AO!%+ Cyfm!< literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/GenericObject/cdesc-GenericObject.ri b/.gems/doc/json-1.8.1/ri/JSON/GenericObject/cdesc-GenericObject.ri new file mode 100644 index 0000000000000000000000000000000000000000..5af3fa72d4bc23331775870c7b5fb7677c6d6655 GIT binary patch literal 493 zcmZ8dO-lnY6zoB=?e1EOiU=Nr`~d6uEn>khBG`hhcnD?5rm0Qc-Gn6T$scdhTGmPq z;mypOndG4R24}DLiUW+5saSbeGHYpHB7%>fL@kWulVUBnLx3J02|j2$GRz##!2dc(jzIxTc841fQ&}s&j4xbF3&u zFd-PdhZ_>z6s6=df-g&141;p`v8|V@O}{Hsc;$?C{E28paLmI~!Zz*FD2r(v(B7h{ zbO1+#F!q;5Rr!k9Rg0bO_qc7DLCb9FZ9RIWVvC&!`r0Vx|4S@F5lFR>U(AUx5PT?W v>sZY<+rPDvKty!Db0D}&=Qr(?GMk6oKZsNRDyJUV*P!p6K1)J&meS4-+LwmA literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/GenericObject/dump-c.ri b/.gems/doc/json-1.8.1/ri/JSON/GenericObject/dump-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..1e2f57b6930799cd4e4c3abf1182c48e24a3c5b2 GIT binary patch literal 177 zcmXBNKMR6D9Dremxc;~lv;`G6RYW@fTnx%EFrjR62v09N)4St5hrWH5`@{S826vcV z4-A&vU1F;^i3_v$WMtD$Yk?W;!7*a&yCMWEY4uFVsmx#R8sZ|_V=^0 za!<`mEy_&xPs&P7F0rygsIq2r3$fxZC{4=AOwPBGh8XIbSd?8_U}Xigp)@x&uY}!- z+o2$_sH8ZW!HUZvEi)(8z`!7y!BdG>BOh#{CYv=|h^LZ#PG*vRR&jowemcayc!;!K IQ4&Z207S?*_W%F@ literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/GenericObject/json_creatable%3f-c.ri b/.gems/doc/json-1.8.1/ri/JSON/GenericObject/json_creatable%3f-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..feda9205259e639d18cc010085444380327f530f GIT binary patch literal 189 zcmZ9_u?~VT6hKi1Q;aMQYz`)!WD(})ASQ~b36dyI45Y19iMiN<^?z1F=%ZC&ukR3eI^!XemQ1gJj{JXey1-*-A&vT`gbDT?OJWcO4O&MMB&i%%{}O)N=F%1LFjVsmx#RMPMY_V=^0 za!<`mEy_&xPs&P7F0rygQ)l7FQM!h+^C_(wz&h-=q76s1VQc)?5;{`=^BM7BY06u=J#*^K6r)x Jfg8j6-~;H3ImiG2 literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/GenericObject/load-c.ri b/.gems/doc/json-1.8.1/ri/JSON/GenericObject/load-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..b47e46d701cf66318c96b34bffe80283ba091177 GIT binary patch literal 196 zcmXAjI}5@v7yvs+d@T-cf|lZ-AlmsWLItfx zRjDY^k3s>I-QvllsYBaWi8gs`LCe2#!Ccpkt-A&vU1F;^i3_v$WMtD$Yk?W;wj0G&qyrJV6$R#b@NnG@Cx?#v$Aqe z%}XuHO!iO8N=+_NhAFXTb91xeE+|dP$xP0-l7^V)n^=@xT3}@bG`uu7HLrx-irb+e zv8bdtn!$?8AuTf})xf|Yn!!_vT|<)%Xo9Dbd`@PPepYdQo_;#Sn)rOMJ$gk+Km{QH Dl!r8C literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/GenericObject/to_json-i.ri b/.gems/doc/json-1.8.1/ri/JSON/GenericObject/to_json-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..4e7265c4d210acf4426261470feae090577199b9 GIT binary patch literal 174 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMtD$Yk?W;wj0G&nnK(W3ys&b@NnG@Cx?#v$Aqe z%}XuHO!iO8N=+_NhAFXTb91xeE+|dP$xP0-l7^V)n^=@xT3}@bG`uu7HLrx-irb+e zv8bdtn!$?8AuTf})xf|Yn!!_vQ$s6Jlg*kf#8XK=Co@SOWUGEU#G?3ouuXbJNgxFP D60tQc literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/JSONError/cdesc-JSONError.ri b/.gems/doc/json-1.8.1/ri/JSON/JSONError/cdesc-JSONError.ri new file mode 100644 index 0000000000000000000000000000000000000000..2541c9f41abab5bf674be5db511e91a43d7038e9 GIT binary patch literal 353 zcmY+9!Arw16vlUuq;^|D5k2Uk^yF#t{BkMi1{Iv*<|(H%&0Mr?!b__A^G!BHB=ADM z-^=&DcaprpwH-dQV|oT7lkiVi=_?2{+vQ?|l&{-ci^ciMT3mH#?Qr!l_*C zrLta|KHnP5V~SkGbZ$l%*+5!ub*rl4s@3)U!-A&vU1F;^i3_v$WMtD$Yk?W;w&#pEMT)@b9M7nlJW}n_p`DBk*-BW z`9)S%U`cB>w-77tg3_d%%;bD4X^1htiAC9^1y)u-GfQ(*^GevQxE%@-i%N>48LYS* z(lT>W4GavT89bE)G*T;)QwvHm^Yb*>tl2_5mBe#0lk~HS^YiqR^K*0a^Yn_6KoS6& C^f5>P literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/MissingUnicodeSupport/cdesc-MissingUnicodeSupport.ri b/.gems/doc/json-1.8.1/ri/JSON/MissingUnicodeSupport/cdesc-MissingUnicodeSupport.ri new file mode 100644 index 0000000000000000000000000000000000000000..8120c48b6f14b21423409c42eb6132e5b8ca4246 GIT binary patch literal 477 zcmZutO-}^&%uIXQ2J?f`vdnK$Hv9C}%!F+k zYo@SId@*>edhN-QkAX-#PwT1B7aO{`*GeFtv55m4qzJNZ;mCnH^B@x_^KskNh%|kh NS_~6WjM_M^dcPmO{(&S;Sdc><(w+ zIecqy!Jy@_AZ0u>+#Gp01Ghsejz=E76KGUW+z0A)=m~t11Vkp;p)B$Sz%A2Wd ZRDe{J#mrbAl-2Mnm6HVI^fJ$?(GRN;cMSjl literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/ParserError/cdesc-ParserError.ri b/.gems/doc/json-1.8.1/ri/JSON/ParserError/cdesc-ParserError.ri new file mode 100644 index 0000000000000000000000000000000000000000..e0e7d4f34aa2e99cfd4e2c98931ceaa4f0a705f5 GIT binary patch literal 359 zcmY+9PfG(a5XF0t?6UoX2dM`=gnWS3n=rW)w1pL{qV<$hHcf4GHwlxh`0-7)2ufhW zd%wxd%USsb^Ot+40JaW0+1|A>1TizDX6MfmgT^(YLjq*IsoDJD^=S+67jTmNi<6)0 zsXe(4u1bNyat1-5pJ!`deuq zjk7cflqTpsH3uqb8kdq%oug8xRF7dnIN3q9I+#}1?6Nh@@*_CARIclsU0{ zIE5%`R;m2^1U8}+DW>n6)~Lh_n0a(jtEl&boOm=}GU_a9HZ?XxX_fwc%EuY-$xx?a F^aG3RX{i7J literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/Array/cdesc-Array.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/Array/cdesc-Array.ri new file mode 100644 index 0000000000000000000000000000000000000000..15f7f047857c5b54e1f60fc8e17f583960500fa0 GIT binary patch literal 288 zcmYjMO-lnY5Z!|$WxMw3!Go|rz%BGPd#Rw66}E~WryNQ)J8Cpd!XzvB?@d|?GM9Pt zK8ANTdxMMTTc-fFj`q^@Zk!B?g=Sq{-Vn)O2JCLr)vJe>$1T9qLrIP+wIW literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/Array/to_json-i.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/Array/to_json-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..24437d13367af440a1158a5694954af49afae9d4 GIT binary patch literal 467 zcmY*W%}>HG6!&1NhzAdPFq-%>FJcIAe#8V5#mtBj(9;g28{JkM?b5y;`0s5QBzSx6 z?=$ZmpZ?(G>_umY&uTLfRO)4NAz2)qlU}T>Rt(weIF5$z^RG|DsWSrcO(%|( zTI+p`;hX!tddS9OY}YQWWTx?^iJEZp>uN-w>()Zi3ARTyH)Ip0@%BGw$_+0JuS+&; zC9OD$XM&tj7C3}TV97{TK&BOOslvDec<9juDmj6);FM3WVhOp?Yc^!xadb_k2ey4d zDob2tqSrtl3;!gs2+GC}aUOm^rz?@s&Nt% G8VG-c%a`~7 literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/FalseClass/cdesc-FalseClass.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/FalseClass/cdesc-FalseClass.ri new file mode 100644 index 0000000000000000000000000000000000000000..55eec06482b521d547d11b25e251f8399b161f8b GIT binary patch literal 298 zcmYjMu};G<6wH8}Dh*|1U_kN*kdEkOsRRTWDFp$YJXDVJ0E25=w!`;h2au|_ynA== zPIt1{!TIy8l>l4o4?_2LoHX*4B8;AOLI=FjA_M~Du4DB2;pK4)@HBY@xJQFtMC*^% z9^;1{1HjR1OS-j%i{F%9_^-(Uq{!)jCYG?=IN@X91yq|irE$%Rc}iX~TFE&*S?~o< zS~m?^$;6kia^6Oi5yu(U&Z}<`F#|?Vl?hQ8iRACKtvJa<9qs-zSd;IJUTQTo88$9e VYTo}FUHKsiUU}IrvtL{D;s=JiSm^)& literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/FalseClass/to_json-i.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/FalseClass/to_json-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..6e558f7889574eff0d30307947fd55d3e0500480 GIT binary patch literal 284 zcmY+9F;BxV5QP~kQz!#NH;}NxP+&+hUzQ*sC`g5>z?7l76el$p+dA7r|2;8PC7AAX zdhfpXM&oywF7M46;8t(v!f(t+b1GS#oOrYPbVf5^4^^F%Pp>b}0E<8Z;8AEn=nef@ zcU}ijp>pC*p>vn}7X_;-nAp%Nxi)aNgGCL>*PYo SHj5oIJJibheXEq(DEI-e*ICH` literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/Float/cdesc-Float.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/Float/cdesc-Float.ri new file mode 100644 index 0000000000000000000000000000000000000000..3de33adf3a452a623e145e43a309312cdaf303f0 GIT binary patch literal 288 zcmYjMJ5R$f5YB+?Dh*v37?AP+7;JBm)C>-}Uw8@%3p3@EjciJm8E@26F$_0mBzf z9^m9^S+^#*K4lNm{X`3p9>oLBfx~iZr3+pZP;Ni8!L=xk!v#-|m66`F6d@KOX>A;h zR*C1ZvW^0(fYT9H*6CjvFoV9n)UywAR(Q6yrC^z;0`0#&&H3KfH%5<5hK)^an$L5Y RTQ?@bo8av-=e3n6{s2H>RS5t9 literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/Float/to_json-i.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/Float/to_json-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..7113b63db3f265e2da27e977c3ee9133ead7efcd GIT binary patch literal 310 zcmY+9zfZ$35QQ0#`B4T2m_Xtb7C@-Ud=XNRASjgzRe>o3a>_L^q_%ao2mX7UR+V78 z;eGesx4Zw2C-VohK)lyKQ}UhptdEtbk|S?EzMRnl#ba3|`Q-KG8F3bv5T8gBOKMN+f+>@e+P>gd&7#f-@{R1C3{y3gXjMI4G)W@>M6^zdZ$WG iuUsSu?m(;l7H+PGNR?dls!0d?)JEa7-TIEX83MoSx?}MG literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/Hash/cdesc-Hash.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/Hash/cdesc-Hash.ri new file mode 100644 index 0000000000000000000000000000000000000000..ff9c0f5fad110d1804631696dd138963a1798603 GIT binary patch literal 286 zcmYjMJ5R$f5YB+?l7_Af3`qU~q++}*9iU*O6vSilfE?$b2G_Ry;P>MMRYJGici-dm zoh;tq{Q1TyfSn5mX?izigJPu#XQ%fv?g^0FEoavcFONHbryLOA4lM?mT==*4nD%ar z0JEth+qHv>zvNzq@9Y7}n|wfTY zzBli^nK?fF!OQ83=7`T~GZs|nY23v(c8MUP;`RLLB$N&d8G07KWD-WTN+js zQU7e-NaE2{kTc2xgOCU;8L5`QwIU`}D0hHPSAtU;s9*%rf>YkYiVSk2*HJ(EPU34S zJP`7NRF;_HqEjOu3;!gs2#vKK;w=2YKUvNcu+nNs1-PJ1IwZ;E(yz%oi(0K!8J#)q z@x#d4QRN77XFSpDjE9R%R8(w@_lmhx8F)4*VJS?wrTEFTkDdAb0pnbo%tPg7tAmX} rE=$qt_2x%OeD$y$2A)94vJH=|I@Mh%({8wMxAJMb%l%C|CJlr?*toEL literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/Integer/cdesc-Integer.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/Integer/cdesc-Integer.ri new file mode 100644 index 0000000000000000000000000000000000000000..4acb55a12f042a08e7a15bcfe1070d9268b8eb48 GIT binary patch literal 292 zcmYjMJ5R$f5YB+?Dh*v37?At}NS7{`r2`ZhDFyMEJXB6{6oYG9e(?LTiz1<0?z``C z`YsmlaP@L$M}WQcC#icoC5>XG2xkp95s&Bzkoz5Ho5$CuJ-~DF2=IUgy^PlXTYHS3 zb_xKquOqv)h3mikUi$Ck0P?eRLK7)0w@&&PLO53X&gxOi5J-*?3z4-h z4O)$vr?7I~MjRtfXV^Heeq_V~IJ;CPL}^Bxtz9ihA)06pU%{Gk=j=wSp)Ig=xlenX S>)iSw3*H3nmL;!iMD+_5DOSAz literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/Integer/to_json-i.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/Integer/to_json-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..0e70a6a7641000e2c89799fa973282eae034ae27 GIT binary patch literal 301 zcmY+9Jx{|h5QZ6$DU^YM4J53v&<;)Ji;xO}AS0DlEle4ZQ?7|2wXO4c;NO#|RD$hv zdcU5-!5f?}AKV(?&VJ938~0J38KII>cJH6TSpnj)P|5A{YW@PSh=c%7XpuBK`g88Q z0YF*C8tHoP&qYzd(8sDZYX=v*vYDo@=mEOsxJAoHFr0c#97^Hf^1o)GN!O%(Bl6?2 zTXw%hj%0(>vL7V_ld-iV^n{_y(rlcS8%L5G6Xfq6Y2&s+nuuJy!pU@FTFkPnJW$Et aW<2V@D!FP+mG;o7?>N(Xk2#^L7yJOI&tYo- literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/NilClass/cdesc-NilClass.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/NilClass/cdesc-NilClass.ri new file mode 100644 index 0000000000000000000000000000000000000000..66ac34ecd7f37cfb747595425404679a2fa2e377 GIT binary patch literal 294 zcmYjMJx{|h5Y2$>Dh*v37?APVDJo1zr)@;&K6I01w5GFsSF$YSq&5`lha^7zPvRI?71kD`DhXW~7?At}NC&3N(gBK$los(Zc|eYHfQuVj{^0jx7b>A!?%jL$ z?%vtr6)v7`tpeCue~@OdQ!*%)nsC#6o1P zOQX>$^AwiO+nC?N=?Gir^|y>z0B7fV4pGhuPpf?`NFmy2-}b@IWzN}^(PLL&=W?9x T=h7L?kUfs#=;rx-@`^YuEg?RUCd<9C ze`K9?h?8_l!e8#<12!6AvnW#~g~79$HRg6z7KjzNT$A<(*c=wzdY3SR=l?xZZu#8u zV!;N7Nh6MK?~VSV$_suW9heOcya5i*TdC*J5?rYu!V#|B0kKW60h`6qi}bZUd}*8M z0M{8<@}|1ukWwlNlLzF+uZ_X6BgaAgeC&iuAP;`0 zyZ7$yV)zc%uaBkx*ce-Jl^fA2WK&79G+vz?YC(Xk)>-=SynERIY+H)}PpHvyXY8Lb zM^_rr0PLKV`Uvp5PRV*<;HG!Ux&3Nu0B_k=s9gl{vgXz`j2Ie4bm)J${jc3}%a4}V zCGm8WrK>(<;!5t4(kRjR5feN)sfBk=sy;~~5BD9@2TH20TOu1m$y=6Ar7lz}P|N~` z(efY_X6c=h`}t>M^t|>}=f`u?ncW8+9WB_Pdr`aT%;X3X5JExaAd#=r}CV2^;(Xq;i9j literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/String/Extend/json_create-i.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/String/Extend/json_create-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..f4753dfa18adbeac8d3f098e1653bae63e80e5fb GIT binary patch literal 407 zcmY+AzfZzI6vrLRiL#LBrim|gfd!Z!3nYTp1R;P^2Xk#7a8T}=ch_kDd#|1*y4{cO zuYAs1Z+NqMG#TPV*K=}vlP4V|;;3`5M!#oF(vd(hoyF1f%X;yOxU85EpGXr+XZX)C z_$}hvvC=!l>8B%|Km3gviP;R>WtA2xGk6=i=aP?AiRgz^C(`Z$+v8HQvxzWx_g}M= zEO#u+y%=34tvH&jP|BO(nCe zVQUx~`H^afyeI1QVdL+sDy@GSAd?zWg1{yBsotS%h`BzQyebGz-x&MNBVLWSs-WR; en4HB?t802edS9q?&|n#qp5|cp3$xE@BlrR^@Plvw literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/String/cdesc-String.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/String/cdesc-String.ri new file mode 100644 index 0000000000000000000000000000000000000000..ca671aa09c084f142a15edcbd1ded397fd217dc1 GIT binary patch literal 360 zcmYk0KTpFj5XCbfr%FP_Ld;rpc>9S;iq9CP36ebUmGT%DG^LDcac=3h-JTb`(amt*v z9dn;*v;e2G8m*QJZvN6cV!pfv2q=GG(xs3$niyws0$KCH1zY0eSSe21GNXc6i$VmR z;jpXyAUMS+dY4>M;YT(`yDe`8AF91oveMzTYBzm$XNIuw7Ov;oD95N{V*sR3Xv4pW xV{tg9Sw|#g6Rgf6vMmdz`WPGa<~k}@C#5&!=U-i%sl6KZ0W_I)9vO9klV5E(YQX>i literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/String/included-c.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/String/included-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..7e7da35ec367c05b37202e4bf097e8d1456dbc03 GIT binary patch literal 293 zcmY+9&r8EV5QRO+`lAXSyeYWkq?aZKPcI-9Y)gb{vGtTg*(77Ky4_tiyQu%YX+uSC z1K&6E=ItN8;{4^ol)%0Io{?`%m7htLMW<4iDpXW4u<;~|?j9G;XZ-|y6mtf?GG>*S>b$}GlR?j&RjTAJ7F7^ z9_8I{x8pBQx@!4qZK|MF{8Rdd`-b=~yBGKt(~zZXiR00mRFou1zL!NO*IRV6Az5^# UWD&o&M#r|R7uUOXLsx8sA99yoyZ`_I literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/String/to_json-i.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/String/to_json-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..02b5418d7f775075f5fd4756914393c50950ffc8 GIT binary patch literal 404 zcmZ9IK}*9x5QRO+T5S&=yoiEByr^hfFCtUL7Bv!~T5NlYAe&@OR=2xhcNX#An=};E zInBU)@6EjR)*N?U?o5g}(%)l2g~{S=$)cb`=Iz57&5+%PQE>G*eSSimcqQ zvA^1eb%;~4Qs;*&e89pG+oeyGObzZeUSn=QeTi5Z`-RZ7f$d?*ExDK(-2b~X;g;u? zmjxSa#;qv0ofXo7Te^TNj8_>X0)$RYCNlVvRKR=|o?XHSQmzz`0jiP3@;f$QvnU9y zAaAt;4)tRzx&I>P7m&!j(#|B;kQUV`DG6I)uF>hd`kSh{^@Ll)cd10b-;dX#VE4!o jCjr->r8;Nzs#>J7lka@7G*Sj{L!@leSof}#!g@ww8+-PLc`gA&Jr05 z#vP4rZ*ld%m)b^1$m{&^SpR3a*i*rkqdJ*nw_gEb%&kYwx7i!Ye|2Xx%Ai!2$M45~=Ue*L-GM`0`=x~ayP~5=QASc6i z;c2}3yE7p}YeRYJ^_z=k=s(X=X<=IhfY=CPVS&KGLk$lp*|ZIu5<^T1A^}QR770kj z+Ut9>&>w0}g@J^az_KY~b{UO|5!q~Tec0N1MXxb6`6g- q+bJb@I#|g}^m@I;QRp{r@7&N8cAd$nTXxyaU7qgxP+7-BrRp12daBp} literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/TrueClass/cdesc-TrueClass.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/TrueClass/cdesc-TrueClass.ri new file mode 100644 index 0000000000000000000000000000000000000000..b8080414748964297795f379d42f33274ed4ef7a GIT binary patch literal 296 zcmYjM%TB{E5X=ENRT^^TzyT>AKzggRxl{s*jFf_)oP4MpX90t2TYm8U*Z~CE%g)a1 zjOJwV3}=tmMgZ)LJ90IcDJo=*B(!bzF5;Eq-V-1CCqH?>3}|~QwGUhiBtNfx#YiUVU=Huz=zOQ`g_2{JVP{jL U?)A6Or5lrA&&qz8{rZ{}U(>8uQ2+n{ literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/TrueClass/to_json-i.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/TrueClass/to_json-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..baa097d5551773f0f817865eeb5eefea1262768d GIT binary patch literal 281 zcmY+9F;BxV5QQ0#DYOFv8%S7TXp2yj`DLI82ntf6YRi-XImJy4!M4u!z`rL}RSBj$ zo!-0ey~Exc&K3`54czIUne{%hgjtR literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/cdesc-GeneratorMethods.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/GeneratorMethods/cdesc-GeneratorMethods.ri new file mode 100644 index 0000000000000000000000000000000000000000..523ec4078419418b35ac9ba6bbc64b3025b44a48 GIT binary patch literal 243 zcmYj~y$^yg5XBixF@SEy!HwC0`B)hI2qvJ>ICZM!jE$8x{qXM>Fc@>m{C=SElR3Xx)9<*Gvh1`AS&)cVn%~uLK>E7#3i$qbP;q)J68Lf6uk38m}{dP ga)-?z6K%wsIqXH5&O~b+YdMaudDI(uJnV!99|n|1m;e9( literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/%5b%5d%3d-i.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/%5b%5d%3d-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..f08daa01bb3a5a4c13aef6704268a5648494dcb8 GIT binary patch literal 184 zcmXxdF$;n~7=U4iFv%sNt)Vc2f=K5t0)sLPtjL;v(!1ll3;Opd(f;zh4eJcu z=U(ic5f4QH8_0o0~xZw$MqQ zr5t)cFrxCM1wf_i0-0)p?F%YZNepQDw=74`^N0~ToiU>YP6uzAYn)WrDRlaImblN7 PGgnkw_x``mWKsuTqa!!J literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/%5b%5d-i.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/%5b%5d-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..cbe5046a0c3c4d1e84f630ed6eabeacf9d51cfea GIT binary patch literal 256 zcmY+8O;5r=6h&Q_LF|SFJ58Ka77!BJ^<#qx*3^WLfUYJiUg1fr?abscW5U08igDrg z-jjRJ_02oQGc+%$uxzZd|uM&COQ9A+RIm_e0>vpvSSbHXb7t+M&34uzVEnP|S z8*5LJF9987ahA=+QjRq?G@gX_H@KaBR5hh(s;=@l8n(@-E%NxGu8QRIWOQPKe{%fO IpK#FvKUOJET>t<8 literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/allow_nan%3f-i.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/allow_nan%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..ec04c5e3251c8113eb1091767725f3328f87f5bd GIT binary patch literal 322 zcmY+9Jx{|h5QZ6$19X6atw>m50Vy<@F9St_AR{$YEle5EC3YHvu`S02_1}|#D#3W~ zy&rn^4_@GOb!QrYTfJQf-x*$=NW$V{RLXq4YScFb$bG@$5{@8O;6fm)&Rvt>057fY6tRkvjd;GdQ5!-pdn@g literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/array_nl-i.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/array_nl-i.ri new file mode 100644 index 0000000..c3c46cf --- /dev/null +++ b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/array_nl-i.ri @@ -0,0 +1,2 @@ +U:RDoc::Attr[ iI" array_nl:EFI"*JSON::Pure::Generator::State#array_nl;FI"RW;F: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"EThis string is put at the end of a line that holds a JSON array.;T: +@file0FI"lib/json/pure/generator.rb;T \ No newline at end of file diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/ascii_only%3f-i.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/ascii_only%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..ddf9c0ad182065ba2a59b0dcf201a44ce86af218 GIT binary patch literal 317 zcmY+9%}c{D7{)zFs_rt-n}VTU6twO6-N6lAC4;%K>Zu1w+qY{pHswu%?7z2VJLvV{ z_k10nyu-!j*^~gYcDF>=m?|GDCc?3_rBWZJ)w@RqY@UknVUev~0oI-n;00SG=?np6 zPCC5#%THLE!l?6wR;7W^gL>h{y7+k*$KV>`s literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/cdesc-State.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/cdesc-State.ri new file mode 100644 index 0000000000000000000000000000000000000000..d151006adc4270f8652061fdc5966535279d508e GIT binary patch literal 940 zcmZ`%(QeZ)6zu~_O44>6LcD;4$unAcb~I6GFcbva)D7_vP0@|xwq6rE*bZI)p6j$- z11e9+z32G&o_qYP|AW4oeNv3lE2S$aFG?^b9SJXqf?Ergd(``UnMCit-d*sDWZb+bb_te%=8ouiOH~%6 z01G(ST@szIm!jlkv9%!Nf&g*eh~CTodxjXR8)nhZq(*GAQ&aj(=Z+T#AJSnOB+(GGhD|0*x0NLFXFuH!4eKT^1-qQSaHOE%wMDlb zMjY<2P{;!Jb{rg6@R&(%EZR8E7^yase+PJyAOC8EUYV>?1wXD3m>SrBu+tXHaz0o3 z7^Ro?Qr|@wwCTAEQj9bXx7`!B?F@s%SB4NS1F3z<*ZYc&YOO53DPA}wI;geyjcixo zZug;gbjJ?x)BC*w>ZSMRhw22%Qmr!y^5da72E&BNlq@%$?n}1hY?U#gSyO`UAS0&a tTr4p7gT`?81Ujvt;(F1kPdmHrs6DqTYs26AAGi|CQzsrcxA8FT{Q;po0uKNH literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/check_circular%3f-i.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/check_circular%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..cdd447df6264b48be59a395b2edbe78952403b2e GIT binary patch literal 320 zcmZ8cJx{|h5M@9v(1oEJAgr)}R5f9}3=|21f>fwlm@=S?b7@RN9Gz{U{(D@Y1FY}+ z?H|0tXmMv0z-_mgk!ws<9BYwBBh`>vzbVbix5zgF#C?`W*N@BRCxE$U0(hW~7@c8& zr9(#-|2?V5G8p#0Y_&3Q@>4WJUi%&(wE7R~+yI8t9@*JK7&!f_nIq$hv2R3rSPb$g zU6AwKS?So*Sn68t2FeN@N*iz$6l5hb$?rW>jYTS6^61RChWJxklKdM}V{2)$rQv8= k>z0xvDfaScaCsHL@b|pcW&CbU7xy7GUhN)FxZJwF0QRD1PXGV_ literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/configure-i.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/configure-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..1436aa539f0dea4b7283fe426ecc1933b8857f9e GIT binary patch literal 328 zcmY+AF;BxV5QQ0#QyPRA*g(Px3kcL?zAQzBK#&R*g(*Yjq?g2y+LnD0;@{&?RfzHK zy?fu??T_B!Nh0JrLUj@0UPaV%LL9aUP@vgs`{VE0)bT|X^fo&grV1Mq+ftsrdy zmLv!-{@f|cG6+pycCylNx(%NT``H@+PwF?QD1dNkge6xn4QKy73t>fLg=txOPy~52 zo9#B?)Jn&Hfm|v_LRHAWB(+{Z{wQ3_SK5$U-Eg7S+#>Z>v6Q{#(V--VT|F5p7*A{2 yVUi>T8vx@C+6KLn>2wr$=w2Eoc@$m_Sy$Wn^G=rWhtn!H{sD2byMJQK!SDmrMP?HK literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/depth-i.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/depth-i.ri new file mode 100644 index 0000000..e013c03 --- /dev/null +++ b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/depth-i.ri @@ -0,0 +1,3 @@ +U:RDoc::Attr[ iI" +depth:EFI"'JSON::Pure::Generator::State#depth;FI"RW;F: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"IThis integer returns the current depth data structure nesting in the;TI"generated JSON.;T: +@file0FI"lib/json/pure/generator.rb;T \ No newline at end of file diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/from_state-c.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/from_state-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..feab4ae7a79a13d01b3b5f6b95b76dc6b63feb3c GIT binary patch literal 460 zcmZ9J%})X`5XC*1Dw3!NZ<;vSlO_n9hYLnU)&wPjr#+BvncXce?WP|g{P%7F4RULn zH^2AZ^!W4(uRfo(Kzvl|5xGLolS|3s=pr+EIkS#CV#rNM(P_)`% zq^b)lK_IlsWL`I$L%RMWTD`0{B2^AlS~?^RxB{>CCVy#dh_f97Me}yJ<5@qGC3U;qBF2O-m!6aWAK literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/generate-i.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/generate-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..4f15058e5316a524e67a51263cc0045dfc622819 GIT binary patch literal 397 zcmZutO-sW-5cMEyZ4o?pQ*?+IwUG2Yy;QJ~6spDQDW^>`X}6}kVRlpW-@7rTAb6U? z`zCr(9~t z2y!N0sqj)|Vf#A?uvE59(0N@S`cIh+1AXOGJ7sj(;@F>*s-n?olpZBP|ITN+?{qhn U%A$=mI;#DQ(S9_;A!jY&2aaBVnE(I) literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/indent-i.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/indent-i.ri new file mode 100644 index 0000000..e92f9af --- /dev/null +++ b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/indent-i.ri @@ -0,0 +1,2 @@ +U:RDoc::Attr[ iI" indent:EFI"(JSON::Pure::Generator::State#indent;FI"RW;F: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I";This string is used to indent levels in the JSON text.;T: +@file0FI"lib/json/pure/generator.rb;T \ No newline at end of file diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/max_nesting-i.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/max_nesting-i.ri new file mode 100644 index 0000000..cb590e2 --- /dev/null +++ b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/max_nesting-i.ri @@ -0,0 +1,2 @@ +U:RDoc::Attr[ iI"max_nesting:EFI"-JSON::Pure::Generator::State#max_nesting;FI"RW;F: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"HThis integer returns the maximum level of data structure nesting in;TI"Bthe generated JSON, max_nesting = 0 if no maximum is checked.;T: +@file0FI"lib/json/pure/generator.rb;T \ No newline at end of file diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/merge-i.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/merge-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..d8d06f3d4dc0f665f844b5a15f0857403d7c4a4c GIT binary patch literal 181 zcmXxdu?~VT6hKi1Qw=N*ZVo1OP#0l-ESM;!Ca4jem<|?i?zCa-+;K-IzOdIixM1r=IhG>U?0t=R#LcuU7$f*HN99)7dcWYt+0mM2 zAMV$ja>FNv7g?+KYDDzCP+7;76GUNw1Cc<*2YP&kvFkvrRVpT=DS`1EB3(Ee?U0a* zN7#FktLacEe4%@54gOaB0mNKE#;*}vhLCD0^-QPBdtV;Xop&$!7-iQx{IBF|AXGx#2^iV5&UpILk}Id7z5$8X zC@pLynDSCO2AiAPoyux&W2N`z0pQQT7Cgp9JeP3?!a`9x;Hg8?Aua~mKnD_(A}8_Y zsrY9#el*5Zo24}MZADXXVV+O(E2t+ODY?{&tHy>Z0i6<+-_vG4o@(YK;KuOzb4jX? zp2~3?#2LoZC>ACzB{yV;W|3fFFsAiRK&%AQOa()vjw9YRAZMD#f_P{#i$` zgzdv%;VZ(o=xl{X$09HDdWC$K67H%sD`Q95p$Xj?g!i_EK*#NNM}m)SjU_=LQ1m|Zcdv?iX|en5m6&o%kRO6dy~XSvaLP#Q;5e)@SZEhW-q1cwWdx z&VJ*{kKEFa#Cn$-+0FQ?@ilL$t>Ub$6~tI6q!%d_61&~*=tbDx*zyk|P3zC!?b`B3 WDaN~3R;%5D2EW@dYO`a;zTh8gA>!8n literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/object_nl-i.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/object_nl-i.ri new file mode 100644 index 0000000..22fcbe1 --- /dev/null +++ b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/object_nl-i.ri @@ -0,0 +1,2 @@ +U:RDoc::Attr[ iI"object_nl:EFI"+JSON::Pure::Generator::State#object_nl;FI"RW;F: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"IThis string is put at the end of a line that holds a JSON object (or;TI" Hash).;T: +@file0FI"lib/json/pure/generator.rb;T \ No newline at end of file diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/quirks_mode%3f-i.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/quirks_mode%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..f42db1d3037b4ba06450dd4661aa06475b2b0bd4 GIT binary patch literal 294 zcmY+9y-&k15Jwr13v>aA4J53v6bU7nF9St_pdj@_Ele4Z(_9);*EVNci2oi}g`w-| zp5E^rpS;86;>oN49`(-zeQ(_*8Z`*cQUHnwH!|Fo2v9rX)?x?YU{ literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/quirks_mode-i.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/quirks_mode-i.ri new file mode 100644 index 0000000..ecbfd66 --- /dev/null +++ b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/quirks_mode-i.ri @@ -0,0 +1,2 @@ +U:RDoc::Attr[ iI"quirks_mode:EFI"-JSON::Pure::Generator::State#quirks_mode;FI"RW;F: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"HIf this attribute is set to true, quirks mode is enabled, otherwise;TI"it's disabled.;T: +@file0FI"lib/json/pure/generator.rb;T \ No newline at end of file diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/space-i.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/space-i.ri new file mode 100644 index 0000000..201e629 --- /dev/null +++ b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/space-i.ri @@ -0,0 +1,3 @@ +U:RDoc::Attr[ iI" +space:EFI"'JSON::Pure::Generator::State#space;FI"RW;F: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"GThis string is used to insert a space between the tokens in a JSON;TI" string.;T: +@file0FI"lib/json/pure/generator.rb;T \ No newline at end of file diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/space_before-i.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/space_before-i.ri new file mode 100644 index 0000000..62324d9 --- /dev/null +++ b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/space_before-i.ri @@ -0,0 +1,2 @@ +U:RDoc::Attr[ iI"space_before:EFI".JSON::Pure::Generator::State#space_before;FI"RW;F: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"JThis string is used to insert a space before the ':' in JSON objects.;T: +@file0FI"lib/json/pure/generator.rb;T \ No newline at end of file diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/to_h-i.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/to_h-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b5b68e61ba68626b2a5cded342ef041b410664d8 GIT binary patch literal 345 zcmY+AK}*9x5QRO+rZpZscvEnRA_~&vJh@cR=nB=+>L~}Aq|;O9iig6S zW**<0_YOxNaJqQVHNd_4nUQbxsyvZQBxA2XTL$d05Xtq+^6eF1-dh5AB1IOxwg5|y zo-TL7oD~Jcrms3#YdHHu&d`4M1|abJ4JjW%JT+*&E18D#ea###HWp3G@^Kl7eJ)0T*tC&PP%B=^&3YkwiDQ!%id@ovhL?r&Ve~Eot-L J%EVR!@E5{_YpVbN literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/to_hash-i.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/State/to_hash-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..511320bdd0f48962b25b08ed1accfe074c25e0af GIT binary patch literal 181 zcmXxdF$;n~0ES_QIHMXG+8Tmu$t9h?7K1VjtjL-i;t8WB zZ)5?i#W&%ml=p00k(iE*yp^me3CK2zskcv$2jFBi2X0^z(_{_?;iIZ~5CoYMQ+MH!_7KxqUFH6(k-}H4=RZ4c Jsq;3t`~adnH--QJ literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/cdesc-Generator.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Generator/cdesc-Generator.ri new file mode 100644 index 0000000000000000000000000000000000000000..8cf7d90eff9bc1374df5495c09ecbf42834048e5 GIT binary patch literal 218 zcmYL>O$&lR6h&RcC~9tl+W8AyKQ}JQFwmlCHLGcS!O-Xo^U?25jfe{mF6Z5|itezv z?iB~Y4@*)P3U*&j%goDbfXV3x z99;-WrI~S-1`tHPuGEnZvm> V`C5$Dv616%TE;UdljWu~_yC(@J-h$_ literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Parser/cdesc-Parser.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Parser/cdesc-Parser.ri new file mode 100644 index 0000000000000000000000000000000000000000..daa77499732bfc2e43fd4d8c74741bc7d4342f9c GIT binary patch literal 1125 zcmaizOOKl{6os>>AkXPMq-m?p!a`lobXl22!z3i~h#16UF=Bxn;!fx!KyA~i|Gw9u z=|dvz24sJSbMHmxzUU|TI-FNI#LKze#z7-E zJX>NL04^gXit;JSSy_S_?kfDYwOldr+|(F@f3xSMGVy3yGofT^RJLi_eR$)WzqMe^ zo&>A624Is|G~N~x<+?3Y?CTxZMiQwlN4g^fe$XVGnL;3JB;O!awbzKX8hPjtT8oK= ziV`qGVYB{@HcT-Dw8<6Bb*mM4IQ>-YII(Va#rp2EtjfC@*j-!aR;;zi9==a|>Fcx) ze<_MXLYIfR+nIVmrJHdp|1)(H(h ze{g4U<_B(fiHo0tnde7tXPK8y7&?!q9nM>R+Tbd1NSMuCkE}?1;_tkf`JM-j5}*D@ zIf%ogyV2po@lMPzpo!;oPB$V;>WAHilY|CN7`gM#FE0}6Ml&aHvy~J4p@6IpbeLhK z-X$fMIjcF!w~+H(aRI3=bp&CB@gvJT)}ym;9S15J?lC)uK`y>TV#vCLY(K_{tR52VzZ%QYu#F{Ags4v>n(V!hbX& f*2R~m5YIB(R~!EE_w`V4$<^^}kF~2kNqav4qm~qy literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Parser/new-c.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Parser/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..5fcd6497236f204c31245f0b9fe4b582f3e09e27 GIT binary patch literal 1506 zcmaJ>-)|E~5at0nA*m3NDix_wHL`>Rmg~3`YNfS635f$2OsHsh^22HFZZ5ZYZ}-^U z!?=Y1o!MIx1rqvl((TTE-#6dcvcIx@9I?fomh_&k_$ysT5=cxzVLO=llxDRvm0=8t+o5&{ZQ?|KzCo-~)95rBTW( znK}?A{jCM9oQUMVe4FG(`H+t1$4W>a=;UwW$D{HJTah46&$f^P~lQsdyw zTK8tse>te}W2(t{CLahmV-xs9)@=<1HNFBnmvq3zl}2C6jaYa2S(nz2WlslgRcA)Y|A?j6aJ=#N~XV?kV> zHH9o-i6QY;7t!zt^V@f}hdTYA;k*zY45Bk>N5XC&UFonFJe&d9TAH(%Bc=h;o!i086O@7BAQEx>Ce5Od*cyJNMO2RJos8znEz+EO&v(NP88R5Ql;xty_cawsUs2Va=b2m zpxzwh-rGnT_fnZw5{5|T54J})U_jZbphO|wt8~Ur)Qq51UMj|Y9Kv!8VY2${2h8)l dzNpe<@xV)dbUyS=_T{a~99!AxM_N)dD!-#cUlRZT literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Parser/quirks_mode%3f-i.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Parser/quirks_mode%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..04eefab07d9349bd375c22245122f975e7e403ad GIT binary patch literal 178 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMtD$Yk?W5-cpuEXpp9&&^LswP&+pb9M7nQt=A* z_p`DJC@o3_l8HsdsYS{t%Bg&}0Le;He~&lbNKSRh*xvUjVd9AE+2;lU`90 HP&NbrDi1c2 literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/Pure/Parser/reset-i.ri b/.gems/doc/json-1.8.1/ri/JSON/Pure/Parser/reset-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..2e1ff303b778845a18568cecb6f62b92347bd4a3 GIT binary patch literal 164 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMtD$Yk?W;wnllPAy@xVsmx#RFd@y_V=^03Mef~ z1(JzH#i>Qg5P54hH#aNpg3_d%%;bD4X^2t2iAC9^1y)u-b4znm^GevQxE%@-i%N>4 z8LYS*(lT>W4GavT89bHPH8k0PCU`2zuv%g4BngOqra-B?iZ~{6Olz#||(cOSbO$ z&hJ(#+3FTxukFC(PIp1_dMQvvu8+ZT1n8-($j$TXVGl4W6qRcY_djbpW`>Mw(_BoyHd){(FzivUkf&k0Q=0vOV>};bDx%y_TKBOiJu~{wuno zmCQNrqQ*QHgONOi;neEUA&O2F!RMe_FSKG(_zM;ao7f-Q&|Fr@0r}=EB(KP=6ixBr zv?`KeWt&84zOEyK^{ literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/UnparserError/cdesc-UnparserError.ri b/.gems/doc/json-1.8.1/ri/JSON/UnparserError/cdesc-UnparserError.ri new file mode 100644 index 0000000000000000000000000000000000000000..54f21cc4159b9cbad55204e78461e7ce9cf9498b GIT binary patch literal 378 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 literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/dump_default_options-c.ri b/.gems/doc/json-1.8.1/ri/JSON/dump_default_options-c.ri new file mode 100644 index 0000000..995c699 --- /dev/null +++ b/.gems/doc/json-1.8.1/ri/JSON/dump_default_options-c.ri @@ -0,0 +1,4 @@ +U:RDoc::Attr[ iI"dump_default_options:EFI"JSON::dump_default_options;FI"RW;F: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"9The global default options for the JSON.dump method:;To:RDoc::Markup::Verbatim; [I":max_nesting: false +;FI":allow_nan: true +;FI":quirks_mode: true;F: +@file0TI"lib/json/common.rb;T \ No newline at end of file diff --git a/.gems/doc/json-1.8.1/ri/JSON/fast_generate-i.ri b/.gems/doc/json-1.8.1/ri/JSON/fast_generate-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..eb6101c503b02594613e42ec88783713b0880064 GIT binary patch literal 550 zcmZvYK}!QM5Jo-7R_#SZ^q_}fy=W2bIYqFdl@(j1Djs?$v)S2hY&NqbS)~8obXx_{ zQ%EMf?|rkm^(OYmw=9L|o5hfP!P#V2MM=Duqw~`l8M5dp64Biti4PxMo<=9XC%tGe z5bdf?wUR83Rh z*KlM(a_%5!3sPCRd{$;f4>XeAHHbgTHyX|SQ5o9c-p;pn=e<83C8PU}fExmdmhxJI zVGo|6Lg#|q;y-lhmN*%0+Xa&2!STy->agiOyqWWZGc2I)Zc zlHO@L_)WMmWY$sp83+r*E-7Ot{tPGxb2svjHG8<(*rBl0_?=z1Y>;iee1CYje@Zxn z!`e>!|HJB^r*!ABNn9Jc<@uAVu5HM*I!EKgOd<$H(Hwj*5Ia0%f;tG1Xa0}EK z1yikOfkVj}Gh;OYsIIo};v|(-FvEd;1Gh@Oo$)p5xVgD^;78 zke3b(p#(BuxY5SF~C055WEoY2a9)>TF?=v(Poq5E?#TXGXOU6!Y)a@{JD8jCTURurN` zu-&j`$)&~U?Df3%FP*$MtocQz$eJ{%gy)pZN++UjYf96&%4^YGN1M?mA+LH<`^6j) zy;`qlGOb_Ui%R5GRM11wgdNtX$FL_X_q!}s2yUnHG1s$&psMUjTk!mE2rxzgq|ea_5}DG{ilrV)Ze6yj92Uyz)NiA(qCDSmeL^VhA4sIQ*v~$%JdMh3LxI=?a)6vj= ceGW><$FZ4*Qp}!wuv$IIbzN&UHZyRq5U&uaUA&hmYy9 v4|5^`iJ(2b@QnGsAJ;;=Ki2427m2y^8<1?h1vMVxFULWl{xif4oav literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/load-i.ri b/.gems/doc/json-1.8.1/ri/JSON/load-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..53de3619b1c9647259ee61c743b1ee7d46dffebf GIT binary patch literal 1108 zcmZWoO>5gg5Y3?|i4#gGr9HHV!9BDE*YQ~ldONLkntoskfh%ycdA^ohaOZ5FlGV4xtIrwt&!WgPK!c2j~z8k>WII9W@$4R>Gz+SZrX& zENtb2&;uF>c2cQ8T`;8tr(ahQ^d7XZPVf%!Haxatqi&*RW*em=lENEHaB2@y0~ZYe zl+suSXt*##SRvHNWw{SSwSY4&O6C=nG)|(n&@gL5dl7hy_vb}g=EKc}~|6jqhAofr_mn07!ySz#no(u&s1XdxLI9uJ<9G*#o> zpc5kc5^MHkFW`<|OgoS>>ZjrdswZm-C26ZHcufL8tSnGFgDOg1pjVx;3sRmly%h$% z4dajtxTD5@M~I22P~5C`e}Y_8A69C0kahV~){=$^lG1XAr_jnptE<4s;X$&P4TrMn zS`V7H?>+CfC;UxbcB&p{{lybC!|?!?5lz;O65*;?u=WrQ92eZzO&D94k`-ih*|NN* zd$bi99!}-g^m-BPO?#74Dlr<3*2$VU&uPsany^809G@K1IUbGAM_K>F$5xR6g#Cs~ g(2{gMY}O_G{`0Bjd81^0ac5Cq6j;}&hb9k+zhfM4o&W#< literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/load_default_options-c.ri b/.gems/doc/json-1.8.1/ri/JSON/load_default_options-c.ri new file mode 100644 index 0000000..d826776 --- /dev/null +++ b/.gems/doc/json-1.8.1/ri/JSON/load_default_options-c.ri @@ -0,0 +1,4 @@ +U:RDoc::Attr[ iI"load_default_options:EFI"JSON::load_default_options;FI"RW;F: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"9The global default options for the JSON.load method:;To:RDoc::Markup::Verbatim; [I":max_nesting: false +;FI":allow_nan: true +;FI":quirks_mode: true;F: +@file0TI"lib/json/common.rb;T \ No newline at end of file diff --git a/.gems/doc/json-1.8.1/ri/JSON/parse%21-i.ri b/.gems/doc/json-1.8.1/ri/JSON/parse%21-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..92ea206b5816d154a47ac0656efc869f8b6304fa GIT binary patch literal 1265 zcmZ`(O>fgc6zl<|9}!ZK5JiH+YdBD%kVXiBv{6xMX^=~rmeQVbh}QOVy=1*>dDkfx z;=l9Oo1_gDw|GBh=FQCJ(Z)4QznG0U>MCaB_ zAmt|QfYA^l7^gxjSved}K;n$W_)h;~B2x=|V91f=YC04O*K~i&nL+{V&8Z@;h;HWX zNwk#uR?uKmtPFGFG}~EqcPI?GzjbJ<99i?|dN@3}qA-NT%#1f41m=zhwC4hoJVe=Z z{Bs?fLF-#Pdx-CPR#rGeVLo-!inOc zB*$xzD8*>%2D=pm$?kE&!6yniP!=heZp~l2yz3!{K25U{r_z>M1BN0+UnL|Zwq~`Hx>SOG0ulJwaw~M;`wOxBKQCyK(0imI- z3s#ia@&3Swk2(;jL?~e^TBHWQU3`*tUdbudQ*aegw-UG<9K-t$?>;&t5?#+913d=U z+Y9%4YG-IH>Zj}bqT3$pv1>R9_`mGqc2pp@IN@|VKSamPZQuZY|9RtY??@5u|1?_dM>@;2>K38f_zM^ZoCp8_ literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/parse-i.ri b/.gems/doc/json-1.8.1/ri/JSON/parse-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..c4d712aba21e38de16520f7218819a9d4b80bf47 GIT binary patch literal 1296 zcmZ`(+iuf95bXm>FG0{sh$6wmC2DX6VGF$A|q+$z4{iH8$Dc9-kaMsKQYJi94Dh%cX7x} z13u6MW<+3VAg(YV(5lEI3P4Ds0O7a@XAq-7&?YY;Q{)6FW5|hrN)V=9>();1@$IB2 z$9*AbPIZ?o=e*x&1ZrY*01-+U;iY3wRGO-(kmnYL9T?M0dk%8-_6U8UdBmkHGnDsrJ`wPS)){&;?k97ZjN`3|MMD6`XBe z3EQp#Ik66s;x?T8KXp(mcDBm=$L-#2MmeFO0OMHL(QgYcr*7S_i60bc`QCtQb5#B7 zW}r*r$CI%73{5n$`G``~td`$aMI~aGq8-1GEc}M;4(;VtVy@Qyhv8JZXD`e7+u-la zv8Gef%XN_Q5XpH1oKd;eIU$CwGbU7<^d>o#s_;5UE`I-cr;;X;=4;D2^g6CRf7;ms zg~}149Ry;D8K^abg$_!HsG?9PsY9hD10REp4^%{8!fPpjtD)ssE7x{cM$$a8=!eD& zV^Fu@OhSw@1B`3@-f%Ap$_8~b(8Ba6SdIQyG@Udy#lF3py%p-Ka{Ab5J!pifgCj5Y;|QHWV)q%x=mUqooLqW}N^ literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/recurse_proc-i.ri b/.gems/doc/json-1.8.1/ri/JSON/recurse_proc-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..a339e6dbd005ec1f633b7f70fffc6c98e11b1db3 GIT binary patch literal 294 zcmY+9%}c~E6vRD9{Md`aq6a-ZDu{x(J*Ssl&|-zvWz~c95MI-)jiya_Nf!Fw+v;hr zGsACY_76Y!bp2o@=Zmgis?gZFJkhL3PD#l~UI|B5GR_|JA~}10dwsduF*26teBxqd zw6y%hAg@j*(u3_0xIrM(6|9bUSnI0q>p|!A)^1D5smLXc%9xE z#>Wj(fVFt0%-ryj4>?KPfnwUAVg$%GPTbM%bl3y@Wk})-Y}u3*rwG&EAuZISkpS(k zshKccup?P0qjL-T(Un&$2!h;7+}T`XqbTznsgOD=NASvXP#TUxxA=N5NJz58om9N^ P?;3?qv93`pRrw7cm&!MV literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/JSON/state-c.ri b/.gems/doc/json-1.8.1/ri/JSON/state-c.ri new file mode 100644 index 0000000..ce0103b --- /dev/null +++ b/.gems/doc/json-1.8.1/ri/JSON/state-c.ri @@ -0,0 +1,3 @@ +U:RDoc::Attr[ iI" +state:EFI"JSON::state;FI"RW;F: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"IReturns the JSON generator state class that is used by JSON. This is;TI"Heither JSON::Ext::Generator::State or JSON::Pure::Generator::State.;T: +@file0TI"lib/json/common.rb;T \ No newline at end of file diff --git a/.gems/doc/json-1.8.1/ri/JSON/valid_utf8%3f-c.ri b/.gems/doc/json-1.8.1/ri/JSON/valid_utf8%3f-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..c195fa94d9e792fdbd6b980e8db60a07b1745675 GIT binary patch literal 172 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMtD$Yk?W5-3Z|$xMkaElIPmXR~5+b@Nmb^9uI& zv$8^#ux4`$vEnW$P0Gnk&bN|=nB<#SlwDe2Wd$_0G&eP`gx!kUp&+rSq&S+vipwD_ zGbh!+z#y8zQ;AojxTGjEFI|((nk~drNj@htNk6MNKTp4)v?x_SJvA@2D6u5JNUtaf GqyPYDWi)>P literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/Kernel/cdesc-Kernel.ri b/.gems/doc/json-1.8.1/ri/Kernel/cdesc-Kernel.ri new file mode 100644 index 0000000000000000000000000000000000000000..bd2dd1feb24ddc884feeb50329cd2735f1a9d295 GIT binary patch literal 189 zcmXwwJqyAx6h%8oQrgbxpjrv E7dhoLLjV8( literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/OpenStruct/as_json-i.ri b/.gems/doc/json-1.8.1/ri/OpenStruct/as_json-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..60acd7f56bd8f272df66e028cd8cc7d927881f9c GIT binary patch literal 286 zcmY+9Jx{|h6h#@3TPOnq5(6EqumD0$=9i^N5GhD)Q43QB^c)-PVrV@+n)9 Z)2o~7(V1(-%3)}UoR>EIPF#34&>yZhS)2d> literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/OpenStruct/cdesc-OpenStruct.ri b/.gems/doc/json-1.8.1/ri/OpenStruct/cdesc-OpenStruct.ri new file mode 100644 index 0000000000000000000000000000000000000000..b3a74a946ef99aa3ff13aa6e619b9d283a63976d GIT binary patch literal 380 zcmY+9zfZ&<9K~-i(6qhtCKqoo>{@47ny8mB=ox=Z43}>yDkoP6PzV2dp~jeofjqvC z&wJmK;+38~-C9ZMgY`!+HwHowD~&ig-8nTpM?cDlD7xFWn3HPP9aPc`Z7n_j{df=l zb99s@%6L>m#I$N1_!tDT3}aTLn{MXbNAU3O!F`}S=H&7}>mn$x!RT*@+73;xW;!Lm z(6W8gMscz+x@!(0xuEYG8>X&TzRM<7UW>(aut>#AnHS5wMIll{H+Du#f%0sf5qs$s zM3o)wIyqL(+n82WeS%-ddi_}He<6j?uOk-Oa1j`T@bwt z4DXxAH>YQBaP>Mf65w7R7f7|KijiV@JlZ*OH7ND1RpQvd7!)Yrlxq=yp{%2l<6pG!Gk?4@nGwr$$3(wLJg!4D@IQ_$Rt^l)pR%P&Q|>QCWazj z<}mM@_vRfQy~4%wN*4h4>N^os>oPl&EcQ-GzkOJ(7_f&Z_AWQAP$?N#(DhykSroyz zb$KHT4OfFrg67k;0G+4X3PmFrFIzNZGp1qkpLs%qmBF@V;c+&Ky(A@Vgyltp)^deg z!KZ(@GyWy1=2T0|?e8ZymhZ4}-Nl0FZnyBe$`|$zdB1{_<-2S| g5Cqvl*Km4^rn0jEo-{J|`@%k!rLTv8xygI=2i5&tlmGw# literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/Range/as_json-i.ri b/.gems/doc/json-1.8.1/ri/Range/as_json-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..f4d4c8ea3e7692daf6fbdc25b5d7931b9e208aaa GIT binary patch literal 279 zcmY+9F;BxV5QQ0#TPOoUOu%4;1rTa7UzQ?4q#(7R08<8Zj!o@iY|D0p`1ja~7#Q!~ zckkZYpTEIrcW(!PJM*&^QCi*~E7BH67~Xfm8Uo~@X^WE%%~o9gEo;&=uy7;OYOruV zIjqrtjt(H%jbFmV87x)~eGEOZaPgmcMvq&MPLledpS8uN6LIt=P^1!ryrofMq~A(w z$^^}l;8dAt6Y%)*w4s*m#1JVOPQ7qmg!C{SsX%J-n&MCTGEZ>0`cPU_Rn_mc#r*2# VdScGBVrA}FBIl*g1(%*>?H93%R%8GG literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/Range/cdesc-Range.ri b/.gems/doc/json-1.8.1/ri/Range/cdesc-Range.ri new file mode 100644 index 0000000000000000000000000000000000000000..6687dbf2c61c45fee53c553cf39e556458f85215 GIT binary patch literal 368 zcmY+9y-&k15XCznJ4(~469X_HPfUc_ULpaNJn*3kCJ)ucF~uc~E!$z>ug4d}5P7i9 z@A>!MofYr=eD~lq=g%&jpug`SMzyv?vT_H*!4OU!w+)qS`O+SZPDGHc*8bLbl{ zn-AL?$u4@^*2kD#&~c~t?UpJ40^I7P%PCHQ$gG#?H?mqmE7z_REQ8OwfF_R C1ZkuI literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/Range/json_create-c.ri b/.gems/doc/json-1.8.1/ri/Range/json_create-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..cef99634842ccb1ec0252d9bc2728bf4708a48aa GIT binary patch literal 327 zcmY+A%}c{T5XC*nRxLsgf}kFjoa&{?c~Yc8EkuZxT2DEY$!1Nq#@(|c_(4&{(U$#8$6~fkf^bgsfb+1c{FhsJmN&@k r{4u>f^9^vZ_)xWsq9{8_g3IYZz8_dOwaP=E53wjh>z^^Rx%Ykm>4Ryp literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/Range/to_json-i.ri b/.gems/doc/json-1.8.1/ri/Range/to_json-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..7dcb50aca8c0eca7a26e6ac4593adcdea3df2052 GIT binary patch literal 390 zcmZXQF;BxV5QQ0#DU<;rCSb6_k|5M%U~(&H1w;y>fLfR`RF~LE46Ys7j!OSMP67jB zIi2p^eed*k2k+!$aj$YhW^y}cwo)`b;wbSBty+B;B@sanapD~>K$h&{cQ{6IOonxn z37#u*))VHSKbx8mhileM+C4Iy)}XCPks{}RcV0n5siCgWct0H^-qX@5%?!>37=tCO z8TLEN0B^Xh@Z<938H3ia#j0>k**O?IvGxWgp{saP@!a9iTjJeunTv+9PA<4MwqNnN zw5()0xat(=^#U#D`VPr}P1~R~4`nQbLT$ZEuiX2P}E?5*r>5j|L azjU9Ppy!-A&vU1F;^i3_v$WMtD$Yk?W;z=xy&nnK(W3ys&b@Nmb4N5G@%+E{A zQHF_Iv$?rhaTk;(k|5=a^VAF(b9 z-n-d+!S3+lB*421S2E9rV#KW$V|#m`q@5)rK)mjUa%}65>8xZDz1Tar|FykQxGWwZ zGnT8esf2p)6jHE7ykM@hAF>4vwiD>OSzGnb3zG?5BfWsdCC2?jft#WS)A5axOQkL9vR9R!;Ym* Na{n%U&4|9i;s-A&vU1F;^i3_v$WMtD$Yk?W638mf&x=nkN=+UlwDe2Wd$_4G&eP`gx!kUp&+rSq&S+v zipwD_Gbh!+z#y8zQ;An2KPf9UxkQuAnk~drNj4`lNgrgoequ_Bei76{y`m(LGyr<; BHW2^- literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/Rational/to_json-i.ri b/.gems/doc/json-1.8.1/ri/Rational/to_json-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..bb8a283b7f19ea1364f596c54498040758515145 GIT binary patch literal 160 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMtD$Yk?W;wj0G&nnK(W3ys&b@Nmb4N5G@%+E{A zQHF_Iv$?rhaTk;(k|5=a^VFaZ7+&|m8V2mXD3h~_cJ$>g|F$_R3YfW0Xw_Jl zj}~k6@0|na{kjh_aRRfILmxxUEL{9&w&-!^(X}i;swZW#sVH{d1dhDL(BAOaV&tDn zYc7Zn5=pL1v_0_f^tj988oS?KVP O<$0*Pue;Hi3%>zle0fs< literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/Regexp/to_json-i.ri b/.gems/doc/json-1.8.1/ri/Regexp/to_json-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..060d2c6b984cc50641bff741b50093116a938584 GIT binary patch literal 306 zcmY+9K}*9x5QRO+wptH@-s)k9P#O;==Sh(Y8iCUpdLH+kOi5|QR z%s217;T=w2@O*nmCE~66PK9fz%1O=HB)IcV@p5QCi-eD$*7w7~Xcl8Uo~@X^XRM^r?@Rf7_Zg4a{6(TJ;v@ zqs0pSXL119FMSCUCoo$&^f7eA!o`2)89jb@bduCZ-J~tn8xfN?fg+U{p7=lh&))& z_xyYBF0wtle7(1lu_x=45Bt=KSdq{P*Y> zL&A7cL!_)|9QYUnv7Az#;mxk*-WTxj>A`)GG;XV#bIx^8UW3uU5ValZUd=S7zO%gf z&_=b@#^|m-26RE+*I}x;^rHk+~88h69)Y)k$1W(|m5 z28Q>|b(Hm(|5Hes7^DMevk@b=Q{-Tu4*U)c# zQ7dU+*tr(Me)tBU75h)r)Pw%C5tdxe4BY(Bya+3{Rx}k$&+}duJ@xZ%E+!Q;M#1D!pz8AGe$5OV=qIg1dx1YrAAR{iNs{~|i!Mi<_O^2kYgNP{AB(b#yBcF#1o#a*9coAb literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/Struct/to_json-i.ri b/.gems/doc/json-1.8.1/ri/Struct/to_json-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..212599c8c2f7d9d8c2e0de4ef8cf3b6a936e729b GIT binary patch literal 312 zcmY+A&r8EF6o5TQrp|+)w|NK^Wb?50oDG@a3KeF>>Zu2LZDSkFl90Si_TQVXc<}Pz zz4!6GAIB%}?CSMV*Ni=={f1+woAN@CEILR1@#VB4jI7fvx-8K88gKrp3zDX6Y zzI*rH>G&P4H&3<&cr?eQh|==rQjt2l!0@pP)({}iRh?aJk9%hI>~C9=s)C8@m{zTY z>0q%$|J^x&!Mon>$A{Q1sG#vZNj!Q2`ML98`t%H_*X-&#W$x!=_k^;3IPG7?U9mTga;9>9N% zjxi*Ry&58A%i4jDK@iI+XS&1>H#56^GJVmee{=Uk?JQe}||Ea%47XemgVZ4%)iy@IHc zqu!un?Yxb+rRoquS>e3?#(5G=xza<3Fv!WCfP5*Ym;%Bf(f%<_SwuT~;YC95m00`% DysB$L literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/Symbol/json_create-c.ri b/.gems/doc/json-1.8.1/ri/Symbol/json_create-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..663d8cace9f7b96fbf54738f8fbb60c59e014bbb GIT binary patch literal 300 zcmY+9F;BxV5Jnl0DRk+;fK&!66D%b2r9wq2m4Z}2v`iV0om?9i*B9BBO5xX&Gz)BZ z_db26cRu=r>yHH$08g%6Ay-u96C<){vJd3G3Xh6WfOuYJ(apL&XtDr*Q7V=j7}t%q zrXZLOT`T3kn;M`iZVu@90><-Nc@DWCxc#4bS6=PBswmL3BFr8rm literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/Symbol/to_json-i.ri b/.gems/doc/json-1.8.1/ri/Symbol/to_json-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b078505536ed92469ddfec62367acc9090d807a3 GIT binary patch literal 276 zcmY+9F;BxV5QQ0#p_Bm$wlbX3rDbR`UzQ?4q#%_d0xTKOC2<>r!;AG!X&FUPev$^0#T_k&I1Of6 S72)tNq^b(t@!ZN5L-`A5^jB5@ literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/Time/as_json-i.ri b/.gems/doc/json-1.8.1/ri/Time/as_json-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..6f210681f8ff265906a1e6768c52139111d8fcc9 GIT binary patch literal 277 zcmY+9F;BxV5QQ0#TPOoaEC_~ESOB3W^JOU#L<&+1DrL%m&auHRscqSgD*io=A_m60 z_uaeq4yW&UzJ9bV;)D5F%BZYpPBp8u6AB;OU=2g|RMpwpM(^bH->zg;g)`UlPPY~> zM}sB#@7^IMw|*y0oZxKX$j8tyi&y`dSMv1b$thMIHIq79t!3=J2|%DIsC$TtBJ6e7 z0hcgHQh+wmCgAz)Wd)XRWgCHv056@FAw5h-I7<3U5h!Xp1Y%x5izv0^x{wQ2>xqwlqUT& zs4-$%wGMm?0$GMJE7DIdm)sZd@ZrIIq6~9#ol~xY@*0f(fvD}+^lCAu%snmJcWo3W z=SFwUF(elBeG`-T#&?;)%3HCT9~P-^Df1<{t|&w*=BCbQDNx3?S$~jTK~$O1ZWCkU yyp8EX)h827Yv=WM!t=n%T8|;ZC}(;$WR;j>Y6yqy_HV;U9qnSn>TJQ*V)Y9=jcA7e literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/Time/json_create-c.ri b/.gems/doc/json-1.8.1/ri/Time/json_create-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..5f20f3a13623095af4a1560c802929fc8f8ac4f0 GIT binary patch literal 267 zcmY+9ze~hG5QQyd{c#9ah#*=lskAYvC(Q}*Ai}9=tWwDCX1wf~+g)ZS!ui)<78@-e z-|)?QhsW=5{#tnhaPM|2!CRAsagVlMO NkgKlClje?eLVJ<)RQdn_ literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/Time/to_json-i.ri b/.gems/doc/json-1.8.1/ri/Time/to_json-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..a5af1c89c8dd198ae89e8e958401e2a4afc687f0 GIT binary patch literal 310 zcmY+AF-yci5QQydPdy6-8_{Bj&Bel`-ZUp@Ai|yEomC2%Y&OYivJ-YT$o+d0jzetc zeSD8M$0r~1>ivn7l#h0|(!QZGzc3;T&OLp8Fy0O;8B~kRV6oG%m>NU) zF}?vibcJ?66|h!hO9nPpY0y2X2GEv&gh<3T3&PGQM+dkf2a^qu;brr>2KLU_dP3#d kvNElX<2XMWM=$Qt)g106*R3g{=?4*(W#mV}gDa-!7uRB9P5=M^ literal 0 HcmV?d00001 diff --git a/.gems/doc/json-1.8.1/ri/cache.ri b/.gems/doc/json-1.8.1/ri/cache.ri new file mode 100644 index 0000000..cb56aac --- /dev/null +++ b/.gems/doc/json-1.8.1/ri/cache.ri @@ -0,0 +1,17 @@ +{ :ancestors{I"JSON::JSONError:EF[I"StandardError;FI"JSON::ParserError;F[I"JSON::JSONError;FI"JSON::NestingError;F[I"JSON::ParserError;FI" JSON::CircularDatastructure;F[I"JSON::NestingError;FI"JSON::GeneratorError;F[@ I"JSON::UnparserError;F[@ I" JSON::MissingUnicodeSupport;F[@ I" +Class;F[I" Object;FI"JSON::GenericObject;F[I"OpenStruct;FI" Symbol;F[I" Object;FI" Date;F[I" Object;FI"Exception;F[I" Object;FI"OpenStruct;F[I" Object;FI" DateTime;F[I" Object;FI" +Range;F[I" Object;FI" Struct;F[I" Object;FI" Complex;F[I" Object;FI" Rational;F[I" Object;FI" Time;F[I" Object;FI"BigDecimal;F[I" Object;FI" Regexp;F[I" Object;FI"!JSON::Pure::Generator::State;F[I" Object;FI"JSON::Pure::Parser;F[I"StringScanner;F:attributes{I"JSON::GenericObject;F[I"attr_writer json_creatable;F@C[ I"attr_accessor array_nl;FI"attr_accessor depth;FI"attr_accessor indent;FI"attr_accessor max_nesting;FI"attr_accessor object_nl;FI"attr_accessor quirks_mode;FI"attr_accessor space;FI"attr_accessor space_before;FI" JSON;F[ I"attr_accessor create_id;FI"'attr_accessor dump_default_options;FI"'attr_accessor load_default_options;FI"attr_accessor state;FI"attr_reader generator;FI"attr_reader parser;F:class_methods{I"JSON::JSONError;F[I" wrap;FI"JSON::GenericObject;F[ I" dump;FI"from_hash;FI"json_creatable;FI"json_creatable?;FI"json_create;FI" load;FI" Symbol;F[I"json_create;FI" Date;F[I"json_create;FI"Exception;F[I"json_create;FI"OpenStruct;F[I"json_create;FI" DateTime;F[I"json_create;FI" +Range;F[I"json_create;FI" Struct;F[I"json_create;FI" Complex;F[I"json_create;FI" Rational;F[I"json_create;FI" Time;F[I"json_create;FI"BigDecimal;F[I"json_create;FI" Regexp;F[I"json_create;F@C[I"from_state;FI"new;FI"JSON::Pure::Parser;F[I"new;FI" JSON;F[I"[];FI"const_defined_in?;FI"create_id;FI"dump_default_options;FI"generator;FI" +iconv;FI"load_default_options;FI" parser;FI" restore;FI" +state;FI"valid_utf8?;FI"4JSON::Pure::Generator::GeneratorMethods::String;F[I" included;F: encodingIu: Encoding +UTF-8;F:instance_methods{ I" +Class;F[I"json_creatable?;FI"JSON::GenericObject;F[ I"[];FI"[]=;FI" as_json;FI" to_hash;FI" to_json;FI"|;FI" Symbol;F[I" as_json;FI" to_json;FI" Date;F[I" as_json;FI" to_json;FI"Exception;F[I" as_json;FI" to_json;FI"OpenStruct;F[I" as_json;FI" to_json;FI" DateTime;F[I" as_json;FI" to_json;FI" +Range;F[I" as_json;FI" to_json;FI" Struct;F[I" as_json;FI" to_json;FI" Complex;F[I" as_json;FI" to_json;FI" Rational;F[I" as_json;FI" to_json;FI" Time;F[I" as_json;FI" to_json;FI"BigDecimal;F[I" as_json;FI" to_json;FI" Regexp;F[I" as_json;FI" to_json;F@C[I"[];FI"[]=;FI"allow_nan?;FI" array_nl;FI"ascii_only?;FI"check_circular?;FI"configure;FI" +depth;FI" generate;FI" indent;FI"max_nesting;FI" +merge;FI"object_nl;FI"quirks_mode;FI"quirks_mode?;FI" +space;FI"space_before;FI" to_h;FI" to_hash;FI"JSON::Pure::Parser;F[I" +parse;FI"quirks_mode?;FI" +reset;FI" JSON;F[ I" dump;FI"fast_generate;FI" generate;FI" load;FI" +parse;FI" parse!;FI"pretty_generate;FI"recurse_proc;FI"4JSON::Pure::Generator::GeneratorMethods::Object;F[I" to_json;FI"2JSON::Pure::Generator::GeneratorMethods::Hash;F[I" to_json;FI"3JSON::Pure::Generator::GeneratorMethods::Array;F[I" to_json;FI"5JSON::Pure::Generator::GeneratorMethods::Integer;F[I" to_json;FI"3JSON::Pure::Generator::GeneratorMethods::Float;F[I" to_json;F@[I" to_json;FI"to_json_raw;FI"to_json_raw_object;FI" + + + + + + Module: Twitter + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + + + + +
+

Namespace

+ +
+ + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter

+ +
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
NullObject
+ +
+ + +
Status
+ +
+ + +
+
+ + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Arguments.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Arguments.html new file mode 100644 index 0000000..e0af6be --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Arguments.html @@ -0,0 +1,420 @@ + + + + + + + Class: Twitter::Arguments + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Arguments

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ options[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + + +
+ new(args) + click to toggle source +
+ + +
+ +

Initializes a new Arguments object

+ +

@return [Twitter::Arguments]

+ + + +
+
+# File lib/twitter/arguments.rb, line 8
+def initialize(args)
+  @options = args.last.is_a?(::Hash) ? args.pop : {}
+  super(args.flatten)
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Base.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Base.html new file mode 100644 index 0000000..a805e60 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Base.html @@ -0,0 +1,866 @@ + + + + + + + Class: Twitter::Base + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + + + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Base

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ attrs[R] +
+ +
+ + + +
+
+ +
+ + +
+ to_h[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + + +
+ attr_reader(*attrs) + click to toggle source +
+ + +
+ +

Define methods that retrieve the value from attributes

+ +

@param attrs [Array, Symbol]

+ + + +
+
+# File lib/twitter/base.rb, line 21
+def attr_reader(*attrs)
+  attrs.each do |attr|
+    define_attribute_method(attr)
+    define_predicate_method(attr)
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ define_attribute_method(key1, klass = nil, key2 = nil) + click to toggle source +
+ + +
+ +

Dynamically define a method for an attribute

+ +

@param key1 [Symbol] @param klass [Symbol] @param key2 [Symbol]

+ + + +
+
+# File lib/twitter/base.rb, line 85
+def define_attribute_method(key1, klass = nil, key2 = nil)
+  define_method(key1) do ||
+    if @attrs[key1].nil? || @attrs[key1].respond_to?(:empty?) && @attrs[key1].empty?
+      NullObject.new
+    else
+      if klass.nil?
+        @attrs[key1]
+      else
+        attrs = attrs_for_object(key1, key2)
+        Twitter.const_get(klass).new(attrs)
+      end
+    end
+  end
+  memoize(key1)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ define_predicate_method(key1, key2 = key1) + click to toggle source +
+ + +
+ +

Dynamically define a predicate method for an attribute

+ +

@param key1 [Symbol] @param key2 [Symbol]

+ + + +
+
+# File lib/twitter/base.rb, line 116
+def define_predicate_method(key1, key2 = key1)
+  define_method(:"#{key1}?") do ||
+    !@attrs[key2].nil? && @attrs[key2] != false && !(@attrs[key2].respond_to?(:empty?) && @attrs[key2].empty?)
+  end
+  memoize(:"#{key1}?")
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ define_uri_method(key1, key2) + click to toggle source +
+ + +
+ +

Dynamically define a method for a URI

+ +

@param key1 [Symbol] @param key2 [Symbol]

+ + + +
+
+# File lib/twitter/base.rb, line 73
+def define_uri_method(key1, key2)
+  define_method(key1) do ||
+    Addressable::URI.parse(@attrs[key2]) unless @attrs[key2].nil?
+  end
+  memoize(key1)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ deprecate_attribute_method(key) + click to toggle source +
+ + +
+ +

Dynamically define a method for an attribute

+ +

@param key [Symbol]

+ + + +
+
+# File lib/twitter/base.rb, line 104
+def deprecate_attribute_method(key)
+  define_method(key) do ||
+    warn "#{Kernel.caller.first}: [DEPRECATION] ##{key} is deprecated. Use ##{key}? instead."
+    @attrs[key]
+  end
+  memoize(key)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ display_uri_attr_reader() + click to toggle source +
+ + +
+ +

Define display_uri attribute methods

+ + + +
+
+# File lib/twitter/base.rb, line 62
+def display_uri_attr_reader
+  define_attribute_method(:display_url)
+  alias_method(:display_uri, :display_url)
+  define_predicate_method(:display_uri, :display_url)
+  alias_method(:display_url?, :display_uri?)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new(attrs = {}) + click to toggle source +
+ + +
+ +

Initializes a new object

+ +

@param attrs [Hash] @return [Twitter::Base]

+ + + +
+
+# File lib/twitter/base.rb, line 128
+def initialize(attrs = {})
+  @attrs = attrs || {}
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ object_attr_reader(klass, key1, key2 = nil) + click to toggle source +
+ + +
+ +

Define object methods from attributes

+ +

@param klass [Symbol] @param key1 [Symbol] @param key2 [Symbol]

+ + + +
+
+# File lib/twitter/base.rb, line 40
+def object_attr_reader(klass, key1, key2 = nil)
+  define_attribute_method(key1, klass, key2)
+  define_predicate_method(key1)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ predicate_attr_reader(*attrs) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/twitter/base.rb, line 28
+def predicate_attr_reader(*attrs)
+  attrs.each do |attr|
+    define_predicate_method(attr)
+    deprecate_attribute_method(attr)
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ uri_attr_reader(*attrs) + click to toggle source +
+ + +
+ +

Define URI methods from attributes

+ +

@param attrs [Array, Symbol]

+ + + +
+
+# File lib/twitter/base.rb, line 48
+def uri_attr_reader(*attrs)
+  attrs.each do |uri_key|
+    array = uri_key.to_s.split('_')
+    index = array.index('uri')
+    array[index] = 'url'
+    url_key = array.join('_').to_sym
+    define_uri_method(uri_key, url_key)
+    alias_method(url_key, uri_key)
+    define_predicate_method(uri_key, url_key)
+    alias_method(:"#{url_key}?", :"#{uri_key}?")
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ [](method) + click to toggle source +
+ + +
+ +

Fetches an attribute of an object using hash notation

+ +

@param method [String, Symbol] Message to send to the object

+ + + +
+
+# File lib/twitter/base.rb, line 135
+def [](method)
+  warn "#{Kernel.caller.first}: [DEPRECATION] #[#{method.inspect}] is deprecated. Use ##{method} to fetch the value."
+  send(method.to_sym)
+rescue NoMethodError
+  nil
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/BasicUser.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/BasicUser.html new file mode 100644 index 0000000..57e4c59 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/BasicUser.html @@ -0,0 +1,368 @@ + + + + + + + Class: Twitter::BasicUser + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::BasicUser

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ screen_name[R] +
+ +
+ + + +
+
+ +
+ + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Client.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Client.html new file mode 100644 index 0000000..a198e0e --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Client.html @@ -0,0 +1,673 @@ + + + + + + + Class: Twitter::Client + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Client

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + + + +
+ access_token[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+ access_token_secret[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+ consumer_key[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+ consumer_secret[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+ proxy[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+ user_agent[W] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + + +
+ new(options = {}) + click to toggle source +
+ + +
+ +

Initializes a new Client object

+ +

@param options [Hash] @return [Twitter::Client]

+ + + +
+
+# File lib/twitter/client.rb, line 21
+def initialize(options = {})
+  options.each do |key, value|
+    send(:"#{key}=", value)
+  end
+  yield(self) if block_given?
+  validate_credential_type!
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ credentials() + click to toggle source +
+ + +
+ +

@return [Hash]

+ + + +
+
+# File lib/twitter/client.rb, line 40
+def credentials
+  {
+    :consumer_key    => consumer_key,
+    :consumer_secret => consumer_secret,
+    :token           => access_token,
+    :token_secret    => access_token_secret,
+  }
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ credentials?() + click to toggle source +
+ + +
+ +

@return [Boolean]

+ + + +
+
+# File lib/twitter/client.rb, line 50
+def credentials?
+  credentials.values.all?
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ user_agent() + click to toggle source +
+ + +
+ +

@return [String]

+ + + +
+
+# File lib/twitter/client.rb, line 35
+def user_agent
+  @user_agent ||= "Twitter Ruby Gem #{Twitter::Version}"
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ user_token?() + click to toggle source +
+ + +
+ +

@return [Boolean]

+ + + +
+
+# File lib/twitter/client.rb, line 30
+def user_token?
+  !!(access_token && access_token_secret)
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Configuration.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Configuration.html new file mode 100644 index 0000000..050cfb5 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Configuration.html @@ -0,0 +1,527 @@ + + + + + + + Class: Twitter::Configuration + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Configuration

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ characters_reserved_per_media[R] +
+ +
+ + + +
+
+ +
+ + +
+ max_media_per_upload[R] +
+ +
+ + + +
+
+ +
+ + +
+ non_username_paths[R] +
+ +
+ + + +
+
+ +
+ + +
+ photo_size_limit[R] +
+ +
+ + + +
+
+ +
+ + +
+ short_uri_length[R] +
+ +
+ + + +
+
+ +
+ + +
+ short_uri_length_https[R] +
+ +
+ + + +
+
+ +
+ + +
+ short_url_length[R] +
+ +
+ + + +
+
+ +
+ + +
+ short_url_length_https[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Instance Methods

+ + +
+ + + +
+ photo_sizes() + click to toggle source +
+ + +
+ +

Returns an array of photo sizes

+ +

@return [Array<Twitter::Size>]

+ + + +
+
+# File lib/twitter/configuration.rb, line 14
+def photo_sizes
+  @attrs.fetch(:photo_sizes, []).inject({}) do |object, (key, value)|
+    object[key] = Size.new(value)
+    object
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Creatable.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Creatable.html new file mode 100644 index 0000000..69d2826 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Creatable.html @@ -0,0 +1,436 @@ + + + + + + + Module: Twitter::Creatable + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Creatable

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ created?() + click to toggle source +
+ + +
+ +

@return [Boolean]

+ + + +
+
+# File lib/twitter/creatable.rb, line 17
+def created?
+  !!@attrs[:created_at]
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ created_at() + click to toggle source +
+ + +
+ +

Time when the object was created on Twitter

+ +

@return [Time]

+ + + +
+
+# File lib/twitter/creatable.rb, line 11
+def created_at
+  Time.parse(@attrs[:created_at]) unless @attrs[:created_at].nil?
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Cursor.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Cursor.html new file mode 100644 index 0000000..c671401 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Cursor.html @@ -0,0 +1,459 @@ + + + + + + + Class: Twitter::Cursor + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Cursor

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ attrs[R] +
+ +
+ + + +
+
+ +
+ + +
+ to_h[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + + +
+ new(attrs, key, klass, request) + click to toggle source +
+ + +
+ +

Initializes a new Cursor

+ +

@param attrs [Hash] @param key [String, Symbol] The key to fetch the data +from the response @param klass [Class] The class to instantiate objects in +the response @param request [Twitter::Request] @return [Twitter::Cursor]

+ + + +
+
+# File lib/twitter/cursor.rb, line 20
+def initialize(attrs, key, klass, request)
+  @key = key.to_sym
+  @klass = klass
+  @client = request.client
+  @request_method = request.verb
+  @path = request.path
+  @options = request.options
+  @collection = []
+  self.attrs = attrs
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/DirectMessage.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/DirectMessage.html new file mode 100644 index 0000000..30c9fad --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/DirectMessage.html @@ -0,0 +1,399 @@ + + + + + + + Class: Twitter::DirectMessage + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::DirectMessage

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ full_text[R] +
+ +
+ + + +
+
+ +
+ + +
+ text[R] +
+ +
+ + + +
+
+ +
+ + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Entities.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Entities.html new file mode 100644 index 0000000..c7cc0f2 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Entities.html @@ -0,0 +1,825 @@ + + + + + + + Module: Twitter::Entities + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Entities

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ entities?() + click to toggle source +
+ + +
+ +

@return [Boolean]

+ + + +
+
+# File lib/twitter/entities.rb, line 13
+def entities?
+  !@attrs[:entities].nil? && @attrs[:entities].any? { |_, array| array.any? }
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ hashtags() + click to toggle source +
+ + +
+ +

@note Must include entities in your request for this method to work @return +[Array<Twitter::Entity::Hashtag>]

+ + + +
+
+# File lib/twitter/entities.rb, line 20
+def hashtags
+  entities(Entity::Hashtag, :hashtags)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ hashtags?() + click to toggle source +
+ + +
+ +

@return [Boolean]

+ + + +
+
+# File lib/twitter/entities.rb, line 26
+def hashtags?
+  hashtags.any?
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ media() + click to toggle source +
+ + +
+ +

@note Must include entities in your request for this method to work @return +[Array<Twitter::Media>]

+ + + +
+
+# File lib/twitter/entities.rb, line 33
+def media
+  extended_entities = entities(MediaFactory, :media, :extended_entities)
+  extended_entities.empty? ? entities(MediaFactory, :media) : extended_entities
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ media?() + click to toggle source +
+ + +
+ +

@return [Boolean]

+ + + +
+
+# File lib/twitter/entities.rb, line 40
+def media?
+  media.any?
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ symbols() + click to toggle source +
+ + +
+ +

@note Must include entities in your request for this method to work @return +[Array<Twitter::Entity::Symbol>]

+ + + +
+
+# File lib/twitter/entities.rb, line 47
+def symbols
+  entities(Entity::Symbol, :symbols)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ symbols?() + click to toggle source +
+ + +
+ +

@return [Boolean]

+ + + +
+
+# File lib/twitter/entities.rb, line 53
+def symbols?
+  symbols.any?
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ uris() + click to toggle source +
+ + +
+ +

@note Must include entities in your request for this method to work @return +[Array<Twitter::Entity::URI>]

+ + + +
+
+# File lib/twitter/entities.rb, line 60
+def uris
+  entities(Entity::URI, :urls)
+end
+
+ +
+ + +
+ Also aliased as: urls +
+ + + +
+ + +
+ + + +
+ uris?() + click to toggle source +
+ + +
+ +

@return [Boolean]

+ + + +
+
+# File lib/twitter/entities.rb, line 67
+def uris?
+  uris.any?
+end
+
+ +
+ + +
+ Also aliased as: urls? +
+ + + +
+ + +
+ + + +
+ urls() + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: uris +
+ +
+ + +
+ + + +
+ urls?() + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: uris? +
+ +
+ + +
+ + + +
+ user_mentions() + click to toggle source +
+ + +
+ +

@note Must include entities in your request for this method to work @return +[Array<Twitter::Entity::UserMention>]

+ + + +
+
+# File lib/twitter/entities.rb, line 74
+def user_mentions
+  entities(Entity::UserMention, :user_mentions)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ user_mentions?() + click to toggle source +
+ + +
+ +

@return [Boolean]

+ + + +
+
+# File lib/twitter/entities.rb, line 80
+def user_mentions?
+  user_mentions.any?
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Entity.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Entity.html new file mode 100644 index 0000000..b59bfaa --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Entity.html @@ -0,0 +1,421 @@ + + + + + + + Class: Twitter::Entity + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ + + +
+ + +
+

Parent

+ + + +
+ + + + + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Entity

+ +
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
URL
+ +
+ + +
Uri
+ +
+ + +
Url
+ +
+ + +
+
+ + + + +
+

Attributes

+ + +
+ + +
+ indices[R] +
+ +
+ + + +
+
+ +
+ + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Entity/Hashtag.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Entity/Hashtag.html new file mode 100644 index 0000000..b8345df --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Entity/Hashtag.html @@ -0,0 +1,368 @@ + + + + + + + Class: Twitter::Entity::Hashtag + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Entity::Hashtag

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ text[R] +
+ +
+ + + +
+
+ +
+ + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Entity/Symbol.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Entity/Symbol.html new file mode 100644 index 0000000..853837a --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Entity/Symbol.html @@ -0,0 +1,368 @@ + + + + + + + Class: Twitter::Entity::Symbol + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Entity::Symbol

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ text[R] +
+ +
+ + + +
+
+ +
+ + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Entity/URI.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Entity/URI.html new file mode 100644 index 0000000..25f6209 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Entity/URI.html @@ -0,0 +1,346 @@ + + + + + + + Class: Twitter::Entity::URL + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Entity::URL

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Entity/UserMention.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Entity/UserMention.html new file mode 100644 index 0000000..e1ee83b --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Entity/UserMention.html @@ -0,0 +1,398 @@ + + + + + + + Class: Twitter::Entity::UserMention + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Entity::UserMention

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ id[R] +
+ +
+ + + +
+
+ +
+ + +
+ name[R] +
+ +
+ + + +
+
+ +
+ + +
+ screen_name[R] +
+ +
+ + + +
+
+ +
+ + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Enumerable.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Enumerable.html new file mode 100644 index 0000000..19e9b5e --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Enumerable.html @@ -0,0 +1,408 @@ + + + + + + + Module: Twitter::Enumerable + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Enumerable

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ each(start = 0) + click to toggle source +
+ + +
+ +

@return [Enumerator]

+ + + +
+
+# File lib/twitter/enumerable.rb, line 6
+def each(start = 0)
+  return to_enum(:each, start) unless block_given?
+  Array(@collection[start..-1]).each do |element|
+    yield(element)
+  end
+  unless last?
+    start = [@collection.size, start].max
+    fetch_next_page
+    each(start, &Proc.new)
+  end
+  self
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error.html new file mode 100644 index 0000000..deef306 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error.html @@ -0,0 +1,643 @@ + + + + + + + Class: Twitter::Error + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ + + +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Error

+ +
+ +

Custom error class for rescuing from all Twitter errors

+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
AlreadyPosted
+ +
+ + +
Codes
+ +
+ + +
EnhanceYourCalm
+ +
+ + +
RateLimited
+ +
+ + +
+
+ + + + +
+

Attributes

+ + +
+ + +
+ code[R] +
+ +
+ + + +
+
+ +
+ + +
+ rate_limit[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + + +
+ errors() + click to toggle source +
+ + +
+ +

@return [Hash]

+ + + +
+
+# File lib/twitter/error.rb, line 44
+def errors
+  @errors ||= {
+    400 => Twitter::Error::BadRequest,
+    401 => Twitter::Error::Unauthorized,
+    403 => Twitter::Error::Forbidden,
+    404 => Twitter::Error::NotFound,
+    406 => Twitter::Error::NotAcceptable,
+    408 => Twitter::Error::RequestTimeout,
+    420 => Twitter::Error::EnhanceYourCalm,
+    422 => Twitter::Error::UnprocessableEntity,
+    429 => Twitter::Error::TooManyRequests,
+    500 => Twitter::Error::InternalServerError,
+    502 => Twitter::Error::BadGateway,
+    503 => Twitter::Error::ServiceUnavailable,
+    504 => Twitter::Error::GatewayTimeout,
+  }
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ forbidden_messages() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/twitter/error.rb, line 62
+def forbidden_messages
+  @forbidden_messages ||= {
+    'Status is a duplicate.' => Twitter::Error::DuplicateStatus,
+    'You have already favorited this status.' => Twitter::Error::AlreadyFavorited,
+    'sharing is not permissible for this status (Share validations failed)' => Twitter::Error::AlreadyRetweeted,
+  }
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ from_response(response) + click to toggle source +
+ + +
+ +

Create a new error from an HTTP response

+ +

@param response [Faraday::Response] @return [Twitter::Error]

+ + + +
+
+# File lib/twitter/error.rb, line 38
+def from_response(response)
+  message, code = parse_error(response.body)
+  new(message, response.response_headers, code)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new(message = '', rate_limit = {}, code = nil) + click to toggle source +
+ + +
+ +

Initializes a new Error object

+ +

@param message [Exception, String] @param rate_limit [Hash] @param code +[Integer] @return [Twitter::Error]

+ + + +
+
+# File lib/twitter/error.rb, line 98
+def initialize(message = '', rate_limit = {}, code = nil)
+  super(message)
+  @rate_limit = Twitter::RateLimit.new(rate_limit)
+  @code = code
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/AlreadyFavorited.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/AlreadyFavorited.html new file mode 100644 index 0000000..936e781 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/AlreadyFavorited.html @@ -0,0 +1,348 @@ + + + + + + + Class: Twitter::Error::AlreadyFavorited + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Error::AlreadyFavorited

+ +
+ +

Raised when a Tweet has already been favorited

+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/AlreadyRetweeted.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/AlreadyRetweeted.html new file mode 100644 index 0000000..1f73c50 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/AlreadyRetweeted.html @@ -0,0 +1,348 @@ + + + + + + + Class: Twitter::Error::AlreadyRetweeted + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Error::AlreadyRetweeted

+ +
+ +

Raised when a Tweet has already been retweeted

+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/BadGateway.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/BadGateway.html new file mode 100644 index 0000000..f1b1c60 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/BadGateway.html @@ -0,0 +1,349 @@ + + + + + + + Class: Twitter::Error::BadGateway + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Error::BadGateway

+ +
+ +

Raised when Twitter returns the HTTP +status code 502

+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/BadRequest.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/BadRequest.html new file mode 100644 index 0000000..eead96d --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/BadRequest.html @@ -0,0 +1,349 @@ + + + + + + + Class: Twitter::Error::BadRequest + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Error::BadRequest

+ +
+ +

Raised when Twitter returns the HTTP +status code 400

+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/ClientError.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/ClientError.html new file mode 100644 index 0000000..8754197 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/ClientError.html @@ -0,0 +1,349 @@ + + + + + + + Class: Twitter::Error::ClientError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Error::ClientError

+ +
+ +

Raised when Twitter returns a 4xx HTTP +status code

+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/Code.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/Code.html new file mode 100644 index 0000000..3a399ec --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/Code.html @@ -0,0 +1,449 @@ + + + + + + + Module: Twitter::Error::Code + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Error::Code

+ +
+ +

If error code is missing see dev.twitter.com/docs/error-codes-responses

+ +
+ + + + +
+ + + + + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/ConfigurationError.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/ConfigurationError.html new file mode 100644 index 0000000..7c3b127 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/ConfigurationError.html @@ -0,0 +1,346 @@ + + + + + + + Class: Twitter::Error::ConfigurationError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Error::ConfigurationError

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/DuplicateStatus.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/DuplicateStatus.html new file mode 100644 index 0000000..10b610e --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/DuplicateStatus.html @@ -0,0 +1,348 @@ + + + + + + + Class: Twitter::Error::DuplicateStatus + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Error::DuplicateStatus

+ +
+ +

Raised when a Tweet has already been posted

+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/Forbidden.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/Forbidden.html new file mode 100644 index 0000000..6ffe50f --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/Forbidden.html @@ -0,0 +1,349 @@ + + + + + + + Class: Twitter::Error::Forbidden + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Error::Forbidden

+ +
+ +

Raised when Twitter returns the HTTP +status code 403

+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/GatewayTimeout.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/GatewayTimeout.html new file mode 100644 index 0000000..8ab6edd --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/GatewayTimeout.html @@ -0,0 +1,349 @@ + + + + + + + Class: Twitter::Error::GatewayTimeout + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Error::GatewayTimeout

+ +
+ +

Raised when Twitter returns the HTTP +status code 504

+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/InternalServerError.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/InternalServerError.html new file mode 100644 index 0000000..6713f1e --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/InternalServerError.html @@ -0,0 +1,349 @@ + + + + + + + Class: Twitter::Error::InternalServerError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Error::InternalServerError

+ +
+ +

Raised when Twitter returns the HTTP +status code 500

+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/NotAcceptable.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/NotAcceptable.html new file mode 100644 index 0000000..64eeda6 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/NotAcceptable.html @@ -0,0 +1,349 @@ + + + + + + + Class: Twitter::Error::NotAcceptable + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Error::NotAcceptable

+ +
+ +

Raised when Twitter returns the HTTP +status code 406

+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/NotFound.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/NotFound.html new file mode 100644 index 0000000..fe36d5a --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/NotFound.html @@ -0,0 +1,349 @@ + + + + + + + Class: Twitter::Error::NotFound + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Error::NotFound

+ +
+ +

Raised when Twitter returns the HTTP +status code 404

+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/RequestTimeout.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/RequestTimeout.html new file mode 100644 index 0000000..8faef16 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/RequestTimeout.html @@ -0,0 +1,349 @@ + + + + + + + Class: Twitter::Error::RequestTimeout + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Error::RequestTimeout

+ +
+ +

Raised when Twitter returns the HTTP +status code 408

+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/ServerError.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/ServerError.html new file mode 100644 index 0000000..4136161 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/ServerError.html @@ -0,0 +1,349 @@ + + + + + + + Class: Twitter::Error::ServerError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Error::ServerError

+ +
+ +

Raised when Twitter returns a 5xx HTTP +status code

+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/ServiceUnavailable.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/ServiceUnavailable.html new file mode 100644 index 0000000..539ad05 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/ServiceUnavailable.html @@ -0,0 +1,349 @@ + + + + + + + Class: Twitter::Error::ServiceUnavailable + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Error::ServiceUnavailable

+ +
+ +

Raised when Twitter returns the HTTP +status code 503

+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/TooManyRequests.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/TooManyRequests.html new file mode 100644 index 0000000..48c536d --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/TooManyRequests.html @@ -0,0 +1,349 @@ + + + + + + + Class: Twitter::Error::TooManyRequests + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Error::TooManyRequests

+ +
+ +

Raised when Twitter returns the HTTP +status code 429

+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/UnacceptableIO.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/UnacceptableIO.html new file mode 100644 index 0000000..bf6e139 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/UnacceptableIO.html @@ -0,0 +1,398 @@ + + + + + + + Class: Twitter::Error::UnacceptableIO + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Error::UnacceptableIO

+ +
+ +

Raised when a Tweet includes media that doesn’t +have a to_io method

+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/twitter/error.rb, line 108
+def initialize
+  super('The IO object for media must respond to to_io')
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/Unauthorized.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/Unauthorized.html new file mode 100644 index 0000000..172f309 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/Unauthorized.html @@ -0,0 +1,349 @@ + + + + + + + Class: Twitter::Error::Unauthorized + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Error::Unauthorized

+ +
+ +

Raised when Twitter returns the HTTP +status code 401

+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/UnprocessableEntity.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/UnprocessableEntity.html new file mode 100644 index 0000000..5473679 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Error/UnprocessableEntity.html @@ -0,0 +1,349 @@ + + + + + + + Class: Twitter::Error::UnprocessableEntity + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Error::UnprocessableEntity

+ +
+ +

Raised when Twitter returns the HTTP +status code 422

+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Factory.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Factory.html new file mode 100644 index 0000000..4b7201d --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Factory.html @@ -0,0 +1,401 @@ + + + + + + + Class: Twitter::Factory + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Factory

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ new(method, klass, attrs = {}) + click to toggle source +
+ + +
+ +

Construct a new object

+ +

@param method [Symbol] @param klass [Class] @param attrs [Hash] @raise +[IndexError] Error raised when supplied argument +is missing a key. @return [Twitter::Base]

+ + + +
+
+# File lib/twitter/factory.rb, line 11
+def new(method, klass, attrs = {})
+  type = attrs.fetch(method.to_sym)
+  const_name = type.gsub(/\/(.?)/) { "::#{Regexp.last_match[1].upcase}" }.gsub(/(?:^|_)(.)/) { Regexp.last_match[1].upcase }
+  klass.const_get(const_name.to_sym).new(attrs)
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Geo.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Geo.html new file mode 100644 index 0000000..91d1f58 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Geo.html @@ -0,0 +1,413 @@ + + + + + + + Class: Twitter::Geo + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + +
+

Namespace

+ +
+ + + + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Geo

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ coordinates[R] +
+ +
+ + + +
+
+ +
+ + +
+ coords[R] +
+ +
+ + + +
+
+ +
+ + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Geo/Point.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Geo/Point.html new file mode 100644 index 0000000..f5e2688 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Geo/Point.html @@ -0,0 +1,531 @@ + + + + + + + Class: Twitter::Geo::Point + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Geo::Point

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ lat() + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: latitude +
+ +
+ + +
+ + + +
+ latitude() + click to toggle source +
+ + +
+ +

@return [Integer]

+ + + +
+
+# File lib/twitter/geo/point.rb, line 7
+def latitude
+  coordinates[0]
+end
+
+ +
+ + +
+ Also aliased as: lat +
+ + + +
+ + +
+ + + +
+ lng() + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: longitude +
+ +
+ + +
+ + + +
+ long() + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: longitude +
+ +
+ + +
+ + + +
+ longitude() + click to toggle source +
+ + +
+ +

@return [Integer]

+ + + +
+
+# File lib/twitter/geo/point.rb, line 13
+def longitude
+  coordinates[1]
+end
+
+ +
+ + +
+ Also aliased as: long, lng +
+ + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Geo/Polygon.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Geo/Polygon.html new file mode 100644 index 0000000..7303106 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Geo/Polygon.html @@ -0,0 +1,346 @@ + + + + + + + Class: Twitter::Geo::Polygon + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Geo::Polygon

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/GeoFactory.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/GeoFactory.html new file mode 100644 index 0000000..482469f --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/GeoFactory.html @@ -0,0 +1,399 @@ + + + + + + + Class: Twitter::GeoFactory + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::GeoFactory

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ new(attrs = {}) + click to toggle source +
+ + +
+ +

Construct a new geo object

+ +

@param attrs [Hash] @raise [IndexError] Error +raised when supplied argument is missing a :type key. @return +[Twitter::Geo]

+ + + +
+
+# File lib/twitter/geo_factory.rb, line 13
+def new(attrs = {})
+  super(:type, Geo, attrs)
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/GeoResults.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/GeoResults.html new file mode 100644 index 0000000..1efd235 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/GeoResults.html @@ -0,0 +1,494 @@ + + + + + + + Class: Twitter::GeoResults + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::GeoResults

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ attrs[R] +
+ +
+ + + +
+
+ +
+ + +
+ to_h[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + + +
+ new(attrs = {}) + click to toggle source +
+ + +
+ +

Initializes a new GeoResults object

+ +

@param attrs [Hash] @return [Twitter::GeoResults]

+ + + +
+
+# File lib/twitter/geo_results.rb, line 17
+def initialize(attrs = {})
+  @attrs = attrs
+  @collection = @attrs[:result].fetch(:places, []).collect do |place|
+    Place.new(place)
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ token() + click to toggle source +
+ + +
+ +

@return [String]

+ + + +
+
+# File lib/twitter/geo_results.rb, line 25
+def token
+  @attrs[:token]
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Identity.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Identity.html new file mode 100644 index 0000000..d65b90e --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Identity.html @@ -0,0 +1,434 @@ + + + + + + + Class: Twitter::Identity + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Identity

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ id[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + + +
+ new(attrs = {}) + click to toggle source +
+ + +
+ +

Initializes a new object

+ +

@param attrs [Hash] @raise [ArgumentError] Error +raised when supplied argument is missing an :id key. @return +[Twitter::Identity]

+ + + +
+
+# File lib/twitter/identity.rb, line 14
+def initialize(attrs = {})
+  attrs.fetch(:id)
+  super
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Language.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Language.html new file mode 100644 index 0000000..ab87070 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Language.html @@ -0,0 +1,398 @@ + + + + + + + Class: Twitter::Language + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Language

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ code[R] +
+ +
+ + + +
+
+ +
+ + +
+ name[R] +
+ +
+ + + +
+
+ +
+ + +
+ status[R] +
+ +
+ + + +
+
+ +
+ + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/List.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/List.html new file mode 100644 index 0000000..968e658 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/List.html @@ -0,0 +1,694 @@ + + + + + + + Class: Twitter::List + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::List

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ description[R] +
+ +
+ + + +
+
+ +
+ + +
+ full_name[R] +
+ +
+ + + +
+
+ +
+ + +
+ member_count[R] +
+ +
+ + + +
+
+ +
+ + +
+ mode[R] +
+ +
+ + + +
+
+ +
+ + +
+ name[R] +
+ +
+ + + +
+
+ +
+ + +
+ slug[R] +
+ +
+ + + +
+
+ +
+ + +
+ subscriber_count[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Instance Methods

+ + +
+ + + +
+ members_uri() + click to toggle source +
+ + +
+ +

@return [Addressable::URI] The URI to the list members.

+ + + +
+
+# File lib/twitter/list.rb, line 13
+def members_uri
+  Addressable::URI.parse("https://twitter.com/#{user.screen_name}/#{slug}/members")
+end
+
+ +
+ + +
+ Also aliased as: members_url +
+ + + +
+ + +
+ + + +
+ members_url() + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: members_uri +
+ +
+ + +
+ + + +
+ subscribers_uri() + click to toggle source +
+ + +
+ +

@return [Addressable::URI] The URI to the list subscribers.

+ + + +
+
+# File lib/twitter/list.rb, line 20
+def subscribers_uri
+  Addressable::URI.parse("https://twitter.com/#{user.screen_name}/#{slug}/subscribers")
+end
+
+ +
+ + +
+ Also aliased as: subscribers_url +
+ + + +
+ + +
+ + + +
+ subscribers_url() + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: subscribers_uri +
+ +
+ + +
+ + + +
+ uri() + click to toggle source +
+ + +
+ +

@return [Addressable::URI] The URI to the list.

+ + + +
+
+# File lib/twitter/list.rb, line 27
+def uri
+  Addressable::URI.parse("https://twitter.com/#{user.screen_name}/#{slug}")
+end
+
+ +
+ + +
+ Also aliased as: url +
+ + + +
+ + +
+ + + +
+ url() + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: uri +
+ +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Media.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Media.html new file mode 100644 index 0000000..4f44692 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Media.html @@ -0,0 +1,348 @@ + + + + + + + Module: Twitter::Media + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + +
+

Namespace

+ +
+ + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Media

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Media/Photo.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Media/Photo.html new file mode 100644 index 0000000..a607b6a --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Media/Photo.html @@ -0,0 +1,422 @@ + + + + + + + Class: Twitter::Media::Photo + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Media::Photo

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ indices[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Instance Methods

+ + +
+ + + +
+ sizes() + click to toggle source +
+ + +
+ +

Returns an array of photo sizes

+ +

@return [Array<Twitter::Size>]

+ + + +
+
+# File lib/twitter/media/photo.rb, line 13
+def sizes
+  @attrs.fetch(:sizes, []).inject({}) do |object, (key, value)|
+    object[key] = Size.new(value)
+    object
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/MediaFactory.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/MediaFactory.html new file mode 100644 index 0000000..1c048c6 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/MediaFactory.html @@ -0,0 +1,399 @@ + + + + + + + Class: Twitter::MediaFactory + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::MediaFactory

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ new(attrs = {}) + click to toggle source +
+ + +
+ +

Construct a new media object

+ +

@param attrs [Hash] @raise [IndexError] Error +raised when supplied argument is missing a :type key. @return +[Twitter::Media]

+ + + +
+
+# File lib/twitter/media_factory.rb, line 12
+def new(attrs = {})
+  super(:type, Media, attrs)
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Metadata.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Metadata.html new file mode 100644 index 0000000..70cf034 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Metadata.html @@ -0,0 +1,383 @@ + + + + + + + Class: Twitter::Metadata + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Metadata

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ iso_language_code[R] +
+ +
+ + + +
+
+ +
+ + +
+ result_type[R] +
+ +
+ + + +
+
+ +
+ + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/OEmbed.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/OEmbed.html new file mode 100644 index 0000000..145a754 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/OEmbed.html @@ -0,0 +1,473 @@ + + + + + + + Class: Twitter::OEmbed + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::OEmbed

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ author_name[R] +
+ +
+ + + +
+
+ +
+ + +
+ cache_age[R] +
+ +
+ + + +
+
+ +
+ + +
+ height[R] +
+ +
+ + + +
+
+ +
+ + +
+ html[R] +
+ +
+ + + +
+
+ +
+ + +
+ provider_name[R] +
+ +
+ + + +
+
+ +
+ + +
+ type[R] +
+ +
+ + + +
+
+ +
+ + +
+ version[R] +
+ +
+ + + +
+
+ +
+ + +
+ width[R] +
+ +
+ + + +
+
+ +
+ + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Place.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Place.html new file mode 100644 index 0000000..73ca6bb --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Place.html @@ -0,0 +1,578 @@ + + + + + + + Class: Twitter::Place + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Place

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ attributes[R] +
+ +
+ + + +
+
+ +
+ + +
+ country[R] +
+ +
+ + + +
+
+ +
+ + +
+ full_name[R] +
+ +
+ + + +
+
+ +
+ + +
+ name[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + + +
+ new(attrs = {}) + click to toggle source +
+ + +
+ +

Initializes a new place

+ +

@param attrs [Hash] @raise [ArgumentError] Error +raised when supplied argument is missing a :woeid key. @return +[Twitter::Place]

+ + + +
+
+# File lib/twitter/place.rb, line 19
+def initialize(attrs = {})
+  attrs[:id] ||= attrs.fetch(:woeid)
+  super
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ country_code() + click to toggle source +
+ + +
+ +

@return [String]

+ + + +
+
+# File lib/twitter/place.rb, line 25
+def country_code
+  @attrs[:country_code] || @attrs[:countryCode] # rubocop:disable SymbolName
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ parent_id() + click to toggle source +
+ + +
+ +

@return [Integer]

+ + + +
+
+# File lib/twitter/place.rb, line 31
+def parent_id
+  @attrs[:parentid]
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ place_type() + click to toggle source +
+ + +
+ +

@return [String]

+ + + +
+
+# File lib/twitter/place.rb, line 37
+def place_type
+  @attrs[:place_type] || @attrs[:placeType] && @attrs[:placeType][:name] # rubocop:disable SymbolName
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Profile.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Profile.html new file mode 100644 index 0000000..9abd499 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Profile.html @@ -0,0 +1,752 @@ + + + + + + + Module: Twitter::Profile + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + + + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Profile

+ +
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
PREDICATE_URI_METHOD_REGEX
+ +
+ + +
PROFILE_IMAGE_SUFFIX_REGEX
+ +
+ + +
+
+ + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ profile_banner_uri(size = :web) + click to toggle source +
+ + +
+ +

Return the URL to the user’s profile banner image

+ +

@param size [String, Symbol] The size of the image. Must be one of: +‘mobile’, ‘mobile_retina’, ‘web’, ‘web_retina’, ‘ipad’, or ‘ipad_retina’ +@return [Addressable::URI]

+ + + +
+
+# File lib/twitter/profile.rb, line 28
+def profile_banner_uri(size = :web)
+  parse_encoded_uri(insecure_uri([@attrs[:profile_banner_url], size].join('/'))) unless @attrs[:profile_banner_url].nil?
+end
+
+ +
+ + +
+ Also aliased as: profile_banner_url +
+ + + +
+ + +
+ + + +
+ profile_banner_uri?() + click to toggle source +
+ + +
+ +

@return [Boolean]

+ + + +
+
+# File lib/twitter/profile.rb, line 43
+def profile_banner_uri?
+  !!@attrs[:profile_banner_url]
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ profile_banner_uri_https(size = :web) + click to toggle source +
+ + +
+ +

Return the secure URL to the user’s profile banner image

+ +

@param size [String, Symbol] The size of the image. Must be one of: +‘mobile’, ‘mobile_retina’, ‘web’, ‘web_retina’, ‘ipad’, or ‘ipad_retina’ +@return [Addressable::URI]

+ + + +
+
+# File lib/twitter/profile.rb, line 37
+def profile_banner_uri_https(size = :web)
+  parse_encoded_uri([@attrs[:profile_banner_url], size].join('/')) unless @attrs[:profile_banner_url].nil?
+end
+
+ +
+ + +
+ Also aliased as: profile_banner_url_https +
+ + + +
+ + +
+ + + +
+ profile_banner_url(size = :web) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: profile_banner_uri +
+ +
+ + +
+ + + +
+ profile_banner_url_https(size = :web) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: profile_banner_uri_https +
+ +
+ + +
+ + + +
+ profile_image_uri(size = :normal) + click to toggle source +
+ + +
+ +

Return the URL to the user’s profile image

+ +

@param size [String, Symbol] The size of the image. Must be one of: ‘mini’, +‘normal’, ‘bigger’ or ‘original’ @return [Addressable::URI]

+ + + +
+
+# File lib/twitter/profile.rb, line 53
+def profile_image_uri(size = :normal)
+  parse_encoded_uri(insecure_uri(profile_image_uri_https(size))) unless @attrs[:profile_image_url_https].nil?
+end
+
+ +
+ + +
+ Also aliased as: profile_image_url +
+ + + +
+ + +
+ + + +
+ profile_image_uri?() + click to toggle source +
+ + +
+ +

@return [Boolean]

+ + + +
+
+# File lib/twitter/profile.rb, line 74
+def profile_image_uri?
+  !!@attrs[:profile_image_url_https]
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ profile_image_uri_https(size = :normal) + click to toggle source +
+ + +
+ +

Return the secure URL to the user’s profile image

+ +

@param size [String, Symbol] The size of the image. Must be one of: ‘mini’, +‘normal’, ‘bigger’ or ‘original’ @return [Addressable::URI]

+ + + +
+
+# File lib/twitter/profile.rb, line 62
+def profile_image_uri_https(size = :normal)
+  # The profile image URL comes in looking like like this:
+  # https://a0.twimg.com/profile_images/1759857427/image1326743606_normal.png
+  # It can be converted to any of the following sizes:
+  # https://a0.twimg.com/profile_images/1759857427/image1326743606.png
+  # https://a0.twimg.com/profile_images/1759857427/image1326743606_mini.png
+  # https://a0.twimg.com/profile_images/1759857427/image1326743606_bigger.png
+  parse_encoded_uri(@attrs[:profile_image_url_https].sub(PROFILE_IMAGE_SUFFIX_REGEX, profile_image_suffix(size))) unless @attrs[:profile_image_url_https].nil?
+end
+
+ +
+ + +
+ Also aliased as: profile_image_url_https +
+ + + +
+ + +
+ + + +
+ profile_image_url(size = :normal) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: profile_image_uri +
+ +
+ + +
+ + + +
+ profile_image_url_https(size = :normal) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: profile_image_uri_https +
+ +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/ProfileBanner.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/ProfileBanner.html new file mode 100644 index 0000000..5b957b4 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/ProfileBanner.html @@ -0,0 +1,400 @@ + + + + + + + Class: Twitter::ProfileBanner + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::ProfileBanner

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ sizes() + click to toggle source +
+ + +
+ +

Returns an array of photo sizes

+ +

@return [Array<Twitter::Size>]

+ + + +
+
+# File lib/twitter/profile_banner.rb, line 8
+def sizes
+  @attrs.fetch(:sizes, []).inject({}) do |object, (key, value)|
+    object[key] = Size.new(value)
+    object
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST.html new file mode 100644 index 0000000..5a2f21b --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST.html @@ -0,0 +1,459 @@ + + + + + + + Module: Twitter::REST + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ + + + + +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::REST

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/API.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/API.html new file mode 100644 index 0000000..3c114f8 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/API.html @@ -0,0 +1,414 @@ + + + + + + + Module: Twitter::REST::API + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ + + +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::REST::API

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Client.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Client.html new file mode 100644 index 0000000..946156e --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Client.html @@ -0,0 +1,741 @@ + + + + + + + Class: Twitter::REST::Client + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + + + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::REST::Client

+ +
+ +

Wrapper for the Twitter REST API

+ +

@note All methods have been separated into modules and follow the same +grouping used in {dev.twitter.com/doc the Twitter API +Documentation}. @see dev.twitter.com/pages/every_developer

+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
ENDPOINT
+ +
+ + +
URL_PREFIX
+ +
+ + +
+
+ + + + +
+

Attributes

+ + +
+ + + + +
+ bearer_token[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Instance Methods

+ + +
+ + + +
+ bearer_token?() + click to toggle source +
+ + +
+ +

@return [Boolean]

+ + + +
+
+# File lib/twitter/rest/client.rb, line 89
+def bearer_token?
+  !!bearer_token
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ connection_options() + click to toggle source +
+ + +
+ +

@return [Hash]

+ + + +
+
+# File lib/twitter/rest/client.rb, line 33
+def connection_options
+  @connection_options ||= {
+    :builder => middleware,
+    :headers => {
+      :accept => 'application/json',
+      :user_agent => user_agent,
+    },
+    :request => {
+      :open_timeout => 10,
+      :timeout => 30,
+    },
+    :proxy => proxy
+  }
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ connection_options=(connection_options) + click to toggle source +
+ + +
+ +

@param connection_options +[Hash] @return [Hash]

+ + + +
+
+# File lib/twitter/rest/client.rb, line 27
+def connection_options=(connection_options)
+  warn "#{Kernel.caller.first}: [DEPRECATION] Twitter::REST::Client#connection_options= is deprecated and will be removed in version 6.0.0."
+  @connection_options = connection_options
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ credentials?() + click to toggle source +
+ + +
+ +

@return [Boolean]

+ + + +
+
+# File lib/twitter/rest/client.rb, line 94
+def credentials?
+  super || bearer_token?
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ get(path, params = {}) + click to toggle source +
+ + +
+ +

Perform an HTTP GET request

+ + + +
+
+# File lib/twitter/rest/client.rb, line 77
+def get(path, params = {})
+  headers = request_headers(:get, URL_PREFIX + path, params)
+  request(:get, path, params, headers)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ middleware() + click to toggle source +
+ + +
+ +

@note Faraday’s middleware stack implementation is comparable to that of +Rack middleware. The order of middleware is important: the first +middleware on the list wraps all others, while the last middleware is the +innermost one. @see github.com/technoweenie/faraday#advanced-middleware-usage +@see mislav.uniqpath.com/2011/07/faraday-advanced-http/ +@return [Faraday::RackBuilder]

+ + + +
+
+# File lib/twitter/rest/client.rb, line 59
+def middleware
+  @middleware ||= Faraday::RackBuilder.new do |faraday|
+    # Convert file uploads to Faraday::UploadIO objects
+    faraday.request :multipart_with_file
+    # Checks for files in the payload, otherwise leaves everything untouched
+    faraday.request :multipart
+    # Encodes as "application/x-www-form-urlencoded" if not already encoded
+    faraday.request :url_encoded
+    # Handle error responses
+    faraday.response :raise_error
+    # Parse JSON response bodies
+    faraday.response :parse_json
+    # Set default HTTP adapter
+    faraday.adapter :net_http
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ middleware=(middleware) + click to toggle source +
+ + +
+ +

@params middleware [Faraday::RackBuilder] @return [Faraday::RackBuilder]

+ + + +
+
+# File lib/twitter/rest/client.rb, line 50
+def middleware=(middleware)
+  warn "#{Kernel.caller.first}: [DEPRECATION] Twitter::REST::Client#middleware= is deprecated and will be removed in version 6.0.0."
+  @middleware = middleware
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ post(path, params = {}) + click to toggle source +
+ + +
+ +

Perform an HTTP POST request

+ + + +
+
+# File lib/twitter/rest/client.rb, line 83
+def post(path, params = {})
+  headers = params.values.any? { |value| value.respond_to?(:to_io) } ? request_headers(:post, URL_PREFIX + path, params, {}) : request_headers(:post, URL_PREFIX + path, params)
+  request(:post, path, params, headers)
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/DirectMessages.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/DirectMessages.html new file mode 100644 index 0000000..9ece3a3 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/DirectMessages.html @@ -0,0 +1,791 @@ + + + + + + + Module: Twitter::REST::DirectMessages + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + + + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::REST::DirectMessages

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ create_direct_message(user, text, options = {}) + click to toggle source +
+ + +
+ +

Sends a new direct message to the specified user from the authenticating +user

+ +

@see dev.twitter.com/docs/api/1.1/post/direct_messages/new +@rate_limited No @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Twitter::DirectMessage] The sent message. @param user [Integer, String, +Twitter::User] A Twitter user ID, screen +name, URI, or object. @param text [String] The text of your direct message, +up to 140 characters. @param options [Hash] A customizable set of options.

+ + + +
+
+# File lib/twitter/rest/direct_messages.rb, line 127
+def create_direct_message(user, text, options = {})
+  merge_user!(options, user)
+  options[:text] = text
+  perform_with_object(:post, '/1.1/direct_messages/new.json', options, Twitter::DirectMessage)
+end
+
+ +
+ + +
+ Also aliased as: d, m, dm +
+ + + +
+ + +
+ + + +
+ d(user, text, options = {}) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: create_direct_message +
+ +
+ + +
+ + + +
+ destroy_direct_message(*args) + click to toggle source +
+ + +
+ +

Destroys direct messages

+ +

@see dev.twitter.com/docs/api/1.1/post/direct_messages/destroy +@note This method requires an access token with RWD (read, write & +direct message) permissions. Consult The Application Permission Model for +more information. @rate_limited No @authentication Requires user context +@raise [Twitter::Error::Unauthorized] Error +raised when supplied user credentials are not valid. @return +[Array<Twitter::DirectMessage>] Deleted direct message. @overload destroy_direct_message(*ids)

+ +
@param ids [Enumerable<Integer>] A collection of direct message IDs.
+ +

@overload destroy_direct_message(*ids, +options)

+ +
@param ids [Enumerable<Integer>] A collection of direct message IDs.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/direct_messages.rb, line 112
+def destroy_direct_message(*args)
+  parallel_objects_from_response(Twitter::DirectMessage, :post, '/1.1/direct_messages/destroy.json', args)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ direct_message(id, options = {}) + click to toggle source +
+ + +
+ +

Returns a direct message

+ +

@see dev.twitter.com/docs/api/1.1/get/direct_messages/show +@note This method requires an access token with RWD (read, write & +direct message) permissions. Consult The Application Permission Model for +more information. @rate_limited Yes @authentication Requires user context +@raise [Twitter::Error::Unauthorized] Error +raised when supplied user credentials are not valid. @return +[Twitter::DirectMessage] The requested messages. @param id [Integer] A +direct message ID. @param options [Hash] A customizable set of options.

+ + + +
+
+# File lib/twitter/rest/direct_messages.rb, line 58
+def direct_message(id, options = {})
+  options[:id] = id
+  perform_with_object(:get, '/1.1/direct_messages/show.json', options, Twitter::DirectMessage)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ direct_messages(*args) + click to toggle source +
+ + +
+ +

@note This method requires an access token with RWD (read, write & +direct message) permissions. Consult The Application Permission Model for +more information. @rate_limited Yes @authentication Requires user context +@raise [Twitter::Error::Unauthorized] Error +raised when supplied user credentials are not valid. @return +[Array<Twitter::DirectMessage>] The requested messages. @overload direct_messages(options += {})

+ +
Returns the 20 most recent direct messages sent to the authenticating user
+
+@see https://dev.twitter.com/docs/api/1.1/get/direct_messages
+@param options [Hash] A customizable set of options.
+@option options [Integer] :since_id Returns results with an ID greater than (that is, more recent than) the specified ID.
+@option options [Integer] :max_id Returns results with an ID less than (that is, older than) or equal to the specified ID.
+@option options [Integer] :count Specifies the number of records to retrieve. Must be less than or equal to 200.
+@option options [Integer] :page Specifies the page of results to retrieve.
+ +

@overload direct_messages(*ids)

+ +
Returns direct messages
+
+@see https://dev.twitter.com/docs/api/1.1/get/direct_messages/show
+@param ids [Enumerable<Integer>] A collection of direct message IDs.
+ +

@overload direct_messages(*ids, +options)

+ +
Returns direct messages
+
+@see https://dev.twitter.com/docs/api/1.1/get/direct_messages/show
+@param ids [Enumerable<Integer>] A collection of direct message IDs.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/direct_messages.rb, line 88
+def direct_messages(*args)
+  arguments = Twitter::Arguments.new(args)
+  if arguments.empty?
+    direct_messages_received(arguments.options)
+  else
+    pmap(arguments) do |id|
+      direct_message(id, arguments.options)
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ direct_messages_received(options = {}) + click to toggle source +
+ + +
+ +

Returns the 20 most recent direct messages sent to the authenticating user

+ +

@see dev.twitter.com/docs/api/1.1/get/direct_messages +@note This method requires an access token with RWD (read, write & +direct message) permissions. Consult The Application Permission Model for +more information. @rate_limited Yes @authentication Requires user context +@raise [Twitter::Error::Unauthorized] Error +raised when supplied user credentials are not valid. @return +[Array<Twitter::DirectMessage>] Direct messages sent to the +authenticating user. @param options [Hash] A customizable set of options. +@option options [Integer] :since_id Returns results with an ID greater than +(that is, more recent than) the specified ID. @option options [Integer] +:max_id Returns results with an ID less than (that is, older than) or equal +to the specified ID. @option options [Integer] :count Specifies the number +of records to retrieve. Must be less than or equal to 200. @option options +[Integer] :page Specifies the page of results to retrieve.

+ + + +
+
+# File lib/twitter/rest/direct_messages.rb, line 27
+def direct_messages_received(options = {})
+  perform_with_objects(:get, '/1.1/direct_messages.json', options, Twitter::DirectMessage)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ direct_messages_sent(options = {}) + click to toggle source +
+ + +
+ +

Returns the 20 most recent direct messages sent by the authenticating user

+ +

@see dev.twitter.com/docs/api/1.1/get/direct_messages/sent +@note This method requires an access token with RWD (read, write & +direct message) permissions. Consult The Application Permission Model for +more information. @rate_limited Yes @authentication Requires user context +@raise [Twitter::Error::Unauthorized] Error +raised when supplied user credentials are not valid. @return +[Array<Twitter::DirectMessage>] Direct messages sent by the +authenticating user. @param options [Hash] A customizable set of options. +@option options [Integer] :since_id Returns results with an ID greater than +(that is, more recent than) the specified ID. @option options [Integer] +:max_id Returns results with an ID less than (that is, older than) or equal +to the specified ID. @option options [Integer] :count Specifies the number +of records to retrieve. Must be less than or equal to 200. @option options +[Integer] :page Specifies the page of results to retrieve.

+ + + +
+
+# File lib/twitter/rest/direct_messages.rb, line 44
+def direct_messages_sent(options = {})
+  perform_with_objects(:get, '/1.1/direct_messages/sent.json', options, Twitter::DirectMessage)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ dm(user, text, options = {}) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: create_direct_message +
+ +
+ + +
+ + + +
+ m(user, text, options = {}) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: create_direct_message +
+ +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Favorites.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Favorites.html new file mode 100644 index 0000000..a4600a7 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Favorites.html @@ -0,0 +1,790 @@ + + + + + + + Module: Twitter::REST::Favorites + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::REST::Favorites

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ create_favorite!(*args) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: favorite! +
+ +
+ + +
+ + + +
+ destroy_favorite(*args) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: unfavorite +
+ +
+ + +
+ + + +
+ fav(*args) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: favorite +
+ +
+ + +
+ + + +
+ fav!(*args) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: favorite! +
+ +
+ + +
+ + + +
+ fave(*args) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: favorite +
+ +
+ + +
+ + + +
+ fave!(*args) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: favorite! +
+ +
+ + +
+ + + +
+ favorite(*args) + click to toggle source +
+ + +
+ +

Favorites the specified Tweets as the authenticating user

+ +

@see dev.twitter.com/docs/api/1.1/post/favorites/create +@rate_limited No @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::Tweet>] The favorited Tweets. @overload favorite(*tweets)

+ +
@param tweets [Enumerable<Integer, String, URI, Twitter::Tweet>] A collection of Tweet IDs, URIs, or objects.
+ +

@overload favorite(*tweets, options)

+ +
@param tweets [Enumerable<Integer, String, URI, Twitter::Tweet>] A collection of Tweet IDs, URIs, or objects.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/favorites.rb, line 69
+def favorite(*args)
+  arguments = Twitter::Arguments.new(args)
+  pmap(arguments) do |tweet|
+    begin
+      perform_with_object(:post, '/1.1/favorites/create.json', arguments.options.merge(:id => extract_id(tweet)), Twitter::Tweet)
+    rescue Twitter::Error::AlreadyFavorited
+      next
+    end
+  end.compact
+end
+
+ +
+ + +
+ Also aliased as: fav, fave +
+ + + +
+ + +
+ + + +
+ favorite!(*args) + click to toggle source +
+ + +
+ +

Favorites the specified Tweets as the authenticating user and raises an +error if one has already been favorited

+ +

@see dev.twitter.com/docs/api/1.1/post/favorites/create +@rate_limited No @authentication Requires user context @raise +[Twitter::Error::AlreadyFavorited] Error raised +when tweet has already been favorited. @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::Tweet>] The favorited Tweets. @overload favorite(*tweets)

+ +
@param tweets [Enumerable<Integer, String, URI, Twitter::Tweet>] A collection of Tweet IDs, URIs, or objects.
+ +

@overload favorite(*tweets, options)

+ +
@param tweets [Enumerable<Integer, String, URI, Twitter::Tweet>] A collection of Tweet IDs, URIs, or objects.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/favorites.rb, line 96
+def favorite!(*args)
+  arguments = Twitter::Arguments.new(args)
+  pmap(arguments) do |tweet|
+    perform_with_object(:post, '/1.1/favorites/create.json', arguments.options.merge(:id => extract_id(tweet)), Twitter::Tweet)
+  end
+end
+
+ +
+ + +
+ Also aliased as: create_favorite!, fav!, fave! +
+ + + +
+ + +
+ + + +
+ favorites(*args) + click to toggle source +
+ + +
+ +

@see dev.twitter.com/docs/api/1.1/get/favorites/list +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::Tweet>] favorite Tweets. +@overload favorites(options = {})

+ +
Returns the 20 most recent favorite Tweets for the authenticating user
+
+@param options [Hash] A customizable set of options.
+@option options [Integer] :count Specifies the number of records to retrieve. Must be less than or equal to 100.
+@option options [Integer] :since_id Returns results with an ID greater than (that is, more recent than) the specified ID.
+ +

@overload favorites(user, options = {})

+ +
Returns the 20 most recent favorite Tweets for the specified user
+
+@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param options [Hash] A customizable set of options.
+@option options [Integer] :count Specifies the number of records to retrieve. Must be less than or equal to 100.
+@option options [Integer] :since_id Returns results with an ID greater than (that is, more recent than) the specified ID.
+ + + +
+
+# File lib/twitter/rest/favorites.rb, line 33
+def favorites(*args)
+  arguments = Twitter::Arguments.new(args)
+  merge_user!(arguments.options, arguments.pop) if arguments.last
+  perform_with_objects(:get, '/1.1/favorites/list.json', arguments.options, Twitter::Tweet)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ unfavorite(*args) + click to toggle source +
+ + +
+ +

Un-favorites the specified Tweets as the +authenticating user

+ +

@see dev.twitter.com/docs/api/1.1/post/favorites/destroy +@rate_limited No @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::Tweet>] The un-favorited Tweets. @overload unfavorite(*tweets)

+ +
@param tweets [Enumerable<Integer, String, URI, Twitter::Tweet>] A collection of Tweet IDs, URIs, or objects.
+ +

@overload unfavorite(*tweets, options)

+ +
@param tweets [Enumerable<Integer, String, URI, Twitter::Tweet>] A collection of Tweet IDs, URIs, or objects.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/favorites.rb, line 51
+def unfavorite(*args)
+  parallel_objects_from_response(Twitter::Tweet, :post, '/1.1/favorites/destroy.json', args)
+end
+
+ +
+ + +
+ Also aliased as: destroy_favorite +
+ + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/FriendsAndFollowers.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/FriendsAndFollowers.html new file mode 100644 index 0000000..ddb4251 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/FriendsAndFollowers.html @@ -0,0 +1,1323 @@ + + + + + + + Module: Twitter::REST::FriendsAndFollowers + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ + + +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::REST::FriendsAndFollowers

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ create_friendship(*args) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: follow +
+ +
+ + +
+ + + +
+ create_friendship!(*args) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: follow! +
+ +
+ + +
+ + + +
+ destroy_friendship(*args) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: unfollow +
+ +
+ + +
+ + + +
+ follow(*args) + click to toggle source +
+ + +
+ +

Allows the authenticating user to follow the specified users, unless they +are already followed

+ +

@see dev.twitter.com/docs/api/1.1/post/friendships/create +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::User>] The followed users. @overload follow(*users)

+ +
@param users [Enumerable<Integer, String, Twitter::User>] A collection of Twitter user IDs, screen names, or objects.
+ +

@overload follow(*users, options)

+ +
@param users [Enumerable<Integer, String, Twitter::User>] A collection of Twitter user IDs, screen names, or objects.
+@param options [Hash] A customizable set of options.
+@option options [Boolean] :follow (false) Enable notifications for the target user.
+ + + +
+
+# File lib/twitter/rest/friends_and_followers.rb, line 106
+def follow(*args)
+  arguments = Twitter::Arguments.new(args)
+  existing_friends = Thread.new do
+    friend_ids.to_a
+  end
+  new_friends = Thread.new do
+    users(args).collect(&:id)
+  end
+  follow!(new_friends.value - existing_friends.value, arguments.options)
+end
+
+ +
+ + +
+ Also aliased as: create_friendship +
+ + + +
+ + +
+ + + +
+ follow!(*args) + click to toggle source +
+ + +
+ +

Allows the authenticating user to follow the specified users

+ +

@see dev.twitter.com/docs/api/1.1/post/friendships/create +@rate_limited No @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::User>] The followed users. @overload follow!(*users)

+ +
@param users [Enumerable<Integer, String, Twitter::User>] A collection of Twitter user IDs, screen names, or objects.
+ +

@overload follow!(*users, options)

+ +
@param users [Enumerable<Integer, String, Twitter::User>] A collection of Twitter user IDs, screen names, or objects.
+@param options [Hash] A customizable set of options.
+@option options [Boolean] :follow (false) Enable notifications for the target user.
+ + + +
+
+# File lib/twitter/rest/friends_and_followers.rb, line 132
+def follow!(*args)
+  arguments = Twitter::Arguments.new(args)
+  pmap(arguments) do |user|
+    perform_with_object(:post, '/1.1/friendships/create.json', merge_user(arguments.options, user), Twitter::User)
+  end.compact
+end
+
+ +
+ + +
+ Also aliased as: create_friendship! +
+ + + +
+ + +
+ + + +
+ follower_ids(*args) + click to toggle source +
+ + +
+ +

@see dev.twitter.com/docs/api/1.1/get/followers/ids +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Twitter::Cursor] +@overload follower_ids(options += {})

+ +
Returns an array of numeric IDs for every user following the authenticated user
+
+@param options [Hash] A customizable set of options.
+ +

@overload follower_ids(user, +options = {})

+ +
Returns an array of numeric IDs for every user following the specified user
+
+@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/friends_and_followers.rb, line 47
+def follower_ids(*args)
+  cursor_from_response_with_user(:ids, nil, :get, '/1.1/followers/ids.json', args)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ followers(*args) + click to toggle source +
+ + +
+ +

Returns a cursored collection of user objects for users following the +specified user.

+ +

@see dev.twitter.com/docs/api/1.1/get/followers/list +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Twitter::Cursor] +@overload followers(options = {})

+ +
Returns a cursored collection of user objects for users following the authenticated user.
+
+@param options [Hash] A customizable set of options.
+@option options [Boolean, String, Integer] :skip_status Do not include contributee's Tweets when set to true, 't' or 1.
+@option options [Boolean, String, Integer] :include_user_entities The user entities node will be disincluded when set to false.
+ +

@overload followers(user, options = {})

+ +
Returns a cursored collection of user objects for users following the specified user.
+
+@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param options [Hash] A customizable set of options.
+@option options [Boolean, String, Integer] :skip_status Do not include contributee's Tweets when set to true, 't' or 1.
+@option options [Boolean, String, Integer] :include_user_entities The user entities node will be disincluded when set to false.
+ + + +
+
+# File lib/twitter/rest/friends_and_followers.rb, line 229
+def followers(*args)
+  cursor_from_response_with_user(:users, Twitter::User, :get, '/1.1/followers/list.json', args)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ following(*args) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: friends +
+ +
+ + +
+ + + +
+ friend_ids(*args) + click to toggle source +
+ + +
+ +

@see dev.twitter.com/docs/api/1.1/get/friends/ids +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Twitter::Cursor] +@overload friend_ids(options += {})

+ +
Returns an array of numeric IDs for every user the authenticated user is following
+
+@param options [Hash] A customizable set of options.
+ +

@overload friend_ids(user, +options = {})

+ +
Returns an array of numeric IDs for every user the specified user is following
+
+@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/friends_and_followers.rb, line 29
+def friend_ids(*args)
+  cursor_from_response_with_user(:ids, nil, :get, '/1.1/friends/ids.json', args)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ friends(*args) + click to toggle source +
+ + +
+ +

Returns a cursored collection of user objects for every user the specified +user is following (otherwise known as their “friends”).

+ +

@see dev.twitter.com/docs/api/1.1/get/friends/list +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Twitter::Cursor] +@overload friends(options = {})

+ +
Returns a cursored collection of user objects for every user the authenticated user is following (otherwise known as their "friends").
+
+@param options [Hash] A customizable set of options.
+@option options [Boolean, String, Integer] :skip_status Do not include contributee's Tweets when set to true, 't' or 1.
+@option options [Boolean, String, Integer] :include_user_entities The user entities node will be disincluded when set to false.
+ +

@overload friends(user, options = {})

+ +
Returns a cursored collection of user objects for every user the specified user is following (otherwise known as their "friends").
+
+@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param options [Hash] A customizable set of options.
+@option options [Boolean, String, Integer] :skip_status Do not include contributee's Tweets when set to true, 't' or 1.
+@option options [Boolean, String, Integer] :include_user_entities The user entities node will be disincluded when set to false.
+ + + +
+
+# File lib/twitter/rest/friends_and_followers.rb, line 253
+def friends(*args)
+  cursor_from_response_with_user(:users, Twitter::User, :get, '/1.1/friends/list.json', args)
+end
+
+ +
+ + +
+ Also aliased as: following +
+ + + +
+ + +
+ + + +
+ friendship(source, target, options = {}) + click to toggle source +
+ + +
+ +

Returns detailed information about the relationship between two users

+ +

@see dev.twitter.com/docs/api/1.1/get/friendships/show +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Twitter::Relationship] @param source [Integer, String, Twitter::User] The +Twitter user ID, screen name, or object of +the source user. @param target [Integer, String, Twitter::User] The Twitter user ID, screen name, or object of +the target user. @param options [Hash] A customizable set of options.

+ + + +
+
+# File lib/twitter/rest/friends_and_followers.rb, line 185
+def friendship(source, target, options = {})
+  merge_user!(options, source, 'source')
+  options[:source_id] = options.delete(:source_user_id) unless options[:source_user_id].nil?
+  merge_user!(options, target, 'target')
+  options[:target_id] = options.delete(:target_user_id) unless options[:target_user_id].nil?
+  perform_with_object(:get, '/1.1/friendships/show.json', options, Twitter::Relationship)
+end
+
+ +
+ + +
+ Also aliased as: friendship_show, relationship +
+ + + +
+ + +
+ + + +
+ friendship?(source, target, options = {}) + click to toggle source +
+ + +
+ +

Test for the existence of friendship between two users

+ +

@see dev.twitter.com/docs/api/1.1/get/friendships/show +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Boolean] true if +user_a follows user_b, otherwise false. @param source [Integer, String, +Twitter::User] The Twitter user ID, screen +name, or object of the source user. @param target [Integer, String, +Twitter::User] The Twitter user ID, screen +name, or object of the target user. @param options [Hash] A customizable +set of options.

+ + + +
+
+# File lib/twitter/rest/friends_and_followers.rb, line 205
+def friendship?(source, target, options = {})
+  friendship(source, target, options).source.following?
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ friendship_show(source, target, options = {}) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: friendship +
+ +
+ + +
+ + + +
+ friendship_update(user, options = {}) + click to toggle source +
+ + +
+ +

Allows one to enable or disable retweets and device notifications from the +specified user.

+ +

@see dev.twitter.com/docs/api/1.1/post/friendships/update +@rate_limited No @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Twitter::Relationship] @param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object. +@param options [Hash] A customizable set of options. @option options +[Boolean] :device Enable/disable device notifications from the target user. +@option options [Boolean] :retweets Enable/disable retweets from the target +user.

+ + + +
+
+# File lib/twitter/rest/friends_and_followers.rb, line 170
+def friendship_update(user, options = {})
+  merge_user!(options, user)
+  perform_with_object(:post, '/1.1/friendships/update.json', options, Twitter::Relationship)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ friendships(*args) + click to toggle source +
+ + +
+ +

Returns the relationship of the authenticating user to the comma separated +list of up to 100 screen_names or user_ids provided. Values for connections +can be: following, following_requested, followed_by, none.

+ +

@see dev.twitter.com/docs/api/1.1/get/friendships/lookup +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::User>] The requested users. @overload +friendships(*users)

+ +
@param users [Enumerable<Integer, String, Twitter::User>] A collection of Twitter user IDs, screen names, or objects.
+ +

@overload friendships(*users, options)

+ +
@param users [Enumerable<Integer, String, Twitter::User>] A collection of Twitter user IDs, screen names, or objects.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/friends_and_followers.rb, line 63
+def friendships(*args)
+  arguments = Twitter::Arguments.new(args)
+  merge_users!(arguments.options, arguments)
+  perform_with_objects(:get, '/1.1/friendships/lookup.json', arguments.options, Twitter::User)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ friendships_incoming(options = {}) + click to toggle source +
+ + +
+ +

Returns an array of numeric IDs for every user who has a pending request to +follow the authenticating user

+ +

@see dev.twitter.com/docs/api/1.1/get/friendships/incoming +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Twitter::Cursor] +@param options [Hash] A customizable set of options.

+ + + +
+
+# File lib/twitter/rest/friends_and_followers.rb, line 77
+def friendships_incoming(options = {})
+  perform_with_cursor(:get, '/1.1/friendships/incoming.json', options, :ids)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ friendships_outgoing(options = {}) + click to toggle source +
+ + +
+ +

Returns an array of numeric IDs for every protected user for whom the +authenticating user has a pending follow request

+ +

@see dev.twitter.com/docs/api/1.1/get/friendships/outgoing +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Twitter::Cursor] +@param options [Hash] A customizable set of options.

+ + + +
+
+# File lib/twitter/rest/friends_and_followers.rb, line 89
+def friendships_outgoing(options = {})
+  perform_with_cursor(:get, '/1.1/friendships/outgoing.json', options, :ids)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ no_retweet_ids(options = {}) + click to toggle source +
+ + +
+ +

Returns a collection of user IDs that the currently authenticated user does +not want to receive retweets from. @see dev.twitter.com/docs/api/1.1/get/friendships/no_retweets/ids +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Integer>] @param options [Hash] A customizable set of options.

+ + + +
+
+# File lib/twitter/rest/friends_and_followers.rb, line 265
+def no_retweet_ids(options = {})
+  get('/1.1/friendships/no_retweets/ids.json', options).body.collect(&:to_i)
+end
+
+ +
+ + +
+ Also aliased as: no_retweets_ids +
+ + + +
+ + +
+ + + +
+ no_retweets_ids(options = {}) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: no_retweet_ids +
+ +
+ + +
+ + + +
+ relationship(source, target, options = {}) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: friendship +
+ +
+ + +
+ + + +
+ unfollow(*args) + click to toggle source +
+ + +
+ +

Allows the authenticating user to unfollow the specified users

+ +

@see dev.twitter.com/docs/api/1.1/post/friendships/destroy +@rate_limited No @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::User>] The unfollowed users. @overload +unfollow(*users)

+ +
@param users [Enumerable<Integer, String, Twitter::User>] A collection of Twitter user IDs, screen names, or objects.
+ +

@overload unfollow(*users, options)

+ +
@param users [Enumerable<Integer, String, Twitter::User>] A collection of Twitter user IDs, screen names, or objects.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/friends_and_followers.rb, line 153
+def unfollow(*args)
+  parallel_users_from_response(:post, '/1.1/friendships/destroy.json', args)
+end
+
+ +
+ + +
+ Also aliased as: destroy_friendship +
+ + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Help.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Help.html new file mode 100644 index 0000000..a30b0a9 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Help.html @@ -0,0 +1,534 @@ + + + + + + + Module: Twitter::REST::Help + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::REST::Help

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ configuration(options = {}) + click to toggle source +
+ + +
+ +

Returns the current configuration used by Twitter

+ +

@see dev.twitter.com/docs/api/1.1/get/help/configuration +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Twitter::Configuration] Twitter’s configuration.

+ + + +
+
+# File lib/twitter/rest/help.rb, line 18
+def configuration(options = {})
+  perform_with_object(:get, '/1.1/help/configuration.json', options, Twitter::Configuration)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ languages(options = {}) + click to toggle source +
+ + +
+ +

Returns the list of languages supported by Twitter

+ +

@see dev.twitter.com/docs/api/1.1/get/help/languages +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::Language>]

+ + + +
+
+# File lib/twitter/rest/help.rb, line 29
+def languages(options = {})
+  perform_with_objects(:get, '/1.1/help/languages.json', options, Twitter::Language)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ privacy(options = {}) + click to toggle source +
+ + +
+ +

Returns {twitter.com/privacy +Twitter’s Privacy Policy}

+ +

@see dev.twitter.com/docs/api/1.1/get/help/privacy +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [String]

+ + + +
+
+# File lib/twitter/rest/help.rb, line 40
+def privacy(options = {})
+  get('/1.1/help/privacy.json', options).body[:privacy]
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ tos(options = {}) + click to toggle source +
+ + +
+ +

Returns {twitter.com/tos Twitter’s +Terms of Service}

+ +

@see dev.twitter.com/docs/api/1.1/get/help/tos +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [String]

+ + + +
+
+# File lib/twitter/rest/help.rb, line 51
+def tos(options = {})
+  get('/1.1/help/tos.json', options).body[:tos]
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Lists.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Lists.html new file mode 100644 index 0000000..d476e03 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Lists.html @@ -0,0 +1,1463 @@ + + + + + + + Module: Twitter::REST::Lists + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ + + +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::REST::Lists

+ +
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
MAX_USERS_PER_REQUEST
+ +
+ + +
URI_SUBSTRING
+ +
+ + +
+
+ + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ add_list_member(*args) + click to toggle source +
+ + +
+ +

Add a member to a list

+ +

@see dev.twitter.com/docs/api/1.1/post/lists/members/create +@note Lists are limited to having 500 members. +@rate_limited No @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Twitter::List] The +list. @overload add_list_member(list, +user_to_add, options = {})

+ +
@param list [Integer, String, Twitter::List] A Twitter list ID, slug, URI, or object.
+@param user_to_add [Integer, String] The user id or screen name to add to the list.
+@param options [Hash] A customizable set of options.
+ +

@overload add_list_member(user, list, +user_to_add, options = {})

+ +
@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param list [Integer, String, Twitter::List] A Twitter list ID, slug, URI, or object.
+@param user_to_add [Integer, String] The user id or screen name to add to the list.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/lists.rb, line 258
+def add_list_member(*args)
+  list_from_response_with_user(:post, '/1.1/lists/members/create.json', args)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ add_list_members(*args) + click to toggle source +
+ + +
+ +

Adds specified members to a list

+ +

@see dev.twitter.com/docs/api/1.1/post/lists/members/create_all +@note Lists are limited to having 500 members, and +you are limited to adding up to 100 members to a list at a time with this +method. @rate_limited No @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Twitter::List] The +list. @overload add_list_members(list, +users, options = {})

+ +
@param list [Integer, String, Twitter::List] A Twitter list ID, slug, URI, or object.
+@param users [Enumerable<Integer, String, Twitter::User>] A collection of Twitter user IDs, screen names, or objects.
+@param options [Hash] A customizable set of options.
+ +

@overload add_list_members(user, +list, users, options = {})

+ +
@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param list [Integer, String, Twitter::List] A Twitter list ID, slug, URI, or object.
+@param users [Enumerable<Integer, String, Twitter::User>] A collection of Twitter user IDs, screen names, or objects.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/lists.rb, line 198
+def add_list_members(*args)
+  list_from_response_with_users(:post, '/1.1/lists/members/create_all.json', args)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ create_list(name, options = {}) + click to toggle source +
+ + +
+ +

Creates a new list for the authenticated user

+ +

@see dev.twitter.com/docs/api/1.1/post/lists/create +@note Accounts are limited to 20 lists. @rate_limited No @authentication +Requires user context @raise [Twitter::Error::Unauthorized] Error raised when supplied user credentials are +not valid. @return [Twitter::List] The created list. @param name [String] +The name for the list. @param options [Hash] A customizable set of options. +@option options [String] :mode (‘public’) Whether your list is public or +private. Values can be ‘public’ or ‘private’. @option options [String] +:description The description to give the list.

+ + + +
+
+# File lib/twitter/rest/lists.rb, line 317
+def create_list(name, options = {})
+  perform_with_object(:post, '/1.1/lists/create.json', options.merge(:name => name), Twitter::List)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ destroy_list(*args) + click to toggle source +
+ + +
+ +

Deletes the specified list

+ +

@see dev.twitter.com/docs/api/1.1/post/lists/destroy +@note Must be owned by the authenticated user. @rate_limited No +@authentication Requires user context @raise [Twitter::Error::Unauthorized] +Error raised when supplied user credentials are +not valid. @return [Twitter::List] The deleted list. @overload destroy_list(list, options = +{})

+ +
@param list [Integer, String, Twitter::List] A Twitter list ID, slug, URI, or object.
+@param options [Hash] A customizable set of options.
+ +

@overload destroy_list(user, +list, options = {})

+ +
@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param list [Integer, String, Twitter::List] A Twitter list ID, slug, URI, or object.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/lists.rb, line 278
+def destroy_list(*args)
+  list_from_response(:post, '/1.1/lists/destroy.json', args)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ list(*args) + click to toggle source +
+ + +
+ +

Show the specified list

+ +

@see dev.twitter.com/docs/api/1.1/get/lists/show +@note Private lists will only be shown if the authenticated user owns the +specified list. @rate_limited Yes @authentication Requires user context +@raise [Twitter::Error::Unauthorized] Error +raised when supplied user credentials are not valid. @return +[Twitter::List] The specified list. @overload list(list, options = {})

+ +
@param list [Integer, String, Twitter::List] A Twitter list ID, slug, URI, or object.
+@param options [Hash] A customizable set of options.
+ +

@overload list(user, list, options = {})

+ +
@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param list [Integer, String, Twitter::List] A Twitter list ID, slug, URI, or object.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/lists.rb, line 337
+def list(*args)
+  list_from_response(:get, '/1.1/lists/show.json', args)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ list_member?(*args) + click to toggle source +
+ + +
+ +

Check if a user is a member of the specified list

+ +

@see dev.twitter.com/docs/api/1.1/get/lists/members/show +@authentication Requires user context @rate_limited Yes @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Boolean] true if +user is a member of the specified list, otherwise false. @overload +list_member?(list, user_to_check, options = {})

+ +
@param list [Integer, String, Twitter::List] A Twitter list ID, slug, URI, or object.
+@param user_to_check [Integer, String] The user ID or screen name of the list member.
+@param options [Hash] A customizable set of options.
+ +

@overload list_member?(user, list, user_to_check, options = {})

+ +
@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param list [Integer, String, Twitter::List] A Twitter list ID, slug, URI, or object.
+@param user_to_check [Integer, String] The user ID or screen name of the list member.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/lists.rb, line 219
+def list_member?(*args)
+  list_user?(:get, '/1.1/lists/members/show.json', args)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ list_members(*args) + click to toggle source +
+ + +
+ +

Returns the members of the specified list

+ +

@see dev.twitter.com/docs/api/1.1/get/lists/members +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Twitter::Cursor] +@overload list_members(list, +options = {})

+ +
@param list [Integer, String, Twitter::List] A Twitter list ID, slug, URI, or object.
+@param options [Hash] A customizable set of options.
+ +

@overload list_members(user, +list, options = {})

+ +
@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param list [Integer, String, Twitter::List] A Twitter list ID, slug, URI, or object.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/lists.rb, line 237
+def list_members(*args)
+  cursor_from_response_with_list(:get, '/1.1/lists/members.json', args)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ list_subscribe(*args) + click to toggle source +
+ + +
+ +

Make the authenticated user follow the specified list

+ +

@see dev.twitter.com/docs/api/1.1/post/lists/subscribers/create +@rate_limited No @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Twitter::List] The +specified list. @overload list_subscribe(list, options += {})

+ +
@param list [Integer, String, Twitter::List] A Twitter list ID, slug, URI, or object.
+@param options [Hash] A customizable set of options.
+ +

@overload list_subscribe(user, list, +options = {})

+ +
@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param list [Integer, String, Twitter::List] A Twitter list ID, slug, URI, or object.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/lists.rb, line 138
+def list_subscribe(*args)
+  list_from_response(:post, '/1.1/lists/subscribers/create.json', args)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ list_subscriber?(*args) + click to toggle source +
+ + +
+ +

Check if a user is a subscriber of the specified list

+ +

@see dev.twitter.com/docs/api/1.1/get/lists/subscribers/show +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Boolean] true if +user is a subscriber of the specified list, otherwise false. @overload +list_subscriber?(list, user_to_check, options = {})

+ +
@param list [Integer, String, Twitter::List] A Twitter list ID, slug, URI, or object.
+@param user_to_check [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param options [Hash] A customizable set of options.
+ +

@overload list_subscriber?(user, list, user_to_check, options = {})

+ +
@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param list [Integer, String, Twitter::List] A Twitter list ID, slug, URI, or object.
+@param user_to_check [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param options [Hash] A customizable set of options.
+ +

@return [Boolean] true if user is a subscriber of the specified list, +otherwise false.

+ + + +
+
+# File lib/twitter/rest/lists.rb, line 159
+def list_subscriber?(*args)
+  list_user?(:get, '/1.1/lists/subscribers/show.json', args)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ list_subscribers(*args) + click to toggle source +
+ + +
+ +

Returns the subscribers of the specified list

+ +

@see dev.twitter.com/docs/api/1.1/get/lists/subscribers +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Twitter::Cursor] The +subscribers of the specified list. @overload list_subscribers(list, +options = {})

+ +
@param list [Integer, String, Twitter::List] A Twitter list ID, slug, URI, or object.
+@param options [Hash] A customizable set of options.
+ +

@overload list_subscribers(user, +list, options = {})

+ +
@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param list [Integer, String, Twitter::List] A Twitter list ID, slug, URI, or object.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/lists.rb, line 120
+def list_subscribers(*args)
+  cursor_from_response_with_list(:get, '/1.1/lists/subscribers.json', args)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ list_timeline(*args) + click to toggle source +
+ + +
+ +

Show tweet timeline for members of the specified list

+ +

@see dev.twitter.com/docs/api/1.1/get/lists/statuses +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::Tweet>] @overload list_timeline(list, options = +{})

+ +
@param list [Integer, String, Twitter::List] A Twitter list ID, slug, URI, or object.
+@param options [Hash] A customizable set of options.
+@option options [Integer] :since_id Returns results with an ID greater than (that is, more recent than) the specified ID.
+@option options [Integer] :max_id Returns results with an ID less than (that is, older than) or equal to the specified ID.
+@option options [Integer] :count The number of results to retrieve.
+ +

@overload list_timeline(user, list, +options = {})

+ +
@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param list [Integer, String, Twitter::List] A Twitter list ID, slug, URI, or object.
+@param options [Hash] A customizable set of options.
+@option options [Integer] :since_id Returns results with an ID greater than (that is, more recent than) the specified ID.
+@option options [Integer] :max_id Returns results with an ID less than (that is, older than) or equal to the specified ID.
+@option options [Integer] :count The number of results to retrieve.
+ + + +
+
+# File lib/twitter/rest/lists.rb, line 58
+def list_timeline(*args)
+  arguments = Twitter::Arguments.new(args)
+  merge_list!(arguments.options, arguments.pop)
+  merge_owner!(arguments.options, arguments.pop)
+  perform_with_objects(:get, '/1.1/lists/statuses.json', arguments.options, Twitter::Tweet)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ list_unsubscribe(*args) + click to toggle source +
+ + +
+ +

Unsubscribes the authenticated user form the specified list

+ +

@see dev.twitter.com/docs/api/1.1/post/lists/subscribers/destroy +@rate_limited No @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Twitter::List] The +specified list. @overload list_unsubscribe(list, +options = {})

+ +
@param list [Integer, String, Twitter::List] A Twitter list ID, slug, URI, or object.
+@param options [Hash] A customizable set of options.
+ +

@overload list_unsubscribe(user, +list, options = {})

+ +
@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param list [Integer, String, Twitter::List] A Twitter list ID, slug, URI, or object.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/lists.rb, line 177
+def list_unsubscribe(*args)
+  list_from_response(:post, '/1.1/lists/subscribers/destroy.json', args)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ list_update(*args) + click to toggle source +
+ + +
+ +

Updates the specified list

+ +

@see dev.twitter.com/docs/api/1.1/post/lists/update +@rate_limited No @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Twitter::List] The +created list. @overload list_update(list, options = {})

+ +
@param list [Integer, String, Twitter::List] A Twitter list ID, slug, URI, or object.
+@param options [Hash] A customizable set of options.
+@option options [String] :mode ('public') Whether your list is public or private. Values can be 'public' or 'private'.
+@option options [String] :description The description to give the list.
+ +

@overload list_update(user, +list, options = {})

+ +
@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param list [Integer, String, Twitter::List] A Twitter list ID, slug, URI, or object.
+@param options [Hash] A customizable set of options.
+@option options [String] :mode ('public') Whether your list is public or private. Values can be 'public' or 'private'.
+@option options [String] :description The description to give the list.
+ + + +
+
+# File lib/twitter/rest/lists.rb, line 301
+def list_update(*args)
+  list_from_response(:post, '/1.1/lists/update.json', args)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ lists(*args) + click to toggle source +
+ + +
+ +

Returns all lists the authenticating or specified user subscribes to, +including their own

+ +

@see dev.twitter.com/docs/api/1.1/get/lists/list +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::List>] @overload lists(options = {})

+ +
@param options [Hash] A customizable set of options.
+@option options [Boolean] :reverse Set this to true if you would like owned lists to be returned first.
+ +

@overload lists(user, options = {})

+ +
@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param options [Hash] A customizable set of options.
+@option options [Boolean] :reverse Set this to true if you would like owned lists to be returned first.
+ + + +
+
+# File lib/twitter/rest/lists.rb, line 33
+def lists(*args)
+  objects_from_response_with_user(Twitter::List, :get, '/1.1/lists/list.json', args)
+end
+
+ +
+ + +
+ Also aliased as: lists_subscribed_to +
+ + + +
+ + +
+ + + +
+ lists_subscribed_to(*args) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: lists +
+ +
+ + +
+ + + +
+ memberships(*args) + click to toggle source +
+ + +
+ +

List the lists the specified user has been added +to

+ +

@see dev.twitter.com/docs/api/1.1/get/lists/memberships +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Twitter::Cursor] +@overload memberships(options = {})

+ +
@param options [Hash] A customizable set of options.
+@option options [Integer] :count The amount of results to return per page. Defaults to 20. No more than 1000 results will ever be returned in a single page.
+@option options [Boolean, String, Integer] :filter_to_owned_lists When set to true, t or 1, will return just lists the authenticating user owns, and the user represented by user_id or screen_name is a member of.
+ +

@overload memberships(user, options = {})

+ +
@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param options [Hash] A customizable set of options.
+@option options [Integer] :count The amount of results to return per page. Defaults to 20. No more than 1000 results will ever be returned in a single page.
+@option options [Boolean, String, Integer] :filter_to_owned_lists When set to true, t or 1, will return just lists the authenticating user owns, and the user represented by user_id or screen_name is a member of.
+ + + +
+
+# File lib/twitter/rest/lists.rb, line 102
+def memberships(*args)
+  cursor_from_response_with_user(:lists, Twitter::List, :get, '/1.1/lists/memberships.json', args)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ owned_lists(*args) + click to toggle source +
+ + +
+ +

Returns the lists owned by the specified Twitter user

+ +

@see dev.twitter.com/docs/api/1.1/get/lists/ownerships +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::List>] @overload owned_lists(options = {})

+ +
@param options [Hash] A customizable set of options.
+@option options [Integer] :count The amount of results to return per page. Defaults to 20. No more than 1000 results will ever be returned in a single page.
+ +

@overload owned_lists(user, +options = {})

+ +
@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param options [Hash] A customizable set of options.
+@option options [Integer] :count The amount of results to return per page. Defaults to 20. No more than 1000 results will ever be returned in a single page.
+ + + +
+
+# File lib/twitter/rest/lists.rb, line 392
+def owned_lists(*args)
+  cursor_from_response_with_user(:lists, Twitter::List, :get, '/1.1/lists/ownerships.json', args)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ remove_list_member(*args) + click to toggle source +
+ + +
+ +

Removes the specified member from the list

+ +

@see dev.twitter.com/docs/api/1.1/post/lists/members/destroy +@rate_limited No @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Twitter::List] The +list. @overload remove_list_member(list, +user_to_remove, options = {})

+ +
@param list [Integer, String, Twitter::List] A Twitter list ID, slug, URI, or object.
+@param user_to_remove [Integer, String] The user id or screen name of the list member to remove.
+@param options [Hash] A customizable set of options.
+ +

@overload remove_list_member(user, +list, user_to_remove, options = {})

+ +
@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param list [Integer, String, Twitter::List] A Twitter list ID, slug, URI, or object.
+@param user_to_remove [Integer, String] The user id or screen name of the list member to remove.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/lists.rb, line 81
+def remove_list_member(*args)
+  list_from_response_with_user(:post, '/1.1/lists/members/destroy.json', args)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ remove_list_members(*args) + click to toggle source +
+ + +
+ +

Removes specified members from the list

+ +

@see dev.twitter.com/docs/api/1.1/post/lists/members/destroy_all +@rate_limited No @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Twitter::List] The +list. @overload remove_list_members(list, +users, options = {})

+ +
@param list [Integer, String, Twitter::List] A Twitter list ID, slug, URI, or object.
+@param users [Enumerable<Integer, String, Twitter::User>] A collection of Twitter user IDs, screen names, or objects.
+@param options [Hash] A customizable set of options.
+ +

@overload remove_list_members(user, +list, users, options = {})

+ +
@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param list [Integer, String, Twitter::List] A Twitter list ID, slug, URI, or object.
+@param users [Enumerable<Integer, String, Twitter::User>] A collection of Twitter user IDs, screen names, or objects.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/lists.rb, line 373
+def remove_list_members(*args)
+  list_from_response_with_users(:post, '/1.1/lists/members/destroy_all.json', args)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ subscriptions(*args) + click to toggle source +
+ + +
+ +

List the lists the specified user follows

+ +

@see dev.twitter.com/docs/api/1.1/get/lists/subscriptions +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Twitter::Cursor] +@overload subscriptions(options = {})

+ +
@param options [Hash] A customizable set of options.
+ +

@overload subscriptions(user, options = {})

+ +
@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/lists.rb, line 353
+def subscriptions(*args)
+  cursor_from_response_with_user(:lists, Twitter::List, :get, '/1.1/lists/subscriptions.json', args)
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Media.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Media.html new file mode 100644 index 0000000..f73e2a1 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Media.html @@ -0,0 +1,405 @@ + + + + + + + Module: Twitter::REST::Media + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::REST::Media

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ upload(media, options = {}) + click to toggle source +
+ + +
+ +

Uploads media to attach to a tweet

+ +

@see dev.twitter.com/docs/api/multiple-media-extended-entities +@rate_limited No @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @raise +[Twitter::Error::UnacceptableIO] Error when the +IO object for the media argument does not have a to_io method. @return +[Integer] The uploaded media ID. @param media [File, Hash] A File object +with your picture (PNG, JPEG or GIF) @param options [Hash] A customizable +set of options.

+ + + +
+
+# File lib/twitter/rest/media.rb, line 17
+def upload(media, options = {})
+  fail(Twitter::Error::UnacceptableIO.new) unless media.respond_to?(:to_io)
+  url_prefix = 'https://upload.twitter.com'
+  path = '/1.1/media/upload.json'
+  conn = connection.dup
+  conn.url_prefix = url_prefix
+  headers = request_headers(:post, url_prefix + path, options)
+  options.merge!(:media => media)
+  conn.post(path, options) { |request| request.headers.update(headers) }.env.body[:media_id]
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/OAuth.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/OAuth.html new file mode 100644 index 0000000..d81541a --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/OAuth.html @@ -0,0 +1,552 @@ + + + + + + + Module: Twitter::REST::OAuth + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::REST::OAuth

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ bearer_token(options = {}) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: token +
+ +
+ + +
+ + + +
+ invalidate_token(access_token, options = {}) + click to toggle source +
+ + +
+ +

Allows a registered application to revoke an issued OAuth 2 Bearer Token by +presenting its client credentials.

+ +

@see dev.twitter.com/docs/api/1.1/post/oauth2/invalidate_token +@rate_limited No @authentication Required @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @param access_token [String, +Twitter::Token] The bearer token to revoke. @param options [Hash] A +customizable set of options. @return [Twitter::Token] The invalidated +token. token_type should be nil.

+ + + +
+
+# File lib/twitter/rest/oauth.rb, line 42
+def invalidate_token(access_token, options = {})
+  access_token = access_token.access_token if access_token.is_a?(Twitter::Token)
+  options[:access_token] = access_token
+  perform_with_object(:post, '/oauth2/invalidate_token', options, Twitter::Token)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ reverse_token() + click to toggle source +
+ + +
+ +

Allows a registered application to revoke an issued OAuth 2 Bearer Token by +presenting its client credentials.

+ +

@see dev.twitter.com/docs/api/1.1/post/oauth2/invalidate_token +@rate_limited No @authentication Required @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [String] The token +string.

+ + + +
+
+# File lib/twitter/rest/oauth.rb, line 55
+def reverse_token
+  conn = connection.dup
+  conn.builder.swap(4, Twitter::REST::Response::ParseErrorJson)
+  response = conn.post('/oauth/request_token?x_auth_mode=reverse_auth') do |request|
+    request.headers[:authorization] = oauth_auth_header(:post, 'https://api.twitter.com/oauth/request_token', :x_auth_mode => 'reverse_auth').to_s
+  end
+  response.body
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ token(options = {}) + click to toggle source +
+ + +
+ +

Allows a registered application to obtain an OAuth +2 Bearer Token, which can be used to make API requests on an application’s own behalf, without a +user context.

+ +

Only one bearer token may exist outstanding for an application, and +repeated requests to this method will yield the same already-existent token +until it has been invalidated.

+ +

@see dev.twitter.com/docs/api/1.1/post/oauth2/token +@rate_limited No @authentication Required @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Twitter::Token] The +Bearer Token. token_type should be ‘bearer’. +@param options [Hash] A customizable set of options. @example Generate a +Bearer Token

+ +
client = Twitter::REST::Client.new(:consumer_key => "abc", :consumer_secret => 'def')
+bearer_token = client.token
+ + + +
+
+# File lib/twitter/rest/oauth.rb, line 26
+def token(options = {})
+  options[:bearer_token_request] = true
+  options[:grant_type] ||= 'client_credentials'
+  perform_with_object(:post, '/oauth2/token', options, Twitter::Token)
+end
+
+ +
+ + +
+ Also aliased as: bearer_token +
+ + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/PlacesAndGeo.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/PlacesAndGeo.html new file mode 100644 index 0000000..3950e89 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/PlacesAndGeo.html @@ -0,0 +1,676 @@ + + + + + + + Module: Twitter::REST::PlacesAndGeo + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + + + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::REST::PlacesAndGeo

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ geo_search(options = {}) + click to toggle source +
+ + +
+ +

Search for places that can be attached to a {Twitter::REST::Tweets#update}

+ +

@see dev.twitter.com/docs/api/1.1/get/geo/search +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @param options [Hash] A +customizable set of options. @option options [Float] :lat The latitude to +search around. This option will be ignored unless it is inside the range +-90.0 to +90.0 (North is positive) inclusive. It will also be ignored if +there isn’t a corresponding :long option. @option options [Float] :long The +longitude to search around. The valid range for longitude is -180.0 to ++180.0 (East is positive) inclusive. This option will be ignored if outside +that range, if it is not a number, if geo_enabled is disabled, or if there +not a corresponding :lat option. @option options [String] :query Free-form +text to match against while executing a geo-based query, best suited for +finding nearby locations by name. @option options [String] :ip An IP +address. Used when attempting to fix geolocation based off of the user’s IP +address. @option options [String] :granularity (‘neighborhood’) This is the +minimal granularity of place types to return and must be one of: ‘poi’, +‘neighborhood’, ‘city’, ‘admin’ or ‘country’. @option options [String] +:accuracy (‘0m’) A hint on the “region” in which to search. If a number, +then this is a radius in meters, but it can also take a string that is +suffixed with ft to specify feet. If coming from a device, in practice, +this value is whatever accuracy the device has measuring its location +(whether it be coming from a GPS, WiFi triangulation, etc.). @option +options [Integer] :max_results A hint as to the number of results to +return. This does not guarantee that the number of results returned will +equal max_results, but instead informs how many “nearby” results to return. +Ideally, only pass in the number of places you intend to display to the +user here. @option options [String] :contained_within This is the place_id +which you would like to restrict the search results to. Setting this value +means only places within the given place_id will be found. @option options +[String] :“attribute:street_address” This option searches for places which +have this given street address. There are other well-known and +application-specific attributes available. Custom attributes are also +permitted. @return [Array<Twitter::Place>]

+ + + +
+
+# File lib/twitter/rest/places_and_geo.rb, line 59
+def geo_search(options = {})
+  perform_with_object(:get, '/1.1/geo/search.json', options, Twitter::GeoResults)
+end
+
+ +
+ + +
+ Also aliased as: places_nearby +
+ + + +
+ + +
+ + + +
+ place(place_id, options = {}) + click to toggle source +
+ + +
+ +

Returns all the information about a known place

+ +

@see dev.twitter.com/docs/api/1.1/get/geo/id/:place_id +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @param place_id [String] A +place in the world. These IDs can be retrieved from {Twitter::REST::PlacesAndGeo#reverse_geocode}. +@param options [Hash] A customizable set of options. @return +[Twitter::Place] The requested place.

+ + + +
+
+# File lib/twitter/rest/places_and_geo.rb, line 20
+def place(place_id, options = {})
+  perform_with_object(:get, "/1.1/geo/id/#{place_id}.json", options, Twitter::Place)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ places_nearby(options = {}) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: geo_search +
+ +
+ + +
+ + + +
+ places_similar(options = {}) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: similar_places +
+ +
+ + +
+ + + +
+ reverse_geocode(options = {}) + click to toggle source +
+ + +
+ +

Searches for up to 20 places that can be used as a place_id

+ +

@see dev.twitter.com/docs/api/1.1/get/geo/reverse_geocode +@note This request is an informative call and will deliver generalized +results about geography. @rate_limited Yes @authentication Requires user +context @raise [Twitter::Error::Unauthorized] Error raised when supplied user credentials are +not valid. @param options [Hash] A customizable set of options. @option +options [Float] :lat The latitude to search around. This option will be +ignored unless it is inside the range -90.0 to +90.0 (North is positive) +inclusive. It will also be ignored if there isn’t a corresponding :long +option. @option options [Float] :long The longitude to search around. The +valid range for longitude is -180.0 to +180.0 (East is positive) inclusive. +This option will be ignored if outside that range, if it is not a number, +if geo_enabled is disabled, or if there not a corresponding :lat option. +@option options [String] :accuracy (‘0m’) A hint on the “region” in which +to search. If a number, then this is a radius in meters, but it can also +take a string that is suffixed with ft to specify feet. If coming from a +device, in practice, this value is whatever accuracy the device has +measuring its location (whether it be coming from a GPS, WiFi +triangulation, etc.). @option options [String] :granularity +(‘neighborhood’) This is the minimal granularity of place types to return +and must be one of: ‘poi’, ‘neighborhood’, ‘city’, ‘admin’ or ‘country’. +@option options [Integer] :max_results A hint as to the number of results +to return. This does not guarantee that the number of results returned will +equal max_results, but instead informs how many “nearby” results to return. +Ideally, only pass in the number of places you intend to display to the +user here. @return [Array<Twitter::Place>]

+ + + +
+
+# File lib/twitter/rest/places_and_geo.rb, line 38
+def reverse_geocode(options = {})
+  perform_with_object(:get, '/1.1/geo/reverse_geocode.json', options, Twitter::GeoResults)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ similar_places(options = {}) + click to toggle source +
+ + +
+ +

Locates places near the given coordinates which are similar in name

+ +

@see dev.twitter.com/docs/api/1.1/get/geo/similar_places +@note Conceptually, you would use this method to get a list of known places +to choose from first. Then, if the desired place doesn’t exist, make a +request to {Twitter::REST::PlacesAndGeo#place} +to create a new one. The token contained in the response is the token +necessary to create a new place. @rate_limited Yes @authentication Requires +user context @raise [Twitter::Error::Unauthorized] Error raised when supplied user credentials are +not valid. @param options [Hash] A customizable set of options. @option +options [Float] :lat The latitude to search around. This option will be +ignored unless it is inside the range -90.0 to +90.0 (North is positive) +inclusive. It will also be ignored if there isn’t a corresponding :long +option. @option options [Float] :long The longitude to search around. The +valid range for longitude is -180.0 to +180.0 (East is positive) inclusive. +This option will be ignored if outside that range, if it is not a number, +if geo_enabled is disabled, or if there not a corresponding :lat option. +@option options [String] :name The name a place is known as. @option +options [String] :contained_within This is the place_id which you would +like to restrict the search results to. Setting this value means only +places within the given place_id will be found. @option options [String] +:“attribute:street_address” This option searches for places which have this +given street address. There are other well-known and application-specific +attributes available. Custom attributes are also permitted. @return +[Array<Twitter::Place>]

+ + + +
+
+# File lib/twitter/rest/places_and_geo.rb, line 78
+def similar_places(options = {})
+  perform_with_object(:get, '/1.1/geo/similar_places.json', options, Twitter::GeoResults)
+end
+
+ +
+ + +
+ Also aliased as: places_similar +
+ + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Request.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Request.html new file mode 100644 index 0000000..c53cea9 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Request.html @@ -0,0 +1,348 @@ + + + + + + + Module: Twitter::REST::Request + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + +
+ +
+ + + + + + +
+

Namespace

+ +
+ + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::REST::Request

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Request/MultipartWithFile.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Request/MultipartWithFile.html new file mode 100644 index 0000000..fa6d359 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Request/MultipartWithFile.html @@ -0,0 +1,427 @@ + + + + + + + Class: Twitter::REST::Request::MultipartWithFile + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::REST::Request::MultipartWithFile

+ +
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
CONTENT_TYPE
+ +
+ + +
GIF_REGEX
+ +
+ + +
JPEG_REGEX
+ +
+ + +
PNG_REGEX
+ +
+ + +
+
+ + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ call(request) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/twitter/rest/request/multipart_with_file.rb, line 12
+def call(request)
+  request.body.each do |key, value|
+    next unless value.respond_to?(:to_io)
+    request.body[key] = Faraday::UploadIO.new(value, mime_type(value.path), value.path)
+  end if request.body.is_a?(::Hash)
+  @app.call(request)
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Response.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Response.html new file mode 100644 index 0000000..58e40d8 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Response.html @@ -0,0 +1,358 @@ + + + + + + + Module: Twitter::REST::Response + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ + + +
+ + + + + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::REST::Response

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Response/ParseErrorJson.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Response/ParseErrorJson.html new file mode 100644 index 0000000..2cc68b6 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Response/ParseErrorJson.html @@ -0,0 +1,395 @@ + + + + + + + Class: Twitter::REST::Response::ParseErrorJson + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + +
+ +
+ + + + + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::REST::Response::ParseErrorJson

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ unparsable_status_codes() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/twitter/rest/response/parse_error_json.rb, line 7
+def unparsable_status_codes
+  super + [200]
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Response/ParseJson.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Response/ParseJson.html new file mode 100644 index 0000000..a9a8960 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Response/ParseJson.html @@ -0,0 +1,483 @@ + + + + + + + Class: Twitter::REST::Response::ParseJson + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::REST::Response::ParseJson

+ +
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
WHITESPACE_REGEX
+ +
+ + +
+
+ + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ on_complete(response) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/twitter/rest/response/parse_json.rb, line 19
+def on_complete(response)
+  response.body = parse(response.body) if respond_to?(:parse) && !unparsable_status_codes.include?(response.status)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ parse(body) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/twitter/rest/response/parse_json.rb, line 10
+def parse(body)
+  case body
+  when WHITESPACE_REGEX, nil
+    nil
+  else
+    JSON.parse(body, :symbolize_names => true)
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ unparsable_status_codes() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/twitter/rest/response/parse_json.rb, line 23
+def unparsable_status_codes
+  [204, 301, 302, 304]
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Response/RaiseError.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Response/RaiseError.html new file mode 100644 index 0000000..48801d7 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Response/RaiseError.html @@ -0,0 +1,403 @@ + + + + + + + Class: Twitter::REST::Response::RaiseError + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::REST::Response::RaiseError

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ on_complete(response) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/twitter/rest/response/raise_error.rb, line 8
+def on_complete(response)
+  status_code = response.status.to_i
+  klass = Twitter::Error.errors[status_code]
+  return unless klass
+  error = if klass == Twitter::Error::Forbidden
+    handle_forbidden_errors(response)
+  else
+    klass.from_response(response)
+  end
+  fail(error)
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/SavedSearches.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/SavedSearches.html new file mode 100644 index 0000000..dc0d8f8 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/SavedSearches.html @@ -0,0 +1,582 @@ + + + + + + + Module: Twitter::REST::SavedSearches + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + + + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::REST::SavedSearches

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ create_saved_search(query, options = {}) + click to toggle source +
+ + +
+ +

Creates a saved search for the authenticated user

+ +

@see dev.twitter.com/docs/api/1.1/post/saved_searches/create +@rate_limited No @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Twitter::SavedSearch] The created saved search. @param query [String] The +query of the search the user would like to save. @param options [Hash] A +customizable set of options.

+ + + +
+
+# File lib/twitter/rest/saved_searches.rb, line 66
+def create_saved_search(query, options = {})
+  perform_with_object(:post, '/1.1/saved_searches/create.json', options.merge(:query => query), Twitter::SavedSearch)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ destroy_saved_search(*args) + click to toggle source +
+ + +
+ +

Destroys saved searches for the authenticated user

+ +

@see dev.twitter.com/docs/api/1.1/post/saved_searches/destroy/:id +@note The search specified by ID must be owned by the authenticating user. +@rate_limited No @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::SavedSearch>] The deleted saved searches. @overload +destroy_saved_search(*ids)

+ +
@param ids [Enumerable<Integer>] A collection of saved search IDs.
+ +

@overload destroy_saved_search(*ids, +options)

+ +
@param ids [Enumerable<Integer>] A collection of saved search IDs.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/saved_searches.rb, line 84
+def destroy_saved_search(*args)
+  arguments = Twitter::Arguments.new(args)
+  pmap(arguments) do |id|
+    perform_with_object(:post, "/1.1/saved_searches/destroy/#{id}.json", arguments.options, Twitter::SavedSearch)
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ saved_search(id, options = {}) + click to toggle source +
+ + +
+ +

Retrieve the data for saved searches owned by the authenticating user

+ +

@see dev.twitter.com/docs/api/1.1/get/saved_searches/show/:id +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Twitter::SavedSearch] The saved searches. @param id [Integer] The ID of +the saved search. @param options [Hash] A customizable set of options.

+ + + +
+
+# File lib/twitter/rest/saved_searches.rb, line 53
+def saved_search(id, options = {})
+  perform_with_object(:get, "/1.1/saved_searches/show/#{id}.json", options, Twitter::SavedSearch)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ saved_searches(*args) + click to toggle source +
+ + +
+ +

@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::SavedSearch>] The saved searches. @overload saved_search(options = +{})

+ +
Returns the authenticated user's saved search queries
+
+@see https://dev.twitter.com/docs/api/1.1/get/saved_searches/list
+@param options [Hash] A customizable set of options.
+ +

@overload saved_search(*ids)

+ +
Retrieve the data for saved searches owned by the authenticating user
+
+@see https://dev.twitter.com/docs/api/1.1/get/saved_searches/show/:id
+@param ids [Enumerable<Integer>] A collection of saved search IDs.
+ +

@overload saved_search(*ids, +options)

+ +
Retrieve the data for saved searches owned by the authenticating user
+
+@see https://dev.twitter.com/docs/api/1.1/get/saved_searches/show/:id
+@param ids [Enumerable<Integer>] A collection of saved search IDs.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/saved_searches.rb, line 33
+def saved_searches(*args)
+  arguments = Twitter::Arguments.new(args)
+  if arguments.empty?
+    perform_with_objects(:get, '/1.1/saved_searches/list.json', arguments.options, Twitter::SavedSearch)
+  else
+    pmap(arguments) do |id|
+      saved_search(id, arguments.options)
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Search.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Search.html new file mode 100644 index 0000000..dfa8122 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Search.html @@ -0,0 +1,443 @@ + + + + + + + Module: Twitter::REST::Search + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::REST::Search

+ +
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
MAX_TWEETS_PER_REQUEST
+ +
+ + +
+
+ + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ search(q, options = {}) + click to toggle source +
+ + +
+ +

Returns tweets that match a specified query.

+ +

@see dev.twitter.com/docs/api/1.1/get/search/tweets +@see dev.twitter.com/docs/using-search +@note Please note that Twitter’s search service and, by extension, the Search API is not meant to be +an exhaustive source of Tweets. Not all Tweets will be indexed or made available via the +search interface. @rate_limited Yes @authentication Requires user context +@raise [Twitter::Error::Unauthorized] Error +raised when supplied user credentials are not valid. @param q [String] A +search term. @param options [Hash] A customizable set of options. @option +options [String] :geocode Returns tweets by users located within a given +radius of the given latitude/longitude. The location is preferentially +taking from the Geotagging API, but will fall back +to their Twitter profile. The parameter +value is specified by “latitude,longitude,radius”, where radius units must +be specified as either “mi” (miles) or “km” (kilometers). Note that you +cannot use the near operator via the API to geocode +arbitrary locations; however you can use this geocode parameter to search +near geocodes directly. @option options [String] :lang Restricts tweets to +the given language, given by an ISO 639-1 code. @option options [String] +:locale Specify the language of the query you are sending (only ja is +currently effective). This is intended for language-specific clients and +the default should work in the majority of cases. @option options [String] +:result_type Specifies what type of search results you would prefer to +receive. Options are “mixed”, “recent”, and “popular”. The current default +is “mixed.” @option options [Integer] :count The number of tweets to return +per page, up to a maximum of 100. @option options [String] :until Optional. +Returns tweets generated before the given date. Date should be formatted as +YYYY-MM-DD. @option options [Integer] :since_id Returns results with an ID +greater than (that is, more recent than) the specified ID. There are limits +to the number of Tweets which can be accessed +through the API. If the limit of Tweets has occured since the since_id, the since_id +will be forced to the oldest ID available. @option options [Integer] +:max_id Returns results with an ID less than (that is, older than) or equal +to the specified ID. @return [Twitter::SearchResults] Return tweets that +match a specified query with search metadata

+ + + +
+
+# File lib/twitter/rest/search.rb, line 28
+def search(q, options = {})
+  options[:count] ||= MAX_TWEETS_PER_REQUEST
+  request = Twitter::Request.new(self, :get, '/1.1/search/tweets.json', options.merge(:q => q))
+  response = get(request.path, request.options).body
+  Twitter::SearchResults.new(response, request)
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/SpamReporting.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/SpamReporting.html new file mode 100644 index 0000000..a632a66 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/SpamReporting.html @@ -0,0 +1,417 @@ + + + + + + + Module: Twitter::REST::SpamReporting + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::REST::SpamReporting

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ report_spam(*args) + click to toggle source +
+ + +
+ +

The users specified are blocked by the authenticated user and reported as +spammers

+ +

@see dev.twitter.com/docs/api/1.1/post/users/report_spam +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::User>] The reported users. @overload report_spam(*users)

+ +
@param users [Enumerable<Integer, String, Twitter::User>] A collection of Twitter user IDs, screen names, or objects.
+ +

@overload report_spam(*users, +options)

+ +
@param users [Enumerable<Integer, String, Twitter::User>] A collection of Twitter user IDs, screen names, or objects.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/spam_reporting.rb, line 22
+def report_spam(*args)
+  parallel_users_from_response(:post, '/1.1/users/report_spam.json', args)
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/SuggestedUsers.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/SuggestedUsers.html new file mode 100644 index 0000000..a73fc8e --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/SuggestedUsers.html @@ -0,0 +1,464 @@ + + + + + + + Module: Twitter::REST::SuggestedUsers + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::REST::SuggestedUsers

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ suggest_users(slug, options = {}) + click to toggle source +
+ + +
+ +

Access the users in a given category of the Twitter suggested user list and return their +most recent Tweet if they are not a protected +user

+ +

@see dev.twitter.com/docs/api/1.1/get/users/suggestions/:slug/members +@rate_limited Yes @authentication Requires user context @param slug +[String] The short name of list or a category. @param options [Hash] A +customizable set of options. @return [Array<Twitter::User>]

+ + + +
+
+# File lib/twitter/rest/suggested_users.rb, line 44
+def suggest_users(slug, options = {})
+  perform_with_objects(:get, "/1.1/users/suggestions/#{slug}/members.json", options, Twitter::User)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ suggestions(*args) + click to toggle source +
+ + +
+ +

@return [Array<Twitter::Suggestion>] @rate_limited Yes +@authentication Requires user context @raise [Twitter::Error::Unauthorized] +Error raised when supplied user credentials are +not valid. @overload suggestions(options = {})

+ +
Returns the list of suggested user categories
+
+@see https://dev.twitter.com/docs/api/1.1/get/users/suggestions
+@param options [Hash] A customizable set of options.
+ +

@overload suggestions(slug, options = {})

+ +
Returns the users in a given category
+
+@see https://dev.twitter.com/docs/api/1.1/get/users/suggestions/:slug
+@param slug [String] The short name of list or a category.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/suggested_users.rb, line 27
+def suggestions(*args)
+  arguments = Twitter::Arguments.new(args)
+  if arguments.last
+    perform_with_object(:get, "/1.1/users/suggestions/#{arguments.pop}.json", arguments.options, Twitter::Suggestion)
+  else
+    perform_with_objects(:get, '/1.1/users/suggestions.json', arguments.options, Twitter::Suggestion)
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Timelines.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Timelines.html new file mode 100644 index 0000000..0a2be56 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Timelines.html @@ -0,0 +1,860 @@ + + + + + + + Module: Twitter::REST::Timelines + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + + + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::REST::Timelines

+ +
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
DEFAULT_TWEETS_PER_REQUEST
+ +
+ + +
MAX_TWEETS_PER_REQUEST
+ +
+ + +
+
+ + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ home_timeline(options = {}) + click to toggle source +
+ + +
+ +

Returns the 20 most recent Tweets, including +retweets if they exist, posted by the authenticating user and the users +they follow

+ +

@see dev.twitter.com/docs/api/1.1/get/statuses/home_timeline +@note This method can only return up to 800 Tweets, including retweets. @rate_limited Yes +@authentication Requires user context @raise [Twitter::Error::Unauthorized] +Error raised when supplied user credentials are +not valid. @return [Array<Twitter::Tweet>] @param options [Hash] A +customizable set of options. @option options [Integer] :since_id Returns +results with an ID greater than (that is, more recent than) the specified +ID. @option options [Integer] :max_id Returns results with an ID less than +(that is, older than) or equal to the specified ID. @option options +[Integer] :count Specifies the number of records to retrieve. Must be less +than or equal to 200. @option options [Boolean, String, Integer] :trim_user +Each tweet returned in a timeline will include a user object with only the +author’s numerical ID when set to true, ‘t’ or 1. @option options [Boolean, +String, Integer] :exclude_replies This parameter will prevent replies from +appearing in the returned timeline. Using exclude_replies with the count +parameter will mean you will receive up-to count tweets - this is because +the count parameter retrieves that many tweets before filtering out +retweets and replies. @option options [Boolean, String, Integer] +:include_rts Specifies that the timeline should include native retweets in +addition to regular tweets. Note: If you’re using the trim_user parameter +in conjunction with include_rts, the retweets will no longer contain a full +user object. @option options [Boolean, String, Integer] +:contributor_details Specifies that the contributors element should be +enhanced to include the screen_name of the contributor.

+ + + +
+
+# File lib/twitter/rest/timelines.rb, line 113
+def home_timeline(options = {})
+  perform_with_objects(:get, '/1.1/statuses/home_timeline.json', options, Twitter::Tweet)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ mentions(options = {}) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: mentions_timeline +
+ +
+ + +
+ + + +
+ mentions_timeline(options = {}) + click to toggle source +
+ + +
+ +

Returns the 20 most recent mentions (statuses containing @username) for the +authenticating user

+ +

@see dev.twitter.com/docs/api/1.1/get/statuses/mentions_timeline +@note This method can only return up to 800 Tweets. @rate_limited Yes @authentication Requires +user context @raise [Twitter::Error::Unauthorized] Error raised when supplied user credentials are +not valid. @return [Array<Twitter::Tweet>] @param options [Hash] A +customizable set of options. @option options [Integer] :since_id Returns +results with an ID greater than (that is, more recent than) the specified +ID. @option options [Integer] :max_id Returns results with an ID less than +(that is, older than) or equal to the specified ID. @option options +[Integer] :count Specifies the number of records to retrieve. Must be less +than or equal to 200. @option options [Boolean, String, Integer] :trim_user +Each tweet returned in a timeline will include a user object with only the +author’s numerical ID when set to true, ‘t’ or 1.

+ + + +
+
+# File lib/twitter/rest/timelines.rb, line 26
+def mentions_timeline(options = {})
+  perform_with_objects(:get, '/1.1/statuses/mentions_timeline.json', options, Twitter::Tweet)
+end
+
+ +
+ + +
+ Also aliased as: mentions +
+ + + +
+ + +
+ + + +
+ retweeted_by(user, options = {}) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: retweeted_by_user +
+ +
+ + +
+ + + +
+ retweeted_by_me(options = {}) + click to toggle source +
+ + +
+ +

Returns the 20 most recent retweets posted by the authenticating user

+ +

@see dev.twitter.com/docs/api/1.1/get/statuses/user_timeline +@note This method can only return up to 3,200 Tweets. @rate_limited Yes @authentication Requires +user context @raise [Twitter::Error::Unauthorized] Error raised when supplied user credentials are +not valid. @return [Array<Twitter::Tweet>] @param options [Hash] A +customizable set of options. @option options [Integer] :since_id Returns +results with an ID greater than (that is, more recent than) the specified +ID. @option options [Integer] :max_id Returns results with an ID less than +(that is, older than) or equal to the specified ID. @option options +[Integer] :count Specifies the number of records to retrieve. Must be less +than or equal to 200. @option options [Boolean, String, Integer] :trim_user +Each tweet returned in a timeline will include a user object with only the +author’s numerical ID when set to true, ‘t’ or 1. @option options [Boolean, +String, Integer] :exclude_replies This parameter will prevent replies from +appearing in the returned timeline. Using exclude_replies with the count +parameter will mean you will receive up-to count tweets - this is because +the count parameter retrieves that many tweets before filtering out +retweets and replies. @option options [Boolean, String, Integer] +:contributor_details Specifies that the contributors element should be +enhanced to include the screen_name of the contributor.

+ + + +
+
+# File lib/twitter/rest/timelines.rb, line 91
+def retweeted_by_me(options = {})
+  retweets_from_timeline(options) do |opts|
+    user_timeline(opts)
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ retweeted_by_user(user, options = {}) + click to toggle source +
+ + +
+ +

Returns the 20 most recent retweets posted by the specified user

+ +

@see dev.twitter.com/docs/api/1.1/get/statuses/user_timeline +@note This method can only return up to 3,200 Tweets. @rate_limited Yes @authentication Requires +user context @raise [Twitter::Error::Unauthorized] Error raised when supplied user credentials are +not valid. @return [Array<Twitter::Tweet>] @param user [Integer, +String, Twitter::User] A Twitter user ID, +screen name, URI, or object. @param options [Hash] A customizable set of +options. @option options [Integer] :since_id Returns results with an ID +greater than (that is, more recent than) the specified ID. @option options +[Integer] :max_id Returns results with an ID less than (that is, older +than) or equal to the specified ID. @option options [Integer] :count +Specifies the number of records to retrieve. Must be less than or equal to +200. @option options [Boolean, String, Integer] :trim_user Each tweet +returned in a timeline will include a user object with only the author’s +numerical ID when set to true, ‘t’ or 1. @option options [Boolean, String, +Integer] :exclude_replies This parameter will prevent replies from +appearing in the returned timeline. Using exclude_replies with the count +parameter will mean you will receive up-to count tweets - this is because +the count parameter retrieves that many tweets before filtering out +retweets and replies. @option options [Boolean, String, Integer] +:contributor_details Specifies that the contributors element should be +enhanced to include the screen_name of the contributor.

+ + + +
+
+# File lib/twitter/rest/timelines.rb, line 69
+def retweeted_by_user(user, options = {})
+  retweets_from_timeline(options) do |opts|
+    user_timeline(user, opts)
+  end
+end
+
+ +
+ + +
+ Also aliased as: retweeted_by +
+ + + +
+ + +
+ + + +
+ retweeted_to_me(options = {}) + click to toggle source +
+ + +
+ +

Returns the 20 most recent retweets posted by users the authenticating user +follow.

+ +

@see dev.twitter.com/docs/api/1.1/get/statuses/home_timeline +@note This method can only return up to 800 Tweets, including retweets. @rate_limited Yes +@authentication Requires user context @raise [Twitter::Error::Unauthorized] +Error raised when supplied user credentials are +not valid. @return [Array<Twitter::Tweet>] @param options [Hash] A +customizable set of options. @option options [Integer] :since_id Returns +results with an ID greater than (that is, more recent than) the specified +ID. @option options [Integer] :max_id Returns results with an ID less than +(that is, older than) or equal to the specified ID. @option options +[Integer] :count Specifies the number of records to retrieve. Must be less +than or equal to 200. @option options [Boolean, String, Integer] :trim_user +Each tweet returned in a timeline will include a user object with only the +author’s numerical ID when set to true, ‘t’ or 1. @option options [Boolean, +String, Integer] :exclude_replies This parameter will prevent replies from +appearing in the returned timeline. Using exclude_replies with the count +parameter will mean you will receive up-to count tweets - this is because +the count parameter retrieves that many tweets before filtering out +retweets and replies. @option options [Boolean, String, Integer] +:contributor_details Specifies that the contributors element should be +enhanced to include the screen_name of the contributor.

+ + + +
+
+# File lib/twitter/rest/timelines.rb, line 132
+def retweeted_to_me(options = {})
+  retweets_from_timeline(options) do |opts|
+    home_timeline(opts)
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ retweets_of_me(options = {}) + click to toggle source +
+ + +
+ +

Returns the 20 most recent tweets of the authenticated user that have been +retweeted by others

+ +

@see dev.twitter.com/docs/api/1.1/get/statuses/retweets_of_me +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::Tweet>] @param options [Hash] A customizable set of +options. @option options [Integer] :count Specifies the number of records +to retrieve. Must be less than or equal to 200. @option options [Integer] +:since_id Returns results with an ID greater than (that is, more recent +than) the specified ID. @option options [Integer] :max_id Returns results +with an ID less than (that is, older than) or equal to the specified ID. +@option options [Boolean, String, Integer] :trim_user Each tweet returned +in a timeline will include a user object with only the author’s numerical +ID when set to true, ‘t’ or 1. @option options [Boolean, String, Integer] +:include_user_entities The user entities node will be disincluded when set +to false.

+ + + +
+
+# File lib/twitter/rest/timelines.rb, line 151
+def retweets_of_me(options = {})
+  perform_with_objects(:get, '/1.1/statuses/retweets_of_me.json', options, Twitter::Tweet)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ user_timeline(*args) + click to toggle source +
+ + +
+ +

Returns the 20 most recent Tweets posted by the +specified user

+ +

@see dev.twitter.com/docs/api/1.1/get/statuses/user_timeline +@note This method can only return up to 3,200 Tweets. @rate_limited Yes @authentication Requires +user context @raise [Twitter::Error::Unauthorized] Error raised when supplied user credentials are +not valid. @return [Array<Twitter::Tweet>] @overload user_timeline(user, +options = {})

+ +
@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param options [Hash] A customizable set of options.
+@option options [Integer] :since_id Returns results with an ID greater than (that is, more recent than) the specified ID.
+@option options [Integer] :max_id Returns results with an ID less than (that is, older than) or equal to the specified ID.
+@option options [Integer] :count Specifies the number of records to retrieve. Must be less than or equal to 200.
+@option options [Boolean, String, Integer] :trim_user Each tweet returned in a timeline will include a user object with only the author's numerical ID when set to true, 't' or 1.
+@option options [Boolean, String, Integer] :exclude_replies This parameter will prevent replies from appearing in the returned timeline. Using exclude_replies with the count parameter will mean you will receive up-to count tweets - this is because the count parameter retrieves that many tweets before filtering out retweets and replies.
+@option options [Boolean, String, Integer] :contributor_details Specifies that the contributors element should be enhanced to include the screen_name of the contributor.
+@option options [Boolean, String, Integer] :include_rts Specifies that the timeline should include native retweets in addition to regular tweets. Note: If you're using the trim_user parameter in conjunction with include_rts, the retweets will no longer contain a full user object.
+ + + +
+
+# File lib/twitter/rest/timelines.rb, line 49
+def user_timeline(*args)
+  objects_from_response_with_user(Twitter::Tweet, :get, '/1.1/statuses/user_timeline.json', args)
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Trends.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Trends.html new file mode 100644 index 0000000..02fbb2d --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Trends.html @@ -0,0 +1,609 @@ + + + + + + + Module: Twitter::REST::Trends + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + + + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::REST::Trends

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + + + + +
+ + + +
+ trend_locations(options = {}) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: trends_available +
+ +
+ + + + + + + + + + + + + + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Tweets.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Tweets.html new file mode 100644 index 0000000..49d3ee8 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Tweets.html @@ -0,0 +1,1208 @@ + + + + + + + Module: Twitter::REST::Tweets + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + + + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::REST::Tweets

+ +
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
MAX_TWEETS_PER_REQUEST
+ +
+ + +
+
+ + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ destroy_status(*args) + click to toggle source +
+ + +
+ +

Destroys the specified Tweets

+ +

@see dev.twitter.com/docs/api/1.1/post/statuses/destroy/:id +@note The authenticating user must be the author of the specified Tweets. @rate_limited No @authentication Requires +user context @raise [Twitter::Error::Unauthorized] Error raised when supplied user credentials are +not valid. @return [Array<Twitter::Tweet>] The deleted Tweets. @overload destroy_status(*tweets)

+ +
@param tweets [Enumerable<Integer, String, URI, Twitter::Tweet>] A collection of Tweet IDs, URIs, or objects.
+ +

@overload destroy_status(*tweets, +options)

+ +
@param tweets [Enumerable<Integer, String, URI, Twitter::Tweet>] A collection of Tweet IDs, URIs, or objects.
+@param options [Hash] A customizable set of options.
+@option options [Boolean, String, Integer] :trim_user Each tweet returned in a timeline will include a user object with only the author's numerical ID when set to true, 't' or 1.
+ + + +
+
+# File lib/twitter/rest/tweets.rb, line 99
+def destroy_status(*args)
+  arguments = Twitter::Arguments.new(args)
+  pmap(arguments) do |tweet|
+    perform_with_object(:post, "/1.1/statuses/destroy/#{extract_id(tweet)}.json", arguments.options, Twitter::Tweet)
+  end
+end
+
+ +
+ + +
+ Also aliased as: destroy_tweet +
+ + + +
+ + +
+ + + +
+ destroy_tweet(*args) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: destroy_status +
+ +
+ + +
+ + + +
+ oembed(tweet, options = {}) + click to toggle source +
+ + +
+ +

Returns oEmbed for a Tweet

+ +

@see dev.twitter.com/docs/api/1.1/get/statuses/oembed +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Twitter::OEmbed] OEmbed for the requested Tweet. @param tweet [Integer, String, URI, +Twitter::Tweet] A Tweet ID, URI, or object. +@param options [Hash] A customizable set of options. @option options +[Integer] :maxwidth The maximum width in pixels that the embed should be +rendered at. This value is constrained to be between 250 and 550 pixels. +@option options [Boolean, String, Integer] :hide_media Specifies whether +the embedded Tweet should automatically expand +images which were uploaded via {dev.twitter.com/docs/api/1.1/post/statuses/update_with_media +POST statuses/update_with_media}. When set to either true, t or 1 images +will not be expanded. Defaults to false. @option options [Boolean, String, +Integer] :hide_thread Specifies whether the embedded Tweet should automatically show the original +message in the case that the embedded Tweet is +a reply. When set to either true, t or 1 the original Tweet will not be shown. Defaults to false. +@option options [Boolean, String, Integer] :omit_script Specifies whether +the embedded Tweet HTML should include a +`<script>` element pointing to widgets.js. In cases where a page +already includes widgets.js, setting this value to true will prevent a +redundant script element from being included. When set to either true, t or +1 the `<script>` element will not be included in the embed HTML, +meaning that pages must include a reference to widgets.js manually. +Defaults to false. @option options [String] :align Specifies whether the +embedded Tweet should be left aligned, right +aligned, or centered in the page. Valid values are left, right, center, and +none. Defaults to none, meaning no alignment styles are specified for the +Tweet. @option options [String] :related A +value for the TWT related parameter, as described in {dev.twitter.com/docs/intents +Web Intents}. This value will be forwarded to all Web Intents calls. +@option options [String] :lang Language code +for the rendered embed. This will affect the text and localization of the +rendered HTML.

+ + + +
+
+# File lib/twitter/rest/tweets.rb, line 253
+def oembed(tweet, options = {})
+  options[:id] = extract_id(tweet)
+  perform_with_object(:get, '/1.1/statuses/oembed.json', options, Twitter::OEmbed)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ oembeds(*args) + click to toggle source +
+ + +
+ +

Returns oEmbeds for Tweets

+ +

@see dev.twitter.com/docs/api/1.1/get/statuses/oembed +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::OEmbed>] OEmbeds for the requested Tweets. @overload oembed(*tweets)

+ +
@param tweets [Enumerable<Integer, String, URI, Twitter::Tweet>] A collection of Tweet IDs, URIs, or objects.
+ +

@overload oembed(*tweets, options)

+ +
@param tweets [Enumerable<Integer, String, URI, Twitter::Tweet>] A collection of Tweet IDs, URIs, or objects.
+@param options [Hash] A customizable set of options.
+@option options [Integer] :maxwidth The maximum width in pixels that the embed should be rendered at. This value is constrained to be between 250 and 550 pixels.
+@option options [Boolean, String, Integer] :hide_media Specifies whether the embedded Tweet should automatically expand images which were uploaded via {https://dev.twitter.com/docs/api/1.1/post/statuses/update_with_media POST statuses/update_with_media}. When set to either true, t or 1 images will not be expanded. Defaults to false.
+@option options [Boolean, String, Integer] :hide_thread Specifies whether the embedded Tweet should automatically show the original message in the case that the embedded Tweet is a reply. When set to either true, t or 1 the original Tweet will not be shown. Defaults to false.
+@option options [Boolean, String, Integer] :omit_script Specifies whether the embedded Tweet HTML should include a `<script>` element pointing to widgets.js. In cases where a page already includes widgets.js, setting this value to true will prevent a redundant script element from being included. When set to either true, t or 1 the `<script>` element will not be included in the embed HTML, meaning that pages must include a reference to widgets.js manually. Defaults to false.
+@option options [String] :align Specifies whether the embedded Tweet should be left aligned, right aligned, or centered in the page. Valid values are left, right, center, and none. Defaults to none, meaning no alignment styles are specified for the Tweet.
+@option options [String] :related A value for the TWT related parameter, as described in {https://dev.twitter.com/docs/intents Web Intents}. This value will be forwarded to all Web Intents calls.
+@option options [String] :lang Language code for the rendered embed. This will affect the text and localization of the rendered HTML.
+ + + +
+
+# File lib/twitter/rest/tweets.rb, line 277
+def oembeds(*args)
+  arguments = Twitter::Arguments.new(args)
+  pmap(arguments) do |tweet|
+    oembed(extract_id(tweet), arguments.options)
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ retweet(*args) + click to toggle source +
+ + +
+ +

Retweets the specified Tweets as the +authenticating user

+ +

@see dev.twitter.com/docs/api/1.1/post/statuses/retweet/:id +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::Tweet>] The original tweets with retweet details +embedded. @overload retweet(*tweets)

+ +
@param tweets [Enumerable<Integer, String, URI, Twitter::Tweet>] A collection of Tweet IDs, URIs, or objects.
+ +

@overload retweet(*tweets, options)

+ +
@param tweets [Enumerable<Integer, String, URI, Twitter::Tweet>] A collection of Tweet IDs, URIs, or objects.
+@param options [Hash] A customizable set of options.
+@option options [Boolean, String, Integer] :trim_user Each tweet returned in a timeline will include a user object with only the author's numerical ID when set to true, 't' or 1.
+ + + +
+
+# File lib/twitter/rest/tweets.rb, line 176
+def retweet(*args)
+  arguments = Twitter::Arguments.new(args)
+  pmap(arguments) do |tweet|
+    begin
+      post_retweet(extract_id(tweet), arguments.options)
+    rescue Twitter::Error::AlreadyRetweeted
+      next
+    end
+  end.compact
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ retweet!(*args) + click to toggle source +
+ + +
+ +

Retweets the specified Tweets as the +authenticating user and raises an error if one has already been retweeted

+ +

@see dev.twitter.com/docs/api/1.1/post/statuses/retweet/:id +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::AlreadyRetweeted] Error raised +when tweet has already been retweeted. @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::Tweet>] The original tweets with retweet details +embedded. @overload retweet!(*tweets)

+ +
@param tweets [Enumerable<Integer, String, URI, Twitter::Tweet>] A collection of Tweet IDs, URIs, or objects.
+ +

@overload retweet!(*tweets, options)

+ +
@param tweets [Enumerable<Integer, String, URI, Twitter::Tweet>] A collection of Tweet IDs, URIs, or objects.
+@param options [Hash] A customizable set of options.
+@option options [Boolean, String, Integer] :trim_user Each tweet returned in a timeline will include a user object with only the author's numerical ID when set to true, 't' or 1.
+ + + +
+
+# File lib/twitter/rest/tweets.rb, line 201
+def retweet!(*args)
+  arguments = Twitter::Arguments.new(args)
+  pmap(arguments) do |tweet|
+    post_retweet(extract_id(tweet), arguments.options)
+  end.compact
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ retweeters_ids(*args) + click to toggle source +
+ + +
+ +

Returns a collection of up to 100 user IDs belonging to users who have +retweeted the tweet specified by the id parameter.

+ +

@see dev.twitter.com/docs/api/1.1/get/statuses/retweeters/ids +@rate_limited Yes @authentication Required @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Twitter::Cursor] +@overload retweeters_ids(options)

+ +
@param options [Hash] A customizable set of options.
+ +

@overload retweeters_ids(id, options = +{})

+ +
@param tweet [Integer, String, URI, Twitter::Tweet] A Tweet ID, URI, or object.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/tweets.rb, line 296
+def retweeters_ids(*args)
+  arguments = Twitter::Arguments.new(args)
+  arguments.options[:id] ||= extract_id(arguments.first)
+  perform_with_cursor(:get, '/1.1/statuses/retweeters/ids.json', arguments.options, :ids)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ retweeters_of(tweet, options = {}) + click to toggle source +
+ + +
+ +

Show up to 100 users who retweeted the Tweet

+ +

@see dev.twitter.com/docs/api/1.1/get/statuses/retweets/:id +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Array] @param tweet +[Integer, String, URI, Twitter::Tweet] A Tweet +ID, URI, or object. @param options [Hash] A customizable set of options. +@option options [Integer] :count Specifies the number of records to +retrieve. Must be less than or equal to 100. @option options [Boolean, +String, Integer] :trim_user Each tweet returned in a timeline will include +a user object with only the author’s numerical ID when set to true, ‘t’ or +1. @option options [Boolean] :ids_only (‘false’) Only return user IDs +instead of full user objects.

+ + + +
+
+# File lib/twitter/rest/tweets.rb, line 43
+def retweeters_of(tweet, options = {})
+  ids_only = !!options.delete(:ids_only)
+  retweeters = retweets(tweet, options).collect(&:user)
+  ids_only ? retweeters.collect(&:id) : retweeters
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ retweets(tweet, options = {}) + click to toggle source +
+ + +
+ +

Returns up to 100 of the first retweets of a given tweet

+ +

@see dev.twitter.com/docs/api/1.1/get/statuses/retweets/:id +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::Tweet>] @param tweet [Integer, String, URI, +Twitter::Tweet] A Tweet ID, URI, or object. +@param options [Hash] A customizable set of options. @option options +[Integer] :count Specifies the number of records to retrieve. Must be less +than or equal to 100. @option options [Boolean, String, Integer] :trim_user +Each tweet returned in a timeline will include a user object with only the +author’s numerical ID when set to true, ‘t’ or 1.

+ + + +
+
+# File lib/twitter/rest/tweets.rb, line 27
+def retweets(tweet, options = {})
+  perform_with_objects(:get, "/1.1/statuses/retweets/#{extract_id(tweet)}.json", options, Twitter::Tweet)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ status(tweet, options = {}) + click to toggle source +
+ + +
+ +

Returns a Tweet

+ +

@see dev.twitter.com/docs/api/1.1/get/statuses/show/:id +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @raise +[Twitter::Error::Forbidden] Error raised when +supplied status is over 140 characters. @return [Twitter::Tweet] The +requested Tweet. @param tweet [Integer, String, +URI, Twitter::Tweet] A Tweet ID, URI, or +object. @param options [Hash] A customizable set of options. @option +options [Boolean, String, Integer] :trim_user Each tweet returned in a +timeline will include a user object with only the author’s numerical ID +when set to true, ‘t’ or 1.

+ + + +
+
+# File lib/twitter/rest/tweets.rb, line 60
+def status(tweet, options = {})
+  perform_with_object(:get, "/1.1/statuses/show/#{extract_id(tweet)}.json", options, Twitter::Tweet)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ statuses(*args) + click to toggle source +
+ + +
+ +

Returns Tweets

+ +

@see dev.twitter.com/docs/api/1.1/get/statuses/lookup +@rate_limited Yes @authentication Required @return +[Array<Twitter::Tweet>] The requested Tweets. @overload statuses(*tweets)

+ +
@param tweets [Enumerable<Integer, String, URI, Twitter::Tweet>] A collection of Tweet IDs, URIs, or objects.
+ +

@overload statuses(*tweets, options)

+ +
@param tweets [Enumerable<Integer, String, URI, Twitter::Tweet>] A collection of Tweet IDs, URIs, or objects.
+@param options [Hash] A customizable set of options.
+@option options [Symbol, String] :method Requests users via a GET request instead of the standard POST request if set to ':get'.
+@option options [Boolean, String, Integer] :trim_user Each tweet returned in a timeline will include a user object with only the author's numerical ID when set to true, 't' or 1.
+ + + +
+
+# File lib/twitter/rest/tweets.rb, line 77
+def statuses(*args)
+  arguments = Twitter::Arguments.new(args)
+  request_method = arguments.options.delete(:method) || :post
+  flat_pmap(arguments.each_slice(MAX_TWEETS_PER_REQUEST)) do |tweets|
+    perform_with_objects(request_method, '/1.1/statuses/lookup.json', arguments.options.merge(:id => tweets.collect { |u| extract_id(u) }.join(',')), Twitter::Tweet)
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update(status, options = {}) + click to toggle source +
+ + +
+ +

Updates the authenticating user’s status

+ +

@see dev.twitter.com/docs/api/1.1/post/statuses/update +@note A status update with text identical to the authenticating user’s +current status will be ignored to prevent duplicates. @rate_limited No +@authentication Requires user context @raise [Twitter::Error::Unauthorized] +Error raised when supplied user credentials are +not valid. @return [Twitter::Tweet] The created Tweet. @param status [String] The text of your +status update, up to 140 characters. @param options [Hash] A customizable +set of options. @option options [Boolean, String, Integer] +:possibly_sensitive Set to true for content which may not be suitable for +every audience. @option options [Twitter::Tweet] :in_reply_to_status An +existing status that the update is in reply to. @option options [Integer] +:in_reply_to_status_id The ID of an existing status that the update is in +reply to. @option options [Float] :lat The latitude of the location this +tweet refers to. This option will be ignored unless it is inside the range +-90.0 to +90.0 (North is positive) inclusive. It will also be ignored if +there isn’t a corresponding :long option. @option options [Float] :long The +longitude of the location this tweet refers to. The valid ranges for +longitude is -180.0 to +180.0 (East is positive) inclusive. This option +will be ignored if outside that range, if it is not a number, if +geo_enabled is disabled, or if there not a corresponding :lat option. +@option options [Twitter::Place] :place A place in the world. These can be +retrieved from {Twitter::REST::PlacesAndGeo#reverse_geocode}. +@option options [String] :place_id A place in the world. These IDs can be +retrieved from {Twitter::REST::PlacesAndGeo#reverse_geocode}. +@option options [String] :media_ids A comma separated list of uploaded +media IDs to attach to the Tweet. @option +options [String] :display_coordinates Whether or not to put a pin on the +exact coordinates a tweet has been sent from. @option options [Boolean, +String, Integer] :trim_user Each tweet returned in a timeline will include +a user object with only the author’s numerical ID when set to true, ‘t’ or +1.

+ + + +
+
+# File lib/twitter/rest/tweets.rb, line 129
+def update(status, options = {})
+  update!(status, options)
+rescue Twitter::Error::DuplicateStatus
+  user_timeline(:count => 1).first
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update!(status, options = {}) + click to toggle source +
+ + +
+ +

Updates the authenticating user’s status

+ +

@see dev.twitter.com/docs/api/1.1/post/statuses/update +@note A status update with text identical to the authenticating user’s +current status will be ignored to prevent duplicates. @rate_limited No +@authentication Requires user context @raise [Twitter::Error::Unauthorized] +Error raised when supplied user credentials are +not valid. @raise [Twitter::Error::DuplicateStatus] Error raised when a duplicate status is posted. +@return [Twitter::Tweet] The created Tweet. +@param status [String] The text of your status update, up to 140 +characters. @param options [Hash] A customizable set of options. @option +options [Boolean, String, Integer] :possibly_sensitive Set to true for +content which may not be suitable for every audience. @option options +[Twitter::Tweet] :in_reply_to_status An existing status that the update is +in reply to. @option options [Integer] :in_reply_to_status_id The ID of an +existing status that the update is in reply to. @option options [Float] +:lat The latitude of the location this tweet refers to. This option will be +ignored unless it is inside the range -90.0 to +90.0 (North is positive) +inclusive. It will also be ignored if there isn’t a corresponding :long +option. @option options [Float] :long The longitude of the location this +tweet refers to. The valid ranges for longitude is -180.0 to +180.0 (East +is positive) inclusive. This option will be ignored if outside that range, +if it is not a number, if geo_enabled is disabled, or if there not a +corresponding :lat option. @option options [Twitter::Place] :place A place +in the world. These can be retrieved from {Twitter::REST::PlacesAndGeo#reverse_geocode}. +@option options [String] :place_id A place in the world. These IDs can be +retrieved from {Twitter::REST::PlacesAndGeo#reverse_geocode}. +@option options [String] :media_ids A comma separated list of uploaded +media IDs to attach to the Tweet. @option +options [String] :display_coordinates Whether or not to put a pin on the +exact coordinates a tweet has been sent from. @option options [Boolean, +String, Integer] :trim_user Each tweet returned in a timeline will include +a user object with only the author’s numerical ID when set to true, ‘t’ or +1.

+ + + +
+
+# File lib/twitter/rest/tweets.rb, line 156
+def update!(status, options = {})
+  hash = options.dup
+  hash[:in_reply_to_status_id] = hash.delete(:in_reply_to_status).id unless hash[:in_reply_to_status].nil?
+  hash[:place_id] = hash.delete(:place).woeid unless hash[:place].nil?
+  perform_with_object(:post, '/1.1/statuses/update.json', hash.merge(:status => status), Twitter::Tweet)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update_with_media(status, media, options = {}) + click to toggle source +
+ + +
+ +

Updates the authenticating user’s status with media

+ +

@see dev.twitter.com/docs/api/1.1/post/statuses/update_with_media +@note A status update with text/media identical to the authenticating +user’s current status will NOT be ignored @rate_limited No @authentication +Requires user context @raise [Twitter::Error::Unauthorized] Error raised when supplied user credentials are +not valid. @raise [Twitter::Error::UnacceptableIO] Error when the IO object for the media argument +does not have a to_io method. @return [Twitter::Tweet] The created Tweet. @param status [String] The text of your +status update, up to 140 characters. @param media [File, Hash] A File +object with your picture (PNG, JPEG or GIF) @param options [Hash] A +customizable set of options. @option options [Boolean, String, Integer] +:possibly_sensitive Set to true for content which may not be suitable for +every audience. @option options [Twitter::Tweet] :in_reply_to_status An +existing status that the update is in reply to. @option options [Integer] +:in_reply_to_status_id The ID of an existing Tweet that the update is in reply to. @option +options [Float] :lat The latitude of the location this tweet refers to. +This option will be ignored unless it is inside the range -90.0 to +90.0 +(North is positive) inclusive. It will also be ignored if there isn’t a +corresponding :long option. @option options [Float] :long The longitude of +the location this tweet refers to. The valid ranges for longitude is -180.0 +to +180.0 (East is positive) inclusive. This option will be ignored if +outside that range, if it is not a number, if geo_enabled is disabled, or +if there not a corresponding :lat option. @option options [Twitter::Place] +:place A place in the world. These can be retrieved from {Twitter::REST::PlacesAndGeo#reverse_geocode}. +@option options [String] :place_id A place in the world. These IDs can be +retrieved from {Twitter::REST::PlacesAndGeo#reverse_geocode}. +@option options [String] :display_coordinates Whether or not to put a pin +on the exact coordinates a tweet has been sent from. @option options +[Boolean, String, Integer] :trim_user Each tweet returned in a timeline +will include a user object with only the author’s numerical ID when set to +true, ‘t’ or 1.

+ + + +
+
+# File lib/twitter/rest/tweets.rb, line 229
+def update_with_media(status, media, options = {})
+  fail(Twitter::Error::UnacceptableIO.new) unless media.respond_to?(:to_io)
+  hash = options.dup
+  hash[:in_reply_to_status_id] = hash.delete(:in_reply_to_status).id unless hash[:in_reply_to_status].nil?
+  hash[:place_id] = hash.delete(:place).woeid unless hash[:place].nil?
+  perform_with_object(:post, '/1.1/statuses/update_with_media.json', hash.merge('media[]' => media, 'status' => status), Twitter::Tweet)
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Undocumented.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Undocumented.html new file mode 100644 index 0000000..141a6a3 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Undocumented.html @@ -0,0 +1,457 @@ + + + + + + + Module: Twitter::REST::Undocumented + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::REST::Undocumented

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ following_followers_of(*args) + click to toggle source +
+ + +
+ +

@note Undocumented @rate_limited Yes +@authentication Requires user context @raise [Twitter::Error::Unauthorized] +Error raised when supplied user credentials are +not valid. @return [Twitter::Cursor] @overload following_followers_of(options += {})

+ +
Returns users following followers of the specified user
+
+@param options [Hash] A customizable set of options.
+ +

@overload following_followers_of(user, +options = {})

+ +
Returns users following followers of the authenticated user
+
+@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/undocumented.rb, line 26
+def following_followers_of(*args)
+  cursor_from_response_with_user(:users, Twitter::User, :get, '/users/following_followers_of.json', args)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ tweet_count(uri, options = {}) + click to toggle source +
+ + +
+ +

Returns Tweets count for a URI

+ +

@note Undocumented @rate_limited No +@authentication Not required @return [Integer] @param uri [String, URI] A +URI. @param options [Hash] A customizable set of options.

+ + + +
+
+# File lib/twitter/rest/undocumented.rb, line 38
+def tweet_count(uri, options = {})
+  connection = Faraday.new('https://cdn.api.twitter.com', connection_options.merge(:builder => middleware))
+  connection.get('/1/urls/count.json', options.merge(:url => uri.to_s)).body[:count]
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Users.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Users.html new file mode 100644 index 0000000..79bcd35 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Users.html @@ -0,0 +1,1693 @@ + + + + + + + Module: Twitter::REST::Users + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ + + +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::REST::Users

+ +
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
MAX_USERS_PER_REQUEST
+ +
+ + +
+
+ + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ block(*args) + click to toggle source +
+ + +
+ +

Blocks the users specified by the authenticating user

+ +

@see dev.twitter.com/docs/api/1.1/post/blocks/create +@note Destroys a friendship to the blocked user if it exists. @rate_limited +Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::User>] The blocked users. @overload block(*users)

+ +
@param users [Enumerable<Integer, String, Twitter::User>] A collection of Twitter user IDs, screen names, or objects.
+ +

@overload block(*users, options)

+ +
@param users [Enumerable<Integer, String, Twitter::User>] A collection of Twitter user IDs, screen names, or objects.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/users.rb, line 194
+def block(*args)
+  parallel_users_from_response(:post, '/1.1/blocks/create.json', args)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ block?(user, options = {}) + click to toggle source +
+ + +
+ +

Returns true if the authenticating user is blocking a target user

+ +

@see dev.twitter.com/docs/api/1.1/get/blocks/ids +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Boolean] true if the +authenticating user is blocking the target user, otherwise false. @param +user [Integer, String, URI, Twitter::User] A Twitter user ID, screen name, URI, or object. +@param options [Hash] A customizable set of options.

+ + + +
+
+# File lib/twitter/rest/users.rb, line 169
+def block?(user, options = {})
+  user_id = case user
+  when Integer
+    user
+  when String, URI, Addressable::URI
+    user(user).id
+  when Twitter::User
+    user.id
+  end
+  blocked_ids(options).collect(&:to_i).include?(user_id)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ blocked(options = {}) + click to toggle source +
+ + +
+ +

Returns an array of user objects that the authenticating user is blocking

+ +

@see dev.twitter.com/docs/api/1.1/get/blocks/list +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::User>] User objects that +the authenticating user is blocking. @param options [Hash] A customizable +set of options. @option options [Boolean, String, Integer] :skip_status Do +not include user’s Tweets when set to true, ‘t’ +or 1.

+ + + +
+
+# File lib/twitter/rest/users.rb, line 140
+def blocked(options = {})
+  perform_with_cursor(:get, '/1.1/blocks/list.json', options, :users, Twitter::User)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ blocked_ids(*args) + click to toggle source +
+ + +
+ +

Returns an array of numeric user IDs the authenticating user is blocking

+ +

@see dev.twitter.com/docs/api/1.1/get/blocks/ids +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Twitter::Cursor] +Numeric user IDs the authenticating user is blocking. @overload blocked_ids(options = {})

+ +
@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/users.rb, line 154
+def blocked_ids(*args)
+  arguments = Twitter::Arguments.new(args)
+  merge_user!(arguments.options, arguments.pop)
+  perform_with_cursor(:get, '/1.1/blocks/ids.json', arguments.options, :ids)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ contributees(*args) + click to toggle source +
+ + +
+ +

Returns an array of users that the specified user can contribute to

+ +

@see dev.twitter.com/docs/api/1.1/get/users/contributees +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::User>] @overload contributees(options = {})

+ +
@param options [Hash] A customizable set of options.
+@option options [Boolean, String, Integer] :skip_status Do not include contributee's Tweets when set to true, 't' or 1.
+ +

@overload contributees(user, options = {})

+ +
@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param options [Hash] A customizable set of options.
+@option options [Boolean, String, Integer] :skip_status Do not include contributee's Tweets when set to true, 't' or 1.
+ + + +
+
+# File lib/twitter/rest/users.rb, line 305
+def contributees(*args)
+  users_from_response(:get, '/1.1/users/contributees.json', args)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ contributors(*args) + click to toggle source +
+ + +
+ +

Returns an array of users who can contribute to the specified account

+ +

@see dev.twitter.com/docs/api/1.1/get/users/contributors +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::User>] @overload contributors(options = {})

+ +
@param options [Hash] A customizable set of options.
+@option options [Boolean, String, Integer] :skip_status Do not include contributee's Tweets when set to true, 't' or 1.
+ +

@overload contributors(user, options = {})

+ +
@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param options [Hash] A customizable set of options.
+@option options [Boolean, String, Integer] :skip_status Do not include contributee's Tweets when set to true, 't' or 1.
+ + + +
+
+# File lib/twitter/rest/users.rb, line 323
+def contributors(*args)
+  users_from_response(:get, '/1.1/users/contributors.json', args)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ current_user(options = {}) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: verify_credentials +
+ +
+ + +
+ + + +
+ mute(*args) + click to toggle source +
+ + +
+ +

Mutes the users specified by the authenticating user

+ +

@see dev.twitter.com/docs/api/1.1/post/mutes/users/create +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::User>] The muted users. @overload mute(*users)

+ +
@param users [Enumerable<Integer, String, Twitter::User>] A collection of Twitter user IDs, screen names, or objects.
+ +

@overload mute(*users, options)

+ +
@param users [Enumerable<Integer, String, Twitter::User>] A collection of Twitter user IDs, screen names, or objects.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/users.rb, line 392
+def mute(*args)
+  parallel_users_from_response(:post, '/1.1/mutes/users/create.json', args)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ muted(options = {}) + click to toggle source +
+ + +
+ +

Returns an array of user objects that the authenticating user is muting

+ +

@see dev.twitter.com/docs/api/1.1/get/mutes/users/list +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::User>] User objects that +the authenticating user is muting. @param options [Hash] A customizable set +of options. @option options [Boolean, String, Integer] :skip_status Do not +include user’s Tweets when set to true, ‘t’ or 1.

+ + + +
+
+# File lib/twitter/rest/users.rb, line 421
+def muted(options = {})
+  perform_with_cursor(:get, '/1.1/mutes/users/list.json', options, :users, Twitter::User)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ muted_ids(*args) + click to toggle source +
+ + +
+ +

Returns an array of numeric user IDs the authenticating user is muting

+ +

@see dev.twitter.com/docs/api/1.1/get/mutes/users/ids +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Twitter::Cursor] +Numeric user IDs the authenticating user is muting @overload muted_ids(options = {})

+ +
@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/users.rb, line 435
+def muted_ids(*args)
+  arguments = Twitter::Arguments.new(args)
+  merge_user!(arguments.options, arguments.pop)
+  perform_with_cursor(:get, '/1.1/mutes/users/ids.json', arguments.options, :ids)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ profile_banner(*args) + click to toggle source +
+ + +
+ +

Returns the available size variations of the specified user’s profile +banner.

+ +

@see dev.twitter.com/docs/api/1.1/get/users/profile_banner +@note If the user has not uploaded a profile banner, a HTTP 404 will be +served instead. @rate_limited Yes @authentication Requires user context +@raise [Twitter::Error::Unauthorized] Error +raised when supplied user credentials are not valid. @return +[Twitter::ProfileBanner] @overload profile_banner(options = {}) +@overload profile_banner(user, options += {})

+ +
@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+ + + +
+
+# File lib/twitter/rest/users.rb, line 374
+def profile_banner(*args)
+  arguments = Twitter::Arguments.new(args)
+  merge_user!(arguments.options, arguments.pop || user_id) unless arguments.options[:user_id] || arguments.options[:screen_name]
+  perform_with_object(:get, '/1.1/users/profile_banner.json', arguments.options, Twitter::ProfileBanner)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ remove_profile_banner(options = {}) + click to toggle source +
+ + +
+ +

Removes the authenticating user’s profile banner image

+ +

@see dev.twitter.com/docs/api/1.1/post/account/remove_profile_banner +@rate_limited No @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [nil] @param options +[Hash] A customizable set of options.

+ + + +
+
+# File lib/twitter/rest/users.rb, line 335
+def remove_profile_banner(options = {})
+  post('/1.1/account/remove_profile_banner.json', options).body
+  true
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ settings(options = {}) + click to toggle source +
+ + +
+ +

Updates the authenticating user’s settings. Or, if no options supplied, +returns settings (including current trend, geo and sleep time information) +for the authenticating user.

+ +

@see dev.twitter.com/docs/api/1.1/post/account/settings +@see dev.twitter.com/docs/api/1.1/get/account/settings +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Twitter::Settings] +@param options [Hash] A customizable set of options. @option options +[Integer] :trend_location_woeid The Yahoo! Where On Earth ID to use as the +user’s default trend location. Global information is available by using 1 +as the WOEID. The woeid must be one of the locations returned by {dev.twitter.com/docs/api/1.1/get/trends/available +GET trends/available}. @option options [Boolean, String, Integer] +:sleep_time_enabled When set to true, ‘t’ or 1, will enable sleep time for +the user. Sleep time is the time when push or SMS notifications should not +be sent to the user. @option options [Integer] :start_sleep_time The hour +that sleep time should begin if it is enabled. The value for this parameter +should be provided in {en.wikipedia.org/wiki/ISO_8601 +ISO8601} format (i.e. 00-23). The time is considered to be in the same +timezone as the user’s time_zone setting. @option options [Integer] +:end_sleep_time The hour that sleep time should end if it is enabled. The +value for this parameter should be provided in {en.wikipedia.org/wiki/ISO_8601 +ISO8601} format (i.e. 00-23). The time is considered to be in the same +timezone as the user’s time_zone setting. @option options [String] +:time_zone The timezone dates and times should be displayed in for the +user. The timezone must be one of the {api.rubyonrails.org/classes/ActiveSupport/TimeZone.html +Rails TimeZone} names. @option options [String] :lang The language which Twitter should render in for this user. The +language must be specified by the appropriate two letter ISO 639-1 +representation. Currently supported languages are provided by {dev.twitter.com/docs/api/1.1/get/help/languages +GET help/languages}.

+ + + +
+
+# File lib/twitter/rest/users.rb, line 33
+def settings(options = {})
+  request_method = options.size.zero? ? :get : :post
+  response = send(request_method.to_sym, '/1.1/account/settings.json', options).body
+  # https://dev.twitter.com/issues/59
+  response.update(:trend_location => response.fetch(:trend_location, []).first)
+  Twitter::Settings.new(response)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ unblock(*args) + click to toggle source +
+ + +
+ +

Un-blocks the users specified by the authenticating user

+ +

@see dev.twitter.com/docs/api/1.1/post/blocks/destroy +@rate_limited No @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::User>] The un-blocked users. @overload +unblock(*users)

+ +
@param users [Enumerable<Integer, String, Twitter::User>] A collection of Twitter user IDs, screen names, or objects.
+ +

@overload unblock(*users, options)

+ +
@param users [Enumerable<Integer, String, Twitter::User>] A collection of Twitter user IDs, screen names, or objects.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/users.rb, line 210
+def unblock(*args)
+  parallel_users_from_response(:post, '/1.1/blocks/destroy.json', args)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ unmute(*args) + click to toggle source +
+ + +
+ +

Un-mutes the user specified by the authenticating user.

+ +

@see dev.twitter.com/docs/api/1.1/post/mutes/users/destroy +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::User>] The un-muted users. @overload unmute(*users)

+ +
@param users [Enumerable<Integer, String, Twitter::User>] A collection of Twitter user IDs, screen names, or objects.
+ +

@overload unmute(*users, options)

+ +
@param users [Enumerable<Integer, String, Twitter::User>] A collection of Twitter user IDs, screen names, or objects.
+@param options [Hash] A customizable set of options.
+ + + +
+
+# File lib/twitter/rest/users.rb, line 408
+def unmute(*args)
+  parallel_users_from_response(:post, '/1.1/mutes/users/destroy.json', args)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update_delivery_device(device, options = {}) + click to toggle source +
+ + +
+ +

Sets which device Twitter delivers updates +to for the authenticating user

+ +

@see dev.twitter.com/docs/api/1.1/post/account/update_delivery_device +@rate_limited No @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Twitter::User] The +authenticated user. @param device [String] Must be one of: ‘sms’, ‘none’. +@param options [Hash] A customizable set of options.

+ + + +
+
+# File lib/twitter/rest/users.rb, line 64
+def update_delivery_device(device, options = {})
+  perform_with_object(:post, '/1.1/account/update_delivery_device.json', options.merge(:device => device), Twitter::User)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update_profile(options = {}) + click to toggle source +
+ + +
+ +

Sets values that users are able to set under the “Account” tab of their +settings page

+ +

@see dev.twitter.com/docs/api/1.1/post/account/update_profile +@note Only the options specified will be updated. @rate_limited No +@authentication Requires user context @raise [Twitter::Error::Unauthorized] +Error raised when supplied user credentials are +not valid. @return [Twitter::User] The authenticated user. @param options +[Hash] A customizable set of options. @option options [String] :name Full +name associated with the profile. Maximum of 20 characters. @option options +[String] :url URL associated with the profile. Will be prepended with +“http://” if not present. Maximum of 100 characters. @option options +[String] :location The city or country describing where the user of the +account is located. The contents are not normalized or geocoded in any way. +Maximum of 30 characters. @option options [String] :description A +description of the user owning the account. Maximum of 160 characters.

+ + + +
+
+# File lib/twitter/rest/users.rb, line 81
+def update_profile(options = {})
+  perform_with_object(:post, '/1.1/account/update_profile.json', options, Twitter::User)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update_profile_background_image(image, options = {}) + click to toggle source +
+ + +
+ +

Updates the authenticating user’s profile background image

+ +

@see dev.twitter.com/docs/api/1.1/post/account/update_profile_background_image +@rate_limited No @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Twitter::User] The +authenticated user. @param image [File] The background image for the +profile, base64-encoded. Must be a valid GIF, JPG, or PNG image of less +than 800 kilobytes in size. Images with width larger than 2048 pixels will +be forcibly scaled down. The image must be provided as raw multipart data, +not a URL. @param options [Hash] A customizable set of options. @option +options [Boolean] :tile Whether or not to tile the background image. If set +to true the background image will be displayed tiled. The image will not be +tiled otherwise.

+ + + +
+
+# File lib/twitter/rest/users.rb, line 95
+def update_profile_background_image(image, options = {})
+  perform_with_object(:post, '/1.1/account/update_profile_background_image.json', options.merge(:image => image), Twitter::User)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update_profile_banner(banner, options = {}) + click to toggle source +
+ + +
+ +

Updates the authenticating user’s profile banner image

+ +

@see dev.twitter.com/docs/api/1.1/post/account/update_profile_banner +@note Uploads a profile banner on behalf of the authenticating user. For +best results, upload an <5MB image that is exactly 1252px by 626px. +Images will be resized for a number of display options. Users with an uploaded profile banner will have a +profile_banner_url node in their Users objects. +More information about sizing variations can be found in User Profile Images +and Banners. @note Profile banner images are +processed asynchronously. The profile_banner_url and its variant sizes will +not necessary be available directly after upload. @rate_limited No +@authentication Requires user context @raise [Twitter::Error::BadRequest] +Error raised when either an image was not +provided or the image data could not be processed. @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @raise +[Twitter::Error::UnprocessableEntity] Error +raised when the image could not be resized or is too large. @return [nil] +@param banner [File] The Base64-encoded or raw image data being uploaded as +the user’s new profile banner. @param options [Hash] A customizable set of +options. @option options [Integer] :width The width of the preferred +section of the image being uploaded in pixels. Use with height, +offset_left, and offset_top to select the desired region of the image to +use. @option options [Integer] :height The height of the preferred section +of the image being uploaded in pixels. Use with width, offset_left, and +offset_top to select the desired region of the image to use. @option +options [Integer] :offset_left The number of pixels by which to offset the +uploaded image from the left. Use with height, width, and offset_top to +select the desired region of the image to use. @option options [Integer] +:offset_top The number of pixels by which to offset the uploaded image from +the top. Use with height, width, and offset_left to select the desired +region of the image to use.

+ + + +
+
+# File lib/twitter/rest/users.rb, line 358
+def update_profile_banner(banner, options = {})
+  post('/1.1/account/update_profile_banner.json', options.merge(:banner => banner)).body
+  true
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update_profile_colors(options = {}) + click to toggle source +
+ + +
+ +

Sets one or more hex values that control the color scheme of the +authenticating user’s profile

+ +

@see dev.twitter.com/docs/api/1.1/post/account/update_profile_colors +@rate_limited No @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Twitter::User] The +authenticated user. @param options [Hash] A customizable set of options. +@option options [String] :profile_background_color Profile background color. @option options +[String] :profile_text_color Profile text +color. @option options [String] :profile_link_color Profile link color. @option options [String] +:profile_sidebar_fill_color Profile sidebar’s +background color. @option options [String] :profile_sidebar_border_color Profile sidebar’s border color.

+ + + +
+
+# File lib/twitter/rest/users.rb, line 112
+def update_profile_colors(options = {})
+  perform_with_object(:post, '/1.1/account/update_profile_colors.json', options, Twitter::User)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update_profile_image(image, options = {}) + click to toggle source +
+ + +
+ +

Updates the authenticating user’s profile image

+ +

@see dev.twitter.com/docs/api/1.1/post/account/update_profile_image +@note Updates the authenticating user’s profile image. Note that this +method expects raw multipart data, not a URL to an image. @note This method +asynchronously processes the uploaded file before updating the user’s +profile image URL. You can either update your local cache the next time you +request the user’s information, or, at least 5 seconds after uploading the +image, ask for the updated URL using GET users/show. @rate_limited No +@authentication Requires user context @raise [Twitter::Error::Unauthorized] +Error raised when supplied user credentials are +not valid. @return [Twitter::User] The authenticated user. @param image +[File] The avatar image for the profile, base64-encoded. Must be a valid +GIF, JPG, or PNG image of less than 700 kilobytes in size. Images with +width larger than 500 pixels will be scaled down. Animated GIFs will be +converted to a static GIF of the first frame, removing the animation. +@param options [Hash] A customizable set of options.

+ + + +
+
+# File lib/twitter/rest/users.rb, line 127
+def update_profile_image(image, options = {})
+  perform_with_object(:post, '/1.1/account/update_profile_image.json', options.merge(:image => image), Twitter::User)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ user(*args) + click to toggle source +
+ + +
+ +

@see dev.twitter.com/docs/api/1.1/get/users/show +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Twitter::User] The +requested user. @overload user(options = {})

+ +
Returns extended information for the authenticated user
+
+@param options [Hash] A customizable set of options.
+@option options [Boolean, String, Integer] :skip_status Do not include user's Tweets when set to true, 't' or 1.
+ +

@overload user(user, options = {})

+ +
Returns extended information for a given user
+
+@param user [Integer, String, Twitter::User] A Twitter user ID, screen name, URI, or object.
+@param options [Hash] A customizable set of options.
+@option options [Boolean, String, Integer] :skip_status Do not include user's Tweets when set to true, 't' or 1.
+ + + +
+
+# File lib/twitter/rest/users.rb, line 251
+def user(*args)
+  arguments = Twitter::Arguments.new(args)
+  if arguments.last || user_id?
+    merge_user!(arguments.options, arguments.pop || user_id)
+    perform_with_object(:get, '/1.1/users/show.json', arguments.options, Twitter::User)
+  else
+    verify_credentials(arguments.options)
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ user?(user, options = {}) + click to toggle source +
+ + +
+ +

Returns true if the specified user exists

+ +

@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Boolean] true if the +user exists, otherwise false. @param user [Integer, String, Twitter::User] +A Twitter user ID, screen name, URI, or +object.

+ + + +
+
+# File lib/twitter/rest/users.rb, line 268
+def user?(user, options = {})
+  merge_user!(options, user)
+  get('/1.1/users/show.json', options)
+  true
+rescue Twitter::Error::NotFound
+  false
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ user_search(query, options = {}) + click to toggle source +
+ + +
+ +

Returns users that match the given query

+ +

@see dev.twitter.com/docs/api/1.1/get/users/search +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::User>] @param query [String] The search query to run +against people search. @param options [Hash] A customizable set of options. +@option options [Integer] :count The number of people to retrieve. Maxiumum +of 20 allowed per page. @option options [Integer] :page Specifies the page +of results to retrieve.

+ + + +
+
+# File lib/twitter/rest/users.rb, line 287
+def user_search(query, options = {})
+  perform_with_objects(:get, '/1.1/users/search.json', options.merge(:q => query), Twitter::User)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ users(*args) + click to toggle source +
+ + +
+ +

Returns extended information for up to 100 users

+ +

@see dev.twitter.com/docs/api/1.1/get/users/lookup +@rate_limited Yes @authentication Required @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return +[Array<Twitter::User>] The requested users. @overload users(*users)

+ +
@param users [Enumerable<Integer, String, Twitter::User>] A collection of Twitter user IDs, screen names, or objects.
+ +

@overload users(*users, options)

+ +
@param users [Enumerable<Integer, String, Twitter::User>] A collection of Twitter user IDs, screen names, or objects.
+@param options [Hash] A customizable set of options.
+@option options [Symbol, String] :method Requests users via a GET request instead of the standard POST request if set to ':get'.
+ + + +
+
+# File lib/twitter/rest/users.rb, line 227
+def users(*args)
+  arguments = Twitter::Arguments.new(args)
+  request_method = arguments.options.delete(:method) || :post
+  flat_pmap(arguments.each_slice(MAX_USERS_PER_REQUEST)) do |users|
+    perform_with_objects(request_method, '/1.1/users/lookup.json', merge_users(arguments.options, users), Twitter::User)
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ verify_credentials(options = {}) + click to toggle source +
+ + +
+ +

Returns the requesting user if authentication was successful, otherwise +raises {Twitter::Error::Unauthorized}

+ +

@see dev.twitter.com/docs/api/1.1/get/account/verify_credentials +@rate_limited Yes @authentication Requires user context @raise +[Twitter::Error::Unauthorized] Error raised +when supplied user credentials are not valid. @return [Twitter::User] The +authenticated user. @param options [Hash] A customizable set of options. +@option options [Boolean, String, Integer] :skip_status Do not include +user’s Tweets when set to true, ‘t’ or 1.

+ + + +
+
+# File lib/twitter/rest/users.rb, line 50
+def verify_credentials(options = {})
+  perform_with_object(:get, '/1.1/account/verify_credentials.json', options, Twitter::User)
+end
+
+ +
+ + +
+ Also aliased as: current_user +
+ + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Utils.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Utils.html new file mode 100644 index 0000000..b561d69 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/REST/Utils.html @@ -0,0 +1,368 @@ + + + + + + + Module: Twitter::REST::Utils + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::REST::Utils

+ +
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
DEFAULT_CURSOR
+ +
+ + +
URI_SUBSTRING
+ +
+ + +
+
+ + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/RateLimit.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/RateLimit.html new file mode 100644 index 0000000..4983c67 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/RateLimit.html @@ -0,0 +1,538 @@ + + + + + + + Class: Twitter::RateLimit + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::RateLimit

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ limit() + click to toggle source +
+ + +
+ +

@return [Integer]

+ + + +
+
+# File lib/twitter/rate_limit.rb, line 4
+def limit
+  limit = @attrs['x-rate-limit-limit']
+  limit.to_i if limit
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ remaining() + click to toggle source +
+ + +
+ +

@return [Integer]

+ + + +
+
+# File lib/twitter/rate_limit.rb, line 11
+def remaining
+  remaining = @attrs['x-rate-limit-remaining']
+  remaining.to_i if remaining
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ reset_at() + click to toggle source +
+ + +
+ +

@return [Time]

+ + + +
+
+# File lib/twitter/rate_limit.rb, line 18
+def reset_at
+  reset = @attrs['x-rate-limit-reset']
+  Time.at(reset.to_i) if reset
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ reset_in() + click to toggle source +
+ + +
+ +

@return [Integer]

+ + + +
+
+# File lib/twitter/rate_limit.rb, line 25
+def reset_in
+  [(reset_at - Time.now).ceil, 0].max if reset_at
+end
+
+ +
+ + +
+ Also aliased as: retry_after +
+ + + +
+ + +
+ + + +
+ retry_after() + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: reset_in +
+ +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Relationship.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Relationship.html new file mode 100644 index 0000000..bb8686a --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Relationship.html @@ -0,0 +1,397 @@ + + + + + + + Class: Twitter::Relationship + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Relationship

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ new(attrs = {}) + click to toggle source +
+ + +
+ +

Initializes a new object

+ +

@param attrs [Hash] @return [Twitter::Relationship]

+ + + +
+
+# File lib/twitter/relationship.rb, line 12
+def initialize(attrs = {})
+  @attrs = attrs[:relationship]
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Request.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Request.html new file mode 100644 index 0000000..b784f92 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Request.html @@ -0,0 +1,642 @@ + + + + + + + Class: Twitter::Request + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Request

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + + + +
+ client[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+ options[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+ path[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+ request_method[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+ verb[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + + +
+ new(client, request_method, path, options = {}) + click to toggle source +
+ + +
+ +

@param client [Twitter::Client] @param request_method [String, +Symbol] @param path [String] @param options [Hash] @return +[Twitter::Request]

+ + + +
+
+# File lib/twitter/request.rb, line 13
+def initialize(client, request_method, path, options = {})
+  @client = client
+  @request_method = request_method.to_sym
+  @path = path
+  @options = options
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ perform() + click to toggle source +
+ + +
+ +

@return [Hash]

+ + + +
+
+# File lib/twitter/request.rb, line 21
+def perform
+  @client.send(@request_method, @path, @options).body
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ perform_with_cursor(collection_name, klass = nil) + click to toggle source +
+ + +
+ +

@param collection_name [Symbol] @param klass [Class] @return +[Twitter::Cursor]

+ + + +
+
+# File lib/twitter/request.rb, line 35
+def perform_with_cursor(collection_name, klass = nil)
+  Twitter::Cursor.new(perform, collection_name.to_sym, klass, self)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ perform_with_object(klass) + click to toggle source +
+ + +
+ +

@param klass [Class] @param request [Twitter::Request] @return [Object]

+ + + +
+
+# File lib/twitter/request.rb, line 28
+def perform_with_object(klass)
+  klass.new(perform)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ perform_with_objects(klass) + click to toggle source +
+ + +
+ +

@param klass [Class] @return [Array]

+ + + +
+
+# File lib/twitter/request.rb, line 41
+def perform_with_objects(klass)
+  perform.collect do |element|
+    klass.new(element)
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/SavedSearch.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/SavedSearch.html new file mode 100644 index 0000000..1be9f05 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/SavedSearch.html @@ -0,0 +1,410 @@ + + + + + + + Class: Twitter::SavedSearch + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::SavedSearch

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ name[R] +
+ +
+ + + +
+
+ +
+ + +
+ position[R] +
+ +
+ + + +
+
+ +
+ + +
+ query[R] +
+ +
+ + + +
+
+ +
+ + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/SearchResults.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/SearchResults.html new file mode 100644 index 0000000..c3eabe1 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/SearchResults.html @@ -0,0 +1,456 @@ + + + + + + + Class: Twitter::SearchResults + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::SearchResults

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ attrs[R] +
+ +
+ + + +
+
+ +
+ + +
+ to_h[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + + +
+ new(attrs, request) + click to toggle source +
+ + +
+ +

Initializes a new SearchResults object

+ +

@param attrs [Hash] @param request [Twitter::Request] @return +[Twitter::SearchResults]

+ + + +
+
+# File lib/twitter/search_results.rb, line 20
+def initialize(attrs, request)
+  @client = request.client
+  @request_method = request.verb
+  @path = request.path
+  @options = request.options
+  @collection = []
+  self.attrs = attrs
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Settings.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Settings.html new file mode 100644 index 0000000..183c692 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Settings.html @@ -0,0 +1,413 @@ + + + + + + + Class: Twitter::Settings + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Settings

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ language[R] +
+ +
+ + + +
+
+ +
+ + +
+ screen_name[R] +
+ +
+ + + +
+
+ +
+ + +
+ sleep_time[R] +
+ +
+ + + +
+
+ +
+ + +
+ time_zone[R] +
+ +
+ + + +
+
+ +
+ + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Size.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Size.html new file mode 100644 index 0000000..becc27b --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Size.html @@ -0,0 +1,440 @@ + + + + + + + Class: Twitter::Size + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Size

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ h[R] +
+ +
+ + + +
+
+ +
+ + +
+ height[R] +
+ +
+ + + +
+
+ +
+ + +
+ resize[R] +
+ +
+ + + +
+
+ +
+ + +
+ w[R] +
+ +
+ + + +
+
+ +
+ + +
+ width[R] +
+ +
+ + + +
+
+ +
+ + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/SourceUser.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/SourceUser.html new file mode 100644 index 0000000..774ded6 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/SourceUser.html @@ -0,0 +1,346 @@ + + + + + + + Class: Twitter::SourceUser + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::SourceUser

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming.html new file mode 100644 index 0000000..c9559de --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming.html @@ -0,0 +1,396 @@ + + + + + + + Module: Twitter::Streaming + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ + + + + +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Streaming

+ +
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
DeletedStatus
+ +
+ + +
+
+ + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/Client.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/Client.html new file mode 100644 index 0000000..7c88574 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/Client.html @@ -0,0 +1,780 @@ + + + + + + + Class: Twitter::Streaming::Client + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Streaming::Client

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + + + +
+ connection[W] +
+ +
+ + + +
+
+ +
+ + + + +
+ ssl_socket_class[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+ tcp_socket_class[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + + +
+ new(options = {}) + click to toggle source +
+ + +
+ +

Initializes a new Client object

+ +

@param options [Hash] A customizable set of options. @option options +[String] :tcp_socket_class A +class that Connection will use to create a +new TCP socket. @option options [String] :ssl_socket_class A +class that Connection will use to create a +new SSL socket. @return [Twitter::Streaming::Client]

+ + + +
+
+# File lib/twitter/streaming/client.rb, line 20
+def initialize(options = {})
+  super
+  @connection = Streaming::Connection.new(options)
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ before_request(&block) + click to toggle source +
+ + +
+ +

Set a Proc to be run when connection established.

+ + + +
+
+# File lib/twitter/streaming/client.rb, line 94
+def before_request(&block)
+  if block_given?
+    @before_request = block
+    self
+  elsif instance_variable_defined?(:@before_request)
+    @before_request
+  else
+    proc {}
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ filter(options = {}, &block) + click to toggle source +
+ + +
+ +

Returns public statuses that match one or more filter predicates

+ +

@see dev.twitter.com/docs/api/1.1/post/statuses/filter +@see dev.twitter.com/docs/streaming-apis/parameters +@note At least one predicate parameter (follow, locations, or track) must +be specified. @param options [Hash] A customizable set of options. @option +options [String] :follow A comma separated list of user IDs, indicating the +users to return statuses for in the stream. @option options [String] :track +Includes additional Tweets matching the specified keywords. Phrases of +keywords are specified by a comma-separated list. @option options [String] +:locations Includes additional Tweets falling within the specified bounding +boxes. @yield [Twitter::Tweet, Twitter::Streaming::Event, Twitter::DirectMessage, Twitter::Streaming::FriendList, Twitter::Streaming::DeletedTweet, +Twitter::Streaming::StallWarning] A stream of Twitter objects.

+ + + +
+
+# File lib/twitter/streaming/client.rb, line 35
+def filter(options = {}, &block)
+  request(:post, 'https://stream.twitter.com:443/1.1/statuses/filter.json', options, &block)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ firehose(options = {}, &block) + click to toggle source +
+ + +
+ +

Returns all public statuses

+ +

@see dev.twitter.com/docs/api/1.1/get/statuses/firehose +@see dev.twitter.com/docs/streaming-apis/parameters +@note This endpoint requires special permission to access. @param options +[Hash] A customizable set of options. @option options [Integer] :count The +number of messages to backfill. @yield [Twitter::Tweet, Twitter::Streaming::Event, Twitter::DirectMessage, Twitter::Streaming::FriendList, Twitter::Streaming::DeletedTweet, +Twitter::Streaming::StallWarning] A stream of Twitter objects.

+ + + +
+
+# File lib/twitter/streaming/client.rb, line 47
+def firehose(options = {}, &block)
+  request(:get, 'https://stream.twitter.com:443/1.1/statuses/firehose.json', options, &block)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ sample(options = {}, &block) + click to toggle source +
+ + +
+ +

Returns a small random sample of all public statuses

+ +

@see dev.twitter.com/docs/api/1.1/get/statuses/sample +@see dev.twitter.com/docs/streaming-apis/parameters +@yield [Twitter::Tweet, Twitter::Streaming::Event, Twitter::DirectMessage, Twitter::Streaming::FriendList, Twitter::Streaming::DeletedTweet, +Twitter::Streaming::StallWarning] A stream of Twitter objects.

+ + + +
+
+# File lib/twitter/streaming/client.rb, line 56
+def sample(options = {}, &block)
+  request(:get, 'https://stream.twitter.com:443/1.1/statuses/sample.json', options, &block)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ site(*args, &block) + click to toggle source +
+ + +
+ +

Streams messages for a set of user

+ +

@see dev.twitter.com/docs/api/1.1/get/site +@see dev.twitter.com/docs/streaming-apis/streams/site +@see dev.twitter.com/docs/streaming-apis/parameters +@note Site Streams is currently in a limited beta. Access is restricted to +whitelisted accounts. @param follow [Enumerable<Integer, String, +Twitter::User>] A list of user IDs, indicating the users to return +statuses for in the stream. @param options [Hash] A customizable set of +options. @option options [String] :with Specifies whether to return +information for just the users specified in the follow parameter, or +include messages from accounts they follow. @option options [String] +:replies Specifies whether stall warnings should be delivered. @yield [Twitter::Tweet, Twitter::Streaming::Event, Twitter::DirectMessage, Twitter::Streaming::FriendList, Twitter::Streaming::DeletedTweet, +Twitter::Streaming::StallWarning] A stream of Twitter objects.

+ + + +
+
+# File lib/twitter/streaming/client.rb, line 71
+def site(*args, &block)
+  arguments = Arguments.new(args)
+  user_ids = collect_user_ids(arguments)
+  request(:get, 'https://sitestream.twitter.com:443/1.1/site.json', arguments.options.merge(:follow => user_ids.join(',')), &block)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ user(options = {}, &block) + click to toggle source +
+ + +
+ +

Streams messages for a single user

+ +

@see dev.twitter.com/docs/api/1.1/get/user +@see dev.twitter.com/docs/streaming-apis/streams/user +@see dev.twitter.com/docs/streaming-apis/parameters +@param options [Hash] A customizable set of options. @option options +[String] :with Specifies whether to return information for just the users +specified in the follow parameter, or include messages from accounts they +follow. @option options [String] :replies Specifies whether to return +additional @replies. @option options [String] :stall_warnings Specifies +whether stall warnings should be delivered. @option options [String] :track +Includes additional Tweets matching the specified keywords. Phrases of +keywords are specified by a comma-separated list. @option options [String] +:locations Includes additional Tweets falling within the specified bounding +boxes. @yield [Twitter::Tweet, Twitter::Streaming::Event, Twitter::DirectMessage, Twitter::Streaming::FriendList, Twitter::Streaming::DeletedTweet, +Twitter::Streaming::StallWarning] A stream of Twitter objects.

+ + + +
+
+# File lib/twitter/streaming/client.rb, line 89
+def user(options = {}, &block)
+  request(:get, 'https://userstream.twitter.com:443/1.1/user.json', options, &block)
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/Connection.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/Connection.html new file mode 100644 index 0000000..7d9f2b6 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/Connection.html @@ -0,0 +1,482 @@ + + + + + + + Class: Twitter::Streaming::Connection + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Streaming::Connection

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ ssl_socket_class[R] +
+ +
+ + + +
+
+ +
+ + +
+ tcp_socket_class[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + + +
+ new(opts = {}) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/twitter/streaming/connection.rb, line 8
+def initialize(opts = {})
+  @tcp_socket_class = opts.fetch(:tcp_socket_class) { TCPSocket }
+  @ssl_socket_class = opts.fetch(:ssl_socket_class) { OpenSSL::SSL::SSLSocket }
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ stream(request, response) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/twitter/streaming/connection.rb, line 14
+def stream(request, response)
+  client_context = OpenSSL::SSL::SSLContext.new
+  client         = @tcp_socket_class.new(Resolv.getaddress(request.uri.host), request.uri.port)
+  ssl_client     = @ssl_socket_class.new(client, client_context)
+
+  ssl_client.connect
+  request.stream(ssl_client)
+  while body = ssl_client.readpartial(1024) # rubocop:disable AssignmentInCondition, WhileUntilModifier
+    response << body
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/DeletedTweet.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/DeletedTweet.html new file mode 100644 index 0000000..12e7eb1 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/DeletedTweet.html @@ -0,0 +1,368 @@ + + + + + + + Class: Twitter::Streaming::DeletedTweet + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Streaming::DeletedTweet

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ user_id[R] +
+ +
+ + + +
+
+ +
+ + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/Event.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/Event.html new file mode 100644 index 0000000..ddcc49f --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/Event.html @@ -0,0 +1,483 @@ + + + + + + + Class: Twitter::Streaming::Event + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Streaming::Event

+ +
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
LIST_EVENTS
+ +
+ + +
TWEET_EVENTS
+ +
+ + +
+
+ + + + +
+

Attributes

+ + +
+ + +
+ name[R] +
+ +
+ + + +
+
+ +
+ + +
+ source[R] +
+ +
+ + + +
+
+ +
+ + +
+ target[R] +
+ +
+ + + +
+
+ +
+ + +
+ target_object[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + + +
+ new(data) + click to toggle source +
+ + +
+ +

@param data [Hash]

+ + + +
+
+# File lib/twitter/streaming/event.rb, line 17
+def initialize(data)
+  @name = data[:event].to_sym
+  @source = Twitter::User.new(data[:source])
+  @target = Twitter::User.new(data[:target])
+  @target_object = target_object_factory(@name, data[:target_object])
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/FriendList.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/FriendList.html new file mode 100644 index 0000000..9cf4a75 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/FriendList.html @@ -0,0 +1,346 @@ + + + + + + + Class: Twitter::Streaming::FriendList + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Streaming::FriendList

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/MessageParser.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/MessageParser.html new file mode 100644 index 0000000..db3aca6 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/MessageParser.html @@ -0,0 +1,407 @@ + + + + + + + Class: Twitter::Streaming::MessageParser + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Streaming::MessageParser

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ parse(data) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/twitter/streaming/message_parser.rb, line 11
+def self.parse(data) # rubocop:disable CyclomaticComplexity
+  if data[:id]
+    Tweet.new(data)
+  elsif data[:event]
+    Event.new(data)
+  elsif data[:direct_message]
+    DirectMessage.new(data[:direct_message])
+  elsif data[:friends]
+    FriendList.new(data[:friends])
+  elsif data[:delete] && data[:delete][:status]
+    DeletedTweet.new(data[:delete][:status])
+  elsif data[:warning]
+    StallWarning.new(data[:warning])
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/Response.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/Response.html new file mode 100644 index 0000000..22ff74d --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/Response.html @@ -0,0 +1,514 @@ + + + + + + + Class: Twitter::Streaming::Response + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Streaming::Response

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ new(&block) + click to toggle source +
+ + +
+ +

Initializes a new Response object

+ +

@return [Twitter::Streaming::Response]

+ + + +
+
+# File lib/twitter/streaming/response.rb, line 9
+def initialize(&block)
+  @block     = block
+  @parser    = Http::Parser.new(self)
+  @tokenizer = BufferedTokenizer.new("\r\n")
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ <<(data) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/twitter/streaming/response.rb, line 15
+def <<(data)
+  @parser << data
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ on_body(data) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/twitter/streaming/response.rb, line 24
+def on_body(data)
+  @tokenizer.extract(data).each do |line|
+    next if line.empty?
+    @block.call(JSON.parse(line, :symbolize_names => true))
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ on_headers_complete(_headers) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/twitter/streaming/response.rb, line 19
+def on_headers_complete(_headers)
+  error = Twitter::Error.errors[@parser.status_code]
+  fail error.new if error
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/StallWarning.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/StallWarning.html new file mode 100644 index 0000000..dc39ee9 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Streaming/StallWarning.html @@ -0,0 +1,398 @@ + + + + + + + Class: Twitter::Streaming::StallWarning + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Streaming::StallWarning

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ code[R] +
+ +
+ + + +
+
+ +
+ + +
+ message[R] +
+ +
+ + + +
+
+ +
+ + +
+ percent_full[R] +
+ +
+ + + +
+
+ +
+ + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Suggestion.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Suggestion.html new file mode 100644 index 0000000..0a48ace --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Suggestion.html @@ -0,0 +1,461 @@ + + + + + + + Class: Twitter::Suggestion + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Suggestion

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ name[R] +
+ +
+ + + +
+
+ +
+ + +
+ size[R] +
+ +
+ + + +
+
+ +
+ + +
+ slug[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Instance Methods

+ + +
+ + + +
+ users() + click to toggle source +
+ + +
+ +

@return [Array<Twitter::User>]

+ + + +
+
+# File lib/twitter/suggestion.rb, line 10
+def users
+  @attrs.fetch(:users, []).collect do |user|
+    User.new(user)
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/TargetUser.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/TargetUser.html new file mode 100644 index 0000000..3ad349a --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/TargetUser.html @@ -0,0 +1,346 @@ + + + + + + + Class: Twitter::TargetUser + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::TargetUser

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Token.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Token.html new file mode 100644 index 0000000..fc1ff60 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Token.html @@ -0,0 +1,460 @@ + + + + + + + Class: Twitter::Token + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Token

+ +
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
BEARER_TYPE
+ +
+ + +
+
+ + + + +
+

Attributes

+ + +
+ + +
+ access_token[R] +
+ +
+ + + +
+
+ +
+ + +
+ to_s[R] +
+ +
+ + + +
+
+ +
+ + +
+ token_type[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Instance Methods

+ + +
+ + + +
+ bearer?() + click to toggle source +
+ + +
+ +

@return [Boolean]

+ + + +
+
+# File lib/twitter/token.rb, line 11
+def bearer?
+  @attrs[:token_type] == BEARER_TYPE
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Trend.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Trend.html new file mode 100644 index 0000000..21cac1e --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Trend.html @@ -0,0 +1,410 @@ + + + + + + + Class: Twitter::Trend + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Trend

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ events[R] +
+ +
+ + + +
+
+ +
+ + +
+ name[R] +
+ +
+ + + +
+
+ +
+ + +
+ query[R] +
+ +
+ + + +
+
+ +
+ + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/TrendResults.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/TrendResults.html new file mode 100644 index 0000000..18d10a1 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/TrendResults.html @@ -0,0 +1,609 @@ + + + + + + + Class: Twitter::TrendResults + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::TrendResults

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ attrs[R] +
+ +
+ + + +
+
+ +
+ + +
+ to_h[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + + +
+ new(attrs = {}) + click to toggle source +
+ + +
+ +

Initializes a new TrendResults object

+ +

@param attrs [Hash] @return [Twitter::TrendResults]

+ + + +
+
+# File lib/twitter/trend_results.rb, line 22
+def initialize(attrs = {})
+  @attrs = attrs
+  @collection = @attrs.fetch(:trends, []).collect do |trend|
+    Trend.new(trend)
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ as_of() + click to toggle source +
+ + +
+ +

Time when the object was created on Twitter

+ +

@return [Time]

+ + + +
+
+# File lib/twitter/trend_results.rb, line 32
+def as_of
+  Time.parse(@attrs[:as_of]) unless @attrs[:as_of].nil?
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ as_of?() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/twitter/trend_results.rb, line 37
+def as_of?
+  !!@attrs[:as_of]
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ location() + click to toggle source +
+ + +
+ +

@return [Twitter::Place, NullObject]

+ + + +
+
+# File lib/twitter/trend_results.rb, line 43
+def location
+  location? ? Place.new(@attrs[:locations].first) : NullObject.new
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ location?() + click to toggle source +
+ + +
+ +

@return [Boolean]

+ + + +
+
+# File lib/twitter/trend_results.rb, line 49
+def location?
+  !@attrs[:locations].nil? && !@attrs[:locations].first.nil?
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Tweet.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Tweet.html new file mode 100644 index 0000000..0cae740 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Tweet.html @@ -0,0 +1,658 @@ + + + + + + + Class: Twitter::Tweet + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Tweet

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ favorite_count[R] +
+ +
+ + + +
+
+ +
+ + +
+ filter_level[R] +
+ +
+ + + +
+
+ +
+ + +
+ in_reply_to_attrs_id[R] +
+ +
+ + + +
+
+ +
+ + +
+ in_reply_to_screen_name[R] +
+ +
+ + + +
+
+ +
+ + +
+ in_reply_to_status_id[R] +
+ +
+ + + +
+
+ +
+ + +
+ in_reply_to_tweet_id[R] +
+ +
+ + + +
+
+ +
+ + +
+ in_reply_to_user_id[R] +
+ +
+ + + +
+
+ +
+ + +
+ lang[R] +
+ +
+ + + +
+
+ +
+ + +
+ retweet_count[R] +
+ +
+ + + +
+
+ +
+ + +
+ source[R] +
+ +
+ + + +
+
+ +
+ + +
+ text[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Instance Methods

+ + +
+ + + +
+ full_text() + click to toggle source +
+ + +
+ +

@note May be > 140 characters. @return [String]

+ + + +
+
+# File lib/twitter/tweet.rb, line 29
+def full_text
+  if retweet?
+    prefix = text[/\A(RT @[a-z0-9_]{1,20}: )/, 1]
+    [prefix, retweeted_status.text].compact.join
+  else
+    text
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ uri() + click to toggle source +
+ + +
+ +

@return [String] The URL to the tweet.

+ + + +
+
+# File lib/twitter/tweet.rb, line 40
+def uri
+  Addressable::URI.parse("https://twitter.com/#{user.screen_name}/status/#{id}") unless user.nil?
+end
+
+ +
+ + +
+ Also aliased as: url +
+ + + +
+ + +
+ + + +
+ url() + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: uri +
+ +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/User.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/User.html new file mode 100644 index 0000000..3f52bac --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/User.html @@ -0,0 +1,911 @@ + + + + + + + Class: Twitter::User + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::User

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ connections[R] +
+ +
+ + + +
+
+ +
+ + +
+ description[R] +
+ +
+ + + +
+
+ +
+ + +
+ favorites_count[R] +
+ +
+ + + +
+
+ +
+ + +
+ favourites_count[R] +
+ +
+ + + +
+
+ +
+ + +
+ followers_count[R] +
+ +
+ + + +
+
+ +
+ + +
+ friends_count[R] +
+ +
+ + + +
+
+ +
+ + +
+ lang[R] +
+ +
+ + + +
+
+ +
+ + +
+ listed_count[R] +
+ +
+ + + +
+
+ +
+ + +
+ location[R] +
+ +
+ + + +
+
+ +
+ + +
+ name[R] +
+ +
+ + + +
+
+ +
+ + +
+ profile_background_color[R] +
+ +
+ + + +
+
+ +
+ + +
+ profile_background_image_uri[R] +
+ +
+ + + +
+
+ +
+ + +
+ profile_background_image_uri_https[R] +
+ +
+ + + +
+
+ +
+ + +
+ profile_background_image_url[R] +
+ +
+ + + +
+
+ +
+ + +
+ profile_background_image_url_https[R] +
+ +
+ + + +
+
+ + + +
+ + +
+ profile_sidebar_border_color[R] +
+ +
+ + + +
+
+ +
+ + +
+ profile_sidebar_fill_color[R] +
+ +
+ + + +
+
+ +
+ + +
+ profile_text_color[R] +
+ +
+ + + +
+
+ +
+ + +
+ statuses_count[R] +
+ +
+ + + +
+
+ +
+ + +
+ time_zone[R] +
+ +
+ + + +
+
+ +
+ + +
+ tweets_count[R] +
+ +
+ + + +
+
+ +
+ + +
+ utc_offset[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Instance Methods

+ + +
+ + + +
+ entities?() + click to toggle source +
+ + +
+ +

@return [Boolean]

+ + + +
+
+# File lib/twitter/user.rb, line 76
+def entities?
+  !@attrs[:entities].nil? && @attrs[:entities].any? { |_, hash| hash[:urls].any? }
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ uri() + click to toggle source +
+ + +
+ +

@return [String] The URL to the user.

+ + + +
+
+# File lib/twitter/user.rb, line 82
+def uri
+  Addressable::URI.parse("https://twitter.com/#{screen_name}") unless screen_name.nil?
+end
+
+ +
+ + +
+ Also aliased as: url +
+ + + +
+ + +
+ + + +
+ url() + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: uri +
+ +
+ + +
+ + + +
+ website() + click to toggle source +
+ + +
+ +

@return [String] The URL to the user’s website.

+ + + +
+
+# File lib/twitter/user.rb, line 89
+def website
+  if website_urls?
+    website_urls.first.expanded_url
+  else
+    Addressable::URI.parse(@attrs[:url])
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ website?() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/twitter/user.rb, line 98
+def website?
+  !!(website_uris? || @attrs[:url])
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Utils.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Utils.html new file mode 100644 index 0000000..e6a7230 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Utils.html @@ -0,0 +1,481 @@ + + + + + + + Module: Twitter::Utils + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + + + + +
+

Namespace

+ +
+ + + + +
+

Methods

+ +
+ + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Utils

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ flat_pmap(enumerable) + click to toggle source +
+ + +
+ +

Returns a new array with the concatenated results of running block once for +every element in enumerable. If no block is given, an enumerator is +returned instead.

+ +

@param enumerable [Enumerable] @return [Array, Enumerator]

+ + + +
+
+# File lib/twitter/utils.rb, line 27
+def flat_pmap(enumerable)
+  return to_enum(:flat_pmap, enumerable) unless block_given?
+  pmap(enumerable, &Proc.new).flatten!(1)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ included(base) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/twitter/utils.rb, line 4
+def included(base)
+  base.extend(ClassMethods)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ pmap(enumerable) + click to toggle source +
+ + +
+ +

Returns a new array with the results of running block once for every +element in enumerable. If no block is given, an enumerator is returned +instead.

+ +

@param enumerable [Enumerable] @return [Array, Enumerator]

+ + + +
+
+# File lib/twitter/utils.rb, line 38
+def pmap(enumerable)
+  return to_enum(:pmap, enumerable) unless block_given?
+  if enumerable.count == 1
+    enumerable.collect { |object| yield(object) }
+  else
+    enumerable.collect { |object| Thread.new { yield(object) } }.collect(&:value)
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Utils/ClassMethods.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Utils/ClassMethods.html new file mode 100644 index 0000000..b3778b7 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Utils/ClassMethods.html @@ -0,0 +1,394 @@ + + + + + + + Module: Twitter::Utils::ClassMethods + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Utils::ClassMethods

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ deprecate_alias(new_name, old_name) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/twitter/utils.rb, line 10
+def deprecate_alias(new_name, old_name)
+  define_method(new_name) do |*args|
+    warn "#{Kernel.caller.first}: [DEPRECATION] ##{new_name} is deprecated. Use ##{old_name} instead."
+    if block_given?
+      send(old_name, *args, &Proc.new)
+    else
+      send(old_name, *args)
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/Twitter/Version.html b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Version.html new file mode 100644 index 0000000..29d3e5a --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/Twitter/Version.html @@ -0,0 +1,423 @@ + + + + + + + Class: Twitter::Version + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Twitter::Version

+ +
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
MAJOR
+ +
+ + +
MINOR
+ +
+ + +
PATCH
+ +
+ + +
PRE
+ +
+ + +
+
+ + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ to_s() + click to toggle source +
+ + +
+ +

@return [String]

+ + + +
+
+# File lib/twitter/version.rb, line 10
+def to_s
+  [MAJOR, MINOR, PATCH, PRE].compact.join('.')
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/created.rid b/.gems/doc/twitter-5.11.0/rdoc/created.rid new file mode 100644 index 0000000..bd0fa9e --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/created.rid @@ -0,0 +1,84 @@ +Wed, 03 Sep 2014 10:27:32 +0200 +lib/twitter/target_user.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/entities.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/client.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/trend_results.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/media_factory.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/size.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/profile.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/source_user.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/relationship.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/creatable.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/geo_factory.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/version.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/entity/symbol.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/entity/uri.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/entity/hashtag.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/entity/user_mention.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/tweet.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/geo/point.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/geo/polygon.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/factory.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/utils.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/trend.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/streaming/deleted_tweet.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/streaming/client.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/streaming/stall_warning.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/streaming/connection.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/streaming/message_parser.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/streaming/friend_list.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/streaming/response.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/streaming/event.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/basic_user.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/profile_banner.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/search_results.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/geo.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/cursor.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/request.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/arguments.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/saved_search.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/rate_limit.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/metadata.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/direct_message.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/rest/client.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/rest/api.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/rest/suggested_users.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/rest/oauth.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/rest/response/parse_error_json.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/rest/response/parse_json.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/rest/response/raise_error.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/rest/search.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/rest/undocumented.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/rest/saved_searches.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/rest/favorites.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/rest/utils.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/rest/request/multipart_with_file.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/rest/places_and_geo.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/rest/users.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/rest/lists.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/rest/help.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/rest/spam_reporting.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/rest/media.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/rest/tweets.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/rest/friends_and_followers.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/rest/trends.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/rest/timelines.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/rest/direct_messages.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/configuration.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/geo_results.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/suggestion.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/null_object.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/media/photo.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/identity.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/base.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/oembed.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/settings.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/language.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/list.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/token.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/entity.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/user.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/enumerable.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/place.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter/error.rb Wed, 03 Sep 2014 10:27:28 +0200 +lib/twitter.rb Wed, 03 Sep 2014 10:27:28 +0200 diff --git a/.gems/doc/twitter-5.11.0/rdoc/images/brick.png b/.gems/doc/twitter-5.11.0/rdoc/images/brick.png new file mode 100644 index 0000000000000000000000000000000000000000..7851cf34c946e5667221e3478668503eb1cd733f GIT binary patch literal 452 zcmV;#0XzPQP)Pdwe5?6tW?r-ok|b$oDQj8FV%kZPq;(MWOV8?8;<)(iP}>hNMU> z7fbz%jjlr7h8uuoQ~J6}n}@Y@PdTk=)PxO{%7zmL?dchpZX*~n;I{!C>*(8cU;q(~ zAS%Po_@naEU!xidrBXD?;hN|x^%W|Ij)0y*r5vi|?W&Fub(NqJ@z0o=O&SR3v>A``^efOSo-hEdApp;^Jd;9y!%1UfzX6Bh- z%-mbG|0Na{7Ruai_Y+DEb1s+b!*9k%Q!whMxjtZKA*?o;i1g&jy0@( zaU=-@d-h+o%gal6JRXEXA&L3`d2 z%jIxzZ~*p9O-;EJp_Ds0If38rM<5W8ic~K>FOK&2_p!CLg^i63OioVb6k$)zWHLx3 z5;!|M!}<9+#QSi1dRlbEcxPt^;cysUuU8@%3}RwpLRIGG<|IKnoyP6$Eh3SKw7a*r zSDXP=IYc&YZf;7@?fCe($^l9ORaJ3wbAx0uiC8QqRr$2t-Cfy8%XCI3B%pxJW>XdM zw~zPt_s}#A@pxQ5Ly)4szaMtH9lgE1SXx@b+S(fW`ub$fYPE8J7#bSNDzme*Ub07{ zQKV8SjEs!%0@v5ql8ggm!@$6Rbi^E8vBqpRM-}l+@5OSMrl+TWj*gC^qoV@>u{fQb zov5v?g~?>X@bEC&+uLPaQ&Ypn-y~^mZA}+f(&2EFH8eE%dU|@ENpN*_1-)L6_4Rc* zFuq@`IjX9vp1QiaK9ZojyZhnQURP99d=u;%37VRkpwsD4U0sd3x;hEQB&e^i|3QN0 z=H|Os1fRqaw!?#igLmS4HE!G3*ce(`TF} zlgUq0Q544c8(ae&UR$8ps&snq6^bPY3v3xAmMW74Di$h~GCH6E3TaYs2#6A<7K*gC z777H71_Wa;(dfp+g-drPCSWu)#PInZi72LJ;o?i~$-U=y&UbQ89Dul3%3P+Axkzc* zbH-y;QF=hR{qLItf%ci2_&e5wNo0gnVatG?ul6Zw=o$I9Ljfn*ic3`U?>IfEim3g{ zujU&$-hy6wn;w(xme|zJm;lWJxtTFfM)q0`kX!Vu0+d${$}LCddK1<^htTe-fUYL3 zB`SdNsZD>RgvLj1<^@h6_+cDRK2Brcr2~>%$*5S)hyV33PV^teac3%|4lz@8p4?)5 z?t5o^?q+%^%)Yygo~I^U4VR!bTnWuE35hcWrfCDR3q+sxJ79e7Fg`&)RCqLA^2^y^ z0laVfadW90_Fz8Brm|r47sB^u1VgI>kanj)Z4`zMSfHlm8>CwXa$JVM`$2RrmZB-3 zN10m-!;BvH*Br3V8t`DH7m`jf#2upVDXl{5ff18_pzCPK1Zu$$CKKvd8FGeFf)+K<|x33pc7P&S#3GZT4mEw;nr(Ze*F z3&*?-4U-lm*#tber5 z%S_ceqB`b3ko6r~BbvDwdohTvP(3a(pq{x#T$yQsu#OKwEe}KuH^Mh@nxg_(Nw136 zq#a^3xNBke)In+!?qk3%4wB69{pF`Tzg`07*qoM6N<$ Eg55P&8UO$Q literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/rdoc/images/bullet_black.png b/.gems/doc/twitter-5.11.0/rdoc/images/bullet_black.png new file mode 100644 index 0000000000000000000000000000000000000000..57619706d10d9736b1849a83f2c5694fbe09c53b GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^zbpD<_bdI{u9mbgZg z1m~xflqVLYGB~E>C#5QQ<|d}62BjvZR2H60wE-$h^>lFz(Kw&{<9vg>5sw~gS5O!4 zr|{HuUFIBKiQyL}eBJ-L{`UVT|6_O~L{G%N{Wbre{kQtZ_0LvEhC#5QQ<|d}62BjvZR2H60wE-$h^mK6y(Kw&{<9vg>(S^W+6Zii9 z|Nhthr~iNb*Z!}6uiN$Dz5neG3a-`baBX8yz1H+_;eX)`ni0%X8XBDc-`=Ph(Uan2 zYsR{H!kvIN--9isvHznRsC#5QQ<|d}62BjvZR2H60wE-$h_H=O!(Kw&{<9vg>(S^W+6Zii9 z|Nhthr~iNb*Z!}6uiN$Dz5neG3a-`baBX8yz4q@v|B?28{s)#N@CGn3@%_y|zAV9T z66e<&B4?b6oF&azg|C(V&1ZbI_D}pL`}(^FT2yXwG1Ph~$Q@h8mJYOz!PC{xWt~$( F699+YQR)By literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/rdoc/images/date.png b/.gems/doc/twitter-5.11.0/rdoc/images/date.png new file mode 100644 index 0000000000000000000000000000000000000000..783c83357fdf90a1c7c024358e1d768b5c09c135 GIT binary patch literal 626 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 Dl)1NK literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/rdoc/images/macFFBgHack.png b/.gems/doc/twitter-5.11.0/rdoc/images/macFFBgHack.png new file mode 100644 index 0000000000000000000000000000000000000000..c6473b324ee1dae1faaacc0826639833f551116c GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^k|4~%1|*NXY)uAIEX7WqAsj$Z!;#Vf4nJ za0`Jjl>Qs8<JF;+Fd5q0wCR k?u=~bH}2*0f`J3~k>FVdQ&MBb@0BAfpf&c&j literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/rdoc/images/package.png b/.gems/doc/twitter-5.11.0/rdoc/images/package.png new file mode 100644 index 0000000000000000000000000000000000000000..da3c2a2d74bab159ba0f65d7db601768258afcb2 GIT binary patch literal 853 zcmV-b1FHOqP)5TQ^(M5v$(QKVE?W+9X! z*o}&~6c?_FreF)9NJB7b5Nbn{G0n4+%uJhR9(V5R|NFTpb|HgjefT!tIhLx@DR+N) zV+fHiR5Yt19}k|KnCsND{tH-`IMJ)3AE?OtyZ4>Un|6(d%h#JK`i&a7^xW9>`yBy` zS4SOHeOpC7$?hH5-#7Rswiue_8Ju*2N@$58=a#2OTA3png`w3v->gWif7t%e$ z$NLVS!tFT#8WL|Wa&K~+{%4P2cRfwesYV1_!F=3OaRVHl(>=`%&{x*s30c}#CNE@&;ItrAv!f!)Oy$Q9t$uS=(sD$-J{T*^(8Eez1E-l3}} zPrfHZ1`qsIFe&gipuL8-IZbo2Yg{lFGKs?ZZWcOaOdk*3`5T;$?AjbG1#`B510Er^h2)2r3Y{!8_2Gj=$KzuN5 zaErtW8W_Y2iJJjY)5pmTVJoPJYpanPOEuYHclM^C1F>${hFRpdi8a<2H|Xudf78bm(zwJ9`K%6I?q*Ua~ fW9JvIbn5*B+_J)rUMBs>00000NkvXXu0mjfH&TkY literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/rdoc/images/page_green.png b/.gems/doc/twitter-5.11.0/rdoc/images/page_green.png new file mode 100644 index 0000000000000000000000000000000000000000..de8e003f9fb8752c09e7f3655d5d8664b5c62fc3 GIT binary patch literal 621 zcmV-z0+RiSP)QqUjAtB;_Vvt6}AS_5YgM`Uqu`yva+H8^=4U$e4gHb}u zAQ2N{V3A%pO|?Pv?tb6z=jC}SiRa$G^v3q?*6XcYz$p|cq{uLj@#~Fi`J(>5{@&&N zy%T^+;>8cXx%|o77anP?&W1?1A(>-T49z9pyeCl@7YI+Si zKti7=B~``}TImz(G{0PnlQA3P#MAd}sorMjkP!50B7$nAkU^%#nl{Q9lW0@}9fE-> zN(q7tRuiC_T1r|BBtVBTlQ2+70$Rf;eF`Z;lx46Cpu-rEgb)EBKq(b^W8l<^We(`D z43?0=01z<3G6+UUv6`CsWCk6^93!#+<;ws7007{zS3k2k9-zZKFO~(k`>s0y006+1 zgF_jyIhsL-`FMf~JL~C=cV75(CrJ|q;MVO961G=O zm9d)YpJg5g(4i_HKL75eSE}mq$Y}r}hyVdcV~p>6a}oXr80q`oj%+s700000NkvXX Hu0mjfPs|!l literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/rdoc/images/page_white_text.png b/.gems/doc/twitter-5.11.0/rdoc/images/page_white_text.png new file mode 100644 index 0000000000000000000000000000000000000000..813f712f726c935f9adf8d2f2dd0d7683791ef11 GIT binary patch literal 342 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^zbpD<_bdI{u9mbgZg z1m~xflqVLYGB~E>C#5QQ<|d}62BjvZR2H60wE-%6;pyTSA|c6o&@eC9QG)Hj&ExYL zO&oVL^)+cM^qd@ApywS>pwx0H@RDN}hq;7mU-SKczYQ-hnrr=;iDAQMZQ+*g=YOM= z!QlMQEn7FbaD->uKAYgo_j9)W&$$zS*W9}m(ey0q$&7l-XEWO0Y(9M=SnhLbwy;d>@~SY$Ku*0xPvIOQeV1x7u_z-2-X>_74(yfh7C znXL|3GZ+d2`3re2hs?MKC#5QQ<|d}62BjvZR2H60wE-$R?&;zfqH(@;q9b3Efq-lM(nr^( z=EYR73-9e)UYMWsXy%?aZsD68Yyv^2$~6QgEcljw%kx>O(f-gQ?@fOOx3A-0+Qw?O zRx~W)kn~Qe2d6f9nMG#g9Q04Mk==M~N!Dglvxk!fgVh#w@ZV$IY1+Xc`d{d2UcaP~ zfWp)_Ivqj}l2SPy^9ZWy6rG9Yx4v67_uA&&9|XA~5-#3)W3%em1peD8RWH^#O%XoM zxMPud%}GTj#~*+7JMxTd!`{^Q+>(D3*|@KV`*G2;{QnANOxu1$r2xIe;OXk;vd$@? F2>@zac~<}c literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/rdoc/images/plugin.png b/.gems/doc/twitter-5.11.0/rdoc/images/plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..6187b15aec001b7080b51a5f944f07591f26cc15 GIT binary patch literal 591 zcmV-V0eEcNHZMNv|IbJ-M`( zKwWL~opzjJe^WpCmV9E;(0&ut2;4va_(#>M8)>9$R5viQnf(Nkh~VM$y>J(jqb$cj z+nL1Nm|mV)Gm|9MnHf*7Ja4OEAQz__^LRKOLEwqpiGV^^A*T=#&inGm-62Xs;dnSp zKj&H9T*boh2i)W+(n27l!C)>fq|L%VB1i ziC4p;NwV_}ZjW7$LRW#(_bKF#hp=!IqNO26Z*w2+LEwx{PVnZ&Sn}T;mtzb$;qA*nT@@+ zV5uQ@iXDTPoTbV#FRr~z04|PPh`wXTNoCm9*tG&?e3+fYl>K6+&3|Cc$KOpL`ER+_ dcRl5U#9zn6ZO}GFk7R5;7c zlif>`Q5?tj7Yw@ZCMtTF^Q|ZedeJhM%QPCR*bs8V79p$QTo7e94yQNXRs-{0?hOn_-8n0AMO@u1Ts zNl8QzJs1#rz%RBt?ux>l+amAvh+J!{$lkaqv}+Erb-6j2xp>K4GLQnNB*W`hFg*?P z^AL@~(h~Z+wfcWEXHqV^Tq-#z$7Y#o0;yFxA!00F}F2dX# zjE$iOgT#G4*1TR6kB1Gnn@>$meCh2a>c5YuIvFn-R2W@>4@M*m@-|jiDV?b)bccgA zyPfsMM!rjy>+1O2)5Eg29Z_*2p&qGnmS!OH?vZ(4>QB01d>j%9n4QINxkyT(Dos?I zjaWF$*IQmh`SF-?xU%xMEfjq1=6qY*g&lgG_cXv$BGoIWyfO5 zp>pdV*O+y=&6@N2WWFo(%RtT`Q(H^6zn^a%epE~Kx^mEJ{c8`luC$nc*z9j|4Ms8aJK-la^5T)AZ%#@G{_P{NCN^P z(J0zvSn~SSm(Ur);-M~8^*;61*VRI`T1BN&LAhK;sZ>I-SVW;vfUfJv=ko^ugnc0x zhJodBxe>iyk3%w<%wC8holUJ4(iv>tL{`DQt zPOsyUbO_Cmc&*iHkqbm3ku`|GcC^OhF>jj9W*GkH;^g!iUVpib_h*=@udp4h(P+e*zL_~ZmJjh(y^BxULwq>9zXoYE8sq{#pN~U0C6!8vY)5N2 z9P*}mw}7X$O^qTtJef1ACWvJT9^wt-)Zh0r~j#0bT`f;-zv6 z^Tmw22!%rMcs!TaUX<-8s;X-B`+Xbo+_uWuFa z1yIPc?DTrQ7KvRhmt*TG|L=EYQ=LqFX;=Lp`4}jx6BE-@00000NkvXXu0mjf=s_29 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/rdoc/images/wrench.png b/.gems/doc/twitter-5.11.0/rdoc/images/wrench.png new file mode 100644 index 0000000000000000000000000000000000000000..5c8213fef5ab969f03189d4367e32e597e38bd7f GIT binary patch literal 610 zcmV-o0-gPdP)^jb z4`0v}DG1te)wmeb(>p90leRz?_mO+^JKy=v&2<29Od6?F%9%(c8los#f*@G`-%W&* z$)uBj2i@u-@SgX}gtyWPe6d*|w6h%R? zScK2#Yn%$sum0cy>90DmY*i{1XqpClEtktsRTZ)lCUe z<FogV^*tm>8*AlX za4oiR!&85LrobG57qUHUX#{>Vz(RHpB5|@>9O6N$jqB8>%($0wxE5R3)b>Y~xtCo$ zCgEk&A?_#IxHdN)9tqre^o{ho4{?hmPuf@^@I3-wncaRd%|~O3xbrKY=&TiwPYkJroM{;WUQTuMY8vpg}f4o)2%U3C;eEDoiEh?94d(rV57VIF#8VqzW$HrDC|#U`x@QDbgi zVl)t9GGz&YY#D?gc%>hISA+_EBpnXt#pnC`p6@xw0$8TCbULjhlgVx(kuc)%xbgqq zR5+DNDFRN0!y)7Gm}oT0i39}h4h928qY?Rho^UvPGJ#kuW|-Amtrn`Pmd&+bFo@sp z$LI4IQw7BG?|#2ewOS<<3VjL$0=lMY^m;wqZujv5kx1l%Sl;V&Iy4#$ip3&@LV2!7vhhN=PCz%^9v24`qb(+m4W?!q-&~=?ssf5GfnAmJKV;3bvpDm0(NhahZ=&^sqo6Odj6>)Dq_3p~4~ zvb`d3Mydwjt&Df^hVmLtI2x=U&h9(JVYX-!y~z3zi;1>=LY;o(bL$(Yf$lf)dMf0-u^0HrpTG Wk@)HE*94aU0000m+BBgry{~j2fHLegbHP( zrgXNbr0}2;^nywdjLjZe?uxtrd3D(pZH@fFFc0{BW_~jxoO1w7-VX;6vK@ROA$$R6 zEmo;Ht-Mj|>5jUy{bQ^V5@53LRI8AgLpUm|m+15sqcz@QtVSo|oz7ArM8?pIn+>gN z0b=4_b5O|4A*;Q+vc9Vqr~%3V155*NV~@gTz}KSUiKB-uJzjMZ>5%Q#n24H!V{ zTY(LLAE*NAHZ}C#wnj%Bw5OFIkRhkkAW#kDC3j9Wm0YXRaXlyyp>#mVfYG)eC;@ab zDb=T-BCAY4LI(Z@GOTr2V_A{pRwSmz+8Be>CjAw(=gnbVWAeguvZa93JmL(EDxv1m z0OP4q=fpAK1Mq!C2`OkEn37o;m#wF#(t(8Pu#S?2f#x<~4EO{@fmm`p9veD6RZ_jp z@Au4};q&`XuKEYgIiB4((kgxOs#YdqJw0fY>9^K_agEu5+$#k;w#%I2N>n_?)YIqu z`tq&#_^p?-%K*U0^}|7+9U(&k0?s;=r=uCZ%)H9_edH8wK}gB(nUB1FFk+2Ol%BXV zHoFY`D~2x|2 + + + + + + + twitter-5.11.0 Documentation + + + + + + + + + + + + +

twitter-5.11.0 Documentation

+ + +

This is the API documentation for 'twitter-5.11.0 Documentation'.

+ + + + + +

Classes/Modules

+ + +

Methods

+ + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + diff --git a/.gems/doc/twitter-5.11.0/rdoc/js/darkfish.js b/.gems/doc/twitter-5.11.0/rdoc/js/darkfish.js new file mode 100644 index 0000000..7a2f44c --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/js/darkfish.js @@ -0,0 +1,118 @@ +/** + * + * Darkfish Page Functions + * $Id: darkfish.js 53 2009-01-07 02:52:03Z deveiant $ + * + * Author: Michael Granger + * + */ + +/* Provide console simulation for firebug-less environments */ +if (!("console" in window) || !("firebug" in console)) { + var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", + "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"]; + + window.console = {}; + for (var i = 0; i < names.length; ++i) + window.console[names[i]] = function() {}; +}; + + +/** + * Unwrap the first element that matches the given @expr@ from the targets and return them. + */ +$.fn.unwrap = function( expr ) { + return this.each( function() { + $(this).parents( expr ).eq( 0 ).after( this ).remove(); + }); +}; + + +function showSource( e ) { + var target = e.target; + var codeSections = $(target). + parents('.method-detail'). + find('.method-source-code'); + + $(target). + parents('.method-detail'). + find('.method-source-code'). + slideToggle(); +}; + +function hookSourceViews() { + $('.method-description,.method-heading').click( showSource ); +}; + +function toggleDebuggingSection() { + $('.debugging-section').slideToggle(); +}; + +function hookDebuggingToggle() { + $('#debugging-toggle img').click( toggleDebuggingSection ); +}; + +function hookQuickSearch() { + $('.quicksearch-field').each( function() { + var searchElems = $(this).parents('.section').find( 'li' ); + var toggle = $(this).parents('.section').find('h3 .search-toggle'); + // console.debug( "Toggle is: %o", toggle ); + var qsbox = $(this).parents('form').get( 0 ); + + $(this).quicksearch( this, searchElems, { + noSearchResultsIndicator: 'no-class-search-results', + focusOnLoad: false + }); + $(toggle).click( function() { + // console.debug( "Toggling qsbox: %o", qsbox ); + $(qsbox).toggle(); + }); + }); +}; + +function highlightTarget( anchor ) { + console.debug( "Highlighting target '%s'.", anchor ); + + $("a[name]").each( function() { + if ( $(this).attr("name") == anchor ) { + if ( !$(this).parent().parent().hasClass('target-section') ) { + console.debug( "Wrapping the target-section" ); + $('div.method-detail').unwrap( 'div.target-section' ); + $(this).parent().wrap( '
' ); + } else { + console.debug( "Already wrapped." ); + } + } + }); +}; + +function highlightLocationTarget() { + console.debug( "Location hash: %s", window.location.hash ); + if ( ! window.location.hash || window.location.hash.length == 0 ) return; + + var anchor = window.location.hash.substring(1); + console.debug( "Found anchor: %s; matching %s", anchor, "a[name=" + anchor + "]" ); + + highlightTarget( anchor ); +}; + +function highlightClickTarget( event ) { + console.debug( "Highlighting click target for event %o", event.target ); + try { + var anchor = $(event.target).attr( 'href' ).substring(1); + console.debug( "Found target anchor: %s", anchor ); + highlightTarget( anchor ); + } catch ( err ) { + console.error( "Exception while highlighting: %o", err ); + }; +}; + + +$(document).ready( function() { + hookSourceViews(); + hookDebuggingToggle(); + hookQuickSearch(); + highlightLocationTarget(); + + $('ul.link-list a').bind( "click", highlightClickTarget ); +}); diff --git a/.gems/doc/twitter-5.11.0/rdoc/js/jquery.js b/.gems/doc/twitter-5.11.0/rdoc/js/jquery.js new file mode 100644 index 0000000..afe9e74 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/js/jquery.js @@ -0,0 +1,32 @@ +/* + * jQuery 1.2.6 - New Wave Javascript + * + * Copyright (c) 2008 John Resig (jquery.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * $Date: 2008-09-25 09:50:52 -0700 (Thu, 25 Sep 2008) $ + * $Rev: 38 $ + */ +(function(){var _jQuery=window.jQuery,_$=window.$;var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);};var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem){if(elem.id!=match[3])return jQuery().find(selector);return jQuery(elem);}selector=[];}}else +return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(jQuery.makeArray(selector));},jquery:"1.2.6",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value===undefined)return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else +return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else +selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=='string'?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(value);jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else +this.value=value;});},html:function(value){return value==undefined?(this[0]?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)data=jQuery.data(this[0],key);return data===undefined&&parts[1]?this.data(parts[0]):data;}else +return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script"))scripts=scripts.add(elem);else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.fn.init.prototype=jQuery.fn;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else +jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}function now(){return+new Date;}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==i){target=this;--i;}for(;i-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else +jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;function color(elem){if(!jQuery.browser.safari)return false;var ret=defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=style.outline;style.outline="0 solid black";style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&style&&style[name])ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle&&!color(elem))ret=computedStyle.getPropertyValue(name);else{var swap=[],stack=[],a=elem,i=0;for(;a&&color(a);a=a.parentNode)stack.unshift(a);for(;i]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("",""]||!tags.indexOf("",""]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
"]||!tags.indexOf("",""]||(!tags.indexOf("",""]||!tags.indexOf("",""]||jQuery.browser.msie&&[1,"div
","
"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf(""&&tags.indexOf("=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else +ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(name in elem&¬xml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem[name]=value;}if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))return elem.getAttributeNode(name).nodeValue;return elem[name];}if(msie&¬xml&&name=="style")return jQuery.attr(elem.style,"cssText",value);if(set)elem.setAttribute(name,""+value);var attr=msie&¬xml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}if(msie&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||array.split||array.setInterval||array.call)ret[0]=array;else +while(i)ret[--i]=array[i];}return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return im[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false,re=quickChild,m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=this.proxy(fn,function(){return fn.apply(this,arguments);});handler.data=data;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(typeof jQuery!="undefined"&&!jQuery.event.triggered)return jQuery.event.handle.apply(arguments.callee.elem,arguments);});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else +for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});data[0][expando]=true;}data[0].type=type;if(exclusive)data[0].exclusive=true;var handle=jQuery.data(elem,"handle");if(handle)val=handle.apply(elem,data);if((!fn||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val,ret,namespace,all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);namespace=event.type.split(".");event.type=namespace[0];namespace=namespace[1];all=!namespace&&!event.exclusive;handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||handler.type==namespace){event.handler=handler;event.data=handler.data;ret=handler.apply(this,arguments);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}return val;},fix:function(event){if(event[expando]==true)return event;var originalEvent=event;event={originalEvent:originalEvent};var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");for(var i=props.length;i;i--)event[props[i]]=originalEvent[props[i]];event[expando]=true;event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};event.timeStamp=event.timeStamp||now();if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn);},toggle:function(fn){var args=arguments,i=1;while(i=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("
").append(res.responseText.replace(//g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{url:location.href,global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="GET"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");var remote=/^(?:\w+:)?\/\/([^\/?#]+)/;if(s.dataType=="script"&&type=="GET"&&remote.test(s.url)&&remote.exec(s.url)[1]!=location.host){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xhr=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();if(s.username)xhr.open(type,s.url,s.async,s.username,s.password);else +xhr.open(type,s.url,s.async);try{if(s.data)xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&jQuery.active--;xhr.abort();return false;}if(s.global)jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else +jQuery.handleError(s,xhr,status);complete();if(s.async)xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xhr){xhr.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xhr,s]);}function complete(){if(s.complete)s.complete(xhr,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(filter)data=filter(data,type);if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else +for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else +s.push(encodeURIComponent(j)+"="+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall),p,hidden=jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return opt.complete.call(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else +e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.call(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(elem){type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",jQuery.makeArray(array));}return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].call(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.call(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;ithis.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done)this.options.complete.call(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},step:{scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}}});jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),css=jQuery.curCSS,fixed=css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||css(offsetChild,"position")=="absolute"))||(mozilla&&css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l,10)||0;top+=parseInt(t,10)||0;}return results;};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom";jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+num(this,"padding"+tl)+num(this,"padding"+br);};jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+num(this,"border"+tl+"Width")+num(this,"border"+br+"Width")+(margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};});})(); \ No newline at end of file diff --git a/.gems/doc/twitter-5.11.0/rdoc/js/quicksearch.js b/.gems/doc/twitter-5.11.0/rdoc/js/quicksearch.js new file mode 100644 index 0000000..70dbd33 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/js/quicksearch.js @@ -0,0 +1,114 @@ +/** + * + * JQuery QuickSearch - Hook up a form field to hide non-matching elements. + * $Id: quicksearch.js 53 2009-01-07 02:52:03Z deveiant $ + * + * Author: Michael Granger + * + */ +jQuery.fn.quicksearch = function( target, searchElems, options ) { + // console.debug( "Quicksearch fn" ); + + var settings = { + delay: 250, + clearButton: false, + highlightMatches: false, + focusOnLoad: false, + noSearchResultsIndicator: null + }; + if ( options ) $.extend( settings, options ); + + return jQuery(this).each( function() { + // console.debug( "Creating a new quicksearch on %o for %o", this, searchElems ); + new jQuery.quicksearch( this, searchElems, settings ); + }); +}; + + +jQuery.quicksearch = function( searchBox, searchElems, settings ) { + var timeout; + var boxdiv = $(searchBox).parents('div').eq(0); + + function init() { + setupKeyEventHandlers(); + focusOnLoad(); + }; + + function setupKeyEventHandlers() { + // console.debug( "Hooking up the 'keypress' event to %o", searchBox ); + $(searchBox). + unbind( 'keyup' ). + keyup( function(e) { return onSearchKey( e.keyCode ); }); + $(searchBox). + unbind( 'keypress' ). + keypress( function(e) { + switch( e.which ) { + // Execute the search on Enter, Tab, or Newline + case 9: + case 13: + case 10: + clearTimeout( timeout ); + e.preventDefault(); + doQuickSearch(); + break; + + // Allow backspace + case 8: + return true; + break; + + // Only allow valid search characters + default: + return validQSChar( e.charCode ); + } + }); + }; + + function focusOnLoad() { + if ( !settings.focusOnLoad ) return false; + $(searchBox).focus(); + }; + + function onSearchKey ( code ) { + clearTimeout( timeout ); + // console.debug( "...scheduling search." ); + timeout = setTimeout( doQuickSearch, settings.delay ); + }; + + function validQSChar( code ) { + var c = String.fromCharCode( code ); + return ( + (c == ':') || + (c >= 'a' && c <= 'z') || + (c >= 'A' && c <= 'Z') + ); + }; + + function doQuickSearch() { + var searchText = searchBox.value; + var pat = new RegExp( searchText, "im" ); + var shownCount = 0; + + if ( settings.noSearchResultsIndicator ) { + $('#' + settings.noSearchResultsIndicator).hide(); + } + + // All elements start out hidden + $(searchElems).each( function(index) { + var str = $(this).text(); + + if ( pat.test(str) ) { + shownCount += 1; + $(this).fadeIn(); + } else { + $(this).hide(); + } + }); + + if ( shownCount == 0 && settings.noSearchResultsIndicator ) { + $('#' + settings.noSearchResultsIndicator).slideDown(); + } + }; + + init(); +}; diff --git a/.gems/doc/twitter-5.11.0/rdoc/js/thickbox-compressed.js b/.gems/doc/twitter-5.11.0/rdoc/js/thickbox-compressed.js new file mode 100644 index 0000000..3a3fdae --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/js/thickbox-compressed.js @@ -0,0 +1,10 @@ +/* + * Thickbox 3 - One Box To Rule Them All. + * By Cody Lindley (http://www.codylindley.com) + * Copyright (c) 2007 cody lindley + * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php +*/ + +var tb_pathToImage = "../images/loadingAnimation.gif"; + +eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('$(o).2S(9(){1u(\'a.18, 3n.18, 3i.18\');1w=1p 1t();1w.L=2H});9 1u(b){$(b).s(9(){6 t=X.Q||X.1v||M;6 a=X.u||X.23;6 g=X.1N||P;19(t,a,g);X.2E();H P})}9 19(d,f,g){3m{3(2t o.v.J.2i==="2g"){$("v","11").r({A:"28%",z:"28%"});$("11").r("22","2Z");3(o.1Y("1F")===M){$("v").q("<4 5=\'B\'><4 5=\'8\'>");$("#B").s(G)}}n{3(o.1Y("B")===M){$("v").q("<4 5=\'B\'><4 5=\'8\'>");$("#B").s(G)}}3(1K()){$("#B").1J("2B")}n{$("#B").1J("2z")}3(d===M){d=""}$("v").q("<4 5=\'K\'><1I L=\'"+1w.L+"\' />");$(\'#K\').2y();6 h;3(f.O("?")!==-1){h=f.3l(0,f.O("?"))}n{h=f}6 i=/\\.2s$|\\.2q$|\\.2m$|\\.2l$|\\.2k$/;6 j=h.1C().2h(i);3(j==\'.2s\'||j==\'.2q\'||j==\'.2m\'||j==\'.2l\'||j==\'.2k\'){1D="";1G="";14="";1z="";1x="";R="";1n="";1r=P;3(g){E=$("a[@1N="+g+"]").36();25(D=0;((D&1d;&1d;2T &2R;"}n{1D=E[D].Q;1G=E[D].u;14="<1e 5=\'1U\'>&1d;&1d;&2O; 2N"}}n{1r=1b;1n="1t "+(D+1)+" 2L "+(E.1c)}}}S=1p 1t();S.1g=9(){S.1g=M;6 a=2x();6 x=a[0]-1M;6 y=a[1]-1M;6 b=S.z;6 c=S.A;3(b>x){c=c*(x/b);b=x;3(c>y){b=b*(y/c);c=y}}n 3(c>y){b=b*(y/c);c=y;3(b>x){c=c*(x/b);b=x}}13=b+30;1a=c+2G;$("#8").q("<1I 5=\'2F\' L=\'"+f+"\' z=\'"+b+"\' A=\'"+c+"\' 23=\'"+d+"\'/>"+"<4 5=\'2D\'>"+d+"<4 5=\'2C\'>"+1n+14+R+"<4 5=\'2A\'>1l 1k 1j 1s");$("#Z").s(G);3(!(14==="")){9 12(){3($(o).N("s",12)){$(o).N("s",12)}$("#8").C();$("v").q("<4 5=\'8\'>");19(1D,1G,g);H P}$("#1U").s(12)}3(!(R==="")){9 1i(){$("#8").C();$("v").q("<4 5=\'8\'>");19(1z,1x,g);H P}$("#1X").s(1i)}o.1h=9(e){3(e==M){I=2w.2v}n{I=e.2u}3(I==27){G()}n 3(I==3k){3(!(R=="")){o.1h="";1i()}}n 3(I==3j){3(!(14=="")){o.1h="";12()}}};16();$("#K").C();$("#1L").s(G);$("#8").r({Y:"T"})};S.L=f}n{6 l=f.2r(/^[^\\?]+\\??/,\'\');6 m=2p(l);13=(m[\'z\']*1)+30||3h;1a=(m[\'A\']*1)+3g||3f;W=13-30;V=1a-3e;3(f.O(\'2j\')!=-1){1E=f.1B(\'3d\');$("#15").C();3(m[\'1A\']!="1b"){$("#8").q("<4 5=\'2f\'><4 5=\'1H\'>"+d+"<4 5=\'2e\'>1l 1k 1j 1s ")}n{$("#B").N();$("#8").q(" ")}}n{3($("#8").r("Y")!="T"){3(m[\'1A\']!="1b"){$("#8").q("<4 5=\'2f\'><4 5=\'1H\'>"+d+"<4 5=\'2e\'>1l 1k 1j 1s<4 5=\'F\' J=\'z:"+W+"p;A:"+V+"p\'>")}n{$("#B").N();$("#8").q("<4 5=\'F\' 3c=\'3b\' J=\'z:"+W+"p;A:"+V+"p;\'>")}}n{$("#F")[0].J.z=W+"p";$("#F")[0].J.A=V+"p";$("#F")[0].3a=0;$("#1H").11(d)}}$("#Z").s(G);3(f.O(\'37\')!=-1){$("#F").q($(\'#\'+m[\'26\']).1T());$("#8").24(9(){$(\'#\'+m[\'26\']).q($("#F").1T())});16();$("#K").C();$("#8").r({Y:"T"})}n 3(f.O(\'2j\')!=-1){16();3($.1q.35){$("#K").C();$("#8").r({Y:"T"})}}n{$("#F").34(f+="&1y="+(1p 33().32()),9(){16();$("#K").C();1u("#F a.18");$("#8").r({Y:"T"})})}}3(!m[\'1A\']){o.21=9(e){3(e==M){I=2w.2v}n{I=e.2u}3(I==27){G()}}}}31(e){}}9 1m(){$("#K").C();$("#8").r({Y:"T"})}9 G(){$("#2Y").N("s");$("#Z").N("s");$("#8").2X("2W",9(){$(\'#8,#B,#1F\').2V("24").N().C()});$("#K").C();3(2t o.v.J.2i=="2g"){$("v","11").r({A:"1Z",z:"1Z"});$("11").r("22","")}o.1h="";o.21="";H P}9 16(){$("#8").r({2U:\'-\'+20((13/2),10)+\'p\',z:13+\'p\'});3(!(1V.1q.2Q&&1V.1q.2P<7)){$("#8").r({38:\'-\'+20((1a/2),10)+\'p\'})}}9 2p(a){6 b={};3(!a){H b}6 c=a.1B(/[;&]/);25(6 i=0;i + + + + + + + File: arguments.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/base_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/base_rb.html new file mode 100644 index 0000000..a9bbf31 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/base_rb.html @@ -0,0 +1,62 @@ + + + + + + + + File: base.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • addressable/uri
  • + +
  • forwardable
  • + +
  • memoizable
  • + +
  • twitter/null_object
  • + +
  • twitter/utils
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/basic_user_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/basic_user_rb.html new file mode 100644 index 0000000..7794bda --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/basic_user_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: basic_user.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/identity
  • + +
  • twitter/utils
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/client_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/client_rb.html new file mode 100644 index 0000000..76c98fc --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/client_rb.html @@ -0,0 +1,62 @@ + + + + + + + + File: client.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • addressable/uri
  • + +
  • simple_oauth
  • + +
  • twitter/error
  • + +
  • twitter/utils
  • + +
  • twitter/version
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/configuration_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/configuration_rb.html new file mode 100644 index 0000000..b5b957b --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/configuration_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: configuration.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/base
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/creatable_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/creatable_rb.html new file mode 100644 index 0000000..ff0682a --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/creatable_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: creatable.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • time
  • + +
  • memoizable
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/cursor_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/cursor_rb.html new file mode 100644 index 0000000..85584b0 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/cursor_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: cursor.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/enumerable
  • + +
  • twitter/utils
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/direct_message_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/direct_message_rb.html new file mode 100644 index 0000000..2c7703a --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/direct_message_rb.html @@ -0,0 +1,58 @@ + + + + + + + + File: direct_message.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/creatable
  • + +
  • twitter/entities
  • + +
  • twitter/identity
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/entities_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/entities_rb.html new file mode 100644 index 0000000..5fab229 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/entities_rb.html @@ -0,0 +1,64 @@ + + + + + + + + File: entities.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • memoizable
  • + +
  • twitter/entity/hashtag
  • + +
  • twitter/entity/symbol
  • + +
  • twitter/entity/uri
  • + +
  • twitter/entity/user_mention
  • + +
  • twitter/media_factory
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/entity/hashtag_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/entity/hashtag_rb.html new file mode 100644 index 0000000..65f5d66 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/entity/hashtag_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: hashtag.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/entity
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/entity/symbol_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/entity/symbol_rb.html new file mode 100644 index 0000000..069f504 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/entity/symbol_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: symbol.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/entity
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/entity/uri_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/entity/uri_rb.html new file mode 100644 index 0000000..9df928c --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/entity/uri_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: uri.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/entity
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/entity/user_mention_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/entity/user_mention_rb.html new file mode 100644 index 0000000..f4cadef --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/entity/user_mention_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: user_mention.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/entity
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/entity_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/entity_rb.html new file mode 100644 index 0000000..46d6b20 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/entity_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: entity.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/base
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/enumerable_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/enumerable_rb.html new file mode 100644 index 0000000..b192771 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/enumerable_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: enumerable.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/error_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/error_rb.html new file mode 100644 index 0000000..d3d16eb --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/error_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: error.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/rate_limit
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/factory_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/factory_rb.html new file mode 100644 index 0000000..3cc9616 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/factory_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: factory.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/geo/point_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/geo/point_rb.html new file mode 100644 index 0000000..673bc8b --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/geo/point_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: point.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/geo
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/geo/polygon_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/geo/polygon_rb.html new file mode 100644 index 0000000..1bb6359 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/geo/polygon_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: polygon.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/geo
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/geo_factory_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/geo_factory_rb.html new file mode 100644 index 0000000..b6a3823 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/geo_factory_rb.html @@ -0,0 +1,58 @@ + + + + + + + + File: geo_factory.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/factory
  • + +
  • twitter/geo/point
  • + +
  • twitter/geo/polygon
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/geo_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/geo_rb.html new file mode 100644 index 0000000..aeee994 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/geo_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: geo.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • equalizer
  • + +
  • twitter/base
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/geo_results_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/geo_results_rb.html new file mode 100644 index 0000000..0f7387c --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/geo_results_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: geo_results.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/enumerable
  • + +
  • twitter/utils
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/identity_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/identity_rb.html new file mode 100644 index 0000000..b2e6713 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/identity_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: identity.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • equalizer
  • + +
  • twitter/base
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/language_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/language_rb.html new file mode 100644 index 0000000..8f360e0 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/language_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: language.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/base
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/list_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/list_rb.html new file mode 100644 index 0000000..e64afb4 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/list_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: list.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/creatable
  • + +
  • twitter/identity
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/media/photo_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/media/photo_rb.html new file mode 100644 index 0000000..6305659 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/media/photo_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: photo.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/identity
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/media_factory_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/media_factory_rb.html new file mode 100644 index 0000000..dd9efee --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/media_factory_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: media_factory.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/factory
  • + +
  • twitter/media/photo
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/metadata_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/metadata_rb.html new file mode 100644 index 0000000..58e525c --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/metadata_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: metadata.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/base
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/null_object_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/null_object_rb.html new file mode 100644 index 0000000..05cdc99 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/null_object_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: null_object.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • naught
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/oembed_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/oembed_rb.html new file mode 100644 index 0000000..6b3afe0 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/oembed_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: oembed.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/base
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/place_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/place_rb.html new file mode 100644 index 0000000..3d34149 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/place_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: place.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • equalizer
  • + +
  • twitter/identity
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/profile_banner_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/profile_banner_rb.html new file mode 100644 index 0000000..e9fb1bb --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/profile_banner_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: profile_banner.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/base
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/profile_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/profile_rb.html new file mode 100644 index 0000000..7c2a5ce --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/profile_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: profile.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • addressable/uri
  • + +
  • memoizable
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rate_limit_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rate_limit_rb.html new file mode 100644 index 0000000..36dd068 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rate_limit_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: rate_limit.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/relationship_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/relationship_rb.html new file mode 100644 index 0000000..dee941b --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/relationship_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: relationship.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/base
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/request_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/request_rb.html new file mode 100644 index 0000000..1dcaf1d --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/request_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: request.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/cursor
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/api_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/api_rb.html new file mode 100644 index 0000000..7694c98 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/api_rb.html @@ -0,0 +1,86 @@ + + + + + + + + File: api.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/rest/direct_messages
  • + +
  • twitter/rest/favorites
  • + +
  • twitter/rest/friends_and_followers
  • + +
  • twitter/rest/help
  • + +
  • twitter/rest/lists
  • + +
  • twitter/rest/media
  • + +
  • twitter/rest/oauth
  • + +
  • twitter/rest/places_and_geo
  • + +
  • twitter/rest/saved_searches
  • + +
  • twitter/rest/search
  • + +
  • twitter/rest/spam_reporting
  • + +
  • twitter/rest/suggested_users
  • + +
  • twitter/rest/timelines
  • + +
  • twitter/rest/trends
  • + +
  • twitter/rest/tweets
  • + +
  • twitter/rest/undocumented
  • + +
  • twitter/rest/users
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/client_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/client_rb.html new file mode 100644 index 0000000..e9aeb18 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/client_rb.html @@ -0,0 +1,74 @@ + + + + + + + + File: client.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • base64
  • + +
  • faraday
  • + +
  • faraday/request/multipart
  • + +
  • json
  • + +
  • timeout
  • + +
  • twitter/client
  • + +
  • twitter/error
  • + +
  • twitter/rest/api
  • + +
  • twitter/rest/request/multipart_with_file
  • + +
  • twitter/rest/response/parse_json
  • + +
  • twitter/rest/response/raise_error
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/direct_messages_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/direct_messages_rb.html new file mode 100644 index 0000000..6ba1335 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/direct_messages_rb.html @@ -0,0 +1,64 @@ + + + + + + + + File: direct_messages.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/arguments
  • + +
  • twitter/direct_message
  • + +
  • twitter/request
  • + +
  • twitter/rest/utils
  • + +
  • twitter/user
  • + +
  • twitter/utils
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/favorites_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/favorites_rb.html new file mode 100644 index 0000000..11a91ae --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/favorites_rb.html @@ -0,0 +1,66 @@ + + + + + + + + File: favorites.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/arguments
  • + +
  • twitter/error
  • + +
  • twitter/request
  • + +
  • twitter/rest/utils
  • + +
  • twitter/tweet
  • + +
  • twitter/user
  • + +
  • twitter/utils
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/friends_and_followers_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/friends_and_followers_rb.html new file mode 100644 index 0000000..7efe3b2 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/friends_and_followers_rb.html @@ -0,0 +1,66 @@ + + + + + + + + File: friends_and_followers.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/arguments
  • + +
  • twitter/cursor
  • + +
  • twitter/relationship
  • + +
  • twitter/request
  • + +
  • twitter/rest/utils
  • + +
  • twitter/user
  • + +
  • twitter/utils
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/help_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/help_rb.html new file mode 100644 index 0000000..d8a1498 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/help_rb.html @@ -0,0 +1,60 @@ + + + + + + + + File: help.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/configuration
  • + +
  • twitter/language
  • + +
  • twitter/request
  • + +
  • twitter/rest/utils
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/lists_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/lists_rb.html new file mode 100644 index 0000000..e2ded55 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/lists_rb.html @@ -0,0 +1,70 @@ + + + + + + + + File: lists.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/arguments
  • + +
  • twitter/cursor
  • + +
  • twitter/error
  • + +
  • twitter/list
  • + +
  • twitter/request
  • + +
  • twitter/rest/utils
  • + +
  • twitter/tweet
  • + +
  • twitter/user
  • + +
  • twitter/utils
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/media_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/media_rb.html new file mode 100644 index 0000000..ed380b2 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/media_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: media.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/error
  • + +
  • twitter/rest/utils
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/oauth_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/oauth_rb.html new file mode 100644 index 0000000..6a006bc --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/oauth_rb.html @@ -0,0 +1,60 @@ + + + + + + + + File: oauth.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/request
  • + +
  • twitter/rest/utils
  • + +
  • twitter/rest/response/parse_error_json
  • + +
  • twitter/token
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/places_and_geo_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/places_and_geo_rb.html new file mode 100644 index 0000000..cf0e4fc --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/places_and_geo_rb.html @@ -0,0 +1,60 @@ + + + + + + + + File: places_and_geo.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/geo_results
  • + +
  • twitter/place
  • + +
  • twitter/request
  • + +
  • twitter/rest/utils
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/request/multipart_with_file_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/request/multipart_with_file_rb.html new file mode 100644 index 0000000..866917d --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/request/multipart_with_file_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: multipart_with_file.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • faraday
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/response/parse_error_json_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/response/parse_error_json_rb.html new file mode 100644 index 0000000..de800f9 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/response/parse_error_json_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: parse_error_json.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/rest/response/parse_json
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/response/parse_json_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/response/parse_json_rb.html new file mode 100644 index 0000000..e411b7f --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/response/parse_json_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: parse_json.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • faraday
  • + +
  • json
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/response/raise_error_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/response/raise_error_rb.html new file mode 100644 index 0000000..a933146 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/response/raise_error_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: raise_error.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • faraday
  • + +
  • twitter/error
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/saved_searches_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/saved_searches_rb.html new file mode 100644 index 0000000..e06f41b --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/saved_searches_rb.html @@ -0,0 +1,62 @@ + + + + + + + + File: saved_searches.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/arguments
  • + +
  • twitter/request
  • + +
  • twitter/rest/utils
  • + +
  • twitter/saved_search
  • + +
  • twitter/utils
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/search_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/search_rb.html new file mode 100644 index 0000000..0fcdb01 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/search_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: search.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/request
  • + +
  • twitter/search_results
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/spam_reporting_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/spam_reporting_rb.html new file mode 100644 index 0000000..164de2d --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/spam_reporting_rb.html @@ -0,0 +1,58 @@ + + + + + + + + File: spam_reporting.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/request
  • + +
  • twitter/rest/utils
  • + +
  • twitter/user
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/suggested_users_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/suggested_users_rb.html new file mode 100644 index 0000000..2688002 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/suggested_users_rb.html @@ -0,0 +1,62 @@ + + + + + + + + File: suggested_users.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/arguments
  • + +
  • twitter/request
  • + +
  • twitter/rest/utils
  • + +
  • twitter/suggestion
  • + +
  • twitter/user
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/timelines_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/timelines_rb.html new file mode 100644 index 0000000..dcc9562 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/timelines_rb.html @@ -0,0 +1,60 @@ + + + + + + + + File: timelines.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/request
  • + +
  • twitter/rest/utils
  • + +
  • twitter/tweet
  • + +
  • twitter/user
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/trends_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/trends_rb.html new file mode 100644 index 0000000..9e0c640 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/trends_rb.html @@ -0,0 +1,60 @@ + + + + + + + + File: trends.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/place
  • + +
  • twitter/request
  • + +
  • twitter/rest/utils
  • + +
  • twitter/trend_results
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/tweets_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/tweets_rb.html new file mode 100644 index 0000000..55fb76b --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/tweets_rb.html @@ -0,0 +1,66 @@ + + + + + + + + File: tweets.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/arguments
  • + +
  • twitter/error
  • + +
  • twitter/oembed
  • + +
  • twitter/request
  • + +
  • twitter/rest/utils
  • + +
  • twitter/tweet
  • + +
  • twitter/utils
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/undocumented_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/undocumented_rb.html new file mode 100644 index 0000000..19023e3 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/undocumented_rb.html @@ -0,0 +1,62 @@ + + + + + + + + File: undocumented.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/arguments
  • + +
  • twitter/cursor
  • + +
  • twitter/rest/utils
  • + +
  • twitter/tweet
  • + +
  • twitter/user
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/users_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/users_rb.html new file mode 100644 index 0000000..3df9a61 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/users_rb.html @@ -0,0 +1,68 @@ + + + + + + + + File: users.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/arguments
  • + +
  • twitter/error
  • + +
  • twitter/profile_banner
  • + +
  • twitter/request
  • + +
  • twitter/rest/utils
  • + +
  • twitter/settings
  • + +
  • twitter/user
  • + +
  • twitter/utils
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/utils_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/utils_rb.html new file mode 100644 index 0000000..ffdaff4 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/rest/utils_rb.html @@ -0,0 +1,62 @@ + + + + + + + + File: utils.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • addressable/uri
  • + +
  • twitter/arguments
  • + +
  • twitter/request
  • + +
  • twitter/user
  • + +
  • twitter/utils
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/saved_search_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/saved_search_rb.html new file mode 100644 index 0000000..7ad7bf2 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/saved_search_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: saved_search.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/creatable
  • + +
  • twitter/identity
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/search_results_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/search_results_rb.html new file mode 100644 index 0000000..9b4d288 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/search_results_rb.html @@ -0,0 +1,60 @@ + + + + + + + + File: search_results.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • cgi
  • + +
  • twitter/enumerable
  • + +
  • twitter/utils
  • + +
  • uri
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/settings_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/settings_rb.html new file mode 100644 index 0000000..dc419ca --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/settings_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: settings.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/base
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/size_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/size_rb.html new file mode 100644 index 0000000..2a7ebe1 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/size_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: size.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • equalizer
  • + +
  • twitter/base
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/source_user_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/source_user_rb.html new file mode 100644 index 0000000..282ba07 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/source_user_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: source_user.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/basic_user
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/client_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/client_rb.html new file mode 100644 index 0000000..0d33eef --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/client_rb.html @@ -0,0 +1,64 @@ + + + + + + + + File: client.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • http/request
  • + +
  • twitter/arguments
  • + +
  • twitter/client
  • + +
  • twitter/streaming/connection
  • + +
  • twitter/streaming/response
  • + +
  • twitter/streaming/message_parser
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/connection_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/connection_rb.html new file mode 100644 index 0000000..4885d2f --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/connection_rb.html @@ -0,0 +1,58 @@ + + + + + + + + File: connection.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • http/parser
  • + +
  • openssl
  • + +
  • resolv
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/deleted_tweet_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/deleted_tweet_rb.html new file mode 100644 index 0000000..2a07f99 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/deleted_tweet_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: deleted_tweet.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/event_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/event_rb.html new file mode 100644 index 0000000..47009a2 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/event_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: event.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/friend_list_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/friend_list_rb.html new file mode 100644 index 0000000..85a1ba6 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/friend_list_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: friend_list.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/message_parser_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/message_parser_rb.html new file mode 100644 index 0000000..847d627 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/message_parser_rb.html @@ -0,0 +1,64 @@ + + + + + + + + File: message_parser.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/direct_message
  • + +
  • twitter/streaming/deleted_tweet
  • + +
  • twitter/streaming/event
  • + +
  • twitter/streaming/friend_list
  • + +
  • twitter/streaming/stall_warning
  • + +
  • twitter/tweet
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/response_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/response_rb.html new file mode 100644 index 0000000..f1854df --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/response_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: response.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • buftok
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/stall_warning_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/stall_warning_rb.html new file mode 100644 index 0000000..6b86d53 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/streaming/stall_warning_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: stall_warning.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/suggestion_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/suggestion_rb.html new file mode 100644 index 0000000..e8ad1e3 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/suggestion_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: suggestion.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • equalizer
  • + +
  • twitter/base
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/target_user_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/target_user_rb.html new file mode 100644 index 0000000..8261aef --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/target_user_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: target_user.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/basic_user
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/token_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/token_rb.html new file mode 100644 index 0000000..9d896dc --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/token_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: token.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/base
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/trend_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/trend_rb.html new file mode 100644 index 0000000..a6b1bf5 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/trend_rb.html @@ -0,0 +1,56 @@ + + + + + + + + File: trend.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • equalizer
  • + +
  • twitter/base
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/trend_results_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/trend_results_rb.html new file mode 100644 index 0000000..5afa9a7 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/trend_results_rb.html @@ -0,0 +1,62 @@ + + + + + + + + File: trend_results.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • memoizable
  • + +
  • twitter/creatable
  • + +
  • twitter/enumerable
  • + +
  • twitter/null_object
  • + +
  • twitter/utils
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/tweet_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/tweet_rb.html new file mode 100644 index 0000000..c746f0e --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/tweet_rb.html @@ -0,0 +1,58 @@ + + + + + + + + File: tweet.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • twitter/creatable
  • + +
  • twitter/entities
  • + +
  • twitter/identity
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/user_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/user_rb.html new file mode 100644 index 0000000..2940885 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/user_rb.html @@ -0,0 +1,64 @@ + + + + + + + + File: user.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • addressable/uri
  • + +
  • memoizable
  • + +
  • twitter/basic_user
  • + +
  • twitter/creatable
  • + +
  • twitter/entity/uri
  • + +
  • twitter/profile
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/utils_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/utils_rb.html new file mode 100644 index 0000000..c644b03 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/utils_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: utils.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/version_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/version_rb.html new file mode 100644 index 0000000..e16e546 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter/version_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: version.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/lib/twitter_rb.html b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter_rb.html new file mode 100644 index 0000000..dab3d41 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/lib/twitter_rb.html @@ -0,0 +1,114 @@ + + + + + + + + File: twitter.rb [twitter-5.11.0 Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2014-09-03 10:27:28 +0200
+ + +
Requires
+
+
    + +
  • addressable/uri
  • + +
  • twitter/configuration
  • + +
  • twitter/cursor
  • + +
  • twitter/direct_message
  • + +
  • twitter/entity
  • + +
  • twitter/entity/hashtag
  • + +
  • twitter/entity/symbol
  • + +
  • twitter/entity/uri
  • + +
  • twitter/entity/user_mention
  • + +
  • twitter/geo_factory
  • + +
  • twitter/language
  • + +
  • twitter/list
  • + +
  • twitter/media_factory
  • + +
  • twitter/metadata
  • + +
  • twitter/oembed
  • + +
  • twitter/place
  • + +
  • twitter/profile_banner
  • + +
  • twitter/rate_limit
  • + +
  • twitter/relationship
  • + +
  • twitter/rest/client
  • + +
  • twitter/saved_search
  • + +
  • twitter/search_results
  • + +
  • twitter/settings
  • + +
  • twitter/size
  • + +
  • twitter/source_user
  • + +
  • twitter/streaming/client
  • + +
  • twitter/suggestion
  • + +
  • twitter/target_user
  • + +
  • twitter/trend
  • + +
  • twitter/tweet
  • + +
  • twitter/user
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/.gems/doc/twitter-5.11.0/rdoc/rdoc.css b/.gems/doc/twitter-5.11.0/rdoc/rdoc.css new file mode 100644 index 0000000..ea91421 --- /dev/null +++ b/.gems/doc/twitter-5.11.0/rdoc/rdoc.css @@ -0,0 +1,763 @@ +/* + * "Darkfish" Rdoc CSS + * $Id: rdoc.css 54 2009-01-27 01:09:48Z deveiant $ + * + * Author: Michael Granger + * + */ + +/* Base Green is: #6C8C22 */ + +*{ padding: 0; margin: 0; } + +body { + background: #efefef; + font: 14px "Helvetica Neue", Helvetica, Tahoma, sans-serif; +} +body.class, body.module, body.file { + margin-left: 40px; +} +body.file-popup { + font-size: 90%; + margin-left: 0; +} + +h1 { + font-size: 300%; + text-shadow: rgba(135,145,135,0.65) 2px 2px 3px; + color: #6C8C22; +} +h2,h3,h4 { margin-top: 1.5em; } + +:link, +:visited { + color: #6C8C22; + text-decoration: none; +} +:link:hover, +:visited:hover { + border-bottom: 1px dotted #6C8C22; +} + +pre { + background: #ddd; + padding: 0.5em 0; +} + + +/* @group Generic Classes */ + +.initially-hidden { + display: none; +} + +.quicksearch-field { + width: 98%; + background: #ddd; + border: 1px solid #aaa; + height: 1.5em; + -webkit-border-radius: 4px; +} +.quicksearch-field:focus { + background: #f1edba; +} + +.missing-docs { + font-size: 120%; + background: white url(images/wrench_orange.png) no-repeat 4px center; + color: #ccc; + line-height: 2em; + border: 1px solid #d00; + opacity: 1; + padding-left: 20px; + text-indent: 24px; + letter-spacing: 3px; + font-weight: bold; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; +} + +.target-section { + border: 2px solid #dcce90; + border-left-width: 8px; + padding: 0 1em; + background: #fff3c2; +} + +/* @end */ + + +/* @group Index Page, Standalone file pages */ +body.indexpage { + margin: 1em 3em; +} +body.indexpage p, +body.indexpage div, +body.file p { + margin: 1em 0; +} + +.indexpage .rdoc-list p, .file .rdoc-list p { + margin: 0em 0; +} + +.indexpage ol, +.file #documentation ol { + line-height: 160%; +} + +.indexpage ul, +.file #documentation ul { + line-height: 160%; + list-style: none; +} +.indexpage ul :link, +.indexpage ul :visited { + font-size: 16px; +} + +.indexpage li, +.file #documentation li { + padding-left: 20px; +} + +.indexpage ol, +.file #documentation ol { + margin-left: 20px; +} + +.indexpage ol > li, +.file #documentation ol > li { + padding-left: 0; +} + +.indexpage ul > li, +.file #documentation ul > li { + background: url(images/bullet_black.png) no-repeat left 4px; +} +.indexpage li.module { + background: url(images/package.png) no-repeat left 4px; +} +.indexpage li.class { + background: url(images/ruby.png) no-repeat left 4px; +} +.indexpage li.file { + background: url(images/page_white_text.png) no-repeat left 4px; +} +.file li p, +.indexpage li p { + margin: 0 0; +} + +/* @end */ + +/* @group Top-Level Structure */ + +.class #metadata, +.file #metadata, +.module #metadata { + float: left; + width: 260px; +} + +.class #documentation, +.file #documentation, +.module #documentation { + margin: 2em 1em 5em 300px; + min-width: 340px; +} + +.file #metadata { + margin: 0.8em; +} + +#validator-badges { + clear: both; + margin: 1em 1em 2em; +} + +/* @end */ + +/* @group Metadata Section */ +#metadata .section { + background-color: #dedede; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border: 1px solid #aaa; + margin: 0 8px 16px; + font-size: 90%; + overflow: hidden; +} +#metadata h3.section-header { + margin: 0; + padding: 2px 8px; + background: #ccc; + color: #666; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-bottom: 1px solid #aaa; +} +#metadata #home-section h3.section-header { + border-bottom: 0; +} + +#metadata ul, +#metadata dl, +#metadata p { + padding: 8px; + list-style: none; +} + +#file-metadata ul { + padding-left: 28px; + list-style-image: url(images/page_green.png); +} + +dl.svninfo { + color: #666; + margin: 0; +} +dl.svninfo dt { + font-weight: bold; +} + +ul.link-list li { + white-space: nowrap; +} +ul.link-list .type { + font-size: 8px; + text-transform: uppercase; + color: white; + background: #969696; + padding: 2px 4px; + -webkit-border-radius: 5px; +} + +/* @end */ + + +/* @group Project Metadata Section */ +#project-metadata { + margin-top: 3em; +} + +.file #project-metadata { + margin-top: 0em; +} + +#project-metadata .section { + border: 1px solid #aaa; +} +#project-metadata h3.section-header { + border-bottom: 1px solid #aaa; + position: relative; +} +#project-metadata h3.section-header .search-toggle { + position: absolute; + right: 5px; +} + + +#project-metadata form { + color: #777; + background: #ccc; + padding: 8px 8px 16px; + border-bottom: 1px solid #bbb; +} +#project-metadata fieldset { + border: 0; +} + +#no-class-search-results { + margin: 0 auto 1em; + text-align: center; + font-size: 14px; + font-weight: bold; + color: #aaa; +} + +/* @end */ + + +/* @group Documentation Section */ +.description { + font-size: 100%; + color: #333; +} + +.description p { + margin: 1em 0.4em; +} + +.description li p { + margin: 0; +} + +.description ul { + margin-left: 1.5em; +} +.description ul li { + line-height: 1.4em; +} + +.description dl, +#documentation dl { + margin: 8px 1.5em; + border: 1px solid #ccc; +} +.description dl { + font-size: 14px; +} + +.description dt, +#documentation dt { + padding: 2px 4px; + font-weight: bold; + background: #ddd; +} +.description dd, +#documentation dd { + padding: 2px 12px; +} +.description dd + dt, +#documentation dd + dt { + margin-top: 0.7em; +} + +#documentation .section { + font-size: 90%; +} + +#documentation h2.section-header { + margin-top: 2em; + padding: 0.75em 0.5em; + background: #ccc; + color: #333; + font-size: 175%; + border: 1px solid #bbb; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} + +#documentation h3.section-header { + margin-top: 2em; + padding: 0.25em 0.5em; + background-color: #dedede; + color: #333; + font-size: 150%; + border: 1px solid #bbb; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} + +#constants-list > dl, +#attributes-list > dl { + margin: 1em 0 2em; + border: 0; +} +#constants-list > dl dt, +#attributes-list > dl dt { + padding-left: 0; + font-weight: bold; + font-family: Monaco, "Andale Mono"; + background: inherit; +} +#constants-list > dl dt a, +#attributes-list > dl dt a { + color: inherit; +} +#constants-list > dl dd, +#attributes-list > dl dd { + margin: 0 0 1em 0; + padding: 0; + color: #666; +} + +.documentation-section h2 { + position: relative; +} + +.documentation-section h2 a { + position: absolute; + top: 8px; + right: 10px; + font-size: 12px; + color: #9b9877; + visibility: hidden; +} + +.documentation-section h2:hover a { + visibility: visible; +} + +/* @group Method Details */ + +#documentation .method-source-code { + display: none; +} + +#documentation .method-detail { + margin: 0.5em 0; + padding: 0.5em 0; + cursor: pointer; +} +#documentation .method-detail:hover { + background-color: #f1edba; +} +#documentation .method-heading { + position: relative; + padding: 2px 4px 0 20px; + font-size: 125%; + font-weight: bold; + color: #333; + background: url(images/brick.png) no-repeat left bottom; +} +#documentation .method-heading :link, +#documentation .method-heading :visited { + color: inherit; +} +#documentation .method-click-advice { + position: absolute; + top: 2px; + right: 5px; + font-size: 10px; + color: #9b9877; + visibility: hidden; + padding-right: 20px; + line-height: 20px; + background: url(images/zoom.png) no-repeat right top; +} +#documentation .method-detail:hover .method-click-advice { + visibility: visible; +} + +#documentation .method-alias .method-heading { + color: #666; + background: url(images/brick_link.png) no-repeat left bottom; +} + +#documentation .method-description, +#documentation .aliases { + margin: 0 20px; + color: #666; +} + +#documentation .method-description p, +#documentation .aliases p { + line-height: 1.2em; +} + +#documentation .aliases { + padding-top: 4px; + font-style: italic; + cursor: default; +} +#documentation .method-description p { + padding: 0; +} +#documentation .method-description p + p { + margin-bottom: 0.5em; +} +#documentation .method-description ul { + margin-left: 1.5em; +} + +#documentation .attribute-method-heading { + background: url(images/tag_green.png) no-repeat left bottom; +} +#documentation #attribute-method-details .method-detail:hover { + background-color: transparent; + cursor: default; +} +#documentation .attribute-access-type { + font-size: 60%; + text-transform: uppercase; + vertical-align: super; + padding: 0 2px; +} +/* @end */ + +/* @end */ + + + +/* @group Source Code */ + +div.method-source-code { + background: #262626; + color: #efefef; + margin: 1em; + padding: 0.5em; + border: 1px dashed #999; + overflow: hidden; +} + +div.method-source-code pre { + background: inherit; + padding: 0; + color: white; + overflow: auto; +} + +/* @group Ruby keyword styles */ + +.ruby-constant { color: #7fffd4; background: transparent; } +.ruby-keyword { color: #00ffff; background: transparent; } +.ruby-ivar { color: #eedd82; background: transparent; } +.ruby-operator { color: #00ffee; background: transparent; } +.ruby-identifier { color: #ffdead; background: transparent; } +.ruby-node { color: #ffa07a; background: transparent; } +.ruby-comment { color: #b22222; font-weight: bold; background: transparent; } +.ruby-regexp { color: #ffa07a; background: transparent; } +.ruby-value { color: #7fffd4; background: transparent; } + +/* @end */ +/* @end */ + + +/* @group File Popup Contents */ + +.file #metadata, +.file-popup #metadata { +} + +.file-popup dl { + font-size: 80%; + padding: 0.75em; + background-color: #dedede; + color: #333; + border: 1px solid #bbb; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} +.file dt { + font-weight: bold; + padding-left: 22px; + line-height: 20px; + background: url(images/page_white_width.png) no-repeat left top; +} +.file dt.modified-date { + background: url(images/date.png) no-repeat left top; +} +.file dt.requires { + background: url(images/plugin.png) no-repeat left top; +} +.file dt.scs-url { + background: url(images/wrench.png) no-repeat left top; +} + +.file dl dd { + margin: 0 0 1em 0; +} +.file #metadata dl dd ul { + list-style: circle; + margin-left: 20px; + padding-top: 0; +} +.file #metadata dl dd ul li { +} + + +.file h2 { + margin-top: 2em; + padding: 0.75em 0.5em; + background-color: #dedede; + color: #333; + font-size: 120%; + border: 1px solid #bbb; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} + +/* @end */ + + + + +/* @group ThickBox Styles */ +#TB_window { + font: 12px Arial, Helvetica, sans-serif; + color: #333333; +} + +#TB_secondLine { + font: 10px Arial, Helvetica, sans-serif; + color:#666666; +} + +#TB_window :link, +#TB_window :visited { color: #666666; } +#TB_window :link:hover, +#TB_window :visited:hover { color: #000; } +#TB_window :link:active, +#TB_window :visited:active { color: #666666; } +#TB_window :link:focus, +#TB_window :visited:focus { color: #666666; } + +#TB_overlay { + position: fixed; + z-index:100; + top: 0px; + left: 0px; + height:100%; + width:100%; +} + +.TB_overlayMacFFBGHack {background: url(images/macFFBgHack.png) repeat;} +.TB_overlayBG { + background-color:#000; + filter:alpha(opacity=75); + -moz-opacity: 0.75; + opacity: 0.75; +} + +* html #TB_overlay { /* ie6 hack */ + position: absolute; + height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'); +} + +#TB_window { + position: fixed; + background: #ffffff; + z-index: 102; + color:#000000; + display:none; + border: 4px solid #525252; + text-align:left; + top:50%; + left:50%; +} + +* html #TB_window { /* ie6 hack */ + position: absolute; + margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px'); +} + +#TB_window img#TB_Image { + display:block; + margin: 15px 0 0 15px; + border-right: 1px solid #ccc; + border-bottom: 1px solid #ccc; + border-top: 1px solid #666; + border-left: 1px solid #666; +} + +#TB_caption{ + height:25px; + padding:7px 30px 10px 25px; + float:left; +} + +#TB_closeWindow{ + height:25px; + padding:11px 25px 10px 0; + float:right; +} + +#TB_closeAjaxWindow{ + padding:7px 10px 5px 0; + margin-bottom:1px; + text-align:right; + float:right; +} + +#TB_ajaxWindowTitle{ + float:left; + padding:7px 0 5px 10px; + margin-bottom:1px; + font-size: 22px; +} + +#TB_title{ + background-color: #6C8C22; + color: #dedede; + height:40px; +} +#TB_title :link, +#TB_title :visited { + color: white !important; + border-bottom: 1px dotted #dedede; +} + +#TB_ajaxContent{ + clear:both; + padding:2px 15px 15px 15px; + overflow:auto; + text-align:left; + line-height:1.4em; +} + +#TB_ajaxContent.TB_modal{ + padding:15px; +} + +#TB_ajaxContent p{ + padding:5px 0px 5px 0px; +} + +#TB_load{ + position: fixed; + display:none; + height:13px; + width:208px; + z-index:103; + top: 50%; + left: 50%; + margin: -6px 0 0 -104px; /* -height/2 0 0 -width/2 */ +} + +* html #TB_load { /* ie6 hack */ + position: absolute; + margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px'); +} + +#TB_HideSelect{ + z-index:99; + position:fixed; + top: 0; + left: 0; + background-color:#fff; + border:none; + filter:alpha(opacity=0); + -moz-opacity: 0; + opacity: 0; + height:100%; + width:100%; +} + +* html #TB_HideSelect { /* ie6 hack */ + position: absolute; + height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'); +} + +#TB_iframeContent{ + clear:both; + border:none; + margin-bottom:-1px; + margin-top:1px; + _margin-bottom:1px; +} + +/* @end */ + +/* @group Debugging Section */ + +#debugging-toggle { + text-align: center; +} +#debugging-toggle img { + cursor: pointer; +} + +#rdoc-debugging-section-dump { + display: none; + margin: 0 2em 2em; + background: #ccc; + border: 1px solid #999; +} + + + +/* @end */ diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Arguments/cdesc-Arguments.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Arguments/cdesc-Arguments.ri new file mode 100644 index 0000000000000000000000000000000000000000..85a3d1ae7b93d9e951454cb46f30fcb8b3e9b053 GIT binary patch literal 297 zcmYk0KTpFj5XCbfJ4(`s2?oUC4?sI#mQ?(aJit)3lPAX*WRcpIeWBvpbEZNd4`;u3 z@8@?>AK+^D5DdUeNJl;2&pKz-J0?ZHP4COmddv*ibuwIaAvJ literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Arguments/new-c.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Arguments/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..c3f06cb9dad2359a4bea572fc391e76ffc6bb2ad GIT binary patch literal 308 zcmZXPF-yci5QVRhHC`GEJ5N~CsEwC;(nQgN1rJ1GwODN8m>X~14U-Lr{(3h?1i5zJ z?(hKD%kg@cIy)-g94PrPUti)*82cAcr$w%zs(uC1V)aNxlF6%SeHF`9>D=Jl8XorI&`={%Q-A&vT`gbDT?OJWcO6!$uB6$%+D)kvtn~~^Hh=#DbFk^Ni6~@DM~NR zP0cGQR)(ptW&G1dS8 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Base/%5b%5d-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Base/%5b%5d-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..762b32657ee44003f79820205d3efed302b2efd8 GIT binary patch literal 348 zcmZXQK}*9x5QTe?w6+Ky6a+mi@uDC$=gFll8VDE=TTh{f*>sw$O?JcX1nIwb(|8e2 z!_1p`-^`p%KH=))#S{Qbeawg}v&%14kcQ)Y8$j@yq~Z1ETQQRbSfQhPUyp+%fmz$h zS``LvhxrWcp=$xWS=W%}G0YY%T6X!wz}?@TceGeqY^xwX&piwh;-VraPzz+XN_I@b z?EBovFDh7cPU%uq=qjNNBP*l*9-DvGs~Yv;O=%jLc=~I<>=(gCG^hJSzV-xNK8f|Q zk*3~?jGV)g1RLQ<@A}A<=by+u1*VI=sws-1e3XV44};NTFQws4t>m1CAI+tI(X*Ak F@&jC>ZTJ8H literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Base/attr_reader-c.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Base/attr_reader-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..248ccdb2eb565d0751270caa257fdcf38d696672 GIT binary patch literal 336 zcmZXQK}*9x5QTe?wYCU7cn}m^b5aqT^W@T&wh*u&8c#uFww;)zn{1ffRPyglj0eTz z@ZNmy@s5VCaQ3{kTY!1lY{=(!mrk^Zg9&=i?@YKO79dvZIJinawfDpT3v>kV+YyO% z0^_PyMsF=#^vDhJzODdTeqB)Mk6}EkkiAQX7B2sKo{;f_vC2hslD7HLk}_SAEWSHA z>2vgw$+M;dwHL_)nwn(Bwvb&Dt!htBL?ZdeUKlL*k1cIrqtOrlx@&^{tCQ)R8Jm0g s(iF;?w~hj%S*8tzVVDl$;PmFM3vsud6bI)-A&vT`gbDT?OJWcO6!N(3^C*{s-H-8_{fLdr8sN>Yogteg^yQKtD7&=4$_i*`X>Mv>3A+`yLqTFuNpUoT6_-O= cW=^UB$k?3BB>fVI(fUb1ll6*{fX0OY0Q^cTmH+?% literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Base/cdesc-Base.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Base/cdesc-Base.ri new file mode 100644 index 0000000000000000000000000000000000000000..016eab85a412ccc59266359cf8566d0d5bcf5c52 GIT binary patch literal 658 zcmaJ)-U1J24>H5}NveX0d%^0O_P85|ojX>8i`~ab9G=YATx(Dmw;*v17Cfh~ zkZIRkB)-~+OqqIXDvXU{Q$VQ^4x)-FT~i19(UJ=oQ$+nZ^qJPGw!Lxa&g_YUs!0XU z3~(WMI?@}*QEF1$s?<>Cwy~pSva%M-lO9-=YH>Hc`NGP_6aAqSrYrc?pRv^0d*A6rfi! z-)B?`a-OjRjNw+JQGBoaCI{2lw*6

q@YX#3~$&>6NhFMLL)5(hgHEcR>$Io&8~g udzF&f`~}GEI&imA{N0ReFL8Lx%UZKCYxlB!R@W8~efbVX0?Q>`>U;s60=%36 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Base/define_attribute_method-c.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Base/define_attribute_method-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..952f889dc325047f82ee5769c82ffb804a95ea9f GIT binary patch literal 420 zcmZ{g%}c{T5XF0tHMSQI9{lKG2_6*1raev&+ENPv3!?E9q|ByUyJWK)HXCIBd-H)} z6>l@VnfH4$2i_~3JTG(#FjH>D?M`o!V?iQ+xZzu&_!_M>f>oBU^HwE59+r`R6MqP6 zxdE7C$pQYG4#_fxK~XU&QVka!YK11N3V@nh8Uy{VK{H6U^o9s!@pKgWZK@cRp$iKX5d~a#iTHI45WZiH#p>2KLflj4h PBip@o#Okl!8P+JDMVf{; literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Base/define_predicate_method-c.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Base/define_predicate_method-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..9ef714e705329807c5efa89d8ca405374ed350c2 GIT binary patch literal 390 zcmZ{g!Arw16o+?^Y;G419wzP(dQucucYHyZV-5-qMC+-@cxh7?nkFSn8U62VRuGDK z{=N78zW2^XpK$rUHYvcfZnnbhO_p3p5(TqN(`tWox8VL%UXr^w*MhmNYk(qNeDamArO>FcSY^uN3OywY_p+*x2)jQE=r=u%v}( z9%=H?l-#H5bpL_k;y~I)QFGz*I>-cirRWy#3pQx z{XXBj7;NEYvrrkptg>rv4r-rV3BrQgJV6hR&|ff_oQ?B`vu9pvku_Qzd_#x&uu* n5DcfekUR{-q{o8mXQzF04wDzJyptjw8~>Vd+J5F;rw;iCzIJZU literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Base/deprecate_attribute_method-c.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Base/deprecate_attribute_method-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..9b89118dc37a90119c2d6fa142f8c4a14a1cc08c GIT binary patch literal 344 zcmaJ-&r8EF6y8DN>@FTW3=|AK>1C_e*UKDpP}o4Uo{Gpz`|3i|q+}_Q|K8M!AcD8Y z`+oABOkd#QX=6%&d+qn+4yG#3CClRLiaJXrI(kFrtQ38?+AjhF_OQ+3MgAe3BMY#` zBLVy)NZB@rS=S3CO9Pi<;2v$$cK{*1Z%MmTn5{ar?pRC>T>a)eqQ!TM-GQZNMQC@o z@furMqEen$R7*`9`B;zF#&XpBr#4Gj{>O2xP&d1vo0v5EcAXFT*z$%vFP?oXjCvi! j5UpydC`poHlEu+Yz;B0t7SELwOE>PY6k&#i6$A1KDlTt3 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Base/display_uri_attr_reader-c.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Base/display_uri_attr_reader-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..c5edc89c8f452699f473eb6d9a5d31b6fedeef22 GIT binary patch literal 266 zcmZ{fF>At56h=FgXImEshk_0vQ$^6sH;WZ3WDrEsDMPr=T=im19yj+<{P%sboqJEnbhR)vN&)}Ns<%~S=@V@gfWD_)@iwhP+;%V_PiKAJY?uN~TqT+uyYfi=U zo9}(hJBXj*lLuI0O8_BBqg4*mrYmYw zIyf6D*624~1JL(%Te3WcY1W|UR>uzJ`!|p1@!exnMd_jLedo#=Hdvc4Y6XhkAzbl6 zCHJcQAHA&6ZXS%KkxM6`VXWjVxNs|w*|$R9V_UrhSjl{Qy_K2+1$i{$RHN literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Base/object_attr_reader-c.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Base/object_attr_reader-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..bbc3f19d571515089430b6bbac472b75b5818593 GIT binary patch literal 397 zcmZ{g%}c{T6vTUwHMSQIf}hBegQ$p&J-#5+QVRhKqVW`@?4~bv%_bXmH%R__vk4xG zdU=<5GrwVWyf-*_nX44wp=_3DH)@^i3ljN#^P3L!5 z-!4r7aH_uv^0O(kl@YPrTEfy4iZNHrloP5FNr1RUv2@dqVMYQts}=$Nzk!HSaBQb5 zQ#7y}nMBd6vjDx>y|LyQIH6U-A&vT`gbDT?OJWcO6!EXj}0V6$R#b@Nmb4=K+qDM>A|vT{l+PE`iW zShE2o*n-%Av=w(jX;MyRa=w)`#1!AeqU_QFD=VOprManjCG1w*4h4xtCB@MUR$LBg dnK`KjK+O_4nMwL35R>(jfClRoB>{~K0RVV&DvSUC literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Base/uri_attr_reader-c.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Base/uri_attr_reader-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..5f3fd187395a0c3a6b7fff7077f98b8dcbb9647c GIT binary patch literal 324 zcmZXP%}c{T6vTUwwYCTzdJy!m#)BV-&H3fhmReY_AT>P&DR0}2UAoDJw;M|Sd$Y!i zdY+lz%$)SsFj~#+7GPR7OXc@=mtANkqEStHgWl7I6z&u;U@r?1-KIzFy&`}aItB38 zm9Rw$!>X1>Z!KJP=q1vjt^nGex=^J*h2f+^@-FLJxc=>VL&8tOYR{6htle=pSGg_~ zU#|o&zV|tvlP!4Ire*DwV+l+Dab^a~!)u%D*<|p;x(Th=MIFzkMA$s>_ok56d;|&% jCb>2$j^nH+qVxO5P~skfB%({B<=A)k$FhC@Ofo26Ku~6y literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/BasicUser/cdesc-BasicUser.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/BasicUser/cdesc-BasicUser.ri new file mode 100644 index 0000000000000000000000000000000000000000..9dab598916502c0d2ea2a71f970cdf9795cf8289 GIT binary patch literal 300 zcmYL^J!``-5QaSzIoPS`ln#Xs`TZ+0^~FEn0XEDCK}?TD`+;K&f}vNx>52bSwaklU`8w(loZ>Np^fw4 zoz23%cf*>`KGs7qc$l-p2O4tYPFFcepFQK7g8QYe{s3KSR`37- literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/BasicUser/screen_name-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/BasicUser/screen_name-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..5106a7cc3172f4bbac0c321fe73af71407f0c003 GIT binary patch literal 168 zcmYj~F$=;l5Jnv&6^rODIJCQUK9?#gbZ{x{)S)Edgkai+%LV_wkuFZ(^1k<$s}{EP zZPEZ2X6iO3sj{8dggEx298iF`KdLNmK86_y;3~b*tw+lLsk4ZXs6|{zT~OBO3HG!2 sDd`;?K&*rTM@}Fuoh0_%0@mfrSUkn^!5UTYTq)Eq(uY_%l8Vyi3;b&|+yDRo literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Client/access_token-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Client/access_token-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..2d282c87894e7ce1dcb4ca0f552f3971d944061a GIT binary patch literal 164 zcmZSK2({u5a>-A&vT`gbDT?OJWcO4OOiWHrEiR5P$A| zvU1MJOwB7%Mp0wU22{cx6wU@@SaBDWCgo%%=UYib4E9Yd$}TOivI5#tnhVs*ZpH0T nkXTew9L-?G<&c({lWG9eEtQj*q+bHDL_Zm9hh9+<(7+G?F}O2O literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Client/access_token_secret-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Client/access_token_secret-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..ec86232089de46f6a7c7b1ffe152c54bae7c8710 GIT binary patch literal 178 zcmZSK2({u5a>-A&vT`gbDT?OJWcO5(NK8&nEiR5P$oDImZ;w~sn%E?U5w~~ffz6}Lk{Vo^zPG=mkFLt17|ssT{9R8D4+ehI`b{baCJdPPY<1497RVL2!O literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Client/cdesc-Client.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Client/cdesc-Client.ri new file mode 100644 index 0000000000000000000000000000000000000000..b8a00a4bf6d6fae0c060a9f4ad63cee335adfe8d GIT binary patch literal 594 zcmaKpF;BxV5QQ@!J55R{qCyBZ{{Y(A9;j5PwTPjK)O1qQ!ESJuSfkB+4v)t&yBZ}_koQ#%x6A?|O&nDLsk&1+qQ>m18ZtcshE&_rRym$&9 zG_C3^HwrqJxyi=9^&YDx(Y4J$v#hFyVb)1T zo#a1IQrYtT55h_9z(Br)wKemgW}Ma`5=g|HoOO#_d6T=KD;dTt77^=BAS@P`lSG9> zghvqz%o6w)x^bcRp%+wi06{z~UvESNWxulKO?n*)PL56CyeyPHK=i`H5LUE-d`7n3 e0R^Wx=-zxgaPn)ORy%BlY>w7RSsH9vUqqiK7NL0n literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Client/consumer_key-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Client/consumer_key-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..bafc2c83ceedfc3f0b13d01c11e51287654e5540 GIT binary patch literal 164 zcmZSK2({u5a>-A&vT`gbDT?OJWcO4OOwP|MF3n9XiqB51WV2#(b@NnG3@OhnDM>A| zvU1MJOwB7%Mp0wU22{cx6wU@@SaBDWCgo%%=UYib4E9Yd$}TOivI5!yG&HY--HO|x nAhD>VIGVwV%ONc@C)EI`TPi0rNxuYQiGDKJ4!xozpn)L(QXVsu literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Client/consumer_secret-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Client/consumer_secret-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..bb6e54ca8a2783c40eca003389da3e22712753fc GIT binary patch literal 170 zcmZSK2({u5a>-A&vT`gbDT?OJWcO4ONzTtJF3n9XiZ4!0E=nz7vtn~~^Hfp^DbFk^ zNiDLna?Z(2%_~txS7yxyRK*??&IV*yaTk;(W!@ zVXJe1m3k-K-1M2Y1&O^*j{MA(5llXp1jsImy>a>y#&87KNMXH6B@>V+0=FnLDRK>i z|7ybUUKRlMqI}qj18!I_G*3!246B(vLv}@0+(^)*7NHj+HzleOU282lQzsIT6k6d$ eNbdVSt;L=*omtVc^`*!b=Fhjte|U4uzJ(7J8b-bV literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Client/credentials-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Client/credentials-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..fd2097933f1bba2ce8c77aa7258d3172017e06f3 GIT binary patch literal 223 zcmY+8zYBsu7=|0-tXzbeszGe2C7nMPqmmqi2%CiYXE)FK6JwXGpHG=hLQ^A|Cu90c0*Pd#2-=(Fb@@Q#G~Q70=csKC s!)%FKO{bg5G{C07}AYH~;_u literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Client/proxy-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Client/proxy-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..d717a3cf73e422d6d377e4389b0da9d6e6e495e7 GIT binary patch literal 150 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!Dk#dYsARKZb9M7nk_su$EGbDXva)i{$xO{F zQHDrbvjOGUgTmQ>3@h$}(xjZsh*7?YMcJhVR#rfBOLKvG*sZu73KEM-ilZ5< fxE#_lb5adJCg)@(>6buE*G~o;u2+--A&vT`gbDT?OJWcO6!FD*_jicd^W%`0KEVsmx#RFV%V&nziPEwZw5 z&dCG{Dtv jM>AM)IizLgq#6J6buk&`$@YFec@iApU!!U35Ks=bW!v z+e2%+)H%RRz1G}Z^@;j|q=9cA9FIodxSA3mt0WEjyQeUQBfvrmuFT*UiAa(_v#^;I zxrT1Jxn_8?1%NxSch~Ts85a!AgAxtBe`dpwU62)564j{_XvfHnMb)QsttDsbKq9h( hMtl~Mhha!7Y2Xbnhm)vzyonzm#!3(-vKd1tsXJu+CmV#P~Cp^rP*;2_J-#3N=S29H5<0?<)n>P-?3_^d^ zG<4$ZTfC>1g|4U2yrVx+^V(>HoK;gZ2@x7*ni{Y;KykL?g5BXUj`JibDr#uqEG#k1 zGIL-h(aeyVm7IEJo`h?EqM>fKf)}oFBlva!U9v^-JNB*Fy4j5)K%aNGNOwRutqo7TpNkWx3P8?Ws!%HaX@}!T^i)F!%4%2!lLc5AstFszX^@MYXfq$WDN`T=O_B-^i>8;AF-gAC4rW8Fzn^gYbnY zgkK1)Yc#e7HWPP~^mG=$+ip-J2M}gf62Gb$EVCZ9N`1W5*d#oWN&74Asqw$%7seq! Af&c&j literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Configuration/non_username_paths-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Configuration/non_username_paths-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..f683fa423a1e76c5c56676354c817f486b425f0e GIT binary patch literal 189 zcmZwAy$^yg5Cw1tQ;ftoIyi|tIG+o~kA%U6;KV>mQ}iOV&2f$YzD-yhoZj-@`^^^* zSeF;808Y$QuP`c-jj^Wjqb4H<-8jjwQGmGKiX^Q*$gBzAY)ywxPmeoxD4ZqbF%VIt< literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Configuration/photo_size_limit-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Configuration/photo_size_limit-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..508ecb32296f944a25b0d7d62a84ca0e4795a6ae GIT binary patch literal 185 zcmZSK2({u5a>-A&vT`gbDT?OJWcO4OEy&0($&WA2tV)f~$;{0xVY6a$b@Nox2`SGk zDM>A|vU1MPOUq0zElMoO%+FKCP;SizRLvH|2BfXH3rdr6GL!SIq#@S$CKhFv7FbyU y?JUhr%`0KI;&v!VEGj9EX0YONNXyJgH2`W>%*jmBFM(L6pNwpqUQrUz+z#N@vnxvzdj#rE$TnDA(Z literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Configuration/short_uri_length-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Configuration/short_uri_length-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..7d2561cd951ec9c1c32bef39c281d1befc4432df GIT binary patch literal 185 zcmZSK2({u5a>-A&vT`gbDT?OJWcO4OEzZaA|vU1MPOUq0zElMoO%+FKCP;SizRLvH|2BfXH3rdr6GL!SIq#@S$CKhFv7FbyU y?JUhr%`0KI;&v!VEGj9EX0YONNXyJgH2`W>%*jmBFM(L6pNwpqUQrUz+z literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Configuration/short_uri_length_https-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Configuration/short_uri_length_https-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..e474aae2d1e61d42a47e3fe1c9b6fc179856fc80 GIT binary patch literal 197 zcmZ|IJr9B~6op|2Q;fv;1DM2Jh~ss^_>nNU5S$nYkODW>wz=HKzi$&37pF75=UJ|v zur02p12{8NwZR~dqiHn6wIi&R)B}(8$ZRJ8;&#vDWBEa5NdOn4dmJ1!j7IPOL?_`J zQ3$^fTGuM<3`8^eXz1lEfcM>7Y7QXGY(qR%3s`48Dw+Ctr?5?UMw9N>JW%U@%P&p( BLCgRE literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Configuration/short_url_length-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Configuration/short_url_length-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..14f408cb64fbef083d3673adffb6f4e7e836a5e0 GIT binary patch literal 185 zcmZSK2({u5a>-A&vT`gbDT?OJWcO4OEzZaA|vU1MPOUq0zElMoO%+FKCP;SizRLvH|2BfXH3rdr6GL!SIq#@S$CKhFv7FbyU y?JUhr%`0KI;&v!VEGj9EX0YONNXyJgH2`W>%*jmBFM(L6pNwpqUQrUz+znNU5S$nYkODW>wz=HKzi$&37pF75=UJ|v zur02p12{8NwZR~dqiHn6wIfw4sRthGk=afH#OBk^nA7_c%Ce7>(ZliB7^d zq7Z%|w60ay8Hi@`(a_6T0PnlE)Eq#V*@k$k7O>8GR5JDPPGOtyj3(W$d7#$+mS0gt BLDB#K literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Creatable/cdesc-Creatable.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Creatable/cdesc-Creatable.ri new file mode 100644 index 0000000000000000000000000000000000000000..831fd84b6ab9e917bf587c75d401788c30bc7a67 GIT binary patch literal 316 zcmYL@K~ID*5QRCI7TH}k@v;Zwr9Z&sJUvLFlJtNFvz~e|rHn~qp`;W|{Ph-)m^r=o zX1+I9=^LD0pPUAGalTWwcI{+Q=7tECKYCO_H5Lhw=Sr~C<=cdS9^gOWq$(WTu8dmw z&uIXNz^TJNP}r4&@?n$-WaWpkSjZ#}k*Q$E8arox7Jj5SPAN}i!mkU#?yPCfVQo9> z?Tvfi5Kb(I>IUBgLeUSz;==Q!J97?a2A3cOg{$IYurwG dwgL}J54I0;P~ObD$3N>`h0Wx<8N>H7`30xkS!VzM literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Creatable/created%3f-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Creatable/created%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..9e27868868b7ecdd9cb2539fd1fa905d07b891d0 GIT binary patch literal 226 zcmY+8JqvMJgLD2et{neXC z=WN!#r3&=7;Dc%UVQPxwSdH>% Zd~@3$`?*)O(Q`gbp8q6<#dlr@&o`e9VX6QC literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Cursor/attrs-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Cursor/attrs-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..cce06c879da01070d3cf87cd77f2ceee4329e7bb GIT binary patch literal 149 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!N(3^C*{s-H-8_|~Ldr8sN>Yogtei`Wit~$< zA(GZ?KsmM`HXv=qT~L~olbM`vB@HpjH?b(Yw7|*=Xl!Y2YF-Ju6}Lk{Vo^zPG=mkF eLt17|ssYI0oXjNs5{TjY$zZefijsf^h5!KE2`!)i literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Cursor/cdesc-Cursor.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Cursor/cdesc-Cursor.ri new file mode 100644 index 0000000000000000000000000000000000000000..f9a1cdcfb861db0052ec5c0fa75cafbc97fab6d6 GIT binary patch literal 384 zcmY*VO-lnY5Z!|$+ud3ViiqCw18mQe%R+4-2Ng?>$*leRCTl5p8s^RW zVlK)(+-{$|26*w|pxnx-80E|o!Rplzq7MYfdL!7)?r0HB064*%B(#2Qzl=tb77q`9 zM$amI4?RF~9S){L3U$+~fKe7uH6PZQrKGYFtWt;}X02dknqe zEb*U1B~1-=en&QtrKG%)B%@_#j$`&*QkeC@V|syk&mCae2m7PYY M(t+3c%%`&W1?xs<*#H0l literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Cursor/new-c.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Cursor/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..ed86ba9defcc8c10f35c4602c768db0e63b084b9 GIT binary patch literal 531 zcmZvZJx{|h5QaOTP}+rofp3`%2&9U3c9%k-BB+&68>Xm(lU^Is#7^yts`Bfx7z_2y%)O)U@8~UA@>5mDPZeS?`ahHC*hVOf}(U-DlJX4THhOm zv|W^O#uG`;9Av`Ox-2L)#4-ng`?NhMm_i*jB|ZOL^U4%kDORLj{~$7s7lGi&S;jv= z6Gn^&ael@s{L}rAF|i(V0S(!2SwbuDkF6KW2}4wxM9)m8bK4yF<62q6jzlw5T&y}| zw##Fg%}JO7u>wl61WZzbCb3}1$WqC?x+&0w6dD}u<%^avZG46{I80Jy42TPjOqg*H zh>YJML2YvXu&!&Cf=vk;N%Xz!sms(8Tn-dqsl<;0x1CC-t-+FK(ChW0M&MuFR2%5n dsmx*D)FHLOtsCJq<8c?=zjl-ATklkCwNGPktvmn# literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Cursor/to_h-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Cursor/to_h-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..01b86880d91e2d69c692b263317efb2c0f947768 GIT binary patch literal 147 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!EXj}0V6$R#b@Nn`3@OhnDM>A|vT`mhD$Xxb z2FqEq0j1c2*nqSZcR^`VPG)kxl{Ca0-^8Nq(gG_hprNI?sd**rR@@E+iA5#F(F|5x f4r!S=sRlsJQaPDP`Xvyv^^?Iy>lGyd4GaMQR1GYa literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/DirectMessage/cdesc-DirectMessage.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/DirectMessage/cdesc-DirectMessage.ri new file mode 100644 index 0000000000000000000000000000000000000000..689e7512725b8d60359e85bb13e7b41a335483ab GIT binary patch literal 409 zcmZWlyKciU4D?V)j-9$ihjhrM4`?z=i-9}<4e1c1lZHT+l|rcefJFE4_mvzZLD7jI z?~ZrmUHV36`*o)%eeGN$?aE5;MPU#pPiy0}f}QqWzH3C$X3NR^@MQqBqx3JzPylCF zkk`5e13xItJ32o*?4b;;0%4+bH~;_u literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/DirectMessage/full_text-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/DirectMessage/full_text-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..bcd8cb659beb445bccc1d5c449beafd0c0b52b0a GIT binary patch literal 172 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!ODoOEi7!d5C}Fc=b9M7nQVl83EGbDXva)i? zEJ{r-@l7o*PE1c#MyRu911e(+Vgu4v+y$jcIho1%R?-lIeG`kaOACN{^OH++Q}asL vt+*Wu5{pWTqZzEY9MUp#QVoEbm2xtZ^h+T2=%;|KiO+@DqgRv!G&lqR`ouQO literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/DirectMessage/text-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/DirectMessage/text-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..66aa27168ca6e0116c84939ff6b468767e51bb72 GIT binary patch literal 162 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!EJ>{>VY6a$b@NnG2r17jDM>A|vU15RN=+{D zO)V}?Oixt?E3sw+s$dIZ1JYL91*J(jnaTN9(h%c(6N|D-3xL}4lS^|`^GevQxE%@- qi%N>48LYS*(lT>W4S<@Jax#+BgXCwo^%G2$jK?74h^0&Jxzutd=)=VOFGO)iZ1iD=a zHI*OJh>*ceJsWg@;&P-?E8?N3d;`u3;+f-XDvbIKcta-4|a@NuVRR>Mq=blB%j*=6Lde#B`UyJA22_)*fZv=NR>7U|+ nR+9uL5!vzFb^*rbuDzZVldtyEK@1M&>P$cJaBRN=C&c>&u)B~r4Q^dbFQbkWGPen^Ot1Z>&l6)OZx z+r}MHw?+b(`sQv}3+zY|rE81?IRDI^C~{RqmMH9FGe3zG)s5mV-Uv}q!cQnf84RKe et7s4exRZL;d|^VP=2R^Ab*txprIspxzq|lu21Ygj literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Entities/hashtags%3f-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Entities/hashtags%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..4a2c55d398a9336bd31af1dad427f416d3d55609 GIT binary patch literal 226 zcmY+8JqyAx6h$2*^#jB~Ty&7S=wds+4pz}Z2SG%q;E>kX24hmv7sP*W)InS?_nv#2 ztrH9m8=V8J)N{wN)EC+pB=vhGt4m}>y(B=kN$O9I4}r)Hz*eC^!RzU-5|Jc?9=&Lkp7 i=)_kcc^HPYk^0_j?n0+FmLd!As~5PVkKMv#@5u{H+(r@r literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Entities/hashtags-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Entities/hashtags-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..0b00bb7f6e00c628a8f60f615835353294652a4c GIT binary patch literal 322 zcmY+9K}*9x5QRO+MlFH|Zx&qQrC!>cCn71>&>R9H?P>9_Nw>|?bT`he|B7&{s;_`wk$K`-3tR!6@q_k`v6r_>%dQD0e8khNZV6D&l2kEGb@kM_ik_ z^&7=Q#rbUrcyB#&R6kw?U~7?6qa8n-=X0|BXmQU{wkqOjhKf8IF6M}`f4j8k0hWX2 l`}c{5yKJjll_ZI{D&lDJ8p7Z{Zgn-I!GHF*V~W-3XtDbX zOzGfeZpt+sd>lkJ3dzQwQjjvFS z6{pQnkc0Ci3BNs#hP@-nwdrMhdR(%TM@I({i(MApC4}tBO0^-j+!88f!E8@R5DhRHZd(S=f z#u0k^wax*S>bd23(`VWhBn>*{v&gh87X-*ANrU0xArQF**eDbzcsc$xB9bJ~HdQ7? zu3_-yZJE7S2Ef6qf-Cf(9UEq`q(p=N-`O$Cu9le_iJH`%_hZYkvT8(ET1(E0{ahzyYslqq6xQkPhD>~KD-%D=ChszcYO z@7}%d{Ne|0zus*FFgHUfskN)>MzJEkc0*TN?HI5{Uc~pyts;^LurQ=ZN%wFBQkLg1 z>3ywLW8v=5Rtnts9w1cvP8y0}lJx?~Rm{Tll=&1W{!sKSOE0Uah(9u8N%GP=;>tAI zuOtr@XMR$q3TkGDqUb9na=}hRU&0Tst`;Tg9C1{YV7E8R@HxxArtF; zyzldn?(k{z=?{qS?tiWM5@U{-aCxR>B@dVlk!Nd1uNP9Pp-tbMLXb0GIBKfJeExjhKj v;<)-YR+nWdK_)kxjkwtEMViFVk;uv>PiFJ$EPAbJ3m(ix6x_%QYOh%rGH*yH literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Entities/uris-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Entities/uris-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..95c9011fcd2c8f44880b50f1a28ab1b76007f131 GIT binary patch literal 334 zcmY+AF;BxV5QQ0#)6#{3tsN}000Yf@K`51Igoj9|YNv=HNnK(!wZr+WD*qlQ6+_qe zp1ynUZYMi<*nHR;U}gGTQDgVTy=GEOJ!;2*tura++p{K82(UJ!Nh|j_x(UlNn03Bt zb!}mO;p8PAeFqSr{-g{=FiX1<$ra4P;yUwHV)=t**RW(-L{faF#**T>cf_@+TfbL4 zAjXqH;Jx+8QT=)q0tbtn8twRLtj)>tv&ADz*j9>{6cu?iyjUTY{oD0|9$>eT@83ff w?$U#9RUF3!8#;vHtqVqGlSve6-6XSEis-A&vU1F;^i3_v$WMtD$Yk?W;wml5DYj>`Vsmx#RFVlP&nziPEwZw5 z%`3?)$xJO)hDckpxw%HdmET9cehyHVSBsU z4&c)NYE3WukQ-!zue>uO16Edor_C3Mv;!!6LP9<6CwgX81bc*TE{b&_NKXQxHitYOp5dnjrprQ#$E-_uhL? zvweiYVXH0xYx&u6{ZLoh6D0BarsQ~jajAup<%$4_;>4S#Z=p3ufXFVi;N|2m7mzpx zr!ZMAE(%6<_m1Jy6ae;-sVZCGgat!gQlh~9&FmSnJF?#06&6$rl!BN{j#i literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Entities/user_mentions-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Entities/user_mentions-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b2ab3d346ce1688a5c642d6736231cef6a0756ce GIT binary patch literal 336 zcmY*V&r8EF6!svgx{HW6cL>#kUR?3`D$;=~_D~SnPDLc`G8@(<_2q@p|K7ynq1TV^ z_vzUNu0LK)1F+OXDXBHv>Qb>HzH(OL*FkDhMq37Kl^5~d`lyH`0<1hvO4{2gEoFHQ zv)j8X>3x*NQvR)wBiW!(sIqw3+H;TSx>3J0u@mr=1NnScjT69?kCUFTGsvk`mLL9xa5DU8aL-b-E5IKB7o z-o3km-KeZ-daPscBK>1@ oK&X#T-BE%xbJEjLPq4^t#_HW~V2u(KCn8wkA=v4i*TV)((J~+~f^v89a`e42#={yMjV1`I? OQ2MW^tux(DvA6)n(p7-~ literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Entity/Symbol/text-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Entity/Symbol/text-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..a08146a2d0c8587f8e4f292d86eb20caaabf7892 GIT binary patch literal 162 zcmXAiu?~VT7zQ0oQHk*ZoW$KSe=eAa34;sb#6(F=8Vha8-zaZyh3S^d-E#HBuDqHS zxDdH|tD+)Vll&3`%Wp+;s6L8FIw0>!(Fi=oP8fZhoHGjwD_J07>xEXW!G7-D8~64W o2yx%Zo+8AVZ5$2t0-Nlmv`qhftpum}!GjeRe3%X=CqlRS0c@u-hyVZp literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Entity/URI/cdesc-URI.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Entity/URI/cdesc-URI.ri new file mode 100644 index 0000000000000000000000000000000000000000..9ee5eccef1a88f244709a2d9bec6f3a64987ada1 GIT binary patch literal 231 zcmZ9FF$=;l5QRHPTH4x41aa#xaK0`Dt&l;7Vy8?oMhK>9NUw_j-lXCp2M6zcckeBd z4%Y2q5CG@F^<3{YA4gUwLd&FUDFMZQRLvf6ToBa0xd?@G%Zi{^=0Ov_Y+_K?65=5OtE)k=6CLt)*3QlPxeGPh1W YIm#etxm0FEZiM{3R%rlLHt(E8AE2v2FaQ7m literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Entity/URL/cdesc-URL.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Entity/URL/cdesc-URL.ri new file mode 100644 index 0000000000000000000000000000000000000000..91edc69b4bb4d071b80f276858d444e04d2731be GIT binary patch literal 231 zcmZ9FF$=;l5QRHPTH4x41aZqRaK0`Dtq@R$qEn_ABLv$fq*uj%Z&GoQgM;_JyZ2_v z1(wauNPv@ZooKhM7zSQw!f0}74g^TOXLNObX+-4!>K-+|0Rk(DM~gocTm$QG=25uE zXaRh|*r^_4$SNxw4m^Uiy6aYLcr;DSV@6XM+Cu_QxWBdIwbjz|7z*nQDv9bg$=o{q Z6sUq=bgugWMK9IwwM+vjvuWo%`T(T|K{fyY literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Entity/UserMention/cdesc-UserMention.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Entity/UserMention/cdesc-UserMention.ri new file mode 100644 index 0000000000000000000000000000000000000000..89489906574ec471450a173855c2711af8408f34 GIT binary patch literal 357 zcmZ8dJx{|h5Y2#`l9ZAGu`uC2Ud1REmI+?%qX}!{(2kA)Tdo9u-u+la69AS8#uLDQPQw!A z;flf%I>OT>W39s1!5DYAK4mhKxy%JGG<|?n psY%`xgu}vz5sgN3Jg;*f?6*Qgi{N+GMO03oqy9uqN#|xRvtOZ9W@!Kb literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Entity/UserMention/id-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Entity/UserMention/id-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..1225e35ed8f2ad72a8afd7d085bfc020a0f639f9 GIT binary patch literal 169 zcmXAi%?g505Jp?XHInE7+F8&pTYqf~GH~HWbmb!axxtX>`rSsu$3w$Yn9eHHlJQ62J<31=}+p_9mKMx=7Fwb=7Nz0x%# literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Entity/UserMention/name-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Entity/UserMention/name-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..6d3bdbf2e900faa31e4008b8e676d09ad6735814 GIT binary patch literal 173 zcmXAi%?g4*6h>RbSV{B%?F?#{t-m$~8MtsGx^f|-OfWS5Fy0}2`>wgVT=>p8>rH_} z_Us$rL1fFl_L5-R$yN!7_>~0b{HuwS1>%l0O+Ya!n<{?#?(`qt1@A;A_`)AtZFJM) yxJXlJKW+fH;97<}_|YIOjpYiv=&g;qF?=z)4rvL6vzn&Rai*FP?p$rn_WTFOXEx9P literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Entity/UserMention/screen_name-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Entity/UserMention/screen_name-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..6d33c6be8d92a2fe104ab0559d81f9bcc6e9b532 GIT binary patch literal 187 zcmYk#u?vDw5C-suct#Snx7pBCHeZWD1`aNwlY>0vf=Bw4^B&=U--%1paqxZLZ@npC zpFR5q;K5Ag&Ui_17#l*gmDL?8Q1L4XF8S9mBLT#g4Nm~Yh?Jr{y*>Ts?@Hn-Q*yx{ zT-}*hX*D;!Vou*3=;{UN{Rpg-*0;t_XLfTGsO) DmdQMv literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Entity/cdesc-Entity.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Entity/cdesc-Entity.ri new file mode 100644 index 0000000000000000000000000000000000000000..0b12ea1e98eff7021a48f5d8fabf3f99a7026dbb GIT binary patch literal 387 zcmZXQF;BxV5QQ@!J0zh4LLES2@DCuJ&r1Xp$r5FV+R2mS8tH_aM79Is-(#n!NOZF9 zdw%bo?jqm8vV9&jz}w&s%05};y<8v>tX%g2!#4r4ei7_u`-LGG2k?tIiS+tJAC)&G zvH|Xnc^l$7*!=se(y^U{~1tpn5$Y=g-8;B=bsUKc41jUH||9 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Entity/indices-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Entity/indices-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..67aa582b16acbbbf0e1997b131a9e873ae819c3d GIT binary patch literal 153 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!$;?a1OinFkvtn~~^Hh=vDbFk^NiDLna?LBr zEU8q6Nn5i4W!Zw*fV35NL1|J>W^%rjG{iLD#G>rd0xK(^(WSYmc_r*t+zthaMJ2`2 j3|3qYX_+~x20+bHIhjfNB@pBFfvSL}>lGyd4GaMQrd2Nl literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Enumerable/cdesc-Enumerable.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Enumerable/cdesc-Enumerable.ri new file mode 100644 index 0000000000000000000000000000000000000000..850befb4eeff280b32e17f793946936845929a6c GIT binary patch literal 296 zcmZ9GF;BxV5QQ^TcAAz}uz-Zb;2%IUpO*}6BoAe%%5;S^{TaE*NABPHr&`s~& zz3<(ue1-eN)*FBqA1~VN{b_WBE6bEv@A~mVQFo3QuwARf!|~ImL=oVRC0Sd0c)U{f zI-bV>kdZmtCk~4y=$Hm9plaT%qZ*4m3`-?$|8u4qH6h&Rg__=V=O|eRtZgitrzfg#vfmsM5b~U(|#Ah>fnhDPrivQk3rO@p? zmve8s`w1`mwa)-n#dV9E`;#77p=1wDmJ1M@M9InF*D@mkY>Mg!$)pb7?>rJo0)w(j zoy|OqAEvFL@2Ui-wROAT4h-Vb5MQ+L@boy8UW{^J5p^um~R?n+bUtC=Skmnxc;quMaFl= zrW6BCqK7@|mWr@1sSYtrdmd&a zVJd@rH5R literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Error/AlreadyRetweeted/cdesc-AlreadyRetweeted.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Error/AlreadyRetweeted/cdesc-AlreadyRetweeted.ri new file mode 100644 index 0000000000000000000000000000000000000000..fcb5f3969f42faa82f08818a13a0d78acb4b31d8 GIT binary patch literal 387 zcmZXQ%}c~E5XJW(Y1yxvf+$i7UR}Z4(8G$9ddg|qjyBkB$~3k3-FQ^Lp~kfG~v`P=)9jBku> zCA^%(cPZ+Q%4n#li7?7MZd73x;glfC$qD?ELy8RM+gDvv5}(&P-`FY9hJ2tK&K+SU z=eKG$R-l3;o)`Wy9$kgXLAHHf>%!>)tXnpg3U{G#T(+z~(2^gLc%_@pVpGufs$6(M JF2{GJW?w#?b<_X= literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Error/BadGateway/cdesc-BadGateway.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Error/BadGateway/cdesc-BadGateway.ri new file mode 100644 index 0000000000000000000000000000000000000000..690606873ddd5e29bc36cb1124e2454ab94d35fb GIT binary patch literal 383 zcmZ9IPfNo<5XF0tO-TQE6GXu!AHWvDgOf{9Tg^c!HJH^?Z(@xe8wKPV|6iegNds#k7i@p42z*g%tzRG%KEfTV6VU0$og=>g1I(iRJg> z56J((x-r=DKnqV;xH_7>X!`6s0Po!IJrTiV)oEgfJP$C6|raE%=yefg#c@ z?E;aGmufUrq@pYtm*H1J02M2LYS-@?Q+hpuc}JG9WUPj9+L8IzjA6)+V!+mCOuMNk4s zChuk5Z!WSAxZXay8sOd0LEDwp-mAG`g}ho>gKbz7Iby)pFNGB4(S(2mFuVf%wd5>1 zE6zWNRzhV+NnkHciyX$oF3mvf$H@r1ko-i;>xNxIv!Bp32&tBuD- z9QWA%G6=%ZQ|pBmkEfG(Ez6DYL5JRp+BFy%N*FJ9#$q9Ftf>~^%)Y=h&^=Yjk&hqL zXjokFLXPV+e!^FoilALzSyM-y!@MIGunyP^<+LO7tplc_kTcW9=(bL&!`FP0gnT;e HGd21FRy%7f literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Error/Code/cdesc-Code.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Error/Code/cdesc-Code.ri new file mode 100644 index 0000000000000000000000000000000000000000..91c27297c8db7b860a06e9eff96ff6a4ec7c595c GIT binary patch literal 1191 zcma)*-%r~x5Xbv4r5(StU%(hJmA*rHc3v=v!>pxt<~VF94^~JGL~ENUPT9Y|a|@Fu znQ1SvqWj$Ue0N{J8f0i+gmsA!tJ`@oo7B_gOy@h5M@O%Nda6C-k%*2CS`#Xgz%By2haKc&Z=Iy7hg|%6dMY)}FR z>V?t9^F4_+F7B$Ch8||s?f5Bgji0r*mhd;u^Im?C59sI+XYvbSk_K2(&Qv1!WlSbO zMNduifWCNR*?mD$o{4}c#-)mQ#zH5zmu6`~SV%&Jg8(q;#6E;15d`W27vMN{LLUXh zRZJ&TD)J*B1XP{iF=f{{rlH~jz=R4=mHaDVPWo+{#!8THndO|sNyact0yNY$5j46{ z0ibqLI8L1z?>KZ z566Pw@J2=WnhOf^bYjO5k7NE_J=3;*DDeXQ>52Z2(eHw3Bnj*u;l?s^k7sW+o-7If zEYx|+-7rgH>qhb~v7<{2=K9;ZAdH=opJRSS*?Nu7K4&jGX&0=UaM%V L;BT$I+j;LdFM=uv literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Error/ConfigurationError/cdesc-ConfigurationError.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Error/ConfigurationError/cdesc-ConfigurationError.ri new file mode 100644 index 0000000000000000000000000000000000000000..ec58baaa83d194b67fb33fb909a391f715791143 GIT binary patch literal 258 zcmZurJr9B~5M?mMATl`U;Kt(Wd@LH&gh2R)BX~ecU4*mO<8aH#vCGYFrjmB4) zpLbRQoGd;?TehO>c&1sEFG_1_-Sj9(TeC;B$bjt+Rld5sHIYJqzykbn7R(!GTWtEL zGW1P*&cgCrcNF;O9f0o+ju<8zCy+WGL9(fJtJXXU6Z5#r6FEG_`~^Pd-s}2XtEJat k$Q)WylGHuG)S-R}QUj>+sWu%6Bh@cjB!f^)!cKYg0a_(^b literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Error/DuplicateStatus/cdesc-DuplicateStatus.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Error/DuplicateStatus/cdesc-DuplicateStatus.ri new file mode 100644 index 0000000000000000000000000000000000000000..96fc7f0d80b920475bbcd07a351333a8f7d8fac8 GIT binary patch literal 382 zcmZ9IJ!``-5QZ}p+2m^~h0;=l>D*+Nmq3$%hlY~6lcuwMtwj|}oaCDR`$`TS8U%M7 z&#U`*uhMsMbKII*h=ZXM=w}Vi$)#dNcD?PbRyBBh^Wb~O1l#S4?6Dk__eetQh)hVA zvYZ9g!=-9(s8UUX9ShuuyYtW&ps(JB9;WV3*!e`vHWtV`$xNOkc^a~~|F3-of=>e5 zvWSapeFWvO;X{iZ2VM?{p10sQXhLXyc!dF2<2*KDcqyiv52dllZndgb{(Q{}<1tTE zMMXYc%gOi>nH1Tyj;6%DWh%plwy%OOfhS^V$#|?o=dqkyQs2R_SQObpb`syTBGor6$Rc~* zD{Zmn#|FEzF(-5bb(XsZ`D;<^xOK`6mRF`m{Z~aHmKM42d47 z3`CwR{P)GXc5d+*NTPq?O1?VK4-~IzBkNB081k4 z%L$bV56M&L18IlUPY6#~xH>F-)AZA|0Nz2j#fBpoEm}?Nl(1| z*9=3fTPgyP4(Dpnzeq({GAzS&LI4#jZ?)};+LT_8VA_&pEE%i59k*n5{(Payl8I^j S`liI=XgUf)I`0388vFrGv3C3b literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Error/InternalServerError/cdesc-InternalServerError.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Error/InternalServerError/cdesc-InternalServerError.ri new file mode 100644 index 0000000000000000000000000000000000000000..dcc414c36e1bdd4c49a3b1ca5a9e5aabff4ea50a GIT binary patch literal 401 zcmZvYJx{|h5QaM-r|Q>;KrmRDm}nLT&Pyd|g@>Z5gvpbW9MmGUqqEcgeVkO403l0f zo!{sD-rdFU9WJ-et^{~>wAb}ht-V(>!(@6TZ9uZRenUDSEr}d4V9S+E@A9JwQ3U8; z0scb;izNR`{`@Qw4sK5NYfWEm0}y*@_h>@`<3*z>c*UGZ5;2T7-2P@an)D~>X2&{N zrjJ`~JXZX;Lwh#ngrOztdDtO;$@2~OL5J4!(pAVGvWy9q!)WngYLw}9ZHjp~4L8Sb z;(IDOLX0vs=ue^&nU2bCPf=K@p^B|GZBd&t>IuvmaskVLRi928G6x;7OJq7VHrm?~ P&!uAA31ZU6sTzC(ZOD5J literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Error/NotAcceptable/cdesc-NotAcceptable.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Error/NotAcceptable/cdesc-NotAcceptable.ri new file mode 100644 index 0000000000000000000000000000000000000000..eba4eb3a95edebaad4057d2ed91c30bece178952 GIT binary patch literal 389 zcmZ9IPfG(a5XF0t?9zV+4}$0+krbbjSNA|H7VKk*5Zp&;84~E2q&AjlCkQj5y5l5@!rOA z2^AzV^gpvU8af;XNF*%3J6V26|I<6pqkn&hM8+p8Cp`v1Y>{O}9xK1UWOvfbZ!cX- zl3cRqz0?63dTgOP8&eP1`z}yyfxcJOjs}$22dZoX^l|wVx2X7d^`#Az?AGXdfu~pt zNU0utorq$*6rF;% z|Km+#u;oE3yu!l$#pq4bSKk46*Z$-c5lq&dCU#2LG>X#LcX;@#J!sOOq`O)KoF&gk zZ5&qeTw{ARmW13>>m=7GU-SGR9c%8LENz8ywOsivau}~aOoLf+*O+3#mqZH;fu5)c zigdhGqv1s=%93#zE)oK$Sou}EzGzJ8c?9#0EMv)74db*U^Q{@f;IC&|Z{L=9{hCe! KNT)-csnHL-&~d*2 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Error/RequestTimeout/cdesc-RequestTimeout.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Error/RequestTimeout/cdesc-RequestTimeout.ri new file mode 100644 index 0000000000000000000000000000000000000000..5093beddac38e01f34973bde1daba6492efc21f5 GIT binary patch literal 391 zcmZ9Iy-&k15XCznC+gRNgoI$Q!cIFdz-6gaipT(}sxWzSlY?5MaX6ppzmJ`&1C=G8 zPVaZR_wFM7fUC{3tpMIF?RB$kv~y}|M3G%?@W-R$((KWC79dtHMRr#n3^NkIipYj? zM&%+v@*G+=23zhYL?A5O9GAXn`t}__aNzfWNMN++G_g~{=1G#Lp~CHdcCAT&k?wXP z%0>3H(Z*pd4?Ap6izOj@YMtaA%Ga`7OUIhMla;MeKFlA3ixP&5Pt#zLT{mVs<72KF z##r~XjYK}2t3m$~l@!^qir0w&RH}m2&Tku21wDajN0zZ-towG{k@?k(u_>~NX~X)q Q!qaFzib6i_|A`v>0deAY6#xJL literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Error/ServerError/cdesc-ServerError.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Error/ServerError/cdesc-ServerError.ri new file mode 100644 index 0000000000000000000000000000000000000000..a156e006e0eb9a0fb8399698bd4de11727e6ad0c GIT binary patch literal 360 zcmY+9PfG(a5XF0t?7IDfCqeWO_5)ZiB1|p?t+{W5Su-&5zf;*X~je=Ey1cV7A4@!B*P7)r<%Tis%j-?X}#`!o9-<3RURMTf{9 zjK|tzGn5lc`k*|t<8 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Error/ServiceUnavailable/cdesc-ServiceUnavailable.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Error/ServiceUnavailable/cdesc-ServiceUnavailable.ri new file mode 100644 index 0000000000000000000000000000000000000000..50dfd7f30d1261739a17cd0ea79d989c2773a721 GIT binary patch literal 399 zcmZvYy=%iT5XCbTIpk|>DeWMFM&w?6bpofyVLRyNxy9a5S+9JtbGFGWh2Qu!EBZ!*)UYN|IcnD$sdx< zo<%uNU$#;^toU({^?5NT^exqn`#th?QEa&L(zlK)TOog5JOvj8jF#WpV4mI@UC#X} z+ZjFVh)uO;%QHtWVDNEHqK5g{`c;t^k7-o zVR*k`-kXczJ6vVYwgh;ywAb~j*3PM!5ovsxTf5QCZ-(C;I(7oY`X!C;@`GVU0$3AS zU(T^acuJmAtJ+}0{fO{{g`4Brji#@z1@Ioay(c0VFI!FQl(0z@B|~4~_CLGTq(4cw zI}zkGUS!%htmI*b&1tbDpwX-fG(wwJE(G!K@|ASTa_9J88-MXvWZ_@zgYa SeN*CTG#LjWne_iu4gLUgMt8sf literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Error/UnacceptableIO/cdesc-UnacceptableIO.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Error/UnacceptableIO/cdesc-UnacceptableIO.ri new file mode 100644 index 0000000000000000000000000000000000000000..c53c7e1b2956aab2d8b09eda045984731abcbbe1 GIT binary patch literal 406 zcmZ9IO-lnY5Qck@?9$qT3WDe%tOsw_bM{iuihJ;b+MaTd*<^Hs+hj>*yMN!L#e)*a zF!Mgi%sWTJc#)4AV5!5YKuS~GzV^v(Q2SbEjh^6-~ zhJRGaB6RvrU^RHXXIQK`ad~L-4F0?Cgor)+En3RNWYK}AAek$(tjuE+SAW?z@bKlK zYgm%2;%NmYpyoq^mIGf8h{TOmZLcx#EouXt8X&G6275!ifgMJW+=p>dr^e|x)LM)e zpC)=ME?QI1>0oS*$=9u~6H$)uXM`T-GmdFTKD literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Error/UnacceptableIO/new-c.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Error/UnacceptableIO/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..cb434406782d808fc44d81f851f1b6459327eb45 GIT binary patch literal 170 zcmXAiu?~VT6h#?KA+k8Q7`INi2=jBnL`XUi69W@dTb{A8woNS|{=E>UJDi(yHc1Ej z$IVKBtNAq;UUukriZGfOoCuJrW;AOj6#{yI%6mIcXSkH;0v8(D9bma$NZmr}Mxm9o za9o`Y_wUgG%z^QPCd81Ij{ETKBiNQtrLicAK4LV^PK$xjgH|FBYcIzoclKgN?H^m1 BGu;3H literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Error/Unauthorized/cdesc-Unauthorized.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Error/Unauthorized/cdesc-Unauthorized.ri new file mode 100644 index 0000000000000000000000000000000000000000..ed6193fd6f16081cca818efc14778709b0844f1c GIT binary patch literal 387 zcmZ9IPfNo<5XF0tP3b@IB8VQ=d;nX)i<3*CR+@uSN_yJUCK=6QnhmoP3x0ZcQ+lWj z>@d9F@aFB+a1S@TS6cvlSUTu>Rcq(e%!o9;-Z#4A%98oTQh->$rSU^{G|Wf{gThBHdOZ z$Z7nt)5c*bj}QZGZ)=m!`IKso zA=D$~fk;LRHRvl+Q5uhm@G~KR8Y+Kk+vT+>ydJ@Fr@L+G~T`` P@VuIggOE)6cd7<|2uF2p literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Error/UnprocessableEntity/cdesc-UnprocessableEntity.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Error/UnprocessableEntity/cdesc-UnprocessableEntity.ri new file mode 100644 index 0000000000000000000000000000000000000000..0d19a50f28f9b3cf2207fc6f6623ff2264a45526 GIT binary patch literal 401 zcmZvY%}WC@5XF0tZ0Xlg6g`AJd9qTxID0A7O820YvOVRLO-CC{lO>t8_}`ms=|Pb| zhT;8&d2cTITe#djI|cCO{6U(9ks*kQW@Uc0wT*WQLy)z>r6o<@4A}Ce%j_ApigX literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Error/cdesc-Error.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Error/cdesc-Error.ri new file mode 100644 index 0000000000000000000000000000000000000000..1b3a84226811348494f28c6b8d9e62b5c9cf9ff9 GIT binary patch literal 623 zcmZvaT}#6-6oz*pXZlf$J(AVdRze$19~}o?U3Q9Qh7@)FxfSGE}hs4Uc#~ z&vpx2N>p$lG7l$B>Sn1`F&iHR{{V!S3#}^UgF8NDNpN;~j60g(+t6^fnW~4eXreW| z(;!9p^K6}$<<^pusreA5kngsEiO|*7qQg11e+b>TrSx!y2szsAg!eq=5lfH`)uf%b z#X}|(&T)N9RhH5$D(Re9ckG=x4C`Fra%*c`yO2(gjr-A&vT`gbDT?OJWcO6!OwLb9WwT;)b@Nn`2r17jDM>A|vT`jd$}ds| zOIfo4W!Qq)fV35NL1|J>W^%rjG{hL+#G>rd0xK(^nWed@c_r*t+zthaMJ2`23|3qY eX_+~x20+b{IhjfNB@m`912!xMA|$`jQ`#uF0OZ%@4n&a z4D-`o767~YopN2uE1e3GxHdlY1SEq=coP-(eV+~z X*II8(Xp|O}$UWU_d0(9^=H31SMCCxo literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Error/forbidden_messages-c.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Error/forbidden_messages-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..f0f078a1bab5c064e9c5a70df84bc76addfd748a GIT binary patch literal 184 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMtD$Yk?W5>Lx7O3F-0NzIGTO)V}?OiwLlvtn~~ z^Hfp~DbFk^NiDLnaxEU1v6TC=%@SaBDWCgo%%=UYibZ17Di$}TOivI1IHnwy$e z!fwUwP>@(uQXI`-#pRHenUiW@U=YpVsl=|K$p$pRQ%N!>GfBS$Vx4{}$Tq#AB%o9X E0B=J&OaK4? literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Error/from_response-c.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Error/from_response-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..99b51038635cc150e1c0d69caa3d2220fbc9b39f GIT binary patch literal 368 zcmZWlOH0E*5bi;?wLK`}MO0Y!R1eymCztqWaKS<;@wA9++NoWd?1ssP(tqEi(L(Sv z4BvC+Z14%!i#N9fc((f)`i)zuOT(nNT9eDa3CqIS5*e^*EQLsR#(N}yDUqv3mlU!% zfl*PVnOQoxZGC5&wp9U8hg3OQ--l6DX!4~RIJoO_=9=^m>0-meb5)mkd?nN#x#kvk z9GgtuL~?EUdy>rgsb9#Fe{L_Cw%ZS5vFE~JFMQexkI24$HK5K>z>% literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Error/new-c.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Error/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..06957cb7cd4bc7360fa7a1f608e545eddae62a0b GIT binary patch literal 429 zcmZXQO-sW-5Qck@*pG_`4}QWB4^=2O=PiX=Y;nPYXgvjyO**DyH@jgop?=_hH)*R_ zJk8;qd7k0jsXvPS`)eBuab?~o$a6aj_sEle-Qdy_-e@fSgXxl((Frkf&X%K!dfs>{ zT3HckimfHNsMOCJiwuO&^$p zg33#rNj{4sC>SOk2Y~^XC*`$#suB(sY5QDfpEK;RV{IT`n^Q!|Zejg0!i}hcJnxZbREAL{}_@#@g=o>zqhW7vf literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Error/rate_limit-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Error/rate_limit-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..6abaf039d19924bf655dd50716b1dc3270872568 GIT binary patch literal 157 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!FG?&)jnB!<%`9QFVsmx#RFVrR&nziPEwZw5 zEh@?{Qbtl>%?6Zb3t|J(R@?=pNjaIx`Bu^pBYhK#vP%oBtbpd1=BDPAuv>9E6eJdv k6h|{yaXF-A=A;?`HB07XCh39U5bQzH(pGPJ@s%qY9S z?6k2G;9&hzn6(jI$0wRFTJD5I>puj@cE{-S{MLxd1N`}#1iCmjcO{VoU|~L3?S+5z z4j}mUPt{@y#mWhf9Zw)%-Lz3lp8O`|DWkcJq0xb7JlwjzF>RRoNVb=#q6rTS;oc@*m6w@aRU0mFbw?f?J) literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Factory/new-c.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Factory/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..aa2d3a74684865c8af280139af4bb27b05c0cac1 GIT binary patch literal 470 zcmZXR%}>HW5XCu|ig5AZL50JlCrt=&USd)~h)u*8#nXnvv|Z>*yW7legN^Zjw_h}STq}rEN z4x$)0OAI{{HYWxA_e(7oEbm;W- z(|eK@#TVRepREM=u>LIclNRI1D`b6Lep)odfW5r-_1*3ViIfL;Qx+hhmIZQiNmyuE zxKD}i!k;Dw5aOq^GL*xzbHdZeGbp8kpI3<^cwraVSTGIK~Vo=5nLWE9EYF8ay-f?{r{r4%(FFfxgC@{Ys zO#>X-Unc2kZskld!2?|p13RUHFY~V=k`6da16+)1X+7jUOH+iltF>wj7Ne6@?$ueK vN4vLd$w!#j%F(CvFiq}C%Q%ipPjG*;9R$HwTGbJakLV#yWQW7f)qT$YPWUj2 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Geo/Point/latitude-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Geo/Point/latitude-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b817402adf2b3de1eea57e8ec0be6f86d2872499 GIT binary patch literal 250 zcmY+8K}!QM5QRO+?CK))P`s$1@uHXRo+pgQ@j)bnm zDx`k2TaQ;q;>yI26c95$eUjq>t2UU(Um84K|L?3#G($Au0P;-d`^z>Gr|53Aa!doo zcaX5b^LB4XYMMraE|e&$ns9&^- BO0NI_ literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Geo/Point/lng-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Geo/Point/lng-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..fc0154b21bcfd78ee53dbf0f6a05cff13502a0a3 GIT binary patch literal 162 zcmXBNu?~VT07X#-Q-~}MZt7AOU4;3$V4|1~B*x&>39w>gZJSzR{CgqHH#v6_-7vo% zO#>YCuMqxe?tCT*qmj}r0XgN2F3YdkV^)8%WVaG)$t7>&W~TTidu?d;!sdF=_w+ literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Geo/Point/longitude-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Geo/Point/longitude-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..97127e1da5442bbf04424b2feb9a24f0612de8cd GIT binary patch literal 276 zcmZXPF-rt75QQxy*>gcG4jUDY*l6Q!J!w|Zl@tfZaaO@1dpEZij7f+S#D8y=D@1JP zeQ(}-r`0RW*H2*!@aVsnNQbb~7nUh;?t&jJiBbM(tC~oB_MyGCk}NNO`=cD0$l%PRwkJ-nRsAwrb~g#E+OUQ7g~A3 z5z`x!Yy)TA-a2gCR&&jjm`x3e&<9!ZVmy&`QIx3Mzq1nj?tVg*xN&x9=(wjDF*I>n J^N@xq;s=gRP;meN literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Geo/Polygon/cdesc-Polygon.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Geo/Polygon/cdesc-Polygon.ri new file mode 100644 index 0000000000000000000000000000000000000000..bc8033acfbe7bdb4cd623b9195b25b50f5becede GIT binary patch literal 233 zcmYj~KMTSz5XC!4T52u0IOvv7;Cx*Q{v(4TqEn_APYI??NK?gcZ(1qH!NGgKyZ1)P z1!kwUkpKtdDxp_eG!4%cVKh4${dt(00NHFAouA*zdvpLhGynrENMO@{MuKHv@k`wc z_iQadsAwy!eGKE$3g;UhL0aCG#wCyXiFwRuD!cwJfhRoN+V-lI3_OP1I^$7#y!A4( bPQ8T3PB1!Ab>l@Xad<7#4iw{lXFU1>tn5Nw literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Geo/cdesc-Geo.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Geo/cdesc-Geo.ri new file mode 100644 index 0000000000000000000000000000000000000000..2b56099c6e9a9e92d2a9692271f3a0d22ee0fea0 GIT binary patch literal 330 zcmYL^F;BxV5QQ@!J0v9(1{m1<18C>-5&>ETC%NjMZzTSP8aN&iSM1Wz=DICHq{V9>&fZm11tK=~i)0 zU%hL0@4K{d$aFo?6WCtzYTGWcK!T-U&E|8I*8FHc-Nh;8B^LaAomMDP!77#C%tI`Z o@+yH8n!&rMRn*6+T@2oQrOR?7*oEmsl)aih{fBs+$9#dsFShVm%m4rY literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Geo/coordinates-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Geo/coordinates-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..c2092fb2c3d67c18e315e4340c8ff55a802c4269 GIT binary patch literal 155 zcmZSK2({u5a>-A&vT`gbDT?OJWcO4ONY2kMO3BPiEJ-b9vtn~~^Hh=zDbFk^NiDLn za!<`yMwYi`14^?6u>ol-?t;>!oXq5WD`|+4zKKQIr3F@2K=Vs;Q}asLt+*Wu5{pWT jqZzEY9MUp#QVoEb#d9)~^h+S->!+vY>lGydO$z}4LKQE% literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Geo/coords-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Geo/coords-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..e5bd41ef14e5014978895dafd5acc40818ef92a6 GIT binary patch literal 145 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!PR`FSN-1WuVsmx#RFViO&nziPEwZw5Pt8|` zN?Ef3W!Qq)fV35NL1|J>W^%rjG{hj^#G>rd0xK(^sinE8c_r*t+zthaMJ2`23|3qY eX_+~x20+c?IhjfNB@mHijsh)g#Z8mr7MmA literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/GeoFactory/cdesc-GeoFactory.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/GeoFactory/cdesc-GeoFactory.ri new file mode 100644 index 0000000000000000000000000000000000000000..008cf618daf24448931e9d2743725334a94f0315 GIT binary patch literal 283 zcmYk0L2Cjr5QX<3*=4nQsuX$<@&l^p*^6Ln$)O%ZPdSuqI!Z8ZLUy*|zi;BAl!1Yn zZ|1!>DE2VjzB>)DapA1&%Br@NW5WcWe4<+`O)gv+u#dIiFT0B&!T|6ORV*J*SjoxpPy?HzO$%fPz~_tIKo#7ELgkyy<&V!NL^ z%MgcU6&EtmIO>g7g11$P*tk|ZQuYXkeks_R$kll9_vS^g$XJxQGe3?R>iAwOW4TH! z2xth9kp>-qP+}Wc_)mXV2(^8diVpOA(0aImciz&(4urLAAbJueU$^4G3w;*S5JZ7W z>2txXc@5owZjr)1Ck3V|%R*8Lg0n6GNCP`*j8s|k7TUTb*it>|T}M8Xtyn?yyQdC` q1Aik6n$2d>LExQU^)KDP*Y|a=9Tzg5+P>atll6Vm*E`|3J@^3&@r2(1 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/GeoResults/attrs-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/GeoResults/attrs-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..cc5f5f9a3c572cd9a8eafb7ed643976488557025 GIT binary patch literal 158 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!N(3^C*{s-H-8_}#Ldr8sN>YogtlU%cgHnr2 zb4rSpAquS7fbwiXY(UzIyPz~FCo?(UN*ZFCZ(>n)X@Qj$(CE_K)VvaQD{hB^#G;bo nXa*}ThqTO`R0E)9`JBuo{St@;`su0p@kI~|^oo*zriK6juDUTs literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/GeoResults/cdesc-GeoResults.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/GeoResults/cdesc-GeoResults.ri new file mode 100644 index 0000000000000000000000000000000000000000..1884faa8f4f2342ef231308a71fbf86379c95a00 GIT binary patch literal 413 zcmY+AF;BxV5QQ@!J9SE12?-%FAmsei!dn}Ojxf}uUA_BVuQQO>6#`2k}aaP0s9 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/GeoResults/new-c.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/GeoResults/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..4eea229e7cf898226758abf71086fa1736397daa GIT binary patch literal 345 zcmZvYK}*9x5QTe?G`1H74}yxzp6bQsJVA(}tqT^U#M2_OiDR>NyBl^V6czuwi8+Yq zdER^<@9o47aIm~~CBUV9TOd{LS?=jb@Yv!ug6L)@_({IiMCbwL=$057Ljj<>r_n5j zaorR~mky44&_eljQvtH`l=89J=skP>RKvzcD^_{jjaOtRn4Fx~!v}(f?kq=DXs!%<4&w}&JBQ@SK`A@a) q42-fDZ7@j^IS_n*(lajD$LCp(I5oPMQa{Xeh3?7s!<_q~3w!~8V{JD8 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/GeoResults/to_h-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/GeoResults/to_h-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..54469fe966f0d9f0ff9b7b1516e828c179a0792f GIT binary patch literal 156 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!EXj}0V6$R#b@Nn`4JpqoDM>A|vT{$&4@xaA z%_%8X2FqKs0j1f3*nqSZcR^`VPG)kxl{CaG-^8Nq(gG_hpuwfNsd**rR@@E+iA5#F n(F|5x4r!S=sRlsJ@;RAF`Xvza_0v=HlGydO$`A69pNxM literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/GeoResults/token-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/GeoResults/token-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..99e3be84c773e054241ae2835433c9455fc9b38d GIT binary patch literal 222 zcmY+8F^j@L5QQy{_0-1VtQ3{lXrrkoO$3dk5F~1~h-|zuF2>z3nMM5fMpD^6-uvG7 z^LvE9WMwY^OY_xHQ)n z3;mk4Rdja+Km~RWG~9$vSSaFB3JZhp&Q6iaNEJ5`v}ASM3klhg8OuGBHrYu8;sEXN is&n*xUp8W|Ih|Euzq{}!J2}B@ zfcsPCn+;#{2*3sNp2H-R^=Lz!FoUB0B=6QJurNwemyAYsyp4jVju-RuVBssSCC-&3ku9EKNZ* lh9SB(x{gyNEXF`THoA1-ub_U4wr`Kyog-M#Ws>y*vwuLUT6O>c literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Identity/id-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Identity/id-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..91290bea2ab227d7803dd16e52d7f2ac30f25819 GIT binary patch literal 147 zcmZSK2({u5a>-A&vT`gbDT?OJWcO5J&rD&nVsmx#RFVuS&nziPEwZxmOi9fv$tW^%rjG{h9&#G>rd0xK(^k)^pnE$mj@4h4xtCB@MUR$LBg dnK`KjK+Q5anMwL35VQ3&p+@T!B>{~L0RS-3EOY<> literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Identity/new-c.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Identity/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..ea248c7b39d56c61b137b4772d098f8cd8131dd2 GIT binary patch literal 415 zcmZXQy-Nc@5XDo-c_xj5g^&otRoWz}CkPiY!36^%(Pl}pms@jVF1yF<9wCbVyZ4bs zQcdyR`@P|vh3|O%_GH(HQ*&5opV?GiQXrzx=zV~}Y%Zeya!=lCMii+wp8Nr^Rwu!H ziM^ssa#~yLx0r?EZCM~z%yL(`&#@O5ioKJe#le5it75fbRb;{BLROu(!jLDG)3@#h^l|_-0PC*@=Kn`}~9GML$14t=s^;Zm$?_0nir)1>Yg-3K8c*seu{sCFXg=PQ% literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Language/cdesc-Language.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Language/cdesc-Language.ri new file mode 100644 index 0000000000000000000000000000000000000000..76ee31c20771649c389afdf39756c1983d2611e0 GIT binary patch literal 327 zcmYL_OHTtK6oqGDm^xFd>7pB5@dK>u%Vy%E35mLB>WURZu^}=*cwncWKm0-A&vT`gbDT?OJWcO6!OwLb9WwT;)b@Nn`4k^zpDM>A|vhqpHOD|1K zPgMrXTC)Kq*@D=Bv=w(jX;MyRa=w)`#3bLuqU_QFD=VO}rManjCG1w*4h4xtCB@MU hR$LBgnK`KjK+Q5anMwL35YzQ@poZ%eB>{~L0RRBnEyw@> literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Language/name-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Language/name-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..1f32072f2e122e4e63d2769beed99585c970f9b5 GIT binary patch literal 151 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!%uCEoWwT;)b@Nn`4k^zpDM>A|vhqpHOD|1K zPgMrXTC)Kq*@D=Bv=w(jX;MyRa=w)`#3bLuqU_QFD=VO}rManjCG1w*4h4xtCB@MU hR$LBgnK`KjK+Q5anMwL35YzQ@poZ%eB>{~L0RRRnEz|%2 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Language/status-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Language/status-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..5ba55214d956f45af148ee13ae18c4f9e52a3e8f GIT binary patch literal 155 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!E-pzdDJ^ERVsmx#RFVxT&nziPEwZxmNz6+x zO-xT!hRR#B0j1f3*nqSZcR^`VPG)kxl{CaO-^8Nq(gG_hpwXqdsd**rR@@E+iA5#F j(F|5x4r!S=sRlsJGC7$^`Xvza^>d)c>lGydjSK+*90f1l literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/List/cdesc-List.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/List/cdesc-List.ri new file mode 100644 index 0000000000000000000000000000000000000000..9dff1e0c8d8a6adb665c1e1badfc250f0faa6b82 GIT binary patch literal 593 zcmZut%TB{E5X=ENuTlys1&NzKfc9)(A{8oG0uEI<`A|8Di!7Wt@&m-*W2dO4QBSL# z*_oZ)i{u^6)=#QJ=uPQ{$)#k*(6ImnrZ2)+fWY&Lz?;ptu$F6tdJqGT%?=o;d25CJ z0UlTAVej|K^r!0(^5(Abe2nsm$rp4)GXf_yH_=>rt0}WE14$os)9gvW5pyafP#0F$u(V!<&-pZKYgm2VB~ydN`k+ z@koty9|P^Jab*a6);pqrCIsFcezVk^Sysw^o5FF76B^-k;WNfGCNQhQ$HNMm&=_Yl zqA?nGT3KFMUia;&)8dO+9vT8KMQbc;tKRWXlm}w6KiF)Y7JX*F;sljPbb35uFh5}a RX_6CP-yJxdhiG_2qhG8{qA36X literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/List/description-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/List/description-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..a7b4a84e63ae6582054cbba463cad26026b04bce GIT binary patch literal 157 zcmZSK2({u5a>-A&vT`gbDT?OJWcO4ONJ%YDF3Kz@$;{7Vvtn~~^Hh=xDbFk^NiDLn z^2sbNQASo^%?6Zb3t|J(R@?=pNjaIx`Bu^pGkp__vP%oBtbi7j=BDPAuv>9E6eJdv k6h|{yaXF-A=A;?`HB01VCh3-A&vT`gbDT?OJWcO6!ODoOEiO);SO=YuUb9M7nk_jo#EGbDXva<5Y zEG|(-NL#Z3W!Zw*fV35NL1|J>W^%rjG{ijL#G>rd0xK(^;ib8$c_r*t+zthaMJ2`2 i3|3qYX_+~x20+acIhjfNB@pBFbAYDn6(s?U3jqMQnJ(%8 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/List/member_count-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/List/member_count-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..f5ae2eb752087409f6586d640dfbc3db0f254107 GIT binary patch literal 159 zcmZSK2({u5a>-A&vT`gbDT?OJWcO4O%uUTrN-c^{&M(a?VY6a$b@Nn`4=K+qDM>A| zvhv9+E>T8NVa*0qz!t;?q^-CMN|SOjlk=^lA*T8!7G;+fSXlwBD9ugHD`B_db|^?J lDk+X;u;Ow^%gjkN0BV-V$xPBOf!Ls*1GGS|C<$m>2mmgaF^T{H literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/List/members_uri-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/List/members_uri-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..9bb54b9b1faa6864f7851637277245eb1bb71206 GIT binary patch literal 291 zcmY+9!Arw17{xtEI_+f#4}v10Ugl-%`HP1Rv=G=pMt2HBk~P|3+LSK|;(u?-Jhi1XvG0TOB&rin$@YnD@F@8vT1jLx8;2ym)B7O$ZtRHpYj?{{}|t z8uBqJYmN@?PQZ~#)FI+P#ky@# zdoPvM0Q((3(5BNg2^t&?N!nC~{*_r0MjE)TK8)36SqdVuvne+HYsY3;O1WTp$%}09 UG~IY{YmHik)56unT%ww2zmsoSl>h($ literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/List/members_url-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/List/members_url-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..8ad99572d9a6d6b681b82ec6a78de1b32cfb0b31 GIT binary patch literal 167 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMtD$Yk?W639)>O-d~)jxR0BVY6a$b@Nn`3n|Ym zDM>A|vhv9+E>T8SV9n;{X2o4lnv|27oNpx!G0``%D7&=4$_i+FX>Mv>3A+`yLqTFu wNpUoT6_-O=W=^Vsfk8BbrxLq{CL7QMPbG<*%q0C1h%Nd#Kuh$Bl7KQH02K%`asU7T literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/List/mode-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/List/mode-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..25b86c263573926451efcda0a08aa2da27c14693 GIT binary patch literal 143 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!%*{_pWwT;)b@Nmb4=K+qDM>A|vhv9+E>Q-{ zShE2o*n-%Av=w(jX;MyRa=w)`#1!AeqU_QFD=VOprManjCG1w*4h4xtCB@MUR$LBg dnK`KjK+O_4nMwL35R>(DfClRoB>{~K0RVy?D#QQ) literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/List/name-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/List/name-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..012f46960b318b5fb72d942b4d29bb98102af934 GIT binary patch literal 143 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!%uCEoWwT;)b@Nmb4=K+qDM>A|vhv9+E>Q-{ zShE2o*n-%Av=w(jX;MyRa=w)`#1!AeqU_QFD=VOprManjCG1w*4h4xtCB@MUR$LBg dnK`KjK+O_4nMwL35R>(DfClRoB>{~K0RVosD!c#y literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/List/slug-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/List/slug-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b9172e10fc8319115867e54bc4b2586437884079 GIT binary patch literal 143 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!EY2xSXR~5+b@Nmb4=K+qDM>A|vhv9+E>Q-{ zShE2o*n-%Av=w(jX;MyRa=w)`#1!AeqU_QFD=VOprManjCG1w*4h4xtCB@MUR$LBg dnK`KjK+O_4nMwL35R>(DfClRoB>{~K0RWU_D)0aR literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/List/subscriber_count-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/List/subscriber_count-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..f53671edb7b5697469baaa3bc959a6c2896ebe03 GIT binary patch literal 167 zcmZXNF$=;l5Jnv&6^l3tf?K;==X0r`LP3{Orw-DD2#2u=mka)V4>~%1%lqD&FCMUN z&)xu>n5kc3))bqVbTow8($n}fvI2FvHbvQek=YW!4I`I-)KLkfS|tm4NZO(Cu$%1n of!-+qNGg5o$Qk5y7>Hv(gJu0fXAg4TI@A?UmC8wEPg-={4?Ki53IG5A literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/List/subscribers_uri-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/List/subscribers_uri-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..9a79998a30850d953eb0742a6acfaba6d119308f GIT binary patch literal 307 zcmZXPze~h09K{_ZJ?(PC4T26KF1p-x{$}Zc76Kl~(VK!CNgHi2HszZH@xM3a7JqDy z$K&(fJ6{}NwSVv(z;^uFnK<}fE-evk6_O4eT5T{K6Iue~u@Q{5pEgE=08ci=+rJ@B zng+@#X=ghR*C+B$;d`0@a!vX$V=SPoCxtOc;^F3Z=2@Y7Lp2SAU&uV8uF=GVBbD2} zM-zh5&Hx-A&vU1F;^i3_v$WMtD$Yk?W5-BcCDo!rSOiC>(jxR0BVY6a$b@NnG z3MtPlDM>A|vhv9+E>T8TWXMv>3A+`y zLqTFuNpUoT6_-O=W=^Vsfk8BbrxLq{CL7QMPbG<*%q0C1h)w!AK#TN>l7KQH06j!D A@&Et; literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/List/uri-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/List/uri-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..704a830e78d960165d54475b5cf95408b0faa7ea GIT binary patch literal 259 zcmY+9F>Avx5Jo!`*{zohB@~)LxJ$A$9x|O52O5K*ffAfaWRPPe7F8{CK2h@TBPUb0 zkGqd|?;hhlyzD;R5n$b2wwhYk$cbShjXfF$Y*UJKTKyR!jR0R}p!ac+v$BMw_q8=g z2XA-6R^gBD0Rqnd>W(5vie4cNk~x_D?|ds%XHxG^mF`)m8)S zcjCaSR`U=zIZh$kAn_3lDtInV#_BA~B$Lri*^Xu|kE1|+$dgQ@(R?w^MEYt?y`=jm K%Nqmhk#Ys`wM>iv literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/List/url-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/List/url-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..95303a43f3ada6eec71ce38953a087efcb390a44 GIT binary patch literal 151 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMtD$Yk?W;wUZ3VY6a$b@Nmb3n|YmDM>A|vhv9+ zE>Q+aShKmgS#cMXCgo%%=UYibOz=%C$}TOivH}`cnwy$e!fwUwP>@(uQXI`-#pRHe nnUiW@U=YpVsl=|K2{OS`Ng^jRNxuYQx_%DOaJ`}=piBq=Lb5E* literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Media/Photo/cdesc-Photo.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Media/Photo/cdesc-Photo.ri new file mode 100644 index 0000000000000000000000000000000000000000..fe0bc44d3ba7ecd5cb0efb8e638d1261479aba4e GIT binary patch literal 312 zcmYk1PfNrw5XF0tbZP72X%Bi3@&T;p>80Qw$YDj6-BV6!8gVdfLNZnK)0=ETB!@8X z&3pOfVsnDs;n8V;7Z)aFAFPT|ZjlLIy}mng4A|4N;Md15Br*YDZ$?xAtJ$&S?fyJ5 znwgNkS<)Tcti^j3J{AvaCXQy)P5N( z>LlD+99mj2+9^}CJ`>)BA#EOIkxnVg1g`TZa$0U=*;QGGtq+cjCNrML#s~aVWbz>R bCC-u5tj)g=J6A>gS%LbiR8{Bou93wr+1yyt literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Media/Photo/indices-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Media/Photo/indices-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..4c66395bfaa861ab3810097c1f97b80fd269a770 GIT binary patch literal 164 zcmXwyJqyAx6h$2*6|49I9E7^t&ex@a3LOek>eQ(p5g(>aNMG>pn^K(aa_%|H)f2no zs$1Z~Y^yB=S+t>{qgIXr;&#uXsQePMv_LL9s)5H_vp)Wzv+#^4gkOZlHHun|{p`$Z r`*8;F0oTic1B9umEsxa#>-0rRCjNX-)WkeT;(ltxW=foFvDp{-eRDtz_zQo4?G%TaSA z!aX+|Zu>_5(^&q4JT|DeFG|aiNrG?CETtofi+PW^|FwAaZV&G)VI>6VMl~{yV=>CZ b@y)G2df}@^RgoK{qh0SD9S7V|)qi~fnC)Rq literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Media/cdesc-Media.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Media/cdesc-Media.ri new file mode 100644 index 0000000000000000000000000000000000000000..3946ea807bc2779be1b6e75f453beb18938c4639 GIT binary patch literal 207 zcmXwxKM#U16vP=!O8{9M9NhQ>%#VdZNf>Z2I(4e$nKTyK^pAdh3&dRVl6!ae+ocaU z-p*P8T(zCJ8uS9X<#^PFLkIH2(c&Sqm78PV6cWoQJ&2P{)%)e4YB>2sPm;s^>8F!CVz#8U&x1wjlXM-V#m1a$Oy;p=i5;9<~yQbV6zcrEa0GC3=qJDePpD-vE zH4ArV<{tg$4)0FIxcu=^h zGg?Nod!xH8ofp{-e+xeNF18&LXzf*)47K#*W<-5c<-2+;op{hvbYALc`0Q_A* literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Metadata/iso_language_code-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Metadata/iso_language_code-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..6cdfac20ff1f30a58d68907ef306da4272d15f59 GIT binary patch literal 177 zcmZSK2({u5a>-A&vT`gbDT?OJWcO4O%Ph{1&q>TnFHKBOjZe-`NoBKQb9M7n(g-Qf zEGbDXva<3`ElEsCEJ;+xRBFuzRLK^^2BfXH3rdr6GL!SIq#<_rCKhFv7FbyUEiBDV u%`0KI;&v!VEGj9EX0YONNXyJgH2`Xs$;nL8FM(L4p9{4~uP6y-A&vT`gbDT?OJWcO4OC`v6Z%_)g5sVqokvtn~~^Hfp_DbFk^NiDLn z@=YyCOi3(BR7O^0%?4D%7Q_amt+)$HlX5bX^R1*I=K3ZUWtSFMSph96%}vcKVYlLT oC`c?SDUN2a;&MpK%tYL>~#OwuobSfZZ`wL`Bc320;p0Fh5L8UO$Q literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/OEmbed/author_name-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/OEmbed/author_name-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..5d5c11ced5dcb97b4cc340358a33da821d6ed384 GIT binary patch literal 161 zcmZSK2({u5a>-A&vT`gbDT?OJWcO4ONGvVM$S;b|OUzAWvtn~~^Hfp@DbFk^NiDLn z@^{TmN=;ElR$|QtRKXU+2BfXH3rdr6GL!SIq#>sICKhFv7FbyUttib+%`0KI;&v!V nEGj9EX0YONNXyJgH2`Xs%E?U9FM(L0pPve{L9ZwYXkZ8cbR{wJ literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/OEmbed/cache_age-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/OEmbed/cache_age-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..3144003a27f5759c071658fe59828819d6b0c426 GIT binary patch literal 157 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!OHNGANR3ZSPi3=Wb9M7nk_#!%EGbDXva<4b z%}q*8QAQ}RW&_Hz1+f8XEAE2Qq@2v;d@E^)iN1+N*`)F-NyEYY9FN(J;y!N(S)Hqn#B*f{POO{4lPkH;KPV7d8k=l!ub6Y(lR~s?-HrHb(cd z!1EQ;1^Q_&)nSjOmAbz0_(xe#IfV{$n8&;<_J#dg8?hPl65n!&hF(HJSd3%X7};|| WJ7n=()-CZ`jNRv@B(QN3GUpdB;&#*k literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/OEmbed/height-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/OEmbed/height-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..4dec8a2e8bb65f1feb396f692441270f90f2c9da GIT binary patch literal 151 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!&PdHn&nRKDVsmx#RFV!U&nziPEwZxmcg;;o zO;Lu*TC)Kq*@D=Bv=w(jX;MyRa=w)`#4O*$qU_QFD=VPErManjCG1w*4h4xtCB@MU iR$LBgnK`KjK+RG)nMwL35YzSZQ$dF76(s=;3;_TV6fLv> literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/OEmbed/html-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/OEmbed/html-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..601bc0da612958affded3984a48274d647bd8fe3 GIT binary patch literal 147 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!%qYptVY6a$b@Nn`3@OhnDM>A|vhsJ$O-fBs z2FqEq0j1c2*nqSZcR^`VPG)kxl{Ca0-^8Nq(gG_hprNI?sd**rR@@E+iA5#F(F|5x g4r!S=sRlsJQaPDP`Xvyv_489fM(Y(N0SycR06O_BC;$Ke literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/OEmbed/provider_name-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/OEmbed/provider_name-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..3f10c3d0dd9274fce7eee280e5a354800a44eabd GIT binary patch literal 165 zcmZSK2({u5a>-A&vT`gbDT?OJWcO4ODk#b?%S=fviqA{TO=YuUb9M7nQVJ>0EGbDX zva<4b%}q*8QASl{%?4D%7Q_amt+)$HlX5bX^R1*ICi^B9WtSFMSplsn%}vcKVYlLT pC`c?SDUN2a;&MpK%tYL?2$OwuobSfZbw3bI45C<$m_2mp0fGo}Cl literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/OEmbed/type-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/OEmbed/type-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..f06213bcbeb55468fc292ea2a38bfe931642612c GIT binary patch literal 147 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!EU7F=WwT;)b@Nn`3@OhnDM>A|vhsJ$O-fBs z2FqEq0j1c2*nqSZcR^`VPG)kxl{Ca0-^8Nq(gG_hprNI?sd**rR@@E+iA5#F(F|5x g4r!S=sRlsJQaPDP`Xvyv_489fM(Y(N0SycR07g?RLI3~& literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/OEmbed/version-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/OEmbed/version-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..614dfcb96843386d45d339daec766ceac73d05a5 GIT binary patch literal 153 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!DN8LX&dkqavtn~~^Hh=vDbFk^NiDLn@^{Tm zN=;FQNn5i4W!Zw*fV35NL1|J>W^%rjG{iLD#G>rd0xK(^(WSYmc_r*t+zthaMJ2`2 j3|3qYX_+~x20+bHIhjfNB@pBF^HV{l>lGyd4GaMQrZz6n literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/OEmbed/width-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/OEmbed/width-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..ad1106d49961c98ac6d55f0bb0eb0f44851897f3 GIT binary patch literal 149 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!D$h(Q$zZc$b9M7nk_su$EGbDXva<4b%}q*8 zQHDrbvjOGUg4lqx6?Z{tQch-azLhk@B;UlM?9u`&E1{i?k1&Ku^#nB8_ gTn=fOIjII9gL5*I^h+Ry>*uF}%+@PP0vZ?s0IkO@00000 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Place/attributes-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Place/attributes-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..e59bf3a130e950da72fc02965d25c8662ba7323a GIT binary patch literal 157 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!PXsbElS)fci`lH$T-`jClGyd%?kklvbr#+ literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Place/cdesc-Place.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Place/cdesc-Place.ri new file mode 100644 index 0000000000000000000000000000000000000000..800104fdcd5a7e5ab282332dfee8618255d69fdc GIT binary patch literal 432 zcmZ9IK}*9h6vumzbn9j}5eDL|AHaEjy%f|z4h|XfltW3=41#GJ(pSg6y)Uay@f7lV zFTecXyPCYiYWLhJfNkd+X`ig@dyyK(v*gW6r5Ui74bN`(M}w$6z({jOaCL#a)-4)5 zG2$KEkH%N&KL!Ut`k|qE470*XkG+T>DGtW!M==!%&lVEVn`%Ja2LaF6E}SrPLuHL3 zaA!@m#xcU$g zerOjH5$B0uflgX|JS&zWhSd2EwL)EoM=*EZd`i^e!n14B_9$E0+OL8{JiGahSgNib f-A&vT`gbDT?OJWcO6!NzO0LD=DgEvtn~~^Hh=!DbFk^NiDLn3dl)J zPF04~L~0RUElE<6AL literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Place/country_code-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Place/country_code-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..c2e58d7b15484ecd544a7167bb1c00dd6524e400 GIT binary patch literal 225 zcmY+;y$ixH5Qkw0iC>F?4x)q9MHk!ox>V3Y2SNOpf=HT14b~)_7sUVGij(W{a=)kE zJVJlBvJzlv-Wx?XTkx)CSof}{hnFT&2(T@MRMWpCW@!o?=kroa z3!~rDjljEi0M&wjC_@eCBu*ebIkPbSZ?*!(6@|O8xWy~MAVEbQ&4lj>wYi>H%nr~_ fF1l1v6!BUXG-mVaSjmQ^&O`d?LifcjF#q-+d<;ea literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Place/full_name-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Place/full_name-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..f8656af4f8bad999dd805d5844afdc675f7480eb GIT binary patch literal 155 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!ODoOEiO);SO=YuUb9M7nk_{=(EGbDXva$-u zNlZ>vM#x*U0j1f3*nqSZcR^`VPG)kxl{Caa-^8Nq(gG_hpy{Q#sd**rR@@E+iA5#F j(F|5x4r!S=sRlsJk~x`4`Xvza^$S48>lGyd%?kkl6>~3s literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Place/name-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Place/name-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..46feeb35db96b549a30dd86e700680d7b519c948 GIT binary patch literal 145 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!%uCEoWwT;)b@Nn`2r17jDM>A|vI@vaOion> zOIfo4W!Qq)fV35NL1|J>W^%rjG{hL+#G>rd0xK(^nWed@c_r*t+zthaMJ2`23|3qY eX_+~x20+b{IhjfNB@m+B>Ie5l2afiylr|-nR8x2 zGoaB@C^Kci71nA}DagM~AP0MLj?A_yg=MZNg`GMK+T{C~l`q(UIQ>xr#%}yYT8%~{ f(Mh7Khql-geE&SQ?psakp>Ll%Y>pl9x|V(ca(025 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Place/parent_id-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Place/parent_id-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..9735d54fd18e78baf56d33a4f9d400b1bd41c165 GIT binary patch literal 220 zcmY+8K?{OF5QRI$S_#o1f~X+uQkV2RUJOd`AV}D0iCA^hCDUbEiT-^n9-`};H{bjE zg9}X0$2tW#RG*NmqR!|>5NB&A4e zSai6M;iHiNn%z7#$NY}NLdwEZuT^FyKl literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Place/place_type-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Place/place_type-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b6a553892650b7f25a352e72ccb412c1b62453fc GIT binary patch literal 221 zcmY+8F$;oF6onh&Svk~DLlhCV)RNBE#h?U-Aj+mk#M55-$n=*X~}?X{J@%oPemjVU{_bOAHZe452h}oOvMF^ zzJptVw^9RC>*ZbMWPs^uf%M?4fbl=G6DSfCI%RH~SMLK4C6$;@`GHX7$%(lvgpPMr dnRFb7Hv-F;FRHNe8fGf8>FZ{Hq?Q=f{2TtbL@WRR literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Profile/cdesc-Profile.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Profile/cdesc-Profile.ri new file mode 100644 index 0000000000000000000000000000000000000000..110d34c3634dce03aa10f14baf294ba39490fca4 GIT binary patch literal 677 zcmaiwK~KUk7>0K++XRGoP)yL6><0+v?jS}wY~qB>k&yJzbfaox*_N);#9!~q0D&1j zwr}6(d%hmoGtdo2X$-(qDwkCF>7oz}x4DU&)>Ni1Trd-u&_m8y_{o)G5`fLUYkGqe z^s2s3<$I9uE6Y&?6+szZ*mHJo7v>CjlJ8 zxmhw(*Rot28}9J{IX%InzN#kovr6bjM&-M3je;X|e-}bB3lQ;P_%Ip$iW;6`Q#U$3 zTc-SrM&)Ar!^#&Hwvf|^1}^t8N2#bkJRUlZYk>lcbPb)Ac;$T-3wcpY*Dpk~gKYm0ks?)5TwXao9iKjNnW9 e%J${9>}|H=c3CU_i{3G-wGYJHrv6p8g^h24vB-7+ literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Profile/profile_banner_uri%3f-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Profile/profile_banner_uri%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..df40fda42723b4f865a65a773a226c6e6d35f378 GIT binary patch literal 244 zcmZwBy$ixH5Qkw0N&Q$HM1(p>U3AgT*TE`U=ujx4Q;?Esw85H$GeP|Ct<*(uJ>KK@ zG+PJg?>6cLu#&HYn?jvwPmtIfYE&0d@+@aka?C7>B>}RHVsEy83S&3|q;)g-*9Iht zpsQ_OijxAj9!VJ9tOlqS?VU^GKsVG3&4UsJqu(ZF$gaqAL4r1|M1v5yu_(uMtyIaG kJd%Lyp%Z?XzVFjU>^aj}b*zkTDe{G>or^DTj``=~4dbm%fB*mh literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Profile/profile_banner_uri-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Profile/profile_banner_uri-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..2249f7ccf5a6c6c47bf6dcf22696621725af6d1d GIT binary patch literal 539 zcmZuuQES355Oy%4(>;ta*n@+G?x7AuecHp7fsU`xmMI^CNgKbjM6mh>{KYB^4 zu(3UaJMO;R_kDMljRo9=?{W<=62}SCI~hke90ksOrsRevY(OsxvV5ugu0a60n? z*P1DSX$5)u2kIf;hgMe5gs&yED~btG`yvA{d_~HHu0v~>5vB8}A>rXSW=a&(n%~xMG>T)z@|@6w0W88`X#vn2+T#ocg9up* rf3KAom@mCX-FU2d*Mq>h?UXKFF&H_|6-_(gw6Cjs_D@UfDQcVFrDv>9 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Profile/profile_banner_uri_https-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Profile/profile_banner_uri_https-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..6f31eb3b1400a5f711909d4792cf99b76bc6e935 GIT binary patch literal 564 zcmZ`$O=|)%5VcTNt38y`n=K97gDr@9o<-2o3JVJ2$7vBsbkyK(vLso={)YbOCc6qP z(o=@_X7b+5yROXPVe%nY0DW;Bq1nlGbjQ8We@d0y@EDhj3V~{wDZbnplWGsV&q3(7 zW(RHzDu8j(`10>S;0*>)OEVVpm4tdBH==5vr2tktOHi0H)OsmZMn@G1kAHi{RMD-X z>COvoBI~U?L6a##%npghRi=>4CqrUnj$|5DLz9yoQurr4pU zP<0CB(7*b2W@th*|3VT?jpAb4B-3NUWV|3VC+rxx$tCm8TV#}JLzqQ{V}LXg$?ORm z&2zO>Xt-A&vU1F;^i3_v$WMtD$Yk?W5-%vqPs_|njZaF<%S$baFD=Spvtn~~ z^HkCZDbFk^NiDLn3Vn)X@Qj$(7w{#)VvaQ zD{hB^#G;boXa*}T2as(B1_sd#o=QR*#hF#93bqPX<*7-UY}RZco=Va=nMwL35Ucf} KHtH26fg}O>)<16m literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Profile/profile_banner_url_https-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Profile/profile_banner_url_https-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..44dceb4223be8bc1dd4a0447a118d896ae465414 GIT binary patch literal 210 zcmZ|JK?{N~90hO>u_7-K-6W88sf&94OJGpK4nl;TJczS}qcz9ekoxo`cJ2J$T3|oTMhwsDh z)9##Mc-+bqU|qfTT<7vi2ZBV-SfRX$g2$p{8IKK$6#=pfBWHek3avQ;9GYbIC-q4f zLSLDr5UB*anbIWqfCcn*rASIl`3z4|GVY*-45|huz8x}-Nm;e9( literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Profile/profile_image_uri-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Profile/profile_image_uri-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..403e48f2a369f0ad85c0df9059b9361ad032eb6d GIT binary patch literal 499 zcmZXR!E3@W6vjP_=;jVPY`ZwvqdRm1QO~aobZmu!f>b>fkyK+1rb(Bk4ENVBX}t^& zfk)oQ_x;{`SDh8!$DeA8IFY9rGY7Rx?l_6O$3m+;7i`0Gnz2o#IYIIjMxMX?;l?nH zIByg$m&$;IA$E%@6@06(*96R{K2`;yO{;PyO&h!8f@)JH9feQ-HFK(IrfG2?!F6J3 zhA}ghmS7GHR`C>!s>`Zm+ArY@05vKJ$nwJPLr{5~a>-gMxN)BC$oqEbG>4M^GDsFi zbD8yFamrIA*08imbw};%sM>n~v#K00V*E7(mYyJT;KAzP8 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Profile/profile_image_uri_https-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Profile/profile_image_uri_https-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..234675a12f3faf2df43f9c7650b4bc95684fd87a GIT binary patch literal 524 zcmZ{h&1=Fy5XC)|XtjqP+LJsJv;jM52x08|Di-d1P%3{9BNo)?rWZFUJa~!xY z%Wq)}C&XE$d;CxDJL567vOG$}R$;p`n=(4)8Dim_r(BvkwuTuaqr-;6&R@-p5sQgs z2gkn-3$oWaH#tc#2M(HVbKKkB%@m$%p6A|@Im0kb*q#i|f_zQc}sY?I= literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Profile/profile_image_url-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Profile/profile_image_url-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..8c48003caa5bea659bb487aadf567dd20e58bb70 GIT binary patch literal 199 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMtD$Yk?W5-TXmPs_|njnB+YOizt3Ey`iDVsmx# zR8kKq&nziPEwZu-fT&Q$RB6rT=4QoRP@0sJnVfGW4Y9yCu_(K=z{(0}TWM};UJ1Ju zw?jc72|Y{St`f M`cOOdijqK*03k^~)c^nh literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Profile/profile_image_url_https-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Profile/profile_image_url_https-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..9d9468e4292c2d1acbcf7da91ffa23196f6362b7 GIT binary patch literal 211 zcmZ|JF$;n~9ENd+xFVN^nrx73siAcKOJGpK4MK!X4szO+N2hn3cSL>q3R|1s2Y&Bh zbcX3^FDrmu`%IasEM42Ew&x$0UvbYSV0A3&LXOI1Fk3?PKclmX>}ks{J0a(p21>q$}x33;;L z_<7=s#VcIB+(irU6zOFAtv5OAwG&Eio+*Afj|US1k^pi4pyc-W?U<1O{->iT;pQ(q zn2e&#B5cp}M?;@;0w}8agn@fl?vo+Tx`Sa~H8;9z)$3l#!Pb9Nf?nwIHqDcFw&Xpm z6GcYL_}@Wp-83qQ z*J0)#zO%s#jMool12ETzrF5m)ijiVj7}V-0YXEIt?h_w`!3hIGwQ zb0oq8H#=@i;|%}#nE#6`D%ATYrDe~=!FOnq(5b}5yv^MGGM+u|{*}cnhahP|Q51<@ c7WQwZe(1$vrHYyB)HBG%W5XBiPk^*Ju(CQ*$({sjgwApBB4l; zEWh{jJD=~&U!&{QOk@as3biLZ7PR1ihpZa~{&X32QFp$Gg6s6ii~)tvYM!JB*`2Vv z7z=b?yJMn$3W-pOD)x{Y5A`RKD5G%)^(Nnp!x(qU?+W`-5ID3MQ;?Y$v?g277A!)~ z3w_)P&&N^lz}aSG>Hs4J+Kh-~uWC~YQ;U0aa0_w}ikW|;$)#1lxN5~9r+S*xh2UHq zLAeQP-;LvY2QHncweZ#velTsCk*+cZ%E(E~uW4a+jmjtI^d%=5*y`RuG#Z{ALqZNf z6Cf(vwcOyH>!`%1!6n(RKni78zHM~4ZzCzT<(n`-*Sf7UZvRuZ2hQ>n)2GU|zcGtj zXnF)_X{CGZ>zw{g0?4qH6h&Rgq}7d-;--a4+{BH^`eo7d!$1~-Xj}~dNiq z+5e9QsXL8C^SgxvkF?9oq)LU$wu!6F@&}6!A$42e0?cLXp~&Y7QcOlwM_+5pqj* uBtM-qsO(0hqJ&F3>PnWrm|z~gjHQEnZ>-UwjH!^Rm$3SU_N<*X`vPfKHuwMl literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Client/cdesc-Client.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Client/cdesc-Client.ri new file mode 100644 index 0000000000000000000000000000000000000000..657be91724338666e36748ecc1442482864b6714 GIT binary patch literal 909 zcmZ`%(Q4Z;6wP4RY0{)?8Qs_h6NbIUd)kA{Sh_X^Lzjgtr2{_%#lB5MWJySJLMi)- z{qU}mEJ+vkWJ~AXbB^x0&+E7Je0ZgDO8d%`Ok4_PZPw;N8Z|Ek2k8PD^sdwB&1lJ; z14HSs_hUrq2229PUT(47t)g$&yx*9aSDI23sY>JvX|t=DaW)H75{5}Vt1J5MY3+a+ zHZ@Go0))}ZhdVrIFyvkt;$}cLg2a0v7lSlNg3$rXSHa}`hD)fa>z_bu9q-4~u3~urVyaJd9BRgu-$7 zKHBKsa{+1eUhql05snR57w4<|I%eYQlIF)O$Qo&MIssxd-tI|^#cPo&jg?4UzW%qz-s=Q z13XpMIJ!M1BrMBd7@DH8+QU`Xv{1Nh0>Hku+3n394AY>HYRNoY|7Vs8)dp24Su&74 z!S7m9?Iwq16ZxX*@{J`d7yKecLk+q=PdH0IZDry(mM4Obr-upmoqJQ+BBE|$gr=rQ K{|=mC(E>k>t7M!2 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Client/connection_options-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Client/connection_options-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..9a61c6b4ae285ae676f8c1bf1fc84b9db5d8ff41 GIT binary patch literal 248 zcmZvWv1`IW7{xotsm)SQaIj!Wmv+!({<1`@!3;vN>2wsioToXAcgL46i2uE3oeG^E zJl>D@>-4^1xcRUWU~VpJMU~z0C(ZJ3B&{(@lD1}R-7OjhY?_obJd)Vhr5E*ha~D3ZULGc0e^6&f~9(EtDd literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Client/credentials%3f-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Client/credentials%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..876a1338bed5b35318bf010d72c4480a321e8ed1 GIT binary patch literal 239 zcmY+8I}5@v6onlmz7_>>QBdljF1GXSV0{%j6r|QEIHWadFgE2jMf~?hJGmadbIw<9 zo}eG?R0^=p-XYg_b)j8B0;`uIzwk^8CW{pTviAdP7Qckn908*JF$UO5VTkD;=@Q?E zPF^NbqzZ=BcF6Ei<^blXe40uFI$q9D7nCR%{WAxK?1n7A6SqZ;$iPFcOUx#8qm<+< pI}?}0(DtrEa>sFKEwCE%g$a$}Sc=5fm8Ffm(02NBTw?NVeE=U0N@xH8 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Client/get-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Client/get-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..323a87c23c186e1ba9dc07b0b7a60e403d06b707 GIT binary patch literal 248 zcmY+8F>As=7=|6n8Fg`RC{*f^E)|N&{7FHnNzEXHc%3p`;%Sa1x%0~fk<$O(OP$=G z_j%q2=L;suM&$tO`nnUQP=|CZN#r^wVF-{QjNE5-k;VuFNP;~B_$Z~Q%}WO?Nf^RN zw^=E31y48Aj^lT$0j##IEZK+AN^>+#N)$}*nV2I#A=d?24pN(?vB0Ckit?In8H?#> zz$l7yE1IsxV7NNUQuw}~_9FN3RdZ9kQETT_L*MDo@4TZTcUH>GGq>L!+Oe1azg}S0 F0e`0bOfmof literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Client/middleware%3d-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Client/middleware%3d-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..869c45299b86d6c79d7ecfb05767e6277ef2796f GIT binary patch literal 308 zcmaKnO-sW-5QaU-R_&#NHwDWUL@!Ow6NLEDz#a-x<7x3Q$&PmE=7Y&DrT@OEIaDuR zhi9JmeNWFm;A-{SlmJilZb^RK7(KB<$w_66akNFIM*(7yDS4M~t@p$LtHpZ`@Zv1h ze)bzoM3%w04TZC11J{FjiM$CdKpzvT{$m8=v_kLldF_Fpnx=P<}CryN2 z%FX%Dt(0d*qou_?-zr(J<;gHMMz>DBnzjfIQjaa=LdM$ zdl*!*IVCU zF!yo{u*Vs8b_ZituY-Z>Y_$4n08+QmPsQnJUVQ$~Ti)^F0Qn4AlpbmHR@DF2&mYfA v{5opGOZy#7@>#j#w-!ZFKdREB_a9i~OL=2-lhb@HxyL|xdwVOHZ(`~%ZjaT2 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Client/post-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Client/post-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..bd4a3996bb88289fb6d496bb596abcf7d57c9667 GIT binary patch literal 251 zcmY+8F>As=7=|6nS#@!65Gr_$i-I(nzfe%x1T%=ioKvPtdNxOs-1+5#6zPBOsgwKj zKJWANe1OsZQ{@2b`gbc#p}x|gB$3n8sxbse5Jt|Foux4X0ro+{06t17YBReLJ_$n@ z=r${5uHfbF+H(A9HGmbjl|{QSSZR)?Nr{5VBNKDv-^g`A{9bC0Ut@tsg%#yB-7pr@ zc$YAW;?xQoE&;6rEGO6GuPb9U9@92zjeQ1 Hb_Mk^!5QQ^TP70KvRH`WI;;B<%wigCK@{kS`CJ)Fs*UGAcBio_szpot-l&Hwd zo$lRt?|e7enmjINMiTO7Y$L8ymG@u?S<@soD{FlC0w|iaS6Q_e9%91qo!U7sb`qk;*h)LR9}7>?LQrikjYU-)$uKI;@u&zZ wSo3pLJh(=AxGXda9QeYx16zlyMzZP7b|Bwo|^l;m+eVX>ZjVvOpoU1HLk{mDkF1XPbx=eB{ zY{Dy&#lN$Vd~8$it7N{kKBjJ%b+|&0X_dkoorVew=29UkOk(Tr$O`rE_H40^dpA4@*UaxFaWV4iGtc} zTgJ~VqpqCP%0l*?+m%-*YU^|+afMLF3w*28Xx znzJ>0GHAf^0kD(bMbqA!UEkRl{26q1E9MLQ{r4`UvRlY`(snPQe%z~C-^~5we{g0< Aj{pDw literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/DirectMessages/d-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/DirectMessages/d-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..37855f0647242840e970c9007f28efc9d0d556b6 GIT binary patch literal 203 zcmXZWI}5@v6hL7IiK2^xn}a1fC=}cIilAT%8M(9XEc+HEt&5_zp9g5 zrV2*QEr|8Cu0FL&>jF#aK!07unoQJ!-ufhSbX_-U2|k|H2DNPw-pRI9MN*ZO&}HHo4s$nq=agNo)Ht zeyevjX<=IhAAAWRbLO0LPtJYt@JKwF#5xmVP+gAEE_9wgR$k(7VEyld~%iX>=8i|d%nH4J2Vyo31OFC<6rqEea zVrAFFMpR3(Cf(5D*(&BxlAM#Q7heBS$|j%3tw{r|OXyr0ukTIo+g=5D90a<~}GENArKEn!FW&xA$G4u#!z6%$m`0C4BlWaqcR4QYXu1o;$ z`Pmef6%Yn>%{fZTCvbQJg0arAfKyFSYC=#Izm`i>(7JpYk+gVHsFDS9_@dj-JCSVc zf`7m@=j7UXV~`-zmBpX7#UfKEgOJ|TU`V974M&wD(WI_0KZfN;SVD8SU~VvtGtH_k zCt>acWx?^VR}K%(WufxUX&e#ShAK!0MDp_BMs1~TZ;v6y0^KaDE$CQYMfx16(2~#p z*y-Mm%FVW$>`p1aA|Dlj7MTUI#mVk?d_%a5`VL|BWd0mP5fS=W?{EeA@9MR6$)tPqW=xaDvNyp literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/DirectMessages/direct_message-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/DirectMessages/direct_message-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..73496842ce3a1cacec1c16a9d5a25bbe6fcf0902 GIT binary patch literal 897 zcmZWnZHv=D5I#ZTd50h<`ay-Eg7id_-pAW=kZM~ESU74Akx-6pcG@gWcH{2mswe&x zf2)(19=7)-gyeafXXgIlC3`v@>V&a@`ZYn9Y7sw{UetLaq`|~p*hXN(PN(4@iG*L$44Hy*R&qFiJ$(d1OiZ+3_MA>(TOMJhbd{i90ZQPlYqT0}^l zD=Z5Ff!DrkCh`-V2SO({;DroM{nKEDF4!H&1~%0jkG!JJy}zN-4q=u`ODU@2z~GOP z3ZZxkc#=>n;Pe_5kVOj9Z$s!BF5kMt}vM-B*sqM#1B zqd#zQ3xbIjn88vT$hAR`ieB>?~gqFD)8K zv~u{N9_Tg}pL-nR7j)e-R=q<}c0^eZ%T80<9+(XfS|wQyZj zomz-LbDLI#q_j@w@`f)m1d9&z5?WAAWk=ysX4vcX;)AI3yeny)Tak14{pX}9t((b3 R(4JO6CvoSLe6y&K{{XD6Fx>zE literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/DirectMessages/direct_messages-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/DirectMessages/direct_messages-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..dbb8cf1793da67e8055177912608cf96c3d51319 GIT binary patch literal 1961 zcmdT^O>fgc5Tz0dv;m1j#RZT?2BD-Xap(=FAV*EB8Yxngwjg9x)yAGCtJ+?(yH5Hc z#6RJ;GV71DNufw^;$kQ3*_rp=yqWtCkDT>kPXvzBO)mPVCnEHp@S10>hg@QyPhwPx zjZxK{+U}lbZ5__I)+ilkxO;HuIK4coUk1HgzSODh?K$-{8$~=2&amQHG&Rln|8D?i*sXoSNFR}klTLE_hpU?^Y-upl5T zpv4&`Ku{+z{M>_vL>6wsOme#V8VZzjJ*U=$6lKhn;v!Kk*r8_@X{vzGO;ZBSG<|`= zJP7(C#0XA>gjh%fp3u)Yk80IAwL{N(>Pn{ZB;qj@4B-pOm!EIAEYlOBTqPY=&@+V+ z0+DDu*F`K+4z3XVx#GK03KIS(F-e5vmlz&Heh7JJ2s6qJDl@35Y>`u9XbQ53^dYdM z9!y!p!xC!Gm8dhBfZvspU2M;*Ep+z7aju6^8kM0`*`my{>53`JNU*RJckY{pNR507 z-ow?mrlEGr2cJ-mNWIv!__1dVhB+W=B6VP^O&TjrJr0P)Qs)#XbErigdQ;kDoU>n} zdSu#K`QC9AB22VSm1El>PFuQgb1M+B9g0BNEampw)?0gw+FmkqnZz+(WieE|{C%b- z$Iyi!Q(DCQl8quHU>d|}71S#4es_yo)j9Ycb$pES7#ziu08e-b6@79v`A`)uCTn{= z7?Y1__=qn3Z_rZ%SDS?kONGp*X0C@yG2o}h2wtxOuyS<=f|#BEp?;Ll)?#rHg(adU z&_s|!SX8y-R}iLmAP7W8{X8gv7Y<0WctizAOkyZxXoj19YRPemE$EZ#FhaP7b`!)_ zyIoNq+)+2B4YyP_Kgx?1UAS2^@22R`Yt^S!`Re!P-{7GtOy8-S=vB{pQT2Cm3#rl~ zl~?!w$*Z=Sh*_EOV`*4|0{$+^iPBhfyR;sSHhEV>5p8?3=ZNznGO~{Cg6w8d*-{dvL_#%7$M)@+7) zOef?^Olp2@{~)Y)hNs*ZRK7phKOXviuT1Y(*)RTjyHh(j@Hg{flJZ#kPaSrjsYQ`f z5g8X53iH6<405K7j@G6B?0U`-Q*5SKKCg8iMnv>*fTmDFgP9}jwjq<+fF&yoI2N$# z0kjPoS*EgrE(pV8X1JI^p;6U3wc#ziy_AW?M=o$pb~Y^LR#@K)G$PE6$+ho!2`*d4 zsnLpM<|Q)L9?QA6)7tT7XuKO@SeUSW?`I&SK^V@tCWcmdqWz^H9W^ikERIP`V!J>A zRDBMEPd#WTWXU$1Do$5l-e|B1IjW3n&85&Scu&tFHH3iB&2ti*T9pEhE|Z`y6HH+$ z70IR$xS-dp%xXE7PXfgZj#HiyU;>{}yZEc%s(w^-u%d2-gjfoLXU63s)!-T-y0px` zQj(l=B5V<<_yr~-D1%U@CU8o#0bN+u1nX)lOzgl|O8O94QV*6aPZ5_!nkhv96L-c{^`3SlY7uv{-U$9AvrUam*7E(Ak*APeapgu&JB7R;CkDQta7^j)GU3i zbBy`asuuPt{2zDVXYA}B=xJ%g>(DYyDn3mh^U&;Bx>~G15Gd{-5X*v=^0;E{)>stT zgzA%!)Sgs{T?2YGisKSn&?m)Vg7BN!RSvuDcGdUc9k4n5)NY`bp%T+g;3}qdvcC~b nd5Z0JJ6a3tj~Xi{yoImdn$GHtlux|sU*ORsZ|#0dO>E{by4>Z{ literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/DirectMessages/direct_messages_sent-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/DirectMessages/direct_messages_sent-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..d52f0714d7dbc5f4fc95e1fc21d4425f7a4400fd GIT binary patch literal 1397 zcma)6U2oGc6a@)|vAs+JAt89UDiUhZ)O346xPVgV29c;Xb)683s>)4nTWg6OY-e8x z_$T~Uu9I}^0|qZq;@o@B@j1u7vvR;54Eri(tS3(gXcsDp)`b@~9wkC!Y$q8S!{=xw z2Br0wx4jcKUW|@~wWt{zZtss6>zAd2y7K8CJGtz zJuORlK@HN1m|G#|P#Dx+*Bf2Kdz*53_)$o_rMjyQb3JUl4-6tKtj!Jc{REHNwo;-U ztISVSY__@?-;!wV>8#S9aNg9Cap)5lWgiyrXB4T0%hR#H zG-;<1grwK3tZF+&!p6fubBmKyWCWPNXEfFN^WdV0G<3M6?$m@>NsA}8szsV13_^6C znQg5VMdv`eAxeugOvX?yLRp%?F&PA=aI6WonyE2yuJM%gA+n?%9Pv~nHPvyT%Q!&P z)0&^YI!C*d%{ODHzW+NK_4t=AmOKNMI}r^;AGleJp$Bnctjfe0pQcDLv!G_nqPq2a zP&F-=Aqq*JIqESmBV>#dk&u8@mdSoH%~Y0C4#Gan$#gnvlwJC6($j)48Xm!Xr6T(8*~k9y^7i@% z7{yy&0Bo8^gmmF$I%Ili8)dD7z6(NomfRQ-3V?XGPXM+|U_lW|nVnHiJGaz>0L)h9 z6)QN5f4wLZSJif$7plgF3^3PiCP=0l4Av)Bq3`>t7TOa>NffR{cqiB5Eiv9mYh^uO d^RAqPwo|d(qu+!lP?A@E7moG+VIlI5d;>W8K(_z@ literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/DirectMessages/m-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/DirectMessages/m-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..53257b201bc0be0447702cb7b30377169f7e8311 GIT binary patch literal 203 zcmXZWu?vDg6o7GuxFVN^wuZzS3L>3f1O+KLxR^~2q4ugH_2ljy7195mW&6j+uhTog zFxrV6U|T&yq^me31I_}Ql?<5Y2lh0+b0U-gk++Wlc3fgkAu5$#P)$m-C;D b=Qyxu15dr6onZoAS5ADtE#H14)p^R=Ie!_L1IXUluRBf1CC_X!N{0Yef!!VepFSS zj?cN@J(h3$6FeN>WC`#t)rE?KtUAF+$lVNuDZNU?HEUgP_i2Wn^KY&-Qvk>PM-DLi z*iB;zPXp;d)mPU57;JZ8wf110G*s!9I1nUfE?7()b3Ec_= zHLH5LX%xRw&8*1Kme;MOb;)cyJBkCcv&Ma?m`Qz(m0oPXZZlS8x+?iId9&r4_^eh& rE#|E3_Y9c8%7wi(y8oFO5RO-i*mT#wc0ldAdQ6VPcx@kuH^lh`!CaD- literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Favorites/create_favorite%21-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Favorites/create_favorite%21-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..708bfb8e23a1b9a34e8014a7df3af1a111ce67be GIT binary patch literal 203 zcmZY3F%N<;6a-)fQ;j+}=;UNw)B%_u3ntQ}0}JBBUT)K znl`Ugp<&)Ju`t)R0eGA3P1e|lQP>EBHgjMYma3Az?`ICDL* literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Favorites/destroy_favorite-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Favorites/destroy_favorite-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..c0c13872c3df1d1abc6273fe2684d655e438ffbb GIT binary patch literal 203 zcmZXOu?~VT6h$3OHR9l)lUrTX0hk{PCPLDI1#x091&THzCGA7Q--|&f=X-9>8Bfo! zjE^b@IMiJv@TQ7%Aqk_aLKxJlyOjK?v_wIG1RcXAv=Sbl->NJfC&L^)8>^f46KG- zBJtTa0R6jtshY;%hK)qBnFF)1)RppmKXYO}-|i*e?T!U3?Ws!V9u1s_%97U;19rgt G*L(rP(l)XH literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Favorites/fav-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Favorites/fav-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..5884e01380b8a3f9d457d3c52f546a840f5d6c35 GIT binary patch literal 177 zcmXBNu?~VT6hKi1Q;9e@xH(xDbr9y~f{8Tgz=CyRDp<4;DQO=V|6U0D&ABuG4(se{ zN`OoAOBKG%BVTF4sb9&S07)39Tk+M1$^vA`O#m?28>>;d-PoK7V-U1mQR~vcX2Mcw z-(3qZ$lXUZIENr^rA3!}u!t*Nt0;JiQhGOpMwnls0fxOc;Y@KUA%%HEi85 z6XrGa0MmVV%MRzTOnPC^mLB*?qgok7QR#8I+8>2^*aL}4!6|K36{7P(BQ1uL;k1*f G{>=|c9XEae literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Favorites/fave-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Favorites/fave-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..5ce9122b5b32d6a950123ec283ac9e58aa6cf26e GIT binary patch literal 179 zcmXBNI}d^|6hL7HQy(}uxVhCu9fbL^U?NQzSP&O4_ScVfQW9i+M2JquViP_-&N8adCPC2t@`>}ZN# F^92btH#z_S literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Favorites/favorite%21-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Favorites/favorite%21-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..2b72f701d30947446ecd113e65ae2bd7e1a268a5 GIT binary patch literal 1274 zcmc&!O>fgc5bXiEpCAtO1c#|P&{kEP9@$jLMNNbyicp$zv8rlqPm-mZU9-DRX@5Pl z{s=`aT)9Nn&ewZy-sIWFC3`hK(>Y_O>h2ufTo>s}5hUS@DPL+M9PR}y7><(g-Q-p{ zhla87@M6N)sEymVzcUBHXvDV5Dw87D>~+)loSU1fWQ?X%3si2MZO0`y&ZgU%z4r;*csUOSn<=4it0~~-2)4vrOa&G&xkYpqxUJuLMN#EM&Ye&*s4N=bssO`=kif1Bj@Gh$ouR7mXi z`{{;9zuO$ab+^pDMvskkBDXep-uF416nyG^i{9x^sTOcmkc2z?huq8>nUXM+B8%FK PjOcJ49AM96R6O|wJoTe^ literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Favorites/favorite-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Favorites/favorite-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..6967c67643f43a640a12c04e2fcc4cc50605c575 GIT binary patch literal 1080 zcmc(eO>5gg5QcLovJ)rJLwjlug9;@H!E%mWhoF?$RM3>-IK2o{*3#JCM$#&?E4#_B z@2n)7l+bf8M$FE~JI_0Q)x8sMCf7O<;;MMOLA%mv{91XDf3%QmP0FGtywN!FKTbEw zS|lMRquZ$vFf+;ak3xz36H;C4NG<957{90I*NUMq^R0hc#deax}KWDPI z|Edby)58Ndq8Itsp+SU|wWSe3km9;;n?3u9&Vy7ZCXl5H&im&D0{+zmdj5+OOrIV0#;wtO zODF#p&t;|SXqqjChfZ%N^8bV0$p6$rY9&GZMVi$Nc=O6wovSCu3k+Jff1Bj|8H(C-J2pH+RlG_nb4iesjU@&L%QuY+Rflqgl%&yd#{zy}jZasf0o8Fz09* zxR2*&!WdMH&5lmyj7_`e4=+1M&UDIpWff&2mh655e9YB{s$`6&R5=#r2J87HS4M|B zl0Epb=M7gpRlHm~qn)r9xMN=6;2kYg*AIMNnKkhdF*iaMFvE|PP^h8Os34Yw!A~s)5{A$S z;Z}nqr6ftQC@cu+bb-kd>LS#w37io&=&CF;L1PGeq-Z3Eh5B7j%2GRc!|gWi*+T}s1q`21zx!vEsOTT~Hk zo?EGR1NZf;o~?mIfhR-Ar8b~2Cc<0Tb}p=>s@twASfurmyEKc^;qt?SZ!<`3xI3Zz+v`?96-wO*mYOQSxP3D71A9Spc zE#szH!{IQz7PzTOnM)}pPLFH~a!?ati6WFHT&$|v*pp;iXV=WGQ`%q8 zZ0v-hN?f`4usgH!=6laib|>QH=*(n7^!432x`oNp7b-}?=artxl_BLY5W!%Wgooo> zd9q8CwqDOnrP5Kh$P4jPPfr2<=)VWJWvu zG)IHvw7}DZamDwsmGq|F_%qb>nW_21MIkW2q{u%-^z2*Yj zVV{FxV>gHD-M{2>W9i?t^&Y)_uegcrQ81}FLQ*<91o!e<#c2m#gFqcdc4({Oe)B{1N+N`#uEhGE)YeiR>hEw0? z<9(i%D`y1;i+7d)@WJ>#CUchN1i=orLhm8q7|~R`(KKL$umW*m0c#e7-pjJUQX&q( zV)nTN;1biff(ZjprTaYQUwH-;Y>6S~Z*A7exLr+)!>OiMNZ literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/create_friendship-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/create_friendship-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..81c8c032141bdd3b90cd9763345c9199099a70a4 GIT binary patch literal 227 zcmZXOF%Q8&7(fkj1cN~=wpuV~S6`P(xTJ%HnmRPs_A3|XuKDg7@$Zo`+26~1-ToOS z$DJtvw)%NMcQs`?mMr$B1)*@5RU}cD_9|-zY|mqFlRTtzNC3zEDFNUuu+=3uN|^_e zo&UQb;~a){lPg&mn6=4+pj%S|y!*`^wd=t!ss%Zlc3==yQehATX(#qZi<9MVei literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/destroy_friendship-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/destroy_friendship-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..fe8c1cdf78c9550dd951de321d619d5268e90e0c GIT binary patch literal 229 zcmZwBu?~VT6op|2Q;j+}m^irMq7K4*SuoKi3@nHf0|8s4v9{#4gz)xa(9QinIp27C zgH?RicYu@XB5o_q(xo7wvu4~_)LmAh;EI__)C9(4dEFFJ+%;^5(vZ=Eaqrz&xmPv?d+FEGUKKp68{b&{^ybIX=vu d_#_FPqZEZ}2ZoD1)cq>6T(PYDF^*V#`Zo#MOdtRN literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/follow%21-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/follow%21-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..3ce27938f6c450cf916a4f25b335dc9e8d80544a GIT binary patch literal 1196 zcmc(f&u`N(6vuZ!*;t3f0mK1>-ok-xnv(8>29Dp4r*+^0X|`m${pqgri^(r&U| z(r|4}-c#(wpD`b~<_pc6WiWV{Q!m4zYsG+FBJh?zr441)2!3MUnpm+ytd4K>(yReD*NCI%6f);5O4afw%v^)p9>s^d}>CgzQZkD{Zv zQO3q|k6%tw9KW?fqwzBoN?QDGeJoN6 zVG!~=>LaZc!M~6$iPGX0%L%LwVHH}!HDLkMHcho29jL3)vEr2ht`VfNaK$T8M!w9O zM5ArBgnXzqzd63Ec0p9%PGC&DJ=itO?%~TsU7@ZNFT4BQy#uF&*>{QWY5p1YjO402 zIe$3edF|zad?aZhG@n&?oDqWs>O=TsHK}_De|I#5g4PWSD+r*PukSs=?9?2Bp`i(c z8BAwN;7LM|u3I@|2cX+>}!Msk&h_Jj=N97Y&OVR9I4 zg5`Qa1)R=q4N|t9%teL$em@WL%`AN8O)&lCi(QX=Ym*3W3?B9AUuExrvUs#v7*%2x YcP5L;33r~Fa#>Eh&C@2*Gq+Yh0b>7=ApigX literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/follow-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/follow-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..ef9088ea5bdf7ccc6e473d56b24da453727d2f9d GIT binary patch literal 1226 zcmc(fU2EGg6oz{-+^*?h7h^ZuKzK0PQsVS#pp@a1#>}w7Xw$J_LQt%eM5`=$lH4xc zpWl(?bRT8cy9tSObUvQ5|fsTAzbkX5Gv3oSEyUrW7kR6)3k&duh## zvqewSmw(25WQHvbt5?zRaewyNr^Qb_)>ZNJT>@zCPgJ2w)q8YI6q8(pH3@s z0pA*7z=knPtsH!JAr>%)ut17?UB<>}l;=wMB-)5O;8W5bk~Wl+TO>zpQ`d4shhSUW z<7CpdY?OB7hDpKuq0HOVfNP8*#mE@8KDn=Uh2Y;!$pj?{>^Ho-hp$q714e4byZik^ zua!OUc^|mq6PP&)T6Kc|@YY~e5RepOg_bdFF5x6c1WPbS#3YD#FgSNjVz2po{H zYV)8=aKroxA_mkKR}g*Rm|0>0FS9p6Mt9SNkT4hwim2E|+lL*P{aT9vd}kX0ZVjId l@_29m5R(M5_@5)iJn2>}!8N$ws2Njy*4fV3zL|Sd{RAU>oumK& literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/follower_ids-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/follower_ids-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..32aad9309bb4770c88543766fd203b52a52074ba GIT binary patch literal 1060 zcmbtT&ubJh6!suvx9dScyeRS*FKt<7TJU0)!W7%Z916Pa3Nn->GkLokok_-*OlvFt z?DUiJPz8~+)!>t*6Ha#{aV@LY>6y3_m{E3Qq{B&We%3LAMm9!CyP9{8l zbAF|qLt<=ta(2$xgcNFNkF=ch#rE~RwsAC>uwl~{l`0K;(E*(b`r0;(dDON>?H;jV z)(CPo9~k!Xe$59#Vo9P|MdLv}8MgTWi(9jTdN2yv=#|UqaA*C-3;_I zltsvI{Wu{q-j&FwI$GYx_cW6p4!8-H?0SY^^i3x)DW%V9^EGz9?Dunz26yxsPM|7p=j_(WdE+;_)yv4tV_WzqHu~OSRZ+ z>^EISuWP-`ocn+*1DP{N-kK5IhGXVA2D$x3=OI5Hfh`GrDzvC^1hXmkLI_Op1xwfI z=keQr@h;fUwzGw*aDRV4f579%J9~nbcAW+uCzUGF{^O)R;{Ky_KY1>+oNuyZ6DmS_ FegU}#VuJtx literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/followers-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/followers-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..07bc0ac59372b2cff78b2c5d1c99baa8c7756904 GIT binary patch literal 1722 zcmdT_-)j>=5LS>=n<74lFNzEiY%L+zzHShb+6E6SNSX+Gl(2U_BD1CiD5_n_e&+vQ}OsQly$asUVKHIW2O=2(MV8a(7v) zpL64E+|umnuQ~6y;d8_DMbNt+Q$HU^=nA7Oa7YVdwZRNh0>;z{tw7J9uxLOhpD1Es zrcD{}Uw#gu=HM0xHpf)V1U>fY-JlnYe}mqaT%EoZ3UBG&hKFxO?Lprn!os=SvM|i> ztm`T|x~X1@b!YCrB9?re! z&jWHvd>RC$9h`9~vXYRf{j6_Fwy)s4E=fPBT7J>jXK1A6Sxqn5WLxLHdke4N+r`U@ z*lW7KN0ZQqOV8;>)Sljqq*vH$WF^%CvTRWQGVe0Jgr>vz4Y!LE7?6{!(@SyA6G_%U z=WSFcb?dhm{VLGJA>P+oB3B(ac7|-#frtc}qd5U)Penepj=RFbfi7tkDwRcsp&>D9Bq`WWQSrc@re{Zwip7>^zzP7yAR8DG@%TeQ6 zluMP?8#AG9z4&#Yq9!`%fTgvdRZ)CNLQF;xjno{JMvnj4N#Fmmll)Gyjs8qX+}+)c qZ$<6R?Hz9BwmcS5yDLQ!)>k#8^G8>-`iq%zl}*^Glro literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/following-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/following-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..c67fd36c8f5088cd62802e768fe44729ead057a7 GIT binary patch literal 211 zcmYMtu?~VT6hKi1Q;ito;O2&lIsmSZ1rlk(;DR_YkOBo8YfIV^;@^uhxZj&ITijur zUStIjiT9P7hph7rLy5C)B?b=*T1MRbFjmXD5G-=mSMv<^?g6L5@&Td5!LD=3Q(3fE@!1@ WCf!q18?Tw{f{419%u#n$`RzaDxfgc5aobO(;&eCaRH%`IZ&!#x7^qW(@$cyU6coh4J{hiH=5Se!%q2yJNrD>oZVQ`e<*u-#0;!UKxZfFJ~=Ei6STi>QNn zmJr&8)E3VBhK#23?*EHKFOf8hjcT!JmHZq!I$=o28-eAnT+tOV;X^V<~_+)ztD z2(vhcBgh+LbtSJwRw5X*9(i39wY_@iKE2c>@zp=YdLIWjEnAX@ec#sO;p7(LOpUpm zZPxT3VcA+(yUvumh|E2oGfU2d0c_$ibu_)+^+V?)KOTU|30*FfsBi$&F?U)Bbasik z?F``Io7r9+Uk(`S)&Cx-yr-qq3pDn@@@gG z&2GVsv&p7r_kPZK!401pUd)2d^@L_w`_e~O8fAe)RvN1f=8#ce%$(2)^aM(a26Xy{ zA{Hjv0G^?FUx(cc!4{Z_iJ*5?rtnFAZlR{Iqbb8Ighe=2dZB<@polOKHY`^-7sm4&OC3kZSmSk`-;o z#%N-1sC*G^#0ShrPz9k%&0#^c!IniKS1@G+v~S2IL2nS0c5ud}$SXMF@P5}+#Qf0b zX~oZ|9{FKc6Ae=H9GX3Mbm3>W@EAUxKdM3fMIo=yq_p7NJ!dRYYl;Xd$G86d@P3dAHP6JUmfSdxao3r1H?9MW!HC{3V-F+OU6CA*OY z6`vDn!+uNvEN|M9y8l^qpZ>Axynoq7cOoS2?d>H&vL1&wS6>1DukKu1r=xSFb7PM_ mfIGX~Ol@_e;;=168a0PJqMN%q++(itab1PJfo+reoAw=^V}2w6 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/friendship%3f-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/friendship%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..f2c914fc40344f95342a07f02bf55007c2b16d4d GIT binary patch literal 970 zcmcJNL2uJQ5QTd{rnExp0daxDD7^rR;#Qp42$7aH!V;BGn;wuAMQeK!FLid!?6@vP z{C8$!t1WQmx|)68d-LYe_N97ue&TYaj_i*!Nnhf5~ zTEmQ_)cNVfOsQ!%ab%0Bt18zb`Td8##?f@DcIzgqOzzZ+4s)jIs;QL{X0t}ikJav^ z*2F&DcIxGyGha0673sQ+#!pi5G@hYnSULhO5%9)%Mw=tJCERl%Lv9f*aOwCp+*+gV&>LvWIS+F)%dqS)*B(4by}cMVA$X(CZpNJF?_ zGIlkDyBL>ZYYsDMuYc-{CMQGi;#Lw^y++{>xa=F|9J&o<_tGKOUr^R0W&9UtFZ}@e zu21UfP@#wPllJ8tjv#M5yS2I1StVx0kNEC~Hh$I4WN9iqI52}G zW;8;~CKq!drmbMC(<$XSZP3``osWjzbSe(ZD$Z3x;#q5QF3nX{3gH~90yX!<;i!~` zZM09~`QMr^(#W-uW#$d*z47oDeLW(R^jwvX;B2!3Kq(R11F>r=pFmIk}bcm5R zh#Gi9P+5oQ4ZZn4R_}AEuRbe{do(<#?H-2yhml2ujJdQT2vWQraJ&B?p(02rv4JdA za5^{**2ux#<~FbyZEBy;e>yUfaha<^u><~!jeqFB9?8nFYF0^$Kf~{pGH4q}NJumO z;C2SO8OkC=+x#cSkUPVru7{9OH<&J5oGA34>~_`# xz59FUAHQrP=|fBDGV7S$!LQ%1+QSTT6$f2I16QPNBbQRA%hl~abYS9I{|6VxR>}YX literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/friendship_show-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/friendship_show-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..f2f8250e0e5362072e8c96e2ce497baf05cd47e9 GIT binary patch literal 246 zcmZ9Gze~eF6o5O(DRyz_<`U9Hp)}bFuLv#JgA85TIAsX=@zNZg_l|cj1QGvtmFVLB zeSF{5%?m6}&(r|y-TM)xr?$8=DvK8#8+2{xjW0t_qXKo%S-iLvTOkjupQS9^kt@yrGk8nD2bW5{enz?mA;JP19nQ#mk34 x12?#eq~Z(8Dk3k2T!@~ckIzT7Re2V#t*H~4))K}b$?rs2xwh>7*4AAA@LvS^QTYG> literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/friendship_update-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/friendship_update-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..4a358efcb0f4e6508124e02ad2a643a76776ce55 GIT binary patch literal 1027 zcmaKr&2Q5{5XE~yrnC~`07wW9Bf|ku6sN~-RLQBD2ul>9wBce!VdI@7OV>MQcilh{ z|2ylC7-*&5?9uGJ-@bYKV1LG*PR}S~Y@~mlquY>3pU5BypRbHWE$l`Xi?R^hVZeg% zBngi%x6(N@j7`TEmyAuCzL6FaQi`@{?CZN{hrwjR4vTWBWJc^|BYDovRar3R^~)T! zd&mysf*WVkePXZv@A=FPUmIR*g5jgo^DRb|m<7@ZjsP`ZDg-hhq^&;4Ggcg$nyp>O+4lrO%E=d zk$T;O4sqt)p2KKYX!?`09$3%e*)-3w2eWC?s}@VkZoi5XDBYhP$IaU7bkRw|FZU>PvAm_x z)w@*Qp34s6l~gzw4AQ+MeDSst^v1LXoWQT&?;892N-m=|iII;>7rcdk3X9e5mG;fD G>i+|m*J0KG literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/friendships-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/friendships-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..7953c9a7e022931646855a14ff5326d5fc560389 GIT binary patch literal 1234 zcmc(e&u`N(6vu~zGFW%m0dawY6)s~`NhdDgPN+p|MIX(P%Qw z;@4-_!Z|RM&L*d4lup}_qv@3P>ZXvQ)bv?9=7gE6rlu5UHWeth zO?#u78E5mJrqBPZ`NRxc8dk5O;o}^4dhlZgt})6Iw*q27GAFe1D-yj3G1g#4IZL!|3d;nu?7twBRP*1vT9f%;V45P zmSFni)R|!P{k6tOhLkNCp06(7-kcrVe#aRJob^3uy7+?iHbJkWX=gd&{_0<6U}GKN zYwsEE`pvhq_&;u*#cw;=y46Vjf!Wn1K}j0xbR}-Rg!m7JAFnI&o=xe_XdxsF27`Pn li+A@Am|3crZ4~i literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/friendships_incoming-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/friendships_incoming-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..d7e5dbc9dd981b10e383e7f92d87dc4009b085d9 GIT binary patch literal 754 zcmZva!Hd&C6vp=;aot`7MG$3q#EW`Jx<{u9scx$Q7o>I%5=xmSug$R2neoj_Yghc= zoiuBy=p~2AH{bi-@0)w4*W&Ty(w0ID&F%`hwpH;^MS1*mNeWHnYvuf0nbNM6Sw$im zjq~{JbgP(=gqV!JPK6kE(xIuwR%^RO@-O~-eGrYuqUV~0R;3lsy1`eHZW<>4IUIBrJW!*WIRX%l1T2rF2MvFQYGY<9+s8>H%L2Z zJQ8ec3$+Y#aACQy5fFZF&@-?N+BQ6JjUb!wHLOa>t*E^l4Wj8kdERSjZayo6Cw6ew zX6ohf$IK%_&Fs8L(+W2Uces)OF|BOrQ|VNCkzAxJ30x<5>ffu!AD>-HxR-j6b;3V(?HNp*U1FBC?^mYtx!oQny&mV1EdEX%!%$ z0pB>MRT#VHRuWb%52*t?LNJzLBeklMZp?W``y!6!d}zp9nsxu*w2jI&SjWnSx{6QI z*E1MG*?105>sBr_f=6!qyA$oL#aXsg8vFfzagxW6Uj8w72S0zk>bw)J7U>=0G*CDo Rol8^AyHdl8OlZ;Se*=6=0(1ZX literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/friendships_outgoing-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/friendships_outgoing-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..9cc68fdf148600d42a34a10b7aaf34f6de576d2f GIT binary patch literal 766 zcmZvaL2uJQ5QTd{rZg8M5E24aBXa=`c6ww3k^@b^5|vO$56Ft5jXjB1wRe`;bwgV5 z-&xyj6a*I^cHh2v^F2Q}z7$Vq=adUE*1HRIB^B9Y6{O+wH7nGGEtRoLYTSmD-UK3; zOw;iFe5;&87GgH}J{MxzOUJsHQdQ9w*}nSk^HDIJih*fXmC8xH=m%d&zG{pRK1EZb zb`QlMF_N9lj!C@yTk}n_+^{rdFnW~vl(#c<4QmThgJhOFpfzZ3!zzdL+`^g|@EUms zhRI>>uz;KXYmGId;l%pGxxL7@L9sr z;j&V-YFGGyw#|@+ZPIS-wi3XLD| zVNwh7E{iOG{%_3}L1IgyE~CkV>`^*$3-k>c2LkfY6mzev0b4-hkRZKu;7j4d2O)2W zg1SC{Xu`koDiMk!=yT!_q4d6XoH2>J z*!Lvj+*VB5+%Zurb`f8&EqYe;TuN0t_LqlaEy+&rX+putTB}O6hQ8tP{!MbnX*<^f ze>94M({8%l8jnAHuYo~BIfU#slo^o?*<71e#FDx}xq|Kzx>5=IKmlA+*IJ!8kg^7fApTfI~JV5{LI`u&_n?xawWJYl9ON*t*TZLH0?was|@>-+5c9 z8?n&{4t*QZv8Yq#50gS^9FNCYlnv6+`5jQ*%7x9ble0lc{oZ6a4lDWU)Z+vE`u)0Z aA8WN?$1GUjbjyA%j9eF|t&C~Y*8c&!SOBX4 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/no_retweets_ids-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/no_retweets_ids-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..e80afcbcc8832ad969a41982fdf1bfa860b516d8 GIT binary patch literal 230 zcmZ9`u?oU46op|2iK2_3n~T&%7u!v^BDA1^4lY`!4y84>7>r3tZYd(ZyGn6!KZpP8 z_Rlam?#u-s(vJhu)rfQ?S?o=;$t+TXNG_AYF<^Thd+Vf;L}&qy`%?nItwb$cqy;xh znFg(!|35d3a~M{2q2$HDw9OrId#fvePrJUOrXCE#D!1g)4h+IlDhz@k?Zn=AVJebF lyV-X3d@b3AC9$_svhb;;_!b@cWedr2Ewb`QS=r*de**@LOg#Vq literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/relationship-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/relationship-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..109a877d9a3599f9f26b69e75f5c47f86915552a GIT binary patch literal 240 zcmY+;v1`IW6vuG~xfWeo=+-5~ML|r4PEQI7^&o?brc(yFBrke+-W~5=5E1|PwuTPw zzaQUE|M?raUKWqW y!L?N3G-5@2`#9H literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/unfollow-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/FriendsAndFollowers/unfollow-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..d2ae2b41e89ba6ce1ce6a32f1159870eb82dc543 GIT binary patch literal 1114 zcmc(f&2Q5{5XE~yZfRPH1Be4ijLfA}m7N~DsZauq!4gHNO}SWAw6Q12w$84ZUAMIS z^UTIh_^3E@vE<#^ee-^A>_=M{;_2Cm$%Po`yHj*?Q)Ew6kcPXpo|>{Ww}A+TNg8%X zx5_yrAi=Ka98V!_Q3WX(_QR4$#;GpH>RI0Gy3WsR*cS5t+> za@z*IVDv!aT`BeTC#7-2^tQcDCk;RJEh5aFtE`CQ0&gPM*p70uhzpb3SXL@Nj1J?< zSQk$l3UgIiuC|WMo!3gkXMK_m$E8{*$6b6j&GLT#_wJ2`GyGO7LfhELjdu9mHMPiB zD2tG-$q$JP2XLYNC5F^J7MHMGgk@;~w@e0XT~+1EJLH6g$0bV(k`T0Ua3f1qM2*Z* zpU~B$AsZ0MyW_Rm1%rKi2_r_nV!Ptm9(~m}H%O(CjJchby?vjDedF(bko;Gq35T|5 zL;d07my0GM$cCE7g5;#cXLNoTm>4`l6%f6X~ zmJ8%JLtrLXTyG48sG{{GfXZ^yU2nTG$d?KC`UnYFD!_EFmTB`}ZL zI%3}q7QmNH7daq-Rc*P$kwuWzXQgGuB0n)pn&RPK-4T@@W8Y^eAv9qTO{=DO(yA+Q z0hdmWSbq4Ao?YiJTSgdZicDxe&PkRqkF-;#mGBq>xpfAmKzW+w+B)^cQ3lZzw`v%X z4?+fLh|-Lu!Pp2hoK-(Lj>-(dtv6wxYd-W7@8t|zc1xxBxn3n`{(QO$D7t3RFRTG% A6#xJL literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Help/configuration-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Help/configuration-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..f6ec3b562daba4d6ded17baedc58d0557ee4dc38 GIT binary patch literal 622 zcmZXSO;6k~5QaHaDP1n8RK2uFqad}=L%dvi@CuZE?21T5Ld$ZfB2;;kVPoO7-LVa& zRsTCqLJ?7~&iH-ad7NjP7yQ-ytEo8ur0-7AH>NJPWm2RsE2FREDvHpGzpjrApThtQ4I za2vD11#6Xz*gli6Zh=BM5QLzOhZ~_}o%NXGoI0CNIA5N=^W{H>@7>UGcb|{)E2(fi k9+w+My0dR=`)@cnf!UZm;rPBSA( zxtM)hO8EtifB9E5N#=8T?Aw*mm6Oj0=DDKl)=L=;+6`Jhl*hSO#GyQL^2NWJuZq-~ zly8#B!!ibVw?J;m2H*z4=)mBvVDAT^_1+O<4XZ8eq9v1L`5*UFd~EP;*Xb|P>%8|ZE!pu jmj^}qBQ)j*i9v3r(v3mR^9bI-g?89 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Help/privacy-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Help/privacy-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b92d87aab35e6172ccf9ec0cd6e58390c9a288a6 GIT binary patch literal 576 zcmZXQ&2Q5{5XE~yrlcH@__#o&kvZ^ju+!^CsD_dVOH_)|^nk1iZR{Z)b+fz7u2VwQ z|DAOfBM{fwx9|7fyLWggo-96^T8Q_0caFX_P4$S9GJR;7wzA$OBAL$06qYySJ+css z>BUlrPpIt6K{82ZGjU|Qm7>~+=h5$6@^xp02d=T6|7zxv<(j2! zlgWcBz|R)wJJt?vTkowCdF~@VtIa0=jU6JraxjlsVQxZ#-CZ(Cmj5w6D55gg5QcLos_R?|{kSxRK|S>2AUW4H1*O!cf(DB19Eu2KElsQ;>)q|_$VnRV z-@CGs($d>9Gy6O<@1xO~dcOGVYNbx>%_&Ojn(8SfWjYcU5|zy6WqP!_A`xVz7PI9_ zsV`{!o4!3w=5uxEyS1U(saFH%RP$x$m5R`Ai&h@1!@_HpP>q~A`gi7=X1!tU+hqEr ziqew>O2;<9Z7bq~%5xdiS?#uYRKoo#Z{rJj8^B$_5_v~8-oCxheCJK z#(SyOLe9bhe|E$epbN-QJ1clC0|O(20z&mC*cr2n`JUMx;+TG6a}N6=>_;28ifjm- z_lBZ&U@|tnP@4dn5v&u~X+upmXkHY&j}xk;Fxky{UsmJdf(%Y3lj@*MpS^Rw-!{NU YxV?Kn{CjO^{SbT}FBl@oc-^;u19lYgnoHCRLPY=+ryKn!-SKY78-o6vxC=z78Jbq%kiw8YG+Ta`51+nyz7qO~9CS*Goglw0+Q#X{XLi7lC;5 z5BE*m1%$xCqu0rAeqZm+JY1f!CzBnOGBzsD_R;1liysRw@;7*v9ZF&BVSz=0+IY+x z??(RC^i)`jnz70F>y)uQf|wV#z(a3$m#tNGB1Nj$(^g`i>yx@-jP&XPOZ$keg%#J< z#A}K@`y2CxYksVGm3zaLnEbpPWtjm}VJeOUX3)6;tAK;^=?%TY1tm70K8BG~S42bD55aO5WF^nz3)w|K~bf#VBxn1yv*QC)i9_(9V4AxEjqMV#P|Z{Z*M)(2T++I0o=ALmx6q8R9}Zwd^N^Cb+@RFarEXJev_nx1tsoU%@&aA(g|=CU zvrc?bN&JbMydkcQRfRZrM!=wT^c|?Z+r1HbZQ(t=J14!ShkM!|uDhOBB0srS#eF@y z_|9Zke7iEv}DE^DrX+xfDsz{doa> N1Kk(b*NJ;Le*l@i2#Wv! literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/cdesc-Lists.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/cdesc-Lists.ri new file mode 100644 index 0000000000000000000000000000000000000000..65ddf97b69450aae4e77f93e9cb4cac2d5fabecb GIT binary patch literal 883 zcmZ{iUr)j?6vcTk8v+_ciKvMW`vAgo_aGXlSt3R^mYDQm*`FF4yLD+hh~M6}BT$Dv z_MUrw=ia*=bR%#cJkSh)7s`r+ENEU61dp-hJH2Pj1-F3ZJ^IeYa*c&R41mB3mjE=H zYdy{=xM~QCgniW&01{Uhs1!En&#Qz94m+SX|G)&zUpPc=yZ1N>y&#NVy&w*} zw@6YgiKDJjCDP4JWTT16!>u%-G|G-e|c&F<|j>B zd-h0R!uNY6?sU85KRq_Ia`$yh;R858pY$ zB^ODVA(gGHZVz54;VjAXSgjTps7Mi0x*Fbh#w|ssHqtO-NTRiGXE@2_nHc?Ul@Ar& z=rY1?|1KLzr@EWhDbE;A_4J$RehbV%ja!m|8)-@40ufy9(dzP#prN+ZRW29ajoVXI z13c01cZ&c42D(I@Y?cO(;?2CqVw27|-rscNo_SG-o H4q)d8u?_uM literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/create_list-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/create_list-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..27ea655629fcd83b3fce358df80d6d53d081afb2 GIT binary patch literal 958 zcmZ`%O>fgc5bXh((jMpm4hV!sK`1S%?6fyFLUMpaL`o4#Q#e==+N>w_s`jqgkA$}3 zzq9LgLJ;C&$+K@}-h1;N>|c>5(~pu7G7z^HXbPEUM?4yLj+jDf@O#O%iAXdYjXSSr zYiKS>4eriIg8JdT56N{y*dd>{gQF#G!@by z3>cGE7{^bcV^?uc#Yi~sHC%NZ&`(npybOTPGL+w>I~uqYFvTC1E7Xk|U{Vwv zXsi-Dd;FQ_FmsLv1M)^%i|_eU(h3Bv9JfoOxVR4Brn0$}H?Zw^+jhv>ILR8aPgECk z7yz@{$co?5MTwx%fLuZgYFqEq@V_blSx73GBOG@_^tvbTt#DaJ1-H_w5F4%`yn@S5 zt@z4aB!;iFw9aov1uPIY{T|Y7G2M3gzYD`PUtyEjtqbHJUGfrp nyPl`SwNG(g!A|9MY$V$5y=!$H2y@Vo@s57Hh)l63?dmbt=XJ#x-Kk5Ic9Zp@ife08<(q1()Z?LgI!RY`Yyhu|JFq zA}p+}3=6{?mw|1G1eq$sTxBNYl?V@lgRoM@hHkl`zD59#uEhT9NGgjku8oBhL9HZ# zNY@Q2UK2KHMaC@^YlAvyhaN|oN~B;Z+{;JRmiMA-6GBOt;I~?6;^<}}Q_|vh+x8-@ z5C$Q+lKx0*MGnlQTcWhM!2A@NA~dZztOyO5x~dANRJ&7S?jZ8Q0M`ga29~@Kd51KJ zG}>CrYj>Qvr!Xbe^TvTz^R7RP)Dm@}cuudsbF%A{>w~H+(K7H3e*Appc-%_DXVfXT zqI3pr#(v`Bz{|!}NMhnYN8N`LtA(8R;fi~UX?R&^`{Tntn4+e>*(9dp8dUlfGaHco z9;KFb%P&zSAGleZ!VoetQm0Ii6Ofgc6zl=Hp9c#(Amq$Bf+Sp*!n%M3N5@I{a=aAI zp#)!8rQMpyN8CTpmn{H~h{VV2- z8$L6bf@x=G^)kKaqKE>DEQ6+PVW1Y1eCA6rD2J6Bm2 zMFlSUu2tX9br}^pw-K*IwAbH@X6Pc%Z6ixVgJCdE!q2hN4&ls*1*hNU8kRyz&`MrI zM!E>AKujBvye6s2iJZU%)D{iUt$oBmzvX`(8-jk3q7?qcC$#PPZhVhQXays@s)a$@ zlIB`D{N`FL5{Iw|>0K^I#%PLXqCAN<;s%QgXbz!)7O*6lVC$-qexr@h++g9gb7_Ga z1Tqc_E=AEv9mED*ZPdLvC$y~#7(Ym-d+|Ef3p7&mHnSbSy&mYwks%BF@cqXd@8CgE zKBCFE6Qz%EH3?JS7G5^XhcqGQGc-LocSfjL5AIyIY7TA>T6}WY11oF7O-2a~r$Dl= zn7cj|B%m_0j{H_t`hnZ|1sp(LTc=BL!!t=CqXRv?mEOMXIz}aZ`={lEB{5S>@l8Ew;Qd{JZ+qv9q0$=-k6-MfF;onJfKh^Ip0U@%Bml5lHh bmz$Ywxt4Jv2COK{HmgL5JZ&sc7 zzk6VWXQjQmIQ;g3*%z;CtQGw9(tH}j&4kks=CB|YdFaevz={w_V zvIiM2&W=QZYqGy-r8|K;^fe-+#*~_QUV`U6)9lxaW$q<1)*df~x7XYA7HB-Ht-Z!s zdpea%>lC;6Y53->ABDd z;U(drQj$PV3M(#^xWHrz^+Tvf6IhZb=&CF;yLrtfR+!izJR?X7p^yg7c_xxxWAo8h zXew1ecpznlyqJPf6+3=o5YGjwE}R%8ibWSLnH`ba6!upS zn)zVR1)WtiHyH(Fu0Teo7@Ho|z@bvF#4Ui!kk?$MFs7o_kb;2~(Zrhg7d*#R4ehdR zGgsoQO}<(=e8+WaBgU0BG8Y#-%Ba6+tVTQ3yxZ24{sDtOu(e^j^^Uh7+~2Y+Hv%_m z6VH literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/list_members-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/list_members-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..be223dab84e0b6522fda277de1f52d48a4e870c5 GIT binary patch literal 1125 zcmcIj&ui2`6z)ON+U-F>yeQ=nL26l&?ZJby2&s0916z>ot{|b5N%D4g+9VU-OtxC_ ze|ILymR79?!DA-heDC}5=E2sCJ((P-l(EC|+X#h$g)CxR~PiZMH+jE;MX zJ->_jC`c?wR7-F8Ft$2^37VQp4Q7eZ$pJNQK6QnuoJ-8WY4C>L^f$V9xhOBkvcwHF z+;)^b?njYEgrzZ+W?`7&Dlo0DAXP<}sZ@uelHoyc5H8S!j$4Q8B6bYGq|$cpzEs2o#~d7FmnS%u0aq&sSK<{F0-JOv>Q{a*=}+_cEyUKDFk9}{VtIDaB4`F zi$2_V9b5V{I9wmJcz)Ceo!1sOn{YdvKqVKLn!q;a+5KZ3`C3){LFlDpNo#FXA+JS} zBWN^kK{`--w=3W7)9ZWux-k2Vj6b;^?l^y2+)p|QP4<8BH?wrN{WbW;UrK08EJcC$ y+5E2=zWJ97UHoi2n#&vqgF(E({hhsiK?~jN1owAynS|XV3hlagk0zkR?aWV|b94&; literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/list_subscribe-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/list_subscribe-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..70c24b69f8cf2a66b882cd4da28621d52203792b GIT binary patch literal 1174 zcmcJO!Ee(r6vlTz*;sc#0!|?G6fR||lJcdm37HNrXM~JRk$QQjwC{{Yq*atLXNe%s>h=>VH)TPHxvR`D*T3f*y_5Mix#p@{FNxb<}H(o00Zt=Q?*{e0FqK^k+EwUb7K@Wh~-{-eYTkmGkUM@b!-uLDj|RJ-9NJqPeM0tL{y3V z#o^qvv)UTVb%K>c6QhYXry1U7^uJPk^Dh)_0OT}SGLGGDH#!R4v-UZaD^*QJ=)T}A S_M2Dcn@7+*Do@6CYJLJqxQ5;U literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/list_subscriber%3f-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/list_subscriber%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..bc71dfc9345c98c83259498e181752e834fab1e5 GIT binary patch literal 1573 zcmeH{&2Q5{5XE~yre6mRzy*Xx=2EICZm%05+|oo{sg+RLAR()Y*7hV`VtdW*x`878 zcV=xjEmTy!^u}$q8ol@CH?#X>eZroPk5t0gLHXkpZKl%bne@2-BA3QaO&yy=%NX?s zk9orp_jk{i(puDvjfZFFjGa)Kd3&dL;EhIXtE%H%CW^gkEl!1A)D>goR~J~?r)(>% zgtjKyR_yhkHJ^kQb1kaO8*D_BhkeX2S%92@fZCu2Y3Ov557Z27hF~g8?f)SQk9rMR5IA_?+0_Vfzvj@ zjXRw)wRCRWe;I0Fahl6QT8i-nO?$r^ikcFZRwlwqRl*p*)l#Er`$<%3@q3e)`$!tn zAVe$LL#-7-pOj8SX?ca|1vHn?l%}vGZ30qNx$C}RlxR$yp~wlAMktkqOOea8-$sf; zjkeY$M2AY{D9Q`4x<*I&;f#Brs4cy8d1vH=o%ms>E>Y)7w4=DaOFNEVukn~#HBH=T zNv3jG47`V*zuvWz`)hGNqmGGP;fA)({m5;PD4Iz_#EIV=bq~(0mgT$$D|RR3b^!<1 z7i~R1>Ve5?s+){CnQKt-S4?c5R>Gr2Uv%OQ#46-{E)y!e?a~lzTxbk5no<<_FEiGe zT_cE&g~^;)QX8uZc_reUb{nl*^RB23+O06XkmGxJyDYt??*~vHY&*Ui+>dV|c&yI< z&(Is)%twb16||r*P^E1mQo3&2@ev!ADfhyc_V!=qwK_Ux{Uuv2)!0d05 zZE0Qwa)Xpf-sHVqltUX*4`gW_D|ijxzQ1Vh@kYNffId+{7|5^b0t-9yIuH*aMYS1~;FEW;ub3KVhOhb7;rZmbK*9s-kyXtu0GZ zDJ^qx#pBHM3bpN13u@lBT`?6rzQeQ4zE?~6o%6wg^|%+haVw)f)g2z^hHl$qjjuf> zgy!Z2&+$)I|7(uN|B|CU0oxCjBEx>aAMJ$h!C{xvO4Ypx-DjDI{r2Da=6AIJ%%j-$ F<_DItjOG9U literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/list_timeline-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/list_timeline-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..606ab094774a6b595ab6cc16d2e744281575af85 GIT binary patch literal 1818 zcmeH{-)j>=5XTkd)TR$2;)^0f6l_b#r7u2gR4$U19<(57BFGWS=5CU#-Mc+^_mciV z{MVhmy98TpeeuBuUjo@ozVn@#&&<6CBlcv_S21I~?EDDrTqV&X;f2k|QW$$;MT$~n z=rM0^KWx4pE`_zI85`^!4;ee881wRKWY^o@XN|m=ND(XctP(%s`n1RyqfAALnZ3^% zLC&=`QA4rkS7SbM&1ahDbFcd_A}8#4u9jezh!$3UV5&5vm`+d|P*bpT1e0SdrUDai zhP{ zuB^TaG}=OE5cRa?=Wo~9hOWQw$5m7(Pz%&j@v4_=47ObLEl|0u#=twc{I*>+`r4d7 zp`K95sq67Z*o@q;d0GwzqL9j-p>Dyk)gqg$!hVHtLT86xl@S?V^u0H_(T#NL=S;d2d)15J*Xa5?`v~oU`Avyo`{5| z<~nA823JUHfbf_D&mio>Oe0NR6Myu5i#{y~(}Gk{>ovwSiSnoIYk-FRm4UmLw>U`o z*&p&tH0FA8C6n6Gwrdt4$0b;GqlNGm2eB%sgduHLR=8zzEnKyMB#9+0aDi1d^-j^s zzPX7X$7rh@>+dM)Zq_?FsYhBOeG4xmlKYvLGQQ*`)=0aN@f2^u=0B5HkLEwckhu7;o}GE`d$Uh=rtJCnM5T-!%bO9JrOM)G!i)SDxzOgKlDbNCN+Lmz zd8fn3KbTw#V~`jdpPo+`JF{i_&4c2BHypA~StYqh6?@r?7;(C+O2+KGsz7PBStl$x z869^Ndv(9&Gbg?vUM{`C)7a_>r@y3VFiQkp*{?Jra# z70Hb`F4!4NEa>|%+Z*pfwL;1jZxC;8%D%(W1yverPQ!cn{^M;E!Ebx;1u5Z16psFO zj@JiGeRR?VomaMQI*#mc0+oEl)bwn&p50s4 zHeaiXKXSdC!7-$jHmVS}Jjtz9G@#~d>CN4CJ?su1J>uD6?$%QNem~xd{Js4HP77V{MdZKE TMG~}6EwB%veOWz9+}`{In_rEp literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/list_update-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/list_update-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..7419619bb3d786663bed625ec10c72b9d2e1b26a GIT binary patch literal 1531 zcmeHHK~K~`6y{*6upBt(Nuw_{W`S&4NIcEPq!=JJ0b`b3JTx0JZ6CV>ZKuvm7eW2+ zzUg!cDtPkfvC}u-``-6`Zyr6Fu&1ManK8CkT_2;F%RJc-UhHoaLYuRu&bdL4c?XBF z|7Lt8j6ucN=-_0`*b!Ce*LUlN-r*tZ)lFK6OtR+=_?WB9re=(~G$mH%G3!M&S4Jm2 z$zJ?g^NA}yQ@oyg!_|aXyqdHGG?+Ppt}zqm0&}oEy`eY$bk!WB7OvlzYD zk0Ol-b7N}F!Z620VB8!*Cd)9FnGSg^!rfputfe-g1=nFWIW>v>XOSWm&I(ZqL)|}0 z+dKBRBi<0N%7}~`AuAZ+mqsYm&}dYU$;#l@mS^lEK?seI+-i8Blq4x9l?9PX++aS1 z_7K|A9Igl(bW_)bo!Mb3%xyznXy6K=k_HyM5P9Gz1(8D2sOnB1>(Ug)q+h0x#&GK0 z*2@K|LUMQ7`Mqf+7=WzpR2tsFw;x+h?%ymuMU~R%rB!-0_7m$XFI#&ciD~>9ssWrB zC92r~Zbx^N_Lc{(KHeXIE*h$vjACl8K&BU%nSgxsD1EF0U$RO*a6O;G9%PL+vJ^Kw zEhr;sK%OtDFYkVj+^yv~B#zS*SSfRa&A!WQe+xd(X$i=^YuPAAOlWX_EvH(E1&J8I zDK8pwI^z|j2+RAnq~F!_m)(ya?w+I0lxTHsExP+{B+SGD+vrMveR2+pe9ndf5IdPQ-fd{(@~hb;S_hkNsI^pEmj_kyiO n=c2%!otq2^#x~DBrsa@uu(jx!9 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/lists-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/lists-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..d2c3427e947310255ed27f2ba74eed026bc32d16 GIT binary patch literal 1210 zcmcgrU2D`p6zzkgwOhdl5kb*Q`cliX*}hJ!q@^teT99p5kg%3Xa(8#y$xNJ?bZy1| z?ww@2e)LiBWgs`_ew}mfqm40pHagM;V+ZQ?4BcFp*;5gu;ieSU*?(xyzMWNZtuGkqj*G7kS-4CsXl;^5*z`$Ngq^{G&}rsGXNLN5*X6N?CQ=W5HMsKlFr>j)SWx{69& z*ofC6+8gXeGjvfqWc&IKY4|)b+~K7Zm2foOXS7{>H~D=Dtzd*-8)0bRc7Z}Ghu>U> zMXDhzLbjs**ceR;jFm5d0&NglXbB406 zvz?fhZO9Ic;kWNr-Mqx_CmkqE^bH!RdD-c)qiZKLDYOsYf4udW2f}|slao-DCv-gx znOC1zaG#ic;C4QN11K8nbS3V1E)gs`(9?U+fYb=cd{xqA-Nzw2)LJ4}6JQ2uFk`8L18 zVmaNv5h?!@kzO{onM{Sm;c%D*-T*IJ;xAV>T3$NsaXQ{uC-&CjC&M({+S%o1W?M(4 V;cF@K$aQxY(UC0gY+!QlxSyDMly3k4 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/lists_subscribed_to-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/lists_subscribed_to-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..56517dfb41a78d55adef6d108f9638051c7dc71b GIT binary patch literal 201 zcmZwAF$;n~7=U4ixFQ=G8iJs~mI_Me&&41GAs4gBK|H;2zJnx3UzM5IJk1bJkQIm*qN-irMl@2@ktgtOTnp& Pz3eKc(fx^gMZ5k1!?{4P literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/memberships-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/memberships-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..e5847101504904045544e298014e00201e5ad8ee GIT binary patch literal 1707 zcmds1U279T6jhMeHht)W_@b1{icm|~O?;9GLR!<}LMxIcii8kmcW;wvcW2g_*~V7< zDgG+`LEhQjq$%|m^lg}rbI(2J+%jSl_EoFpR#5z z=h~WaQ?ZwK?|kN(&os~Hjqc`{SiEyJz|Ij;SFBu_9Aj}VFoD9LhB-G7Axhv$LVH#< zx{cvI;KP*5%M&5-k?L+a@Mh@sdj=8a*5-x*LmQL~ zg1hYwL+^P{bBohdWWrMYZ)hBW(A)3vf{05iVs3?!Fu?DH&}b^!v62>l*y=74hA;@@ zmBL3_D-wDn9f;E629pVtn^0a&U_sbmiabwOQp6e)SCFR$xJHo5!WBDh4j?X!RhhWqQHo&Df;wMb^2wD3h3xU~UiEBw0OOF9nxUQmi&Y^l3@HvgE0^@1 z6fII04MoecyPQ&y^BMZk$8)|seB1WnlY&fh(gTDIj%ES*mf!OhKsv zBjk+emWWG|fA5hzR4PR-TX1GIJ!ru#>vNIP)J(0Ks)fXaqT-_bwe*iPAmUaR*aDJ6 zL#G8Lm%5h=Qfw{z>yeVPDoF%tTEHb`pM)uALSs&{P!y<#=(^mSip0Si$_UD-_w!jYN0bnZFr&QEh%nWa-_lEUSc%2*_ok-l&L&{Z>s8 z9K{xl1|e0`prQ+m?J^_}KVW|zV8Gmfv#lPD1JdY?ABEob-agkeQ+_I;x0{M6sK4NV N@>_qozK-0d^AFW=Mce=Y literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/owned_lists-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Lists/owned_lists-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..918d9e79321d8ac77afd50044623824e7b2e6bf0 GIT binary patch literal 1273 zcmd5*!EV$r5G@i)OSgv}5El>{ZG}{-RkG#iEhvSyB2tUcc8i3f6>^f1_(-LU9m?x7w7JUSZQ(`zZMBe?eJX^p#$(>` zNz{KfSqN)UGd4axpD=dn-ga)+jl7c+)~o8I5UFC1Ti`RUFYAgino^f2?Kh7fC4zl_KbWHp8UleMpiM3+ zSFR7s0pZHs|~Aq+yilK5C_ zMM_^t2copN!E6f6B{ZcOEC?G+T~&qK-|Y>l#>@@mg#oS+q_S|u3z7Nln4M5JdP01t zHNQSsO>wdR0m(}oz{NPCX&O}W8B@Cy@}Erj@jsj3g2Fb#nJADfjMt+6*6tqHbJK(~ V>OU<+5_I1=pm=oO*Vl;)?=N$4s9$XT7NA zq*c%w?uRUW@Rce-PGE>Cl?1&_ybvSDNIN zO^f|U5pival|q|Z@1=XZ7xBgvuC&Ow7P5jder^Pzf<_@hCM%6!+QPAq#zH8B!_@<)j}HS-MPqc+acsf~Wcmp+-8cL7%(2cp zbBpD+!LD3gSFx%f}G!+)#}!??0~FtSeLV!K6%U4@(hNMHA>4;T=TRr zH;dZ3bt3oQ?i9^=zxyL?TP|pa{u}0l9ZPpB_R~86*2ca=cWUfy-wwCCqn7S1iQhr~ zFE;qZ?nwV(JOHB-tx`m^&Vv4fFCSc66>!l%N+P>W#n0D%$DG0>> z-I=zFsKCLa*U9Vmee?TX=fU!XJs$0X%>b#p7l+8xqhaKFjtulc_qTF{#IBiZ9*rm!_L#rYeVYd zm`mv#WB*A++&E~3FgDv~)gEs|ytdIwBQkD;Dq)1*YC))>)<}@4(%|!5 zraUB47WSlcB8tQ%=10&RLNl7fxzz?;SCw=`T1~>-8FHzC6GEvBoN+1gejDjkL}+R% zZ}_+#k6_#(?B=#3y9Fc_&*7Ga*By_banu2*%3V&wHeCI9-B$2N=U~slXh@W^0ImtN$#xb8?R>l&fR?qLn~Y*>PN32g%uL^Q>)AEE>ckxm z4au;y+eSQ<`0j3_iJg6a1Ut48DXo_4N=>hQ8?y1Py{gU#E%TBW=q|qS)(dminJi2WB*q+$2mg!VD$UY9EfR_<n^mt01k1thD$c6lQjdrPu^eGQ$_{`Lq$u+MmSJDI|7>;Q8 zX0qniq9$ZKyqOSk#f>$u?@tbb(TH@aIukrsEk~$@kX92rJ5T362G8N{0&ar^npoX~;Laj|O2qu5Qy%$X0UU7*B zYH;KsJ2V_61`(FlR))lJfvd>2hef$6<3i;oW)+XmqO*8`Hg0(1hi6V`_#)BF;#a{- zZk?7d*hrvZH(|9CEG^HO_YcPSz2+KCD>qlt;t%WP(hwa6Hwfv@+o9IVSv-{+pk6KcmjvndK%g;*(`1Y!}my%q(Yc0eNk#D)}AD1cE^e zYQ7zcTr$CE6OhZi|1UK@?%sB5Pt)Movmeqh+pssiNU1Y=;Wuuq=5o=4oyk)NL}g1zr{wi3#gv==`|dvO zUN%4Qdi}Ht;LG}1n%+*)pxA5H)n$*9mJHbW($#OnLldC~xSqcUfR(lEap>bk_lgI?5_7d*Hcpj;hd!kPuF$}S?D8nPKW4?1q!8E0O>#rVHF z(-sqB;;nu8^8Ma7-@A9ZWRK^UDq-xRxSJxSO2m(35Vc#S&J-5`3r6Fp4U4@bLc`d6 z^mW156ouq38_6ITk6BBX>r5t!J*(}e+}xI$G3Q<8SkQge8ftFH#;1xs|64QThHnkm zX)t&YJNBz(#kP=p43Gj&#FMo80@@=|FbEd^_`J_}ar;>oc%lYp-s@r1{xr0RkP>Oj z!cgF@M|G55qViCv#D-kUFfTKbI>T;-?BWl?LZIln%_T{+o)@*B3=Jo|$z(1G1zf3m z{AS2YO1(7UBvk=({9a0f7D|f-5>=2hthMMYq(zATyy(an_Bb+#nQ+V8=5ldNtvy1fg6kPfPg@!IyI*l@s~PY1rMNK`KoFapZz;(X3$MjOuG~0cywSvXOuB zcfs>!9FJv&9r(a)x`GSvf5(knZz!}OjuLnWKYuld7nxj#%_)Vh NY6>fD&#e6lzX2uJ9i9LH literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/OAuth/bearer_token-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/OAuth/bearer_token-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..f42bbcf8a308f2389f5adfc75a2222fd60763063 GIT binary patch literal 194 zcmY+-F$;n~7{+mjxFVOLwjjhHYDwo;0)-TAh`?-e2+uA&H19ZHiHN>?hEwzN=lKmr z7nsKfnF9p%>&UT?w{#*1wWo|{n(HgdlGg-C7*TtjJOv`x0C9Lu08T-R#p*BgNECso zT2_f%!lJ)EX1Z(@K}cMgBeTxkY4+Q{9Dh9x literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/OAuth/cdesc-OAuth.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/OAuth/cdesc-OAuth.ri new file mode 100644 index 0000000000000000000000000000000000000000..51e999dba895b14256bb486758cb51c42ec69ea1 GIT binary patch literal 375 zcmZXO!D_=W42E+UcA9pD6~-8Y9r6H6&hjOLwU9$Q=+cu9!$~w|>c+uQve%#8p0=Ws z^h@8ToA>|^`#0MF?5sN}v$gGLP%bqq)8zeiq;Cdny(!bj>PHiy1K6)WDu7ES*e18| zbRle&JB~eo$BifKh{L?-m7_sMkQ86qU@jwHOvcx|18Flb&$EJa5z9!-@-lrky3Xig z&KwSuS>=CvakXEqB$wR3*%&pPPh~8fgc5bXh((sJMcCq6WU3!utQdt;+YPDLUtNI|K4vZ88jPwQ1SyJmNtC`J5t zW^L03m6PS2nfKnjH;?u&+4K2lT`)FQ+Znn_m)SEBB!d@1t+^B>cX;LW5>>#0$ut>! zOgF+gG>pwB7b#=k$BnDrJ!l>U(U|grN9*kYa6P!;@||% zkQ+3R`aK}uLT%6zzfd1NyKN~@6yE4+0un5^*G!tVqC3LC$oHpVX%LTNL(6*MaAvmy&_m7AgOYZEf z4`df8?Vvq@){JB@^I7o~@S;F#yQ6^Y!Wpvh2=2IBlNXRy2zh6Fdp`I1^l+bgI9>br zEM#A}trjqbqOne|#4XPyf<*`V8v3Sw^gK4`8l!eL-eJABwj@$YJnTMKZd(&zr5jn2 yG*Cjecf)!HI`P<^Wu>X^)$WQ;|p(6j17(tO{-HAs%J3yWL$UD!-mt zCm<@0o}I@x-}uSdt$eZkWE&}G=HVJ+XWRN2Wo7={;|_hmAJJ~mWHOsC%KUw`rx?*o zxt!lrQhuBDv3vJ8bDAv{^4#?+O^ubW4$ZHX-}FvOp44yA#8Y`*IOSug&#Zj?IOn_a zYVDQlvgy;BNy1EPyAPniH(a`!1KwhfntD06MsR&EmKtKFwUk~^&iufR%Y{s44&BOC~=L-{Bscyp^MQ4DMX9A zaXi==H+Cyp+XSH;iHq@ta5h9?70bF5WOhnZtKuKEJg>}O7CuEZZ7DMTSDP@({7sRH z654UsCEoYMw1;QpDhdeo-@DAcw|t&klj^LeU)bKk5QHJMg*~@}&?kR9s1I!CpY?%t zfw2(=$Uz35z3>=&Z=k-3p4Ht!)gfz7PQwrx66L7)Ng5}UNqti0ryo8tB>yyTHLb)^ OjbQyp6Jx(hOZ*0B&(~f6 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/OAuth/token-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/OAuth/token-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..71fd5d3b91816514ba5db2c439667942994da0b1 GIT binary patch literal 1207 zcmZWpO>Yx15bXhNOA7)7ocJ0oLTROvZF|F^Xj5n*68%s~xkOdu>`uB?y!K*yo2H2W z&Ul@a0>`Xp-n{qbP429mu_vdWbjDa$%?{BOIv+d~Q7>L~dV(rq(f&a%e$}4}=g=^A zy8o@u*m1XZ#p_Vfi4G3fT2+sv$TWKvzz(^Y)D>fdT$iZaGFwY4Zk!#gY4-f@niFpL zh2d2Zb?y$9d$H-wF`2?YR(j(j-HCkt*PSo$k?+KC$Z%t@f&{N-9a5*M0LAKP62oaKj zOe=?1uI;=36SF6|ntT-smvm=!E=U|JIRmYb5F3(>aYSbZctrw%z^&sd7wQ7W+Wf<2 zlYZyKxkBzp$b!6AFL8g=P|xrlqcI87}g6wXzaB}tB#Z5J}p&UBgNIpi9I2-?{ePc8w@l5$X zZNxR^=g@qFrZlJRlNek3$k3p$Gy?Q9xTIhi1f?A`VjH2o_$W2#YNKw=X`*xveX{X( zxZ1(Kp_^6YF9n0FrjWJ5Zd-G_cRudC1YP;aS{Qucwm63_WVLm=6xVztsU2zg<3-WD z^-YRbysYT?Gb;3+QSxpx2*La3(!Qe^(Rq~f%ndTqPOIL98{fj|er&$C6;9U~CE3z> zn&AXzu=@dGKFZ=v`19RjMz;8;R*vJ=1|>S8zk_*>hapG15N5R(yFOs6=~zhI+S(dK z{-PfRZ$iC?(4CcKI`*Z`{jFa7czt2gF8utp5!U`vicvC8SYqf{L!jDbrj5oYPdi)0+lLtQ5IMLD z)xmM2#erG$AWP3gZ7i!f`g(6ABbs>P+%*&indTp!T28x`Zoz=3$3?Z%mEXgEcKjQ$ i7n13LxYT$+ZP4%Ms_I(%=-E+Q^wwVsN&HSSroj(HPJvng literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/PlacesAndGeo/geo_search-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/PlacesAndGeo/geo_search-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..f57508b7b6f8dfda9fd493f445c982231a4f7909 GIT binary patch literal 2872 zcmaJ@?QR=I6m1Z4ON#`8ia+q<%0+TQ6FZgoK{pg7KvOJHh?-OgS&=o~o%N2gJF}gS zIBw}%@G!gp?}B&=&YfAONz)+ZW4)f4d+xdCo;&Z~dY;{V_M^$OY)>zrN?(~`^0DfT z`yb7vnK~(KUiGrxUSiRHR-_P!}VOFc$ zWS^(gp9*^t+AKq;&`9lXW_Na5VZEE>9fG*Bl5d=2o;-Z|8#vp!|9mVNhu-wJ|99 zN_fhJrkNz+y~rzBkT)dg)mtc!7E*e5FSLd5@^x>gcXTD*_qEU`KPxS7n4Q}k^X|C+ zXxB+emG`a7Mx#QW4t>ggn44x)nB0v-t40ro4@Pt8@oPpMS%@(1f3|B8Zd$8Gc_8~; zI*vTRwW!;=_RntGwR%sJ{n`kBOj(Wk995F=U-?i-E>0o{AWYE35ML|T zZKQ>&Yp$i5YXiI#bS<4D4ArIa$`}6*62d%IZ`nAoAT@OeUH|zPncK7jPY=N z$}(}^CBlm4Fljv!*n05IDz)^q{#dw3!aGy@KMIka3BF?v)riz>5?&`(SqFl2XlByJ z*WAKVbF~ZRvQREQZxTSBbCq_z%@mHmMAX`!S9m(~7OX-UFM_m7+P6|}A^nC}@LbDA z_`D)97brI>Rw<}Xp2<9Tu7)7M+nNanaPfpqloIP)hz-U>mMRra!!2e@@S0l85k6?q z$gYTgTn|mPw5Mr&K%yw11UIDT94|H%Tt+r%5nut>Qk^lNRSZhNObO1Ts$%O6+{Lp} zx2^qkeRz1D4z;k#FKKK`XQLjmB@8(V#VIut}F=;B$`9{9Y6YG2p@vax|;A%fYGz+|?F1FRjS)U`5X8 zw;N#Iqe^K=Lr2toE9Y>SK6;bOi(&(0@&q(#c|nZGk+&dQ{0JzwP=RfL8j1PiQ2KzL zNCO~twHGIt1LUH{uoHU3P8Ukli3_M;4`o!DYh|v=C6$;8F)HkwYg$^<-~<@G$|c%C zQ;SSs)A$gPz%m0{1)#&(Phr;Q*>XwJMyiAZNZ|sD9T45Q3~3!Q!bE}%j-6ddY0>1MS0!KFRE4*K>GLEy4?Y$#!?eFUwkH;=- zM;2373c^KSMXfpc7;LK823WHkbYVhWP^}=kNF(bmPgHd??hVUBI+Q-y1`9gL2ok}h zO&O*OO&6F0&M~zhKYky>cB8S3Q?qlCf3Hub52vyU9U?Q}g3PC#oAobE+yoRgXY1?; zO&M0=lxq*L2}wHTjVB((p~+VX1GttJvaYvIv{@vt5q$Yb*1MIuP33$?OPJ8lr$W^{ zS%&mOykT7W5~s$FZl%T533sQid|&Q%b~f3wRxH0gzY`rWPv0FgFWK$g5>sP)dwbHG z+#L5mNoh@!+OT5Z?A*GE``wM554XqtPuEvho=5cR^+sZLP^;OfyXuWlML+5efsIb# K_(MD6h5rGrp68$d literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/PlacesAndGeo/place-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/PlacesAndGeo/place-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..22c553cba83624cb50f1185ff42010da6d054434 GIT binary patch literal 810 zcmZuvO>fgc6f6=lCFQ^YaRH>KAn_$+r-(~8LUN!9SfWyurUzt2(c1e`ud?2Ccb^kz zmH*D#PAU)_e0iRonK$$9A6~L2(^Hc(HqyV&kP0Kx$1+Izy-M*M0~U-YN&nSsBZ<&5 zHXUEg7&~wNxseuM(Y)+{!(cLDM^&9EnH%=3<2>VbRacC8fx1LZ57<#$aZ4^eH0=4` zm~(FVmE~0t3?HW6z{e?4ZM6fg6i|U6_0rgqlQbH5W@-WsD{VF!_6}zMkbYKNuf9u- z2WHr7h#w{WFR?>}f~ayViUh7h>b47WQ%1t%F5;Dpj>F^V3dw&ak|JWQ$U=%>7|fFX z)7Wytg_5Nt6z~IGH-8uN+MCrR^UmoMuWM=1LG92&ZZzRf>agfJq(eyW(j8lCe8`u& zAu(3opqN8Dgcd4b=*d1KUjyROkS9kd0t zZ&)v0N`-^LAU#O>FW&5{d%tIfPjI_^+r{%*$t>DkK;(;}sD--)*P_`Xv{?iE4WIE4 A4*&oF literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/PlacesAndGeo/places_nearby-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/PlacesAndGeo/places_nearby-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..f91072f5456be60debe2565967a5be8701882fc1 GIT binary patch literal 212 zcmY+;JqyAx6op|2iK2_Bn~TIjU2NxDgbG^eP!O$C2T9wj24fP^6e;3=_j7T756`JL z_t4)iRR*w-RfP7e@}$E_NV{6F42y$AX3~lPSp^}T#W!v(8i4I;7XxfQ%|hmDRHOfa zM}h#_x=aPn6b!yb#LT7C057n-qO=WY`nzwd~-h$3*;UNXsf1`j`TOwwE z3lBvR3}sU=S_+u9$_}e*BLUuIQxk4_F!Uu>MrR!u_$SJU>$+Lz?JtBhRB&yrt;chT dJe0=voYBHD?FB~>ZJeKpd6l1uSgGO@z5urAME3vy literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/PlacesAndGeo/reverse_geocode-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/PlacesAndGeo/reverse_geocode-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..96f7106946f222343583443faae564bcf5b017f1 GIT binary patch literal 2216 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 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Request/MultipartWithFile/call-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Request/MultipartWithFile/call-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..02f96d8d8bf5b1715bdb09864265a5399c6ddc9a GIT binary patch literal 216 zcmXwzI}d^|6h;|LeUKOjH@CXzA|yIp7EFYMfdw%R3;~)T(i8ya`WrGVn@6(ZB%t#m6M_Ko{D2Hq3>6YvK0w=n>AXZLPGzKqsssV@5IKoaE!-wJPAk4Wb}AMS zEGM1byWhRLv)~CPo4dLMNNc_0YN2@BvQYXonyflyWW%+2mS&qsC4BHnLZfMRl*R}R zupy6`t>U8-tpWHwfPL$~PPpb3|Fi~KRZ1MW7QR(#xH+v}asA#k05(Ur6MKVT6uZ4G z^I#ai+0Aq2u>lKcbh&s)Gm>U`_PQoL1S5n4=HbDdMz=~9GjmEe(>9YWeYV-|`fg7b=8~7ZeDA(Rc82w^ zGZNrn++FD2j6owW73->Ez(+t&4A{Qys?F)8h|mEH`{OC*kJhZ+8rXa-y>Pc+0irV8 zaiSEKjTMeOPatouO5>I%^QAoPs$6Q}J&OvS@wm0&qLqw1h0;1hC<({87S^e!ApDfB UTB*sCm?ZvR>-+=i<(vgi-gkOEng9R* literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Response/ParseErrorJson/cdesc-ParseErrorJson.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Response/ParseErrorJson/cdesc-ParseErrorJson.ri new file mode 100644 index 0000000000000000000000000000000000000000..51771e8948f7a709ebe7e9bce5b592359af0091e GIT binary patch literal 364 zcmaKoF-rt75QVppKtgFsmBn51V96beR8L;-TtFHTR9U~IJu6^xO z#^9X|2=E7QSfa1~r{}#1bZ~Jr@hs_c@&L)vbU+(9EH_?K45EN?^R5lviee5fcvqDw z+hu8kSct^>X*61;K8Lj@7g0sr&*jRK{*n=M(N(9~hA6GV-_fQNEH^GEo8*EV4GxKj vQy7%n<1EotcSetOJl4LLQNf-ww^fZuDSOv;=gxgw*0p5FQ0Dj z45Q;#R{$IJ-Xq`iB^yeS_!Fy|!cbAxm=hOlDX;VeNq~sr#NVbb$&3cz7@bnLNR3v6 z00&oLWQ;aD(rWteW+mbn28}IiS!o#m4Ew@7Yy;px_KAu;7_6OwDeFLgeU&waVVHFi k-adr16cEz5v^mcSr!J6}oA@-fF&lHVO=VM^DeAMS%u!T-L6zT%6`z3wo6(RRn>QgY|mROA#**W5aIc3R~)uO2A6uJ^)wuo!QuZ5)pmWiteQ>rSiL7BQWT_Q89AO)bR$JO^M{f%3(iMK6=%WILGu}&xwUN& z*1@%41x2GSejKe>$wImrS}D4C#ZzOoht5Nv#)+}wn|p`@MJGZz&sCS+iBd9(NYSZQ rO{aH8f={=_S&B&oV$5N_8dTiyRzeee{NRG9hg2jo$T-H33Cn%~bQb7w51kpNmC~duBG$tWQ5&ymMF}R%NyuNn# z2*dqK)c{NR+@iavQyy@_XrN?KtGgEHkN{byj4rYVcMc7}etpQiqSZ=T1lX0v;>IdD z{%^%3O`)%wO7L32=zFs*&8^V@{{Xp&zhVTs^?tRPXc)U{pqd literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Response/ParseJson/parse-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Response/ParseJson/parse-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..de6b08d54e4e12dca0da4223fe5e0bda424ffb3a GIT binary patch literal 200 zcmXBNF$;n~9ENd+xI&kPwzg|2sC53j7^HB45N4A@czV&5dB@#J`0YD&d8dc>H(T6c zm7PTeaBBOMnU|=GB}W9ivQ(NOKygCwA^&k>m;%V+TW*(WDO$|{u0wUvqTNh=h>`?6 z+0lkq0@l-YTB=Vc0j$$~S!?FtMK(9OaKMe8ykS8Q6b`}OmWsOHp%CQ+?;B2iGr_)M R+6*(Y{%AekmOUyu)PHZ7KfC|{ literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Response/ParseJson/unparsable_status_codes-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Response/ParseJson/unparsable_status_codes-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..2a8ca391ab9fc8ee8ad680a7f1e4c5bb4e529432 GIT binary patch literal 232 zcmZ|Ju@AvO6b5jE9APoom}(&r?feWX(I%Bhgqk`uZ9Q?+U32eU#DDKFTfXVN@B6j8 zCm0?!x&m0M*ADrr&)GnV#2Z`H6o!hj#+%z4e+^3!$Ix$VS<6bp=r_MB%-uEs&SD>^xC8yr0hqED^umj*F$jXJm3W=$ fOt^-`o7b}R`N!}L5`W^0@IP|QZw|3ArMphwKTAy{ literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Response/RaiseError/cdesc-RaiseError.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Response/RaiseError/cdesc-RaiseError.ri new file mode 100644 index 0000000000000000000000000000000000000000..203ff9ca9fe04ac756cd137e9d648fb5a2e3dc49 GIT binary patch literal 334 zcmYjNJx{|h5Y2#`D*b?oh0PNS4fAEG1gVsv3?WP&D#tk_3n#YD4i*0%I~_olPCmVN z_ujjk)d$?SuT}xPSsJBzG17an)2!jQt<)ZCB1;TdeQfw+chMmr0krjd7b|*aCy(*> zN3B?7@}nd<$e;h5lO6_x7fHw>$HK!^_ay0Sb^y`DJmM5`SRb6E;6(<-;ZqxY7TNN0 zkvF_h$zj?cRw8oU+#9VTp2NTkALOJK@ibZ$f+gV2PG@CD oXD}>S!=H@q%W#ca68ezJ611e0^Ni^xd+MW$E-qRpg=!|u>~LtM=rANw zwElndSrmb-`>GMOg4LIkl=SE|zyR%Alx7Ncpi44cZoxdbi3UB-%dMC%HuM8*na{GA b?;26L=Ih`Nn;GL{;L<2i;ApU?YCL}f`%*_$ literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Response/cdesc-Response.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Response/cdesc-Response.ri new file mode 100644 index 0000000000000000000000000000000000000000..b8800cd23918ccd74fcc4ec6dfb146e1bf5b1855 GIT binary patch literal 219 zcmXwzu?~VT5QZ5{A%Lt7I`IU|$HE{a3^*W8ooYFg#zLF6=<8cB-%lV~)0DXNQeD1g;O`+iY_jJs>7Y*R0 z%Y?HFA*nPo&e8zl>Lnx=G}tDjVVlQXGHZ!f(1`k7y*#Dho`;ZWqa1RF<5p8`#D_Ut Wi+@hc*0Gu6ep<#WD3dKy8vFnrIzDIs literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/SavedSearches/cdesc-SavedSearches.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/SavedSearches/cdesc-SavedSearches.ri new file mode 100644 index 0000000000000000000000000000000000000000..48c6e6416b522b1e7d719fa9624d8c056e0d33f1 GIT binary patch literal 455 zcmZ{hF;BxV5JoegBuz^t+5r#~S=dPC^OAv9%20+Tojg>Ia|jDJj%=rhe~;Z(sGuTG z=ev8~vwRhA;CB6@IKZpYJ0@4E9VF7J2+MR|W9R`Ke%N7WBN!Jw)7H=clHyHB%xU0GMB_5O|HIu_Ax-FbibN5K zX+TDKnLbI;WcFx~X*4!7-f?SAlFzzvJGBSSe}I=z#mvP9?k7$-GWITHLW6IZ@P*9) literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/SavedSearches/create_saved_search-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/SavedSearches/create_saved_search-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..e56b3758d5c187643d9a40bce3b3f4f22eff4e79 GIT binary patch literal 802 zcmZuuO>fgM7~TPev2ox45`rCGg##Z#O?LnZSCcZJ6_FUAwmU`D9otB#%dqh&+< zckDQz4!HPWJ@4~*XaAf$oPJalA*b^C3~jAg`G6-y`nb|aEnXP9L3Uw~>Z(piGM*Ia zoB5Voi<*$>cs3_w79g_@f#%u&?ncRELJnKE6ueU8X%sx8dhJ?5yt->p+Pma1Z>hGX z+*jo2Hs%}E^itEdPDb}i@9yn~&Yb}Yok55OVWl+K8i6|hO3N!Bfq^rqlTkANhxWao za{ZZ0+*6~2Kz+YRi`*bWZEb5vmNDE6Y>YdoRFg4PnT)nPJ02Wotui*-EeK5(;|H}O zeU$4^q2LVd$2$QJUW% zTR`^-9hAY=M+f8DR`5PNcvmd+L4~hOBS>XoLj`ApD07l)v`)(%ot;$|F!!CtWb9Vq z{rT509Btsrp}vN4W;K_W@hX0)RX0n&QdlT#0$b$-1Hsn_R&~TZ;k%wtwbmD8p!`Hl zy?|4woUy9mH*_h`k8Z&;_n_{S9ONr5a5x;6dqw)>MJNCIHv~@L$Iq8B@^itLSwC&& M%l~`HfnEmSFI_bdn*aa+ literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/SavedSearches/destroy_saved_search-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/SavedSearches/destroy_saved_search-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..ea62fcd7024eb186a0e5dd3210aa7093952bd0d4 GIT binary patch literal 1094 zcmb`F&rj4q6vsK3qQJp}9*iDd>Oml83m!Di5>gDip^2b@#Y;oTwDWd%!gQv-nJzAW zy)$h?_;v8$rH9Gu_kF(K_kH&KoV_|dG$msPdU=d)Zbbf4Mp^tupmk)HmzFP3Tw3H* z&Lb9$###J%axI-hV(fHuHeu{6jGVO-Xx~5i<1iYJ*?Qd+N|uJb?N%Ohx@v01{Qjmw z?N-@(T61zXUpMUC{h6Pf_>6cxkA^RD&-dl93&mOUwxMvSIlrNXm4ckNoo;c?p$qIk_cQ3TxWPtnko^dvx{NfB0N@sCs+hcNL}9VXZsOF5MutXM*J2vuVp6bR;8cW)0INIh#U3_8Kr zDS20yN>(zMJ2Bn!c6!IOG#XCvcO%J%66`~1w8KBHn?)}nEkb^K%Mp?BCq36e#E`r} zaRKckw4(y9eV|~Qx>kX_(^i1>2vcH5oK>|eCe z2viu{+`nh9vz3|!k}_PtQ~lc9mcniYXOGJD3#s5vR()@dLc@3kejf6X_PrxsDBR0@ zHZvs8a^Qnf3QHFfG}C)L{#JJ2YZ8t7w)iG~`UkX+VCtaPGY&Tb&1x3^FPbd=+WYGF zKz_vSyfx#iWh!|ST>ARCV5uJp*^b#-I+Y4{c6RcWEZ*4M<}~Xtv-pFOMbdXa@jZH2 J^#K(j^S=P>aiahL literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/SavedSearches/saved_search-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/SavedSearches/saved_search-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..45dc6496476e581a3c6a48df3a6955ec07d7bf37 GIT binary patch literal 774 zcmZXR-D?v;6vg`>Yi)f{5Pi^xOZwmkvXg=!P7t=z1XnCbl0L{1%4Fvzd+BCoow=K| z75{fUl}ImCrlGg>u(*C1v2%D>Qsx9w(J@?6X5F zU+inXDW{fBRYf#-kcB*7#>kFvjlczhR;*xQ9kfvBQlbaDF{ojF+lo{jq=qS1OlAqS zM;8sE>3^tCr83uF$>4z<95uLy0hf40D3~iRh0wT;x!XO??Mi5yd!Z^4r}3#+B8%PK z(FOo z7&>P|6PKnLVjbO~oo9R$DCsCyb)X0MY+bfuvc^O9S@~iHXOP#P z?TYTyybM6(X2w?3TIEr)pc4E2es+-dp1mUd_Rl|jgrC1&ck8??X)dK1|(!v)y6xGS2$jGcAd~7 z{&&V7sgfW#z>$+Bd-lz|-@fs~$DhRW(XmN{ILdF&(WOSkPqi2M&#auIy0R!KNzr=3 z8=gddf4tDnAqg=WUW|pfsERJynl~Fq2Hweu=oIB7(}@u;n>Oc?zLtd$+_Riv?jDIw zSV(d7NIVD-7-e4=QV&@)&^S^MW(rJqe-Z$ zhBC7t2_ZKQ<}%Z&*R(kd30+A!#79K(_TawT3bDgW7^es|HCTdf&+mn1j+7axn(ysJ z?3$u7XyHA4|FKuK`UUJ~qzO})Rm`>`e=w@&u)u&|1ygHe$FB8yuH96=dW)>)u*gzIK*zfHJQ*^<44uVWu*9wX1uH_7tHsVuh(@Qvl zq_ob=^qrh!OavX6>t#`|K5GX2*orxsuYZH4tCek#3_7j(Gd9n5=2*K|(n+{BwC0#Y zViq~mnA~n6()qN$>~{7gjI)1&VNGL1AmYeQkvJmE#$*{L zb+DPrYFr>Xwwrjmf57v0$#j(yFV_FVDe~X_O$4iT5ZmFk&amI_#}6X^$!=HDv-k7siSdNiq)^(V=U&L{u? literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Search/cdesc-Search.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Search/cdesc-Search.ri new file mode 100644 index 0000000000000000000000000000000000000000..8fea4fecc46e3447a914f8b049122f423cd5feb0 GIT binary patch literal 307 zcmXwzK~ID*6ofgL7Gd4QlZksU=?@UjuNO>YlO8ZGu+gLkQo1!ZvXrz%|Gs6>|d9K;@p1`}RkBuPi`aHZ8!PNzpzxuv;0G zuwU~85PV9PyZuUG?Mtno^Eb-KvS lWc9c3Y7vaw=+SvGO7&l*N%$`q={mEVi(8Iqy5#AGN58-&Rto?C literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Search/search-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Search/search-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..4416906415a48474a5d8753b85ae1acf39118c4e GIT binary patch literal 2769 zcmai0U2oh(6m1Y%O8deC>PwNh7$Fk0*-calQAbEyv@NVeXqBW7)heoH?Ys6g_KY(# z&Sr}c;!p86c;?@5X2#y7joL<0;*UG`tMw@yklq z(&79Iwh^Q6CZa{Q%E?SPa=brl~vyqEExQ4=5^2!UTxvN>noMQvJpgPtEPrTH(ymfkc2sJfP~11y%EhqW{6j(&9iqe*zZ+?7M0aDlIJg&4V!qte*@HV*cV1pQq;U$}hN3|v= zE>JNojjn^EpIJLm6#f~Q1fI1nl40rDu@KpXClo?T1FnRrhfBSb6~|ZsO9pNp;}#48 ze>WqEqLMzz;U>vptR)%x?x8_lX|0kN?i%QNCT^VwOAIU!A*p3TyES6lJx|f(qQ?D& ztaR-&uzP{mjC3IoYu!>NlphQL8;VsJ8FYj}Rh;e_?I#E|_I(j%A)OIsy@AmlQK?sa zg$z2Uok!H#pW4CzSKW++aGimr9IVe=6%}fh6z^sT#Hs*2EXbL8x$9Ifv|-bERkWhu zVRsLpG4Zq0r}X`Uhx><^tGu7goqyjG30%W$pN58k9G*J}?mhQR3#uCG_OoPJ<(@0M zT7gWjgl~7&8qY7>^Kyw2L02^5ti&t-ivfqIXuD_Yu6 z=_uf-L#c3NgR(39O~-=BJtoTiK4f> zk^BsZ6>QEa&2$Sv_YEE!ygsn)RGc|zM>NIXzGE0&*kC(*dyMW2{Olhe?@y<_ zIR3D6Ba>~(*q0f!noYMmxC8Ld_rQnNe*ipaXZV8pKXN`+gfqx0 zHngbvJl?=>v!^5Vwu?G`j6kz6ZT7rt-iE91`CbcauAf1uxB#Ps50l=R_$702a4^4x l&x_s5A@!U1NBaGby_m|Em0aMPEbOH*sM3F@jm*Lu{0GOP#by8i literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/SpamReporting/cdesc-SpamReporting.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/SpamReporting/cdesc-SpamReporting.ri new file mode 100644 index 0000000000000000000000000000000000000000..efd7d21e0d917dc09152628d4cd6b1a2405ffa3a GIT binary patch literal 332 zcmZ9Gu};G<6h$*2JG7-jT@Yfz3meJ&ykwx2Jd`0#Cl8gA8f4+bmh%F?kKKrY%G1;J zJ?Gx!M|h~;TnF&(La*%JohPg1+7Q7u2e0~Cdl%3Qp9IKuC)jiIV-R%!sJDj(;Qt>^ zcBO--nYdTsYw`dQKlOS*3d_o?fTPS{QGFPzOPR$-WG>j_759k7jwJFNrzJ@k-8c8J;Y|&XYUKlc$QSPVKnl1_{tbK5(JJjdPx$?n$ mE7a)_?9L1$s-e?KpQ?NjH^$(8_MDP4Wz{BT%T(eknf(G7y%^&lc{;bfd8rWkf(6G_anXiP)Mw0-Q3OlQV7)5XPq z-ZyO_fQeTxO@F*M@B2RAZy!BAmDKZ>ck4&dWWoowDU>V?f8Gr^7I@iM&S_dxgZArukXnJ> z=aW`uav#Smi=U-PqRy49WzhB=S_N6Wlim?6jb>B$*+>M}$uEue z@XH6aSqyZBbindkC&q||3^~=|5QFj>sx#KUWNm51t_TQojkPK;Ymt-)RiGr4Yawdm z*-|K34ZAV#QUu?iX89qaSRLF>J0+kW&R8(x7HPX~-x#N638;*?LEgq^d#9~=-4TC~ zhOdBy@UrfW{v9GA>fY;otSKre3IzulahL<{vJ;P#w_Wy7)gdd5Qc(H;(Oleo?^e!^ z+%9vpIKj}O26{5cO!0&2-H@z~CcWd7wm1J;gBooZ;ktcBn?d<{7XL@(S^U1o)=Ojg zC*c-njF2?Wn_6B6gv@~tVEUrq*@SPT7gE9A-d?_z#hcqZ0_WXkS^P@LBI&bEd8TNG Pf9Je&o-7z*5iI=!QDSks literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/SuggestedUsers/cdesc-SuggestedUsers.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/SuggestedUsers/cdesc-SuggestedUsers.ri new file mode 100644 index 0000000000000000000000000000000000000000..4a56e2ec2a0d76ff2507d56c327885a24451ffb4 GIT binary patch literal 359 zcmZ9HJ#WJx6h%E$;5unkr9)M9W9n3Uek>lENDS$a*b_sA9U7q$WAV}c{eqn=5z~8c z&$-;?Ej;f(Ob_sB>{;lYIR-8HN+Cv`4&ii?&dX!#q;&|;X3Gd^{*?F90_-=32H@rq zMcc~2>&)B<`x8chC*X5ji_n_cO)UZ=q0Wv|RI>C%=i5{xc+_79JXYOVkP literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/SuggestedUsers/suggest_users-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/SuggestedUsers/suggest_users-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..12f4925227eb093619669ce27307c256d698e137 GIT binary patch literal 747 zcmZXSUu)Dr6vZn@tlbw85kwy@=}Q&a**-e!pRCx$fCbr2A0#Ygc5<5xO=jZEP3tOt z0>88~NmeMn4(FbG&TsDh!wddo^~p%i7kYP&RGA`wq@px_?7FfmnYVEz@|G z-6|rqoUhK-8RzRkgT+M<9p4?9N6RIjwB5E=((vcQmUCgRyOwjmvTIP&13pPwVaer( zhQGM0`6{d^t!S%g{xJ8E?)_OviOvC42z@M28U&Q;1~o`QSQ@(nbJYvRs4#}Yq91`; zIRc>zut=TNL8>e?#=lyWJ`rTMhy<#4*@3VK+V~M@ts#^&8b$Lc`!DgwTIlO9O5=f< zABEJDG+reR5h|kAamEU~nbH7pDow)*BOMd1VyDwnRwA*!7aKz>qaEX}?n>5Rvkf2N z*QW8)#QL_EwQ5wz^9{%MSBdC+Ax+BD@WZge@13&fhVIg6!XGqvdlqP zlaYSDuvYBe{yVF1NAEYmpC2Vxs>a!DmLH_?vy%|>_1*^F!LQ#hhZrZd+OiQT^HpgN N4~yY;r*<2Ze*s%){XPHy literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/SuggestedUsers/suggestions-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/SuggestedUsers/suggestions-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b7be376cf4cb3afeb5dc40cad3fff5f2f57e9cad GIT binary patch literal 1032 zcmbtS&5P4O6!##}wjTB%Ui9#Ym+mS_7f()INx>F_EJ!~D31yikZ_~jf6X(rz-4*|L zXOgs5^rWYO;l1DIyZ>;-9?##&l(9*5dx?50v*bj0v427)&ylo{6?x2?&SF1U-UzKx zF*ctrmW(ah3Cvc6ik=@YjJ?^64QjI~L@L?Smf@1CFQ#V9(wPz~{eTUknk!97PqJsf z&wS*H=Ze=`Z`@1zv40vV)J9d1OqAlcZw^vA5mx5gwKw*bvHv7eT;o+CN}(}>&q(e6 zS;URrT3(TIXA9=|)d+WYkguEc&3Zar3cDxW-(9#SexkFV*p4r7i+(TJ6vBL#?|8eRj|A_Dt zs*N>Kx^#N6|7zZZLty?h3-SKa^s literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Timelines/cdesc-Timelines.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Timelines/cdesc-Timelines.ri new file mode 100644 index 0000000000000000000000000000000000000000..164dc3feea7fe43fac19ecb13ad7c59936a39e6e GIT binary patch literal 612 zcmaiwQA@)x6ovaBZQW*JQxq8@^ar>-r!O1WLBWZ3DGGTgZFh&kv?)pI@ZXzs8*_8u zWA3@=gWox@u(g79;PKQT7k5Y9nK>E4zHHGh*NuSte`}U|& zq9~I`$$HlzPULqAmdREmF43LpCTFxTO^{a$uAoq`Y@fYa(63B^c|`sNt)$AT0u0w! zgAVbGF!pu^Mrdr!IgJxvj4B8$eE#M6A>xNZbcxMb_-@wLR_Z%rYNI zT*SxU;gw&=y|cTHlU6~IEK8oRd(OG%9>0J8W%|j&b=m9&MVQ9G*_nbkc6SFRq{7>m41X59^RCS(x;*rogeVuS1=t zR4r7f{Rip8aV@NO)B7g<{Q8-ng%t}c>Sb^5!zrQJ`uhZZu-buNB0L*GWt<0#1-%24 z3qUoYPy9b zjZ)^Kx7VAz1@pNQ`t=La=bqVnz)&A${cP+IVd;JC(j+PIeCQj|hJ~q;(iAQcwM=%0 zyU7B5;=J%w%q2G!oMinMV{JUbWGNj~u{Tf%4MwXKQzShg)Zh(#GaB8Z!jQ3N{ZGeM zc$_I&NfzN(bj|u#<4qxqh7- zgSZIsXbBf2GPqFJN>bUVa$&J#<%Mz}ECSJlbD?C}Lj7{w(wpvED^}mFtHoCTaMpnN zmhB@dFtwM4tTFvjxaAq_LlK-em3$*|h2YSGnRkcU0)LL1OWiU|Gh(?wdj_c^AK^@v zq(fslk|HSYfZDhugFtow3yY+sC9BZyC-m(>k^?J4WLj79)=u=2tFe%CCZ8R&_5Zr1 zekCsdr@BJN-n>@YsItYg1I7ZiP$;$r&&xXigj)a_oZjY-KWESU{BfNj6c zLhiQ6-}`0jF3|Ckvj}Gv+4ioP;b>Q6-$b;vCGAM*?#$ep3PfF_U?G?v<6ZOZs1D&J zS#&{}cD+QjC*NrLccWNE8pFzjrZjt0o+HJ_QzG14Xe09}Ri(V4PmYBk9V3dHZ+5MZ zKJ-utO_|zcZjN&vgSk}1l!2PS9NS$E*p_go?BhEr+oU`xOB1>2Q5r!e->C#{X@X*x zM3q2O$P?i;4t7sjN=}Z(%8Q@`4Rqu%gr6vQQ^@8l**38WQSw+|ZOSW!=`o7QS3wu? zz1WEjoP(~BjX<&a+JG{e5{GYk5zRageU7W|yS(yiK?5sq3nKJerI&Bv$w3r4`{gE93UN2Ag7UeJb8 c;rBmwn&j>)nJ4YvVnXrildf%UXmdXEAIzx-fB*mh literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Timelines/mentions-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Timelines/mentions-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..99dc1caf5909324bab09c9bd2c51027ac02c6352 GIT binary patch literal 194 zcmX}lK?{N~7=U39u_6hAx^v< zo*iTbux}nIvsZb}ryLPHsaa#WYzzVvCj_tPomA literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Timelines/mentions_timeline-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Timelines/mentions_timeline-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..937622f606239d9b664d53c9c3bce66fdd302a24 GIT binary patch literal 1375 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 QCZQQ)leWXAuXDfWKR&FkL;wH) literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Timelines/retweeted_to_me-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Timelines/retweeted_to_me-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..09aac66fb0797b5115f4f80b4dd36659bc8a44e2 GIT binary patch literal 1870 zcmb7F-ESL35N{DOrF}tA@d6JcQz;Efd`_R}1&~uE5hpbgB#s2KB5Ut%?Avy4=h%-V zZUy{3yz&<^yL(Pk7Zp{C5@kKRzmNIN_~U!$`NPvgs`C6muTIc4RL?$>gJSs5pu0kJ zSkE2JTO8zrqvK+@JH3+5p~>^pqqAwAPi2crYP8>M*6$CFkMjqeFO{q)|0;o;2=mf+ zdCrKwMeRPxA51!7oSogH{Oh-CeilY7jp&-e{--l$^y?`)Z?py1AUqjEOV)wGil5;> zk*tM|53z=F1>T}bwZiia?PMjK)XVq*EJ!K38V&Xb(|3TMDWP9JXHj=(|9$}fyciY} ziwKQ#oz1hX#>>ga*=T6?Cvf@EtgU@5W=8h91}*kh)U74)oVjBllwX<-`bwb0u3Dg#U&%p?o{J zEt@o);_qG>v`K$O+TpcJwa9Nsi!i%s?vXLXJwDgr5i;@>))x>DA(qx~#g>BgU8f|& z2D70uSO=elvLFls%Y;jzWZhGJH0kBd4vZ12?{Cne$R95fnWrHTq6O-lB<}X?Ct;fl zIDpDqN3DD%N`+w20WH==J;0xnbZLDIvw~GF(Of`o*+HDkntezqVk^9I7PyTKu>Zv& zEDf@kh6Bd`Kjz;KBzxZyi|KjG*5yTgVJ^o+s!EeR&|DY?hA+K*ild5|@ z+du}mg+hgBgc0};0{%S&D)KxiXFcmQ8QQlczt2XpJTf((QV5ulc!?u8VaK6Fc*E>A zhbQB4ulw#l@8CWoQYiEeobh9NxdU%H!3XU;2Ifdq4aC6>pd5TQQ)&>f9vE(pQhoN3 z&*LpBUtr}@-{Q~&Gg3~sEU+XrJnAYmG=-F-5-c+wcVNqH1ta%*<{$lX_d}@Tb(lh& z8w|0xX@+B5c~P3gwlnNqTuG^BVWsCjR~qW5YT!vh}{Bh2bj%Y(rl0%11!W z(^GMXSbbWUNv7q^gnF(;iy`Y9FGa%n{RvCM@pwGDQw+a&yxu-P!0SJ@(_$JbS!Vs# Q&v<*dY~4FMGG(aw7uW-j#Q*>R literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Timelines/retweets_of_me-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Timelines/retweets_of_me-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..066686eb4303dbeb74a83603b6ee3cd73a189eb8 GIT binary patch literal 1414 zcmah}!EVz)5N#zCN_(jU;sS?JKx&JkIPHxMptNc#jHrat^nju$THBL&>3Y}fuG6Ln z_$R)QS=(tTLFMT2?7lbez1asF=j_SgSjUVVs>La~R41ct(FmK54Z2H2XD50($*{p1 z{gbfS8eR(L&@eXWpA8usiVUStXkYx*-ff(mu&um^q=+?pRzaL{b5Z1s5nhp@au3;7 zFXzVD(S~Nv@AiD+hR+Po(?<8vi1@?DJtC+Kgq08QP-HoA@B3Wp=f)x}2|Z%ubMJ&*0M`JrbKA$2ad zEC>>uw_PPkJJwl{=-3847r}meKbWBltmBR-*kDDUVc2}yGsJNsMJ7De&sfq3o3DC* z%pkOa0e&rnL0e4|Yvu6DdCFlE=?-BLMmNs%jnQP#x$>82Bd#$SLs^8fHGxag2W*k& zQY;mU4JKYRE-i3_ptOTImm+CbFfV&F0O=2-Lu2^j%?;YnhveP3>U!<%1Sso*1^iYy{$ z=^hG!HVIX=H`WN8V;fEhkjw^&*7tJ-+5oA@rSCiFbZXci_rO}AVw{MC~#OB!smHx&{)oz7^D9?jil e^54R@?|ao!G^L1w`jMb#z`9^5k!_pE_xuJSS?GuW literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Timelines/user_timeline-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Timelines/user_timeline-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..0abed77a0900aaa3cb255d032dfb05bca010a140 GIT binary patch literal 2297 zcmb7F?`tGQ5WO6-dOr{mIRyPstU{7=Z+CNko2YEgBsgG1l8qosSbAn^cl)lVd+hGn zBzK7ak6--CxFZNyg1*_tov&`<>(CHq4j5Tyzcap*%!sArQQZlFC(Z%!UBT-WYw3oT?(r7rvKWb^w1(uK-?eWUT zyGSvlLzt|3c4V!g)}3n(Vyt|N#RY^z2v-ZZq}brLZKW8i$J7cDU>W4 zs9%p7GLr*q#r1cqY@sbbTtqO#ky)ZuM#O%sbhX2U>w&45jf3yu-JiSs;*My3Lz@xh zlKb>=+Ra!wqKvdBDbb#DoHK8wp7*GjjZDue`~@7e2l0M-*aJtrh^rPQ_Tc<9B@7l! z_8N2FCoyzL>`9ZO1vmLgxCIBxYv)ZV--=8jIP_pQSn z$*<6{*KQ>@s%Q}HawE zmAJ${oKV#vLs&z*34$!NqW;gF#IKA|DD+w&jbf-96uz9Y3gJlP3-CNlI4k*+oF_F1 zXony*NGUqXRb3#RhgVTEv3J4ST#jh4Z3n~&EtyquQ=_{mJQvN@B)o0E&86IHp+7v` zx({}|3Q(pN*|09onqUlM@dUV)rRq_w+dDIBN)T0rf~~>?8Ssj5%e4>Zq|-TUrU)A4 z7qNpI$x13RT$?(kW}(U@(wKWejN^k)Uk5KJE6qjv%P<#I$be!qX50KAMGvLWG~DB~ z&v3?Gm`O!U8K|j4+u~QDij5kLI=USenxOlhJ17u2?~ExZ=Ya^{iLBXh!uWOx$ctJcj zaP|WARqCKuZ9o}K(>!c55ezu1$#*y0#;fNzc|4--<8U~fJV?7wcb*G7cVT&?-L8_^ TpxN958n1rP(szBE@q+mm6SW|7 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Trends/cdesc-Trends.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Trends/cdesc-Trends.ri new file mode 100644 index 0000000000000000000000000000000000000000..5c1beadb72a91ea0e393f3e5548dac27bf76a1aa GIT binary patch literal 429 zcmZ9HKWoD<5XC(d+l|ve`iIhXDEI?3nNLfGCg33*QfJZ-WJLwhi)Ey9`t>VWhCtAC z_j~u=(@nmI=iR4~0AI$Q1a8f-N5yA4t;(Xdsy(_C()Fe)U+X_jq%6R0{api$kfocY zfw$-A&vU1F;^i3_v$WMtD$Yk?W63od@PRxlfDN4;tDQ2@`b9M7nQV%K5 zEGbDXva$+t4Gyug3IR(hqo}lIb91xeE+|dP$xP0-l7^V=n^=@xT3}@bw5T*UHLrx- zirb+ev8bdtn!$?8AuTf})xf|Yn!!^^S|c+>!B)XgMEFM&8gzbLi1L?7Zhy`m(L0sxfJKkfhk literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Trends/trend_locations-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Trends/trend_locations-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..8258208a024373d03f882ba1ed0a7609bd852286 GIT binary patch literal 202 zcmZ9_JqvfSa0zpj1o8pmMzO{P$%22A~{sJQF8sln)cEt@{I_xAgT~;D@ QaM&HiH9CE&cPj6|7pYM|!2kdN literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Trends/trends-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Trends/trends-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..967db810771b497900c8cec3e205d1bcdbd86091 GIT binary patch literal 1124 zcmZuwZBG+H5JqEK1WhzCe8I$_nxMwqwIAJr7DKC-NHC>@kV`|hchla6z1?$nuTTj8 z-MN<*jDG9QOy}9>WuB~`vRA`H9Wi#G7Dwn39fvPOBWP_pgDSQS*60s{*3RfkIERL@ zVgF>r*r;s2t!KK8!GLXM`9z9Hv+Zi%5jU54#uzQnQ&g_WHhUR2&W7unz5aXV7dL!n zc$PG}PeTIV8=}jNvfvT~r!(lZp~MnuR(y-d!c-gJU^9%wR77xg+z$>L-Nxvj<=-S% zmp_HVHQn7P0G z<5N{E(MH^0JchCeR-mWl|7qwbNi+0CH)88w8~t%()b?SHV2qdQ=F{QxGwP z0X<-bW(*^e_V$4SD0PO$Tku5dQiU06BCmwXeFx4GB#2`LeX=rv;P4Lgw6sa; znz7ShO8f3D6N=nQD?#X&SGi>&;tD2Mj2nS-A~ac0P0GUN+m$N+iQEOBb0PUe;++TI zrJisJ4?zS;v79KD=C)Yb0bWI_3`;G~=UN<{6@FO=e{h?O;Q*rCI-QD}0tGBdKt$`I z`mgg|^}Q@ZctS+fYzz#qBbmntC+J)m+Jv4&QJ{B{KD!BFI6kwxa3!Q90a86jAm*^_ zz|`op%71xlAcb``?z>(saCl%0U+k@vD$nxExbU5A^rk{$yWI|(VKZpGEc}rd_ZO?X z>rFa_weB;Tpnlc4SY~|ipdYlh-&1z>q4Q})bsui;K2!mFBgMq8@5iU8FYm=OlVacx DlR0jHpzF^nk1=+SrqL)%C8~9jCO2 z|DCm+1fkycASjawlBV4Wf}JNQguiYKNxcCwmCQiuwXtO@2EPiT zV15VnQ3-wZO=>(c(Q$(tB;lvnAwoe^InG#)+aYz04>MD;++>c4O0v`8Dcc~iu7CC~ zEze29C$SZTOC?K5n8Ocr4L=Fr#G>|XXp&tUFvFj4-fI|Ya-ivlmU&gi_4Wwgh#m(8l=!Fs)epoaBejKl*!qI4y z25Bz|PujqihdFx9)I|NB5C157FiOHlul7#f!|y+@JCo0qT(R98n2&3p`_Qf$!CznT B@D%_6 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Trends/trends_closest-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Trends/trends_closest-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..62f782baccd4f885b5722c1b6bd83053691ae9d3 GIT binary patch literal 1217 zcmd5+&1(}u6t5s_Z4m^;i-M2nq185<-t0sr5fcnpDKS0B63S%vB|CI7v(CItO~wCO zJo{!h34Wiw&Ca~}z2C>1y}o@W?haquREVxwo*?BmOKz)Z(6~bmP3F&2Z9RI5MAYjK z8vCP5MTAa>VekD&h*4Ga=$G1d)bESkqMT@zT5-R|KauXDEQH`@6o^)i%G7YI(CJgao zsT_JJJvvCOA^b#jEi#7k2+1avo^zJdIWqyoI(3EF7^+REN;9}*Z181K=penubeM&P zQhSgN!B~QY)GDhC88nVVP;w5osC`e~NS}|P3u)=e&efHiXatW0cDgQFUA^|TQ{P(e zL(kUrly;Og72NSqBH;i literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Trends/trends_place-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Trends/trends_place-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..fcb1f66f97fb8c7c67e602da1ea38df5328a1781 GIT binary patch literal 204 zcmY+8zYBsu7=|6fdLgMj# zzxut`3v-8VqGy&P^ulvgo7}UwXRYwYOJBjdQS^jVGZlp4BSQd^pV8xz8`OsS3gQ3|7|C8 zb(zOJ!|+V3d6%oey)S6C6y4KH4z-YjYW2u7sg1Fr!fr?1c7hi5C~AGBl+K^>AB};H zz@6kpTDJk%#BzzM$qJgw>IRxsoC(MUkan~yPQOzDY6#pZJ=7vSc*Wc%4u(aL)$>+xLcZ r#z1O~OHVrhhMJ}#@(g{B-2sCt*Bz3`zx+%}AT&LzJxiU>v$6II)sD7q literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/destroy_status-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/destroy_status-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..5a0d7af98595a6ff3bb938d666e5bf2d30853f1c GIT binary patch literal 1325 zcmc&!-D}%05bt2PUE9If$I}KoJXk*nar!otGThRH8rCw>bT1|p#l9w5Wy_P~X6c`` zzi=nZ?Yeca$Grq1o$h{L=f`X3?B(c4WsDt^%M-M7m8Z`{kc2OCG*+wSg|Xb$CSbu} zn1nmyg|HSiW23>@n6dE!(VBOE)b@knkZn};REkWo*S`M=*H?AL7!9inEbS`Wh%2tG zNjDUG^Lx!_uK7&!Y992Tqy#2B@?Z?uIfAJ$6PE&W@Z*DiFn-YDQ1bHXlPGaT_19gS z%_KaI4I<2~tqhBz9Iw09)9Gfah;o&gh*u)o>+VIBGB)zm(NJllMZ`qzh9%)?Tq=t& zCN#VzOr;eWx1yXuZBRo|8w*ox(7Jo2L0$e8d)N1S6>DzsLW)9I;&rP0@os#-yDDLX z-)f=J_%WF(Eq=GY7O90W26cX=CB~-VCt%pPR#~-rZIPP zxHP~u0`Y`vE=ArV{Sa%kwJsq&(3&sz@1`|ge4I3z+sapP12gVw3g7J0@=_~=LMPi`+DJyc2}FMr9~>OBEQdKVW> zd_o={?lF(Zf@^#J@alQ Y;ae%DQTs`VXv-}9ao@MDp1NrM1UIm}@c;k- literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/destroy_tweet-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/destroy_tweet-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..dc7d4d0c2a9aece51ff809e89290815078b84592 GIT binary patch literal 191 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMtD$Yk?W5=u!eE-A{dj4vrqO)X)wVsmx#RMH43 z&nziPEwZu-at#i#vI+so6)U4EwPtg3v*Io&P0Gnk&bN|=nC_cclwDe2Wd*dVG&eP` zgx!kUp&+rSq&S+vipwD_Gbh!+z#y8zQ;A1IE3qiOSd-0~EyPnvJ|{CtzXW2bei6_` NKn}=Cy`m(L0szoZJh%V= literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/oembed-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/oembed-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..3edb1c4428c572f92d85b04c01f1547ccbce5d35 GIT binary patch literal 2629 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 Kk8+?huk$baxl1en literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/retweeters_of-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/retweeters_of-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..660b76177aeb994e8cdb56ea10b3ef5a025586d5 GIT binary patch literal 1142 zcmZ`(QEL-H5UwDxwhxLFA5?IN4{0Ujl1DcPX=zFiEJ~6-NC;(fH_5Ht+dX&Z8e8#C z`3s%ByH-o_ap%6B@0;(Ny~o?v zE8g74e34GBoh-7}@adeT45pdgKv@7;81(y4dKLwn%)%{k3X~yKYFfkA>_NvPEzRX8 zWpK+5cS6@^ar<=S5g{WgyojO{uX5gckx*$M zi`y?pP7+>dl`Fy&zM`+|??FX&{u^gLDYS5?o2G(q2uoH)8pvGcZ4N zPF^qS>MTSdbEpD`dCa=j=(;c^r_8zw=aab0?l#d^HZS0?_8a2k24Ef7I;rh^Y zwM7`-!~9hGEZj>A8=?#JZHL)p9t6SJ;CyCWIw|Mj!Cf0Bhweq;6KKp?&oG0q>Eu8m0N`MPm*NVRQ0} z%Js2Kvc|mHUXDWQ-$Qf1(Vm(bv@^b=VyrMncDnquJml zX?BXoB3EJ;I@Ae63>xM5KjExXrTl_J|NYL2_X0Zy@HrftO{lcQ$DZYRLYW2^S0&5+ zN2IT4#Lj4?H1_-b`BvP1wO_4E_b#K4@blL}y-;tpT1L%t;s@i258+SIbISnu1K(eQ Avj6}9 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/retweets-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/retweets-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..9ad917a9202eb22544ad7a2ab390f04f6ae5bdc1 GIT binary patch literal 1057 zcmZWoU279T6s;h!wkSS`4=Q*`g{p*X^4N)$v^1p)79>p{WC>-mdy|Zvompq@B(~z8 z@)vsdqmk0bxpU{7d(S!Zc>7Yk9G}=!h$C}zjVCOp957%4d8ArwFs`n?|5InWYeuAC>hV=k)_7HWkCs)<{J*5m>Dv6klg zt1`G{2RkLh^SFIB^oXz|D!hoI3|C#MckHG%k20J3NERyUcl*%-De@#Kc=XX7b0kz& zlEv*;LnjHZw8|A>2H(-w^-n_?cw$2;m87hJG5!q7Aur|8L23=*FRFWyF_cG0HbRe_ zv#j@}DM74Lx0p?#Dniwo!J4tbhoaDmX=_Y}SxG3h2k8)uC0I$VvTjZDe#qmqu8{(Sgfx+=2T~r*Om-P7K5+O@nn{XFo8d zhWnsFwM8k0hvZE9W%(`*o@}me zVnRM+g&D_TYF)-vTSmqyTwxc^nGj|O8hzO>4e+e&jnqxn8rnyHAMhSqt5KT&S~TMD zAdH@0RW6KVx@^R&8hul3Qk%c;%azb^ zkTeV2IL}J)TI2$DV4wEOCHmFmVrMv48hgE7vK6;qf2cl2XCvMr{QmQ?cKV%Gv#7~E PC)*Pr%5UFwv$EkIG{$7> literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/status-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/status-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..93d5838f6450c8e80d837263559b68bf0b575c08 GIT binary patch literal 1002 zcmaJ=QESvd5UwC+Z9#k}KB(Y$K2+tn+=(ylA*7{u7_cDM>w|=&>?PC7+D$g@PI|WD zpYj(v$*xrqeavL$`@Z?++uPfxVsCzAG9eDCt7D|X;$J8S%*D9ZP%B)Iu-SKQ*Y8+{55o_Wp(jhRk&p)JMG}Tq<<7UL@0=AC!#3F z%OQE;!_1UXZZa3iT1DgGI9ek`UO&3X6=o9&mA6Dm|3Pde;h9#YBFy0IlKX&9GFYqVElRnS;5E1_|`5^ zyozmijo()3jv_Awv@kPZUeYmz9m-cn9NLqTQ0gL7CDo7}0lT0sbH`%zm>2bdK zFZmZbn;%6fKKpWz-I<-weCIp&_~|8kIXhD+V<+YM9Br<$__^>R|CzDe)&`Boyva23 zcNZ&REo#PQllg+N#R}1y-TSDqH=VNWs!pUx6?@&jdCv81T`@)l>H!_^7fM`aYK!_T;5jXpN0kza%(HY zf*`}Yk!{IGsVag@r6%B&2#!Wa!4hrIHxNjrh}D&e{8ypo7O$l!gvAWLk_yfF+mP2b zr$$7|txzS*@Ov#ZX6-c#b;AttiPn65d@otk!uu;&!0Yo16vj!KJ5)I*qCEz0E(E@#n@s(173 z;Z7h`QexUPrfyn1h|WxtK)*_ZO1@Em8IjoDw9}kswf}E;N~_$9rtM<9<9IhC|3C0X zKI=s4kRblZO@0N`d2OsJ#1E$z7_>nBcR_8hk^kst*q-zk5YN{|qGYe@6|kaNpvDz6 zVgs~4+Q6OQz~RGW(a#=4Nd}-vQx&q48+e&FHls(jy2c?4?7+F^$a#Fqw!#}B@$m34-iZ92y#ub7tt%q` WofJvX?P;J%JNj_{FC(2e^Zy1GV2j%T literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/update%21-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/update%21-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..daa2f6f3b81258adbae9ef918fb8c1d5cea8d6b2 GIT binary patch literal 2627 zcmb_eQEwYX5N;4MrR9MKkdTVRkUpe^)OMsI(Tk9rk_0T#swAm+up(=HH;I?t?H;>( zN!?POkl^?5`*`4+-Mb{Mn@AvD?DKkV=9~FuzS(!LKg~Yc+qQX@ZJEU*4s%;fKGePO z>IY3-sKB51vfj?_cy;yQRENMW%l3Bm53=mwlsWj@ozZ4*cQ?CPH?vabHoKKPK2q*k zQ)e06Hx--kUUqX-D;NCay3Ia)-R6mM>e#7z-rIbCg7EjA#_*oPoJlqKG(qPoXmd=B zXSe3b2NfFM+w2`Id3#tY^Xvz0_?q3kAs#;&uYNo7%rp<7_Ss-i@JTsKNXvaR* zi*joOU$SMm(4J{>#_Eo97UVuP;>0@rf{R0nhZIcY_z@cv+b3E~ov-;oBmq^TfL%X-~oockYKH$DwiNLK?9x59t6+18^u)LGh>s z^rQ5jsyc_0{ov40$v(1Yk7!{V*BK;s*TJ$dvT=V%`5X>%3_{1ogVv?3gSN)gDQJ5=$LjBvx0BPD#d=XgNXl^Omd7jH*rW!25<9J(Y zsQzQjmA{vQ?v_>sl(qz934m`Mnt~;aq)=K>9E?(!BaI-EhfIz@zNCUzaN08X<^VUQ zWRKJ#2vPtKS%@y3GRI8!9t`_Kq3+B0aObgg&<|LGaF~_RJ^kxc~YvJWlH56)1SW4`O-(H)|G|y3qx~rG%!XI z(&aQpv7jSoD|&h6Dec$j&u^LHJGQrF6FARPKN#}b}S&=L+AoU5RWxBdSJ zr@9$DcuB>9bqJi9SE(j^av!^ySr>a9CTy)hN-8vBM`zPg(( Y3!jyGHVEmiG=RPY{E*9E-_69}AHL_4&;S4c literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/update-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Tweets/update-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..100eb09aa13b7d14776ee4c0a51b04b47ea6a881 GIT binary patch literal 2530 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 GGyMasa-I_a literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Undocumented/cdesc-Undocumented.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Undocumented/cdesc-Undocumented.ri new file mode 100644 index 0000000000000000000000000000000000000000..c65ebf6fabe7a471a72a46bf33065fc314e54f5b GIT binary patch literal 361 zcmZ9HF;BxV5QQ@!JG7+&7KFMWOROaGdC5R4Whg^QCl8V1ILN|{Bj-Z?K29PeK)2kT z?tSmwReXkr)2mYeZ_Zz&J-T|ZT5Ju;+1MO_mh`$Nv2iqRly4{+MQ7XW`w zI60&ab_?$){pZjD1o(`gu+BQ^u@@1nvc_1QiYOEjan2t9W6{{21fJuR@>oRtI?dU$ zHC2L3fW+$_li^pw7heTMA*i4^TPZ91nIK{jth=GIMg=WBzrE)`yKU=<@sC*-$Z^e{r AUjP6A literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Undocumented/following_followers_of-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Undocumented/following_followers_of-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..9ebad716951f01156543bcd33e159a30f7d9ecad GIT binary patch literal 1003 zcmbVL-HX#e5cfgi_3DEUq7NrBM1=Dw?ST*CmV*?p#XKBHuN5SevPq`xYLbn!o2#Dq zzdM_xXZ=F)Da&T&_c6cO+Xr)Te|oMHAx6dL3$z=ZM)#B#`bR6BWqPZM^|Co3nWbKN z!W&OQ|HW*ptVI%HI=-9PxZ^v|X>V`JKUhiy-sGw2oYoWPWrsMXHPA%k=DUi%d; zCz->JKYA_AW&tBeDr0r7u4SAt1X_pI7WM01J>*X(;w5|eS9flRyC$N{gj9aMYou}`sE Fi*L_EQAhv) literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Undocumented/tweet_count-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Undocumented/tweet_count-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..12653ac3fc40a5ab062834c3c992cdf5fa850588 GIT binary patch literal 518 zcmZXR-%A2P5XXIp%k;&EenCAR4{VzWj`IIHjD9jD)C)zn0Zh!wji^aot8Ov+e3Y}<3ls$R-9Wno#d%fHMU*LglaF2>pBy3)GXMer?0? zH5e@*9FZ1s(Xd`8(6vvqpze2+O09eb;WN*c7Ku$pYArr_lpthCpysfHwymt<%|(Lk ob~`Nj?)hy#rtu5F1AKko6$5S(5w)neTT5d`EwgvErj9K30}=V!Z literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/block%3f-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/block%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..f7098c058b4b167cd235ea2da1f3ed8a5e9f4c52 GIT binary patch literal 825 zcmb7COK;Oa5bgn)(s1B_kPrxs!Ua$ir$;ub>Q+sJB`TpbIUp-SYkQI`UGJFPaRWvC zcXn+9MVz?oVRq(w&D=X&iN}izDug&Q-!74NRA!G@h%xHyJ z%&wL~tQ=bRvTvD2^SKz*O|Dfz;#miGDeZMr3*oVw3Ju>EgQS+0U3N&~`QJSsq?KDM z>s>T`ka_O;0=coq0ow*aZGd+OvhlBBRY+E53yoI*%0a6k6eO^;Tjcg9nnufiXwJ1X z*YB0V1DYNMs)y2?9DXdF|eZe^|!oIeNJK;P7kilbzsG)^Xy>>wRJ jeHF6vW_p+t`2OQ{m)8re^0+^S*l&*G(CWrE5C1;_;fob2 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/block-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/block-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..5261be89bdd38371f2064e3ec4ecd690069fefcf GIT binary patch literal 1085 zcmc&z&rj4q6y{)x0tXMqi$q^)OpuT*TuhuLrc2n3O(Zd}n3#r`Y5R6}*mkDAnF5Rd zyl>hz%?5OwyEpV``NN% zX@z%FmMn!3SR7o*QWZVb4>6%@NJBazlB>h}ZN3JdE?~+*J(PPVaXU6wNTrdSn~!v7 zw~h0?C;zA^-;gp+v+7Im%hyF#EkO(ESaXd?W+fgbY``3856&EM_;az@ zlkj72SWgYo&(ba~fX!&EGnKma=7B}$E$N4Rz7w$#&s2%~`}^ry5^nA6N}6}dlJIq@ TvZ(((BJQAz+5`ub`3!#pe;;a# literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/blocked-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/blocked-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..4442ecdb4fc75117ee2fb7a0a277a4c00fc9fe40 GIT binary patch literal 835 zcmb7?L2uJQ5QTd{rnEgEfw+Ls5Dozp#mSKkR8G}ISfU7}$pNgW+St=%$!5pw&Nj4& z|IXS@D-b6xYk53=Z{~Y@Z+|8pPfjTpVrZ_4^@=5jux8oH5QSGM&q>gV!Bn# zXoZ-J&Zk1m99sACwr3EH$KtT`3$1bzPaDBAY1h6KBB=Wf8on7TiBgki9hyqycHIyau`iA3T8;-!NwfypkLa1nI+RSmlzHSvF0|K|NY1 zM1yGhkKKuuX8lna+@rxkWqFjgjuVFnE9TOPI43W?MKphYmma3!@Wy3I&m6Ih zPKY#0(}8ogA$z5ocy}4%5FE!9W!JTf>icg!@fyki literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/blocked_ids-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/blocked_ids-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..3d42b341a566b79afbad592260b8b6524152e885 GIT binary patch literal 781 zcmbV~!Ee(r6vlTzfvp^NKwLoRDF~_TP{vxDW)^@H5muOfFKfgU~j+#8Bzt*!5`8~2Y!tp>Tnvb3gMMmb$7}^ zn=TZhQ8fR@?LrH)`JfCQ*wInr*h}NH#391k`^s^~ByI=3`}Lr(C6l&rOjL@U4o=w$ zJ!|zHYaj)OG=83t@OZ6NsXR*fio5zrvLDbInBlit5xOpEVU5S{zSF>36L8$J)Nt}3m9ZA+#glnoJ~13p49*27k4B?q0&JfRlup3nQ5 zoTVjv{13uA)qY~PNZJb7vF|phZ!52CnBy5d{CL|9)_%ndeXA6x=00Bmv;3R0ZaHnHx^wf_ZT;O)IJ@4|vg29NZuOGOeisAc+n~ z0GeLtJ#8g;Xc+cbolOaVr85N;+6S{;iIuM42uyb`jMFU~K@X1OV7>qT8>NRRIiO!r zf|BStwXB|{lcDd2V>k*Y+cH zD#|Hm7ph+E$AvYqHaV=W1J|{!nJ@i@)l1GNC5^}tEAXjfd;M;5;B3$*lJ~;BAM^+G wlYZt?2RjG9br@9?EAppRUr%+Sy0hll%PS&^=Jt*ZH@~&ZAe^~>E}X;BKm7v}7XSbN literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/contributees-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/contributees-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..e4bc1db2ecc56a10b6c12898f56a3e8bff735181 GIT binary patch literal 1217 zcmc(e&1>605XEySN*d?TLg}TY3<@+K7%RE1+oFUxM9@HS>_QPHtfaBMjkK%oj*=#A z{`c-mavT$S>Y*1O#!vI!{ATvq#+bbto~V?uBYAs{G*?;tLU@t?GF6haNGd`!9`gpL zk^g>lBZyElHXK}x7#kbZW_v~0_fAh)r>v4(q>8<1TAy=$Rh5icpQ=Df>#P%&T$71A zioIRceBqkUG%x2~|9Nb4oDGpGEe&u9Tx)&{Y6_Jz2AXrSKM1D8R7?eC^&gO0=`s|M z^7`KBiP3S+<<(~)aZU9%omnUH2cbcPIZs)`^}sR?)~g2UcnFhdIJ z7{SuYg0fDL|2ov1@G=*LARFr2qP`#U%I1|MQcgli7~+pgXf$nZOB{bv(*tb}VG!a6 z<^!#jML(9ViPGW@vkBBisHGX)*xq2Ovdot(G-l3_=a!&Gkc!}%=OXJhHrt`D`9gf; z;C^^;bG!XCX+(RWx<;KVo;~7=MN3IiYE*ZrQ8KH2zJ)QKInaD3MzpSiX30u~>} zXWYyua0F>(NEPCaC%IiGl3Q{s>e=OZ_W16@rm(0(e5_QCTz28Y9;%#mA+r2ts3*Y8 zl_)O_ajFcQsCsH4)4a;?@dP^tMmLCLT5{Hx6p*g43p=y}O2c7e-=2uQ$KWq4+%0q; zvMq`9x7_R-k)O1)J0Zkv)MfS+@D52^Xig(K>4Hf$+Wksi*m&b%WZg8VCq_+pHA1VlUdK&$yo3nlYziE0na(I&sZ4nY5$W z%ZEFkxaL#M>sio$oH`#LhDcUR16%^vn%{uB1nY(2dZr+Em=bIHi$4Istt>x0>Wl^ zq^L0xEe&{7PALhW$C?vfl%f*kTztXBd_U&a8I&Y)PC`i-;x{WankG_{1iv?KlMvk- z!XTte>I1EngFlx35v9c~787WO(5w~?2}&@wu1g=@yMtU~;RSi=7-|Hm2(EZ3ie77V zJJt65v=^%@)TQFZina^8t7@OZz+3onx7R}ct@F>QGZ(e;eAknZ z`Qmv6_aCP3xtUGi2y$ykRpORsrRxvL*SuKjxpD$`es^&@xSvCMtW=3ycH!Kes+@Kq zk%Uv!6JTa8>I*}htbr5Nq!uzSZGo!dN~A@E*xx(AJoobiueTolD6pXKy@AoSFue zeZ`#a8T||2pZ|%kZC9i; EFW2gt761SM literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/current_user-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/current_user-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..698dea618974a7dfbb333c87b78f3feb8abb1f5b GIT binary patch literal 194 zcmY+8F$;n~7=|64?f)InKC7nMB3{tqk#dLBAwTq6-JMO+CBKq$cPR-BD^Spym z4)gRVYJfxgN*Lb6rI>I+-Dz!aUJ+A-& literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/mute-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/mute-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..7785c1a47b44bdc78895c6dd0aa21928b6cd0c82 GIT binary patch literal 1015 zcmc&z&u`N(6y5=4Y~6ta;xdG+z+qHX(n(x!rzu5iMI~wVe z^E@YE0>+(NVt@JG_v7W!<0XGOztS1!W3``w-ReAfBE8r@Dr*ZK_a@WWf3dig)&g=q zpIk3EUm8I3vH^^|>6G`XIxS?T`Dsfv6L?csoD*+dg0hFa7gYkSNqU+;{}c03pxB_O zw%+I{p}B8oG}kb@1y;K;%v6xcwS=6d`{r2Gbg8V&gq3R3puCZ{c)&%3rlHqx99#-1e(0MdrBP7fa1VuulV*go$ z^!%lerL?5%Gnn?gAN{UQD>jF3wL~)HI9R5Yh3~e-0&z$KEV)m2f~YCvrE(-1NL_jz(R|>xjgGP8N7Cs4{H7dm{J#I*WeG=wJ5v#l8K@nK#>-35tI83 z;DB9Qr0NFjZ!Kd=s3;(_lA_b=U-zxi_{t2Jp%y3tB}$+-jZCLs32y>w*qe4m(;B_{ zr+)gPa@?jhGCFaR4`cs7N~VqP^6I3qNZYT6?%pmeMikv0i+tptjy$xYr`ua2GB&np|^ zf5%R`3B-wuBR{`<-}CSDgZ(*sHa*rkVh@En?aTQ};*_Ej1Av;JaZpdc)n!WtH=PNgS zWq7rYhL1Aud@@CHMp@trxH0?&^aVKY2zq&mIa#1JC%+(Y=T}7{=OomsX%ZIvV1647 zquD=ZN0O_}iBPzwhpk}vIBkDUEF!FlD$C-y!0R40*X`xHj0>IHm{%em^ak+?DGt}R zaTv(PQdkN;Y5RF%IN`YzrSRO~JKCoHF8Omvtze2*P8hV!w7FJ3p;-X48®^ZtG>-vI1<c6X;l&Z4v!TY3O)A(m=*x z7dq4dZD3H_vQ}~-B=-CLY%gs;eRDVWNBH^cZ3F9-6w7$`9%3IGHOcqPGMxVgRlFJm literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/muted_ids-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/muted_ids-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..641b072e365e163d94095c3ca137c7c0f752809b GIT binary patch literal 775 zcmbV~(Qnf*5XSd_0$UN{0r3KwPML(p9_sE9S4i1dD8YYi-%1%2e1nGX%3jtgVpnWi`Sj14 z_lnelRJ%-u+eL8jW`gX=I8X)@k-7$Z0VcE|U4jqlke@i@f!l!R4;qUu195R7G5sajY4PUb^KYreO1 zUU_ns&fwjDLC(`>nOz~(R#lOGw>|r|Wo<)>FX7ww=Uo_oEypLMc}T9=H z!{W7a%QHBF(mS?|zESfU!6C=5XbuoV${G?)YDHUDhs5NmUqT@jp z?~HDwbHqXnkIzOzj4iQ!bw}Ed1_QBO)wz;|5zpK9C&<@zC4`?<&q=%cVmqynotXp?lKel%Jed8kldf0CLuOn)nkeU!x?QcDCg=PE0bq@+dHwduQsnJ1+wY=V_c z_PTq?lw1;~*<_8yD2uxb4 zCjXjq+Md~Ab7kkPn|G;M5C4-6*1qQZrh n4a8O&{;XcFH`&PIhdaB-Q@c#_Qpr47o>}5|wLGgX=OOJMnP5EC literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/remove_profile_banner-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/remove_profile_banner-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..82f5081983f9eb12aa1ecb43a2d602f3a49d4f34 GIT binary patch literal 671 zcmZ{i&2Q8&5XE~yp>!{Zj|(6)3I{$8$@Yk&N-1JjM4||m-BYw$InH#~YT_~WWD7<7 z?>I?|K)}U^@$;MCyz#BWm3XjtOG=1S^X&|IM|F8uM@9U|VM}}5SV!l&!A&KNK^KW= zHZS6Id8wJv39*=cUJ9}D==`&PzsREbTuf|NHCmB)JT^O%?xM3ogw9=yhHr~WZlz;i z9+G(Sr{<${a_gksMcJJ)kY$U3%meQbWEW1uT1nPs3ta$t?%^65MrhEj++vhP%fGze zG}2tW*9H$LJL>%>Mf@rEh_GX}UZiP_`-I176Gd%Wlk%ywIz3K~Q%jyxsT6gF)BlaX zEaHc`lZ=~2x0O{ zBj|_BvBO2_)QQrTZ>2z8i6!HBRHwGv0{m0AE V`)Q-A^g7>=V2HEF^ogtb`=34=;~fA1 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/settings-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/settings-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..0824c6a8d2df37fb596a3a9ef4e27fe4b3317b83 GIT binary patch literal 2540 zcmd^BU2hvj6m2TxmR3jzP+vgkVjj{|?ygOxLN`Kk+Bn4$RZ#4xDpq8TcdxypjAw?K z*_fot6Tgu+ehhbJb{$8dRr}0Cob~wn%>6j$Tz_)+IQ!~oU*%c0C(mD@D^)T1oVSMU z&n!B}<-)eI*5F{+ZjV>oIW$>zG#HJu?AW5Q->-vqTL%Z(eO=82&sFwygnY%!X{ED_ z@T(%#<2mywK}C0O zTWBs%TDz_Bu)X!yq3HmhgH)ij<4RIUrM2K#bikmij6bQ%f`?q@qAEOIUKvC1;OLb? z7pQ>A0<1vP;P?`O%egX3x?RZ~pvQM*6;ioT+jGI>>91VkEwy{k*Z0M+z2CQpP&%h= zmZk-sB`!8N$<;C~RBltIdD=^QsaDpdEYDRXUE1UyYku+JC<}ZS$b-J2PEQ42a)$-H zK^wsz^*8&jBpl%%6*n{!KLE&;boi%>u}B!)B23ma85pC8EyvP>D8nzXIDv2oA+&%M z&2&AX8q;9m2hD^9W{^hd;EV}g)H8;Doa4qlqk5nxF_CAUVQjf(z~mQZ%M;k6AzP=G z{DRE{dKQ41H$gS{?H{-LkvPoCps7!x_)uu`e-;B|?V z@S%hOF}#G~J~-uz0v0)3leWM)t3=H;Xy6ifDb$RKO`-v(9-J{QLdLUm0`p|;HGr=V z2gCg&q!5!?QiU)>P?G-Ufuaq*t@%&mC7`z-L_1HIP&6@doyN<-ILc(>@Uju$-#6O# zTq%J}c3|WTCEtOoeg<_-y}G6-eTju{ArXQ`L!EP`!VYY^Z6LMvIJ3EGl`TEi=+(&6iqC_a1d}LLC5pf`>YfcwKnc)j18U^e?c{yru#Sd4 zy(%e8gET>(1ZVf>4C|~$o~>dpxb@?!;_tOZ*)5Ag>4C( zr054hEul+%H!LG3^g$P%Vb^IL<`~XvgK9MO=zVP?yZxA^QTYF$Wn2H;kWo~RHz6;V z&}Q#E>siE2>35btq9xam3<_?wVCRu3*Tr%T;Xk~i;T5f+#8k6$CCRsi4b;j7vleZ- zmpgujBigdcxO7aH|4!UUO1Bhn_y}`cd@P>|TG)1$MjL m$*p1g%ZJTRoS)(CVS?xwbQUYDrsHtWR|Cu`E4W-tH5eBs2G z#H&>>e3Cl#_cQgbkvCvh2(?!OQ(-O^0t?7C%`vatrLrRDR;Xoz3WmY-0sEQcYW+zl z+|t7xuh2`vv)CZQ%G%1XC@S!}Z`%p`xh|tZ=O*Hnh>rS4QKgNIS~m`8Ea{DxNy6tb zaf{!iD1~*dKI``QApYH$RxrWuwIDQ&L&&wV_`|kXbQHoMr1$xbh_s7&raXxzaf`(q znnP%y1>Cry!PHeHeHK0&$O#Ld1eXRlAt-I(noCjiTbbjS(AK0NJtg9slY2Ga~TsUNic6)AIdlwFZOedWCD8cavZtpf2(;z{CC zSRx(5r6t$iA^h#>)FmY)=2o}}_2TZn9XL5RhhW^;E(*mCL}JaE~faZ`xUgyWaJ768=ZmNqF2v)>(t}BR8u#xHxKKbt!Ird|=S}P&$zBYRq=x mg^)NH4AL$41MeSjTDFrV;hq#()NOd=R?$XHhkeR?i@yLZvsldl literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/unmute-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/unmute-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..922a5899aebb3ce6bc13c6c4c69f5d48419fdde5 GIT binary patch literal 1030 zcmc&yOK;Oa5bgoF(Dc9oap9qnkx;2h+@27d2sx+;SfUbY6C`9+Xl+lErS`6wU8kh{ zd1h@>UgFHr<8QzD9&_vVLfkt&Hn|WJy*WX*GDUh<1xYw)bk#TvL@=EtABj3kFH}Cbo#Ma;~-_iV9p0UFUC@n<^?yZX;Q%=xBHp)yBH06%%A+*o}uGl-+rmjmLNykZ8_&{W7K@x&C4%V_%MH@>JzK983LmJWvk=%@Lwk_D! zt8Z|rADteR^Qg`Am9{ rZ)zrX;tN&c;o)Jrm4v%{`;wNOvm|_6sx0bnJmNES-7ya-^Cf-Yx15bXgirRBf@PDN-G4gpkUQ;7?XDs2&oh(s!skJBnbj(6I%x@#MIoYErx zJG0p>YK3}OYi-Y)_x#>G* z3i-YjuOHTYmtJ0a>B?mEEN5-!3#0(orB)@hvY^w$+nwA1t(E{};lg^L5AebkcWwD&6Wjl-3$HDLkgwoxBckbjk-T*DbC2HRTS%1wn3khlYMMLVcC$S!n+!{IRB<0*dE&d2dx4V=R7KkwUD Wy{Ysj?P5&XUrwtT(QeZ)6a@*DvAs+JoUIzPabzbI#43tucEre5VCt2WoYUKGW%BSGESx{nDh|<2PgVT;|wf zt;7Bx+8ZsU_h=a#9-fRC8#}b_=|82tR=>}7OgYP?(Cks&{+Qd-(lAC?Wr51yWjl%C z*1O4;W{)>(K6A?#mYb~AyEh>&Ur*3GIOBPV4t&NvlmQpGMc}g>!E10xrz%BD1qjiB z5V}-80?%il=iyM=P~@drI52#HtzK(%1^R8y)#;H`cuV)T1N`nF`j9w8$h#c_&f zZC|U<7P^R2EnLivjJxe_Y_#(+ud(ARvWy1NexkHT_@wexMN}IvwQ}GL3OSdU!cyir z%n<6Y({`Xah#n?3xRJ|3dMf&;>*MDMFKIO8rQo3v4Dov@Ey)xV0-=@1b6?jYwU7>B z^4G&dYc*LpR-uWu@&eN-REJQN5*g|Zt~4eO)asrV(*Vfx+5nm-SR>a=UnLfOY1Jj1 zkdi5k$d^lOn|{rFuR|Dk0c$-b@43sSZ~&roUKjGB@;R7HW;R95r)g5Zua9AJ;w`y6 z1*Uj`&@V~Q>WMq2g(Mw=%08V z_;3F&jjzU{K?-WaAqu&oSVbV`5VWLwNBV9M>UOSU^!sK;xo+|hL>JPpK!-HYM%Wdk z=!BIsk|_8~J46Ypy{#7ongD}zP&LA|UAb4qNzp2X#S2`Owgp*Fxe5IjsD%!LNd;W3 zV98e-Q@p%p2zT=gHO*>2Cd> da&O?r&u8_jJjvxOZk9YIKYSdpT-(mV{U3*1%CP_d literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/update_profile_background_image-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/update_profile_background_image-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..923ad0ea79153b43bc6a119f5ff39373796ed3ab GIT binary patch literal 1220 zcmai!U2oGc6owf>Wo$y?0xtLvIx0wfs3aYl(B=x!O{^nmo2Jr=i>R8M*ln%4cCejw z9pXRn6FGLm*v7?feBt=`yzlcK=g#VoJnVngIUzf0dC1*Vv-E*zB+Zv)!KmXWh0$Xn z`AJ6e*~I8lu@f<;6W$<=ya_WSd zK#7uGS*VS`KO;~X=`;ra-M=fTnjHwmZ|TmO?{PnArd`W9Or0w%iDSl3BUgEkay^fk z&TUK!5pP5raiOh?X`Ul47vBtHkTf54ji)WeTsY3)NH*bVCC`Ae%(WlL2~P7f-2Z*w_zrv&Xx}8 z33QD(B1rr!TfiWvxG-ELH50@Tir%+3x1bPb99b-cl)fpd%S9%aU~?+bB-0BO1@mE? zU|x$u^``>m0<}ncf&0=4KhJ>ginan*3d8B{eJwefc!(p{}3r)mVmA!ztM#ixy~kdM#PX$af?wOq%KOva&&KV(WC zqPTwOf(8?|kaUSQ{e_r~pMnZR0Oq?PwD1wM*Ra4D4Z6u%*Z*1C?RI)AX+C)!sxZRZ e|3~=w>rFLs&!x!X`mx10{P?E)ZzeLC|NaN9f1>RG literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/update_profile_banner-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/update_profile_banner-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..a4f1cb6c050e66fd0e9e98385cd20d3eb9b4d3a3 GIT binary patch literal 2439 zcmcImTW=dh6mAeQy}Te)UMNCG=7EcfH;LLvU4!IW#KICmB{)x36rJ5Y_6{A-EHkrq zT!hp=!v6t&6=yDPoivFMlox9~mvg@FJKs6G@7_Mi?;n4w%RGOo)<@)OT}|H?opJZ0 zwyDt3S!47}NIEM}DKeeBb2u7zv&l+0M<&mY4}Y5E`H3ZCKfU@!zcU);_nNklqSX0= znCuA6^R~%z&fG3Yx%cvWg9eSW)7v`#_~MyoXmD<@sXP5UQ%2T53CJwCngCn=RZf)X zgqlOkKt8jOKtlu#Vu5q&^gEL`Vh<&%=iduOw{-umkAHvM{c&K4pmwgYd6reQ?77Ic zSL#Jp>C$G{h-|O7mo?hD49ilt%4OHlpNzZjyxbWm?Fdd9sj;$vmmz8e1=T2Lpl8<+ z>%mAHK4u*lvaNLXA+#YNpn|U-9}Oc@zK;%s1v)I$(Uhyh}79EL$iU07IX#^p%h1 zp~16g)(t=8tzq!3?fLSLyF0(fI&2PZ8-%OExtU8z)-o%!YgN`pE8SYT?!koZmY8nS z@kxZU5t|B7H_~#+L6HxKX6@195{1M<5=(2CFxLiW+(${u1oFdy@tr5dLO90pgO1q0 z9BiANr8%ZwS`K4_>!H-j(YZ@JUvdm#38t?)_0Sm24Liij-(wS*YM}rKlJTJA_Z9T^-xMzqT%4&0WFI42n=N1Pkn^z+(1fjN5bXhl(q1Y77eHvV9QZhFT8Rr@A*G0|Sc#&xyFEp#%5kP$YaLIpCv7R> zzhiGw*e+CsTRby<^XAQS?yVn-M@Jt?39)Ox?IX{q%(rwh>OE=dQZk;@j!w0~6Geuc zPed}@8}-u3g=R)4#L;j(5#rdR^Dq8>W036aiOsqxj8-I`w$1jXn>V!(p>tEA<@;hY ztEFR~uakIov*tiLdFEt2O9l_}z)X#iJ&;8p2NgMl8D7GhA9%(Rccm?s7(RW46{{+gxmBau5 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/update_profile_image-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/update_profile_image-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..e87971ec14166eae84e96db88a9f4ecefc55014a GIT binary patch literal 1444 zcmb7E-)|d55N;4MrIip5@IXP;$bA4RbLUDah>MUM)HoP5Q55V4WJT3_Z=73YZ}+-C z?6|1nU+3Gqa|xn6@Uqg~&V2LDH{a}s_ZP)ymoKa=ies}o<51ah`KcPrhF`>{6oFqg z&aRc_SE?4*JSYYy)7dbaZ&e8FisJI*w|P-4JUjp7y$MHy>9ly*#FbXk7GHLy&V;*( zO;Mn3tl5N*iieX%xZs!fZSmDVV=jaf*G@Fm;OOHecpWZUUY1Gf3!WH4G;dD7#o=WC*zFHQ&y-%z@a?V?O2F!8X4wt&QN} z{0?3jRIV{wYer<IC*jk{U8h+?mmsSgmsiyO#4Hh7(iSczADc!ie07+P%Vce#(Iezf6W$1|%AV=r#Bqqu+^Mqw zmn)h>zdLMuyuBBm9;8hZb>|RTPBGy=X9Fj>{{LRKew9YF5}v<5{Em&ZFh)ja5mQ*9 zQb&qTXVVe=dU2ZOL>K3$J&s*tU_QADmiS>jrW>X0Y8RlKLdTFIqgi@cJYm@?93@UI z+%;rvlb$1~QMU{kwo2<%)5At+tF&8_(Xqj_)2zVY?+{F6!!G?!`#?UxL^6dC7$t|T zl|ut-D8VCGueO`Lc|;2c%k`4|*b8Qx!(Uxcr&=$IrVu(f(4R#+0xAwl;+ZEEpg tlJ;jj9xw0BhL67KUAf2kiT-%|ZD*OsTCMW_waMWsJSyo$&D<*8{{_Xb@2mg- literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/user%3f-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/user%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..1e019330be23700e86a0837ef6edc73786d012eb GIT binary patch literal 636 zcmZXSO>fgc5Qcj|rlgl15E25x$h`ovlAJd}xK$I$QY#@hIUp-S8+(!rb#~p^F)1Ma zdv|S!sJQOF`@A3aljDVYo?qHhsdMw=8f9y%;*_E+9<&bmQ>3ElEQ{aH_auU>R6f0# zE4A={|0}+bHG9?GBARRVQhqSzK{!)$7Na&zkjyb+e5o z&kFB6%u!l44uo3-T7zs6T!SU82`dP$fcNCYMU!a$AMT>o=JtvV9@)ttAO~6eB4sW3 zwWb}3M|{EVX%>G-b?fOysMJE%K#q4UF}mKRv_|k=f=w2qXOKfE4qHr_t)FCJ0>m=? z#A*rMA#~CT_MQ!{ZJPR!ykx9`p{^ZhMle?3yRNAk_BLtCU41AntgTU-<)a<`X`g`g z*?AvAtvwF^5Oi2t@A?Ww<|}NF6Sxs3vq|6(KYYX`oc}%O_1R?t&S&(wjox7bi#+p2 z40iPmOX)1sAYD_9G?v4C12S$O~TZh%|ySd<6I?LylA1$q`9suAsDwVu%t(#A5_wije1(V{5|KR zG;(ERm3h-%)DH(ofklLjsItQMQ(TX!B_Aic@Kc>wUslRL93T2CB;Pe*eVgfxH}w|b z;CWyq;bpE0MVP{8v~Bz#kTqr8i%KLZUBVo{*26k)QyaD1d9avYMV6f zYS%$qwT(mcUh5oXIf8RCs$7jAe7;=+QNx$98_hJ*C{r(3@t1+h-5qa znUFM)sc{5D8UpJ%Y3b3H_3)mD&fd|knOi5PeOIs-4&MFMGYKoT=J7kIdrrlj zQ|=0)PS~x|-GVLo-Wk{h+64+vMqm?z3|-2CH7(~Mw`xGgUofGqqyI9E`hQQuEt1#^ nu2hbb$s~FZ4xa2ENVBrd{_?LTSFzu{c%PqV_rk{}cKiJco~Vsn literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/user_search-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/user_search-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..4d23538e751547356a52d15d0d481401c70a08e4 GIT binary patch literal 906 zcmaJ<-)q!B5blG-+Jf{!d{8OF6+uNWSKr+8M=JI(U{S7j4-$^DmrRqT$?kS{_S&oX zzq^~HM@8^0nfd1XzWH|UZO_@G=@*qVb|lv)NR=wGJrSjYJ!jFJS>z_KA{HG_(!ulD zl^{aH*!1{x#@O5=?7>~!IGRk@u6D~>i8@E#kxBVO%1`t!~`M;5E|0B^S~XXjHnsh4gywdMc$u02Z>Z+*S)Xg4|hB zjkw{9Ybuir1bp!aLBjQeAYJzalXL$eJ1Ki76MV*mgE literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/users-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/users-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..cfc4a4fa05a93d12a2a9dd92f269e5f9c93f3906 GIT binary patch literal 1136 zcmc&zO>fgc5G@iirRjkK;zEIu5o)QbI6YKCn+jai1T0Ze5n9`mWU0MtcGoE_ z7k)akwo?J+&duJLdGp@9nY)`)_HcBnQpQf?)fw8Q%HjvYi~Oz1pf(=!2E)jIHn|km zqGoI~7*80Ry4dq3qwfuetW#D=E>guFH(+O6UsNSygj^LU?LF2BORlYnJBsc6nRCuH zUua$~z5e}}IvjuLo-ilUt~7b1pAF2#Fi2 zzvYlSk^d$%h_JM_G%N@*Ty<@utDCAK$W&?qUW(wbdl)Rx1~qt)D@9VgzBh^dN1^5x zzvQA2mUw+e)4V?kd1aTRQ=|>c5q_(L#;ge=l?j6o-;8mfwW4WGrK?j~Tw^wa`Vs2X z3@!-{OjVY-piYhoqy*@C@Z12`2vS*C@myrxrp>ER*OPp#S_Uq_NhkMJ@PpA`8S+sWjaK`eY!Gm}p$#Bh+9FHSuae?{( z##RftIDo$ioj|Jc9MjrZHDAXYwb7|L07IH-4w4s0e`LK%zEZyFlBM3Tb(VJK#lHnm zN$J2%qolv>IB!P&f8-qbtQ}ZO4dVCQEN4K&sEk#GxOT$>gBEBcZBnB*^6&f%o0oL} z;_+3HsC+%-8L*X8`g>*o literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/verify_credentials-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/REST/Users/verify_credentials-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..307ca2601d8d99b0462ad7d56e26484bb1665d0f GIT binary patch literal 902 zcmaJ<&1(}u6z@T{we3Ms^q|ONJya!RQ}EIW!nU-*1p|_%2U$v(%)TT;HZ$wIH;rxS z|L$xy(W=GE9OixezTTsq3-Nq#YLyVj=DLqOvqkbK;!|xu6wV8qs3_wpn`cMd5m1J!VEF}SXrI2Xi z%NE#BbxTcQR)&}0_Lq_~=WGykVd@pu=^HHWqHZ+&htf$Y&HRftxMjP$HLd+D?x%zZ zGvYM)Yotc!w}Ftw(EWCsiQh@xd2<$F%jgSCCx737?dZr3w7C%+qxo~Hr+M{4Z&vtjV!zpZa_d8kq g?A=D!C%C|b3ZF9HM~?2SDMy)(x_OTJQw#u0N$_XtqFq49n7t(=nv|qQlzk{IQyy^4LmJ<(f*wltQdR}sZ_$V`1Y;8NfLx|D ze$=W?+PtB38ya7!ws)d!#zLEN(ciaV%t=mip1bf4r|x0| zz}2{s>(&g5mMm4I$@X1!>j{vmZn9(lQHat3Y-T~~+`##_Y`J?a7Qo*uqnwaJTw3mM zW&uRyQ)!vAU;|~e$s(coJQIJxLgu@6d1xhkP9e3(YOQw60>S!}f66AdIOqz{ixdA|K35oCY^Q>C6b{UdI* z!_;FVTa)3nwUO)z|b`1Fn3smSwd`+Lv)^qadCi?S+=l6b oanNMRzK00)Rg`9QD6N)%5ZMEC!YKUR>Ye}3FIp`_xN4=6AAEmjD*ylh literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/RateLimit/limit-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/RateLimit/limit-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..44181143ca837b77e3fa081963011a0bf495cf4d GIT binary patch literal 221 zcmY+8Jqvj-QwJ=s6i6@53Yh$7jsnF4MVT_U$Ib7^LrE3tIS(|+hr}~;Sqy#et}^L3 d4sQi^XSp(>;hJSC*-*o_L4$VrQLQnlOJAX=L_h!l literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/RateLimit/remaining-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/RateLimit/remaining-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..f2b70d7a37e45a1299cf6b47afe81079bb525d87 GIT binary patch literal 229 zcmY+8zl*{^5QQyd{RLui*eIg0(dJA&X(D)mfP#oti^#^Ci-XA~j1!Lg?{9;J*goF- z-q&oO;N!3l?jJJqojOp(tj mP)F#7Ka`>G`??W(t;N!X&TW!WvXZCYik;pitNlJXsYm};=|_G5 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/RateLimit/reset_at-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/RateLimit/reset_at-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..1fecdea80f5ea624c278b6429e3f5d82d13af669 GIT binary patch literal 224 zcmY+8I}5@<5QHt{;sZg@P7#TXHYW9^iJ*aif=H|m375F)VP32o#DDLJAlMEw-+ay1 z5r&6#nF6ee*ADqso@HN)(C!gFkYmLH#3l&sY4p_0NB{@LxYfDl*{|Y>Ab@UFCz(!5 z7=3{|MfbV_F!Vadf-UI!l_GvfQNsAYvsa|9q^g_n+S0rad_u0Nn94}!coLq7pyOY3 ghOX<%Mrd2}g$a$28=#kp8_J3WC>} zH*enM=o4?3Z*hb88cqw6ef+Xx4@TWE9Z6~*0O7qdYO?zABE*PGCp7m5FVjCnLsenk z^-b$H5%15!h2!tOLrnJmKtVFh%g(VJEku0y&wMy`J9gb3^p#ED?@A`=IZUhxLObF$ zXjtKOx%Dj-MPb2aMvW81r`l~(SK3!mkFs=sq4UD1?CE)!8THuuW+vzQ8K?NV9qM1W G8JxeDkWQZf literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/RateLimit/retry_after-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/RateLimit/retry_after-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..dfec673607a83b6fd6112652d15ba80cbf86c064 GIT binary patch literal 178 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMtD$Yk?W5-3V7DXNT5Oe;w(VzXj%b@NnG4k^zp z0dlRZf)YzoeKK=1OO%mSS+lvhS#cMXCgo%%=UYibjP*?{$}TOivI5#snwy$e!fwUw zP>@(uQXI`-#pRHenUiW@U=YpVsl=|K$p$pRQ%No-GfBS$VwHXo(5CntkX3p`NkI7! E0HrB6?f?J) literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Relationship/cdesc-Relationship.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Relationship/cdesc-Relationship.ri new file mode 100644 index 0000000000000000000000000000000000000000..c1d2de5ae9f916aafb98a0e726371db4bdcc08cb GIT binary patch literal 285 zcmY+8KTiWO48?Cixzn{&f`I{+Dj$F{`<9A-QU(~RGG)pIBP`M+N__O|lUyYPvSi8r z+3&rx?hUSXkHG@GhIBCQ!I_-(iiDCEJ9LIA`20yxfOvXV@_K(HW=sJ8;2;XS{AKqh zqbR!oHz(~ElfI@1P>iMndTwE{jV5u{4fNX&a(Jhkxmw*S+1r|;D(Fs^+c=GmtQM7Z z9*>nMxpp*e_>^ap{$#yPW4YLu&s9u;(K5al@fMab(YIl&gOcauGaGN`sMTobD;O4Y HU+U%uhxJq4 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Relationship/new-c.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Relationship/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..4eede7bf3bf579bb9d06b9c7dd21d737322577fc GIT binary patch literal 339 zcmZvYK}*9x5Jr2DG`1H74}ywI@Sqo)^8_J^78fi?iKoTGB(7%cb~o%!C@TJU6LV4Y z{=WB^*@_=vZ+Y!1fJ^(f&|JGGwL_6iVyib1L^pGp92Xm6)*fJ~4Kg_!YH9#_B8%n) zOq;eeR5>^pR15U0wgWnEyVjP+FwGnE98~P!@Hcah9$!2*b(C$Zu6racF`=P%9R!N5 zAzb;YEACRopY@eNySgK*M=qQ6hOtcc`xdSRGW#IZEr$BBAIsz<_nKR8h5GlRZwe;) kGZ~$xsT#>-_jIsah>y>+K_U#5Gaf!N^FJPP?#rI|0@EvNGynhq literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Request/cdesc-Request.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Request/cdesc-Request.ri new file mode 100644 index 0000000000000000000000000000000000000000..e21bf73ff06a9aab67bcac93dfda09f42d47765c GIT binary patch literal 522 zcmZ`$u};G<5Y2#+HVG9H0)e{u11R%lsRUH=07z94gNMp-UB!^Z#&+7@$Jew#rLx_< zckkWP-Pzy`uIG z<64yy->;q6KFysi!_)%Rxi((u)*Z= zj#$JJmQa!kycLSsfF(uBVnhe6+#(i2Brq~o`*0n(LJ{P~stxxN8%oYq>pX9T{9`dh uA~({m!#55#l-%r*Ww=GP6rFY2{>SQ{e_#YkZjZD*yGxC9kztl1XVEuc*^l-B literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Request/client-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Request/client-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..7d2bf8f213baf4077853ac76d6f091fb323c56c4 GIT binary patch literal 154 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!PR_|p%`0KEVsmx#RFVlP&nziPEwZu-N-Zo+ zEiO@pN?Wr5W!Zzm*?!oXq5WD`|*nzKKQIr3F@2K%+}@frhbLaXSCL@z$){nf)hU5iJb6HPP z_E-DZKD^b9apc`N%62aAMJr9&60KA#pDs5=qH_nIIoNQ_c8H6HF46|2RwZRKUS=-4 z2(7@%s(%jd^cH}A_$hM{1OYpUyt}JT*r)qSK5bfkx+}P+Kfl-A4WnEpW9)u)?51vQ G(u7+_9fCvv literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Request/options-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Request/options-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..2f61e4157b2da6bab7a6c1f57e62bdcf361e89fb GIT binary patch literal 156 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!$uB6$%+D)kvtn~~^Hh=zDbFk^NiDLn3Q8?3 zO)V}_hRIvA0j1f4!r6cfEAE2Qq@2v;d@E^)dA^B7*`)-A&vT`gbDT?OJWcO6!EJ!TLV6$R#b@Nn`3MtPlDM>A|vI3@h$}(xjZsh)KSQMcJhVR#re`OLJ56O4zNq9SRbQN{XWy hthgM~GILT5fV!n~GL!U6Ag1dVK@8U`N&=b~0s!qZEzAG_ literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Request/perform-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Request/perform-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..ac3fa5f0426b8b515e8747be5818cc1b55a328e2 GIT binary patch literal 217 zcmY+8y9&ZE6owrn^)?8)RYB^ai*`O;Drm8TAVsI(kk)8}Z4*xu#J4w699;kF*Y2EQ zoNQ$Vu&Le$u5)>%LqTG1pg7(nmITNyioNOSCA8)UknpGBwVwa{fJ71Wl}QVcNpPF7 z1H*?=0Cw4wywVQzL&Z?nlt`HTXO0Zn9hu5W(53cy6e8CKs~O$1I=_&BoS+xpM8SRE ar>)p?7E3EyD7O&lS~p;8Y`9jKej6Xi4?^bv literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Request/perform_with_cursor-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Request/perform_with_cursor-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..f3ee074c716c5970a8c8689f369228496f97c4f4 GIT binary patch literal 345 zcmZvYO-sW-5QaU-TJ6Py2c;rQ>cN88oF@p8YG4lqsr9r-*sNQ#bU)%`7wNyZX^NnD z8kqNC9_Bq9yu#Vy(Mx~_x0$O@`*(h-2}{l!g)5J?{L-N=WyIDa0rFI^WU}1ufr4~2WGp!b~&8n nD{WMoru={<D+a5=e_#_rOopP1$1UJ literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Request/perform_with_objects-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Request/perform_with_objects-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..afdc6abb6e62eb7c609b15dd054b7a52c41cbf71 GIT binary patch literal 276 zcmZvXF>k^!5QP~k(?W+1EEOH1bb$^f^JNKY8z}=)gv?4u zj#PDUtdw(seCuQNkYh;nm{gz)cNAVC^_f~qbQPtEWDpx&gMNot#rQNe#V0O J6|a-A&vT`gbDT?OJWcO4OE=nydO)V~o&rL1K$WLLjVsmx#R8k2k&nziP zEwZu-f=DZ)DYIq+s$vfcX9F^-A&vT`gbDT?OJWcO6!EK4m)VzXj%b@Nn`3MtPlDM>A|vI3@h$}(xjZsh)KSQMcJhVR#re`OLJ56O4zNq9SRbQN{XWy hthgM~GILT5fV!n~GL!U6Ag1dVK@8Ue+H1`g0s!wFEzke} literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/SavedSearch/cdesc-SavedSearch.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/SavedSearch/cdesc-SavedSearch.ri new file mode 100644 index 0000000000000000000000000000000000000000..ab367ba439372e0c47bc422a8abf5e8d2c0abacd GIT binary patch literal 384 zcmYk2F;BxV5QQ@!J55UIRD@ViegN%!ULqALd4QoUlLzEDMp(FUurEdYd+bycChOkw zd-v%s@)uZaADjYscK#sk+R6~b%n)A9ck-y)ot9p`6CjTpUft}!45Ib`|2;;cwK!Y6 z)g2oACQ)~Aduo4@{$uC?;;P{geF|mWOOHWhP}Fb6>Xpbv!K+Cp4?0D8MYidMvL702 zR21&4X_k0GScXLR8b-W(-^8!`l)vm-A&vT`gbDT?OJWcO6!%uCEoWwT;)b@Nn`3n|YmDM>A|vI-A&vT`gbDT?OJWcO6!EyypA|vI9E s6eJdv6h|{yaXF-A=A;?`H7n#~Ch3-A&vT`gbDT?OJWcO6!DlAPcs${cbb9M7nk`F1*EGbDXva$+JEK5xZ zPE9OI&QOM^ux0})U<+ac(pKCBrAaxN$@x~&5aWCki?T}#tgL`$m*%GCm9SfJI}{`q pl@v!aSaCU|W#*(B05vP*WG3mCKy1)223Zha47Ne9C<$n62mle2G0*@2 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/SearchResults/attrs-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/SearchResults/attrs-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..be9ec6665cc33535d8f3dc17a104aea59d7bfd54 GIT binary patch literal 164 zcmXAiu?oU46h$2*l@{>>oQ%8e{9G!i(7~nFse>dTVldk9@`Atb!%X)M_ntFf++fuo zCj)RG!g1+}PL_&m6d+FLPHu*;BeDo^wF=F%w=sE&+q~Heo`_y>LKTws&P=e*z>C6H p3II$`Z~LJFsx~O3IL@GKAI{r`&(b?xQ+Cwxuef7&>`*g!_yGaBGr|A> literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/SearchResults/cdesc-SearchResults.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/SearchResults/cdesc-SearchResults.ri new file mode 100644 index 0000000000000000000000000000000000000000..1d65927be136c90309d710bade53b2a77e5cf29c GIT binary patch literal 406 zcmY+AF>Avx5QRMy$+6Qkv``A!^aGmAr^V1FprI+a$)q93u1eG@wvo=w->+nsK&IpF zy?gg@H|ZW8%h$FB*tYJZ?2A?2%b6j9-G6B1>SL*WZ_yJV>y2QG-Ps^&2XL)&62$zy z`qnj)(6q1^W8akf={taMqd(~eDda_`9D12RR(u(&SCYz1uuLI3A9n>KWvq~QePvA@ z2F#jjiR0;|AGi)~1bcQ>Fz;f-1lz+gZWebu+Z1z|gy>YTrwjDD2@pWVb-}8!z=V>WPoYs%&$Tn X8^LZ(<54yB!0;at1fEBkPi684;vsO% literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/SearchResults/new-c.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/SearchResults/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..86e0bdea67af9f4b29c3fde188f05255b5f21ece GIT binary patch literal 401 zcmZXQO-sZu5Qg_4weDU#CVo~M^8x>#^QYCQ#!w2n4zH?7HpMSs2hLM&b< zPu^$d-SVGcFS)65fGhpAL@KIRv8%k8`x-YMc(;p~vvi|~&;UH5GDfQ}JX`EEyw9WHle$blbnn@yKnYfd-cy2$({A74B`03CR z6Tf#R{bb;dBZK6O{sW9Q>M)o_Z>q!~2*f1j`=_1mf(_Ycy^)tHn^WKB+;(NYn7++R HleNqb&TfI? literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/SearchResults/to_h-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/SearchResults/to_h-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..1259085130066c67239264bd32a400ef462923e0 GIT binary patch literal 162 zcmXAiu?oU46h$2*Rg3rmE)sX^{9G!i(7`3vsY6LZq`_#y%M1R#p`Gq>?m6?t6E@=F zHNcq&yR|JEz9iod4A}M7@Ll_}L^t~3|^Fpzvym&?;WqQwmJ#LzEwf|H^=m1Va#R9)P@jKy> z1vbFdG4n~d_t64`g7JWcQpjs79C@BVR=+8YxBQ%Ep-T(XkD{OKP04mK268)gTFKCH ztyQ~-V1@N6IbOD`RwX^l8c5%r?VHuW+}3$GDvOX{CeMAm){=8q-e2~T<2 vl$nfw5f|Yzo>p1pP*^t*O2XG^oLi?p1YsP)70P%LMoxLZrYeteHRs7U(Bo$T literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Settings/language-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Settings/language-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..afbb5981f9333e0eebcc1b23f25e3ab69e2dfa75 GIT binary patch literal 159 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!%}LBlFHKBOWwT;)b@Nn`4=K+qDM>A|vIm*%GCm9SfJI}{`q ll@v!aSaCU|W#*(B05!|xWG3mCKy1)2hFYLklms*~1OW9+F?;|3 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Settings/screen_name-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Settings/screen_name-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..00a3616220e42240fd8926a21825440d3ace05e1 GIT binary patch literal 165 zcmZSK2({u5a>-A&vT`gbDT?OJWcO4OC{8X)P0fqXOUzAWvtn~~^Hfp_DbFk^NiDLn z3QjF4$;?YHRz_B2%?4D%7Q_amt+)$HlX5bX^R1*I=K3ZUWtSFMSph96%}vcKVYlLT oC`c?SDUN2a;&MpK%tYL>~#OwuobSfXDHwL`Bc320;p0BqSa`Tzg` literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Settings/sleep_time-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Settings/sleep_time-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..9326f1b6ac51edf1119d65933d4f6388a9db9074 GIT binary patch literal 163 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!FV0C#Er>74%uQvpVsmx#R8kBn&nziPEwZu- zPAw_P%u6p;Mp9$V22{cp#0I3TxC=^?ax#-A&vT`gbDT?OJWcO6!E6L1FjjzhjOJ%cSb9M7nQV1!}EGbDXva$+J zEh)*&OD|SND6wV(s$dIZ1JYL91*J(jnaTN9(hxI!6N|D-3#_bw7L?|u=9REpaXSgR(KfC8HCRiX1aB zTgG^bRC3m&zez*PkqU+xQYd@Z1>FR_o7#Er%$Eu}HIkp3gAeM^Oh^4mqDW&g$Lt5q CFk{^S literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Size/h-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Size/h-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..64f79d7c2c546e485437ece3c37de59a56aa59de GIT binary patch literal 137 zcmZSK2({u5a>-A&vT`gbDT?OJWcO5J%V4u&b9M7n5(z2KEGbDXva$-!tV&hRV6$ce zin0ZPXe;i5(xjZsh<@M1qU_QFD=VO3rManjCG1w*4h4xtCB@MUR$LBgnK`Kj ZK+O_4nMwL35M%X=fu`yeB>{~K0RTYpC_(@L literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Size/height-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Size/height-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..95b3f67171cfd35fe0ee47659773cb194d0a6812 GIT binary patch literal 147 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!&PdHn&nRKDVsmx#RFVuS&nziPEwZu-&a6sR zhRRv90j1c2*nqSZcR^`VPG)kxl{Ca8-^8Nq(gG_hps}U7sd**rR@@E+iA5#F(F|5x f4r!S=sRlsJ5;>Vk`Xvyv^^1W<>lGydjSB$)U}7w8 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Size/resize-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Size/resize-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..80605c398d5168f41aa7b4515dfaa4ac4c2c857b GIT binary patch literal 147 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!E=n!VtV(6GVsmx#RFVuS&nziPEwZu-1_~-e z<*eC&QfxtNK-!ACpfo8bGdbT%8e)=fVo`Q!ft3}|*wWn8yb^XRZij-zqLSih1}iRy dw9K4T1E6M!oXjNs5{TLQAp7)+l7PmA004F3ET8}Y literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Size/w-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Size/w-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..608d671cabee9cb829801f2df9bfb7487947f042 GIT binary patch literal 137 zcmZSK2({u5a>-A&vT`gbDT?OJWcO5JD`&G}b9M7n5(z2KEGbDXva$-!tV&fbXR~Gl zin0ZPXe;i5(xjZsh<@M1qU_QFD=VO3rManjCG1w*4h4xtCB@MUR$LBgnK`Kj ZK+O_4nMwL35M%X=fu`yeB>{~K0RT-BC}02p literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Size/width-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Size/width-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..32c482682c0b4f89aa172f6758ada40bb9a70496 GIT binary patch literal 145 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!D$h(Q$zZc$b9M7nk_ai!EGbDXva$-!tV&ge zNLjN1W!Qq)fV35NL1|J>W^%rjG{hX=#G>rd0xK(^p{2R0c_r*t+zthaMJ2`23|3qY dX_+~x1|VZ|GL!U6AV%vK15MT|N&*@e0s#KTE4lyx literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/SourceUser/cdesc-SourceUser.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/SourceUser/cdesc-SourceUser.ri new file mode 100644 index 0000000000000000000000000000000000000000..6e58a44822740165c7939bb4a1ca94765af4dd6b GIT binary patch literal 240 zcmYk0OAEp<5QKY>wA5N}DtPNJ@VvbgUyy?y)ShyRafM*pggo@`n^qKASQx&YnH?oH z%uZV+0FKJEyxBC|T9!*fi|JW;Be1q;2$0>L7K_VEI)?_}50xa4`H!r*m16J&pkVn4 zKXCK#8Xz?J7CRTixYFD>%OXgtyKHd9qG4hd(;^l98zdyKgoRt}uZCwJHjT1;eT9q$Bwt!3JSay;yeMQ>a4MT`Id literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/before_request-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/before_request-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..69fd22623f674ffcd53d753ebbd7f3bd3b88bd25 GIT binary patch literal 291 zcmZ9HJx{|h6h#@3`KXYPV1vO52*HwMVt84KfJhlCRkTbQknO%UR$V*1Jgeg0<5Dre zeDBq{=kWL)F5g~)0eJFX6XY%|+H)(K>_X!*5PlGTMjTjxc&(c(pKmQQ62OcJ)yDc2 zz_YXH`R3oC5_JuuK5A!8fU7-ZqG%m^fJBU&G&+LOxL3qOD*{~q?MxM^6{)@x)k&Kk zJ#Qz#uT%`bMuqti%1Q59-#A2GuK)l5 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/cdesc-Client.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/cdesc-Client.ri new file mode 100644 index 0000000000000000000000000000000000000000..4d79a45e2c89d08fff221f0be3f286e7fabf555d GIT binary patch literal 508 zcmaixy-&k15XCbfrzCAb;$vYzikK<$WvNuClmUiP#NeTF%oVIUwy_=h@7GR0HzwihLpkDo=pCOsnF4z82o21$g%sStHapz|K*U zV7NXQj;e;cE&P?)Rcio3r?v^u6!NiQ);pR&HeL#ePqas~s<_}G}mg`u(9hXL>_K7zin;*WWZMO6%ha-J!U(Y{0E@#3n+ zrM9@R_}ilMds_H}u$!>;qcB(si$B_Rh}bcB9BYg`5zd|Pr)BGogffp&%05jtGc%4b literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/connection-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/connection-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..6bd95ee9d21c171bee737a01239c465259eb684f GIT binary patch literal 180 zcmYj~JqyAx6h$2*6^rx-xK$?y<9uBzen1BotvGaQLzIVUQqoua`v!~PbeD6_8BcCV zE(fQ89kVZI6y<56oV8jpIV&KJr#xL1Z(`OSxU$z(L-q;m4Qb1ZKX@wwEAApJ;KUe~qAT9C+%ZON_Jz^WQ{awVmj4?rs7 zDO6A~U^a9*ME*M`JTF1jZ41O7xhXE;5K?MTrTEShNnJ>D z^S)@=`s7#Gb@k^EQw%5rm%utK?ip2<=klLhdO=H6YJOMLai@K#Pe1~KPSI)s$HqUYb62#IP)KDtfRH#EH> zf5L@8nL)hT&zA0hSl{2*<7?W$TUTSDF}0^?48Ou#=eJgTqG`pm6SDH(_hXb4;Ovp1 z7nWFk=DH&6E^VEoPUR&;P{~(<(NSU>A?+0I@9)QJk-xRmhxI-D_&I>>gmj$kc6oj) WMG`Fcls0ntR|?Yhr!>@wtNIIHShF1f literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/firehose-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/firehose-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..3e5f35072e47d57115d14b44ad9b57a399223b1a GIT binary patch literal 852 zcmah|!EV$r5G@i4r7I*3+{$4T5GqnxZ;yC|n!)64bv?_=% zQw1yrRJPB$&`e+(ue*wJL!mKZp!96=Y=s-qkJWD(x zR78#EjFosZre4cf+M1PCdL|mhPR1u}g~Yb_Y#=L3-gHnm05?!slSJnVo5K^M|<4$WDzwLYzHQ0ti*+c$O z`05(YK(?N2t-gywBX}gR%WczUG)?-U?KR}7AzY!m1}<$Ih-4LlY3l-AH(iHU#VXJW z910=VOQrP&>cOw%PN6O#-$f$3MWkccod*#)zX>ZJlx9J!q(u)uxF3wnT}V}Vq5N=e zP@ka=u9p9J^ol}Wz6fVRN;`l0#dNwh6u}l>1C8ETevkxtIGIfHy)-^N+S>aLe*8R! fSB186{kq@4ORWmFNlysM<|8n9{}0Bl=(>IbFj*te literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/new-c.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..3700516fd54323fbb9d97c95f8b405cce3181ad9 GIT binary patch literal 615 zcmbu7!Ak-`6o);;rg;hKR)@#pAusB+CxK>33ks5UT0~~2Q76ZlW#%oC(f{78+a4sM zL#Kh|H{Un!x9_C-f|t(^h9ma%`&iK0yvFA;h{CECy8wg7VH7rIJ4qxg;*_jlTd7xw z10{tf#5~pwhBK_ES)wF2cvbMm%xpwY*$>FQVtO-@T2xH;ECB1Sl5wzfnIhXSeC#@O5z-aB? z=zXx0N@VCu5^-tS$Iy$yBdsa|pHN?OF+Ie0Bp7oYeiB6{z jSEBIZrtI+!K0cd8PYorLHWeGvcIAS!`C&g=Hpx?8T(`}O literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/sample-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/sample-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..90fa72d0575b1d3fc7c1a727d77e48c1294986a4 GIT binary patch literal 672 zcmaiy&r8EF6vq{$PIvL(Z5~3Ep`gunG(+g-HYhj{op>l7()MkOOPi9sDntAW{ijU# zi;AGfB;S1B_kG^mt39#fhrWs#>t>4);7ldqk#GXHZg`qYaF{a~25xiwE)YR8_J|sI zDzYhKw^Bfcr)y!y84g)JFCr;o#TqNq5!dq~XUtY8QY+qPbwB4CO;}UxpO$v%z&`-3+z8 z^As$|WzfLg{qh$AWJ1C%;PE>EUXty(0(|gh5mui1LPLxrFosW|a$or})OJS6oiNpZ zmG?eK8z=dr=p$Op&s=AA<}ajcNtX*y;$KH3Dtfgsj90Q}hyFxJXti45PT)4qRgOa0 l8QzeO&r8ybq>ASkr7&>Mq=@Jmy5+lGD;h7i%F|J)`UV;?Lx literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/site-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/site-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..63400c4f547ce15fa1fd1536d2d2577fe16c49e2 GIT binary patch literal 1280 zcmb7E%We}f6fF`8eMpE!cd)n$6)%NMyFxe>nwB(Tq*g*C6^qb?QxQ(VWBD2M`LHS+jA&OPT`-`~Du`=9zoFm|FB7w8L1#3`QCig<~{wu==o)y5+XsU)mekq$&{Es?4gAT<%AWJv)zOwjW#oCra@ z0fkv4Oj3j^Z(v?fkdiJOxe%t--gRS}d*6aMyd*R?13K&UWz_3Cgr;@tQ3-UbL4Pa7} z)k*?x^wM2Uu()W~c^MsjpyVWJR=wFwqA3x}cdKhBA?hdTc)d3O literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/ssl_socket_class-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/ssl_socket_class-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..345dda617f0c4b28a6ccbf9a736f942a4236334f GIT binary patch literal 193 zcmZY2I}5@v6oz33NyQ>gPHxrNbUrQ>FVMlIRvbE%G(X6Q;ftoIk};;Fdr9;mxRFuF%Ar*G}SZ|XxfkX_iZFjZfAMVGo9VB z%ul@l4n($Gs3410BuwRc(MYO<=FTy&^CgRt;;o3J1#V;|Z&mjKj#|l%Hh;;U`69?4 z%nyWSsI?M3)}wXhwiyiI;i2_;fG{=Ok}D^er%$D2;_IzebxflfyB`^gueh_dzb-y< C>ptiJ literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/user-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Client/user-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..625364783d4f0091bdc19f5855ae3c41163d30b7 GIT binary patch literal 1409 zcmb7^$!-%t5Qc+L@ZL`Nlu8iA~_+ku#`v;YYWe&7yXxWkNAdK-iH(FfO6TY3W2;6_bZgMw$O&Cbv`+hj z_Resoy+-V_WEQu&8zb)ivT8(-Ad#FP!Pq*GK-}6O)J=zf)j2jYou26w*KBvQ zsP%Zze$yjFh`rB91cAcaj<2rMiEI)m8&M!L9UOEHf(iPdsXb^P|2vTy9(!DZg6fl& zYV`iQ1|yOQGHq&gTf;&7Z2?UtU^B06N-%maDZYjyh;s5a(O+c9LAUyavGtVz|sO(qqkdXEA$^4!i}2K6feTl#wU0Xj;O*;da0=C42&^Qxyl6 z$75@Zoxwu>F0f-djZCg^$wp@rkWpmw)Kif+=i)_TE%|D-Vuu+&Il5Q0R7w|$rGZ`@ zUl)#67bY)_`81O*Wi)ryF9To^K(Wn@f)GKW(YNSOHNd~G?&6({rZA|05G*Mj&JY;} zvyNg`P}2O3cZ&0wb&5K05j#l?fPHQbK|1z+VMRFS8R1u*$UVZs36BblCSU8zR?9Os zD!r!rB#s$Wp|E&7we3sI*;7^g4ee*7hRDy}TqDyOEp|wG-CbCGSEJ5}LY&_6o>=;I zq8yxIXv=SwMl$7@KP@g48}e}aaGN!`=*vatWEa=)0XYKRNUwM4Mt4a=ymBsP0v wZE$~of3!AeZ@+5B@({j$+l3b)bDX}e#&5^yFsOG;y&CwIK~yfzjth&ZU;mQt+5i9m literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Connection/cdesc-Connection.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Connection/cdesc-Connection.ri new file mode 100644 index 0000000000000000000000000000000000000000..a10bc1a97ef8f94531bbe0a3fd9598d60ed52623 GIT binary patch literal 380 zcmZXPF;BxV5QQ@!J4#B+0t=g2mK`hew$QN-mWNksBei{2WnF^^TOb&iZ!7ieJ2b BZlwSK literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Connection/new-c.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Connection/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..c4e5ae91c8bebd24ab32d01b6cd14757547a3b0d GIT binary patch literal 194 zcmX}lu?vDg7>8kpFsa3%two${N#|b#MkP47lub^0U3H{)a(*Ha{qHGK`^)=GtP2*W zgJQr=z7kFkb>6DLEsdBrv2KGfFY9+oBXq zVL3jNTtC|y=z+H4lBSr4b*`z&49votD0vVBnGw6Tr)p}Pt@Hk@`c>Mar6_zFVZZsg LKKrw4T@2+H`{X^2 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Connection/ssl_socket_class-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Connection/ssl_socket_class-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..3a267cae427fcc08dc393fdfc30ab9619dc5ee85 GIT binary patch literal 200 zcmZY2Ef2yl6op{~=?Du!p>V^X7y@-MBYY$im;q{H>6$`r*0oFTUHJPnS-_x2BZBRK_4%}7xrtbiP-M89u1aa0$&s2_Jnmy6zZHU(f>y!sJrLUT*AG+~% HxW9h@dLTj& literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Connection/stream-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Connection/stream-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..2c93e25522fba2144718f58ece0cd9b0ecd2a6cd GIT binary patch literal 207 zcmX|*u?~VT6h#?KHL^H3n79~R&=_HUEEtu9fkkm*0(@#Cw6%T2`1hh1*PD}jPH%96 z@nI)RfQ@)1NH=-TMx4ctZAfEYGhq8Dc9!Xr6QKq;erGPO09z>pmc*r)|KNZ{5!k9J zDqc#McE?Gs?~MXzElrJr`e27D*JLsahT(-*==*+V#m>al_-N43YNpXBDGV-Hz|z=p VD_(fiC3u~yE%3^Jz*-j{@(sg6LrDMt literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Connection/tcp_socket_class-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Connection/tcp_socket_class-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..8d4c847a876659cd11884bf328d6a203b7154963 GIT binary patch literal 200 zcmZY2Ef2yl6op{~=?Du!p>V^X7y@-MBYY$in6aserMoGlS=To0UHJPnS-_xk*_B(&z@3=eTcV8wkeHl>c47=KXm8X Ha9@4^Z9zf$ literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/DeletedTweet/cdesc-DeletedTweet.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/DeletedTweet/cdesc-DeletedTweet.ri new file mode 100644 index 0000000000000000000000000000000000000000..d56f4d5ce76b0964f309ee7fab9b193ddf4b424d GIT binary patch literal 326 zcmY*Uu};G<5Y2#`DoHD`bYZi^ghZGxOC<`D2N+72JXDTzMHWtC*%vDQ9-9cH>W0(3 zd++YOtJOPf5Bo_2yiR^l_R*>kP9nKWtQIH&DZ3vKL#iQHosEm;sAT?TwO4WOSF~ErR z!{_`{7KYfOft!)|B=lF`0$6-sSrmmZZiO}-dJx1Ps+3EdV8EkEEh_20@`!BR3t`*m zr7Em&SE_tr#^#Ie)O#V_Z1+01>C7R*uIY6#K;jD)tm65g8lm@cnCg#uHLAPjcjS{v z(dW^8&C_g`ye6A09rj_AG9NuQSz4+MTxM@c@_)iZiqxL3aHn(t^pUaviBtVr9-U@M o6lSe%jJ=wCNBaq;tyTwNq$_xIuIkQ+dfe#;VGR~Kn@!RC1_%9iJ^%m! literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Event/name-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Event/name-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..648752cb7773f980cf77e19b284c25771d7f9a45 GIT binary patch literal 166 zcmXwyu?~VT6h$3OQHk*b++erN*98+XVQ@j5mhD`5PIo!?oaO3{U2*Ok z;KXdJEd_bB?v&92BD>^KTz-gITj0i4D?{BA$lki+_(vUuheRR#A{<=ZQqyBU8?VZ~ p+yHpJGyV}EOb2CotQOd$4{CKX6``( z&;mzhs#Ye-W9bG@trig3IghvH+c0Yau1vb_O#c9~m+m?FaR(7FQHZdRqi?Kf2W%$m srKYDJfspWB_(YKDSQEQyhGlv;R`0_(v8GWxb(H&Ol>SzB)C6<+0Yx)4ng9R* literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Event/target-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Event/target-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..2cb4e3e0f406be18faaecb6d4e63a397372c46c2 GIT binary patch literal 170 zcmXwyJr9B~6h$3OF*e2@;0AFO=Ierqm@v2?PE3VV(pWz7c-6me4LaTB+;f(zJGRAn zXn+$lRT~rJp=3p^W&x31@^D|i4YMZT#-vqe`WDDuy65P}9fik4A^bv)uC}Hbu$!${ rMNc;ZKH)n52_Vx^5l__u>-1r)PW(BtrjB{;#M3_$>u=>iwKta^I`=h( literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Event/target_object-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Event/target_object-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b2c9c67d8442a68602b5e58f34bdb628953dfae2 GIT binary patch literal 184 zcmY+-JqyAx7zAJkNyQ?9t6RH@bv~C0R_NeT>(oJ#@>-((2`$md`(=B)ROlMat zvtw5R2WDF=w3h}embN0kb?QMS3y9>D2Alk?naKhdwj>+fRzUKimc#%0Ubwc%giH8l zP_-^QtViQ4?Q<}I1Bb>N lr!e*02wK5QFUOwg&j@y+%qQf67-#XdT4bG3jQT#-$petgM27$X literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/MessageParser/cdesc-MessageParser.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/MessageParser/cdesc-MessageParser.ri new file mode 100644 index 0000000000000000000000000000000000000000..99f4ca6ec6992f4ff8cf368b317a65a3040b559f GIT binary patch literal 305 zcmY+8y-&n248=R3^wb_VFtD&?U_zAHT~6Xd%5Z>=W6FTiU`~OwjT{&LeUerT$dV=N zJ-_!mS-ryf{%*7Yk0bTQ-+B|H-Z-J;*$!hgM|?IEkpzhQ2PH2LKaLp*;DrfI?}j75 ze`70>uYT%2(XvR#2p3Dk&d}Es08-u5}<+hB;JE}+_eIFC2Fn5WdGl9kOYIYF;< z@`kDN&T27h=`Ui|l)Un;Yk0wG;vZGhFZ6G-ldh>t?nBDi1R6P^;d`noVI9bQ8^(Mn WdFqD9X0UT~u5GI92xI&kPwziuJDxF^!gA#5KqHJ=AQ{U{!U);SC{r71{^Yi8TOy@UP zUXE=JaA-a;(z7kng<^s`ozw;yuu~-XE_o{=)Bsn~C~MV}05KXPOFWO=u-HCeQ37t) zXO+rZSlR1X>Q~9UvFZXywFe$POe;AuxT_%38y6 zC>5XWEW{=3lrZhKpO FyAP2ZI9vb# literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Response/cdesc-Response.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Response/cdesc-Response.ri new file mode 100644 index 0000000000000000000000000000000000000000..32cde89761049f8f4bd5a178a52113d98f9eeab7 GIT binary patch literal 348 zcmYLEJx{|h6wH8}CmuD7#!QO9V-4kc1uBTx_kHT z?j02`aI(5J0^rfOiK`pMy=MzaXmh+mZ;kdyfZW~F=3>2-A)o_z4i5Pw^&7ySrXx{O zJq;fy0*S!D`QG<|yU*DI#E^MH9df98%U$p+gR*~>3a?qVo1EpeDMf0K99Y4k*3N^H zf|0ZK`Nab!5I>aK2d)Jk u;<_@0(k5Rn6V;z4P#e7&%=rD!oJHmx`H0SMgqf_uu(L?|u1elr&9WaSlVth; literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Response/new-c.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Response/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..d3128d79d6c1711c39991d714fe6c00b851fb3a0 GIT binary patch literal 338 zcmaKo!Arw16vlUuST_U@-t-W9D2iZve!W!DLBWB{dI}zr`rMw)l9Hqh{p(HHb`Zhy z`}qC7_Z=m#aK3!7Ex?`mT3}e)cX39nP7{M$2JCTOr&+V55YPd<1c!1%W(BZB-&^Am zU<{UQ-oUIMl&03g#g4d;t{ZxQh#xj+!ZFOMUb^5#V&U?4=2<$qa^RvQW= zHGQM!l1B$W7`auS*oNqA{$TF4G~E*!oY-=@N8MBo!{7`T|NZec@?cthkjA1Y#H3D7 euQH`=+g*>RSV@!0!)}V)AC}17eu!JA#@r88?reMj literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Response/on_body-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/Response/on_body-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..d4a0ede0cec7faa9d9f6f1a755d3ea5201f39cb9 GIT binary patch literal 192 zcmXxdu?~VT6hKi2Q;j${xVd3sWD(}af{BuJU_qQ1Obb;Tp>5hn41cc%*>CQd&abe} zPr3p)sy-9=)OER%g!)UZZd}(r0dh{M9~5tiC@jDQtzfNG4}e@aqm>iev5iTZf@eD3 z$V$Uz7-!7BIs@=kx>hKhftMI&(UlWeBzM_}D2mDn^}T(~kOd?r1@(801s3l!mUKfKB99+yM2RZdEkM!=iJBhx1g}Jpq5C7k2 za)m{55+%TqzhX4CsIoaDk+T#$uaQ=$bY6;9HfWFlIfs#RNT19YQ~(#FkhYB90TR?w zaEQ{!D@ug6vKs@uREpY7?!BMtLuegIjf7X3Od(j%QXmi3qzx zZ%j-$YY9(y%2P%&8Q&2lWJ=2{&S7d@7nBTYKeUB)`db7Q8%D2mixjOKvi^?BJj!Lk FlOGB-A&vT`gbDT?OJWcO6!OwLb9WwT;)b@Nox3MtPlDM>A|vI;IKN=?ko z%u5F`6LWIH6N~bIJY}$AYc`--wjeejZN*(snv|27oNpx!G1xb;D7&=4$_i*pX>Mv> z3A+`yLqTFuNpUoT6_-O=W=^UBP_uSUW|Dph#4`P2m|Z{?(5m=yh+TR`NkAJy0I5?s A-~a#s literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/StallWarning/message-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Streaming/StallWarning/message-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..c72693f594bd6df6dadc8cb541b1ff08ae880615 GIT binary patch literal 187 zcmXxd!3u&v5C-55u|^g>KsP%^*?GDcRN$eD86G^uDw`~=tIW>g>o*~u<{$WHzWL$> zo9x=v02d-G*E&d}RjZtnjS?Vk_cS`>gC{ds?isQLdP@#iMtvGZjX-OrRrr~;_f8Ueh;B?;&FVA%L zfMs^>YJd|F77HDu(aI^Tm8G)r#t0CXYZ@K$K@%wixDzVbYWw<5Y0Oii#v;>?iGMRvDE0Ph+uBnPRGt{PBPm3Hvi?3NwosC-PhrDiimOZ$HLY{? z{P&~o*U|^w5b4FYv3H5YT;-CNoz?R~QiY1kQ)sQ}QVP}N9bp&e7Q3Ci`O$>QNd92P Tne^CUI+3cPOo7-ex>eaPL9kX6 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Suggestion/cdesc-Suggestion.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Suggestion/cdesc-Suggestion.ri new file mode 100644 index 0000000000000000000000000000000000000000..b3f60d9c4a3f5cc56b0e258505c76b77fdda426e GIT binary patch literal 378 zcmYk2J5R$f6ooS&J55T87!VQ?gMR?+e7!_KD|skGDU&BBn8?C;;0H+jdTa+O#(T~^ z-#xl#`3qbf9>*5oX*9ji4_a8uD}@+YJ^QYc)~RtofVMkEu8&{JIcWg?Sri55^5onL zD^bu!xS6?oVcz`&5RUj>4h}-A&vT`gbDT?OJWcO6!%uCEoWwT;)b@Nn`4JpqoDM>A|vI;IuPfsl_ z$;{7F2FqKs0j1f3*nqSZcR^`VPG)kxl{CaG-^8Nq(gG_hpuwfNsd**rR@@E+iA5#F j(F|5x4r!S=sRlsJaygkv`Xvza^^4)g>lGyd4GjSR@a`|* literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Suggestion/size-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Suggestion/size-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..2a96b4b7c1b7934170dbb5e8f6a7d6e8012b6ac8 GIT binary patch literal 155 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!EY7S-WwT;)b@Nn`4JpqoDM>A|vI;IuPfsl_ z$;{7F2FqKs0j1f3*nqSZcR^`VPG)kxl{CaG-^8Nq(gG_hpuwfNsd**rR@@E+iA5#F j(F|5x4r!S=sRlsJaygkv`Xvza^^4)g>lGyd4GjSR2z@XV literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Suggestion/slug-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Suggestion/slug-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..d6d6e6dd478992fd88fe06df2d2ef94dcf004641 GIT binary patch literal 155 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!EY2xSXR~5+b@Nn`4JpqoDM>A|vI;IuPfsl_ z$;{7F2FqKs0j1f3*nqSZcR^`VPG)kxl{CaG-^8Nq(gG_hpuwfNsd**rR@@E+iA5#F j(F|5x4r!S=sRlsJaygkv`Xvza^^4)g>lGyd4GjSR2!AjX literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Suggestion/users-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Suggestion/users-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..df6f1e4024ab9d83d973e1b7434f33507aa8973a GIT binary patch literal 235 zcmY+8zYBsu7=|0-EL$4diU?b3N$1Z9gAyEq=*M(4oObDvdGg&I;eVeZ2(2&g`@Bzo zaEHm|AQOOnQJuKX0j?%Zxza)w%eLT?FoaQQ;#?#W zrY-Bl@NG(f8f-qi&=!n>lA%_VNSOV1&J0UWj7yV literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/TargetUser/cdesc-TargetUser.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/TargetUser/cdesc-TargetUser.ri new file mode 100644 index 0000000000000000000000000000000000000000..7e8eff1008ba0c10b7a570d0b7648efd98341980 GIT binary patch literal 240 zcmYk0I}5@<5QJ06B_uI+D%j;0SZ|u(3sPtyNp;nEu5y^iaktUG?Ab4RKy8U}2CDAHy5QbcF~{!qpoS^UUGSS3e~10AeB z;YVQ}y#{bieS-A&vT`gbDT?OJWcO4OOiWHrEiR5P$A| zvI+r-Dx)Z|W&^5V3t|J(R@?=pNjaIx`Bu^pV|^2gvP%oBtblfu=BDPAuv>9E6eJdv j6h|{yaXF-A=A;?`HB07XCh3j*hSnrJQ^bF7OL1_$_j2xO zw$3m(?Q{yTQJ(|ahraT@WRcrTP!Q6Z0o#X>JC5JdS|os2XQ*bs)@NY|T~j2vOf`&a z)Im^I7=V&nJW*K(x`7d7Uz}-}{BMqe#GQnBFu%>q-(fsO_Q)jCI^F3e{!bb_1A d(epgsh+JpBD8tffl*?pgYqOQD#Fms)`!5CXLA(F} literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Token/cdesc-Token.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Token/cdesc-Token.ri new file mode 100644 index 0000000000000000000000000000000000000000..60625ce4fe9884eddcb0e5e43f3b9dd1b9937c34 GIT binary patch literal 381 zcmX|7O;3X`80KJF2DqUnCdL~-!0r6@AWm7rL1PFWOb?{gnlxjSv_<2;U)!n2_xWzm z;y1W%o)iaoQTo7!$AK9`mlD-Q(yF}}5uj>U7gz1Kv{q<<6H1T+FaNARcE}RT#;l~<{n!GQD=Xqu&Xb}KPSJPylAD=WAaAK}aJ22L(GdsDX6yg} literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Token/to_s-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Token/to_s-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b46bf834ab93c7e2f4e032514153c7edd79c5416 GIT binary patch literal 145 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!EXj{AX0u{*b@Nn`2r17jDM>A|vI@!1PR&yW zOIfo4W!Qq)fV35NL1|J>W^%rjG{hL+#G>rd0xK(^nWed@c_r*t+zthaMJ2`23|3qY eX_+~x20+b{IhjfNB@m-A&vT`gbDT?OJWcO6!FUikN&5JLoEJ$UuVsmx#RFVrR&nziPEwZu- z0ZAz%DX?Y(%CiNr0ck7lg3_d%%;bD4X^4@&iAC9^1y)u-^GkD6^GevQxE%@-i%N>4 h8LYS*(lT>W4S<>@b25|kOCT2LgH6^eN&=b}0sy-^FxCJ7 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Trend/cdesc-Trend.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Trend/cdesc-Trend.ri new file mode 100644 index 0000000000000000000000000000000000000000..f00110fe27709e09e36cb6a32a79ac434927dde4 GIT binary patch literal 350 zcmYL^KTpFj5XCbfJ9SDxAR!?(e*oI~yhK1Nc_>2_rkkA9NEXhY+D;LCdhABPWZm!i zy?b|&zro%9WoQ9j2iGb4Y?b#|8X`HXo$e0=$Yv|~ZT)FN&< z=Cqx1AJYgBqo+>yfkIJ@$_0-Zum%Q8@CuPmIc1aurr6R{nEY{IS ykw#~mPETSiMg_wRDU_odf^LI8oX6$p%t-~E2FWi??}O^wbBBMED3UCenEe3#9bQTR literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Trend/events-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Trend/events-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..d3d34d366fe6cfb762f3d62f39e307a8ceeb2352 GIT binary patch literal 149 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!PAyB#D=B8PVsmx#RFVoQ&nziPEwZu-DN4;t zQHDxdvjOGUg4lqx6?Z{tQch-azLhk@DBr}Q?9u`&E1`Xt+*Wu5{pWTqZzEY f9MUp#QVoEbC37;9^h+Ry>z9Dc)+-A&vT`gbDT?OJWcO6!%uCEoWwT;)b@Nn`2r17jDM>A|vI;3m%}Y@R zOIfo4W!Qq)fV35NL1|J>W^%rjG{hL+#G>rd0xK(^nWed@c_r*t+zthaMJ2`23|3qY eX_+~x20+b{IhjfNB@m-A&vT`gbDT?OJWcO6!DlAPcs${cbb9M7nk_;)&EGbDXva$*(O3h1A zhR9j70j1c2*nqSZcR^`VPG)kxl{Ca4-^8Nq(gG_hpsA&~sd**rR@@E+iA5#F(F|5x e4r!S=sRkf(b25|kOCVI7Xkos&n&C} literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/TrendResults/as_of%3f-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/TrendResults/as_of%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..15c8eb7a4ebcebb9e83db7381997d653b95a6d29 GIT binary patch literal 174 zcmXZVI}d^|6hL7HQ;aMQZcgH&3ou^?F;Nl*7J^d;!lT5-N}KjJ#(!^3-A~T9Sl(e% zU*!OBnLic7haBmelQNDv)5_^gfZU2Q-ZgKI$TUEs**w{;1<@fF&K)j?`DDz%3BLU=uw%(%e4Exm-iA9>i zvh7NvD+kvTZKLSewEzRUJE7${ER$9d`(okX=5OXrk@_IjHX=SRhUqBRCzO4IR&s;V zm7iF#?3I@lp<=A1v%epSSmghJPe$3}tF}0Eaqt7ZObEFnD~pl-KK39;4%%Q8Ma3)& b=XdwRage<=x?J-lyynq&Pm}Nim1FN43zlH^ literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/TrendResults/attrs-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/TrendResults/attrs-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..e8922cd3020cab673f6ab351548816b6580f70cd GIT binary patch literal 162 zcmXAiu?oU46h$2*l@{>>T(s`i`MFe3p@U0^QwK?EgkWsL%M1R#Pcq#*+Ycgy1LX{qX2QacJ)Sm9g#%u< o0Ko9{u_F~wwLv4regJy!FmBlobvA4G+wUJsRe!AD5dm4gdfE literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/TrendResults/cdesc-TrendResults.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/TrendResults/cdesc-TrendResults.ri new file mode 100644 index 0000000000000000000000000000000000000000..1a4c4b9e4dd392e963f18184d58e100cabec2cec GIT binary patch literal 547 zcmZ`$%TB{E5X=GDdGv*l0KtiT0PWd65UI3M4h5-dPd-#m>I#D!NA`wFd_8tbgAj1C zc6N4lW_=c}$>s7CNgO0fZssN0TDg zOP-5YQ37&>Cbvh?1vhU^O^Dmj>_r8bBw5W3SQd~t+esxR46`^-V-8@fpUqRW^e;*3 zrcknUz@3uC7>=9A;9YIZ(bl~w9CzgvBG8)`KbQ?^JkLffU=a)R^s2KwHG%^#l<+J~ zF{U94Xf$zL$Gh%$v&wlj{}L}c;u@rCJ^vCLF2r8TkH0lA!!B^?FYTSMkYO4#xXZkuXM>l S>gpRBoS=?I6TgP`Snvr01e4$Z literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/TrendResults/location%3f-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/TrendResults/location%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b5eaa26b03521d36da917626458061d9f5f65231 GIT binary patch literal 235 zcmY+;v1`IW6bA4P>n9xc|24Z4*8u}!mJS^gMiO#mfncPMn{Eq9B* zSS->M#;vccsSzeaYp&?qw*dWwKWoP$7$>bF?xaAN{?F_bsS~NT5%In32`>q0_T*-A tjcB!UpCT3|JS0bBbrePNCJRQdZ~d|7&8?|I9*7}dgJI(T>vlMN%{Z) literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/TrendResults/location-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/TrendResults/location-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..53fafd3709fcfee0224f79430b5a9186f77c6144 GIT binary patch literal 252 zcmY+;&1=Fy5Cw1#W&J|%;H@4sUMiHD^W+l226C_!iKnHM%{ta?x4U67OYy%q5)gVF z-n{pF=pA6P-*^qMc9$*k*&pTDh&&ouuN52b1c=uxj~2zBVMYQd2;Fgyb+BA7?x{p% z84RmXTBAKYww+r=KcNC>2Es2o?!qvw6mczuhw1;!PLcW|Rh>oBmknT<5^^9nllSGF zRT`gXZ^7F4@*6dOh(r`HNKeLM9LKVgN8P7ob8NtKYswY3=oR10pVXpXsJ#7M0lpDX AR{#J2 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/TrendResults/new-c.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/TrendResults/new-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..f5bb1c61b766717545c2308862422166bbf038ce GIT binary patch literal 353 zcmZvY!Arw16o+?^u5K3v4}yZRcu)_n=U0R(a~N90Itm29I3WTv7;iM#0EDJL^m^@92FZygbtu^XqF4~ttJl;h%A~F zFmBpXtIEPbubNA@Y8!yg+pf{j5XN~U9eEL3IQ-4rODA8PZ0ac67G3w88%0WL^^TrN z)-~AADzoJ)R@8NiKdNgj&FW4W9N26WbVHu(hp=2TN#r~ex6;>-;g}~UxkGB5VdCHS rz9|^x&q`yOreeU8-P7K3$v!^Mddaa?<%IfqCKT3ra{W9Pt_;W*ipg-t literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/TrendResults/to_h-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/TrendResults/to_h-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..9cef55705103dc4a250aaae67cab164ad290bc0e GIT binary patch literal 160 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!EXj}0V6$R#b@Nn`4=K+qDM>A|vI;3m%}WVN zEiTO|DOLunux0})U<+ac(pKCBrAaxN$@x~&5Yv1Ui?T}#tgL`Wm*%GCm9SfJI}{`q pl@v!aSaCU|W#*(B05vP-WG3mCKy1)20a*}V1hGM{C<$n82mk`UG6Vns literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Tweet/cdesc-Tweet.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Tweet/cdesc-Tweet.ri new file mode 100644 index 0000000000000000000000000000000000000000..2b07226b01bd0cbc3a60b45c03755972d3901742 GIT binary patch literal 719 zcmZvaO;5ux42E|=ZP$(QC5_Khe*kb!FO&F?dVs?;PB~O*=b?zKsS;p8y!J;ORL_&Sswy5e#E(HVr5_-X^m- zR48#BP+qg^miQvfhpQPQyj#+J$Oe;I7__{{;>kiPxaY?_Cip_Ew2=sTsa=I0k|n{^ zpKMUOLdlX6mr53Q*xI0zyxp3DG&7GlAspGu6|6w{!pTt@KTjI`rL1xTwOZ$>bAf1V zF6SN1&926l2B69-v4oE7YEOm&-9N0oevQ$;{VsMv&XV&#mikIm@16dq23p{DP&@A& zSnW*NwcJPeYDT(I_ISvnEIHpU@4|Wq?aM+Q z(tj!a-|?3`;$a$dYQ#ph(Fi5Nya|W3kt>1VgDg3el|@mtmVb(x3c=Wf^J4$L2i=^$<$dqX7Y|ss zmuLabMA)r-(a24&zY#sTr;T|a0pfaVq*S9PatNSC=V<>2odh$Y6}(WUY=XBDc9Z(9 n@s$$*cky`Q;7vtSgqIr!H0)D9u%$FQ literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Tweet/filter_level-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Tweet/filter_level-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..6cb7f05d620da1b14d198a79b7c6ee6fa1000993 GIT binary patch literal 161 zcmZSK2({u5a>-A&vT`gbDT?OJWcO4OOv}tENiB-cNi9pwVY6a$b@NnG2r17j0Sa1K zg_NhJmMEhrv1S9RU<+ac(pKCBrAaxN$@x~&5MzB4i?T}#tgL``l;)=9m9SfJI}{`q kl@v!aSaCT3jY%~CYL?8&OwuobSOKJgHs}>40nG~m0G{14U;qFB literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Tweet/full_text-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Tweet/full_text-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b95e419b9dec08773b6d022c9798002a77007979 GIT binary patch literal 256 zcmY+8K}!QM5QRNRRxL;m^&l#Q^rDw`1y8deE7XM?7DU%mkdj@e-C#_XbVBXFH>C&h zH1Ou*z3=$s9VV{}-vKK^?Eh0_-{spTl z7!9$trt@%hsH=7OiUUCEj^F4ggHbu?KpVw8T>ocYbkOUdhn^LuDwASbI#0-Jz2hzN zM}Gg1^R7=&m-aU^RG8XeZS4UE0w|6N_?w8iIb2|8^ KoAhU)-SfXMC{CjQ literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Tweet/in_reply_to_attrs_id-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Tweet/in_reply_to_attrs_id-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..6df7db492ca3504a825602c418896a406c4a0eb3 GIT binary patch literal 177 zcmZSK2({u5a>-A&vT`gbDT?OJWcO5(%*=}~N-fB#j4#QLPXr1V$7iOnS+Tjgc`9jy zlxLQdq!w9Og_NhJmMCLYYRv{z$ri*0q^-CMN|SOjlk=^lA=daN7G;+fSXlw>EX_^L tD`B_db|^?JDk+X;u;Ow^%gjkN0BV-Z$xPBOfmj8kfi~$CB>~L~0RYSOIWPbK literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Tweet/in_reply_to_screen_name-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Tweet/in_reply_to_screen_name-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..d7d4d455c0f01d37bc4c214cea0f80c8c8b17820 GIT binary patch literal 183 zcmZ{dF$=;l5Jnv&6^l5FPIVO2`CKZf(7~nDsY6K13BfcC*9*me??Gp$x4iFr^Ti9+ z<*jc4uFO=gY*J)9>os9;U(LN9T0->Nn+_GI`=iJX)o7WK0ICs@_y6pR5?Pf>2x*9o uvuzLCDfTq$u|v-Zq7wS rHEOO+ct#H(&iKNf6G#i+1b){Om=_PSxR-Heson9Y5{hXXTKUso$Feyl literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Tweet/in_reply_to_user_id-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Tweet/in_reply_to_user_id-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..76f00e7d13b85a9a0e4ee6fb76d0258fe02260a0 GIT binary patch literal 175 zcmZvVu?oUK5CtvdA_lQl>|$Z3)@u_%g%ma+Rw<4ouCRC}$7YY<-@B03YMOa(rn3hu z^GnwNoJF`?P?RMrYAvI8Un`vrJ+h^z0du`&$*vek1R0DZj=!FP&;Zm s*o={T#qZz&v=~0vN(6E0E0(^Tz&w4C!=sMZj_QMqC8dV;T-A&vT`gbDT?OJWcO6!%t_2kXR~5+b@Nn`2r17jDM>A|vI;3rO)XId zOIfo4W!Qq)fV35NL1|J>W^%rjG{hL+#G>rd0xK(^nWed@c_r*t+zthaMJ2`23|3qY dX_+~x20+b{IhjfNB@m;5G|*(dq9mYsApqm-A&vT`gbDT?OJWcO4ODoQOWPfaa}PtGsRD`B%@b9M7nQVc22EGbDX zva$*R$tk0%v1S7*VGCjd(pKCBrAaxN$@x~&5QBXai?T}#tgL{xl;)=9m9SfJI}{`q ll@v!aSaCU|W#*(B05wbIWG3mCKGk5?1 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Tweet/source-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Tweet/source-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..e89d657f1abcda2fccab2d148553fdc0bda7d6e3 GIT binary patch literal 149 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!F3vA4N={|7Vsmx#RFVoQ&nziPEwZu-DNju; zQHDxdvjOGUg4lqx6?Z{tQch-azLhk@DBr}Q?9u`&E1{i?k1&Ku^#nB8_ fTn=fOIjIIf&5}8pN%|!a!+|u=Y`vl+pm`wx-M%e+ literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Tweet/text-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Tweet/text-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..dceaf0ea9a92fe04e82b50a6448981d29663e1dd GIT binary patch literal 145 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!EJ>{>VY6a$b@Nn`2r17jDM>A|vI;3rO)XId zOIfo4W!Qq)fV35NL1|J>W^%rjG{hL+#G>rd0xK(^nWed@c_r*t+zthaMJ2`23|3qY dX_+~x20+b{IhjfNB@m;5G|*(dq9mYsApikzE8qYC literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Tweet/uri-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Tweet/uri-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..557966315953f37b56d07c8c5771beef0848e232 GIT binary patch literal 252 zcmY+9F^j@L5Js<%P43cI2y%GE5*tO()RQKH1_CFD#%i(H=xP>o*)TVY`0w34tE*<1 z8Q%M*7am}+TbUEUvVCk6)#fbvniX+qQ8QrcyoiV8T@xt;DDO(q*l$vn=MZ(aYV^s# z=!Muwyx9)G@$8RkDS#;JB+{>72EP8^Y$eJo%C2VVyKuf)hKek-A&vU1F;^i3_v$WMtD$Yk?W;wUZ3VY6a$b@Nmb4=K+qDM>A|vI;3r zO)XId$yl?wxmj@+lqTh5Cg)p8LyYiEEXpn|u(AT0SDKreSHf<^?NE?dR8kzxV8!K- omYI`kU|GfBS$Vmy!rnyy!r1e6K^0IZHJssI20 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/User/cdesc-User.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/User/cdesc-User.ri new file mode 100644 index 0000000000000000000000000000000000000000..7fbcbe18bc1600fa8505d0e18b146c04eaf2696d GIT binary patch literal 1213 zcmb7EOK;RL5Z(hycC*jEC=wvVUbxYoodYWhm2xOTReQ=Ia-7Lxtz$>_q>K9Nv9rxm zf?0`EH1mD)&BHT!F}x=)Z@(x;$Ty`cDy{@ICY|vhS&r@v=zs)Yuao8R-IgPQCZu)7 zf%Tp5eV?h}tOFEzy%W5ldehW|SoNj?i6I%UYO2ws0}`!DF5ohKlSavM!IYH1kSl3| zRyw$KUox(nTySP{y%IdXz+DX&jjijW&MoDx4KKhj&1)C$!dCM*x?U|DbXw8}r8$Dh zm}(^U;4=p||He;CC4}07_J<#rnu9F-;7Cxp?&UiY+#nR*TBbrV>S9mansR%hFntE#$`D>u>h-$+H)T$1Z0)Ne90G&mdY_ literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/User/connections-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/User/connections-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..8de7a00a05b9e05a1b8acff6971e6933ba8c2da4 GIT binary patch literal 157 zcmZSK2({u5a>-A&vT`gbDT?OJWcO4ONY2m8OHD4x%+D)kvtn~~^Hh=xDbFk^NiDLn z3N218Qbtx_%?6Zb3t|J(R@?=pNjaIx`Bu^pGkp__vP%oBtbi7j=BDPAuv>9E6eJdv k6h|{yaXF-A=A;?`HB01VCh3-A&vT`gbDT?OJWcO4ONJ%YDF3Kz@$;{7Vvtn~~^Hh=xDbFk^NiDLn z3N218Qbtx_%?6Zb3t|J(R@?=pNjaIx`Bu^pGkp__vP%oBtbi7j=BDPAuv>9E6eJdv k6h|{yaXF-A=A;?`HB01VCh3^(*13lovV@BzA|qRzeBhZU~S=6uVCP6iRUf$XbqzUmcJr0=v<9B?<|% z?^?p}t{VU|tsjQ9zz!RRs-;AN^UoX^vKz9dBtf5=>q&@QX{_gTCuPN1eI@}(VGv$L d#eLtWo!GUOD-#;6X(e(`ebqc|%+{EH@Hh0OLgD}b literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/User/favorites_count-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/User/favorites_count-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..a1cac0ad7c111eb13b70753c40a8bb602f1c6c4f GIT binary patch literal 165 zcmZSK2({u5a>-A&vT`gbDT?OJWcO4ONlPrtFUl-QEsjslFU>1qvtn~~^Hfp_DbFk^ zNiDLn3N218Qbt!~%?4D%7Q_amt+)$HlX5bX^R1*IX8R@YL>{!OwuobSfXDFv_r2b320mh0K{B0OaK4? literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/User/favourites_count-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/User/favourites_count-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..812ec2ba06c25a30e3f371ea57347763ace39635 GIT binary patch literal 167 zcmZSK2({u5a>-A&vT`gbDT?OJWcO4OO-n4xFD=R}NiB{~&M(a?VY6a$b@NnG4k^zp zDM>A|vI;FuEmFo%Wz7au#1_N`q^-CMN|SOjlk=^lA*TB#7G;+fSXlwBD$PyJD`B_d pb|^?JDk+X;u;Ow^%gjkN0BV-V$xPBOf!Ly73baJ8C<$m>2mnwgH8=nO literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/User/followers_count-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/User/followers_count-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..b4a3a73913bfade25a178073ad57e4593f29cab2 GIT binary patch literal 165 zcmZSK2({u5a>-A&vT`gbDT?OJWcO4ONz2d4$uCbWDvnRiFU>1qvtn~~^Hfp_DbFk^ zNiDLn3N218Qbt!~%?4D%7Q_amt+)$HlX5bX^R1*IX8R@YL>{!OwuobSfXDFv_r2b320mh0L{KMU;qFB literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/User/friends_count-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/User/friends_count-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..730f7db804e52fa67d5697f85a729d2c47a20e93 GIT binary patch literal 161 zcmZSK2({u5a>-A&vT`gbDT?OJWcO4ON-N4t%}XhcPtGsRD`B%@b9M7nQV1!}EGbDX zva$*-PAyVKRbtHsRKXU+2BfXH3rdr6GL!SIq#@?|CKhFv7FbyUEh)`S%`0KI;&v!V mEGj9EX0YONNXyJgH2`Xs$jMC7FM(L0UkbEAuP6y-A&vT`gbDT?OJWcO6!%t_2kXR~5+b@Nmb4=K+qDM>A|vI;FuEm8){ zShE2o*n-%Av=w(jX;MyRa=w)`#1!AeqU_QFD=VOprManjCG1w*4h4xtCB@MUR$LBg dnK`KjK+O_4nMwL35R>&wfd=apB>{~K0RVveD#QQ) literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/User/listed_count-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/User/listed_count-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..9b7274b2fc3f81c20d3a68a981ba36c7057f4f50 GIT binary patch literal 159 zcmZSK2({u5a>-A&vT`gbDT?OJWcO4O%*iY+Nll4Q&M(a?VY6a$b@Nn`4=K+qDM>A| zvI;FuEmB5NVa*0qz!t;?q^-CMN|SOjlk=^lA*T8!7G;+fSXlwBD9ugHD`B_db|^?J lDk+X;u;Ow^%gjkN0BV-V$xPBOf!Ls53ba74C<$m>2mm}?F{%In literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/User/location-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/User/location-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..cd00a3c92b104f6afef87be7ae747f4335d85a95 GIT binary patch literal 151 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!&B;$rEXmBzW3ys&b@Nn`4k^zpDM>A|vI;Fu zEmDTdTC)Kq*@D=Bv=w(jX;MyRa=w)`#5CW;qU_QFD=VPUrManjCG1w*4h4xtCB@MU hR$LBgnK`KjK+O_4nMwL35YzQbfrjf9B>{~K0RU1TE;;}J literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/User/name-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/User/name-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..bdc0570134a656c11dfcb652aa2d34e8882d8895 GIT binary patch literal 143 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!%uCEoWwT;)b@Nmb4=K+qDM>A|vI;FuEm8){ zShE2o*n-%Av=w(jX;MyRa=w)`#1!AeqU_QFD=VOprManjCG1w*4h4xtCB@MUR$LBg dnK`KjK+O_4nMwL35R>&wfd=apB>{~K0RVtAD#8E& literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/User/profile_background_color-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/User/profile_background_color-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..55f619ffce908c0a0f8bdfe22e222d0140302923 GIT binary patch literal 183 zcmZSK2({u5a>-A&vT`gbDT?OJWcO5(Ehx%Q%gjlQPfASAPA|$Y%}a?-&dA|vI;FuEmFp*+L{fhm@SA6NLz6ilqTh5Cg)p8Lu~U+EXpn|u(ASL vU7DMkSHf<^?NE?dR8kzxV8!JCvfTivSt2JhNxuYQn|>+KGQFZCpm8ApX74+M literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/User/profile_background_image_uri-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/User/profile_background_image_uri-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..37d2b38abc39de0e7f113277c841c6991d700b1b GIT binary patch literal 191 zcmaKmJqyAx6h$2*6^pnEPS)KxKbHzBbZ{x{)S)CbmPbDlUSII<8|m(Jr*qF)u1eVE zH`@SQnW@@flqCm8_Km%%wQ9PStRG)B4yrY^Clny=k1UbJ2bm24l#`+3U*aMHAaW5F xV&`>_jfMSeeJbj_0|*IzFe670r%n-1)dJS(ui_lwU5{GwY?M9-Po%?L@dcfoKC%D+ literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/User/profile_background_image_uri_https-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/User/profile_background_image_uri_https-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..68258642f03cd3e8bb3d0750999714cdcc7586de GIT binary patch literal 203 zcma)$y$ZrG6h<8+6^pnEZgp_8E-u%lf(jj6N;`E3NsKl0C*k%6U*AYy!0DULcg}oK z!MeCw1#lt4dS#+K**ml^(`hb+Y8$kEcyiN=Mstsbzlq$)fZgtSawAX0$c9@LXPkCKoP{56G&q{gJt$BItF;t8JW`LO?}WFP=>qm E3sZGN;s5{u literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/User/profile_background_image_url-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/User/profile_background_image_url-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..6ae29965aeab1613d55af8aaff524d1dc82770ee GIT binary patch literal 191 zcmaKmu?oU46h$2*6^pnEPS)KxKbHzBbZ{x{)S)CXme8~buP^xfM!GxQ>D+Ucs~WcD z%_)E@5jGo>6xqR}dmF1;DOBH~3*)ObgXnY{&@y26N0IUBV~8{Y)RV^JU*f_dz)BVu xQXix>%E5lNJ_Yu{1H^>b*dHi}EpbS+vxJh|>gtGGwQ-$ZU?z;5?EIh7wxq!6GQ74H7v z&MaW8U|}J4UK-t4*iHoxft_~%A;pa|m338b-}!7}?59Rs{ETBbC4Qy;Vkl;N)Y E0#<25=l}o! literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/User/profile_link_color-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/User/profile_link_color-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..ac0db8b22b1bef0d72454bdae50ed2bd9c2ea337 GIT binary patch literal 171 zcmZSK2({u5a>-A&vT`gbDT?OJWcO4OFDS}S%gjlQ&&kZoj!(|d$uDBFVsmx#R8kEo z&nziPEwZu-Elw>`#-h%e4XBJQhz&?vaTk;(-A&vT`gbDT?OJWcO5(FDS}S%gjlQFV0L!O-d|^2Xb=alk;=(i`cB# zT-`jCbVJHBOG;9UtgJ$dQ;U@GsJCVVDrXB~1JYL91*J(jnaTN9(hwVc6N|D-3#_bw w)|cj{=9REpaXS-A&vT`gbDT?OJWcO4OFDS}S%gjlQFG;N^iBHbY$uDBFVsmx#R8kEo z&nziPEwZu-Elw>`#-h%e4XBJQhz&?vaTk;(-A&vT`gbDT?OJWcO4OE-pzdDJ@Pdj!(`n%`0KEVsmx#R8kBn&nziP zEwZu-Elw>`MpI+W22{cp#0I3TxC=^?ax#-A&vT`gbDT?OJWcO6!E6L1FjjzhjOJ%cSb9M7nk_jo#EGbDXva$*- zPAyVKNL#Z3W!Zw*fV35NL1|J>W^%rjG{ijL#G>rd0xK(^;ib8$c_r*t+zthaMJ2`2 i3|3qYX_+~x20+acIhjfNB@pBFOM#~A6(s?U3jqMl_Aed) literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/User/tweets_count-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/User/tweets_count-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..71cfebf8622c2065a79c1484c45515263d4a2468 GIT binary patch literal 159 zcmZSK2({u5a>-A&vT`gbDT?OJWcO4OEGbV-Eh&yq&M(a?VY6a$b@Nn`4=K+qDM>A| zvI;FuEmB5NVa*0qz!t;?q^-CMN|SOjlk=^lA*T8!7G;+fSXlwBD9ugHD`B_db|^?J lDk+X;u;Ow^%gjkN0BV-V$xPBOf!Ls53ba74C<$m>2mn!4G1veA literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/User/uri-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/User/uri-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..d92ef5cfe11e6cdd76341f7e2b2503107b9e2f8f GIT binary patch literal 249 zcmY+8v5LY#5J0bxO}sP~B7zo6Y}7(iPnsOu1p+6CCe>oG(bX*GvSFM>{ChWAT{p}O z@4cR1z;O3%jsRcHW22}tCo#}03w?{40sBd_aFpLQkwSptrf}9BVwR>5w6?7E(ZJ+Q z*hswE7Qo@`pK8d1AZaDiO)vw~|36!a@`AFhSlky*w@grx#fFPLp>8e*o>z(&yI)R* zlN+s5ubelB&*ZFY6-AL?!h40*U5|-<&#^w@Aj(2-zUX#YIIeZMrg#7P#lW(oJORV_ BNk;$x literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/User/url-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/User/url-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..96977f58675aa9e5078b372855ff9e32a4e6577c GIT binary patch literal 151 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMtD$Yk?W;wUZ3VY6a$b@Nmb3n|YmDM>A|vI;Fu zEm8(aShKmgS#cMXCgo%%=UYibOz=%C$}TOivH}`cnwy$e!fwUwP>@(uQXI`-#pRHe nnUiW@U=YpVsl=|K2{OS`Ng^jRNxuYQx_&9paJ`}=piBq=L^~|h literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/User/utc_offset-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/User/utc_offset-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..3a84e6224e2980f6b79714bef1755749d619eda7 GIT binary patch literal 155 zcmZSK2({u5a>-A&vT`gbDT?OJWcO6!FD*%q&reG$PAy@xVsmx#RFVxT&nziPEwZu- zElw>`Mv}K?14^?6u>ol-?t;>!oXq5WD`|*{zKKQIr3F@2K;uhuQ}asLt+*Wu5{pWT jqZzEY9MUp#QVoEbC2}&8^h+S->z4wJ*DFc_8W#cpLr^d9 literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/User/website%3f-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/User/website%3f-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..2824415c6e64f7d883d53baaef663f0c8b221ab7 GIT binary patch literal 161 zcmZSK2(=Oka>-A&vU1F;^i3_v$WMtD$Yk?W;w?{2D$XoPwP&+pb9M7nk`5`)EGbDX zva$*-PAyV~%UZL!xmj@+lqTh5Cg)p8L(K9`EXpn|u(ARgT$-DjSHf<^?NE?dR8kzx tV8!K-mYI`kU|k^!5QRG+1BIajLsdFhVSp}>q0?mv5{(q8NC=Y2VsPL}tfp~vIScjQV?;Z! zJ>7fv-q-2nFxsx{0bp7Gu8~W7R8K~v!SIYlYZwKHk0cFVva?}E0?1pW$-fziB!NNW zipm@;jBibAP2a8o@U`v-Ywp4zZZvVLgoW4p%tn(wk#0&6^_8D}j|tgPE!B?6)Th17 zN|gEbQ?ixprStRCR{jCZMI6a-&jGYg(}&Q2WL(3IjlqU zgobdO*R<95Ul(Ujo3c2>`5Dej#ewsaY>&2__L97^@5 Lc(<&?Zl#)Ec}`Nk literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Utils/ClassMethods/deprecate_alias-i.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Utils/ClassMethods/deprecate_alias-i.ri new file mode 100644 index 0000000000000000000000000000000000000000..4bd835901724d5d3c1da3f9c7ea1f80e74b86b40 GIT binary patch literal 209 zcmZ9GF$;n~7=|6EEZhwY~80@Vv7{ z2F~LqD}ammBxqi;&R2}Yu2W;Hu%ZSF${E!J$UTbPbJ{awPyu9yaSd?gRO?C9yMHGj zQ3Q6|m7G-)Hd82}>fN;fL$zyAm^s*COO?^N1x)JeS*T1q$nfF|>K@z4f5q(ez24MmnOAbPfhbZY;8C7WkF$3IfE(v2PyFe})-7z`AY4@nGR~^`4afi4GtI z#R+FFVcR+7ImiO4?rI1RvRJB=WeV1$LJ%oJZe-HBIFQkK?wk5bioe~YT;}`ch0L($ z_4YpIhu-{4qH5QaUJXcbBey_A+Rq?Z;%J#Q#zsY0Ma5j}-cCUIgG*V(YyDE|9yjA%;_ zdzpRa{a`Ly3voMp*NG4#-cQM9dKq0yFZ8cch4wq&VD1TTJPG~B`A%9(Mu>%#su1D~ z1m0vWI(Zo@nP_oe>rK(D%UlR2UT%nOQ*?$o8e2pyEgt?dpJ;GpFweZ;GHQnYW=6I& zTmS;o4$v6fgR{@TW(0}m1TC?9OE6TF$`+tgFeS6(6~sy>Yj6-jstwSV%pOQll>#IK zu?u7{R@CzXZyx%uVG68|d$NF)+!A*IPpEY=Zf*{#oT=o(5-tzx|H`~6xbs={4363+cVi1sj*iUxy0)Cm2X=W~yjTHsE}xNqw- M^~>r?Jrh@7KmIGA*8l(j literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Utils/included-c.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Utils/included-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..1b3bb0032d8800871456a13f2fba377d2e1db21f GIT binary patch literal 168 zcmX}lu?vDg7>8kpxFQJ}S|VC*swJI&E(Rss;1W7H-RVUiT`K1t(SKheG{5k?vqg!` z?b6l2x&7qYJ-Vh^6BB$zZEbv`8wPgG1m72La!y;IbYuqL-xHP<2z###)g5+|mP`Be xJ@BLbOSf*0FzuyvLlt0|-pS}Vj;lcM@SxdCk@hg8mli}lPbg@qLZCtsJ%vIyabmWvyJ50X{P)d6Y)h{* z-;?jEv&P%ytBDb(`m`XMnoW2uoxtm6dyzTl%;tgDUmc~j#E5GvRgPHyd}qEwH!C6~ zV}o~%%0lq2$Pi1(Vo%z((Vb+1Z60`zS?c)RupM}xOR@#)90X`Of?yUW zD4kQVDFIVnD4T;xfD5gq-a@2IyaS_Sg2XV;f%pWZs4@nrfpnRHMWkrx_|7Wuo`VFm zIrC%=TX`To0C9oZQl`9f9fUTeNN!1NYWlzYFG}d$o7B`Ye(&7jp=vAkzpNpgU1EGR zF<{adKsc>B4&aO^-D?E)CW%xu9tWOlqA!YV#S2@3ck}qu>8TOxD;bS!Gtj80_8D?i Gy}kk6Lz@Et literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Version/cdesc-Version.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Version/cdesc-Version.ri new file mode 100644 index 0000000000000000000000000000000000000000..9aa7ce8dd132b2d31b0e0f59a2f3d2841111cef6 GIT binary patch literal 370 zcmZXPJ5R$f6ooS&JFj*?f~A{(0PTFeq$))isSibg4&nNHVpx?eG%-T_|?uS3vk_Y;@8Qc{8p7C zelW0@taj4=^euq*?a!)l6q2l!)^!*_oPFt9tuVj{L&4(R`t6X9YECH+G2qckutlxQ zrJD{eFH?>uTl#;+q!RlZRdzq3eH8?khWG|q*KEn*i1K_lTD?rPCOm}PsTUJ;16l2UgQ7( literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/Version/to_s-c.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/Version/to_s-c.ri new file mode 100644 index 0000000000000000000000000000000000000000..d504f9ba91bffa6a353a767d350d22d34aa7105c GIT binary patch literal 214 zcmY+8zYoDc6vqv6MHd4TgLGoi&aX=)NIEnT%5o98)~SoSYhGW8|6Z$;_51VF?HysX zUz-$Qr9Y9RySehAVxiL~b150H%{Fu<@mmo|1UN}7mC*n{*Js-p?4n9?l^U3|JCVRg zRRGkZ)l+J+zzzz5RB~ou`k&be6d8)*&ip>FPsagDs!-4Pfl%q}%zPHZAh@YqdY;ES Yp<~S#wb(%ADsia=b6+jj5|gI!1*LUCqyPW_ literal 0 HcmV?d00001 diff --git a/.gems/doc/twitter-5.11.0/ri/Twitter/cdesc-Twitter.ri b/.gems/doc/twitter-5.11.0/ri/Twitter/cdesc-Twitter.ri new file mode 100644 index 0000000000000000000000000000000000000000..a89d4c68a7fa47149fc0eee5880b8c4596e2deb2 GIT binary patch literal 306 zcmZXOF;BxV5QQ@!J0ziu2r(e}2eg^bO9rUqp+$l+c|eY9B!e4U&Kdqbb}A$!mOGv9 zeeb=C`W0@TAG`+G`*>1r=a0!5xw1sC?(l69O(Z}bw*&1x+?}O66+cq|$Xq&^2`RKg zP!VTYK{LEtXL?ylDr>>o7gU&L!pYWiN_j0Se%T9l>+HC}vwz;k;5v?3btusFJ~{U^ zei)7a!27@8lyz@@5&q&OmkQQsr{*PA)-v}CX>?YXR. Thanks! + * Applied patches by Yui NARUSE to suppress warning with + -Wchar-subscripts and better validate UTF-8 strings. + * Applied patch by ginriki@github to remove unnecessary if. + * Add load/dump interface to JSON::GenericObject to make + serialize :some_attribute, JSON::GenericObject + work in Rails active models for convenient SomeModel#some_attribute.foo.bar + access to serialised JSON data. +2013-02-04 (1.7.7) + * Security fix for JSON create_additions default value and + JSON::GenericObject. It should not be possible to create additions unless + explicitely requested by setting the create_additions argument to true or + using the JSON.load/dump interface. If JSON::GenericObject is supposed to + be automatically deserialised, this has to be explicitely enabled by + setting + JSON::GenericObject.json_creatable = true + as well. + * Remove useless assert in fbuffer implementation. + * Apply patch attached to https://github.com/flori/json/issues#issue/155 + provided by John Shahid , Thx! + * Add license information to rubygems spec data, reported by Jordi Massaguer Pla . + * Improve documentation, thx to Zachary Scott . +2012-11-29 (1.7.6) + * Add GeneratorState#merge alias for JRuby, fix state accessor methods. Thx to + jvshahid@github. + * Increase hash likeness of state objects. +2012-08-17 (1.7.5) + * Fix compilation of extension on older rubies. +2012-07-26 (1.7.4) + * Fix compilation problem on AIX, see https://github.com/flori/json/issues/142 +2012-05-12 (1.7.3) + * Work around Rubinius encoding issues using iconv for conversion instead. +2012-05-11 (1.7.2) + * Fix some encoding issues, that cause problems for the pure and the + extension variant in jruby 1.9 mode. +2012-04-28 (1.7.1) + * Some small fixes for building +2012-04-28 (1.7.0) + * Add JSON::GenericObject for method access to objects transmitted via JSON. +2012-04-27 (1.6.7) + * Fix possible crash when trying to parse nil value. +2012-02-11 (1.6.6) + * Propagate src encoding to values made from it (fixes 1.9 mode converting + everything to ascii-8bit; harmless for 1.8 mode too) (Thomas E. Enebo + ), should fix + https://github.com/flori/json/issues#issue/119. + * Fix https://github.com/flori/json/issues#issue/124 Thx to Jason Hutchens. + * Fix https://github.com/flori/json/issues#issue/117 +2012-01-15 (1.6.5) + * Vit Ondruch reported a bug that shows up when using + optimisation under GCC 4.7. Thx to him, Bohuslav Kabrda + and Yui NARUSE for debugging and + developing a patch fix. +2011-12-24 (1.6.4) + * Patches that improve speed on JRuby contributed by Charles Oliver Nutter + . + * Support object_class/array_class with duck typed hash/array. +2011-12-01 (1.6.3) + * Let JSON.load('') return nil as well to make mysql text columns (default to + '') work better for serialization. +2011-11-21 (1.6.2) + * Add support for OpenStruct and BigDecimal. + * Fix bug when parsing nil in quirks_mode. + * Make JSON.dump and JSON.load methods better cooperate with Rails' serialize + method. Just use: serialize :value, JSON + * Fix bug with time serialization concerning nanoseconds. Thanks for the + patch go to Josh Partlow (jpartlow@github). + * Improve parsing speed for JSON numbers (integers and floats) in a similar way to + what Evan Phoenix suggested in: + https://github.com/flori/json/pull/103 +2011-09-18 (1.6.1) + * Using -target 1.5 to force Java bits to compile with 1.5. +2011-09-12 (1.6.0) + * Extract utilities (prettifier and GUI-editor) in its own gem json-utils. + * Split json/add/core into different files for classes to be serialised. +2011-08-31 (1.5.4) + * Fix memory leak when used from multiple JRuby. (Patch by + jfirebaugh@github). + * Apply patch by Eric Wong that fixes garbage collection problem + reported in https://github.com/flori/json/issues/46. + * Add :quirks_mode option to parser and generator. + * Add support for Rational and Complex number additions via json/add/complex + and json/add/rational requires. +2011-06-20 (1.5.3) + * Alias State#configure method as State#merge to increase duck type synonymy with Hash. + * Add as_json methods in json/add/core, so rails can create its json objects + the new way. +2011-05-11 (1.5.2) + * Apply documentation patch by Cory Monty . + * Add gemspecs for json and json_pure. + * Fix bug in jruby pretty printing. + * Fix bug in object_class and array_class when inheriting from Hash or Array. +2011-01-24 (1.5.1) + * Made rake-compiler build a fat binary gem. This should fix issue + https://github.com/flori/json/issues#issue/54. +2011-01-22 (1.5.0) + * Included Java source codes for the Jruby extension made by Daniel Luz + . + * Output full exception message of deep_const_get to aid debugging. + * Fixed an issue with ruby 1.9 Module#const_defined? method, that was + reported by Riley Goodside. +2010-08-09 (1.4.6) + * Fixed oversight reported in http://github.com/flori/json/issues/closed#issue/23, + always create a new object from the state prototype. + * Made pure and ext api more similar again. +2010-08-07 (1.4.5) + * Manage data structure nesting depth in state object during generation. This + should reduce problems with to_json method definіtions that only have one + argument. + * Some fixes in the state objects and additional tests. +2010-08-06 (1.4.4) + * Fixes build problem for rubinius under OS X, http://github.com/flori/json/issues/closed#issue/25 + * Fixes crashes described in http://github.com/flori/json/issues/closed#issue/21 and + http://github.com/flori/json/issues/closed#issue/23 +2010-05-05 (1.4.3) + * Fixed some test assertions, from Ruby r27587 and r27590, patch by nobu. + * Fixed issue http://github.com/flori/json/issues/#issue/20 reported by + electronicwhisper@github. Thx! +2010-04-26 (1.4.2) + * Applied patch from naruse Yui NARUSE to make building with + Microsoft Visual C possible again. + * Applied patch from devrandom in order to allow building of + json_pure if extensiontask is not present. + * Thanks to Dustin Schneider , who reported a memory + leak, which is fixed in this release. + * Applied 993f261ccb8f911d2ae57e9db48ec7acd0187283 patch from josh@github. +2010-04-25 (1.4.1) + * Fix for a bug reported by Dan DeLeo , caused by T_FIXNUM + being different on 32bit/64bit architectures. +2010-04-23 (1.4.0) + * Major speed improvements and building with simplified + directory/file-structure. + * Extension should at least be comapatible with MRI, YARV and Rubinius. +2010-04-07 (1.2.4) + * Triger const_missing callback to make Rails' dynamic class loading work. +2010-03-11 (1.2.3) + * Added a State#[] method which returns an attribute's value in order to + increase duck type compatibility to Hash. +2010-02-27 (1.2.2) + * Made some changes to make the building of the parser/generator compatible + to Rubinius. +2009-11-25 (1.2.1) + * Added :symbolize_names option to Parser, which returns symbols instead of + strings in object names/keys. +2009-10-01 (1.2.0) + * fast_generate now raises an exeception for nan and infinite floats. + * On Ruby 1.8 json supports parsing of UTF-8, UTF-16BE, UTF-16LE, UTF-32BE, + and UTF-32LE JSON documents now. Under Ruby 1.9 the M17n conversion + functions are used to convert from all supported encodings. ASCII-8BIT + encoded strings are handled like all strings under Ruby 1.8 were. + * Better documentation +2009-08-23 (1.1.9) + * Added forgotten main doc file extra_rdoc_files. +2009-08-23 (1.1.8) + * Applied a patch by OZAWA Sakuro to make json/pure + work in environments that don't provide iconv. + * Applied patch by okkez_ in order to fix Ruby Bug #1768: + http://redmine.ruby-lang.org/issues/show/1768. + * Finally got around to avoid the rather paranoid escaping of ?/ characters + in the generator's output. The parsers aren't affected by this change. + Thanks to Rich Apodaca for the suggestion. +2009-06-29 (1.1.7) + * Security Fix for JSON::Pure::Parser. A specially designed string could + cause catastrophic backtracking in one of the parser's regular expressions + in earlier 1.1.x versions. JSON::Ext::Parser isn't affected by this issue. + Thanks to Bartosz Blimke for reporting this + problem. + * This release also uses a less strict ruby version requirement for the + creation of the mswin32 native gem. +2009-05-10 (1.1.6) + * No changes. І tested native linux gems in the last release and they don't + play well with different ruby versions other than the one the gem was built + with. This release is just to bump the version number in order to skip the + native gem on rubyforge. +2009-05-10 (1.1.5) + * Started to build gems with rake-compiler gem. + * Applied patch object/array class patch from Brian Candler + and fixes. +2009-04-01 (1.1.4) + * Fixed a bug in the creation of serialized generic rails objects reported by + Friedrich Graeter . + * Deleted tests/runner.rb, we're using testrb instead. + * Editor supports Infinity in numbers now. + * Made some changes in order to get the library to compile/run under Ruby + 1.9. + * Improved speed of the code path for the fast_generate method in the pure + variant. +2008-07-10 (1.1.3) + * Wesley Beary reported a bug in json/add/core's DateTime + handling: If the nominator and denominator of the offset were divisible by + each other Ruby's Rational#to_s returns them as an integer not a fraction + with '/'. This caused a ZeroDivisionError during parsing. + * Use Date#start and DateTime#start instead of sg method, while + remaining backwards compatible. + * Supports ragel >= 6.0 now. + * Corrected some tests. + * Some minor changes. +2007-11-27 (1.1.2) + * Remember default dir (last used directory) in editor. + * JSON::Editor.edit method added, the editor can now receive json texts from + the clipboard via C-v. + * Load json texts from an URL pasted via middle button press. + * Added :create_additions option to Parser. This makes it possible to disable + the creation of additions by force, in order to treat json texts as data + while having additions loaded. + * Jacob Maine reported, that JSON(:foo) outputs a JSON + object if the rails addition is enabled, which is wrong. It now outputs a + JSON string "foo" instead, like suggested by Jacob Maine. + * Discovered a bug in the Ruby Bugs Tracker on rubyforge, that was reported + by John Evans lgastako@gmail.com. He could produce a crash in the JSON + generator by returning something other than a String instance from a + to_json method. I now guard against this by doing a rather crude type + check, which raises an exception instead of crashing. +2007-07-06 (1.1.1) + * Yui NARUSE sent some patches to fix tests for Ruby + 1.9. I applied them and adapted some of them a bit to run both on 1.8 and + 1.9. + * Introduced a JSON.parse! method without depth checking for people who like + danger. + * Made generate and pretty_generate methods configurable by an options hash. + * Added :allow_nan option to parser and generator in order to handle NaN, + Infinity, and -Infinity correctly - if requested. Floats, which aren't numbers, + aren't valid JSON according to RFC4627, so by default an exception will be + raised if any of these symbols are encountered. Thanks to Andrea Censi + for his hint about this. + * Fixed some more tests for Ruby 1.9. + * Implemented dump/load interface of Marshal as suggested in ruby-core:11405 + by murphy . + * Implemented the max_nesting feature for generate methods, too. + * Added some implementations for ruby core's custom objects for + serialisation/deserialisation purposes. +2007-05-21 (1.1.0) + * Implemented max_nesting feature for parser to avoid stack overflows for + data from untrusted sources. If you trust the source, you can disable it + with the option max_nesting => false. + * Piers Cawley reported a bug, that not every + character can be escaped by ?\ as required by RFC4627. There's a + contradiction between David Crockford's JSON checker test vectors (in + tests/fixtures) and RFC4627, though. I decided to stick to the RFC, because + the JSON checker seems to be a bit older than the RFC. + * Extended license to Ruby License, which includes the GPL. + * Added keyboard shortcuts, and 'Open location' menu item to edit_json.rb. +2007-05-09 (1.0.4) + * Applied a patch from Yui NARUSE to make JSON compile + under Ruby 1.9. Thank you very much for mailing it to me! + * Made binary variants of JSON fail early, instead of falling back to the + pure version. This should avoid overshadowing of eventual problems while + loading of the binary. +2007-03-24 (1.0.3) + * Improved performance of pure variant a bit. + * The ext variant of this release supports the mswin32 platform. Ugh! +2007-03-24 (1.0.2) + * Ext Parser didn't parse 0e0 correctly into 0.0: Fixed! +2007-03-24 (1.0.1) + * Forgot some object files in the build dir. I really like that - not! +2007-03-24 (1.0.0) + * Added C implementations for the JSON generator and a ragel based JSON + parser in C. + * Much more tests, especially fixtures from json.org. + * Further improved conformance to RFC4627. +2007-02-09 (0.4.3) + * Conform more to RFC4627 for JSON: This means JSON strings + now always must contain exactly one object "{ ... }" or array "[ ... ]" in + order to be parsed without raising an exception. The definition of what + constitutes a whitespace is narrower in JSON than in Ruby ([ \t\r\n]), and + there are differences in floats and integers (no octals or hexadecimals) as + well. + * Added aliases generate and pretty_generate of unparse and pretty_unparse. + * Fixed a test case. + * Catch an Iconv::InvalidEncoding exception, that seems to occur on some Sun + boxes with SunOS 5.8, if iconv doesn't support utf16 conversions. This was + reported by Andrew R Jackson , thanks a bunch! +2006-08-25 (0.4.2) + * Fixed a bug in handling solidi (/-characters), that was reported by + Kevin Gilpin . +2006-02-06 (0.4.1) + * Fixed a bug related to escaping with backslashes. Thanks for the report go + to Florian Munz . +2005-09-23 (0.4.0) + * Initial Rubyforge Version diff --git a/.gems/gems/json-1.8.1/COPYING b/.gems/gems/json-1.8.1/COPYING new file mode 100644 index 0000000..c3a2126 --- /dev/null +++ b/.gems/gems/json-1.8.1/COPYING @@ -0,0 +1,58 @@ +Ruby is copyrighted free software by Yukihiro Matsumoto . +You can redistribute it and/or modify it under either the terms of the GPL +(see GPL file), or the conditions below: + + 1. You may make and give away verbatim copies of the source form of the + software without restriction, provided that you duplicate all of the + original copyright notices and associated disclaimers. + + 2. You may modify your copy of the software in any way, provided that + you do at least ONE of the following: + + a) place your modifications in the Public Domain or otherwise + make them Freely Available, such as by posting said + modifications to Usenet or an equivalent medium, or by allowing + the author to include your modifications in the software. + + b) use the modified software only within your corporation or + organization. + + c) rename any non-standard executables so the names do not conflict + with standard executables, which must also be provided. + + d) make other distribution arrangements with the author. + + 3. You may distribute the software in object code or executable + form, provided that you do at least ONE of the following: + + a) distribute the executables and library files of the software, + together with instructions (in the manual page or equivalent) + on where to get the original distribution. + + b) accompany the distribution with the machine-readable source of + the software. + + c) give non-standard executables non-standard names, with + instructions on where to get the original software distribution. + + d) make other distribution arrangements with the author. + + 4. You may modify and include the part of the software into any other + software (possibly commercial). But some files in the distribution + are not written by the author, so that they are not under this terms. + + They are gc.c(partly), utils.c(partly), regex.[ch], st.[ch] and some + files under the ./missing directory. See each file for the copying + condition. + + 5. The scripts and library files supplied as input to or produced as + output from the software do not automatically fall under the + copyright of the software, but belong to whomever generated them, + and may be sold commercially, and may be aggregated with this + software. + + 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. + diff --git a/.gems/gems/json-1.8.1/COPYING-json-jruby b/.gems/gems/json-1.8.1/COPYING-json-jruby new file mode 100644 index 0000000..137a3da --- /dev/null +++ b/.gems/gems/json-1.8.1/COPYING-json-jruby @@ -0,0 +1,57 @@ +JSON-JRuby is copyrighted free software by Daniel Luz , +and is a derivative work of Florian Frank's json library . +You can redistribute it and/or modify it under either the terms of the GPL +version 2 (see the file GPL), or the conditions below: + + 1. You may make and give away verbatim copies of the source form of the + software without restriction, provided that you duplicate all of the + original copyright notices and associated disclaimers. + + 2. You may modify your copy of the software in any way, provided that + you do at least ONE of the following: + + a) place your modifications in the Public Domain or otherwise + make them Freely Available, such as by posting said + modifications to Usenet or an equivalent medium, or by allowing + the author to include your modifications in the software. + + b) use the modified software only within your corporation or + organization. + + c) give non-standard binaries non-standard names, with + instructions on where to get the original software distribution. + + d) make other distribution arrangements with the author. + + 3. You may distribute the software in object code or binary form, + provided that you do at least ONE of the following: + + a) distribute the binaries and library files of the software, + together with instructions (in the manual page or equivalent) + on where to get the original distribution. + + b) accompany the distribution with the machine-readable source of + the software. + + c) give non-standard binaries non-standard names, with + instructions on where to get the original software distribution. + + d) make other distribution arrangements with the author. + + 4. You may modify and include the part of the software into any other + software (possibly commercial). But some files in the distribution + are not written by the author, so that they are not under these terms. + + For the list of those files and their copying conditions, see the + file LEGAL. + + 5. The scripts and library files supplied as input to or produced as + output from the software do not automatically fall under the + copyright of the software, but belong to whomever generated them, + and may be sold commercially, and may be aggregated with this + software. + + 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. diff --git a/.gems/gems/json-1.8.1/GPL b/.gems/gems/json-1.8.1/GPL new file mode 100644 index 0000000..db2fc45 --- /dev/null +++ b/.gems/gems/json-1.8.1/GPL @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/.gems/gems/json-1.8.1/Gemfile b/.gems/gems/json-1.8.1/Gemfile new file mode 100644 index 0000000..65d039b --- /dev/null +++ b/.gems/gems/json-1.8.1/Gemfile @@ -0,0 +1,11 @@ +# vim: set ft=ruby: + +source 'https://rubygems.org' + +gemspec :name => 'json' +gemspec :name => 'json_pure' +gemspec :name => 'json-java' + +gem 'utils' +gem 'test-unit' +gem 'debugger', :platform => :mri_19 diff --git a/.gems/gems/json-1.8.1/README-json-jruby.markdown b/.gems/gems/json-1.8.1/README-json-jruby.markdown new file mode 100644 index 0000000..1336837 --- /dev/null +++ b/.gems/gems/json-1.8.1/README-json-jruby.markdown @@ -0,0 +1,33 @@ +JSON-JRuby +========== + +JSON-JRuby is a port of Florian Frank's native +[`json` library](http://json.rubyforge.org/) to JRuby. +It aims to be a perfect drop-in replacement for `json_pure`. + + +Development version +=================== + +The latest version is available from the +[Git repository](http://github.com/mernen/json-jruby/tree): + + git clone git://github.com/mernen/json-jruby.git + + +Compiling +========= + +You'll need JRuby version 1.2 or greater to build JSON-JRuby. +Its path must be set on the `jruby.dir` property of +`nbproject/project.properties` (defaults to `../jruby`). + +Additionally, you'll need [Ant](http://ant.apache.org/), and +[Ragel](http://www.cs.queensu.ca/~thurston/ragel/) 6.4 or greater. + +Then, from the folder where the sources are located, type: + + ant clean jar + +to clean any leftovers from previous builds and generate the `.jar` files. +To generate a RubyGem, specify the `gem` action rather than `jar`. diff --git a/.gems/gems/json-1.8.1/README.rdoc b/.gems/gems/json-1.8.1/README.rdoc new file mode 100644 index 0000000..eda896f --- /dev/null +++ b/.gems/gems/json-1.8.1/README.rdoc @@ -0,0 +1,358 @@ += JSON implementation for Ruby {}[http://travis-ci.org/flori/json] + +== Description + +This is a implementation of the JSON specification according to RFC 4627 +http://www.ietf.org/rfc/rfc4627.txt . Starting from version 1.0.0 on there +will be two variants available: + +* A pure ruby variant, that relies on the iconv and the stringscan + extensions, which are both part of the ruby standard library. +* The quite a bit faster C extension variant, which is in parts implemented + in C and comes with its own unicode conversion functions and a parser + generated by the ragel state machine compiler + http://www.cs.queensu.ca/~thurston/ragel . + +Both variants of the JSON generator generate UTF-8 character sequences by +default. If an :ascii_only option with a true value is given, they escape all +non-ASCII and control characters with \uXXXX escape sequences, and support +UTF-16 surrogate pairs in order to be able to generate the whole range of +unicode code points. + +All strings, that are to be encoded as JSON strings, should be UTF-8 byte +sequences on the Ruby side. To encode raw binary strings, that aren't UTF-8 +encoded, please use the to_json_raw_object method of String (which produces +an object, that contains a byte array) and decode the result on the receiving +endpoint. + +The JSON parsers can parse UTF-8, UTF-16BE, UTF-16LE, UTF-32BE, and UTF-32LE +JSON documents under Ruby 1.8. Under Ruby 1.9 they take advantage of Ruby's +M17n features and can parse all documents which have the correct +String#encoding set. If a document string has ASCII-8BIT as an encoding the +parser attempts to figure out which of the UTF encodings from above it is and +trys to parse it. + +== Installation + +It's recommended to use the extension variant of JSON, because it's faster than +the pure ruby variant. If you cannot build it on your system, you can settle +for the latter. + +Just type into the command line as root: + + # rake install + +The above command will build the extensions and install them on your system. + + # rake install_pure + +or + + # ruby install.rb + +will just install the pure ruby implementation of JSON. + +If you use Rubygems you can type + + # gem install json + +instead, to install the newest JSON version. + +There is also a pure ruby json only variant of the gem, that can be installed +with: + + # gem install json_pure + +== Compiling the extensions yourself + +If you want to build the extensions yourself you need rake: + + You can get it from rubyforge: + http://rubyforge.org/projects/rake + + or just type + + # gem install rake + + for the installation via rubygems. + +If you want to create the parser.c file from its parser.rl file or draw nice +graphviz images of the state machines, you need ragel from: http://www.cs.queensu.ca/~thurston/ragel + + +== Usage + +To use JSON you can + require 'json' +to load the installed variant (either the extension 'json' or the pure +variant 'json_pure'). If you have installed the extension variant, you can +pick either the extension variant or the pure variant by typing + require 'json/ext' +or + require 'json/pure' + +Now you can parse a JSON document into a ruby data structure by calling + + JSON.parse(document) + +If you want to generate a JSON document from a ruby data structure call + JSON.generate(data) + +You can also use the pretty_generate method (which formats the output more +verbosely and nicely) or fast_generate (which doesn't do any of the security +checks generate performs, e. g. nesting deepness checks). + +To create a valid JSON document you have to make sure, that the output is +embedded in either a JSON array [] or a JSON object {}. The easiest way to do +this, is by putting your values in a Ruby Array or Hash instance. + +There are also the JSON and JSON[] methods which use parse on a String or +generate a JSON document from an array or hash: + + document = JSON 'test' => 23 # => "{\"test\":23}" + document = JSON['test'] => 23 # => "{\"test\":23}" + +and + + data = JSON '{"test":23}' # => {"test"=>23} + data = JSON['{"test":23}'] # => {"test"=>23} + +You can choose to load a set of common additions to ruby core's objects if +you + require 'json/add/core' + +After requiring this you can, e. g., serialise/deserialise Ruby ranges: + + JSON JSON(1..10) # => 1..10 + +To find out how to add JSON support to other or your own classes, read the +section "More Examples" below. + +To get the best compatibility to rails' JSON implementation, you can + require 'json/add/rails' + +Both of the additions attempt to require 'json' (like above) first, if it has +not been required yet. + +== More Examples + +To create a JSON document from a ruby data structure, you can call +JSON.generate like that: + + json = JSON.generate [1, 2, {"a"=>3.141}, false, true, nil, 4..10] + # => "[1,2,{\"a\":3.141},false,true,null,\"4..10\"]" + +To get back a ruby data structure from a JSON document, you have to call +JSON.parse on it: + + JSON.parse json + # => [1, 2, {"a"=>3.141}, false, true, nil, "4..10"] + +Note, that the range from the original data structure is a simple +string now. The reason for this is, that JSON doesn't support ranges +or arbitrary classes. In this case the json library falls back to call +Object#to_json, which is the same as #to_s.to_json. + +It's possible to add JSON support serialization to arbitrary classes by +simply implementing a more specialized version of the #to_json method, that +should return a JSON object (a hash converted to JSON with #to_json) like +this (don't forget the *a for all the arguments): + + class Range + def to_json(*a) + { + 'json_class' => self.class.name, # = 'Range' + 'data' => [ first, last, exclude_end? ] + }.to_json(*a) + end + end + +The hash key 'json_class' is the class, that will be asked to deserialise the +JSON representation later. In this case it's 'Range', but any namespace of +the form 'A::B' or '::A::B' will do. All other keys are arbitrary and can be +used to store the necessary data to configure the object to be deserialised. + +If a the key 'json_class' is found in a JSON object, the JSON parser checks +if the given class responds to the json_create class method. If so, it is +called with the JSON object converted to a Ruby hash. So a range can +be deserialised by implementing Range.json_create like this: + + class Range + def self.json_create(o) + new(*o['data']) + end + end + +Now it possible to serialise/deserialise ranges as well: + + json = JSON.generate [1, 2, {"a"=>3.141}, false, true, nil, 4..10] + # => "[1,2,{\"a\":3.141},false,true,null,{\"json_class\":\"Range\",\"data\":[4,10,false]}]" + JSON.parse json + # => [1, 2, {"a"=>3.141}, false, true, nil, 4..10] + +JSON.generate always creates the shortest possible string representation of a +ruby data structure in one line. This is good for data storage or network +protocols, but not so good for humans to read. Fortunately there's also +JSON.pretty_generate (or JSON.pretty_generate) that creates a more readable +output: + + puts JSON.pretty_generate([1, 2, {"a"=>3.141}, false, true, nil, 4..10]) + [ + 1, + 2, + { + "a": 3.141 + }, + false, + true, + null, + { + "json_class": "Range", + "data": [ + 4, + 10, + false + ] + } + ] + +There are also the methods Kernel#j for generate, and Kernel#jj for +pretty_generate output to the console, that work analogous to Core Ruby's p and +the pp library's pp methods. + +The script tools/server.rb contains a small example if you want to test, how +receiving a JSON object from a webrick server in your browser with the +javasript prototype library http://www.prototypejs.org works. + +== Speed Comparisons + +I have created some benchmark results (see the benchmarks/data-p4-3Ghz +subdir of the package) for the JSON-parser to estimate the speed up in the C +extension: + + Comparing times (call_time_mean): + 1 ParserBenchmarkExt#parser 900 repeats: + 553.922304770 ( real) -> 21.500x + 0.001805307 + 2 ParserBenchmarkYAML#parser 1000 repeats: + 224.513358139 ( real) -> 8.714x + 0.004454078 + 3 ParserBenchmarkPure#parser 1000 repeats: + 26.755020642 ( real) -> 1.038x + 0.037376163 + 4 ParserBenchmarkRails#parser 1000 repeats: + 25.763381731 ( real) -> 1.000x + 0.038814780 + calls/sec ( time) -> speed covers + secs/call + +In the table above 1 is JSON::Ext::Parser, 2 is YAML.load with YAML +compatbile JSON document, 3 is is JSON::Pure::Parser, and 4 is +ActiveSupport::JSON.decode. The ActiveSupport JSON-decoder converts the +input first to YAML and then uses the YAML-parser, the conversion seems to +slow it down so much that it is only as fast as the JSON::Pure::Parser! + +If you look at the benchmark data you can see that this is mostly caused by +the frequent high outliers - the median of the Rails-parser runs is still +overall smaller than the median of the JSON::Pure::Parser runs: + + Comparing times (call_time_median): + 1 ParserBenchmarkExt#parser 900 repeats: + 800.592479481 ( real) -> 26.936x + 0.001249075 + 2 ParserBenchmarkYAML#parser 1000 repeats: + 271.002390644 ( real) -> 9.118x + 0.003690004 + 3 ParserBenchmarkRails#parser 1000 repeats: + 30.227910865 ( real) -> 1.017x + 0.033082008 + 4 ParserBenchmarkPure#parser 1000 repeats: + 29.722384421 ( real) -> 1.000x + 0.033644676 + calls/sec ( time) -> speed covers + secs/call + +I have benchmarked the JSON-Generator as well. This generated a few more +values, because there are different modes that also influence the achieved +speed: + + Comparing times (call_time_mean): + 1 GeneratorBenchmarkExt#generator_fast 1000 repeats: + 547.354332608 ( real) -> 15.090x + 0.001826970 + 2 GeneratorBenchmarkExt#generator_safe 1000 repeats: + 443.968212317 ( real) -> 12.240x + 0.002252414 + 3 GeneratorBenchmarkExt#generator_pretty 900 repeats: + 375.104545883 ( real) -> 10.341x + 0.002665923 + 4 GeneratorBenchmarkPure#generator_fast 1000 repeats: + 49.978706968 ( real) -> 1.378x + 0.020008521 + 5 GeneratorBenchmarkRails#generator 1000 repeats: + 38.531868759 ( real) -> 1.062x + 0.025952543 + 6 GeneratorBenchmarkPure#generator_safe 1000 repeats: + 36.927649925 ( real) -> 1.018x 7 (>=3859) + 0.027079979 + 7 GeneratorBenchmarkPure#generator_pretty 1000 repeats: + 36.272134441 ( real) -> 1.000x 6 (>=3859) + 0.027569373 + calls/sec ( time) -> speed covers + secs/call + +In the table above 1-3 are JSON::Ext::Generator methods. 4, 6, and 7 are +JSON::Pure::Generator methods and 5 is the Rails JSON generator. It is now a +bit faster than the generator_safe and generator_pretty methods of the pure +variant but slower than the others. + +To achieve the fastest JSON document output, you can use the fast_generate +method. Beware, that this will disable the checking for circular Ruby data +structures, which may cause JSON to go into an infinite loop. + +Here are the median comparisons for completeness' sake: + + Comparing times (call_time_median): + 1 GeneratorBenchmarkExt#generator_fast 1000 repeats: + 708.258020939 ( real) -> 16.547x + 0.001411915 + 2 GeneratorBenchmarkExt#generator_safe 1000 repeats: + 569.105020353 ( real) -> 13.296x + 0.001757145 + 3 GeneratorBenchmarkExt#generator_pretty 900 repeats: + 482.825371244 ( real) -> 11.280x + 0.002071142 + 4 GeneratorBenchmarkPure#generator_fast 1000 repeats: + 62.717626652 ( real) -> 1.465x + 0.015944481 + 5 GeneratorBenchmarkRails#generator 1000 repeats: + 43.965681162 ( real) -> 1.027x + 0.022745013 + 6 GeneratorBenchmarkPure#generator_safe 1000 repeats: + 43.929073409 ( real) -> 1.026x 7 (>=3859) + 0.022763968 + 7 GeneratorBenchmarkPure#generator_pretty 1000 repeats: + 42.802514491 ( real) -> 1.000x 6 (>=3859) + 0.023363113 + calls/sec ( time) -> speed covers + secs/call + +== Author + +Florian Frank + +== License + +Ruby License, see the COPYING file included in the source distribution. The +Ruby License includes the GNU General Public License (GPL), Version 2, so see +the file GPL as well. + +== Download + +The latest version of this library can be downloaded at + +* http://rubyforge.org/frs?group_id=953 + +Online Documentation should be located at + +* http://json.rubyforge.org diff --git a/.gems/gems/json-1.8.1/Rakefile b/.gems/gems/json-1.8.1/Rakefile new file mode 100644 index 0000000..1d13c2c --- /dev/null +++ b/.gems/gems/json-1.8.1/Rakefile @@ -0,0 +1,412 @@ +begin + require 'rubygems/package_task' +rescue LoadError +end + +require 'rbconfig' +include\ + begin + RbConfig + rescue NameError + Config + end + +require 'rake/clean' +CLOBBER.include 'doc', 'Gemfile.lock' +CLEAN.include FileList['diagrams/*.*'], 'doc', 'coverage', 'tmp', + FileList["ext/**/{Makefile,mkmf.log}"], 'build', 'dist', FileList['**/*.rbc'], + FileList["{ext,lib}/**/*.{so,bundle,#{CONFIG['DLEXT']},o,obj,pdb,lib,manifest,exp,def,jar,class,dSYM}"], + FileList['java/src/**/*.class'] + +require 'rake/testtask' +class UndocumentedTestTask < Rake::TestTask + def desc(*) end +end + +def skip_sdoc(src) + src.gsub(/^.*sdoc.*/) { |s| s + ' if RUBY_VERSION > "1.8.6"' } +end + +MAKE = ENV['MAKE'] || %w[gmake make].find { |c| system(c, '-v') } +BUNDLE = ENV['BUNDLE'] || %w[bundle].find { |c| system(c, '-v') } +PKG_NAME = 'json' +PKG_TITLE = 'JSON Implementation for Ruby' +PKG_VERSION = File.read('VERSION').chomp +PKG_FILES = FileList[`git ls-files`.split(/\n/)] + +EXT_ROOT_DIR = 'ext/json/ext' +EXT_PARSER_DIR = "#{EXT_ROOT_DIR}/parser" +EXT_PARSER_DL = "#{EXT_PARSER_DIR}/parser.#{CONFIG['DLEXT']}" +RAGEL_PATH = "#{EXT_PARSER_DIR}/parser.rl" +EXT_PARSER_SRC = "#{EXT_PARSER_DIR}/parser.c" +EXT_GENERATOR_DIR = "#{EXT_ROOT_DIR}/generator" +EXT_GENERATOR_DL = "#{EXT_GENERATOR_DIR}/generator.#{CONFIG['DLEXT']}" +EXT_GENERATOR_SRC = "#{EXT_GENERATOR_DIR}/generator.c" + +JAVA_DIR = "java/src/json/ext" +JAVA_RAGEL_PATH = "#{JAVA_DIR}/Parser.rl" +JAVA_PARSER_SRC = "#{JAVA_DIR}/Parser.java" +JAVA_SOURCES = FileList["#{JAVA_DIR}/*.java"] +JAVA_CLASSES = [] +JRUBY_PARSER_JAR = File.expand_path("lib/json/ext/parser.jar") +JRUBY_GENERATOR_JAR = File.expand_path("lib/json/ext/generator.jar") + +RAGEL_CODEGEN = %w[rlcodegen rlgen-cd ragel].find { |c| system(c, '-v') } +RAGEL_DOTGEN = %w[rlgen-dot rlgen-cd ragel].find { |c| system(c, '-v') } + +desc "Installing library (pure)" +task :install_pure => :version do + ruby 'install.rb' +end + +task :install_ext_really do + sitearchdir = CONFIG["sitearchdir"] + cd 'ext' do + for file in Dir["json/ext/*.#{CONFIG['DLEXT']}"] + d = File.join(sitearchdir, file) + mkdir_p File.dirname(d) + install(file, d) + end + warn " *** Installed EXT ruby library." + end +end + +desc "Installing library (extension)" +task :install_ext => [ :compile, :install_pure, :install_ext_really ] + +desc "Installing library (extension)" +task :install => :install_ext + +if defined?(Gem) and defined?(Gem::PackageTask) + spec_pure = Gem::Specification.new do |s| + s.name = 'json_pure' + s.version = PKG_VERSION + s.summary = PKG_TITLE + s.description = "This is a JSON implementation in pure Ruby." + + s.files = PKG_FILES + + s.require_path = 'lib' + s.add_development_dependency 'permutation' + s.add_development_dependency 'sdoc', '~>0.3.16' + s.add_development_dependency 'rake', '~>0.9.2' + + s.extra_rdoc_files << 'README.rdoc' + s.rdoc_options << + '--title' << 'JSON implemention for ruby' << '--main' << 'README.rdoc' + s.test_files.concat Dir['./tests/test_*.rb'] + + s.author = "Florian Frank" + s.email = "flori@ping.de" + s.homepage = "http://flori.github.com/#{PKG_NAME}" + s.license = 'Ruby' + end + + desc 'Creates a json_pure.gemspec file' + task :gemspec_pure => :version do + File.open('json_pure.gemspec', 'w') do |gemspec| + gemspec.write skip_sdoc(spec_pure.to_ruby) + end + end + + Gem::PackageTask.new(spec_pure) do |pkg| + pkg.need_tar = true + pkg.package_files = PKG_FILES + end + + spec_ext = Gem::Specification.new do |s| + s.name = 'json' + s.version = PKG_VERSION + s.summary = PKG_TITLE + s.description = "This is a JSON implementation as a Ruby extension in C." + + s.files = PKG_FILES + + s.extensions = FileList['ext/**/extconf.rb'] + + s.require_path = 'lib' + s.add_development_dependency 'permutation' + s.add_development_dependency 'sdoc', '~>0.3.16' + + s.extra_rdoc_files << 'README.rdoc' + s.rdoc_options << + '--title' << 'JSON implemention for Ruby' << '--main' << 'README.rdoc' + s.test_files.concat Dir['./tests/test_*.rb'] + + s.author = "Florian Frank" + s.email = "flori@ping.de" + s.homepage = "http://flori.github.com/#{PKG_NAME}" + s.license = 'Ruby' + end + + desc 'Creates a json.gemspec file' + task :gemspec_ext => :version do + File.open('json.gemspec', 'w') do |gemspec| + gemspec.write skip_sdoc(spec_ext.to_ruby) + end + end + + Gem::PackageTask.new(spec_ext) do |pkg| + pkg.need_tar = true + pkg.package_files = PKG_FILES + end + + + desc 'Create all gemspec files' + task :gemspec => [ :gemspec_pure, :gemspec_ext ] +end + +desc m = "Writing version information for #{PKG_VERSION}" +task :version do + puts m + File.open(File.join('lib', 'json', 'version.rb'), 'w') do |v| + v.puts < [ :clean, :do_test_pure ] + +UndocumentedTestTask.new do |t| + t.name = 'do_test_pure' + t.libs << 'lib' + t.test_files = FileList['tests/test_*.rb'] + t.verbose = true + t.options = '-v' +end + +desc "Testing library (pure ruby and extension)" +task :test do + sh "env JSON=pure #{BUNDLE} exec rake test_pure" or exit 1 + sh "env JSON=ext #{BUNDLE} exec rake test_ext" or exit 1 +end + +namespace :gems do + desc 'Install all development gems' + task :install do + sh "#{BUNDLE}" + end +end + +if defined?(RUBY_ENGINE) and RUBY_ENGINE == 'jruby' + if ENV.key?('JAVA_HOME') + warn " *** JAVA_HOME was set to #{ENV['JAVA_HOME'].inspect}" + elsif File.directory?(local_java = '/usr/local/java/jdk') || + File.directory?(local_java = '/usr/lib/jvm/java-6-openjdk') + then + ENV['JAVA_HOME'] = local_java + end + if ENV['JAVA_HOME'] + warn " *** JAVA_HOME is set to #{ENV['JAVA_HOME'].inspect}" + ENV['PATH'] = ENV['PATH'].split(/:/).unshift(java_path = "#{ENV['JAVA_HOME']}/bin") * ':' + warn " *** java binaries are assumed to be in #{java_path.inspect}" + else + warn " *** JAVA_HOME was not set or could not be guessed!" + exit 1 + end + + file JAVA_PARSER_SRC => JAVA_RAGEL_PATH do + cd JAVA_DIR do + if RAGEL_CODEGEN == 'ragel' + sh "ragel Parser.rl -J -o Parser.java" + else + sh "ragel -x Parser.rl | #{RAGEL_CODEGEN} -J" + end + end + end + + desc "Generate parser for java with ragel" + task :ragel => JAVA_PARSER_SRC + + desc "Delete the ragel generated Java source" + task :ragel_clean do + rm_rf JAVA_PARSER_SRC + end + + JRUBY_JAR = File.join(CONFIG["libdir"], "jruby.jar") + if File.exist?(JRUBY_JAR) + JAVA_SOURCES.each do |src| + classpath = (Dir['java/lib/*.jar'] << 'java/src' << JRUBY_JAR) * ':' + obj = src.sub(/\.java\Z/, '.class') + file obj => src do + sh 'javac', '-classpath', classpath, '-source', '1.5', '-target', '1.5', src + end + JAVA_CLASSES << obj + end + else + warn "WARNING: Cannot find jruby in path => Cannot build jruby extension!" + end + + desc "Compiling jruby extension" + task :compile => JAVA_CLASSES + + desc "Package the jruby gem" + task :jruby_gem => :create_jar do + sh 'gem build json-java.gemspec' + mkdir_p 'pkg' + mv "json-#{PKG_VERSION}-java.gem", 'pkg' + end + + desc "Testing library (jruby)" + task :test_ext => [ :create_jar, :do_test_ext ] + + UndocumentedTestTask.new do |t| + t.name = 'do_test_ext' + t.libs << 'lib' + t.test_files = FileList['tests/test_*.rb'] + t.verbose = true + t.options = '-v' + end + + file JRUBY_PARSER_JAR => :compile do + cd 'java/src' do + parser_classes = FileList[ + "json/ext/ByteListTranscoder*.class", + "json/ext/OptionsReader*.class", + "json/ext/Parser*.class", + "json/ext/RuntimeInfo*.class", + "json/ext/StringDecoder*.class", + "json/ext/Utils*.class" + ] + sh 'jar', 'cf', File.basename(JRUBY_PARSER_JAR), *parser_classes + mv File.basename(JRUBY_PARSER_JAR), File.dirname(JRUBY_PARSER_JAR) + end + end + + desc "Create parser jar" + task :create_parser_jar => JRUBY_PARSER_JAR + + file JRUBY_GENERATOR_JAR => :compile do + cd 'java/src' do + generator_classes = FileList[ + "json/ext/ByteListTranscoder*.class", + "json/ext/OptionsReader*.class", + "json/ext/Generator*.class", + "json/ext/RuntimeInfo*.class", + "json/ext/StringEncoder*.class", + "json/ext/Utils*.class" + ] + sh 'jar', 'cf', File.basename(JRUBY_GENERATOR_JAR), *generator_classes + mv File.basename(JRUBY_GENERATOR_JAR), File.dirname(JRUBY_GENERATOR_JAR) + end + end + + desc "Create generator jar" + task :create_generator_jar => JRUBY_GENERATOR_JAR + + desc "Create parser and generator jars" + task :create_jar => [ :create_parser_jar, :create_generator_jar ] + + desc "Build all gems and archives for a new release of the jruby extension." + task :build => [ :clean, :version, :jruby_gem ] + + task :release => :build +else + desc "Compiling extension" + task :compile => [ EXT_PARSER_DL, EXT_GENERATOR_DL ] + + file EXT_PARSER_DL => EXT_PARSER_SRC do + cd EXT_PARSER_DIR do + ruby 'extconf.rb' + sh MAKE + end + cp "#{EXT_PARSER_DIR}/parser.#{CONFIG['DLEXT']}", EXT_ROOT_DIR + end + + file EXT_GENERATOR_DL => EXT_GENERATOR_SRC do + cd EXT_GENERATOR_DIR do + ruby 'extconf.rb' + sh MAKE + end + cp "#{EXT_GENERATOR_DIR}/generator.#{CONFIG['DLEXT']}", EXT_ROOT_DIR + end + + desc "Testing library (extension)" + task :test_ext => [ :compile, :do_test_ext ] + + UndocumentedTestTask.new do |t| + t.name = 'do_test_ext' + t.libs << 'ext' << 'lib' + t.test_files = FileList['tests/test_*.rb'] + t.verbose = true + t.options = '-v' + end + + desc "Create RDOC documentation" + task :doc => [ :version, EXT_PARSER_SRC ] do + sh "sdoc -o doc -t '#{PKG_TITLE}' -m README.rdoc README.rdoc lib/json.rb #{FileList['lib/json/**/*.rb']} #{EXT_PARSER_SRC} #{EXT_GENERATOR_SRC}" + end + + desc "Generate parser with ragel" + task :ragel => EXT_PARSER_SRC + + desc "Delete the ragel generated C source" + task :ragel_clean do + rm_rf EXT_PARSER_SRC + end + + desc "Update the tags file" + task :tags do + system 'ctags', *Dir['**/*.{rb,c,h,java}'] + end + + file EXT_PARSER_SRC => RAGEL_PATH do + cd EXT_PARSER_DIR do + if RAGEL_CODEGEN == 'ragel' + sh "ragel parser.rl -G2 -o parser.c" + else + sh "ragel -x parser.rl | #{RAGEL_CODEGEN} -G2" + end + src = File.read("parser.c").gsub(/[ \t]+$/, '') + File.open("parser.c", "w") {|f| f.print src} + end + end + + desc "Generate diagrams of ragel parser (ps)" + task :ragel_dot_ps do + root = 'diagrams' + specs = [] + File.new(RAGEL_PATH).grep(/^\s*machine\s*(\S+);\s*$/) { specs << $1 } + for s in specs + if RAGEL_DOTGEN == 'ragel' + sh "ragel #{RAGEL_PATH} -S#{s} -p -V | dot -Tps -o#{root}/#{s}.ps" + else + sh "ragel -x #{RAGEL_PATH} -S#{s} | #{RAGEL_DOTGEN} -p|dot -Tps -o#{root}/#{s}.ps" + end + end + end + + desc "Generate diagrams of ragel parser (png)" + task :ragel_dot_png do + root = 'diagrams' + specs = [] + File.new(RAGEL_PATH).grep(/^\s*machine\s*(\S+);\s*$/) { specs << $1 } + for s in specs + if RAGEL_DOTGEN == 'ragel' + sh "ragel #{RAGEL_PATH} -S#{s} -p -V | dot -Tpng -o#{root}/#{s}.png" + else + sh "ragel -x #{RAGEL_PATH} -S#{s} | #{RAGEL_DOTGEN} -p|dot -Tpng -o#{root}/#{s}.png" + end + end + end + + desc "Generate diagrams of ragel parser" + task :ragel_dot => [ :ragel_dot_png, :ragel_dot_ps ] + + desc "Build all gems and archives for a new release of json and json_pure." + task :build => [ :clean, :gemspec, :package ] + + task :release => :build +end + +desc "Compile in the the source directory" +task :default => [ :clean, :gemspec, :test ] diff --git a/.gems/gems/json-1.8.1/TODO b/.gems/gems/json-1.8.1/TODO new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/.gems/gems/json-1.8.1/TODO @@ -0,0 +1 @@ + diff --git a/.gems/gems/json-1.8.1/VERSION b/.gems/gems/json-1.8.1/VERSION new file mode 100644 index 0000000..a8fdfda --- /dev/null +++ b/.gems/gems/json-1.8.1/VERSION @@ -0,0 +1 @@ +1.8.1 diff --git a/.gems/gems/json-1.8.1/data/example.json b/.gems/gems/json-1.8.1/data/example.json new file mode 100644 index 0000000..88b4e82 --- /dev/null +++ b/.gems/gems/json-1.8.1/data/example.json @@ -0,0 +1 @@ +{"a":2,"b":3.141,"TIME":"2007-03-14T11:52:40","c":"c","d":[1,"b",3.14],"COUNT":666,"e":{"foo":"bar"},"foo":"B\u00e4r","g":"\u677e\u672c\u884c\u5f18","h":1000.0,"bar":"\u00a9 \u2260 \u20ac!","i":0.001,"j":"\ud840\udc01"} diff --git a/.gems/gems/json-1.8.1/data/index.html b/.gems/gems/json-1.8.1/data/index.html new file mode 100644 index 0000000..abe6fdb --- /dev/null +++ b/.gems/gems/json-1.8.1/data/index.html @@ -0,0 +1,38 @@ + + + + Javascript Example + + + + + +

Fetching object from server

+
+ Wait...
+ +
+ + + diff --git a/.gems/gems/json-1.8.1/data/prototype.js b/.gems/gems/json-1.8.1/data/prototype.js new file mode 100644 index 0000000..5c73462 --- /dev/null +++ b/.gems/gems/json-1.8.1/data/prototype.js @@ -0,0 +1,4184 @@ +/* Prototype JavaScript framework, version 1.6.0 + * (c) 2005-2007 Sam Stephenson + * + * Prototype is freely distributable under the terms of an MIT-style license. + * For details, see the Prototype web site: http://www.prototypejs.org/ + * + *--------------------------------------------------------------------------*/ + +var Prototype = { + Version: '1.6.0', + + Browser: { + IE: !!(window.attachEvent && !window.opera), + Opera: !!window.opera, + WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1, + Gecko: navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1, + MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/) + }, + + BrowserFeatures: { + XPath: !!document.evaluate, + ElementExtensions: !!window.HTMLElement, + SpecificElementExtensions: + document.createElement('div').__proto__ && + document.createElement('div').__proto__ !== + document.createElement('form').__proto__ + }, + + ScriptFragment: ']*>([\\S\\s]*?)<\/script>', + JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/, + + emptyFunction: function() { }, + K: function(x) { return x } +}; + +if (Prototype.Browser.MobileSafari) + Prototype.BrowserFeatures.SpecificElementExtensions = false; + +if (Prototype.Browser.WebKit) + Prototype.BrowserFeatures.XPath = false; + +/* Based on Alex Arnell's inheritance implementation. */ +var Class = { + create: function() { + var parent = null, properties = $A(arguments); + if (Object.isFunction(properties[0])) + parent = properties.shift(); + + function klass() { + this.initialize.apply(this, arguments); + } + + Object.extend(klass, Class.Methods); + klass.superclass = parent; + klass.subclasses = []; + + if (parent) { + var subclass = function() { }; + subclass.prototype = parent.prototype; + klass.prototype = new subclass; + parent.subclasses.push(klass); + } + + for (var i = 0; i < properties.length; i++) + klass.addMethods(properties[i]); + + if (!klass.prototype.initialize) + klass.prototype.initialize = Prototype.emptyFunction; + + klass.prototype.constructor = klass; + + return klass; + } +}; + +Class.Methods = { + addMethods: function(source) { + var ancestor = this.superclass && this.superclass.prototype; + var properties = Object.keys(source); + + if (!Object.keys({ toString: true }).length) + properties.push("toString", "valueOf"); + + for (var i = 0, length = properties.length; i < length; i++) { + var property = properties[i], value = source[property]; + if (ancestor && Object.isFunction(value) && + value.argumentNames().first() == "$super") { + var method = value, value = Object.extend((function(m) { + return function() { return ancestor[m].apply(this, arguments) }; + })(property).wrap(method), { + valueOf: function() { return method }, + toString: function() { return method.toString() } + }); + } + this.prototype[property] = value; + } + + return this; + } +}; + +var Abstract = { }; + +Object.extend = function(destination, source) { + for (var property in source) + destination[property] = source[property]; + return destination; +}; + +Object.extend(Object, { + inspect: function(object) { + try { + if (object === undefined) return 'undefined'; + if (object === null) return 'null'; + return object.inspect ? object.inspect() : object.toString(); + } catch (e) { + if (e instanceof RangeError) return '...'; + throw e; + } + }, + + toJSON: function(object) { + var type = typeof object; + switch (type) { + case 'undefined': + case 'function': + case 'unknown': return; + case 'boolean': return object.toString(); + } + + if (object === null) return 'null'; + if (object.toJSON) return object.toJSON(); + if (Object.isElement(object)) return; + + var results = []; + for (var property in object) { + var value = Object.toJSON(object[property]); + if (value !== undefined) + results.push(property.toJSON() + ': ' + value); + } + + return '{' + results.join(', ') + '}'; + }, + + toQueryString: function(object) { + return $H(object).toQueryString(); + }, + + toHTML: function(object) { + return object && object.toHTML ? object.toHTML() : String.interpret(object); + }, + + keys: function(object) { + var keys = []; + for (var property in object) + keys.push(property); + return keys; + }, + + values: function(object) { + var values = []; + for (var property in object) + values.push(object[property]); + return values; + }, + + clone: function(object) { + return Object.extend({ }, object); + }, + + isElement: function(object) { + return object && object.nodeType == 1; + }, + + isArray: function(object) { + return object && object.constructor === Array; + }, + + isHash: function(object) { + return object instanceof Hash; + }, + + isFunction: function(object) { + return typeof object == "function"; + }, + + isString: function(object) { + return typeof object == "string"; + }, + + isNumber: function(object) { + return typeof object == "number"; + }, + + isUndefined: function(object) { + return typeof object == "undefined"; + } +}); + +Object.extend(Function.prototype, { + argumentNames: function() { + var names = this.toString().match(/^[\s\(]*function[^(]*\((.*?)\)/)[1].split(",").invoke("strip"); + return names.length == 1 && !names[0] ? [] : names; + }, + + bind: function() { + if (arguments.length < 2 && arguments[0] === undefined) return this; + var __method = this, args = $A(arguments), object = args.shift(); + return function() { + return __method.apply(object, args.concat($A(arguments))); + } + }, + + bindAsEventListener: function() { + var __method = this, args = $A(arguments), object = args.shift(); + return function(event) { + return __method.apply(object, [event || window.event].concat(args)); + } + }, + + curry: function() { + if (!arguments.length) return this; + var __method = this, args = $A(arguments); + return function() { + return __method.apply(this, args.concat($A(arguments))); + } + }, + + delay: function() { + var __method = this, args = $A(arguments), timeout = args.shift() * 1000; + return window.setTimeout(function() { + return __method.apply(__method, args); + }, timeout); + }, + + wrap: function(wrapper) { + var __method = this; + return function() { + return wrapper.apply(this, [__method.bind(this)].concat($A(arguments))); + } + }, + + methodize: function() { + if (this._methodized) return this._methodized; + var __method = this; + return this._methodized = function() { + return __method.apply(null, [this].concat($A(arguments))); + }; + } +}); + +Function.prototype.defer = Function.prototype.delay.curry(0.01); + +Date.prototype.toJSON = function() { + return '"' + this.getUTCFullYear() + '-' + + (this.getUTCMonth() + 1).toPaddedString(2) + '-' + + this.getUTCDate().toPaddedString(2) + 'T' + + this.getUTCHours().toPaddedString(2) + ':' + + this.getUTCMinutes().toPaddedString(2) + ':' + + this.getUTCSeconds().toPaddedString(2) + 'Z"'; +}; + +var Try = { + these: function() { + var returnValue; + + for (var i = 0, length = arguments.length; i < length; i++) { + var lambda = arguments[i]; + try { + returnValue = lambda(); + break; + } catch (e) { } + } + + return returnValue; + } +}; + +RegExp.prototype.match = RegExp.prototype.test; + +RegExp.escape = function(str) { + return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1'); +}; + +/*--------------------------------------------------------------------------*/ + +var PeriodicalExecuter = Class.create({ + initialize: function(callback, frequency) { + this.callback = callback; + this.frequency = frequency; + this.currentlyExecuting = false; + + this.registerCallback(); + }, + + registerCallback: function() { + this.timer = setInterval(this.onTimerEvent.bind(this), this.frequency * 1000); + }, + + execute: function() { + this.callback(this); + }, + + stop: function() { + if (!this.timer) return; + clearInterval(this.timer); + this.timer = null; + }, + + onTimerEvent: function() { + if (!this.currentlyExecuting) { + try { + this.currentlyExecuting = true; + this.execute(); + } finally { + this.currentlyExecuting = false; + } + } + } +}); +Object.extend(String, { + interpret: function(value) { + return value == null ? '' : String(value); + }, + specialChar: { + '\b': '\\b', + '\t': '\\t', + '\n': '\\n', + '\f': '\\f', + '\r': '\\r', + '\\': '\\\\' + } +}); + +Object.extend(String.prototype, { + gsub: function(pattern, replacement) { + var result = '', source = this, match; + replacement = arguments.callee.prepareReplacement(replacement); + + while (source.length > 0) { + if (match = source.match(pattern)) { + result += source.slice(0, match.index); + result += String.interpret(replacement(match)); + source = source.slice(match.index + match[0].length); + } else { + result += source, source = ''; + } + } + return result; + }, + + sub: function(pattern, replacement, count) { + replacement = this.gsub.prepareReplacement(replacement); + count = count === undefined ? 1 : count; + + return this.gsub(pattern, function(match) { + if (--count < 0) return match[0]; + return replacement(match); + }); + }, + + scan: function(pattern, iterator) { + this.gsub(pattern, iterator); + return String(this); + }, + + truncate: function(length, truncation) { + length = length || 30; + truncation = truncation === undefined ? '...' : truncation; + return this.length > length ? + this.slice(0, length - truncation.length) + truncation : String(this); + }, + + strip: function() { + return this.replace(/^\s+/, '').replace(/\s+$/, ''); + }, + + stripTags: function() { + return this.replace(/<\/?[^>]+>/gi, ''); + }, + + stripScripts: function() { + return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), ''); + }, + + extractScripts: function() { + var matchAll = new RegExp(Prototype.ScriptFragment, 'img'); + var matchOne = new RegExp(Prototype.ScriptFragment, 'im'); + return (this.match(matchAll) || []).map(function(scriptTag) { + return (scriptTag.match(matchOne) || ['', ''])[1]; + }); + }, + + evalScripts: function() { + return this.extractScripts().map(function(script) { return eval(script) }); + }, + + escapeHTML: function() { + var self = arguments.callee; + self.text.data = this; + return self.div.innerHTML; + }, + + unescapeHTML: function() { + var div = new Element('div'); + div.innerHTML = this.stripTags(); + return div.childNodes[0] ? (div.childNodes.length > 1 ? + $A(div.childNodes).inject('', function(memo, node) { return memo+node.nodeValue }) : + div.childNodes[0].nodeValue) : ''; + }, + + toQueryParams: function(separator) { + var match = this.strip().match(/([^?#]*)(#.*)?$/); + if (!match) return { }; + + return match[1].split(separator || '&').inject({ }, function(hash, pair) { + if ((pair = pair.split('='))[0]) { + var key = decodeURIComponent(pair.shift()); + var value = pair.length > 1 ? pair.join('=') : pair[0]; + if (value != undefined) value = decodeURIComponent(value); + + if (key in hash) { + if (!Object.isArray(hash[key])) hash[key] = [hash[key]]; + hash[key].push(value); + } + else hash[key] = value; + } + return hash; + }); + }, + + toArray: function() { + return this.split(''); + }, + + succ: function() { + return this.slice(0, this.length - 1) + + String.fromCharCode(this.charCodeAt(this.length - 1) + 1); + }, + + times: function(count) { + return count < 1 ? '' : new Array(count + 1).join(this); + }, + + camelize: function() { + var parts = this.split('-'), len = parts.length; + if (len == 1) return parts[0]; + + var camelized = this.charAt(0) == '-' + ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1) + : parts[0]; + + for (var i = 1; i < len; i++) + camelized += parts[i].charAt(0).toUpperCase() + parts[i].substring(1); + + return camelized; + }, + + capitalize: function() { + return this.charAt(0).toUpperCase() + this.substring(1).toLowerCase(); + }, + + underscore: function() { + return this.gsub(/::/, '/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{1}_#{2}').gsub(/-/,'_').toLowerCase(); + }, + + dasherize: function() { + return this.gsub(/_/,'-'); + }, + + inspect: function(useDoubleQuotes) { + var escapedString = this.gsub(/[\x00-\x1f\\]/, function(match) { + var character = String.specialChar[match[0]]; + return character ? character : '\\u00' + match[0].charCodeAt().toPaddedString(2, 16); + }); + if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') + '"'; + return "'" + escapedString.replace(/'/g, '\\\'') + "'"; + }, + + toJSON: function() { + return this.inspect(true); + }, + + unfilterJSON: function(filter) { + return this.sub(filter || Prototype.JSONFilter, '#{1}'); + }, + + isJSON: function() { + var str = this.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, ''); + return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str); + }, + + evalJSON: function(sanitize) { + var json = this.unfilterJSON(); + try { + if (!sanitize || json.isJSON()) return eval('(' + json + ')'); + } catch (e) { } + throw new SyntaxError('Badly formed JSON string: ' + this.inspect()); + }, + + include: function(pattern) { + return this.indexOf(pattern) > -1; + }, + + startsWith: function(pattern) { + return this.indexOf(pattern) === 0; + }, + + endsWith: function(pattern) { + var d = this.length - pattern.length; + return d >= 0 && this.lastIndexOf(pattern) === d; + }, + + empty: function() { + return this == ''; + }, + + blank: function() { + return /^\s*$/.test(this); + }, + + interpolate: function(object, pattern) { + return new Template(this, pattern).evaluate(object); + } +}); + +if (Prototype.Browser.WebKit || Prototype.Browser.IE) Object.extend(String.prototype, { + escapeHTML: function() { + return this.replace(/&/g,'&').replace(//g,'>'); + }, + unescapeHTML: function() { + return this.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>'); + } +}); + +String.prototype.gsub.prepareReplacement = function(replacement) { + if (Object.isFunction(replacement)) return replacement; + var template = new Template(replacement); + return function(match) { return template.evaluate(match) }; +}; + +String.prototype.parseQuery = String.prototype.toQueryParams; + +Object.extend(String.prototype.escapeHTML, { + div: document.createElement('div'), + text: document.createTextNode('') +}); + +with (String.prototype.escapeHTML) div.appendChild(text); + +var Template = Class.create({ + initialize: function(template, pattern) { + this.template = template.toString(); + this.pattern = pattern || Template.Pattern; + }, + + evaluate: function(object) { + if (Object.isFunction(object.toTemplateReplacements)) + object = object.toTemplateReplacements(); + + return this.template.gsub(this.pattern, function(match) { + if (object == null) return ''; + + var before = match[1] || ''; + if (before == '\\') return match[2]; + + var ctx = object, expr = match[3]; + var pattern = /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/, match = pattern.exec(expr); + if (match == null) return before; + + while (match != null) { + var comp = match[1].startsWith('[') ? match[2].gsub('\\\\]', ']') : match[1]; + ctx = ctx[comp]; + if (null == ctx || '' == match[3]) break; + expr = expr.substring('[' == match[3] ? match[1].length : match[0].length); + match = pattern.exec(expr); + } + + return before + String.interpret(ctx); + }.bind(this)); + } +}); +Template.Pattern = /(^|.|\r|\n)(#\{(.*?)\})/; + +var $break = { }; + +var Enumerable = { + each: function(iterator, context) { + var index = 0; + iterator = iterator.bind(context); + try { + this._each(function(value) { + iterator(value, index++); + }); + } catch (e) { + if (e != $break) throw e; + } + return this; + }, + + eachSlice: function(number, iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var index = -number, slices = [], array = this.toArray(); + while ((index += number) < array.length) + slices.push(array.slice(index, index+number)); + return slices.collect(iterator, context); + }, + + all: function(iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var result = true; + this.each(function(value, index) { + result = result && !!iterator(value, index); + if (!result) throw $break; + }); + return result; + }, + + any: function(iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var result = false; + this.each(function(value, index) { + if (result = !!iterator(value, index)) + throw $break; + }); + return result; + }, + + collect: function(iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var results = []; + this.each(function(value, index) { + results.push(iterator(value, index)); + }); + return results; + }, + + detect: function(iterator, context) { + iterator = iterator.bind(context); + var result; + this.each(function(value, index) { + if (iterator(value, index)) { + result = value; + throw $break; + } + }); + return result; + }, + + findAll: function(iterator, context) { + iterator = iterator.bind(context); + var results = []; + this.each(function(value, index) { + if (iterator(value, index)) + results.push(value); + }); + return results; + }, + + grep: function(filter, iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var results = []; + + if (Object.isString(filter)) + filter = new RegExp(filter); + + this.each(function(value, index) { + if (filter.match(value)) + results.push(iterator(value, index)); + }); + return results; + }, + + include: function(object) { + if (Object.isFunction(this.indexOf)) + if (this.indexOf(object) != -1) return true; + + var found = false; + this.each(function(value) { + if (value == object) { + found = true; + throw $break; + } + }); + return found; + }, + + inGroupsOf: function(number, fillWith) { + fillWith = fillWith === undefined ? null : fillWith; + return this.eachSlice(number, function(slice) { + while(slice.length < number) slice.push(fillWith); + return slice; + }); + }, + + inject: function(memo, iterator, context) { + iterator = iterator.bind(context); + this.each(function(value, index) { + memo = iterator(memo, value, index); + }); + return memo; + }, + + invoke: function(method) { + var args = $A(arguments).slice(1); + return this.map(function(value) { + return value[method].apply(value, args); + }); + }, + + max: function(iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var result; + this.each(function(value, index) { + value = iterator(value, index); + if (result == undefined || value >= result) + result = value; + }); + return result; + }, + + min: function(iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var result; + this.each(function(value, index) { + value = iterator(value, index); + if (result == undefined || value < result) + result = value; + }); + return result; + }, + + partition: function(iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var trues = [], falses = []; + this.each(function(value, index) { + (iterator(value, index) ? + trues : falses).push(value); + }); + return [trues, falses]; + }, + + pluck: function(property) { + var results = []; + this.each(function(value) { + results.push(value[property]); + }); + return results; + }, + + reject: function(iterator, context) { + iterator = iterator.bind(context); + var results = []; + this.each(function(value, index) { + if (!iterator(value, index)) + results.push(value); + }); + return results; + }, + + sortBy: function(iterator, context) { + iterator = iterator.bind(context); + return this.map(function(value, index) { + return {value: value, criteria: iterator(value, index)}; + }).sort(function(left, right) { + var a = left.criteria, b = right.criteria; + return a < b ? -1 : a > b ? 1 : 0; + }).pluck('value'); + }, + + toArray: function() { + return this.map(); + }, + + zip: function() { + var iterator = Prototype.K, args = $A(arguments); + if (Object.isFunction(args.last())) + iterator = args.pop(); + + var collections = [this].concat(args).map($A); + return this.map(function(value, index) { + return iterator(collections.pluck(index)); + }); + }, + + size: function() { + return this.toArray().length; + }, + + inspect: function() { + return '#'; + } +}; + +Object.extend(Enumerable, { + map: Enumerable.collect, + find: Enumerable.detect, + select: Enumerable.findAll, + filter: Enumerable.findAll, + member: Enumerable.include, + entries: Enumerable.toArray, + every: Enumerable.all, + some: Enumerable.any +}); +function $A(iterable) { + if (!iterable) return []; + if (iterable.toArray) return iterable.toArray(); + var length = iterable.length, results = new Array(length); + while (length--) results[length] = iterable[length]; + return results; +} + +if (Prototype.Browser.WebKit) { + function $A(iterable) { + if (!iterable) return []; + if (!(Object.isFunction(iterable) && iterable == '[object NodeList]') && + iterable.toArray) return iterable.toArray(); + var length = iterable.length, results = new Array(length); + while (length--) results[length] = iterable[length]; + return results; + } +} + +Array.from = $A; + +Object.extend(Array.prototype, Enumerable); + +if (!Array.prototype._reverse) Array.prototype._reverse = Array.prototype.reverse; + +Object.extend(Array.prototype, { + _each: function(iterator) { + for (var i = 0, length = this.length; i < length; i++) + iterator(this[i]); + }, + + clear: function() { + this.length = 0; + return this; + }, + + first: function() { + return this[0]; + }, + + last: function() { + return this[this.length - 1]; + }, + + compact: function() { + return this.select(function(value) { + return value != null; + }); + }, + + flatten: function() { + return this.inject([], function(array, value) { + return array.concat(Object.isArray(value) ? + value.flatten() : [value]); + }); + }, + + without: function() { + var values = $A(arguments); + return this.select(function(value) { + return !values.include(value); + }); + }, + + reverse: function(inline) { + return (inline !== false ? this : this.toArray())._reverse(); + }, + + reduce: function() { + return this.length > 1 ? this : this[0]; + }, + + uniq: function(sorted) { + return this.inject([], function(array, value, index) { + if (0 == index || (sorted ? array.last() != value : !array.include(value))) + array.push(value); + return array; + }); + }, + + intersect: function(array) { + return this.uniq().findAll(function(item) { + return array.detect(function(value) { return item === value }); + }); + }, + + clone: function() { + return [].concat(this); + }, + + size: function() { + return this.length; + }, + + inspect: function() { + return '[' + this.map(Object.inspect).join(', ') + ']'; + }, + + toJSON: function() { + var results = []; + this.each(function(object) { + var value = Object.toJSON(object); + if (value !== undefined) results.push(value); + }); + return '[' + results.join(', ') + ']'; + } +}); + +// use native browser JS 1.6 implementation if available +if (Object.isFunction(Array.prototype.forEach)) + Array.prototype._each = Array.prototype.forEach; + +if (!Array.prototype.indexOf) Array.prototype.indexOf = function(item, i) { + i || (i = 0); + var length = this.length; + if (i < 0) i = length + i; + for (; i < length; i++) + if (this[i] === item) return i; + return -1; +}; + +if (!Array.prototype.lastIndexOf) Array.prototype.lastIndexOf = function(item, i) { + i = isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1; + var n = this.slice(0, i).reverse().indexOf(item); + return (n < 0) ? n : i - n - 1; +}; + +Array.prototype.toArray = Array.prototype.clone; + +function $w(string) { + if (!Object.isString(string)) return []; + string = string.strip(); + return string ? string.split(/\s+/) : []; +} + +if (Prototype.Browser.Opera){ + Array.prototype.concat = function() { + var array = []; + for (var i = 0, length = this.length; i < length; i++) array.push(this[i]); + for (var i = 0, length = arguments.length; i < length; i++) { + if (Object.isArray(arguments[i])) { + for (var j = 0, arrayLength = arguments[i].length; j < arrayLength; j++) + array.push(arguments[i][j]); + } else { + array.push(arguments[i]); + } + } + return array; + }; +} +Object.extend(Number.prototype, { + toColorPart: function() { + return this.toPaddedString(2, 16); + }, + + succ: function() { + return this + 1; + }, + + times: function(iterator) { + $R(0, this, true).each(iterator); + return this; + }, + + toPaddedString: function(length, radix) { + var string = this.toString(radix || 10); + return '0'.times(length - string.length) + string; + }, + + toJSON: function() { + return isFinite(this) ? this.toString() : 'null'; + } +}); + +$w('abs round ceil floor').each(function(method){ + Number.prototype[method] = Math[method].methodize(); +}); +function $H(object) { + return new Hash(object); +}; + +var Hash = Class.create(Enumerable, (function() { + if (function() { + var i = 0, Test = function(value) { this.key = value }; + Test.prototype.key = 'foo'; + for (var property in new Test('bar')) i++; + return i > 1; + }()) { + function each(iterator) { + var cache = []; + for (var key in this._object) { + var value = this._object[key]; + if (cache.include(key)) continue; + cache.push(key); + var pair = [key, value]; + pair.key = key; + pair.value = value; + iterator(pair); + } + } + } else { + function each(iterator) { + for (var key in this._object) { + var value = this._object[key], pair = [key, value]; + pair.key = key; + pair.value = value; + iterator(pair); + } + } + } + + function toQueryPair(key, value) { + if (Object.isUndefined(value)) return key; + return key + '=' + encodeURIComponent(String.interpret(value)); + } + + return { + initialize: function(object) { + this._object = Object.isHash(object) ? object.toObject() : Object.clone(object); + }, + + _each: each, + + set: function(key, value) { + return this._object[key] = value; + }, + + get: function(key) { + return this._object[key]; + }, + + unset: function(key) { + var value = this._object[key]; + delete this._object[key]; + return value; + }, + + toObject: function() { + return Object.clone(this._object); + }, + + keys: function() { + return this.pluck('key'); + }, + + values: function() { + return this.pluck('value'); + }, + + index: function(value) { + var match = this.detect(function(pair) { + return pair.value === value; + }); + return match && match.key; + }, + + merge: function(object) { + return this.clone().update(object); + }, + + update: function(object) { + return new Hash(object).inject(this, function(result, pair) { + result.set(pair.key, pair.value); + return result; + }); + }, + + toQueryString: function() { + return this.map(function(pair) { + var key = encodeURIComponent(pair.key), values = pair.value; + + if (values && typeof values == 'object') { + if (Object.isArray(values)) + return values.map(toQueryPair.curry(key)).join('&'); + } + return toQueryPair(key, values); + }).join('&'); + }, + + inspect: function() { + return '#'; + }, + + toJSON: function() { + return Object.toJSON(this.toObject()); + }, + + clone: function() { + return new Hash(this); + } + } +})()); + +Hash.prototype.toTemplateReplacements = Hash.prototype.toObject; +Hash.from = $H; +var ObjectRange = Class.create(Enumerable, { + initialize: function(start, end, exclusive) { + this.start = start; + this.end = end; + this.exclusive = exclusive; + }, + + _each: function(iterator) { + var value = this.start; + while (this.include(value)) { + iterator(value); + value = value.succ(); + } + }, + + include: function(value) { + if (value < this.start) + return false; + if (this.exclusive) + return value < this.end; + return value <= this.end; + } +}); + +var $R = function(start, end, exclusive) { + return new ObjectRange(start, end, exclusive); +}; + +var Ajax = { + getTransport: function() { + return Try.these( + function() {return new XMLHttpRequest()}, + function() {return new ActiveXObject('Msxml2.XMLHTTP')}, + function() {return new ActiveXObject('Microsoft.XMLHTTP')} + ) || false; + }, + + activeRequestCount: 0 +}; + +Ajax.Responders = { + responders: [], + + _each: function(iterator) { + this.responders._each(iterator); + }, + + register: function(responder) { + if (!this.include(responder)) + this.responders.push(responder); + }, + + unregister: function(responder) { + this.responders = this.responders.without(responder); + }, + + dispatch: function(callback, request, transport, json) { + this.each(function(responder) { + if (Object.isFunction(responder[callback])) { + try { + responder[callback].apply(responder, [request, transport, json]); + } catch (e) { } + } + }); + } +}; + +Object.extend(Ajax.Responders, Enumerable); + +Ajax.Responders.register({ + onCreate: function() { Ajax.activeRequestCount++ }, + onComplete: function() { Ajax.activeRequestCount-- } +}); + +Ajax.Base = Class.create({ + initialize: function(options) { + this.options = { + method: 'post', + asynchronous: true, + contentType: 'application/x-www-form-urlencoded', + encoding: 'UTF-8', + parameters: '', + evalJSON: true, + evalJS: true + }; + Object.extend(this.options, options || { }); + + this.options.method = this.options.method.toLowerCase(); + if (Object.isString(this.options.parameters)) + this.options.parameters = this.options.parameters.toQueryParams(); + } +}); + +Ajax.Request = Class.create(Ajax.Base, { + _complete: false, + + initialize: function($super, url, options) { + $super(options); + this.transport = Ajax.getTransport(); + this.request(url); + }, + + request: function(url) { + this.url = url; + this.method = this.options.method; + var params = Object.clone(this.options.parameters); + + if (!['get', 'post'].include(this.method)) { + // simulate other verbs over post + params['_method'] = this.method; + this.method = 'post'; + } + + this.parameters = params; + + if (params = Object.toQueryString(params)) { + // when GET, append parameters to URL + if (this.method == 'get') + this.url += (this.url.include('?') ? '&' : '?') + params; + else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent)) + params += '&_='; + } + + try { + var response = new Ajax.Response(this); + if (this.options.onCreate) this.options.onCreate(response); + Ajax.Responders.dispatch('onCreate', this, response); + + this.transport.open(this.method.toUpperCase(), this.url, + this.options.asynchronous); + + if (this.options.asynchronous) this.respondToReadyState.bind(this).defer(1); + + this.transport.onreadystatechange = this.onStateChange.bind(this); + this.setRequestHeaders(); + + this.body = this.method == 'post' ? (this.options.postBody || params) : null; + this.transport.send(this.body); + + /* Force Firefox to handle ready state 4 for synchronous requests */ + if (!this.options.asynchronous && this.transport.overrideMimeType) + this.onStateChange(); + + } + catch (e) { + this.dispatchException(e); + } + }, + + onStateChange: function() { + var readyState = this.transport.readyState; + if (readyState > 1 && !((readyState == 4) && this._complete)) + this.respondToReadyState(this.transport.readyState); + }, + + setRequestHeaders: function() { + var headers = { + 'X-Requested-With': 'XMLHttpRequest', + 'X-Prototype-Version': Prototype.Version, + 'Accept': 'text/javascript, text/html, application/xml, text/xml, */*' + }; + + if (this.method == 'post') { + headers['Content-type'] = this.options.contentType + + (this.options.encoding ? '; charset=' + this.options.encoding : ''); + + /* Force "Connection: close" for older Mozilla browsers to work + * around a bug where XMLHttpRequest sends an incorrect + * Content-length header. See Mozilla Bugzilla #246651. + */ + if (this.transport.overrideMimeType && + (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < 2005) + headers['Connection'] = 'close'; + } + + // user-defined headers + if (typeof this.options.requestHeaders == 'object') { + var extras = this.options.requestHeaders; + + if (Object.isFunction(extras.push)) + for (var i = 0, length = extras.length; i < length; i += 2) + headers[extras[i]] = extras[i+1]; + else + $H(extras).each(function(pair) { headers[pair.key] = pair.value }); + } + + for (var name in headers) + this.transport.setRequestHeader(name, headers[name]); + }, + + success: function() { + var status = this.getStatus(); + return !status || (status >= 200 && status < 300); + }, + + getStatus: function() { + try { + return this.transport.status || 0; + } catch (e) { return 0 } + }, + + respondToReadyState: function(readyState) { + var state = Ajax.Request.Events[readyState], response = new Ajax.Response(this); + + if (state == 'Complete') { + try { + this._complete = true; + (this.options['on' + response.status] + || this.options['on' + (this.success() ? 'Success' : 'Failure')] + || Prototype.emptyFunction)(response, response.headerJSON); + } catch (e) { + this.dispatchException(e); + } + + var contentType = response.getHeader('Content-type'); + if (this.options.evalJS == 'force' + || (this.options.evalJS && contentType + && contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i))) + this.evalResponse(); + } + + try { + (this.options['on' + state] || Prototype.emptyFunction)(response, response.headerJSON); + Ajax.Responders.dispatch('on' + state, this, response, response.headerJSON); + } catch (e) { + this.dispatchException(e); + } + + if (state == 'Complete') { + // avoid memory leak in MSIE: clean up + this.transport.onreadystatechange = Prototype.emptyFunction; + } + }, + + getHeader: function(name) { + try { + return this.transport.getResponseHeader(name); + } catch (e) { return null } + }, + + evalResponse: function() { + try { + return eval((this.transport.responseText || '').unfilterJSON()); + } catch (e) { + this.dispatchException(e); + } + }, + + dispatchException: function(exception) { + (this.options.onException || Prototype.emptyFunction)(this, exception); + Ajax.Responders.dispatch('onException', this, exception); + } +}); + +Ajax.Request.Events = + ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete']; + +Ajax.Response = Class.create({ + initialize: function(request){ + this.request = request; + var transport = this.transport = request.transport, + readyState = this.readyState = transport.readyState; + + if((readyState > 2 && !Prototype.Browser.IE) || readyState == 4) { + this.status = this.getStatus(); + this.statusText = this.getStatusText(); + this.responseText = String.interpret(transport.responseText); + this.headerJSON = this._getHeaderJSON(); + } + + if(readyState == 4) { + var xml = transport.responseXML; + this.responseXML = xml === undefined ? null : xml; + this.responseJSON = this._getResponseJSON(); + } + }, + + status: 0, + statusText: '', + + getStatus: Ajax.Request.prototype.getStatus, + + getStatusText: function() { + try { + return this.transport.statusText || ''; + } catch (e) { return '' } + }, + + getHeader: Ajax.Request.prototype.getHeader, + + getAllHeaders: function() { + try { + return this.getAllResponseHeaders(); + } catch (e) { return null } + }, + + getResponseHeader: function(name) { + return this.transport.getResponseHeader(name); + }, + + getAllResponseHeaders: function() { + return this.transport.getAllResponseHeaders(); + }, + + _getHeaderJSON: function() { + var json = this.getHeader('X-JSON'); + if (!json) return null; + json = decodeURIComponent(escape(json)); + try { + return json.evalJSON(this.request.options.sanitizeJSON); + } catch (e) { + this.request.dispatchException(e); + } + }, + + _getResponseJSON: function() { + var options = this.request.options; + if (!options.evalJSON || (options.evalJSON != 'force' && + !(this.getHeader('Content-type') || '').include('application/json'))) + return null; + try { + return this.transport.responseText.evalJSON(options.sanitizeJSON); + } catch (e) { + this.request.dispatchException(e); + } + } +}); + +Ajax.Updater = Class.create(Ajax.Request, { + initialize: function($super, container, url, options) { + this.container = { + success: (container.success || container), + failure: (container.failure || (container.success ? null : container)) + }; + + options = options || { }; + var onComplete = options.onComplete; + options.onComplete = (function(response, param) { + this.updateContent(response.responseText); + if (Object.isFunction(onComplete)) onComplete(response, param); + }).bind(this); + + $super(url, options); + }, + + updateContent: function(responseText) { + var receiver = this.container[this.success() ? 'success' : 'failure'], + options = this.options; + + if (!options.evalScripts) responseText = responseText.stripScripts(); + + if (receiver = $(receiver)) { + if (options.insertion) { + if (Object.isString(options.insertion)) { + var insertion = { }; insertion[options.insertion] = responseText; + receiver.insert(insertion); + } + else options.insertion(receiver, responseText); + } + else receiver.update(responseText); + } + + if (this.success()) { + if (this.onComplete) this.onComplete.bind(this).defer(); + } + } +}); + +Ajax.PeriodicalUpdater = Class.create(Ajax.Base, { + initialize: function($super, container, url, options) { + $super(options); + this.onComplete = this.options.onComplete; + + this.frequency = (this.options.frequency || 2); + this.decay = (this.options.decay || 1); + + this.updater = { }; + this.container = container; + this.url = url; + + this.start(); + }, + + start: function() { + this.options.onComplete = this.updateComplete.bind(this); + this.onTimerEvent(); + }, + + stop: function() { + this.updater.options.onComplete = undefined; + clearTimeout(this.timer); + (this.onComplete || Prototype.emptyFunction).apply(this, arguments); + }, + + updateComplete: function(response) { + if (this.options.decay) { + this.decay = (response.responseText == this.lastText ? + this.decay * this.options.decay : 1); + + this.lastText = response.responseText; + } + this.timer = this.onTimerEvent.bind(this).delay(this.decay * this.frequency); + }, + + onTimerEvent: function() { + this.updater = new Ajax.Updater(this.container, this.url, this.options); + } +}); +function $(element) { + if (arguments.length > 1) { + for (var i = 0, elements = [], length = arguments.length; i < length; i++) + elements.push($(arguments[i])); + return elements; + } + if (Object.isString(element)) + element = document.getElementById(element); + return Element.extend(element); +} + +if (Prototype.BrowserFeatures.XPath) { + document._getElementsByXPath = function(expression, parentElement) { + var results = []; + var query = document.evaluate(expression, $(parentElement) || document, + null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); + for (var i = 0, length = query.snapshotLength; i < length; i++) + results.push(Element.extend(query.snapshotItem(i))); + return results; + }; +} + +/*--------------------------------------------------------------------------*/ + +if (!window.Node) var Node = { }; + +if (!Node.ELEMENT_NODE) { + // DOM level 2 ECMAScript Language Binding + Object.extend(Node, { + ELEMENT_NODE: 1, + ATTRIBUTE_NODE: 2, + TEXT_NODE: 3, + CDATA_SECTION_NODE: 4, + ENTITY_REFERENCE_NODE: 5, + ENTITY_NODE: 6, + PROCESSING_INSTRUCTION_NODE: 7, + COMMENT_NODE: 8, + DOCUMENT_NODE: 9, + DOCUMENT_TYPE_NODE: 10, + DOCUMENT_FRAGMENT_NODE: 11, + NOTATION_NODE: 12 + }); +} + +(function() { + var element = this.Element; + this.Element = function(tagName, attributes) { + attributes = attributes || { }; + tagName = tagName.toLowerCase(); + var cache = Element.cache; + if (Prototype.Browser.IE && attributes.name) { + tagName = '<' + tagName + ' name="' + attributes.name + '">'; + delete attributes.name; + return Element.writeAttribute(document.createElement(tagName), attributes); + } + if (!cache[tagName]) cache[tagName] = Element.extend(document.createElement(tagName)); + return Element.writeAttribute(cache[tagName].cloneNode(false), attributes); + }; + Object.extend(this.Element, element || { }); +}).call(window); + +Element.cache = { }; + +Element.Methods = { + visible: function(element) { + return $(element).style.display != 'none'; + }, + + toggle: function(element) { + element = $(element); + Element[Element.visible(element) ? 'hide' : 'show'](element); + return element; + }, + + hide: function(element) { + $(element).style.display = 'none'; + return element; + }, + + show: function(element) { + $(element).style.display = ''; + return element; + }, + + remove: function(element) { + element = $(element); + element.parentNode.removeChild(element); + return element; + }, + + update: function(element, content) { + element = $(element); + if (content && content.toElement) content = content.toElement(); + if (Object.isElement(content)) return element.update().insert(content); + content = Object.toHTML(content); + element.innerHTML = content.stripScripts(); + content.evalScripts.bind(content).defer(); + return element; + }, + + replace: function(element, content) { + element = $(element); + if (content && content.toElement) content = content.toElement(); + else if (!Object.isElement(content)) { + content = Object.toHTML(content); + var range = element.ownerDocument.createRange(); + range.selectNode(element); + content.evalScripts.bind(content).defer(); + content = range.createContextualFragment(content.stripScripts()); + } + element.parentNode.replaceChild(content, element); + return element; + }, + + insert: function(element, insertions) { + element = $(element); + + if (Object.isString(insertions) || Object.isNumber(insertions) || + Object.isElement(insertions) || (insertions && (insertions.toElement || insertions.toHTML))) + insertions = {bottom:insertions}; + + var content, t, range; + + for (position in insertions) { + content = insertions[position]; + position = position.toLowerCase(); + t = Element._insertionTranslations[position]; + + if (content && content.toElement) content = content.toElement(); + if (Object.isElement(content)) { + t.insert(element, content); + continue; + } + + content = Object.toHTML(content); + + range = element.ownerDocument.createRange(); + t.initializeRange(element, range); + t.insert(element, range.createContextualFragment(content.stripScripts())); + + content.evalScripts.bind(content).defer(); + } + + return element; + }, + + wrap: function(element, wrapper, attributes) { + element = $(element); + if (Object.isElement(wrapper)) + $(wrapper).writeAttribute(attributes || { }); + else if (Object.isString(wrapper)) wrapper = new Element(wrapper, attributes); + else wrapper = new Element('div', wrapper); + if (element.parentNode) + element.parentNode.replaceChild(wrapper, element); + wrapper.appendChild(element); + return wrapper; + }, + + inspect: function(element) { + element = $(element); + var result = '<' + element.tagName.toLowerCase(); + $H({'id': 'id', 'className': 'class'}).each(function(pair) { + var property = pair.first(), attribute = pair.last(); + var value = (element[property] || '').toString(); + if (value) result += ' ' + attribute + '=' + value.inspect(true); + }); + return result + '>'; + }, + + recursivelyCollect: function(element, property) { + element = $(element); + var elements = []; + while (element = element[property]) + if (element.nodeType == 1) + elements.push(Element.extend(element)); + return elements; + }, + + ancestors: function(element) { + return $(element).recursivelyCollect('parentNode'); + }, + + descendants: function(element) { + return $A($(element).getElementsByTagName('*')).each(Element.extend); + }, + + firstDescendant: function(element) { + element = $(element).firstChild; + while (element && element.nodeType != 1) element = element.nextSibling; + return $(element); + }, + + immediateDescendants: function(element) { + if (!(element = $(element).firstChild)) return []; + while (element && element.nodeType != 1) element = element.nextSibling; + if (element) return [element].concat($(element).nextSiblings()); + return []; + }, + + previousSiblings: function(element) { + return $(element).recursivelyCollect('previousSibling'); + }, + + nextSiblings: function(element) { + return $(element).recursivelyCollect('nextSibling'); + }, + + siblings: function(element) { + element = $(element); + return element.previousSiblings().reverse().concat(element.nextSiblings()); + }, + + match: function(element, selector) { + if (Object.isString(selector)) + selector = new Selector(selector); + return selector.match($(element)); + }, + + up: function(element, expression, index) { + element = $(element); + if (arguments.length == 1) return $(element.parentNode); + var ancestors = element.ancestors(); + return expression ? Selector.findElement(ancestors, expression, index) : + ancestors[index || 0]; + }, + + down: function(element, expression, index) { + element = $(element); + if (arguments.length == 1) return element.firstDescendant(); + var descendants = element.descendants(); + return expression ? Selector.findElement(descendants, expression, index) : + descendants[index || 0]; + }, + + previous: function(element, expression, index) { + element = $(element); + if (arguments.length == 1) return $(Selector.handlers.previousElementSibling(element)); + var previousSiblings = element.previousSiblings(); + return expression ? Selector.findElement(previousSiblings, expression, index) : + previousSiblings[index || 0]; + }, + + next: function(element, expression, index) { + element = $(element); + if (arguments.length == 1) return $(Selector.handlers.nextElementSibling(element)); + var nextSiblings = element.nextSiblings(); + return expression ? Selector.findElement(nextSiblings, expression, index) : + nextSiblings[index || 0]; + }, + + select: function() { + var args = $A(arguments), element = $(args.shift()); + return Selector.findChildElements(element, args); + }, + + adjacent: function() { + var args = $A(arguments), element = $(args.shift()); + return Selector.findChildElements(element.parentNode, args).without(element); + }, + + identify: function(element) { + element = $(element); + var id = element.readAttribute('id'), self = arguments.callee; + if (id) return id; + do { id = 'anonymous_element_' + self.counter++ } while ($(id)); + element.writeAttribute('id', id); + return id; + }, + + readAttribute: function(element, name) { + element = $(element); + if (Prototype.Browser.IE) { + var t = Element._attributeTranslations.read; + if (t.values[name]) return t.values[name](element, name); + if (t.names[name]) name = t.names[name]; + if (name.include(':')) { + return (!element.attributes || !element.attributes[name]) ? null : + element.attributes[name].value; + } + } + return element.getAttribute(name); + }, + + writeAttribute: function(element, name, value) { + element = $(element); + var attributes = { }, t = Element._attributeTranslations.write; + + if (typeof name == 'object') attributes = name; + else attributes[name] = value === undefined ? true : value; + + for (var attr in attributes) { + var name = t.names[attr] || attr, value = attributes[attr]; + if (t.values[attr]) name = t.values[attr](element, value); + if (value === false || value === null) + element.removeAttribute(name); + else if (value === true) + element.setAttribute(name, name); + else element.setAttribute(name, value); + } + return element; + }, + + getHeight: function(element) { + return $(element).getDimensions().height; + }, + + getWidth: function(element) { + return $(element).getDimensions().width; + }, + + classNames: function(element) { + return new Element.ClassNames(element); + }, + + hasClassName: function(element, className) { + if (!(element = $(element))) return; + var elementClassName = element.className; + return (elementClassName.length > 0 && (elementClassName == className || + new RegExp("(^|\\s)" + className + "(\\s|$)").test(elementClassName))); + }, + + addClassName: function(element, className) { + if (!(element = $(element))) return; + if (!element.hasClassName(className)) + element.className += (element.className ? ' ' : '') + className; + return element; + }, + + removeClassName: function(element, className) { + if (!(element = $(element))) return; + element.className = element.className.replace( + new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip(); + return element; + }, + + toggleClassName: function(element, className) { + if (!(element = $(element))) return; + return element[element.hasClassName(className) ? + 'removeClassName' : 'addClassName'](className); + }, + + // removes whitespace-only text node children + cleanWhitespace: function(element) { + element = $(element); + var node = element.firstChild; + while (node) { + var nextNode = node.nextSibling; + if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) + element.removeChild(node); + node = nextNode; + } + return element; + }, + + empty: function(element) { + return $(element).innerHTML.blank(); + }, + + descendantOf: function(element, ancestor) { + element = $(element), ancestor = $(ancestor); + + if (element.compareDocumentPosition) + return (element.compareDocumentPosition(ancestor) & 8) === 8; + + if (element.sourceIndex && !Prototype.Browser.Opera) { + var e = element.sourceIndex, a = ancestor.sourceIndex, + nextAncestor = ancestor.nextSibling; + if (!nextAncestor) { + do { ancestor = ancestor.parentNode; } + while (!(nextAncestor = ancestor.nextSibling) && ancestor.parentNode); + } + if (nextAncestor) return (e > a && e < nextAncestor.sourceIndex); + } + + while (element = element.parentNode) + if (element == ancestor) return true; + return false; + }, + + scrollTo: function(element) { + element = $(element); + var pos = element.cumulativeOffset(); + window.scrollTo(pos[0], pos[1]); + return element; + }, + + getStyle: function(element, style) { + element = $(element); + style = style == 'float' ? 'cssFloat' : style.camelize(); + var value = element.style[style]; + if (!value) { + var css = document.defaultView.getComputedStyle(element, null); + value = css ? css[style] : null; + } + if (style == 'opacity') return value ? parseFloat(value) : 1.0; + return value == 'auto' ? null : value; + }, + + getOpacity: function(element) { + return $(element).getStyle('opacity'); + }, + + setStyle: function(element, styles) { + element = $(element); + var elementStyle = element.style, match; + if (Object.isString(styles)) { + element.style.cssText += ';' + styles; + return styles.include('opacity') ? + element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : element; + } + for (var property in styles) + if (property == 'opacity') element.setOpacity(styles[property]); + else + elementStyle[(property == 'float' || property == 'cssFloat') ? + (elementStyle.styleFloat === undefined ? 'cssFloat' : 'styleFloat') : + property] = styles[property]; + + return element; + }, + + setOpacity: function(element, value) { + element = $(element); + element.style.opacity = (value == 1 || value === '') ? '' : + (value < 0.00001) ? 0 : value; + return element; + }, + + getDimensions: function(element) { + element = $(element); + var display = $(element).getStyle('display'); + if (display != 'none' && display != null) // Safari bug + return {width: element.offsetWidth, height: element.offsetHeight}; + + // All *Width and *Height properties give 0 on elements with display none, + // so enable the element temporarily + var els = element.style; + var originalVisibility = els.visibility; + var originalPosition = els.position; + var originalDisplay = els.display; + els.visibility = 'hidden'; + els.position = 'absolute'; + els.display = 'block'; + var originalWidth = element.clientWidth; + var originalHeight = element.clientHeight; + els.display = originalDisplay; + els.position = originalPosition; + els.visibility = originalVisibility; + return {width: originalWidth, height: originalHeight}; + }, + + makePositioned: function(element) { + element = $(element); + var pos = Element.getStyle(element, 'position'); + if (pos == 'static' || !pos) { + element._madePositioned = true; + element.style.position = 'relative'; + // Opera returns the offset relative to the positioning context, when an + // element is position relative but top and left have not been defined + if (window.opera) { + element.style.top = 0; + element.style.left = 0; + } + } + return element; + }, + + undoPositioned: function(element) { + element = $(element); + if (element._madePositioned) { + element._madePositioned = undefined; + element.style.position = + element.style.top = + element.style.left = + element.style.bottom = + element.style.right = ''; + } + return element; + }, + + makeClipping: function(element) { + element = $(element); + if (element._overflow) return element; + element._overflow = Element.getStyle(element, 'overflow') || 'auto'; + if (element._overflow !== 'hidden') + element.style.overflow = 'hidden'; + return element; + }, + + undoClipping: function(element) { + element = $(element); + if (!element._overflow) return element; + element.style.overflow = element._overflow == 'auto' ? '' : element._overflow; + element._overflow = null; + return element; + }, + + cumulativeOffset: function(element) { + var valueT = 0, valueL = 0; + do { + valueT += element.offsetTop || 0; + valueL += element.offsetLeft || 0; + element = element.offsetParent; + } while (element); + return Element._returnOffset(valueL, valueT); + }, + + positionedOffset: function(element) { + var valueT = 0, valueL = 0; + do { + valueT += element.offsetTop || 0; + valueL += element.offsetLeft || 0; + element = element.offsetParent; + if (element) { + if (element.tagName == 'BODY') break; + var p = Element.getStyle(element, 'position'); + if (p == 'relative' || p == 'absolute') break; + } + } while (element); + return Element._returnOffset(valueL, valueT); + }, + + absolutize: function(element) { + element = $(element); + if (element.getStyle('position') == 'absolute') return; + // Position.prepare(); // To be done manually by Scripty when it needs it. + + var offsets = element.positionedOffset(); + var top = offsets[1]; + var left = offsets[0]; + var width = element.clientWidth; + var height = element.clientHeight; + + element._originalLeft = left - parseFloat(element.style.left || 0); + element._originalTop = top - parseFloat(element.style.top || 0); + element._originalWidth = element.style.width; + element._originalHeight = element.style.height; + + element.style.position = 'absolute'; + element.style.top = top + 'px'; + element.style.left = left + 'px'; + element.style.width = width + 'px'; + element.style.height = height + 'px'; + return element; + }, + + relativize: function(element) { + element = $(element); + if (element.getStyle('position') == 'relative') return; + // Position.prepare(); // To be done manually by Scripty when it needs it. + + element.style.position = 'relative'; + var top = parseFloat(element.style.top || 0) - (element._originalTop || 0); + var left = parseFloat(element.style.left || 0) - (element._originalLeft || 0); + + element.style.top = top + 'px'; + element.style.left = left + 'px'; + element.style.height = element._originalHeight; + element.style.width = element._originalWidth; + return element; + }, + + cumulativeScrollOffset: function(element) { + var valueT = 0, valueL = 0; + do { + valueT += element.scrollTop || 0; + valueL += element.scrollLeft || 0; + element = element.parentNode; + } while (element); + return Element._returnOffset(valueL, valueT); + }, + + getOffsetParent: function(element) { + if (element.offsetParent) return $(element.offsetParent); + if (element == document.body) return $(element); + + while ((element = element.parentNode) && element != document.body) + if (Element.getStyle(element, 'position') != 'static') + return $(element); + + return $(document.body); + }, + + viewportOffset: function(forElement) { + var valueT = 0, valueL = 0; + + var element = forElement; + do { + valueT += element.offsetTop || 0; + valueL += element.offsetLeft || 0; + + // Safari fix + if (element.offsetParent == document.body && + Element.getStyle(element, 'position') == 'absolute') break; + + } while (element = element.offsetParent); + + element = forElement; + do { + if (!Prototype.Browser.Opera || element.tagName == 'BODY') { + valueT -= element.scrollTop || 0; + valueL -= element.scrollLeft || 0; + } + } while (element = element.parentNode); + + return Element._returnOffset(valueL, valueT); + }, + + clonePosition: function(element, source) { + var options = Object.extend({ + setLeft: true, + setTop: true, + setWidth: true, + setHeight: true, + offsetTop: 0, + offsetLeft: 0 + }, arguments[2] || { }); + + // find page position of source + source = $(source); + var p = source.viewportOffset(); + + // find coordinate system to use + element = $(element); + var delta = [0, 0]; + var parent = null; + // delta [0,0] will do fine with position: fixed elements, + // position:absolute needs offsetParent deltas + if (Element.getStyle(element, 'position') == 'absolute') { + parent = element.getOffsetParent(); + delta = parent.viewportOffset(); + } + + // correct by body offsets (fixes Safari) + if (parent == document.body) { + delta[0] -= document.body.offsetLeft; + delta[1] -= document.body.offsetTop; + } + + // set position + if (options.setLeft) element.style.left = (p[0] - delta[0] + options.offsetLeft) + 'px'; + if (options.setTop) element.style.top = (p[1] - delta[1] + options.offsetTop) + 'px'; + if (options.setWidth) element.style.width = source.offsetWidth + 'px'; + if (options.setHeight) element.style.height = source.offsetHeight + 'px'; + return element; + } +}; + +Element.Methods.identify.counter = 1; + +Object.extend(Element.Methods, { + getElementsBySelector: Element.Methods.select, + childElements: Element.Methods.immediateDescendants +}); + +Element._attributeTranslations = { + write: { + names: { + className: 'class', + htmlFor: 'for' + }, + values: { } + } +}; + + +if (!document.createRange || Prototype.Browser.Opera) { + Element.Methods.insert = function(element, insertions) { + element = $(element); + + if (Object.isString(insertions) || Object.isNumber(insertions) || + Object.isElement(insertions) || (insertions && (insertions.toElement || insertions.toHTML))) + insertions = { bottom: insertions }; + + var t = Element._insertionTranslations, content, position, pos, tagName; + + for (position in insertions) { + content = insertions[position]; + position = position.toLowerCase(); + pos = t[position]; + + if (content && content.toElement) content = content.toElement(); + if (Object.isElement(content)) { + pos.insert(element, content); + continue; + } + + content = Object.toHTML(content); + tagName = ((position == 'before' || position == 'after') + ? element.parentNode : element).tagName.toUpperCase(); + + if (t.tags[tagName]) { + var fragments = Element._getContentFromAnonymousElement(tagName, content.stripScripts()); + if (position == 'top' || position == 'after') fragments.reverse(); + fragments.each(pos.insert.curry(element)); + } + else element.insertAdjacentHTML(pos.adjacency, content.stripScripts()); + + content.evalScripts.bind(content).defer(); + } + + return element; + }; +} + +if (Prototype.Browser.Opera) { + Element.Methods._getStyle = Element.Methods.getStyle; + Element.Methods.getStyle = function(element, style) { + switch(style) { + case 'left': + case 'top': + case 'right': + case 'bottom': + if (Element._getStyle(element, 'position') == 'static') return null; + default: return Element._getStyle(element, style); + } + }; + Element.Methods._readAttribute = Element.Methods.readAttribute; + Element.Methods.readAttribute = function(element, attribute) { + if (attribute == 'title') return element.title; + return Element._readAttribute(element, attribute); + }; +} + +else if (Prototype.Browser.IE) { + $w('positionedOffset getOffsetParent viewportOffset').each(function(method) { + Element.Methods[method] = Element.Methods[method].wrap( + function(proceed, element) { + element = $(element); + var position = element.getStyle('position'); + if (position != 'static') return proceed(element); + element.setStyle({ position: 'relative' }); + var value = proceed(element); + element.setStyle({ position: position }); + return value; + } + ); + }); + + Element.Methods.getStyle = function(element, style) { + element = $(element); + style = (style == 'float' || style == 'cssFloat') ? 'styleFloat' : style.camelize(); + var value = element.style[style]; + if (!value && element.currentStyle) value = element.currentStyle[style]; + + if (style == 'opacity') { + if (value = (element.getStyle('filter') || '').match(/alpha\(opacity=(.*)\)/)) + if (value[1]) return parseFloat(value[1]) / 100; + return 1.0; + } + + if (value == 'auto') { + if ((style == 'width' || style == 'height') && (element.getStyle('display') != 'none')) + return element['offset' + style.capitalize()] + 'px'; + return null; + } + return value; + }; + + Element.Methods.setOpacity = function(element, value) { + function stripAlpha(filter){ + return filter.replace(/alpha\([^\)]*\)/gi,''); + } + element = $(element); + var currentStyle = element.currentStyle; + if ((currentStyle && !currentStyle.hasLayout) || + (!currentStyle && element.style.zoom == 'normal')) + element.style.zoom = 1; + + var filter = element.getStyle('filter'), style = element.style; + if (value == 1 || value === '') { + (filter = stripAlpha(filter)) ? + style.filter = filter : style.removeAttribute('filter'); + return element; + } else if (value < 0.00001) value = 0; + style.filter = stripAlpha(filter) + + 'alpha(opacity=' + (value * 100) + ')'; + return element; + }; + + Element._attributeTranslations = { + read: { + names: { + 'class': 'className', + 'for': 'htmlFor' + }, + values: { + _getAttr: function(element, attribute) { + return element.getAttribute(attribute, 2); + }, + _getAttrNode: function(element, attribute) { + var node = element.getAttributeNode(attribute); + return node ? node.value : ""; + }, + _getEv: function(element, attribute) { + var attribute = element.getAttribute(attribute); + return attribute ? attribute.toString().slice(23, -2) : null; + }, + _flag: function(element, attribute) { + return $(element).hasAttribute(attribute) ? attribute : null; + }, + style: function(element) { + return element.style.cssText.toLowerCase(); + }, + title: function(element) { + return element.title; + } + } + } + }; + + Element._attributeTranslations.write = { + names: Object.clone(Element._attributeTranslations.read.names), + values: { + checked: function(element, value) { + element.checked = !!value; + }, + + style: function(element, value) { + element.style.cssText = value ? value : ''; + } + } + }; + + Element._attributeTranslations.has = {}; + + $w('colSpan rowSpan vAlign dateTime accessKey tabIndex ' + + 'encType maxLength readOnly longDesc').each(function(attr) { + Element._attributeTranslations.write.names[attr.toLowerCase()] = attr; + Element._attributeTranslations.has[attr.toLowerCase()] = attr; + }); + + (function(v) { + Object.extend(v, { + href: v._getAttr, + src: v._getAttr, + type: v._getAttr, + action: v._getAttrNode, + disabled: v._flag, + checked: v._flag, + readonly: v._flag, + multiple: v._flag, + onload: v._getEv, + onunload: v._getEv, + onclick: v._getEv, + ondblclick: v._getEv, + onmousedown: v._getEv, + onmouseup: v._getEv, + onmouseover: v._getEv, + onmousemove: v._getEv, + onmouseout: v._getEv, + onfocus: v._getEv, + onblur: v._getEv, + onkeypress: v._getEv, + onkeydown: v._getEv, + onkeyup: v._getEv, + onsubmit: v._getEv, + onreset: v._getEv, + onselect: v._getEv, + onchange: v._getEv + }); + })(Element._attributeTranslations.read.values); +} + +else if (Prototype.Browser.Gecko && /rv:1\.8\.0/.test(navigator.userAgent)) { + Element.Methods.setOpacity = function(element, value) { + element = $(element); + element.style.opacity = (value == 1) ? 0.999999 : + (value === '') ? '' : (value < 0.00001) ? 0 : value; + return element; + }; +} + +else if (Prototype.Browser.WebKit) { + Element.Methods.setOpacity = function(element, value) { + element = $(element); + element.style.opacity = (value == 1 || value === '') ? '' : + (value < 0.00001) ? 0 : value; + + if (value == 1) + if(element.tagName == 'IMG' && element.width) { + element.width++; element.width--; + } else try { + var n = document.createTextNode(' '); + element.appendChild(n); + element.removeChild(n); + } catch (e) { } + + return element; + }; + + // Safari returns margins on body which is incorrect if the child is absolutely + // positioned. For performance reasons, redefine Position.cumulativeOffset for + // KHTML/WebKit only. + Element.Methods.cumulativeOffset = function(element) { + var valueT = 0, valueL = 0; + do { + valueT += element.offsetTop || 0; + valueL += element.offsetLeft || 0; + if (element.offsetParent == document.body) + if (Element.getStyle(element, 'position') == 'absolute') break; + + element = element.offsetParent; + } while (element); + + return Element._returnOffset(valueL, valueT); + }; +} + +if (Prototype.Browser.IE || Prototype.Browser.Opera) { + // IE and Opera are missing .innerHTML support for TABLE-related and SELECT elements + Element.Methods.update = function(element, content) { + element = $(element); + + if (content && content.toElement) content = content.toElement(); + if (Object.isElement(content)) return element.update().insert(content); + + content = Object.toHTML(content); + var tagName = element.tagName.toUpperCase(); + + if (tagName in Element._insertionTranslations.tags) { + $A(element.childNodes).each(function(node) { element.removeChild(node) }); + Element._getContentFromAnonymousElement(tagName, content.stripScripts()) + .each(function(node) { element.appendChild(node) }); + } + else element.innerHTML = content.stripScripts(); + + content.evalScripts.bind(content).defer(); + return element; + }; +} + +if (document.createElement('div').outerHTML) { + Element.Methods.replace = function(element, content) { + element = $(element); + + if (content && content.toElement) content = content.toElement(); + if (Object.isElement(content)) { + element.parentNode.replaceChild(content, element); + return element; + } + + content = Object.toHTML(content); + var parent = element.parentNode, tagName = parent.tagName.toUpperCase(); + + if (Element._insertionTranslations.tags[tagName]) { + var nextSibling = element.next(); + var fragments = Element._getContentFromAnonymousElement(tagName, content.stripScripts()); + parent.removeChild(element); + if (nextSibling) + fragments.each(function(node) { parent.insertBefore(node, nextSibling) }); + else + fragments.each(function(node) { parent.appendChild(node) }); + } + else element.outerHTML = content.stripScripts(); + + content.evalScripts.bind(content).defer(); + return element; + }; +} + +Element._returnOffset = function(l, t) { + var result = [l, t]; + result.left = l; + result.top = t; + return result; +}; + +Element._getContentFromAnonymousElement = function(tagName, html) { + var div = new Element('div'), t = Element._insertionTranslations.tags[tagName]; + div.innerHTML = t[0] + html + t[1]; + t[2].times(function() { div = div.firstChild }); + return $A(div.childNodes); +}; + +Element._insertionTranslations = { + before: { + adjacency: 'beforeBegin', + insert: function(element, node) { + element.parentNode.insertBefore(node, element); + }, + initializeRange: function(element, range) { + range.setStartBefore(element); + } + }, + top: { + adjacency: 'afterBegin', + insert: function(element, node) { + element.insertBefore(node, element.firstChild); + }, + initializeRange: function(element, range) { + range.selectNodeContents(element); + range.collapse(true); + } + }, + bottom: { + adjacency: 'beforeEnd', + insert: function(element, node) { + element.appendChild(node); + } + }, + after: { + adjacency: 'afterEnd', + insert: function(element, node) { + element.parentNode.insertBefore(node, element.nextSibling); + }, + initializeRange: function(element, range) { + range.setStartAfter(element); + } + }, + tags: { + TABLE: ['', '
', 1], + TBODY: ['', '
', 2], + TR: ['', '
', 3], + TD: ['
', '
', 4], + SELECT: ['', 1] + } +}; + +(function() { + this.bottom.initializeRange = this.top.initializeRange; + Object.extend(this.tags, { + THEAD: this.tags.TBODY, + TFOOT: this.tags.TBODY, + TH: this.tags.TD + }); +}).call(Element._insertionTranslations); + +Element.Methods.Simulated = { + hasAttribute: function(element, attribute) { + attribute = Element._attributeTranslations.has[attribute] || attribute; + var node = $(element).getAttributeNode(attribute); + return node && node.specified; + } +}; + +Element.Methods.ByTag = { }; + +Object.extend(Element, Element.Methods); + +if (!Prototype.BrowserFeatures.ElementExtensions && + document.createElement('div').__proto__) { + window.HTMLElement = { }; + window.HTMLElement.prototype = document.createElement('div').__proto__; + Prototype.BrowserFeatures.ElementExtensions = true; +} + +Element.extend = (function() { + if (Prototype.BrowserFeatures.SpecificElementExtensions) + return Prototype.K; + + var Methods = { }, ByTag = Element.Methods.ByTag; + + var extend = Object.extend(function(element) { + if (!element || element._extendedByPrototype || + element.nodeType != 1 || element == window) return element; + + var methods = Object.clone(Methods), + tagName = element.tagName, property, value; + + // extend methods for specific tags + if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]); + + for (property in methods) { + value = methods[property]; + if (Object.isFunction(value) && !(property in element)) + element[property] = value.methodize(); + } + + element._extendedByPrototype = Prototype.emptyFunction; + return element; + + }, { + refresh: function() { + // extend methods for all tags (Safari doesn't need this) + if (!Prototype.BrowserFeatures.ElementExtensions) { + Object.extend(Methods, Element.Methods); + Object.extend(Methods, Element.Methods.Simulated); + } + } + }); + + extend.refresh(); + return extend; +})(); + +Element.hasAttribute = function(element, attribute) { + if (element.hasAttribute) return element.hasAttribute(attribute); + return Element.Methods.Simulated.hasAttribute(element, attribute); +}; + +Element.addMethods = function(methods) { + var F = Prototype.BrowserFeatures, T = Element.Methods.ByTag; + + if (!methods) { + Object.extend(Form, Form.Methods); + Object.extend(Form.Element, Form.Element.Methods); + Object.extend(Element.Methods.ByTag, { + "FORM": Object.clone(Form.Methods), + "INPUT": Object.clone(Form.Element.Methods), + "SELECT": Object.clone(Form.Element.Methods), + "TEXTAREA": Object.clone(Form.Element.Methods) + }); + } + + if (arguments.length == 2) { + var tagName = methods; + methods = arguments[1]; + } + + if (!tagName) Object.extend(Element.Methods, methods || { }); + else { + if (Object.isArray(tagName)) tagName.each(extend); + else extend(tagName); + } + + function extend(tagName) { + tagName = tagName.toUpperCase(); + if (!Element.Methods.ByTag[tagName]) + Element.Methods.ByTag[tagName] = { }; + Object.extend(Element.Methods.ByTag[tagName], methods); + } + + function copy(methods, destination, onlyIfAbsent) { + onlyIfAbsent = onlyIfAbsent || false; + for (var property in methods) { + var value = methods[property]; + if (!Object.isFunction(value)) continue; + if (!onlyIfAbsent || !(property in destination)) + destination[property] = value.methodize(); + } + } + + function findDOMClass(tagName) { + var klass; + var trans = { + "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph", + "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": "DList", + "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": "Heading", + "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote", + "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", "CAPTION": + "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", "THEAD": + "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", "TR": + "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET": + "FrameSet", "IFRAME": "IFrame" + }; + if (trans[tagName]) klass = 'HTML' + trans[tagName] + 'Element'; + if (window[klass]) return window[klass]; + klass = 'HTML' + tagName + 'Element'; + if (window[klass]) return window[klass]; + klass = 'HTML' + tagName.capitalize() + 'Element'; + if (window[klass]) return window[klass]; + + window[klass] = { }; + window[klass].prototype = document.createElement(tagName).__proto__; + return window[klass]; + } + + if (F.ElementExtensions) { + copy(Element.Methods, HTMLElement.prototype); + copy(Element.Methods.Simulated, HTMLElement.prototype, true); + } + + if (F.SpecificElementExtensions) { + for (var tag in Element.Methods.ByTag) { + var klass = findDOMClass(tag); + if (Object.isUndefined(klass)) continue; + copy(T[tag], klass.prototype); + } + } + + Object.extend(Element, Element.Methods); + delete Element.ByTag; + + if (Element.extend.refresh) Element.extend.refresh(); + Element.cache = { }; +}; + +document.viewport = { + getDimensions: function() { + var dimensions = { }; + $w('width height').each(function(d) { + var D = d.capitalize(); + dimensions[d] = self['inner' + D] || + (document.documentElement['client' + D] || document.body['client' + D]); + }); + return dimensions; + }, + + getWidth: function() { + return this.getDimensions().width; + }, + + getHeight: function() { + return this.getDimensions().height; + }, + + getScrollOffsets: function() { + return Element._returnOffset( + window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft, + window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop); + } +}; +/* Portions of the Selector class are derived from Jack Slocum’s DomQuery, + * part of YUI-Ext version 0.40, distributed under the terms of an MIT-style + * license. Please see http://www.yui-ext.com/ for more information. */ + +var Selector = Class.create({ + initialize: function(expression) { + this.expression = expression.strip(); + this.compileMatcher(); + }, + + compileMatcher: function() { + // Selectors with namespaced attributes can't use the XPath version + if (Prototype.BrowserFeatures.XPath && !(/(\[[\w-]*?:|:checked)/).test(this.expression)) + return this.compileXPathMatcher(); + + var e = this.expression, ps = Selector.patterns, h = Selector.handlers, + c = Selector.criteria, le, p, m; + + if (Selector._cache[e]) { + this.matcher = Selector._cache[e]; + return; + } + + this.matcher = ["this.matcher = function(root) {", + "var r = root, h = Selector.handlers, c = false, n;"]; + + while (e && le != e && (/\S/).test(e)) { + le = e; + for (var i in ps) { + p = ps[i]; + if (m = e.match(p)) { + this.matcher.push(Object.isFunction(c[i]) ? c[i](m) : + new Template(c[i]).evaluate(m)); + e = e.replace(m[0], ''); + break; + } + } + } + + this.matcher.push("return h.unique(n);\n}"); + eval(this.matcher.join('\n')); + Selector._cache[this.expression] = this.matcher; + }, + + compileXPathMatcher: function() { + var e = this.expression, ps = Selector.patterns, + x = Selector.xpath, le, m; + + if (Selector._cache[e]) { + this.xpath = Selector._cache[e]; return; + } + + this.matcher = ['.//*']; + while (e && le != e && (/\S/).test(e)) { + le = e; + for (var i in ps) { + if (m = e.match(ps[i])) { + this.matcher.push(Object.isFunction(x[i]) ? x[i](m) : + new Template(x[i]).evaluate(m)); + e = e.replace(m[0], ''); + break; + } + } + } + + this.xpath = this.matcher.join(''); + Selector._cache[this.expression] = this.xpath; + }, + + findElements: function(root) { + root = root || document; + if (this.xpath) return document._getElementsByXPath(this.xpath, root); + return this.matcher(root); + }, + + match: function(element) { + this.tokens = []; + + var e = this.expression, ps = Selector.patterns, as = Selector.assertions; + var le, p, m; + + while (e && le !== e && (/\S/).test(e)) { + le = e; + for (var i in ps) { + p = ps[i]; + if (m = e.match(p)) { + // use the Selector.assertions methods unless the selector + // is too complex. + if (as[i]) { + this.tokens.push([i, Object.clone(m)]); + e = e.replace(m[0], ''); + } else { + // reluctantly do a document-wide search + // and look for a match in the array + return this.findElements(document).include(element); + } + } + } + } + + var match = true, name, matches; + for (var i = 0, token; token = this.tokens[i]; i++) { + name = token[0], matches = token[1]; + if (!Selector.assertions[name](element, matches)) { + match = false; break; + } + } + + return match; + }, + + toString: function() { + return this.expression; + }, + + inspect: function() { + return "#"; + } +}); + +Object.extend(Selector, { + _cache: { }, + + xpath: { + descendant: "//*", + child: "/*", + adjacent: "/following-sibling::*[1]", + laterSibling: '/following-sibling::*', + tagName: function(m) { + if (m[1] == '*') return ''; + return "[local-name()='" + m[1].toLowerCase() + + "' or local-name()='" + m[1].toUpperCase() + "']"; + }, + className: "[contains(concat(' ', @class, ' '), ' #{1} ')]", + id: "[@id='#{1}']", + attrPresence: "[@#{1}]", + attr: function(m) { + m[3] = m[5] || m[6]; + return new Template(Selector.xpath.operators[m[2]]).evaluate(m); + }, + pseudo: function(m) { + var h = Selector.xpath.pseudos[m[1]]; + if (!h) return ''; + if (Object.isFunction(h)) return h(m); + return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m); + }, + operators: { + '=': "[@#{1}='#{3}']", + '!=': "[@#{1}!='#{3}']", + '^=': "[starts-with(@#{1}, '#{3}')]", + '$=': "[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']", + '*=': "[contains(@#{1}, '#{3}')]", + '~=': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]", + '|=': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]" + }, + pseudos: { + 'first-child': '[not(preceding-sibling::*)]', + 'last-child': '[not(following-sibling::*)]', + 'only-child': '[not(preceding-sibling::* or following-sibling::*)]', + 'empty': "[count(*) = 0 and (count(text()) = 0 or translate(text(), ' \t\r\n', '') = '')]", + 'checked': "[@checked]", + 'disabled': "[@disabled]", + 'enabled': "[not(@disabled)]", + 'not': function(m) { + var e = m[6], p = Selector.patterns, + x = Selector.xpath, le, m, v; + + var exclusion = []; + while (e && le != e && (/\S/).test(e)) { + le = e; + for (var i in p) { + if (m = e.match(p[i])) { + v = Object.isFunction(x[i]) ? x[i](m) : new Template(x[i]).evaluate(m); + exclusion.push("(" + v.substring(1, v.length - 1) + ")"); + e = e.replace(m[0], ''); + break; + } + } + } + return "[not(" + exclusion.join(" and ") + ")]"; + }, + 'nth-child': function(m) { + return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ", m); + }, + 'nth-last-child': function(m) { + return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ", m); + }, + 'nth-of-type': function(m) { + return Selector.xpath.pseudos.nth("position() ", m); + }, + 'nth-last-of-type': function(m) { + return Selector.xpath.pseudos.nth("(last() + 1 - position()) ", m); + }, + 'first-of-type': function(m) { + m[6] = "1"; return Selector.xpath.pseudos['nth-of-type'](m); + }, + 'last-of-type': function(m) { + m[6] = "1"; return Selector.xpath.pseudos['nth-last-of-type'](m); + }, + 'only-of-type': function(m) { + var p = Selector.xpath.pseudos; return p['first-of-type'](m) + p['last-of-type'](m); + }, + nth: function(fragment, m) { + var mm, formula = m[6], predicate; + if (formula == 'even') formula = '2n+0'; + if (formula == 'odd') formula = '2n+1'; + if (mm = formula.match(/^(\d+)$/)) // digit only + return '[' + fragment + "= " + mm[1] + ']'; + if (mm = formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b + if (mm[1] == "-") mm[1] = -1; + var a = mm[1] ? Number(mm[1]) : 1; + var b = mm[2] ? Number(mm[2]) : 0; + predicate = "[((#{fragment} - #{b}) mod #{a} = 0) and " + + "((#{fragment} - #{b}) div #{a} >= 0)]"; + return new Template(predicate).evaluate({ + fragment: fragment, a: a, b: b }); + } + } + } + }, + + criteria: { + tagName: 'n = h.tagName(n, r, "#{1}", c); c = false;', + className: 'n = h.className(n, r, "#{1}", c); c = false;', + id: 'n = h.id(n, r, "#{1}", c); c = false;', + attrPresence: 'n = h.attrPresence(n, r, "#{1}"); c = false;', + attr: function(m) { + m[3] = (m[5] || m[6]); + return new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}"); c = false;').evaluate(m); + }, + pseudo: function(m) { + if (m[6]) m[6] = m[6].replace(/"/g, '\\"'); + return new Template('n = h.pseudo(n, "#{1}", "#{6}", r, c); c = false;').evaluate(m); + }, + descendant: 'c = "descendant";', + child: 'c = "child";', + adjacent: 'c = "adjacent";', + laterSibling: 'c = "laterSibling";' + }, + + patterns: { + // combinators must be listed first + // (and descendant needs to be last combinator) + laterSibling: /^\s*~\s*/, + child: /^\s*>\s*/, + adjacent: /^\s*\+\s*/, + descendant: /^\s/, + + // selectors follow + tagName: /^\s*(\*|[\w\-]+)(\b|$)?/, + id: /^#([\w\-\*]+)(\b|$)/, + className: /^\.([\w\-\*]+)(\b|$)/, + pseudo: /^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis)abled|not)(\((.*?)\))?(\b|$|(?=\s)|(?=:))/, + attrPresence: /^\[([\w]+)\]/, + attr: /\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=)\s*((['"])([^\4]*?)\4|([^'"][^\]]*?)))?\]/ + }, + + // for Selector.match and Element#match + assertions: { + tagName: function(element, matches) { + return matches[1].toUpperCase() == element.tagName.toUpperCase(); + }, + + className: function(element, matches) { + return Element.hasClassName(element, matches[1]); + }, + + id: function(element, matches) { + return element.id === matches[1]; + }, + + attrPresence: function(element, matches) { + return Element.hasAttribute(element, matches[1]); + }, + + attr: function(element, matches) { + var nodeValue = Element.readAttribute(element, matches[1]); + return Selector.operators[matches[2]](nodeValue, matches[3]); + } + }, + + handlers: { + // UTILITY FUNCTIONS + // joins two collections + concat: function(a, b) { + for (var i = 0, node; node = b[i]; i++) + a.push(node); + return a; + }, + + // marks an array of nodes for counting + mark: function(nodes) { + for (var i = 0, node; node = nodes[i]; i++) + node._counted = true; + return nodes; + }, + + unmark: function(nodes) { + for (var i = 0, node; node = nodes[i]; i++) + node._counted = undefined; + return nodes; + }, + + // mark each child node with its position (for nth calls) + // "ofType" flag indicates whether we're indexing for nth-of-type + // rather than nth-child + index: function(parentNode, reverse, ofType) { + parentNode._counted = true; + if (reverse) { + for (var nodes = parentNode.childNodes, i = nodes.length - 1, j = 1; i >= 0; i--) { + var node = nodes[i]; + if (node.nodeType == 1 && (!ofType || node._counted)) node.nodeIndex = j++; + } + } else { + for (var i = 0, j = 1, nodes = parentNode.childNodes; node = nodes[i]; i++) + if (node.nodeType == 1 && (!ofType || node._counted)) node.nodeIndex = j++; + } + }, + + // filters out duplicates and extends all nodes + unique: function(nodes) { + if (nodes.length == 0) return nodes; + var results = [], n; + for (var i = 0, l = nodes.length; i < l; i++) + if (!(n = nodes[i])._counted) { + n._counted = true; + results.push(Element.extend(n)); + } + return Selector.handlers.unmark(results); + }, + + // COMBINATOR FUNCTIONS + descendant: function(nodes) { + var h = Selector.handlers; + for (var i = 0, results = [], node; node = nodes[i]; i++) + h.concat(results, node.getElementsByTagName('*')); + return results; + }, + + child: function(nodes) { + var h = Selector.handlers; + for (var i = 0, results = [], node; node = nodes[i]; i++) { + for (var j = 0, children = [], child; child = node.childNodes[j]; j++) + if (child.nodeType == 1 && child.tagName != '!') results.push(child); + } + return results; + }, + + adjacent: function(nodes) { + for (var i = 0, results = [], node; node = nodes[i]; i++) { + var next = this.nextElementSibling(node); + if (next) results.push(next); + } + return results; + }, + + laterSibling: function(nodes) { + var h = Selector.handlers; + for (var i = 0, results = [], node; node = nodes[i]; i++) + h.concat(results, Element.nextSiblings(node)); + return results; + }, + + nextElementSibling: function(node) { + while (node = node.nextSibling) + if (node.nodeType == 1) return node; + return null; + }, + + previousElementSibling: function(node) { + while (node = node.previousSibling) + if (node.nodeType == 1) return node; + return null; + }, + + // TOKEN FUNCTIONS + tagName: function(nodes, root, tagName, combinator) { + tagName = tagName.toUpperCase(); + var results = [], h = Selector.handlers; + if (nodes) { + if (combinator) { + // fastlane for ordinary descendant combinators + if (combinator == "descendant") { + for (var i = 0, node; node = nodes[i]; i++) + h.concat(results, node.getElementsByTagName(tagName)); + return results; + } else nodes = this[combinator](nodes); + if (tagName == "*") return nodes; + } + for (var i = 0, node; node = nodes[i]; i++) + if (node.tagName.toUpperCase() == tagName) results.push(node); + return results; + } else return root.getElementsByTagName(tagName); + }, + + id: function(nodes, root, id, combinator) { + var targetNode = $(id), h = Selector.handlers; + if (!targetNode) return []; + if (!nodes && root == document) return [targetNode]; + if (nodes) { + if (combinator) { + if (combinator == 'child') { + for (var i = 0, node; node = nodes[i]; i++) + if (targetNode.parentNode == node) return [targetNode]; + } else if (combinator == 'descendant') { + for (var i = 0, node; node = nodes[i]; i++) + if (Element.descendantOf(targetNode, node)) return [targetNode]; + } else if (combinator == 'adjacent') { + for (var i = 0, node; node = nodes[i]; i++) + if (Selector.handlers.previousElementSibling(targetNode) == node) + return [targetNode]; + } else nodes = h[combinator](nodes); + } + for (var i = 0, node; node = nodes[i]; i++) + if (node == targetNode) return [targetNode]; + return []; + } + return (targetNode && Element.descendantOf(targetNode, root)) ? [targetNode] : []; + }, + + className: function(nodes, root, className, combinator) { + if (nodes && combinator) nodes = this[combinator](nodes); + return Selector.handlers.byClassName(nodes, root, className); + }, + + byClassName: function(nodes, root, className) { + if (!nodes) nodes = Selector.handlers.descendant([root]); + var needle = ' ' + className + ' '; + for (var i = 0, results = [], node, nodeClassName; node = nodes[i]; i++) { + nodeClassName = node.className; + if (nodeClassName.length == 0) continue; + if (nodeClassName == className || (' ' + nodeClassName + ' ').include(needle)) + results.push(node); + } + return results; + }, + + attrPresence: function(nodes, root, attr) { + if (!nodes) nodes = root.getElementsByTagName("*"); + var results = []; + for (var i = 0, node; node = nodes[i]; i++) + if (Element.hasAttribute(node, attr)) results.push(node); + return results; + }, + + attr: function(nodes, root, attr, value, operator) { + if (!nodes) nodes = root.getElementsByTagName("*"); + var handler = Selector.operators[operator], results = []; + for (var i = 0, node; node = nodes[i]; i++) { + var nodeValue = Element.readAttribute(node, attr); + if (nodeValue === null) continue; + if (handler(nodeValue, value)) results.push(node); + } + return results; + }, + + pseudo: function(nodes, name, value, root, combinator) { + if (nodes && combinator) nodes = this[combinator](nodes); + if (!nodes) nodes = root.getElementsByTagName("*"); + return Selector.pseudos[name](nodes, value, root); + } + }, + + pseudos: { + 'first-child': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) { + if (Selector.handlers.previousElementSibling(node)) continue; + results.push(node); + } + return results; + }, + 'last-child': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) { + if (Selector.handlers.nextElementSibling(node)) continue; + results.push(node); + } + return results; + }, + 'only-child': function(nodes, value, root) { + var h = Selector.handlers; + for (var i = 0, results = [], node; node = nodes[i]; i++) + if (!h.previousElementSibling(node) && !h.nextElementSibling(node)) + results.push(node); + return results; + }, + 'nth-child': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, formula, root); + }, + 'nth-last-child': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, formula, root, true); + }, + 'nth-of-type': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, formula, root, false, true); + }, + 'nth-last-of-type': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, formula, root, true, true); + }, + 'first-of-type': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, "1", root, false, true); + }, + 'last-of-type': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, "1", root, true, true); + }, + 'only-of-type': function(nodes, formula, root) { + var p = Selector.pseudos; + return p['last-of-type'](p['first-of-type'](nodes, formula, root), formula, root); + }, + + // handles the an+b logic + getIndices: function(a, b, total) { + if (a == 0) return b > 0 ? [b] : []; + return $R(1, total).inject([], function(memo, i) { + if (0 == (i - b) % a && (i - b) / a >= 0) memo.push(i); + return memo; + }); + }, + + // handles nth(-last)-child, nth(-last)-of-type, and (first|last)-of-type + nth: function(nodes, formula, root, reverse, ofType) { + if (nodes.length == 0) return []; + if (formula == 'even') formula = '2n+0'; + if (formula == 'odd') formula = '2n+1'; + var h = Selector.handlers, results = [], indexed = [], m; + h.mark(nodes); + for (var i = 0, node; node = nodes[i]; i++) { + if (!node.parentNode._counted) { + h.index(node.parentNode, reverse, ofType); + indexed.push(node.parentNode); + } + } + if (formula.match(/^\d+$/)) { // just a number + formula = Number(formula); + for (var i = 0, node; node = nodes[i]; i++) + if (node.nodeIndex == formula) results.push(node); + } else if (m = formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b + if (m[1] == "-") m[1] = -1; + var a = m[1] ? Number(m[1]) : 1; + var b = m[2] ? Number(m[2]) : 0; + var indices = Selector.pseudos.getIndices(a, b, nodes.length); + for (var i = 0, node, l = indices.length; node = nodes[i]; i++) { + for (var j = 0; j < l; j++) + if (node.nodeIndex == indices[j]) results.push(node); + } + } + h.unmark(nodes); + h.unmark(indexed); + return results; + }, + + 'empty': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) { + // IE treats comments as element nodes + if (node.tagName == '!' || (node.firstChild && !node.innerHTML.match(/^\s*$/))) continue; + results.push(node); + } + return results; + }, + + 'not': function(nodes, selector, root) { + var h = Selector.handlers, selectorType, m; + var exclusions = new Selector(selector).findElements(root); + h.mark(exclusions); + for (var i = 0, results = [], node; node = nodes[i]; i++) + if (!node._counted) results.push(node); + h.unmark(exclusions); + return results; + }, + + 'enabled': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) + if (!node.disabled) results.push(node); + return results; + }, + + 'disabled': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) + if (node.disabled) results.push(node); + return results; + }, + + 'checked': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) + if (node.checked) results.push(node); + return results; + } + }, + + operators: { + '=': function(nv, v) { return nv == v; }, + '!=': function(nv, v) { return nv != v; }, + '^=': function(nv, v) { return nv.startsWith(v); }, + '$=': function(nv, v) { return nv.endsWith(v); }, + '*=': function(nv, v) { return nv.include(v); }, + '~=': function(nv, v) { return (' ' + nv + ' ').include(' ' + v + ' '); }, + '|=': function(nv, v) { return ('-' + nv.toUpperCase() + '-').include('-' + v.toUpperCase() + '-'); } + }, + + matchElements: function(elements, expression) { + var matches = new Selector(expression).findElements(), h = Selector.handlers; + h.mark(matches); + for (var i = 0, results = [], element; element = elements[i]; i++) + if (element._counted) results.push(element); + h.unmark(matches); + return results; + }, + + findElement: function(elements, expression, index) { + if (Object.isNumber(expression)) { + index = expression; expression = false; + } + return Selector.matchElements(elements, expression || '*')[index || 0]; + }, + + findChildElements: function(element, expressions) { + var exprs = expressions.join(','), expressions = []; + exprs.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/, function(m) { + expressions.push(m[1].strip()); + }); + var results = [], h = Selector.handlers; + for (var i = 0, l = expressions.length, selector; i < l; i++) { + selector = new Selector(expressions[i].strip()); + h.concat(results, selector.findElements(element)); + } + return (l > 1) ? h.unique(results) : results; + } +}); + +function $$() { + return Selector.findChildElements(document, $A(arguments)); +} +var Form = { + reset: function(form) { + $(form).reset(); + return form; + }, + + serializeElements: function(elements, options) { + if (typeof options != 'object') options = { hash: !!options }; + else if (options.hash === undefined) options.hash = true; + var key, value, submitted = false, submit = options.submit; + + var data = elements.inject({ }, function(result, element) { + if (!element.disabled && element.name) { + key = element.name; value = $(element).getValue(); + if (value != null && (element.type != 'submit' || (!submitted && + submit !== false && (!submit || key == submit) && (submitted = true)))) { + if (key in result) { + // a key is already present; construct an array of values + if (!Object.isArray(result[key])) result[key] = [result[key]]; + result[key].push(value); + } + else result[key] = value; + } + } + return result; + }); + + return options.hash ? data : Object.toQueryString(data); + } +}; + +Form.Methods = { + serialize: function(form, options) { + return Form.serializeElements(Form.getElements(form), options); + }, + + getElements: function(form) { + return $A($(form).getElementsByTagName('*')).inject([], + function(elements, child) { + if (Form.Element.Serializers[child.tagName.toLowerCase()]) + elements.push(Element.extend(child)); + return elements; + } + ); + }, + + getInputs: function(form, typeName, name) { + form = $(form); + var inputs = form.getElementsByTagName('input'); + + if (!typeName && !name) return $A(inputs).map(Element.extend); + + for (var i = 0, matchingInputs = [], length = inputs.length; i < length; i++) { + var input = inputs[i]; + if ((typeName && input.type != typeName) || (name && input.name != name)) + continue; + matchingInputs.push(Element.extend(input)); + } + + return matchingInputs; + }, + + disable: function(form) { + form = $(form); + Form.getElements(form).invoke('disable'); + return form; + }, + + enable: function(form) { + form = $(form); + Form.getElements(form).invoke('enable'); + return form; + }, + + findFirstElement: function(form) { + var elements = $(form).getElements().findAll(function(element) { + return 'hidden' != element.type && !element.disabled; + }); + var firstByIndex = elements.findAll(function(element) { + return element.hasAttribute('tabIndex') && element.tabIndex >= 0; + }).sortBy(function(element) { return element.tabIndex }).first(); + + return firstByIndex ? firstByIndex : elements.find(function(element) { + return ['input', 'select', 'textarea'].include(element.tagName.toLowerCase()); + }); + }, + + focusFirstElement: function(form) { + form = $(form); + form.findFirstElement().activate(); + return form; + }, + + request: function(form, options) { + form = $(form), options = Object.clone(options || { }); + + var params = options.parameters, action = form.readAttribute('action') || ''; + if (action.blank()) action = window.location.href; + options.parameters = form.serialize(true); + + if (params) { + if (Object.isString(params)) params = params.toQueryParams(); + Object.extend(options.parameters, params); + } + + if (form.hasAttribute('method') && !options.method) + options.method = form.method; + + return new Ajax.Request(action, options); + } +}; + +/*--------------------------------------------------------------------------*/ + +Form.Element = { + focus: function(element) { + $(element).focus(); + return element; + }, + + select: function(element) { + $(element).select(); + return element; + } +}; + +Form.Element.Methods = { + serialize: function(element) { + element = $(element); + if (!element.disabled && element.name) { + var value = element.getValue(); + if (value != undefined) { + var pair = { }; + pair[element.name] = value; + return Object.toQueryString(pair); + } + } + return ''; + }, + + getValue: function(element) { + element = $(element); + var method = element.tagName.toLowerCase(); + return Form.Element.Serializers[method](element); + }, + + setValue: function(element, value) { + element = $(element); + var method = element.tagName.toLowerCase(); + Form.Element.Serializers[method](element, value); + return element; + }, + + clear: function(element) { + $(element).value = ''; + return element; + }, + + present: function(element) { + return $(element).value != ''; + }, + + activate: function(element) { + element = $(element); + try { + element.focus(); + if (element.select && (element.tagName.toLowerCase() != 'input' || + !['button', 'reset', 'submit'].include(element.type))) + element.select(); + } catch (e) { } + return element; + }, + + disable: function(element) { + element = $(element); + element.blur(); + element.disabled = true; + return element; + }, + + enable: function(element) { + element = $(element); + element.disabled = false; + return element; + } +}; + +/*--------------------------------------------------------------------------*/ + +var Field = Form.Element; +var $F = Form.Element.Methods.getValue; + +/*--------------------------------------------------------------------------*/ + +Form.Element.Serializers = { + input: function(element, value) { + switch (element.type.toLowerCase()) { + case 'checkbox': + case 'radio': + return Form.Element.Serializers.inputSelector(element, value); + default: + return Form.Element.Serializers.textarea(element, value); + } + }, + + inputSelector: function(element, value) { + if (value === undefined) return element.checked ? element.value : null; + else element.checked = !!value; + }, + + textarea: function(element, value) { + if (value === undefined) return element.value; + else element.value = value; + }, + + select: function(element, index) { + if (index === undefined) + return this[element.type == 'select-one' ? + 'selectOne' : 'selectMany'](element); + else { + var opt, value, single = !Object.isArray(index); + for (var i = 0, length = element.length; i < length; i++) { + opt = element.options[i]; + value = this.optionValue(opt); + if (single) { + if (value == index) { + opt.selected = true; + return; + } + } + else opt.selected = index.include(value); + } + } + }, + + selectOne: function(element) { + var index = element.selectedIndex; + return index >= 0 ? this.optionValue(element.options[index]) : null; + }, + + selectMany: function(element) { + var values, length = element.length; + if (!length) return null; + + for (var i = 0, values = []; i < length; i++) { + var opt = element.options[i]; + if (opt.selected) values.push(this.optionValue(opt)); + } + return values; + }, + + optionValue: function(opt) { + // extend element because hasAttribute may not be native + return Element.extend(opt).hasAttribute('value') ? opt.value : opt.text; + } +}; + +/*--------------------------------------------------------------------------*/ + +Abstract.TimedObserver = Class.create(PeriodicalExecuter, { + initialize: function($super, element, frequency, callback) { + $super(callback, frequency); + this.element = $(element); + this.lastValue = this.getValue(); + }, + + execute: function() { + var value = this.getValue(); + if (Object.isString(this.lastValue) && Object.isString(value) ? + this.lastValue != value : String(this.lastValue) != String(value)) { + this.callback(this.element, value); + this.lastValue = value; + } + } +}); + +Form.Element.Observer = Class.create(Abstract.TimedObserver, { + getValue: function() { + return Form.Element.getValue(this.element); + } +}); + +Form.Observer = Class.create(Abstract.TimedObserver, { + getValue: function() { + return Form.serialize(this.element); + } +}); + +/*--------------------------------------------------------------------------*/ + +Abstract.EventObserver = Class.create({ + initialize: function(element, callback) { + this.element = $(element); + this.callback = callback; + + this.lastValue = this.getValue(); + if (this.element.tagName.toLowerCase() == 'form') + this.registerFormCallbacks(); + else + this.registerCallback(this.element); + }, + + onElementEvent: function() { + var value = this.getValue(); + if (this.lastValue != value) { + this.callback(this.element, value); + this.lastValue = value; + } + }, + + registerFormCallbacks: function() { + Form.getElements(this.element).each(this.registerCallback, this); + }, + + registerCallback: function(element) { + if (element.type) { + switch (element.type.toLowerCase()) { + case 'checkbox': + case 'radio': + Event.observe(element, 'click', this.onElementEvent.bind(this)); + break; + default: + Event.observe(element, 'change', this.onElementEvent.bind(this)); + break; + } + } + } +}); + +Form.Element.EventObserver = Class.create(Abstract.EventObserver, { + getValue: function() { + return Form.Element.getValue(this.element); + } +}); + +Form.EventObserver = Class.create(Abstract.EventObserver, { + getValue: function() { + return Form.serialize(this.element); + } +}); +if (!window.Event) var Event = { }; + +Object.extend(Event, { + KEY_BACKSPACE: 8, + KEY_TAB: 9, + KEY_RETURN: 13, + KEY_ESC: 27, + KEY_LEFT: 37, + KEY_UP: 38, + KEY_RIGHT: 39, + KEY_DOWN: 40, + KEY_DELETE: 46, + KEY_HOME: 36, + KEY_END: 35, + KEY_PAGEUP: 33, + KEY_PAGEDOWN: 34, + KEY_INSERT: 45, + + cache: { }, + + relatedTarget: function(event) { + var element; + switch(event.type) { + case 'mouseover': element = event.fromElement; break; + case 'mouseout': element = event.toElement; break; + default: return null; + } + return Element.extend(element); + } +}); + +Event.Methods = (function() { + var isButton; + + if (Prototype.Browser.IE) { + var buttonMap = { 0: 1, 1: 4, 2: 2 }; + isButton = function(event, code) { + return event.button == buttonMap[code]; + }; + + } else if (Prototype.Browser.WebKit) { + isButton = function(event, code) { + switch (code) { + case 0: return event.which == 1 && !event.metaKey; + case 1: return event.which == 1 && event.metaKey; + default: return false; + } + }; + + } else { + isButton = function(event, code) { + return event.which ? (event.which === code + 1) : (event.button === code); + }; + } + + return { + isLeftClick: function(event) { return isButton(event, 0) }, + isMiddleClick: function(event) { return isButton(event, 1) }, + isRightClick: function(event) { return isButton(event, 2) }, + + element: function(event) { + var node = Event.extend(event).target; + return Element.extend(node.nodeType == Node.TEXT_NODE ? node.parentNode : node); + }, + + findElement: function(event, expression) { + var element = Event.element(event); + return element.match(expression) ? element : element.up(expression); + }, + + pointer: function(event) { + return { + x: event.pageX || (event.clientX + + (document.documentElement.scrollLeft || document.body.scrollLeft)), + y: event.pageY || (event.clientY + + (document.documentElement.scrollTop || document.body.scrollTop)) + }; + }, + + pointerX: function(event) { return Event.pointer(event).x }, + pointerY: function(event) { return Event.pointer(event).y }, + + stop: function(event) { + Event.extend(event); + event.preventDefault(); + event.stopPropagation(); + event.stopped = true; + } + }; +})(); + +Event.extend = (function() { + var methods = Object.keys(Event.Methods).inject({ }, function(m, name) { + m[name] = Event.Methods[name].methodize(); + return m; + }); + + if (Prototype.Browser.IE) { + Object.extend(methods, { + stopPropagation: function() { this.cancelBubble = true }, + preventDefault: function() { this.returnValue = false }, + inspect: function() { return "[object Event]" } + }); + + return function(event) { + if (!event) return false; + if (event._extendedByPrototype) return event; + + event._extendedByPrototype = Prototype.emptyFunction; + var pointer = Event.pointer(event); + Object.extend(event, { + target: event.srcElement, + relatedTarget: Event.relatedTarget(event), + pageX: pointer.x, + pageY: pointer.y + }); + return Object.extend(event, methods); + }; + + } else { + Event.prototype = Event.prototype || document.createEvent("HTMLEvents").__proto__; + Object.extend(Event.prototype, methods); + return Prototype.K; + } +})(); + +Object.extend(Event, (function() { + var cache = Event.cache; + + function getEventID(element) { + if (element._eventID) return element._eventID; + arguments.callee.id = arguments.callee.id || 1; + return element._eventID = ++arguments.callee.id; + } + + function getDOMEventName(eventName) { + if (eventName && eventName.include(':')) return "dataavailable"; + return eventName; + } + + function getCacheForID(id) { + return cache[id] = cache[id] || { }; + } + + function getWrappersForEventName(id, eventName) { + var c = getCacheForID(id); + return c[eventName] = c[eventName] || []; + } + + function createWrapper(element, eventName, handler) { + var id = getEventID(element); + var c = getWrappersForEventName(id, eventName); + if (c.pluck("handler").include(handler)) return false; + + var wrapper = function(event) { + if (!Event || !Event.extend || + (event.eventName && event.eventName != eventName)) + return false; + + Event.extend(event); + handler.call(element, event) + }; + + wrapper.handler = handler; + c.push(wrapper); + return wrapper; + } + + function findWrapper(id, eventName, handler) { + var c = getWrappersForEventName(id, eventName); + return c.find(function(wrapper) { return wrapper.handler == handler }); + } + + function destroyWrapper(id, eventName, handler) { + var c = getCacheForID(id); + if (!c[eventName]) return false; + c[eventName] = c[eventName].without(findWrapper(id, eventName, handler)); + } + + function destroyCache() { + for (var id in cache) + for (var eventName in cache[id]) + cache[id][eventName] = null; + } + + if (window.attachEvent) { + window.attachEvent("onunload", destroyCache); + } + + return { + observe: function(element, eventName, handler) { + element = $(element); + var name = getDOMEventName(eventName); + + var wrapper = createWrapper(element, eventName, handler); + if (!wrapper) return element; + + if (element.addEventListener) { + element.addEventListener(name, wrapper, false); + } else { + element.attachEvent("on" + name, wrapper); + } + + return element; + }, + + stopObserving: function(element, eventName, handler) { + element = $(element); + var id = getEventID(element), name = getDOMEventName(eventName); + + if (!handler && eventName) { + getWrappersForEventName(id, eventName).each(function(wrapper) { + element.stopObserving(eventName, wrapper.handler); + }); + return element; + + } else if (!eventName) { + Object.keys(getCacheForID(id)).each(function(eventName) { + element.stopObserving(eventName); + }); + return element; + } + + var wrapper = findWrapper(id, eventName, handler); + if (!wrapper) return element; + + if (element.removeEventListener) { + element.removeEventListener(name, wrapper, false); + } else { + element.detachEvent("on" + name, wrapper); + } + + destroyWrapper(id, eventName, handler); + + return element; + }, + + fire: function(element, eventName, memo) { + element = $(element); + if (element == document && document.createEvent && !element.dispatchEvent) + element = document.documentElement; + + if (document.createEvent) { + var event = document.createEvent("HTMLEvents"); + event.initEvent("dataavailable", true, true); + } else { + var event = document.createEventObject(); + event.eventType = "ondataavailable"; + } + + event.eventName = eventName; + event.memo = memo || { }; + + if (document.createEvent) { + element.dispatchEvent(event); + } else { + element.fireEvent(event.eventType, event); + } + + return event; + } + }; +})()); + +Object.extend(Event, Event.Methods); + +Element.addMethods({ + fire: Event.fire, + observe: Event.observe, + stopObserving: Event.stopObserving +}); + +Object.extend(document, { + fire: Element.Methods.fire.methodize(), + observe: Element.Methods.observe.methodize(), + stopObserving: Element.Methods.stopObserving.methodize() +}); + +(function() { + /* Support for the DOMContentLoaded event is based on work by Dan Webb, + Matthias Miller, Dean Edwards and John Resig. */ + + var timer, fired = false; + + function fireContentLoadedEvent() { + if (fired) return; + if (timer) window.clearInterval(timer); + document.fire("dom:loaded"); + fired = true; + } + + if (document.addEventListener) { + if (Prototype.Browser.WebKit) { + timer = window.setInterval(function() { + if (/loaded|complete/.test(document.readyState)) + fireContentLoadedEvent(); + }, 0); + + Event.observe(window, "load", fireContentLoadedEvent); + + } else { + document.addEventListener("DOMContentLoaded", + fireContentLoadedEvent, false); + } + + } else { + document.write("