qiita_org 0.1.35 → 0.1.37
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +0 -2
- data/Gemfile.lock +15 -15
- data/lib/qiita_org/template.org +1 -1
- data/lib/qiita_org/version.rb +1 -1
- metadata +2 -2430
- data/.bandle/ruby/2.7.0/bin/htmldiff +0 -29
- data/.bandle/ruby/2.7.0/bin/ldiff +0 -29
- data/.bandle/ruby/2.7.0/bin/qiita_org +0 -27
- data/.bandle/ruby/2.7.0/bin/rake +0 -27
- data/.bandle/ruby/2.7.0/bin/rspec +0 -27
- data/.bandle/ruby/2.7.0/bin/thor +0 -27
- data/.bandle/ruby/2.7.0/cache/diff-lcs-1.4.4.gem +0 -0
- data/.bandle/ruby/2.7.0/cache/rake-12.3.3.gem +0 -0
- data/.bandle/ruby/2.7.0/cache/rspec-3.9.0.gem +0 -0
- data/.bandle/ruby/2.7.0/cache/rspec-core-3.9.2.gem +0 -0
- data/.bandle/ruby/2.7.0/cache/rspec-expectations-3.9.2.gem +0 -0
- data/.bandle/ruby/2.7.0/cache/rspec-mocks-3.9.1.gem +0 -0
- data/.bandle/ruby/2.7.0/cache/rspec-support-3.9.3.gem +0 -0
- data/.bandle/ruby/2.7.0/cache/thor-1.0.1.gem +0 -0
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/.rspec +0 -1
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/Code-of-Conduct.md +0 -74
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/Contributing.md +0 -118
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/History.md +0 -319
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/License.md +0 -39
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/Manifest.txt +0 -45
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/README.rdoc +0 -84
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/Rakefile +0 -74
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/autotest/discover.rb +0 -3
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/bin/htmldiff +0 -35
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/bin/ldiff +0 -9
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/docs/COPYING.txt +0 -339
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/docs/artistic.txt +0 -127
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff-lcs.rb +0 -3
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs.rb +0 -739
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/array.rb +0 -7
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/backports.rb +0 -9
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/block.rb +0 -37
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/callbacks.rb +0 -325
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/change.rb +0 -174
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/htmldiff.rb +0 -150
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/hunk.rb +0 -358
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/internals.rb +0 -304
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/ldiff.rb +0 -171
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/string.rb +0 -5
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/change_spec.rb +0 -89
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/diff_spec.rb +0 -51
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/fixtures/aX +0 -1
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/fixtures/bXaX +0 -1
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/fixtures/ds1.csv +0 -50
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/fixtures/ds2.csv +0 -51
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/fixtures/ldiff/output.diff +0 -4
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/fixtures/ldiff/output.diff-c +0 -7
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/fixtures/ldiff/output.diff-e +0 -3
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/fixtures/ldiff/output.diff-f +0 -3
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/fixtures/ldiff/output.diff-u +0 -5
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/hunk_spec.rb +0 -83
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/issues_spec.rb +0 -154
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/lcs_spec.rb +0 -56
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/ldiff_spec.rb +0 -87
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/patch_spec.rb +0 -416
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/sdiff_spec.rb +0 -214
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/spec_helper.rb +0 -375
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/traverse_balanced_spec.rb +0 -310
- data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/traverse_sequences_spec.rb +0 -139
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/CONTRIBUTING.rdoc +0 -43
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/Gemfile +0 -3
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/History.rdoc +0 -2344
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/MIT-LICENSE +0 -21
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/README.rdoc +0 -156
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/Rakefile +0 -41
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/azure-pipelines.yml +0 -11
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/bin/bundle +0 -105
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/bin/console +0 -7
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/bin/rake +0 -29
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/bin/rdoc +0 -29
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/bin/rubocop +0 -29
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/bin/setup +0 -6
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/command_line_usage.rdoc +0 -158
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/example/Rakefile1 +0 -38
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/example/Rakefile2 +0 -35
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/example/a.c +0 -6
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/example/b.c +0 -6
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/example/main.c +0 -11
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/glossary.rdoc +0 -42
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/jamis.rb +0 -592
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/proto_rake.rdoc +0 -127
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/rake.1 +0 -156
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/rakefile.rdoc +0 -622
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/rational.rdoc +0 -151
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/exe/rake +0 -27
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake.rb +0 -71
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/application.rb +0 -824
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/backtrace.rb +0 -24
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/clean.rb +0 -78
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/cloneable.rb +0 -17
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/cpu_counter.rb +0 -107
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/default_loader.rb +0 -15
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/dsl_definition.rb +0 -195
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/early_time.rb +0 -22
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/ext/core.rb +0 -26
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/ext/string.rb +0 -176
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_creation_task.rb +0 -25
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_list.rb +0 -435
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_task.rb +0 -54
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_utils.rb +0 -137
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_utils_ext.rb +0 -145
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/invocation_chain.rb +0 -57
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/invocation_exception_mixin.rb +0 -17
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/late_time.rb +0 -18
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/linked_list.rb +0 -112
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/loaders/makefile.rb +0 -54
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/multi_task.rb +0 -14
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/name_space.rb +0 -38
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/packagetask.rb +0 -207
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/phony.rb +0 -16
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/private_reader.rb +0 -21
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/promise.rb +0 -100
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/pseudo_status.rb +0 -30
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/rake_module.rb +0 -67
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/rake_test_loader.rb +0 -27
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/rule_recursion_overflow_error.rb +0 -20
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/scope.rb +0 -43
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/task.rb +0 -413
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/task_argument_error.rb +0 -8
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/task_arguments.rb +0 -109
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/task_manager.rb +0 -324
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/tasklib.rb +0 -12
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/testtask.rb +0 -224
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/thread_history_display.rb +0 -49
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/thread_pool.rb +0 -163
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/trace_output.rb +0 -23
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/version.rb +0 -10
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/win32.rb +0 -51
- data/.bandle/ruby/2.7.0/gems/rake-12.3.3/rake.gemspec +0 -42
- data/.bandle/ruby/2.7.0/gems/rspec-3.9.0/LICENSE.md +0 -27
- data/.bandle/ruby/2.7.0/gems/rspec-3.9.0/README.md +0 -43
- data/.bandle/ruby/2.7.0/gems/rspec-3.9.0/lib/rspec.rb +0 -3
- data/.bandle/ruby/2.7.0/gems/rspec-3.9.0/lib/rspec/version.rb +0 -5
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/.document +0 -5
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/.yardopts +0 -8
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/Changelog.md +0 -2291
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/LICENSE.md +0 -26
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/README.md +0 -384
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/exe/rspec +0 -4
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/autorun.rb +0 -3
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core.rb +0 -186
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/backtrace_formatter.rb +0 -65
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/bisect/coordinator.rb +0 -62
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/bisect/example_minimizer.rb +0 -173
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/bisect/fork_runner.rb +0 -135
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/bisect/server.rb +0 -61
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/bisect/shell_command.rb +0 -126
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/bisect/shell_runner.rb +0 -73
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/bisect/utilities.rb +0 -58
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/configuration.rb +0 -2363
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/configuration_options.rb +0 -233
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/did_you_mean.rb +0 -46
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/drb.rb +0 -113
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/dsl.rb +0 -98
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/example.rb +0 -656
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/example_group.rb +0 -900
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/example_status_persister.rb +0 -235
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/filter_manager.rb +0 -231
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/flat_map.rb +0 -20
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters.rb +0 -273
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/base_bisect_formatter.rb +0 -45
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/base_formatter.rb +0 -70
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/base_text_formatter.rb +0 -75
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/bisect_drb_formatter.rb +0 -29
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/bisect_progress_formatter.rb +0 -157
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/console_codes.rb +0 -68
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/deprecation_formatter.rb +0 -223
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/documentation_formatter.rb +0 -102
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/exception_presenter.rb +0 -511
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/failure_list_formatter.rb +0 -23
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/fallback_message_formatter.rb +0 -28
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/helpers.rb +0 -110
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/html_formatter.rb +0 -153
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/html_printer.rb +0 -414
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/html_snippet_extractor.rb +0 -120
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/json_formatter.rb +0 -102
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/profile_formatter.rb +0 -68
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/progress_formatter.rb +0 -29
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/protocol.rb +0 -182
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/snippet_extractor.rb +0 -134
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/syntax_highlighter.rb +0 -91
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/hooks.rb +0 -641
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/invocations.rb +0 -87
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/memoized_helpers.rb +0 -554
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/metadata.rb +0 -498
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/metadata_filter.rb +0 -255
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/minitest_assertions_adapter.rb +0 -31
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/mocking_adapters/flexmock.rb +0 -31
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/mocking_adapters/mocha.rb +0 -57
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/mocking_adapters/null.rb +0 -14
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/mocking_adapters/rr.rb +0 -31
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/mocking_adapters/rspec.rb +0 -32
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/notifications.rb +0 -521
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/option_parser.rb +0 -316
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/ordering.rb +0 -158
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/output_wrapper.rb +0 -29
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/pending.rb +0 -165
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/profiler.rb +0 -34
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/project_initializer.rb +0 -48
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/project_initializer/.rspec +0 -1
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/project_initializer/spec/spec_helper.rb +0 -100
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/rake_task.rb +0 -188
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/reporter.rb +0 -265
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/ruby_project.rb +0 -53
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/runner.rb +0 -204
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/sandbox.rb +0 -37
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/set.rb +0 -54
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/shared_context.rb +0 -55
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/shared_example_group.rb +0 -271
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/shell_escape.rb +0 -49
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/test_unit_assertions_adapter.rb +0 -30
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/version.rb +0 -9
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/warnings.rb +0 -40
- data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/world.rb +0 -276
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/.document +0 -5
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/.yardopts +0 -6
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/Changelog.md +0 -1191
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/LICENSE.md +0 -25
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/README.md +0 -320
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations.rb +0 -82
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/block_snippet_extractor.rb +0 -253
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/configuration.rb +0 -215
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/expectation_target.rb +0 -127
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/fail_with.rb +0 -39
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/failure_aggregator.rb +0 -194
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/handler.rb +0 -170
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/minitest_integration.rb +0 -58
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/syntax.rb +0 -132
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/version.rb +0 -8
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers.rb +0 -1038
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/aliased_matcher.rb +0 -116
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in.rb +0 -52
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/all.rb +0 -86
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/base_matcher.rb +0 -193
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/be.rb +0 -288
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/be_between.rb +0 -77
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/be_instance_of.rb +0 -26
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/be_kind_of.rb +0 -20
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/be_within.rb +0 -72
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/change.rb +0 -428
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/compound.rb +0 -276
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/contain_exactly.rb +0 -302
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/cover.rb +0 -24
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/eq.rb +0 -40
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/eql.rb +0 -34
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/equal.rb +0 -81
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/exist.rb +0 -90
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/has.rb +0 -103
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/have_attributes.rb +0 -114
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/include.rb +0 -149
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/match.rb +0 -106
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/operators.rb +0 -128
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/output.rb +0 -200
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/raise_error.rb +0 -230
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/respond_to.rb +0 -199
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/satisfy.rb +0 -60
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/start_or_end_with.rb +0 -94
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/throw_symbol.rb +0 -132
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/yield.rb +0 -441
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/composable.rb +0 -171
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/dsl.rb +0 -540
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/english_phrasing.rb +0 -58
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +0 -82
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/fail_matchers.rb +0 -42
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/generated_descriptions.rb +0 -41
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/matcher_delegator.rb +0 -35
- data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/matcher_protocol.rb +0 -99
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/.document +0 -5
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/.yardopts +0 -6
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/Changelog.md +0 -1133
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/LICENSE.md +0 -25
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/README.md +0 -463
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks.rb +0 -130
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance.rb +0 -11
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/chain.rb +0 -111
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/error_generator.rb +0 -31
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/expect_chain_chain.rb +0 -31
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/expectation_chain.rb +0 -50
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/message_chains.rb +0 -83
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/proxy.rb +0 -116
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/recorder.rb +0 -294
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/stub_chain.rb +0 -51
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/stub_chain_chain.rb +0 -23
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/argument_list_matcher.rb +0 -100
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/argument_matchers.rb +0 -322
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/configuration.rb +0 -212
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/error_generator.rb +0 -369
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/example_methods.rb +0 -434
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/instance_method_stasher.rb +0 -146
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/marshal_extension.rb +0 -41
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/expectation_customization.rb +0 -20
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/have_received.rb +0 -134
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/receive.rb +0 -132
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/receive_message_chain.rb +0 -82
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/receive_messages.rb +0 -77
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/message_chain.rb +0 -87
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/message_expectation.rb +0 -751
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/method_double.rb +0 -287
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/method_reference.rb +0 -202
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/minitest_integration.rb +0 -68
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/mutate_const.rb +0 -339
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/object_reference.rb +0 -149
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/order_group.rb +0 -81
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/proxy.rb +0 -503
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/space.rb +0 -238
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/standalone.rb +0 -3
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/syntax.rb +0 -325
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/targets.rb +0 -124
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/test_double.rb +0 -171
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/verifying_double.rb +0 -129
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/verifying_message_expectation.rb +0 -54
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/verifying_proxy.rb +0 -220
- data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/version.rb +0 -9
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/Changelog.md +0 -302
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/LICENSE.md +0 -23
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/README.md +0 -40
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support.rb +0 -149
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/caller_filter.rb +0 -83
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/comparable_version.rb +0 -46
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/differ.rb +0 -215
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/directory_maker.rb +0 -63
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/encoded_string.rb +0 -161
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/fuzzy_matcher.rb +0 -48
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/hunk_generator.rb +0 -47
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/matcher_definition.rb +0 -42
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/method_signature_verifier.rb +0 -438
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/mutex.rb +0 -73
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/object_formatter.rb +0 -275
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/recursive_const_methods.rb +0 -76
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/reentrant_mutex.rb +0 -61
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/ruby_features.rb +0 -190
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/source.rb +0 -75
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/source/location.rb +0 -21
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/source/node.rb +0 -110
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/source/token.rb +0 -87
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec.rb +0 -81
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/deprecation_helpers.rb +0 -64
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/formatting_support.rb +0 -9
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/in_sub_process.rb +0 -69
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/library_wide_checks.rb +0 -150
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/shell_out.rb +0 -89
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/stderr_splitter.rb +0 -75
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/string_matcher.rb +0 -46
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/with_isolated_directory.rb +0 -13
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/with_isolated_stderr.rb +0 -13
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/version.rb +0 -7
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/warnings.rb +0 -39
- data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/with_keywords_when_needed.rb +0 -33
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/.document +0 -5
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/CHANGELOG.md +0 -220
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/CONTRIBUTING.md +0 -15
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/LICENSE.md +0 -20
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/README.md +0 -51
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/bin/thor +0 -6
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor.rb +0 -517
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/actions.rb +0 -336
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/actions/create_file.rb +0 -104
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/actions/create_link.rb +0 -61
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/actions/directory.rb +0 -108
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/actions/empty_directory.rb +0 -143
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/actions/file_manipulation.rb +0 -373
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/actions/inject_into_file.rb +0 -120
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/base.rb +0 -699
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/command.rb +0 -142
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/core_ext/hash_with_indifferent_access.rb +0 -97
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/error.rb +0 -110
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/group.rb +0 -281
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/invocation.rb +0 -178
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/line_editor.rb +0 -17
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/line_editor/basic.rb +0 -37
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/line_editor/readline.rb +0 -88
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/nested_context.rb +0 -29
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/parser.rb +0 -4
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/parser/argument.rb +0 -70
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/parser/arguments.rb +0 -175
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/parser/option.rb +0 -159
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/parser/options.rb +0 -236
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/rake_compat.rb +0 -72
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/runner.rb +0 -325
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/shell.rb +0 -81
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/shell/basic.rb +0 -491
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/shell/color.rb +0 -153
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/shell/html.rb +0 -126
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/util.rb +0 -284
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/version.rb +0 -3
- data/.bandle/ruby/2.7.0/gems/thor-1.0.1/thor.gemspec +0 -28
- data/.bandle/ruby/2.7.0/specifications/diff-lcs-1.4.4.gemspec +0 -50
- data/.bandle/ruby/2.7.0/specifications/rake-12.3.3.gemspec +0 -43
- data/.bandle/ruby/2.7.0/specifications/rspec-3.9.0.gemspec +0 -39
- data/.bandle/ruby/2.7.0/specifications/rspec-core-3.9.2.gemspec +0 -53
- data/.bandle/ruby/2.7.0/specifications/rspec-expectations-3.9.2.gemspec +0 -44
- data/.bandle/ruby/2.7.0/specifications/rspec-mocks-3.9.1.gemspec +0 -44
- data/.bandle/ruby/2.7.0/specifications/rspec-support-3.9.3.gemspec +0 -36
- data/.bandle/ruby/2.7.0/specifications/thor-1.0.1.gemspec +0 -34
@@ -1,120 +0,0 @@
|
|
1
|
-
require_relative "empty_directory"
|
2
|
-
|
3
|
-
class Thor
|
4
|
-
module Actions
|
5
|
-
# Injects the given content into a file. Different from gsub_file, this
|
6
|
-
# method is reversible.
|
7
|
-
#
|
8
|
-
# ==== Parameters
|
9
|
-
# destination<String>:: Relative path to the destination root
|
10
|
-
# data<String>:: Data to add to the file. Can be given as a block.
|
11
|
-
# config<Hash>:: give :verbose => false to not log the status and the flag
|
12
|
-
# for injection (:after or :before) or :force => true for
|
13
|
-
# insert two or more times the same content.
|
14
|
-
#
|
15
|
-
# ==== Examples
|
16
|
-
#
|
17
|
-
# insert_into_file "config/environment.rb", "config.gem :thor", :after => "Rails::Initializer.run do |config|\n"
|
18
|
-
#
|
19
|
-
# insert_into_file "config/environment.rb", :after => "Rails::Initializer.run do |config|\n" do
|
20
|
-
# gems = ask "Which gems would you like to add?"
|
21
|
-
# gems.split(" ").map{ |gem| " config.gem :#{gem}" }.join("\n")
|
22
|
-
# end
|
23
|
-
#
|
24
|
-
WARNINGS = { unchanged_no_flag: 'File unchanged! The supplied flag value not found!' }
|
25
|
-
|
26
|
-
def insert_into_file(destination, *args, &block)
|
27
|
-
data = block_given? ? block : args.shift
|
28
|
-
|
29
|
-
config = args.shift || {}
|
30
|
-
config[:after] = /\z/ unless config.key?(:before) || config.key?(:after)
|
31
|
-
|
32
|
-
action InjectIntoFile.new(self, destination, data, config)
|
33
|
-
end
|
34
|
-
alias_method :inject_into_file, :insert_into_file
|
35
|
-
|
36
|
-
class InjectIntoFile < EmptyDirectory #:nodoc:
|
37
|
-
attr_reader :replacement, :flag, :behavior
|
38
|
-
|
39
|
-
def initialize(base, destination, data, config)
|
40
|
-
super(base, destination, {:verbose => true}.merge(config))
|
41
|
-
|
42
|
-
@behavior, @flag = if @config.key?(:after)
|
43
|
-
[:after, @config.delete(:after)]
|
44
|
-
else
|
45
|
-
[:before, @config.delete(:before)]
|
46
|
-
end
|
47
|
-
|
48
|
-
@replacement = data.is_a?(Proc) ? data.call : data
|
49
|
-
@flag = Regexp.escape(@flag) unless @flag.is_a?(Regexp)
|
50
|
-
end
|
51
|
-
|
52
|
-
def invoke!
|
53
|
-
content = if @behavior == :after
|
54
|
-
'\0' + replacement
|
55
|
-
else
|
56
|
-
replacement + '\0'
|
57
|
-
end
|
58
|
-
|
59
|
-
if exists?
|
60
|
-
if replace!(/#{flag}/, content, config[:force])
|
61
|
-
say_status(:invoke)
|
62
|
-
else
|
63
|
-
say_status(:unchanged, warning: WARNINGS[:unchanged_no_flag], color: :red)
|
64
|
-
end
|
65
|
-
else
|
66
|
-
unless pretend?
|
67
|
-
raise Thor::Error, "The file #{ destination } does not appear to exist"
|
68
|
-
end
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
def revoke!
|
73
|
-
say_status :revoke
|
74
|
-
|
75
|
-
regexp = if @behavior == :after
|
76
|
-
content = '\1\2'
|
77
|
-
/(#{flag})(.*)(#{Regexp.escape(replacement)})/m
|
78
|
-
else
|
79
|
-
content = '\2\3'
|
80
|
-
/(#{Regexp.escape(replacement)})(.*)(#{flag})/m
|
81
|
-
end
|
82
|
-
|
83
|
-
replace!(regexp, content, true)
|
84
|
-
end
|
85
|
-
|
86
|
-
protected
|
87
|
-
|
88
|
-
def say_status(behavior, warning: nil, color: nil)
|
89
|
-
status = if behavior == :invoke
|
90
|
-
if flag == /\A/
|
91
|
-
:prepend
|
92
|
-
elsif flag == /\z/
|
93
|
-
:append
|
94
|
-
else
|
95
|
-
:insert
|
96
|
-
end
|
97
|
-
elsif warning
|
98
|
-
warning
|
99
|
-
else
|
100
|
-
:subtract
|
101
|
-
end
|
102
|
-
|
103
|
-
super(status, (color || config[:verbose]))
|
104
|
-
end
|
105
|
-
|
106
|
-
# Adds the content to the file.
|
107
|
-
#
|
108
|
-
def replace!(regexp, string, force)
|
109
|
-
return if pretend?
|
110
|
-
content = File.read(destination)
|
111
|
-
if force || !content.include?(replacement)
|
112
|
-
success = content.gsub!(regexp, string)
|
113
|
-
|
114
|
-
File.open(destination, "wb") { |file| file.write(content) }
|
115
|
-
success
|
116
|
-
end
|
117
|
-
end
|
118
|
-
end
|
119
|
-
end
|
120
|
-
end
|
@@ -1,699 +0,0 @@
|
|
1
|
-
require_relative "command"
|
2
|
-
require_relative "core_ext/hash_with_indifferent_access"
|
3
|
-
require_relative "error"
|
4
|
-
require_relative "invocation"
|
5
|
-
require_relative "nested_context"
|
6
|
-
require_relative "parser"
|
7
|
-
require_relative "shell"
|
8
|
-
require_relative "line_editor"
|
9
|
-
require_relative "util"
|
10
|
-
|
11
|
-
class Thor
|
12
|
-
autoload :Actions, File.expand_path("actions", __dir__)
|
13
|
-
autoload :RakeCompat, File.expand_path("rake_compat", __dir__)
|
14
|
-
autoload :Group, File.expand_path("group", __dir__)
|
15
|
-
|
16
|
-
# Shortcuts for help.
|
17
|
-
HELP_MAPPINGS = %w(-h -? --help -D)
|
18
|
-
|
19
|
-
# Thor methods that should not be overwritten by the user.
|
20
|
-
THOR_RESERVED_WORDS = %w(invoke shell options behavior root destination_root relative_root
|
21
|
-
action add_file create_file in_root inside run run_ruby_script)
|
22
|
-
|
23
|
-
TEMPLATE_EXTNAME = ".tt"
|
24
|
-
|
25
|
-
class << self
|
26
|
-
def deprecation_warning(message) #:nodoc:
|
27
|
-
unless ENV['THOR_SILENCE_DEPRECATION']
|
28
|
-
warn "Deprecation warning: #{message}\n" +
|
29
|
-
'You can silence deprecations warning by setting the environment variable THOR_SILENCE_DEPRECATION.'
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
module Base
|
35
|
-
attr_accessor :options, :parent_options, :args
|
36
|
-
|
37
|
-
# It receives arguments in an Array and two hashes, one for options and
|
38
|
-
# other for configuration.
|
39
|
-
#
|
40
|
-
# Notice that it does not check if all required arguments were supplied.
|
41
|
-
# It should be done by the parser.
|
42
|
-
#
|
43
|
-
# ==== Parameters
|
44
|
-
# args<Array[Object]>:: An array of objects. The objects are applied to their
|
45
|
-
# respective accessors declared with <tt>argument</tt>.
|
46
|
-
#
|
47
|
-
# options<Hash>:: An options hash that will be available as self.options.
|
48
|
-
# The hash given is converted to a hash with indifferent
|
49
|
-
# access, magic predicates (options.skip?) and then frozen.
|
50
|
-
#
|
51
|
-
# config<Hash>:: Configuration for this Thor class.
|
52
|
-
#
|
53
|
-
def initialize(args = [], local_options = {}, config = {})
|
54
|
-
parse_options = self.class.class_options
|
55
|
-
|
56
|
-
# The start method splits inbound arguments at the first argument
|
57
|
-
# that looks like an option (starts with - or --). It then calls
|
58
|
-
# new, passing in the two halves of the arguments Array as the
|
59
|
-
# first two parameters.
|
60
|
-
|
61
|
-
command_options = config.delete(:command_options) # hook for start
|
62
|
-
parse_options = parse_options.merge(command_options) if command_options
|
63
|
-
if local_options.is_a?(Array)
|
64
|
-
array_options = local_options
|
65
|
-
hash_options = {}
|
66
|
-
else
|
67
|
-
# Handle the case where the class was explicitly instantiated
|
68
|
-
# with pre-parsed options.
|
69
|
-
array_options = []
|
70
|
-
hash_options = local_options
|
71
|
-
end
|
72
|
-
|
73
|
-
# Let Thor::Options parse the options first, so it can remove
|
74
|
-
# declared options from the array. This will leave us with
|
75
|
-
# a list of arguments that weren't declared.
|
76
|
-
stop_on_unknown = self.class.stop_on_unknown_option? config[:current_command]
|
77
|
-
disable_required_check = self.class.disable_required_check? config[:current_command]
|
78
|
-
opts = Thor::Options.new(parse_options, hash_options, stop_on_unknown, disable_required_check)
|
79
|
-
self.options = opts.parse(array_options)
|
80
|
-
self.options = config[:class_options].merge(options) if config[:class_options]
|
81
|
-
|
82
|
-
# If unknown options are disallowed, make sure that none of the
|
83
|
-
# remaining arguments looks like an option.
|
84
|
-
opts.check_unknown! if self.class.check_unknown_options?(config)
|
85
|
-
|
86
|
-
# Add the remaining arguments from the options parser to the
|
87
|
-
# arguments passed in to initialize. Then remove any positional
|
88
|
-
# arguments declared using #argument (this is primarily used
|
89
|
-
# by Thor::Group). Tis will leave us with the remaining
|
90
|
-
# positional arguments.
|
91
|
-
to_parse = args
|
92
|
-
to_parse += opts.remaining unless self.class.strict_args_position?(config)
|
93
|
-
|
94
|
-
thor_args = Thor::Arguments.new(self.class.arguments)
|
95
|
-
thor_args.parse(to_parse).each { |k, v| __send__("#{k}=", v) }
|
96
|
-
@args = thor_args.remaining
|
97
|
-
end
|
98
|
-
|
99
|
-
class << self
|
100
|
-
def included(base) #:nodoc:
|
101
|
-
super(base)
|
102
|
-
base.extend ClassMethods
|
103
|
-
base.send :include, Invocation
|
104
|
-
base.send :include, Shell
|
105
|
-
end
|
106
|
-
|
107
|
-
# Returns the classes that inherits from Thor or Thor::Group.
|
108
|
-
#
|
109
|
-
# ==== Returns
|
110
|
-
# Array[Class]
|
111
|
-
#
|
112
|
-
def subclasses
|
113
|
-
@subclasses ||= []
|
114
|
-
end
|
115
|
-
|
116
|
-
# Returns the files where the subclasses are kept.
|
117
|
-
#
|
118
|
-
# ==== Returns
|
119
|
-
# Hash[path<String> => Class]
|
120
|
-
#
|
121
|
-
def subclass_files
|
122
|
-
@subclass_files ||= Hash.new { |h, k| h[k] = [] }
|
123
|
-
end
|
124
|
-
|
125
|
-
# Whenever a class inherits from Thor or Thor::Group, we should track the
|
126
|
-
# class and the file on Thor::Base. This is the method responsible for it.
|
127
|
-
#
|
128
|
-
def register_klass_file(klass) #:nodoc:
|
129
|
-
file = caller[1].match(/(.*):\d+/)[1]
|
130
|
-
Thor::Base.subclasses << klass unless Thor::Base.subclasses.include?(klass)
|
131
|
-
|
132
|
-
file_subclasses = Thor::Base.subclass_files[File.expand_path(file)]
|
133
|
-
file_subclasses << klass unless file_subclasses.include?(klass)
|
134
|
-
end
|
135
|
-
end
|
136
|
-
|
137
|
-
module ClassMethods
|
138
|
-
def attr_reader(*) #:nodoc:
|
139
|
-
no_commands { super }
|
140
|
-
end
|
141
|
-
|
142
|
-
def attr_writer(*) #:nodoc:
|
143
|
-
no_commands { super }
|
144
|
-
end
|
145
|
-
|
146
|
-
def attr_accessor(*) #:nodoc:
|
147
|
-
no_commands { super }
|
148
|
-
end
|
149
|
-
|
150
|
-
# If you want to raise an error for unknown options, call check_unknown_options!
|
151
|
-
# This is disabled by default to allow dynamic invocations.
|
152
|
-
def check_unknown_options!
|
153
|
-
@check_unknown_options = true
|
154
|
-
end
|
155
|
-
|
156
|
-
def check_unknown_options #:nodoc:
|
157
|
-
@check_unknown_options ||= from_superclass(:check_unknown_options, false)
|
158
|
-
end
|
159
|
-
|
160
|
-
def check_unknown_options?(config) #:nodoc:
|
161
|
-
!!check_unknown_options
|
162
|
-
end
|
163
|
-
|
164
|
-
# If you want to raise an error when the default value of an option does not match
|
165
|
-
# the type call check_default_type!
|
166
|
-
# This will be the default; for compatibility a deprecation warning is issued if necessary.
|
167
|
-
def check_default_type!
|
168
|
-
@check_default_type = true
|
169
|
-
end
|
170
|
-
|
171
|
-
# If you want to use defaults that don't match the type of an option,
|
172
|
-
# either specify `check_default_type: false` or call `allow_incompatible_default_type!`
|
173
|
-
def allow_incompatible_default_type!
|
174
|
-
@check_default_type = false
|
175
|
-
end
|
176
|
-
|
177
|
-
def check_default_type #:nodoc:
|
178
|
-
@check_default_type = from_superclass(:check_default_type, nil) unless defined?(@check_default_type)
|
179
|
-
@check_default_type
|
180
|
-
end
|
181
|
-
|
182
|
-
# If true, option parsing is suspended as soon as an unknown option or a
|
183
|
-
# regular argument is encountered. All remaining arguments are passed to
|
184
|
-
# the command as regular arguments.
|
185
|
-
def stop_on_unknown_option?(command_name) #:nodoc:
|
186
|
-
false
|
187
|
-
end
|
188
|
-
|
189
|
-
# If true, option set will not suspend the execution of the command when
|
190
|
-
# a required option is not provided.
|
191
|
-
def disable_required_check?(command_name) #:nodoc:
|
192
|
-
false
|
193
|
-
end
|
194
|
-
|
195
|
-
# If you want only strict string args (useful when cascading thor classes),
|
196
|
-
# call strict_args_position! This is disabled by default to allow dynamic
|
197
|
-
# invocations.
|
198
|
-
def strict_args_position!
|
199
|
-
@strict_args_position = true
|
200
|
-
end
|
201
|
-
|
202
|
-
def strict_args_position #:nodoc:
|
203
|
-
@strict_args_position ||= from_superclass(:strict_args_position, false)
|
204
|
-
end
|
205
|
-
|
206
|
-
def strict_args_position?(config) #:nodoc:
|
207
|
-
!!strict_args_position
|
208
|
-
end
|
209
|
-
|
210
|
-
# Adds an argument to the class and creates an attr_accessor for it.
|
211
|
-
#
|
212
|
-
# Arguments are different from options in several aspects. The first one
|
213
|
-
# is how they are parsed from the command line, arguments are retrieved
|
214
|
-
# from position:
|
215
|
-
#
|
216
|
-
# thor command NAME
|
217
|
-
#
|
218
|
-
# Instead of:
|
219
|
-
#
|
220
|
-
# thor command --name=NAME
|
221
|
-
#
|
222
|
-
# Besides, arguments are used inside your code as an accessor (self.argument),
|
223
|
-
# while options are all kept in a hash (self.options).
|
224
|
-
#
|
225
|
-
# Finally, arguments cannot have type :default or :boolean but can be
|
226
|
-
# optional (supplying :optional => :true or :required => false), although
|
227
|
-
# you cannot have a required argument after a non-required argument. If you
|
228
|
-
# try it, an error is raised.
|
229
|
-
#
|
230
|
-
# ==== Parameters
|
231
|
-
# name<Symbol>:: The name of the argument.
|
232
|
-
# options<Hash>:: Described below.
|
233
|
-
#
|
234
|
-
# ==== Options
|
235
|
-
# :desc - Description for the argument.
|
236
|
-
# :required - If the argument is required or not.
|
237
|
-
# :optional - If the argument is optional or not.
|
238
|
-
# :type - The type of the argument, can be :string, :hash, :array, :numeric.
|
239
|
-
# :default - Default value for this argument. It cannot be required and have default values.
|
240
|
-
# :banner - String to show on usage notes.
|
241
|
-
#
|
242
|
-
# ==== Errors
|
243
|
-
# ArgumentError:: Raised if you supply a required argument after a non required one.
|
244
|
-
#
|
245
|
-
def argument(name, options = {})
|
246
|
-
is_thor_reserved_word?(name, :argument)
|
247
|
-
no_commands { attr_accessor name }
|
248
|
-
|
249
|
-
required = if options.key?(:optional)
|
250
|
-
!options[:optional]
|
251
|
-
elsif options.key?(:required)
|
252
|
-
options[:required]
|
253
|
-
else
|
254
|
-
options[:default].nil?
|
255
|
-
end
|
256
|
-
|
257
|
-
remove_argument name
|
258
|
-
|
259
|
-
if required
|
260
|
-
arguments.each do |argument|
|
261
|
-
next if argument.required?
|
262
|
-
raise ArgumentError, "You cannot have #{name.to_s.inspect} as required argument after " \
|
263
|
-
"the non-required argument #{argument.human_name.inspect}."
|
264
|
-
end
|
265
|
-
end
|
266
|
-
|
267
|
-
options[:required] = required
|
268
|
-
|
269
|
-
arguments << Thor::Argument.new(name, options)
|
270
|
-
end
|
271
|
-
|
272
|
-
# Returns this class arguments, looking up in the ancestors chain.
|
273
|
-
#
|
274
|
-
# ==== Returns
|
275
|
-
# Array[Thor::Argument]
|
276
|
-
#
|
277
|
-
def arguments
|
278
|
-
@arguments ||= from_superclass(:arguments, [])
|
279
|
-
end
|
280
|
-
|
281
|
-
# Adds a bunch of options to the set of class options.
|
282
|
-
#
|
283
|
-
# class_options :foo => false, :bar => :required, :baz => :string
|
284
|
-
#
|
285
|
-
# If you prefer more detailed declaration, check class_option.
|
286
|
-
#
|
287
|
-
# ==== Parameters
|
288
|
-
# Hash[Symbol => Object]
|
289
|
-
#
|
290
|
-
def class_options(options = nil)
|
291
|
-
@class_options ||= from_superclass(:class_options, {})
|
292
|
-
build_options(options, @class_options) if options
|
293
|
-
@class_options
|
294
|
-
end
|
295
|
-
|
296
|
-
# Adds an option to the set of class options
|
297
|
-
#
|
298
|
-
# ==== Parameters
|
299
|
-
# name<Symbol>:: The name of the argument.
|
300
|
-
# options<Hash>:: Described below.
|
301
|
-
#
|
302
|
-
# ==== Options
|
303
|
-
# :desc:: -- Description for the argument.
|
304
|
-
# :required:: -- If the argument is required or not.
|
305
|
-
# :default:: -- Default value for this argument.
|
306
|
-
# :group:: -- The group for this options. Use by class options to output options in different levels.
|
307
|
-
# :aliases:: -- Aliases for this option. <b>Note:</b> Thor follows a convention of one-dash-one-letter options. Thus aliases like "-something" wouldn't be parsed; use either "\--something" or "-s" instead.
|
308
|
-
# :type:: -- The type of the argument, can be :string, :hash, :array, :numeric or :boolean.
|
309
|
-
# :banner:: -- String to show on usage notes.
|
310
|
-
# :hide:: -- If you want to hide this option from the help.
|
311
|
-
#
|
312
|
-
def class_option(name, options = {})
|
313
|
-
build_option(name, options, class_options)
|
314
|
-
end
|
315
|
-
|
316
|
-
# Removes a previous defined argument. If :undefine is given, undefine
|
317
|
-
# accessors as well.
|
318
|
-
#
|
319
|
-
# ==== Parameters
|
320
|
-
# names<Array>:: Arguments to be removed
|
321
|
-
#
|
322
|
-
# ==== Examples
|
323
|
-
#
|
324
|
-
# remove_argument :foo
|
325
|
-
# remove_argument :foo, :bar, :baz, :undefine => true
|
326
|
-
#
|
327
|
-
def remove_argument(*names)
|
328
|
-
options = names.last.is_a?(Hash) ? names.pop : {}
|
329
|
-
|
330
|
-
names.each do |name|
|
331
|
-
arguments.delete_if { |a| a.name == name.to_s }
|
332
|
-
undef_method name, "#{name}=" if options[:undefine]
|
333
|
-
end
|
334
|
-
end
|
335
|
-
|
336
|
-
# Removes a previous defined class option.
|
337
|
-
#
|
338
|
-
# ==== Parameters
|
339
|
-
# names<Array>:: Class options to be removed
|
340
|
-
#
|
341
|
-
# ==== Examples
|
342
|
-
#
|
343
|
-
# remove_class_option :foo
|
344
|
-
# remove_class_option :foo, :bar, :baz
|
345
|
-
#
|
346
|
-
def remove_class_option(*names)
|
347
|
-
names.each do |name|
|
348
|
-
class_options.delete(name)
|
349
|
-
end
|
350
|
-
end
|
351
|
-
|
352
|
-
# Defines the group. This is used when thor list is invoked so you can specify
|
353
|
-
# that only commands from a pre-defined group will be shown. Defaults to standard.
|
354
|
-
#
|
355
|
-
# ==== Parameters
|
356
|
-
# name<String|Symbol>
|
357
|
-
#
|
358
|
-
def group(name = nil)
|
359
|
-
if name
|
360
|
-
@group = name.to_s
|
361
|
-
else
|
362
|
-
@group ||= from_superclass(:group, "standard")
|
363
|
-
end
|
364
|
-
end
|
365
|
-
|
366
|
-
# Returns the commands for this Thor class.
|
367
|
-
#
|
368
|
-
# ==== Returns
|
369
|
-
# Hash:: An ordered hash with commands names as keys and Thor::Command
|
370
|
-
# objects as values.
|
371
|
-
#
|
372
|
-
def commands
|
373
|
-
@commands ||= Hash.new
|
374
|
-
end
|
375
|
-
alias_method :tasks, :commands
|
376
|
-
|
377
|
-
# Returns the commands for this Thor class and all subclasses.
|
378
|
-
#
|
379
|
-
# ==== Returns
|
380
|
-
# Hash:: An ordered hash with commands names as keys and Thor::Command
|
381
|
-
# objects as values.
|
382
|
-
#
|
383
|
-
def all_commands
|
384
|
-
@all_commands ||= from_superclass(:all_commands, Hash.new)
|
385
|
-
@all_commands.merge!(commands)
|
386
|
-
end
|
387
|
-
alias_method :all_tasks, :all_commands
|
388
|
-
|
389
|
-
# Removes a given command from this Thor class. This is usually done if you
|
390
|
-
# are inheriting from another class and don't want it to be available
|
391
|
-
# anymore.
|
392
|
-
#
|
393
|
-
# By default it only remove the mapping to the command. But you can supply
|
394
|
-
# :undefine => true to undefine the method from the class as well.
|
395
|
-
#
|
396
|
-
# ==== Parameters
|
397
|
-
# name<Symbol|String>:: The name of the command to be removed
|
398
|
-
# options<Hash>:: You can give :undefine => true if you want commands the method
|
399
|
-
# to be undefined from the class as well.
|
400
|
-
#
|
401
|
-
def remove_command(*names)
|
402
|
-
options = names.last.is_a?(Hash) ? names.pop : {}
|
403
|
-
|
404
|
-
names.each do |name|
|
405
|
-
commands.delete(name.to_s)
|
406
|
-
all_commands.delete(name.to_s)
|
407
|
-
undef_method name if options[:undefine]
|
408
|
-
end
|
409
|
-
end
|
410
|
-
alias_method :remove_task, :remove_command
|
411
|
-
|
412
|
-
# All methods defined inside the given block are not added as commands.
|
413
|
-
#
|
414
|
-
# So you can do:
|
415
|
-
#
|
416
|
-
# class MyScript < Thor
|
417
|
-
# no_commands do
|
418
|
-
# def this_is_not_a_command
|
419
|
-
# end
|
420
|
-
# end
|
421
|
-
# end
|
422
|
-
#
|
423
|
-
# You can also add the method and remove it from the command list:
|
424
|
-
#
|
425
|
-
# class MyScript < Thor
|
426
|
-
# def this_is_not_a_command
|
427
|
-
# end
|
428
|
-
# remove_command :this_is_not_a_command
|
429
|
-
# end
|
430
|
-
#
|
431
|
-
def no_commands(&block)
|
432
|
-
no_commands_context.enter(&block)
|
433
|
-
end
|
434
|
-
|
435
|
-
alias_method :no_tasks, :no_commands
|
436
|
-
|
437
|
-
def no_commands_context
|
438
|
-
@no_commands_context ||= NestedContext.new
|
439
|
-
end
|
440
|
-
|
441
|
-
def no_commands?
|
442
|
-
no_commands_context.entered?
|
443
|
-
end
|
444
|
-
|
445
|
-
# Sets the namespace for the Thor or Thor::Group class. By default the
|
446
|
-
# namespace is retrieved from the class name. If your Thor class is named
|
447
|
-
# Scripts::MyScript, the help method, for example, will be called as:
|
448
|
-
#
|
449
|
-
# thor scripts:my_script -h
|
450
|
-
#
|
451
|
-
# If you change the namespace:
|
452
|
-
#
|
453
|
-
# namespace :my_scripts
|
454
|
-
#
|
455
|
-
# You change how your commands are invoked:
|
456
|
-
#
|
457
|
-
# thor my_scripts -h
|
458
|
-
#
|
459
|
-
# Finally, if you change your namespace to default:
|
460
|
-
#
|
461
|
-
# namespace :default
|
462
|
-
#
|
463
|
-
# Your commands can be invoked with a shortcut. Instead of:
|
464
|
-
#
|
465
|
-
# thor :my_command
|
466
|
-
#
|
467
|
-
def namespace(name = nil)
|
468
|
-
if name
|
469
|
-
@namespace = name.to_s
|
470
|
-
else
|
471
|
-
@namespace ||= Thor::Util.namespace_from_thor_class(self)
|
472
|
-
end
|
473
|
-
end
|
474
|
-
|
475
|
-
# Parses the command and options from the given args, instantiate the class
|
476
|
-
# and invoke the command. This method is used when the arguments must be parsed
|
477
|
-
# from an array. If you are inside Ruby and want to use a Thor class, you
|
478
|
-
# can simply initialize it:
|
479
|
-
#
|
480
|
-
# script = MyScript.new(args, options, config)
|
481
|
-
# script.invoke(:command, first_arg, second_arg, third_arg)
|
482
|
-
#
|
483
|
-
def start(given_args = ARGV, config = {})
|
484
|
-
config[:shell] ||= Thor::Base.shell.new
|
485
|
-
dispatch(nil, given_args.dup, nil, config)
|
486
|
-
rescue Thor::Error => e
|
487
|
-
config[:debug] || ENV["THOR_DEBUG"] == "1" ? (raise e) : config[:shell].error(e.message)
|
488
|
-
exit(false) if exit_on_failure?
|
489
|
-
rescue Errno::EPIPE
|
490
|
-
# This happens if a thor command is piped to something like `head`,
|
491
|
-
# which closes the pipe when it's done reading. This will also
|
492
|
-
# mean that if the pipe is closed, further unnecessary
|
493
|
-
# computation will not occur.
|
494
|
-
exit(true)
|
495
|
-
end
|
496
|
-
|
497
|
-
# Allows to use private methods from parent in child classes as commands.
|
498
|
-
#
|
499
|
-
# ==== Parameters
|
500
|
-
# names<Array>:: Method names to be used as commands
|
501
|
-
#
|
502
|
-
# ==== Examples
|
503
|
-
#
|
504
|
-
# public_command :foo
|
505
|
-
# public_command :foo, :bar, :baz
|
506
|
-
#
|
507
|
-
def public_command(*names)
|
508
|
-
names.each do |name|
|
509
|
-
class_eval "def #{name}(*); super end"
|
510
|
-
end
|
511
|
-
end
|
512
|
-
alias_method :public_task, :public_command
|
513
|
-
|
514
|
-
def handle_no_command_error(command, has_namespace = $thor_runner) #:nodoc:
|
515
|
-
raise UndefinedCommandError.new(command, all_commands.keys, (namespace if has_namespace))
|
516
|
-
end
|
517
|
-
alias_method :handle_no_task_error, :handle_no_command_error
|
518
|
-
|
519
|
-
def handle_argument_error(command, error, args, arity) #:nodoc:
|
520
|
-
name = [command.ancestor_name, command.name].compact.join(" ")
|
521
|
-
msg = "ERROR: \"#{basename} #{name}\" was called with ".dup
|
522
|
-
msg << "no arguments" if args.empty?
|
523
|
-
msg << "arguments " << args.inspect unless args.empty?
|
524
|
-
msg << "\nUsage: \"#{banner(command).split("\n").join("\"\n \"")}\""
|
525
|
-
raise InvocationError, msg
|
526
|
-
end
|
527
|
-
|
528
|
-
# A flag that makes the process exit with status 1 if any error happens.
|
529
|
-
def exit_on_failure?
|
530
|
-
Thor.deprecation_warning "Thor exit with status 0 on errors. To keep this behavior, you must define `exit_on_failure?` in `#{self.name}`"
|
531
|
-
false
|
532
|
-
end
|
533
|
-
|
534
|
-
protected
|
535
|
-
|
536
|
-
# Prints the class options per group. If an option does not belong to
|
537
|
-
# any group, it's printed as Class option.
|
538
|
-
#
|
539
|
-
def class_options_help(shell, groups = {}) #:nodoc:
|
540
|
-
# Group options by group
|
541
|
-
class_options.each do |_, value|
|
542
|
-
groups[value.group] ||= []
|
543
|
-
groups[value.group] << value
|
544
|
-
end
|
545
|
-
|
546
|
-
# Deal with default group
|
547
|
-
global_options = groups.delete(nil) || []
|
548
|
-
print_options(shell, global_options)
|
549
|
-
|
550
|
-
# Print all others
|
551
|
-
groups.each do |group_name, options|
|
552
|
-
print_options(shell, options, group_name)
|
553
|
-
end
|
554
|
-
end
|
555
|
-
|
556
|
-
# Receives a set of options and print them.
|
557
|
-
def print_options(shell, options, group_name = nil)
|
558
|
-
return if options.empty?
|
559
|
-
|
560
|
-
list = []
|
561
|
-
padding = options.map { |o| o.aliases.size }.max.to_i * 4
|
562
|
-
|
563
|
-
options.each do |option|
|
564
|
-
next if option.hide
|
565
|
-
item = [option.usage(padding)]
|
566
|
-
item.push(option.description ? "# #{option.description}" : "")
|
567
|
-
|
568
|
-
list << item
|
569
|
-
list << ["", "# Default: #{option.default}"] if option.show_default?
|
570
|
-
list << ["", "# Possible values: #{option.enum.join(', ')}"] if option.enum
|
571
|
-
end
|
572
|
-
|
573
|
-
shell.say(group_name ? "#{group_name} options:" : "Options:")
|
574
|
-
shell.print_table(list, :indent => 2)
|
575
|
-
shell.say ""
|
576
|
-
end
|
577
|
-
|
578
|
-
# Raises an error if the word given is a Thor reserved word.
|
579
|
-
def is_thor_reserved_word?(word, type) #:nodoc:
|
580
|
-
return false unless THOR_RESERVED_WORDS.include?(word.to_s)
|
581
|
-
raise "#{word.inspect} is a Thor reserved word and cannot be defined as #{type}"
|
582
|
-
end
|
583
|
-
|
584
|
-
# Build an option and adds it to the given scope.
|
585
|
-
#
|
586
|
-
# ==== Parameters
|
587
|
-
# name<Symbol>:: The name of the argument.
|
588
|
-
# options<Hash>:: Described in both class_option and method_option.
|
589
|
-
# scope<Hash>:: Options hash that is being built up
|
590
|
-
def build_option(name, options, scope) #:nodoc:
|
591
|
-
scope[name] = Thor::Option.new(name, {:check_default_type => check_default_type}.merge!(options))
|
592
|
-
end
|
593
|
-
|
594
|
-
# Receives a hash of options, parse them and add to the scope. This is a
|
595
|
-
# fast way to set a bunch of options:
|
596
|
-
#
|
597
|
-
# build_options :foo => true, :bar => :required, :baz => :string
|
598
|
-
#
|
599
|
-
# ==== Parameters
|
600
|
-
# Hash[Symbol => Object]
|
601
|
-
def build_options(options, scope) #:nodoc:
|
602
|
-
options.each do |key, value|
|
603
|
-
scope[key] = Thor::Option.parse(key, value)
|
604
|
-
end
|
605
|
-
end
|
606
|
-
|
607
|
-
# Finds a command with the given name. If the command belongs to the current
|
608
|
-
# class, just return it, otherwise dup it and add the fresh copy to the
|
609
|
-
# current command hash.
|
610
|
-
def find_and_refresh_command(name) #:nodoc:
|
611
|
-
if commands[name.to_s]
|
612
|
-
commands[name.to_s]
|
613
|
-
elsif command = all_commands[name.to_s] # rubocop:disable AssignmentInCondition
|
614
|
-
commands[name.to_s] = command.clone
|
615
|
-
else
|
616
|
-
raise ArgumentError, "You supplied :for => #{name.inspect}, but the command #{name.inspect} could not be found."
|
617
|
-
end
|
618
|
-
end
|
619
|
-
alias_method :find_and_refresh_task, :find_and_refresh_command
|
620
|
-
|
621
|
-
# Everytime someone inherits from a Thor class, register the klass
|
622
|
-
# and file into baseclass.
|
623
|
-
def inherited(klass)
|
624
|
-
super(klass)
|
625
|
-
Thor::Base.register_klass_file(klass)
|
626
|
-
klass.instance_variable_set(:@no_commands, 0)
|
627
|
-
end
|
628
|
-
|
629
|
-
# Fire this callback whenever a method is added. Added methods are
|
630
|
-
# tracked as commands by invoking the create_command method.
|
631
|
-
def method_added(meth)
|
632
|
-
super(meth)
|
633
|
-
meth = meth.to_s
|
634
|
-
|
635
|
-
if meth == "initialize"
|
636
|
-
initialize_added
|
637
|
-
return
|
638
|
-
end
|
639
|
-
|
640
|
-
# Return if it's not a public instance method
|
641
|
-
return unless public_method_defined?(meth.to_sym)
|
642
|
-
|
643
|
-
return if no_commands? || !create_command(meth)
|
644
|
-
|
645
|
-
is_thor_reserved_word?(meth, :command)
|
646
|
-
Thor::Base.register_klass_file(self)
|
647
|
-
end
|
648
|
-
|
649
|
-
# Retrieves a value from superclass. If it reaches the baseclass,
|
650
|
-
# returns default.
|
651
|
-
def from_superclass(method, default = nil)
|
652
|
-
if self == baseclass || !superclass.respond_to?(method, true)
|
653
|
-
default
|
654
|
-
else
|
655
|
-
value = superclass.send(method)
|
656
|
-
|
657
|
-
# Ruby implements `dup` on Object, but raises a `TypeError`
|
658
|
-
# if the method is called on immediates. As a result, we
|
659
|
-
# don't have a good way to check whether dup will succeed
|
660
|
-
# without calling it and rescuing the TypeError.
|
661
|
-
begin
|
662
|
-
value.dup
|
663
|
-
rescue TypeError
|
664
|
-
value
|
665
|
-
end
|
666
|
-
|
667
|
-
end
|
668
|
-
end
|
669
|
-
|
670
|
-
#
|
671
|
-
# The basename of the program invoking the thor class.
|
672
|
-
#
|
673
|
-
def basename
|
674
|
-
File.basename($PROGRAM_NAME).split(" ").first
|
675
|
-
end
|
676
|
-
|
677
|
-
# SIGNATURE: Sets the baseclass. This is where the superclass lookup
|
678
|
-
# finishes.
|
679
|
-
def baseclass #:nodoc:
|
680
|
-
end
|
681
|
-
|
682
|
-
# SIGNATURE: Creates a new command if valid_command? is true. This method is
|
683
|
-
# called when a new method is added to the class.
|
684
|
-
def create_command(meth) #:nodoc:
|
685
|
-
end
|
686
|
-
alias_method :create_task, :create_command
|
687
|
-
|
688
|
-
# SIGNATURE: Defines behavior when the initialize method is added to the
|
689
|
-
# class.
|
690
|
-
def initialize_added #:nodoc:
|
691
|
-
end
|
692
|
-
|
693
|
-
# SIGNATURE: The hook invoked by start.
|
694
|
-
def dispatch(command, given_args, given_opts, config) #:nodoc:
|
695
|
-
raise NotImplementedError
|
696
|
-
end
|
697
|
-
end
|
698
|
-
end
|
699
|
-
end
|