kinetic_sdk 5.0.19 → 5.0.20
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -0
- data/README.md +1 -1
- data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/Code-of-Conduct.md +10 -10
- data/gems/mime-types-3.4.1/Contributing.md +132 -0
- data/gems/mime-types-3.4.1/History.md +269 -0
- data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/Licence.md +3 -3
- data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/Manifest.txt +0 -0
- data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/README.rdoc +1 -0
- data/gems/mime-types-3.4.1/Rakefile +270 -0
- data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/lib/mime/type/columnar.rb +3 -3
- data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/lib/mime/type.rb +141 -94
- data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/lib/mime/types/_columnar.rb +20 -19
- data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/lib/mime/types/cache.rb +8 -8
- data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/lib/mime/types/columnar.rb +1 -1
- data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/lib/mime/types/container.rb +14 -14
- data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/lib/mime/types/deprecations.rb +15 -11
- data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/lib/mime/types/full.rb +2 -2
- data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/lib/mime/types/loader.rb +28 -15
- data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/lib/mime/types/logger.rb +3 -5
- data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/lib/mime/types/registry.rb +7 -7
- data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/lib/mime/types.rb +18 -16
- data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/lib/mime-types.rb +1 -1
- data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/test/bad-fixtures/malformed +0 -0
- data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/test/fixture/json.json +0 -0
- data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/test/fixture/old-data +0 -0
- data/gems/{mime-types-3.3.1 → mime-types-3.4.1}/test/fixture/yaml.yaml +0 -0
- data/gems/mime-types-3.4.1/test/minitest_helper.rb +11 -0
- data/gems/mime-types-3.4.1/test/test_mime_type.rb +621 -0
- data/gems/mime-types-3.4.1/test/test_mime_types.rb +169 -0
- data/gems/mime-types-3.4.1/test/test_mime_types_cache.rb +118 -0
- data/gems/mime-types-3.4.1/test/test_mime_types_class.rb +159 -0
- data/gems/mime-types-3.4.1/test/test_mime_types_lazy.rb +49 -0
- data/gems/mime-types-3.4.1/test/test_mime_types_loader.rb +32 -0
- data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/Code-of-Conduct.md +12 -12
- data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/Contributing.md +37 -20
- data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/History.md +46 -12
- data/gems/{websocket-driver-0.6.5-java/LICENSE.md → mime-types-data-3.2022.0105/Licence.md} +7 -5
- data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/Manifest.txt +3 -0
- data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/README.md +11 -1
- data/gems/mime-types-data-3.2022.0105/Rakefile +155 -0
- data/gems/mime-types-data-3.2022.0105/data/content_type_mime.db +878 -0
- data/gems/mime-types-data-3.2022.0105/data/ext_mime.db +1198 -0
- data/gems/mime-types-data-3.2022.0105/data/mime-types.json +1 -0
- data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/data/mime.content_type.column +69 -1
- data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/data/mime.docs.column +68 -0
- data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/data/mime.encoding.column +68 -0
- data/gems/mime-types-data-3.2022.0105/data/mime.flags.column +2383 -0
- data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/data/mime.friendly.column +68 -0
- data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/data/mime.pext.column +68 -0
- data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/data/mime.use_instead.column +71 -3
- data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/data/mime.xrefs.column +98 -30
- data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/lib/mime/types/data.rb +2 -2
- data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/lib/mime-types-data.rb +1 -1
- data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/types/application.yaml +390 -24
- data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/types/audio.yaml +2 -0
- data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/types/chemical.yaml +0 -0
- data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/types/conference.yaml +0 -0
- data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/types/drawing.yaml +0 -0
- data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/types/font.yaml +0 -0
- data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/types/image.yaml +4 -3
- data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/types/message.yaml +9 -4
- data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/types/model.yaml +59 -0
- data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/types/multipart.yaml +2 -2
- data/gems/mime-types-data-3.2022.0105/types/provisional-standard-types.yaml +145 -0
- data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/types/text.yaml +24 -3
- data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/types/video.yaml +27 -0
- data/gems/{mime-types-data-3.2021.0225 → mime-types-data-3.2022.0105}/types/world.yaml +0 -0
- data/gems/rake-13.0.1/CONTRIBUTING.rdoc +43 -0
- data/gems/rake-13.0.1/Gemfile +10 -0
- data/gems/rake-13.0.1/History.rdoc +2368 -0
- data/gems/{parallel-1.12.1/MIT-LICENSE.txt → rake-13.0.1/MIT-LICENSE} +2 -1
- data/gems/rake-13.0.1/README.rdoc +155 -0
- data/gems/rake-13.0.1/Rakefile +41 -0
- data/gems/rake-13.0.1/bin/bundle +105 -0
- data/gems/rake-13.0.1/bin/console +7 -0
- data/gems/rake-13.0.1/bin/rake +29 -0
- data/gems/rake-13.0.1/bin/rdoc +29 -0
- data/gems/rake-13.0.1/bin/rubocop +29 -0
- data/gems/rake-13.0.1/bin/setup +6 -0
- data/gems/rake-13.0.1/doc/command_line_usage.rdoc +158 -0
- data/gems/rake-13.0.1/doc/example/Rakefile1 +38 -0
- data/gems/rake-13.0.1/doc/example/Rakefile2 +35 -0
- data/gems/rake-13.0.1/doc/example/a.c +6 -0
- data/gems/rake-13.0.1/doc/example/b.c +6 -0
- data/gems/rake-13.0.1/doc/example/main.c +11 -0
- data/gems/rake-13.0.1/doc/glossary.rdoc +42 -0
- data/gems/rake-13.0.1/doc/jamis.rb +592 -0
- data/gems/rake-13.0.1/doc/proto_rake.rdoc +127 -0
- data/gems/rake-13.0.1/doc/rake.1 +156 -0
- data/gems/rake-13.0.1/doc/rakefile.rdoc +622 -0
- data/gems/rake-13.0.1/doc/rational.rdoc +151 -0
- data/gems/rake-13.0.1/exe/rake +27 -0
- data/gems/rake-13.0.1/lib/rake/application.rb +824 -0
- data/gems/rake-13.0.1/lib/rake/backtrace.rb +24 -0
- data/gems/rake-13.0.1/lib/rake/clean.rb +78 -0
- data/gems/rake-13.0.1/lib/rake/cloneable.rb +17 -0
- data/gems/rake-13.0.1/lib/rake/cpu_counter.rb +107 -0
- data/gems/rake-13.0.1/lib/rake/default_loader.rb +15 -0
- data/gems/rake-13.0.1/lib/rake/dsl_definition.rb +195 -0
- data/gems/rake-13.0.1/lib/rake/early_time.rb +22 -0
- data/gems/rake-13.0.1/lib/rake/ext/core.rb +26 -0
- data/gems/rake-13.0.1/lib/rake/ext/string.rb +176 -0
- data/gems/rake-13.0.1/lib/rake/file_creation_task.rb +25 -0
- data/gems/rake-13.0.1/lib/rake/file_list.rb +435 -0
- data/gems/rake-13.0.1/lib/rake/file_task.rb +54 -0
- data/gems/rake-13.0.1/lib/rake/file_utils.rb +134 -0
- data/gems/rake-13.0.1/lib/rake/file_utils_ext.rb +134 -0
- data/gems/rake-13.0.1/lib/rake/invocation_chain.rb +57 -0
- data/gems/rake-13.0.1/lib/rake/invocation_exception_mixin.rb +17 -0
- data/gems/rake-13.0.1/lib/rake/late_time.rb +18 -0
- data/gems/rake-13.0.1/lib/rake/linked_list.rb +112 -0
- data/gems/rake-13.0.1/lib/rake/loaders/makefile.rb +54 -0
- data/gems/rake-13.0.1/lib/rake/multi_task.rb +14 -0
- data/gems/rake-13.0.1/lib/rake/name_space.rb +38 -0
- data/gems/rake-13.0.1/lib/rake/packagetask.rb +222 -0
- data/gems/rake-13.0.1/lib/rake/phony.rb +16 -0
- data/gems/rake-13.0.1/lib/rake/private_reader.rb +21 -0
- data/gems/rake-13.0.1/lib/rake/promise.rb +100 -0
- data/gems/rake-13.0.1/lib/rake/pseudo_status.rb +30 -0
- data/gems/rake-13.0.1/lib/rake/rake_module.rb +67 -0
- data/gems/rake-13.0.1/lib/rake/rake_test_loader.rb +27 -0
- data/gems/rake-13.0.1/lib/rake/rule_recursion_overflow_error.rb +20 -0
- data/gems/rake-13.0.1/lib/rake/scope.rb +43 -0
- data/gems/rake-13.0.1/lib/rake/task.rb +434 -0
- data/gems/rake-13.0.1/lib/rake/task_argument_error.rb +8 -0
- data/gems/rake-13.0.1/lib/rake/task_arguments.rb +109 -0
- data/gems/rake-13.0.1/lib/rake/task_manager.rb +331 -0
- data/gems/rake-13.0.1/lib/rake/tasklib.rb +12 -0
- data/gems/rake-13.0.1/lib/rake/testtask.rb +224 -0
- data/gems/rake-13.0.1/lib/rake/thread_history_display.rb +49 -0
- data/gems/rake-13.0.1/lib/rake/thread_pool.rb +163 -0
- data/gems/rake-13.0.1/lib/rake/trace_output.rb +23 -0
- data/gems/rake-13.0.1/lib/rake/version.rb +10 -0
- data/gems/rake-13.0.1/lib/rake/win32.rb +51 -0
- data/gems/rake-13.0.1/lib/rake.rb +71 -0
- data/gems/rake-13.0.1/rake.gemspec +43 -0
- data/gems/yard-0.9.25/CHANGELOG.md +804 -0
- data/gems/yard-0.9.25/CODE_OF_CONDUCT.md +15 -0
- data/gems/yard-0.9.25/CONTRIBUTING.md +140 -0
- data/gems/yard-0.9.25/Dockerfile.samus +28 -0
- data/gems/yard-0.9.25/Gemfile +32 -0
- data/gems/yard-0.9.25/LEGAL +66 -0
- data/gems/yard-0.9.25/LICENSE +22 -0
- data/gems/yard-0.9.25/README.md +325 -0
- data/gems/yard-0.9.25/Rakefile +39 -0
- data/gems/yard-0.9.25/SECURITY.md +26 -0
- data/gems/yard-0.9.25/benchmarks/builtins_vs_eval.rb +24 -0
- data/gems/yard-0.9.25/benchmarks/concat_vs_join.rb +13 -0
- data/gems/yard-0.9.25/benchmarks/erb_vs_erubis.rb +54 -0
- data/gems/yard-0.9.25/benchmarks/format_args.rb +47 -0
- data/gems/yard-0.9.25/benchmarks/generation.rb +38 -0
- data/gems/yard-0.9.25/benchmarks/marshal_vs_dbm.rb +64 -0
- data/gems/yard-0.9.25/benchmarks/parsing.rb +46 -0
- data/gems/yard-0.9.25/benchmarks/pathname_vs_string.rb +51 -0
- data/gems/yard-0.9.25/benchmarks/rdoc_vs_yardoc.rb +11 -0
- data/gems/yard-0.9.25/benchmarks/registry_store_types.rb +49 -0
- data/gems/yard-0.9.25/benchmarks/ri_vs_yri.rb +19 -0
- data/gems/yard-0.9.25/benchmarks/ripper_parser.rb +13 -0
- data/gems/yard-0.9.25/benchmarks/splat_vs_flatten.rb +13 -0
- data/gems/yard-0.9.25/benchmarks/template_erb.rb +23 -0
- data/gems/yard-0.9.25/benchmarks/template_format.rb +7 -0
- data/gems/yard-0.9.25/benchmarks/template_profile.rb +18 -0
- data/gems/yard-0.9.25/benchmarks/yri_cache.rb +20 -0
- data/gems/yard-0.9.25/bin/yard +13 -0
- data/gems/yard-0.9.25/bin/yardoc +13 -0
- data/gems/yard-0.9.25/bin/yri +13 -0
- data/gems/yard-0.9.25/docs/CodeObjects.md +115 -0
- data/gems/yard-0.9.25/docs/GettingStarted.md +679 -0
- data/gems/yard-0.9.25/docs/Handlers.md +152 -0
- data/gems/yard-0.9.25/docs/Overview.md +61 -0
- data/gems/yard-0.9.25/docs/Parser.md +191 -0
- data/gems/yard-0.9.25/docs/Tags.md +283 -0
- data/gems/yard-0.9.25/docs/TagsArch.md +123 -0
- data/gems/yard-0.9.25/docs/Templates.md +496 -0
- data/gems/yard-0.9.25/docs/WhatsNew.md +1245 -0
- data/gems/yard-0.9.25/docs/images/code-objects-class-diagram.png +0 -0
- data/gems/yard-0.9.25/docs/images/handlers-class-diagram.png +0 -0
- data/gems/yard-0.9.25/docs/images/overview-class-diagram.png +0 -0
- data/gems/yard-0.9.25/docs/images/parser-class-diagram.png +0 -0
- data/gems/yard-0.9.25/docs/images/tags-class-diagram.png +0 -0
- data/gems/yard-0.9.25/docs/templates/default/fulldoc/html/full_list_tag.erb +9 -0
- data/gems/yard-0.9.25/docs/templates/default/fulldoc/html/setup.rb +6 -0
- data/gems/yard-0.9.25/docs/templates/default/layout/html/setup.rb +9 -0
- data/gems/yard-0.9.25/docs/templates/default/layout/html/tag_list.erb +11 -0
- data/gems/yard-0.9.25/docs/templates/default/yard_tags/html/list.erb +18 -0
- data/gems/yard-0.9.25/docs/templates/default/yard_tags/html/setup.rb +26 -0
- data/gems/yard-0.9.25/docs/templates/plugin.rb +70 -0
- data/gems/yard-0.9.25/lib/rubygems_plugin.rb +9 -0
- data/gems/yard-0.9.25/lib/yard/autoload.rb +308 -0
- data/gems/yard-0.9.25/lib/yard/cli/command.rb +85 -0
- data/gems/yard-0.9.25/lib/yard/cli/command_parser.rb +93 -0
- data/gems/yard-0.9.25/lib/yard/cli/config.rb +198 -0
- data/gems/yard-0.9.25/lib/yard/cli/diff.rb +273 -0
- data/gems/yard-0.9.25/lib/yard/cli/display.rb +69 -0
- data/gems/yard-0.9.25/lib/yard/cli/gems.rb +84 -0
- data/gems/yard-0.9.25/lib/yard/cli/graph.rb +125 -0
- data/gems/yard-0.9.25/lib/yard/cli/help.rb +20 -0
- data/gems/yard-0.9.25/lib/yard/cli/i18n.rb +70 -0
- data/gems/yard-0.9.25/lib/yard/cli/list.rb +23 -0
- data/gems/yard-0.9.25/lib/yard/cli/markup_types.rb +32 -0
- data/gems/yard-0.9.25/lib/yard/cli/server.rb +266 -0
- data/gems/yard-0.9.25/lib/yard/cli/stats.rb +231 -0
- data/gems/yard-0.9.25/lib/yard/cli/yardoc.rb +789 -0
- data/gems/yard-0.9.25/lib/yard/cli/yardopts_command.rb +110 -0
- data/gems/yard-0.9.25/lib/yard/cli/yri.rb +215 -0
- data/gems/yard-0.9.25/lib/yard/code_objects/base.rb +622 -0
- data/gems/yard-0.9.25/lib/yard/code_objects/class_object.rb +146 -0
- data/gems/yard-0.9.25/lib/yard/code_objects/class_variable_object.rb +11 -0
- data/gems/yard-0.9.25/lib/yard/code_objects/constant_object.rb +16 -0
- data/gems/yard-0.9.25/lib/yard/code_objects/extended_method_object.rb +24 -0
- data/gems/yard-0.9.25/lib/yard/code_objects/extra_file_object.rb +134 -0
- data/gems/yard-0.9.25/lib/yard/code_objects/macro_object.rb +172 -0
- data/gems/yard-0.9.25/lib/yard/code_objects/method_object.rb +196 -0
- data/gems/yard-0.9.25/lib/yard/code_objects/module_object.rb +21 -0
- data/gems/yard-0.9.25/lib/yard/code_objects/namespace_mapper.rb +141 -0
- data/gems/yard-0.9.25/lib/yard/code_objects/namespace_object.rb +200 -0
- data/gems/yard-0.9.25/lib/yard/code_objects/proxy.rb +245 -0
- data/gems/yard-0.9.25/lib/yard/code_objects/root_object.rb +19 -0
- data/gems/yard-0.9.25/lib/yard/config.rb +270 -0
- data/gems/yard-0.9.25/lib/yard/core_ext/array.rb +16 -0
- data/gems/yard-0.9.25/lib/yard/core_ext/file.rb +69 -0
- data/gems/yard-0.9.25/lib/yard/core_ext/hash.rb +16 -0
- data/gems/yard-0.9.25/lib/yard/core_ext/insertion.rb +63 -0
- data/gems/yard-0.9.25/lib/yard/core_ext/module.rb +11 -0
- data/gems/yard-0.9.25/lib/yard/core_ext/string.rb +68 -0
- data/gems/yard-0.9.25/lib/yard/core_ext/symbol_hash.rb +75 -0
- data/gems/yard-0.9.25/lib/yard/docstring.rb +386 -0
- data/gems/yard-0.9.25/lib/yard/docstring_parser.rb +345 -0
- data/gems/yard-0.9.25/lib/yard/gem_index.rb +29 -0
- data/gems/yard-0.9.25/lib/yard/globals.rb +22 -0
- data/gems/yard-0.9.25/lib/yard/handlers/base.rb +595 -0
- data/gems/yard-0.9.25/lib/yard/handlers/c/alias_handler.rb +16 -0
- data/gems/yard-0.9.25/lib/yard/handlers/c/attribute_handler.rb +13 -0
- data/gems/yard-0.9.25/lib/yard/handlers/c/base.rb +164 -0
- data/gems/yard-0.9.25/lib/yard/handlers/c/class_handler.rb +27 -0
- data/gems/yard-0.9.25/lib/yard/handlers/c/constant_handler.rb +13 -0
- data/gems/yard-0.9.25/lib/yard/handlers/c/handler_methods.rb +212 -0
- data/gems/yard-0.9.25/lib/yard/handlers/c/init_handler.rb +20 -0
- data/gems/yard-0.9.25/lib/yard/handlers/c/method_handler.rb +45 -0
- data/gems/yard-0.9.25/lib/yard/handlers/c/mixin_handler.rb +21 -0
- data/gems/yard-0.9.25/lib/yard/handlers/c/module_handler.rb +17 -0
- data/gems/yard-0.9.25/lib/yard/handlers/c/override_comment_handler.rb +31 -0
- data/gems/yard-0.9.25/lib/yard/handlers/c/path_handler.rb +11 -0
- data/gems/yard-0.9.25/lib/yard/handlers/c/struct_handler.rb +13 -0
- data/gems/yard-0.9.25/lib/yard/handlers/c/symbol_handler.rb +8 -0
- data/gems/yard-0.9.25/lib/yard/handlers/common/method_handler.rb +19 -0
- data/gems/yard-0.9.25/lib/yard/handlers/processor.rb +200 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/alias_handler.rb +45 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/attribute_handler.rb +87 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/base.rb +165 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/class_condition_handler.rb +92 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/class_handler.rb +119 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/class_variable_handler.rb +17 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/comment_handler.rb +10 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/constant_handler.rb +55 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/decorator_handler_methods.rb +123 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/dsl_handler.rb +15 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/dsl_handler_methods.rb +96 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/exception_handler.rb +27 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/extend_handler.rb +22 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/alias_handler.rb +37 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/attribute_handler.rb +65 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/base.rb +245 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/class_condition_handler.rb +83 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/class_handler.rb +113 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/class_variable_handler.rb +15 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/comment_handler.rb +10 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/constant_handler.rb +29 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/dsl_handler.rb +17 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/exception_handler.rb +13 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/extend_handler.rb +21 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/method_handler.rb +90 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/mixin_handler.rb +39 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/module_function_handler.rb +19 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/module_handler.rb +12 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/private_class_method_handler.rb +22 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/private_constant_handler.rb +22 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/visibility_handler.rb +17 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/yield_handler.rb +29 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/method_condition_handler.rb +9 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/method_handler.rb +104 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/mixin_handler.rb +49 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/module_function_handler.rb +27 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/module_handler.rb +12 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/private_class_method_handler.rb +14 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/private_constant_handler.rb +43 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/public_class_method_handler.rb +14 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/struct_handler_methods.rb +143 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/visibility_handler.rb +22 -0
- data/gems/yard-0.9.25/lib/yard/handlers/ruby/yield_handler.rb +31 -0
- data/gems/yard-0.9.25/lib/yard/i18n/locale.rb +67 -0
- data/gems/yard-0.9.25/lib/yard/i18n/message.rb +57 -0
- data/gems/yard-0.9.25/lib/yard/i18n/messages.rb +56 -0
- data/gems/yard-0.9.25/lib/yard/i18n/po_parser.rb +61 -0
- data/gems/yard-0.9.25/lib/yard/i18n/pot_generator.rb +290 -0
- data/gems/yard-0.9.25/lib/yard/i18n/text.rb +173 -0
- data/gems/yard-0.9.25/lib/yard/logging.rb +205 -0
- data/gems/yard-0.9.25/lib/yard/options.rb +217 -0
- data/gems/yard-0.9.25/lib/yard/parser/base.rb +57 -0
- data/gems/yard-0.9.25/lib/yard/parser/c/c_parser.rb +235 -0
- data/gems/yard-0.9.25/lib/yard/parser/c/comment_parser.rb +134 -0
- data/gems/yard-0.9.25/lib/yard/parser/c/statement.rb +66 -0
- data/gems/yard-0.9.25/lib/yard/parser/ruby/ast_node.rb +551 -0
- data/gems/yard-0.9.25/lib/yard/parser/ruby/legacy/irb/slex.rb +276 -0
- data/gems/yard-0.9.25/lib/yard/parser/ruby/legacy/ruby_lex.rb +1345 -0
- data/gems/yard-0.9.25/lib/yard/parser/ruby/legacy/ruby_parser.rb +32 -0
- data/gems/yard-0.9.25/lib/yard/parser/ruby/legacy/statement.rb +68 -0
- data/gems/yard-0.9.25/lib/yard/parser/ruby/legacy/statement_list.rb +394 -0
- data/gems/yard-0.9.25/lib/yard/parser/ruby/legacy/token_list.rb +74 -0
- data/gems/yard-0.9.25/lib/yard/parser/ruby/ruby_parser.rb +701 -0
- data/gems/yard-0.9.25/lib/yard/parser/ruby/token_resolver.rb +158 -0
- data/gems/yard-0.9.25/lib/yard/parser/source_parser.rb +526 -0
- data/gems/yard-0.9.25/lib/yard/rake/yardoc_task.rb +81 -0
- data/gems/yard-0.9.25/lib/yard/registry.rb +439 -0
- data/gems/yard-0.9.25/lib/yard/registry_resolver.rb +217 -0
- data/gems/yard-0.9.25/lib/yard/registry_store.rb +342 -0
- data/gems/yard-0.9.25/lib/yard/rubygems/backports/LICENSE.txt +57 -0
- data/gems/yard-0.9.25/lib/yard/rubygems/backports/MIT.txt +20 -0
- data/gems/yard-0.9.25/lib/yard/rubygems/backports/gem.rb +10 -0
- data/gems/yard-0.9.25/lib/yard/rubygems/backports/source_index.rb +365 -0
- data/gems/yard-0.9.25/lib/yard/rubygems/backports.rb +10 -0
- data/gems/yard-0.9.25/lib/yard/rubygems/doc_manager.rb +90 -0
- data/gems/yard-0.9.25/lib/yard/rubygems/hook.rb +197 -0
- data/gems/yard-0.9.25/lib/yard/rubygems/specification.rb +50 -0
- data/gems/yard-0.9.25/lib/yard/serializers/base.rb +83 -0
- data/gems/yard-0.9.25/lib/yard/serializers/file_system_serializer.rb +123 -0
- data/gems/yard-0.9.25/lib/yard/serializers/process_serializer.rb +24 -0
- data/gems/yard-0.9.25/lib/yard/serializers/stdout_serializer.rb +34 -0
- data/gems/yard-0.9.25/lib/yard/serializers/yardoc_serializer.rb +152 -0
- data/gems/yard-0.9.25/lib/yard/server/adapter.rb +100 -0
- data/gems/yard-0.9.25/lib/yard/server/commands/base.rb +209 -0
- data/gems/yard-0.9.25/lib/yard/server/commands/display_file_command.rb +29 -0
- data/gems/yard-0.9.25/lib/yard/server/commands/display_object_command.rb +65 -0
- data/gems/yard-0.9.25/lib/yard/server/commands/frames_command.rb +16 -0
- data/gems/yard-0.9.25/lib/yard/server/commands/library_command.rb +187 -0
- data/gems/yard-0.9.25/lib/yard/server/commands/library_index_command.rb +28 -0
- data/gems/yard-0.9.25/lib/yard/server/commands/list_command.rb +25 -0
- data/gems/yard-0.9.25/lib/yard/server/commands/root_request_command.rb +15 -0
- data/gems/yard-0.9.25/lib/yard/server/commands/search_command.rb +79 -0
- data/gems/yard-0.9.25/lib/yard/server/commands/static_file_command.rb +23 -0
- data/gems/yard-0.9.25/lib/yard/server/commands/static_file_helpers.rb +61 -0
- data/gems/yard-0.9.25/lib/yard/server/doc_server_helper.rb +91 -0
- data/gems/yard-0.9.25/lib/yard/server/doc_server_serializer.rb +39 -0
- data/gems/yard-0.9.25/lib/yard/server/library_version.rb +277 -0
- data/gems/yard-0.9.25/lib/yard/server/rack_adapter.rb +89 -0
- data/gems/yard-0.9.25/lib/yard/server/router.rb +187 -0
- data/gems/yard-0.9.25/lib/yard/server/static_caching.rb +46 -0
- data/gems/yard-0.9.25/lib/yard/server/templates/default/fulldoc/html/css/custom.css +127 -0
- data/gems/yard-0.9.25/lib/yard/server/templates/default/fulldoc/html/images/processing.gif +0 -0
- data/gems/yard-0.9.25/lib/yard/server/templates/default/fulldoc/html/js/autocomplete.js +12 -0
- data/gems/yard-0.9.25/lib/yard/server/templates/default/layout/html/breadcrumb.erb +37 -0
- data/gems/yard-0.9.25/lib/yard/server/templates/default/layout/html/script_setup.erb +7 -0
- data/gems/yard-0.9.25/lib/yard/server/templates/default/layout/html/setup.rb +8 -0
- data/gems/yard-0.9.25/lib/yard/server/templates/default/method_details/html/permalink.erb +4 -0
- data/gems/yard-0.9.25/lib/yard/server/templates/default/method_details/html/setup.rb +5 -0
- data/gems/yard-0.9.25/lib/yard/server/templates/doc_server/library_list/html/headers.erb +8 -0
- data/gems/yard-0.9.25/lib/yard/server/templates/doc_server/library_list/html/library_list.erb +14 -0
- data/gems/yard-0.9.25/lib/yard/server/templates/doc_server/library_list/html/listing.erb +13 -0
- data/gems/yard-0.9.25/lib/yard/server/templates/doc_server/library_list/html/setup.rb +6 -0
- data/gems/yard-0.9.25/lib/yard/server/templates/doc_server/library_list/html/title.erb +2 -0
- data/gems/yard-0.9.25/lib/yard/server/templates/doc_server/processing/html/processing.erb +52 -0
- data/gems/yard-0.9.25/lib/yard/server/templates/doc_server/processing/html/setup.rb +4 -0
- data/gems/yard-0.9.25/lib/yard/server/templates/doc_server/search/html/search.erb +18 -0
- data/gems/yard-0.9.25/lib/yard/server/templates/doc_server/search/html/setup.rb +9 -0
- data/gems/yard-0.9.25/lib/yard/server/webrick_adapter.rb +45 -0
- data/gems/yard-0.9.25/lib/yard/server.rb +13 -0
- data/gems/yard-0.9.25/lib/yard/tags/default_factory.rb +191 -0
- data/gems/yard-0.9.25/lib/yard/tags/default_tag.rb +13 -0
- data/gems/yard-0.9.25/lib/yard/tags/directives.rb +616 -0
- data/gems/yard-0.9.25/lib/yard/tags/library.rb +633 -0
- data/gems/yard-0.9.25/lib/yard/tags/option_tag.rb +13 -0
- data/gems/yard-0.9.25/lib/yard/tags/overload_tag.rb +71 -0
- data/gems/yard-0.9.25/lib/yard/tags/ref_tag.rb +8 -0
- data/gems/yard-0.9.25/lib/yard/tags/ref_tag_list.rb +28 -0
- data/gems/yard-0.9.25/lib/yard/tags/tag.rb +71 -0
- data/gems/yard-0.9.25/lib/yard/tags/tag_format_error.rb +7 -0
- data/gems/yard-0.9.25/lib/yard/tags/types_explainer.rb +162 -0
- data/gems/yard-0.9.25/lib/yard/templates/engine.rb +186 -0
- data/gems/yard-0.9.25/lib/yard/templates/erb_cache.rb +23 -0
- data/gems/yard-0.9.25/lib/yard/templates/helpers/base_helper.rb +215 -0
- data/gems/yard-0.9.25/lib/yard/templates/helpers/filter_helper.rb +27 -0
- data/gems/yard-0.9.25/lib/yard/templates/helpers/html_helper.rb +670 -0
- data/gems/yard-0.9.25/lib/yard/templates/helpers/html_syntax_highlight_helper.rb +78 -0
- data/gems/yard-0.9.25/lib/yard/templates/helpers/markup/rdoc_markdown.rb +23 -0
- data/gems/yard-0.9.25/lib/yard/templates/helpers/markup/rdoc_markup.rb +110 -0
- data/gems/yard-0.9.25/lib/yard/templates/helpers/markup_helper.rb +172 -0
- data/gems/yard-0.9.25/lib/yard/templates/helpers/method_helper.rb +75 -0
- data/gems/yard-0.9.25/lib/yard/templates/helpers/module_helper.rb +21 -0
- data/gems/yard-0.9.25/lib/yard/templates/helpers/text_helper.rb +112 -0
- data/gems/yard-0.9.25/lib/yard/templates/helpers/uml_helper.rb +47 -0
- data/gems/yard-0.9.25/lib/yard/templates/section.rb +105 -0
- data/gems/yard-0.9.25/lib/yard/templates/template.rb +418 -0
- data/gems/yard-0.9.25/lib/yard/templates/template_options.rb +92 -0
- data/gems/yard-0.9.25/lib/yard/verifier.rb +151 -0
- data/gems/yard-0.9.25/lib/yard/version.rb +6 -0
- data/gems/yard-0.9.25/lib/yard.rb +69 -0
- data/gems/yard-0.9.25/po/ja.po +31108 -0
- data/gems/yard-0.9.25/samus.json +80 -0
- data/gems/yard-0.9.25/tasks/update_error_map.rake +53 -0
- data/gems/yard-0.9.25/templates/default/class/dot/setup.rb +7 -0
- data/gems/yard-0.9.25/templates/default/class/dot/superklass.erb +3 -0
- data/gems/yard-0.9.25/templates/default/class/html/constructor_details.erb +8 -0
- data/gems/yard-0.9.25/templates/default/class/html/setup.rb +2 -0
- data/gems/yard-0.9.25/templates/default/class/html/subclasses.erb +4 -0
- data/gems/yard-0.9.25/templates/default/class/setup.rb +36 -0
- data/gems/yard-0.9.25/templates/default/class/text/setup.rb +12 -0
- data/gems/yard-0.9.25/templates/default/class/text/subclasses.erb +5 -0
- data/gems/yard-0.9.25/templates/default/constant/text/header.erb +11 -0
- data/gems/yard-0.9.25/templates/default/constant/text/setup.rb +4 -0
- data/gems/yard-0.9.25/templates/default/docstring/html/abstract.erb +4 -0
- data/gems/yard-0.9.25/templates/default/docstring/html/deprecated.erb +1 -0
- data/gems/yard-0.9.25/templates/default/docstring/html/index.erb +5 -0
- data/gems/yard-0.9.25/templates/default/docstring/html/note.erb +6 -0
- data/gems/yard-0.9.25/templates/default/docstring/html/private.erb +4 -0
- data/gems/yard-0.9.25/templates/default/docstring/html/returns_void.erb +1 -0
- data/gems/yard-0.9.25/templates/default/docstring/html/text.erb +1 -0
- data/gems/yard-0.9.25/templates/default/docstring/html/todo.erb +6 -0
- data/gems/yard-0.9.25/templates/default/docstring/setup.rb +52 -0
- data/gems/yard-0.9.25/templates/default/docstring/text/abstract.erb +2 -0
- data/gems/yard-0.9.25/templates/default/docstring/text/deprecated.erb +2 -0
- data/gems/yard-0.9.25/templates/default/docstring/text/index.erb +2 -0
- data/gems/yard-0.9.25/templates/default/docstring/text/note.erb +4 -0
- data/gems/yard-0.9.25/templates/default/docstring/text/private.erb +2 -0
- data/gems/yard-0.9.25/templates/default/docstring/text/returns_void.erb +1 -0
- data/gems/yard-0.9.25/templates/default/docstring/text/text.erb +1 -0
- data/gems/yard-0.9.25/templates/default/docstring/text/todo.erb +4 -0
- data/gems/yard-0.9.25/templates/default/fulldoc/html/css/common.css +1 -0
- data/gems/yard-0.9.25/templates/default/fulldoc/html/css/full_list.css +58 -0
- data/gems/yard-0.9.25/templates/default/fulldoc/html/css/style.css +496 -0
- data/gems/yard-0.9.25/templates/default/fulldoc/html/frames.erb +17 -0
- data/gems/yard-0.9.25/templates/default/fulldoc/html/full_list.erb +37 -0
- data/gems/yard-0.9.25/templates/default/fulldoc/html/full_list_class.erb +2 -0
- data/gems/yard-0.9.25/templates/default/fulldoc/html/full_list_file.erb +7 -0
- data/gems/yard-0.9.25/templates/default/fulldoc/html/full_list_method.erb +10 -0
- data/gems/yard-0.9.25/templates/default/fulldoc/html/js/app.js +314 -0
- data/gems/yard-0.9.25/templates/default/fulldoc/html/js/full_list.js +216 -0
- data/gems/yard-0.9.25/templates/default/fulldoc/html/js/jquery.js +4 -0
- data/gems/yard-0.9.25/templates/default/fulldoc/html/setup.rb +241 -0
- data/gems/yard-0.9.25/templates/default/layout/dot/header.erb +6 -0
- data/gems/yard-0.9.25/templates/default/layout/dot/setup.rb +15 -0
- data/gems/yard-0.9.25/templates/default/layout/html/breadcrumb.erb +11 -0
- data/gems/yard-0.9.25/templates/default/layout/html/files.erb +11 -0
- data/gems/yard-0.9.25/templates/default/layout/html/footer.erb +5 -0
- data/gems/yard-0.9.25/templates/default/layout/html/headers.erb +15 -0
- data/gems/yard-0.9.25/templates/default/layout/html/index.erb +2 -0
- data/gems/yard-0.9.25/templates/default/layout/html/layout.erb +24 -0
- data/gems/yard-0.9.25/templates/default/layout/html/listing.erb +4 -0
- data/gems/yard-0.9.25/templates/default/layout/html/objects.erb +32 -0
- data/gems/yard-0.9.25/templates/default/layout/html/script_setup.erb +4 -0
- data/gems/yard-0.9.25/templates/default/layout/html/search.erb +13 -0
- data/gems/yard-0.9.25/templates/default/layout/html/setup.rb +89 -0
- data/gems/yard-0.9.25/templates/default/method/html/header.erb +17 -0
- data/gems/yard-0.9.25/templates/default/method/setup.rb +4 -0
- data/gems/yard-0.9.25/templates/default/method/text/header.erb +1 -0
- data/gems/yard-0.9.25/templates/default/method_details/html/header.erb +3 -0
- data/gems/yard-0.9.25/templates/default/method_details/html/method_signature.erb +25 -0
- data/gems/yard-0.9.25/templates/default/method_details/html/source.erb +10 -0
- data/gems/yard-0.9.25/templates/default/method_details/setup.rb +11 -0
- data/gems/yard-0.9.25/templates/default/method_details/text/header.erb +10 -0
- data/gems/yard-0.9.25/templates/default/method_details/text/method_signature.erb +12 -0
- data/gems/yard-0.9.25/templates/default/method_details/text/setup.rb +11 -0
- data/gems/yard-0.9.25/templates/default/module/dot/child.erb +1 -0
- data/gems/yard-0.9.25/templates/default/module/dot/dependencies.erb +3 -0
- data/gems/yard-0.9.25/templates/default/module/dot/header.erb +6 -0
- data/gems/yard-0.9.25/templates/default/module/dot/info.erb +14 -0
- data/gems/yard-0.9.25/templates/default/module/dot/setup.rb +15 -0
- data/gems/yard-0.9.25/templates/default/module/html/attribute_details.erb +10 -0
- data/gems/yard-0.9.25/templates/default/module/html/attribute_summary.erb +8 -0
- data/gems/yard-0.9.25/templates/default/module/html/box_info.erb +43 -0
- data/gems/yard-0.9.25/templates/default/module/html/children.erb +8 -0
- data/gems/yard-0.9.25/templates/default/module/html/constant_summary.erb +17 -0
- data/gems/yard-0.9.25/templates/default/module/html/defines.erb +3 -0
- data/gems/yard-0.9.25/templates/default/module/html/header.erb +5 -0
- data/gems/yard-0.9.25/templates/default/module/html/inherited_attributes.erb +14 -0
- data/gems/yard-0.9.25/templates/default/module/html/inherited_constants.erb +8 -0
- data/gems/yard-0.9.25/templates/default/module/html/inherited_methods.erb +19 -0
- data/gems/yard-0.9.25/templates/default/module/html/item_summary.erb +40 -0
- data/gems/yard-0.9.25/templates/default/module/html/method_details_list.erb +9 -0
- data/gems/yard-0.9.25/templates/default/module/html/method_summary.erb +14 -0
- data/gems/yard-0.9.25/templates/default/module/html/methodmissing.erb +12 -0
- data/gems/yard-0.9.25/templates/default/module/html/pre_docstring.erb +1 -0
- data/gems/yard-0.9.25/templates/default/module/setup.rb +167 -0
- data/gems/yard-0.9.25/templates/default/module/text/children.erb +10 -0
- data/gems/yard-0.9.25/templates/default/module/text/class_meths_list.erb +8 -0
- data/gems/yard-0.9.25/templates/default/module/text/extends.erb +8 -0
- data/gems/yard-0.9.25/templates/default/module/text/header.erb +7 -0
- data/gems/yard-0.9.25/templates/default/module/text/includes.erb +8 -0
- data/gems/yard-0.9.25/templates/default/module/text/instance_meths_list.erb +8 -0
- data/gems/yard-0.9.25/templates/default/module/text/setup.rb +13 -0
- data/gems/yard-0.9.25/templates/default/onefile/html/files.erb +5 -0
- data/gems/yard-0.9.25/templates/default/onefile/html/headers.erb +6 -0
- data/gems/yard-0.9.25/templates/default/onefile/html/layout.erb +17 -0
- data/gems/yard-0.9.25/templates/default/onefile/html/readme.erb +3 -0
- data/gems/yard-0.9.25/templates/default/onefile/html/setup.rb +62 -0
- data/gems/yard-0.9.25/templates/default/root/dot/child.erb +3 -0
- data/gems/yard-0.9.25/templates/default/root/dot/setup.rb +6 -0
- data/gems/yard-0.9.25/templates/default/root/html/setup.rb +2 -0
- data/gems/yard-0.9.25/templates/default/tags/html/example.erb +11 -0
- data/gems/yard-0.9.25/templates/default/tags/html/index.erb +3 -0
- data/gems/yard-0.9.25/templates/default/tags/html/option.erb +24 -0
- data/gems/yard-0.9.25/templates/default/tags/html/overload.erb +14 -0
- data/gems/yard-0.9.25/templates/default/tags/html/see.erb +8 -0
- data/gems/yard-0.9.25/templates/default/tags/html/tag.erb +20 -0
- data/gems/yard-0.9.25/templates/default/tags/setup.rb +57 -0
- data/gems/yard-0.9.25/templates/default/tags/text/example.erb +12 -0
- data/gems/yard-0.9.25/templates/default/tags/text/index.erb +1 -0
- data/gems/yard-0.9.25/templates/default/tags/text/option.erb +20 -0
- data/gems/yard-0.9.25/templates/default/tags/text/overload.erb +19 -0
- data/gems/yard-0.9.25/templates/default/tags/text/see.erb +11 -0
- data/gems/yard-0.9.25/templates/default/tags/text/tag.erb +13 -0
- data/gems/yard-0.9.25/templates/guide/class/html/setup.rb +2 -0
- data/gems/yard-0.9.25/templates/guide/docstring/html/setup.rb +2 -0
- data/gems/yard-0.9.25/templates/guide/fulldoc/html/css/style.css +108 -0
- data/gems/yard-0.9.25/templates/guide/fulldoc/html/js/app.js +33 -0
- data/gems/yard-0.9.25/templates/guide/fulldoc/html/setup.rb +74 -0
- data/gems/yard-0.9.25/templates/guide/layout/html/layout.erb +81 -0
- data/gems/yard-0.9.25/templates/guide/layout/html/setup.rb +25 -0
- data/gems/yard-0.9.25/templates/guide/method/html/header.erb +18 -0
- data/gems/yard-0.9.25/templates/guide/method/html/setup.rb +22 -0
- data/gems/yard-0.9.25/templates/guide/module/html/header.erb +7 -0
- data/gems/yard-0.9.25/templates/guide/module/html/method_list.erb +5 -0
- data/gems/yard-0.9.25/templates/guide/module/html/setup.rb +27 -0
- data/gems/yard-0.9.25/templates/guide/onefile/html/files.erb +4 -0
- data/gems/yard-0.9.25/templates/guide/onefile/html/setup.rb +6 -0
- data/gems/yard-0.9.25/templates/guide/onefile/html/toc.erb +3 -0
- data/gems/yard-0.9.25/templates/guide/tags/html/setup.rb +9 -0
- data/gems/yard-0.9.25/yard.gemspec +24 -0
- data/kinetic_sdk.gemspec +0 -4
- data/lib/kinetic_sdk/core/lib/form.rb +55 -0
- data/lib/kinetic_sdk/core/lib/kapp.rb +52 -0
- data/lib/kinetic_sdk/core/lib/space.rb +51 -0
- data/lib/kinetic_sdk/task/lib/export.rb +22 -2
- data/lib/kinetic_sdk/task/lib/trees.rb +11 -0
- data/lib/kinetic_sdk/version.rb +1 -1
- data/lib/kinetic_sdk.rb +2 -22
- metadata +534 -225
- data/gems/kontena-websocket-client-0.1.1/Gemfile +0 -4
- data/gems/kontena-websocket-client-0.1.1/LICENSE +0 -190
- data/gems/kontena-websocket-client-0.1.1/README.md +0 -138
- data/gems/kontena-websocket-client-0.1.1/Rakefile +0 -6
- data/gems/kontena-websocket-client-0.1.1/benchmark/benchmark-client.rb +0 -45
- data/gems/kontena-websocket-client-0.1.1/benchmark/benchmark-em.rb +0 -66
- data/gems/kontena-websocket-client-0.1.1/benchmark/benchmark.rb +0 -161
- data/gems/kontena-websocket-client-0.1.1/benchmark/benchmark.sh +0 -17
- data/gems/kontena-websocket-client-0.1.1/benchmark/websocket-echo-server.go +0 -207
- data/gems/kontena-websocket-client-0.1.1/examples/websocket-echo-client.rb +0 -80
- data/gems/kontena-websocket-client-0.1.1/kontena-websocket-client.gemspec +0 -24
- data/gems/kontena-websocket-client-0.1.1/lib/kontena/websocket/client/connection.rb +0 -119
- data/gems/kontena-websocket-client-0.1.1/lib/kontena/websocket/client/version.rb +0 -13
- data/gems/kontena-websocket-client-0.1.1/lib/kontena/websocket/client.rb +0 -848
- data/gems/kontena-websocket-client-0.1.1/lib/kontena/websocket/error.rb +0 -81
- data/gems/kontena-websocket-client-0.1.1/lib/kontena/websocket/logging.rb +0 -55
- data/gems/kontena-websocket-client-0.1.1/lib/kontena/websocket/openssl_patch.rb +0 -10
- data/gems/kontena-websocket-client-0.1.1/lib/kontena-websocket-client.rb +0 -15
- data/gems/mime-types-3.3.1/Contributing.md +0 -143
- data/gems/mime-types-3.3.1/History.md +0 -240
- data/gems/mime-types-3.3.1/Rakefile +0 -284
- data/gems/mime-types-3.3.1/test/minitest_helper.rb +0 -13
- data/gems/mime-types-3.3.1/test/test_mime_type.rb +0 -610
- data/gems/mime-types-3.3.1/test/test_mime_types.rb +0 -169
- data/gems/mime-types-3.3.1/test/test_mime_types_cache.rb +0 -118
- data/gems/mime-types-3.3.1/test/test_mime_types_class.rb +0 -159
- data/gems/mime-types-3.3.1/test/test_mime_types_lazy.rb +0 -49
- data/gems/mime-types-3.3.1/test/test_mime_types_loader.rb +0 -32
- data/gems/mime-types-data-3.2021.0225/Licence.md +0 -25
- data/gems/mime-types-data-3.2021.0225/Rakefile +0 -159
- data/gems/mime-types-data-3.2021.0225/data/mime-types.json +0 -1
- data/gems/mime-types-data-3.2021.0225/data/mime.flags.column +0 -2315
- data/gems/parallel-1.12.1/lib/parallel/processor_count.rb +0 -93
- data/gems/parallel-1.12.1/lib/parallel/version.rb +0 -3
- data/gems/parallel-1.12.1/lib/parallel.rb +0 -500
- data/gems/ruby-progressbar-1.9.0/LICENSE.txt +0 -19
- data/gems/ruby-progressbar-1.9.0/README.md +0 -38
- data/gems/ruby-progressbar-1.9.0/Rakefile +0 -2
- data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/base.rb +0 -183
- data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/calculators/length.rb +0 -99
- data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/calculators/running_average.rb +0 -9
- data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/components/bar.rb +0 -96
- data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/components/percentage.rb +0 -29
- data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/components/rate.rb +0 -43
- data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/components/time.rb +0 -107
- data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/components/title.rb +0 -13
- data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/components.rb +0 -5
- data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/errors/invalid_progress_error.rb +0 -4
- data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/format/formatter.rb +0 -27
- data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/format/molecule.rb +0 -59
- data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/format/string.rb +0 -36
- data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/format.rb +0 -3
- data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/output.rb +0 -68
- data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/outputs/non_tty.rb +0 -47
- data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/outputs/null.rb +0 -33
- data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/outputs/tty.rb +0 -32
- data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/progress.rb +0 -118
- data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/refinements/enumerator.rb +0 -25
- data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/refinements.rb +0 -1
- data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/throttle.rb +0 -25
- data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/time.rb +0 -30
- data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/timer.rb +0 -72
- data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/version.rb +0 -3
- data/gems/ruby-progressbar-1.9.0/lib/ruby-progressbar.rb +0 -18
- data/gems/websocket-driver-0.6.5/CHANGELOG.md +0 -123
- data/gems/websocket-driver-0.6.5/LICENSE.md +0 -22
- data/gems/websocket-driver-0.6.5/README.md +0 -369
- data/gems/websocket-driver-0.6.5/examples/tcp_server.rb +0 -28
- data/gems/websocket-driver-0.6.5/ext/websocket-driver/Makefile +0 -264
- data/gems/websocket-driver-0.6.5/ext/websocket-driver/WebsocketMaskService.java +0 -55
- data/gems/websocket-driver-0.6.5/ext/websocket-driver/extconf.rb +0 -4
- data/gems/websocket-driver-0.6.5/ext/websocket-driver/websocket_mask.bundle +0 -0
- data/gems/websocket-driver-0.6.5/ext/websocket-driver/websocket_mask.c +0 -41
- data/gems/websocket-driver-0.6.5/ext/websocket-driver/websocket_mask.o +0 -0
- data/gems/websocket-driver-0.6.5/lib/websocket/driver/client.rb +0 -140
- data/gems/websocket-driver-0.6.5/lib/websocket/driver/draft75.rb +0 -102
- data/gems/websocket-driver-0.6.5/lib/websocket/driver/draft76.rb +0 -96
- data/gems/websocket-driver-0.6.5/lib/websocket/driver/event_emitter.rb +0 -54
- data/gems/websocket-driver-0.6.5/lib/websocket/driver/headers.rb +0 -45
- data/gems/websocket-driver-0.6.5/lib/websocket/driver/hybi/frame.rb +0 -20
- data/gems/websocket-driver-0.6.5/lib/websocket/driver/hybi/message.rb +0 -31
- data/gems/websocket-driver-0.6.5/lib/websocket/driver/hybi.rb +0 -406
- data/gems/websocket-driver-0.6.5/lib/websocket/driver/proxy.rb +0 -68
- data/gems/websocket-driver-0.6.5/lib/websocket/driver/server.rb +0 -80
- data/gems/websocket-driver-0.6.5/lib/websocket/driver/stream_reader.rb +0 -55
- data/gems/websocket-driver-0.6.5/lib/websocket/driver.rb +0 -199
- data/gems/websocket-driver-0.6.5/lib/websocket/http/headers.rb +0 -112
- data/gems/websocket-driver-0.6.5/lib/websocket/http/request.rb +0 -45
- data/gems/websocket-driver-0.6.5/lib/websocket/http/response.rb +0 -29
- data/gems/websocket-driver-0.6.5/lib/websocket/http.rb +0 -15
- data/gems/websocket-driver-0.6.5/lib/websocket/mask.rb +0 -14
- data/gems/websocket-driver-0.6.5/lib/websocket/websocket_mask.rb +0 -2
- data/gems/websocket-driver-0.6.5/lib/websocket_mask.bundle +0 -0
- data/gems/websocket-driver-0.6.5-java/CHANGELOG.md +0 -123
- data/gems/websocket-driver-0.6.5-java/README.md +0 -369
- data/gems/websocket-driver-0.6.5-java/examples/tcp_server.rb +0 -28
- data/gems/websocket-driver-0.6.5-java/ext/websocket-driver/WebsocketMaskService.java +0 -55
- data/gems/websocket-driver-0.6.5-java/ext/websocket-driver/extconf.rb +0 -4
- data/gems/websocket-driver-0.6.5-java/ext/websocket-driver/websocket_mask.c +0 -41
- data/gems/websocket-driver-0.6.5-java/lib/websocket/driver/client.rb +0 -140
- data/gems/websocket-driver-0.6.5-java/lib/websocket/driver/draft75.rb +0 -102
- data/gems/websocket-driver-0.6.5-java/lib/websocket/driver/draft76.rb +0 -96
- data/gems/websocket-driver-0.6.5-java/lib/websocket/driver/event_emitter.rb +0 -54
- data/gems/websocket-driver-0.6.5-java/lib/websocket/driver/headers.rb +0 -45
- data/gems/websocket-driver-0.6.5-java/lib/websocket/driver/hybi/frame.rb +0 -20
- data/gems/websocket-driver-0.6.5-java/lib/websocket/driver/hybi/message.rb +0 -31
- data/gems/websocket-driver-0.6.5-java/lib/websocket/driver/hybi.rb +0 -406
- data/gems/websocket-driver-0.6.5-java/lib/websocket/driver/proxy.rb +0 -68
- data/gems/websocket-driver-0.6.5-java/lib/websocket/driver/server.rb +0 -80
- data/gems/websocket-driver-0.6.5-java/lib/websocket/driver/stream_reader.rb +0 -55
- data/gems/websocket-driver-0.6.5-java/lib/websocket/driver.rb +0 -199
- data/gems/websocket-driver-0.6.5-java/lib/websocket/http/headers.rb +0 -112
- data/gems/websocket-driver-0.6.5-java/lib/websocket/http/request.rb +0 -45
- data/gems/websocket-driver-0.6.5-java/lib/websocket/http/response.rb +0 -29
- data/gems/websocket-driver-0.6.5-java/lib/websocket/http.rb +0 -15
- data/gems/websocket-driver-0.6.5-java/lib/websocket/mask.rb +0 -14
- data/gems/websocket-driver-0.6.5-java/lib/websocket/websocket_mask.rb +0 -2
- data/gems/websocket-driver-0.6.5-java/lib/websocket_mask.jar +0 -0
- data/gems/websocket-extensions-0.1.3/CHANGELOG.md +0 -15
- data/gems/websocket-extensions-0.1.3/LICENSE.md +0 -20
- data/gems/websocket-extensions-0.1.3/README.md +0 -313
- data/gems/websocket-extensions-0.1.3/lib/websocket/extensions/parser.rb +0 -111
- data/gems/websocket-extensions-0.1.3/lib/websocket/extensions.rb +0 -181
- data/lib/kinetic_sdk/discussions/lib/websockets.rb +0 -96
@@ -1,406 +0,0 @@
|
|
1
|
-
module WebSocket
|
2
|
-
class Driver
|
3
|
-
|
4
|
-
class Hybi < Driver
|
5
|
-
root = File.expand_path('../hybi', __FILE__)
|
6
|
-
|
7
|
-
autoload :Frame, root + '/frame'
|
8
|
-
autoload :Message, root + '/message'
|
9
|
-
|
10
|
-
def self.generate_accept(key)
|
11
|
-
Base64.strict_encode64(Digest::SHA1.digest(key + GUID))
|
12
|
-
end
|
13
|
-
|
14
|
-
GUID = '258EAFA5-E914-47DA-95CA-C5AB0DC85B11'
|
15
|
-
|
16
|
-
BYTE = 0b11111111
|
17
|
-
FIN = MASK = 0b10000000
|
18
|
-
RSV1 = 0b01000000
|
19
|
-
RSV2 = 0b00100000
|
20
|
-
RSV3 = 0b00010000
|
21
|
-
OPCODE = 0b00001111
|
22
|
-
LENGTH = 0b01111111
|
23
|
-
|
24
|
-
OPCODES = {
|
25
|
-
:continuation => 0,
|
26
|
-
:text => 1,
|
27
|
-
:binary => 2,
|
28
|
-
:close => 8,
|
29
|
-
:ping => 9,
|
30
|
-
:pong => 10
|
31
|
-
}
|
32
|
-
|
33
|
-
OPCODE_CODES = OPCODES.values
|
34
|
-
MESSAGE_OPCODES = OPCODES.values_at(:continuation, :text, :binary)
|
35
|
-
OPENING_OPCODES = OPCODES.values_at(:text, :binary)
|
36
|
-
|
37
|
-
ERRORS = {
|
38
|
-
:normal_closure => 1000,
|
39
|
-
:going_away => 1001,
|
40
|
-
:protocol_error => 1002,
|
41
|
-
:unacceptable => 1003,
|
42
|
-
:encoding_error => 1007,
|
43
|
-
:policy_violation => 1008,
|
44
|
-
:too_large => 1009,
|
45
|
-
:extension_error => 1010,
|
46
|
-
:unexpected_condition => 1011
|
47
|
-
}
|
48
|
-
|
49
|
-
ERROR_CODES = ERRORS.values
|
50
|
-
DEFAULT_ERROR_CODE = 1000
|
51
|
-
MIN_RESERVED_ERROR = 3000
|
52
|
-
MAX_RESERVED_ERROR = 4999
|
53
|
-
|
54
|
-
PACK_FORMATS = {2 => 'n', 8 => 'Q>'}
|
55
|
-
|
56
|
-
def initialize(socket, options = {})
|
57
|
-
super
|
58
|
-
|
59
|
-
@extensions = ::WebSocket::Extensions.new
|
60
|
-
@stage = 0
|
61
|
-
@masking = options[:masking]
|
62
|
-
@protocols = options[:protocols] || []
|
63
|
-
@protocols = @protocols.strip.split(/ *, */) if String === @protocols
|
64
|
-
@require_masking = options[:require_masking]
|
65
|
-
@ping_callbacks = {}
|
66
|
-
|
67
|
-
@frame = @message = nil
|
68
|
-
|
69
|
-
return unless @socket.respond_to?(:env)
|
70
|
-
|
71
|
-
sec_key = @socket.env['HTTP_SEC_WEBSOCKET_KEY']
|
72
|
-
protos = @socket.env['HTTP_SEC_WEBSOCKET_PROTOCOL']
|
73
|
-
|
74
|
-
@headers['Upgrade'] = 'websocket'
|
75
|
-
@headers['Connection'] = 'Upgrade'
|
76
|
-
@headers['Sec-WebSocket-Accept'] = Hybi.generate_accept(sec_key)
|
77
|
-
|
78
|
-
if protos = @socket.env['HTTP_SEC_WEBSOCKET_PROTOCOL']
|
79
|
-
protos = protos.split(/ *, */) if String === protos
|
80
|
-
@protocol = protos.find { |p| @protocols.include?(p) }
|
81
|
-
@headers['Sec-WebSocket-Protocol'] = @protocol if @protocol
|
82
|
-
end
|
83
|
-
end
|
84
|
-
|
85
|
-
def version
|
86
|
-
"hybi-#{@socket.env['HTTP_SEC_WEBSOCKET_VERSION']}"
|
87
|
-
end
|
88
|
-
|
89
|
-
def add_extension(extension)
|
90
|
-
@extensions.add(extension)
|
91
|
-
true
|
92
|
-
end
|
93
|
-
|
94
|
-
def parse(chunk)
|
95
|
-
@reader.put(chunk)
|
96
|
-
buffer = true
|
97
|
-
while buffer
|
98
|
-
case @stage
|
99
|
-
when 0 then
|
100
|
-
buffer = @reader.read(1)
|
101
|
-
parse_opcode(buffer.getbyte(0)) if buffer
|
102
|
-
|
103
|
-
when 1 then
|
104
|
-
buffer = @reader.read(1)
|
105
|
-
parse_length(buffer.getbyte(0)) if buffer
|
106
|
-
|
107
|
-
when 2 then
|
108
|
-
buffer = @reader.read(@frame.length_bytes)
|
109
|
-
parse_extended_length(buffer) if buffer
|
110
|
-
|
111
|
-
when 3 then
|
112
|
-
buffer = @reader.read(4)
|
113
|
-
if buffer
|
114
|
-
@stage = 4
|
115
|
-
@frame.masking_key = buffer
|
116
|
-
end
|
117
|
-
|
118
|
-
when 4 then
|
119
|
-
buffer = @reader.read(@frame.length)
|
120
|
-
|
121
|
-
if buffer
|
122
|
-
@stage = 0
|
123
|
-
emit_frame(buffer)
|
124
|
-
end
|
125
|
-
|
126
|
-
else
|
127
|
-
buffer = nil
|
128
|
-
end
|
129
|
-
end
|
130
|
-
end
|
131
|
-
|
132
|
-
def binary(message)
|
133
|
-
frame(message, :binary)
|
134
|
-
end
|
135
|
-
|
136
|
-
def ping(message = '', &callback)
|
137
|
-
@ping_callbacks[message] = callback if callback
|
138
|
-
frame(message, :ping)
|
139
|
-
end
|
140
|
-
|
141
|
-
def pong(message = '')
|
142
|
-
frame(message, :pong)
|
143
|
-
end
|
144
|
-
|
145
|
-
def close(reason = nil, code = nil)
|
146
|
-
reason ||= ''
|
147
|
-
code ||= ERRORS[:normal_closure]
|
148
|
-
|
149
|
-
if @ready_state <= 0
|
150
|
-
@ready_state = 3
|
151
|
-
emit(:close, CloseEvent.new(code, reason))
|
152
|
-
true
|
153
|
-
elsif @ready_state == 1
|
154
|
-
frame(reason, :close, code)
|
155
|
-
@ready_state = 2
|
156
|
-
true
|
157
|
-
else
|
158
|
-
false
|
159
|
-
end
|
160
|
-
end
|
161
|
-
|
162
|
-
def frame(buffer, type = nil, code = nil)
|
163
|
-
return queue([buffer, type, code]) if @ready_state <= 0
|
164
|
-
return false unless @ready_state == 1
|
165
|
-
|
166
|
-
message = Message.new
|
167
|
-
frame = Frame.new
|
168
|
-
is_text = String === buffer
|
169
|
-
|
170
|
-
message.rsv1 = message.rsv2 = message.rsv3 = false
|
171
|
-
message.opcode = OPCODES[type || (is_text ? :text : :binary)]
|
172
|
-
|
173
|
-
payload = is_text ? buffer.bytes.to_a : buffer
|
174
|
-
payload = [code].pack(PACK_FORMATS[2]).bytes.to_a + payload if code
|
175
|
-
message.data = payload.pack('C*')
|
176
|
-
|
177
|
-
if MESSAGE_OPCODES.include?(message.opcode)
|
178
|
-
message = @extensions.process_outgoing_message(message)
|
179
|
-
end
|
180
|
-
|
181
|
-
frame.final = true
|
182
|
-
frame.rsv1 = message.rsv1
|
183
|
-
frame.rsv2 = message.rsv2
|
184
|
-
frame.rsv3 = message.rsv3
|
185
|
-
frame.opcode = message.opcode
|
186
|
-
frame.masked = !!@masking
|
187
|
-
frame.masking_key = SecureRandom.random_bytes(4) if frame.masked
|
188
|
-
frame.length = message.data.bytesize
|
189
|
-
frame.payload = message.data
|
190
|
-
|
191
|
-
send_frame(frame)
|
192
|
-
true
|
193
|
-
|
194
|
-
rescue ::WebSocket::Extensions::ExtensionError => error
|
195
|
-
fail(:extension_error, error.message)
|
196
|
-
end
|
197
|
-
|
198
|
-
private
|
199
|
-
|
200
|
-
def send_frame(frame)
|
201
|
-
length = frame.length
|
202
|
-
buffer = []
|
203
|
-
masked = frame.masked ? MASK : 0
|
204
|
-
|
205
|
-
buffer[0] = (frame.final ? FIN : 0) |
|
206
|
-
(frame.rsv1 ? RSV1 : 0) |
|
207
|
-
(frame.rsv2 ? RSV2 : 0) |
|
208
|
-
(frame.rsv3 ? RSV3 : 0) |
|
209
|
-
frame.opcode
|
210
|
-
|
211
|
-
if length <= 125
|
212
|
-
buffer[1] = masked | length
|
213
|
-
elsif length <= 65535
|
214
|
-
buffer[1] = masked | 126
|
215
|
-
buffer[2..3] = [length].pack(PACK_FORMATS[2]).bytes.to_a
|
216
|
-
else
|
217
|
-
buffer[1] = masked | 127
|
218
|
-
buffer[2..9] = [length].pack(PACK_FORMATS[8]).bytes.to_a
|
219
|
-
end
|
220
|
-
|
221
|
-
if frame.masked
|
222
|
-
buffer.concat(frame.masking_key.bytes.to_a)
|
223
|
-
buffer.concat(Mask.mask(frame.payload, frame.masking_key).bytes.to_a)
|
224
|
-
else
|
225
|
-
buffer.concat(frame.payload.bytes.to_a)
|
226
|
-
end
|
227
|
-
|
228
|
-
@socket.write(buffer.pack('C*'))
|
229
|
-
end
|
230
|
-
|
231
|
-
def handshake_response
|
232
|
-
begin
|
233
|
-
extensions = @extensions.generate_response(@socket.env['HTTP_SEC_WEBSOCKET_EXTENSIONS'])
|
234
|
-
rescue => error
|
235
|
-
fail(:protocol_error, error.message)
|
236
|
-
return nil
|
237
|
-
end
|
238
|
-
|
239
|
-
@headers['Sec-WebSocket-Extensions'] = extensions if extensions
|
240
|
-
|
241
|
-
start = 'HTTP/1.1 101 Switching Protocols'
|
242
|
-
headers = [start, @headers.to_s, '']
|
243
|
-
headers.join("\r\n")
|
244
|
-
end
|
245
|
-
|
246
|
-
def shutdown(code, reason, error = false)
|
247
|
-
@frame = @message = nil
|
248
|
-
@stage = 5
|
249
|
-
@extensions.close
|
250
|
-
|
251
|
-
frame(reason, :close, code) if @ready_state < 2
|
252
|
-
@ready_state = 3
|
253
|
-
|
254
|
-
emit(:error, ProtocolError.new(reason)) if error
|
255
|
-
emit(:close, CloseEvent.new(code, reason))
|
256
|
-
end
|
257
|
-
|
258
|
-
def fail(type, message)
|
259
|
-
return if @ready_state > 1
|
260
|
-
shutdown(ERRORS[type], message, true)
|
261
|
-
end
|
262
|
-
|
263
|
-
def parse_opcode(octet)
|
264
|
-
rsvs = [RSV1, RSV2, RSV3].map { |rsv| (octet & rsv) == rsv }
|
265
|
-
|
266
|
-
@frame = Frame.new
|
267
|
-
|
268
|
-
@frame.final = (octet & FIN) == FIN
|
269
|
-
@frame.rsv1 = rsvs[0]
|
270
|
-
@frame.rsv2 = rsvs[1]
|
271
|
-
@frame.rsv3 = rsvs[2]
|
272
|
-
@frame.opcode = (octet & OPCODE)
|
273
|
-
|
274
|
-
@stage = 1
|
275
|
-
|
276
|
-
unless @extensions.valid_frame_rsv?(@frame)
|
277
|
-
return fail(:protocol_error,
|
278
|
-
"One or more reserved bits are on: reserved1 = #{@frame.rsv1 ? 1 : 0}" +
|
279
|
-
", reserved2 = #{@frame.rsv2 ? 1 : 0 }" +
|
280
|
-
", reserved3 = #{@frame.rsv3 ? 1 : 0 }")
|
281
|
-
end
|
282
|
-
|
283
|
-
unless OPCODES.values.include?(@frame.opcode)
|
284
|
-
return fail(:protocol_error, "Unrecognized frame opcode: #{@frame.opcode}")
|
285
|
-
end
|
286
|
-
|
287
|
-
unless MESSAGE_OPCODES.include?(@frame.opcode) or @frame.final
|
288
|
-
return fail(:protocol_error, "Received fragmented control frame: opcode = #{@frame.opcode}")
|
289
|
-
end
|
290
|
-
|
291
|
-
if @message and OPENING_OPCODES.include?(@frame.opcode)
|
292
|
-
return fail(:protocol_error, 'Received new data frame but previous continuous frame is unfinished')
|
293
|
-
end
|
294
|
-
end
|
295
|
-
|
296
|
-
def parse_length(octet)
|
297
|
-
@frame.masked = (octet & MASK) == MASK
|
298
|
-
@frame.length = (octet & LENGTH)
|
299
|
-
|
300
|
-
if @frame.length >= 0 and @frame.length <= 125
|
301
|
-
@stage = @frame.masked ? 3 : 4
|
302
|
-
return unless check_frame_length
|
303
|
-
else
|
304
|
-
@stage = 2
|
305
|
-
@frame.length_bytes = (@frame.length == 126) ? 2 : 8
|
306
|
-
end
|
307
|
-
|
308
|
-
if @require_masking and not @frame.masked
|
309
|
-
return fail(:unacceptable, 'Received unmasked frame but masking is required')
|
310
|
-
end
|
311
|
-
end
|
312
|
-
|
313
|
-
def parse_extended_length(buffer)
|
314
|
-
@frame.length = buffer.unpack(PACK_FORMATS[buffer.bytesize]).first
|
315
|
-
@stage = @frame.masked ? 3 : 4
|
316
|
-
|
317
|
-
unless MESSAGE_OPCODES.include?(@frame.opcode) or @frame.length <= 125
|
318
|
-
return fail(:protocol_error, "Received control frame having too long payload: #{@frame.length}")
|
319
|
-
end
|
320
|
-
|
321
|
-
return unless check_frame_length
|
322
|
-
end
|
323
|
-
|
324
|
-
def check_frame_length
|
325
|
-
length = @message ? @message.data.bytesize : 0
|
326
|
-
|
327
|
-
if length + @frame.length > @max_length
|
328
|
-
fail(:too_large, 'WebSocket frame length too large')
|
329
|
-
false
|
330
|
-
else
|
331
|
-
true
|
332
|
-
end
|
333
|
-
end
|
334
|
-
|
335
|
-
def emit_frame(buffer)
|
336
|
-
frame = @frame
|
337
|
-
opcode = frame.opcode
|
338
|
-
payload = frame.payload = Mask.mask(buffer, @frame.masking_key)
|
339
|
-
bytesize = payload.bytesize
|
340
|
-
bytes = payload.bytes.to_a
|
341
|
-
|
342
|
-
@frame = nil
|
343
|
-
|
344
|
-
case opcode
|
345
|
-
when OPCODES[:continuation] then
|
346
|
-
return fail(:protocol_error, 'Received unexpected continuation frame') unless @message
|
347
|
-
@message << frame
|
348
|
-
|
349
|
-
when OPCODES[:text], OPCODES[:binary] then
|
350
|
-
@message = Message.new
|
351
|
-
@message << frame
|
352
|
-
|
353
|
-
when OPCODES[:close] then
|
354
|
-
code = (bytesize >= 2) ? payload.unpack(PACK_FORMATS[2]).first : nil
|
355
|
-
reason = (bytesize > 2) ? Driver.encode(bytes[2..-1] || [], UNICODE) : nil
|
356
|
-
|
357
|
-
unless (bytesize == 0) or
|
358
|
-
(code && code >= MIN_RESERVED_ERROR && code <= MAX_RESERVED_ERROR) or
|
359
|
-
ERROR_CODES.include?(code)
|
360
|
-
code = ERRORS[:protocol_error]
|
361
|
-
end
|
362
|
-
|
363
|
-
if bytesize > 125 or (bytesize > 2 and reason.nil?)
|
364
|
-
code = ERRORS[:protocol_error]
|
365
|
-
end
|
366
|
-
|
367
|
-
shutdown(code || DEFAULT_ERROR_CODE, reason || '')
|
368
|
-
|
369
|
-
when OPCODES[:ping] then
|
370
|
-
frame(payload, :pong)
|
371
|
-
|
372
|
-
when OPCODES[:pong] then
|
373
|
-
message = Driver.encode(payload, UNICODE)
|
374
|
-
callback = @ping_callbacks[message]
|
375
|
-
@ping_callbacks.delete(message)
|
376
|
-
callback.call if callback
|
377
|
-
end
|
378
|
-
|
379
|
-
emit_message if frame.final and MESSAGE_OPCODES.include?(opcode)
|
380
|
-
end
|
381
|
-
|
382
|
-
def emit_message
|
383
|
-
message = @extensions.process_incoming_message(@message)
|
384
|
-
@message = nil
|
385
|
-
|
386
|
-
payload = message.data
|
387
|
-
|
388
|
-
case message.opcode
|
389
|
-
when OPCODES[:text] then
|
390
|
-
payload = Driver.encode(payload, UNICODE)
|
391
|
-
when OPCODES[:binary]
|
392
|
-
payload = payload.bytes.to_a
|
393
|
-
end
|
394
|
-
|
395
|
-
if payload
|
396
|
-
emit(:message, MessageEvent.new(payload))
|
397
|
-
else
|
398
|
-
fail(:encoding_error, 'Could not decode a text frame as UTF-8')
|
399
|
-
end
|
400
|
-
rescue ::WebSocket::Extensions::ExtensionError => error
|
401
|
-
fail(:extension_error, error.message)
|
402
|
-
end
|
403
|
-
end
|
404
|
-
|
405
|
-
end
|
406
|
-
end
|
@@ -1,68 +0,0 @@
|
|
1
|
-
module WebSocket
|
2
|
-
class Driver
|
3
|
-
|
4
|
-
class Proxy
|
5
|
-
include EventEmitter
|
6
|
-
|
7
|
-
PORTS = {'ws' => 80, 'wss' => 443}
|
8
|
-
|
9
|
-
attr_reader :status, :headers
|
10
|
-
|
11
|
-
def initialize(client, origin, options)
|
12
|
-
super()
|
13
|
-
|
14
|
-
@client = client
|
15
|
-
@http = HTTP::Response.new
|
16
|
-
@socket = client.instance_variable_get(:@socket)
|
17
|
-
@origin = URI.parse(@socket.url)
|
18
|
-
@url = URI.parse(origin)
|
19
|
-
@options = options
|
20
|
-
@state = 0
|
21
|
-
|
22
|
-
@headers = Headers.new
|
23
|
-
@headers['Host'] = @origin.host + (@origin.port ? ":#{@origin.port}" : '')
|
24
|
-
@headers['Connection'] = 'keep-alive'
|
25
|
-
@headers['Proxy-Connection'] = 'keep-alive'
|
26
|
-
|
27
|
-
if @url.user
|
28
|
-
auth = Base64.strict_encode64([@url.user, @url.password] * ':')
|
29
|
-
@headers['Proxy-Authorization'] = 'Basic ' + auth
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
def set_header(name, value)
|
34
|
-
return false unless @state == 0
|
35
|
-
@headers[name] = value
|
36
|
-
true
|
37
|
-
end
|
38
|
-
|
39
|
-
def start
|
40
|
-
return false unless @state == 0
|
41
|
-
@state = 1
|
42
|
-
|
43
|
-
port = @origin.port || PORTS[@origin.scheme]
|
44
|
-
start = "CONNECT #{@origin.host}:#{port} HTTP/1.1"
|
45
|
-
headers = [start, @headers.to_s, '']
|
46
|
-
|
47
|
-
@socket.write(headers.join("\r\n"))
|
48
|
-
true
|
49
|
-
end
|
50
|
-
|
51
|
-
def parse(chunk)
|
52
|
-
@http.parse(chunk)
|
53
|
-
return unless @http.complete?
|
54
|
-
|
55
|
-
@status = @http.code
|
56
|
-
@headers = Headers.new(@http.headers)
|
57
|
-
|
58
|
-
if @status == 200
|
59
|
-
emit(:connect, ConnectEvent.new)
|
60
|
-
else
|
61
|
-
message = "Can't establish a connection to the server at #{@socket.url}"
|
62
|
-
emit(:error, ProtocolError.new(message))
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|
66
|
-
|
67
|
-
end
|
68
|
-
end
|
@@ -1,80 +0,0 @@
|
|
1
|
-
module WebSocket
|
2
|
-
class Driver
|
3
|
-
|
4
|
-
class Server < Driver
|
5
|
-
EVENTS = %w[open message error close]
|
6
|
-
|
7
|
-
def initialize(socket, options = {})
|
8
|
-
super
|
9
|
-
@http = HTTP::Request.new
|
10
|
-
@delegate = nil
|
11
|
-
end
|
12
|
-
|
13
|
-
def env
|
14
|
-
@http.complete? ? @http.env : nil
|
15
|
-
end
|
16
|
-
|
17
|
-
def url
|
18
|
-
return nil unless e = env
|
19
|
-
|
20
|
-
url = "ws://#{e['HTTP_HOST']}"
|
21
|
-
url << e['PATH_INFO']
|
22
|
-
url << "?#{e['QUERY_STRING']}" unless e['QUERY_STRING'] == ''
|
23
|
-
url
|
24
|
-
end
|
25
|
-
|
26
|
-
%w[add_extension set_header start frame text binary ping close].each do |method|
|
27
|
-
define_method(method) do |*args, &block|
|
28
|
-
if @delegate
|
29
|
-
@delegate.__send__(method, *args, &block)
|
30
|
-
else
|
31
|
-
@queue << [method, args, block]
|
32
|
-
true
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
%w[protocol version].each do |method|
|
38
|
-
define_method(method) do
|
39
|
-
@delegate && @delegate.__send__(method)
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
def parse(chunk)
|
44
|
-
return @delegate.parse(chunk) if @delegate
|
45
|
-
|
46
|
-
@http.parse(chunk)
|
47
|
-
return fail_request('Invalid HTTP request') if @http.error?
|
48
|
-
return unless @http.complete?
|
49
|
-
|
50
|
-
@delegate = Driver.rack(self, @options)
|
51
|
-
open
|
52
|
-
|
53
|
-
EVENTS.each do |event|
|
54
|
-
@delegate.on(event) { |e| emit(event, e) }
|
55
|
-
end
|
56
|
-
|
57
|
-
emit(:connect, ConnectEvent.new)
|
58
|
-
end
|
59
|
-
|
60
|
-
def write(buffer)
|
61
|
-
@socket.write(buffer)
|
62
|
-
end
|
63
|
-
|
64
|
-
private
|
65
|
-
|
66
|
-
def fail_request(message)
|
67
|
-
emit(:error, ProtocolError.new(message))
|
68
|
-
emit(:close, CloseEvent.new(Hybi::ERRORS[:protocol_error], message))
|
69
|
-
end
|
70
|
-
|
71
|
-
def open
|
72
|
-
@queue.each do |method, args, block|
|
73
|
-
@delegate.__send__(method, *args, &block)
|
74
|
-
end
|
75
|
-
@queue = []
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
|
-
end
|
80
|
-
end
|
@@ -1,55 +0,0 @@
|
|
1
|
-
module WebSocket
|
2
|
-
class Driver
|
3
|
-
|
4
|
-
class StreamReader
|
5
|
-
# Try to minimise the number of reallocations done:
|
6
|
-
MINIMUM_AUTOMATIC_PRUNE_OFFSET = 128
|
7
|
-
|
8
|
-
def initialize
|
9
|
-
@buffer = String.new('').force_encoding(BINARY)
|
10
|
-
@offset = 0
|
11
|
-
end
|
12
|
-
|
13
|
-
def put(chunk)
|
14
|
-
return unless chunk and chunk.bytesize > 0
|
15
|
-
@buffer << chunk.force_encoding(BINARY)
|
16
|
-
end
|
17
|
-
|
18
|
-
# Read bytes from the data:
|
19
|
-
def read(length)
|
20
|
-
return nil if (@offset + length) > @buffer.bytesize
|
21
|
-
|
22
|
-
chunk = @buffer.byteslice(@offset, length)
|
23
|
-
@offset += chunk.bytesize
|
24
|
-
|
25
|
-
prune if @offset > MINIMUM_AUTOMATIC_PRUNE_OFFSET
|
26
|
-
|
27
|
-
return chunk
|
28
|
-
end
|
29
|
-
|
30
|
-
def each_byte
|
31
|
-
prune
|
32
|
-
|
33
|
-
@buffer.each_byte do |octet|
|
34
|
-
@offset += 1
|
35
|
-
yield octet
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
private
|
40
|
-
|
41
|
-
def prune
|
42
|
-
buffer_size = @buffer.bytesize
|
43
|
-
|
44
|
-
if @offset > buffer_size
|
45
|
-
@buffer = String.new('').force_encoding(BINARY)
|
46
|
-
else
|
47
|
-
@buffer = @buffer.byteslice(@offset, buffer_size - @offset)
|
48
|
-
end
|
49
|
-
|
50
|
-
@offset = 0
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
|
-
end
|
55
|
-
end
|