toys-core 0.11.5 → 0.13.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +62 -0
- data/LICENSE.md +1 -1
- data/README.md +5 -2
- data/docs/guide.md +1 -1
- data/lib/toys/acceptor.rb +13 -4
- data/lib/toys/arg_parser.rb +7 -7
- data/lib/toys/cli.rb +170 -120
- data/lib/toys/compat.rb +71 -23
- data/lib/toys/completion.rb +18 -6
- data/lib/toys/context.rb +24 -15
- data/lib/toys/core.rb +6 -2
- data/lib/toys/dsl/base.rb +87 -0
- data/lib/toys/dsl/flag.rb +26 -20
- data/lib/toys/dsl/flag_group.rb +18 -14
- data/lib/toys/dsl/internal.rb +206 -0
- data/lib/toys/dsl/positional_arg.rb +26 -16
- data/lib/toys/dsl/tool.rb +180 -218
- data/lib/toys/errors.rb +64 -8
- data/lib/toys/flag.rb +662 -656
- data/lib/toys/flag_group.rb +24 -10
- data/lib/toys/input_file.rb +13 -7
- data/lib/toys/loader.rb +293 -140
- data/lib/toys/middleware.rb +46 -22
- data/lib/toys/mixin.rb +10 -8
- data/lib/toys/positional_arg.rb +21 -20
- data/lib/toys/settings.rb +914 -0
- data/lib/toys/source_info.rb +147 -35
- data/lib/toys/standard_middleware/add_verbosity_flags.rb +2 -0
- data/lib/toys/standard_middleware/apply_config.rb +6 -4
- data/lib/toys/standard_middleware/handle_usage_errors.rb +1 -0
- data/lib/toys/standard_middleware/set_default_descriptions.rb +19 -18
- data/lib/toys/standard_middleware/show_help.rb +19 -5
- data/lib/toys/standard_middleware/show_root_version.rb +2 -0
- data/lib/toys/standard_mixins/bundler.rb +24 -15
- data/lib/toys/standard_mixins/exec.rb +43 -34
- data/lib/toys/standard_mixins/fileutils.rb +3 -1
- data/lib/toys/standard_mixins/gems.rb +21 -17
- data/lib/toys/standard_mixins/git_cache.rb +46 -0
- data/lib/toys/standard_mixins/highline.rb +8 -8
- data/lib/toys/standard_mixins/terminal.rb +5 -5
- data/lib/toys/standard_mixins/xdg.rb +56 -0
- data/lib/toys/template.rb +11 -9
- data/lib/toys/{tool.rb → tool_definition.rb} +292 -226
- data/lib/toys/utils/completion_engine.rb +7 -2
- data/lib/toys/utils/exec.rb +162 -132
- data/lib/toys/utils/gems.rb +85 -60
- data/lib/toys/utils/git_cache.rb +813 -0
- data/lib/toys/utils/help_text.rb +117 -37
- data/lib/toys/utils/terminal.rb +11 -3
- data/lib/toys/utils/xdg.rb +293 -0
- data/lib/toys/wrappable_string.rb +9 -2
- data/lib/toys-core.rb +18 -6
- metadata +14 -7
data/lib/toys-core.rb
CHANGED
@@ -17,16 +17,21 @@ module Toys
|
|
17
17
|
# Namespace for DSL classes. These classes provide the directives that can be
|
18
18
|
# used in configuration files. Most are defined in {Toys::DSL::Tool}.
|
19
19
|
#
|
20
|
-
module DSL
|
20
|
+
module DSL
|
21
|
+
end
|
21
22
|
|
22
23
|
##
|
23
24
|
# Namespace for standard middleware classes.
|
24
25
|
#
|
25
26
|
module StandardMiddleware
|
26
|
-
##
|
27
|
+
##
|
28
|
+
# @private
|
29
|
+
#
|
27
30
|
COMMON_FLAG_GROUP = :__common
|
28
31
|
|
29
|
-
##
|
32
|
+
##
|
33
|
+
# @private
|
34
|
+
#
|
30
35
|
def self.append_common_flag_group(tool)
|
31
36
|
tool.add_flag_group(type: :optional, name: COMMON_FLAG_GROUP,
|
32
37
|
desc: "Common Flags", report_collisions: false)
|
@@ -37,7 +42,8 @@ module Toys
|
|
37
42
|
##
|
38
43
|
# Namespace for standard mixin classes.
|
39
44
|
#
|
40
|
-
module StandardMixins
|
45
|
+
module StandardMixins
|
46
|
+
end
|
41
47
|
|
42
48
|
##
|
43
49
|
# Namespace for common utility classes.
|
@@ -46,7 +52,8 @@ module Toys
|
|
46
52
|
# For example, before using {Toys::Utils::Exec}, you must
|
47
53
|
# `require "toys/utils/exec"`.
|
48
54
|
#
|
49
|
-
module Utils
|
55
|
+
module Utils
|
56
|
+
end
|
50
57
|
|
51
58
|
class << self
|
52
59
|
##
|
@@ -59,7 +66,9 @@ module Toys
|
|
59
66
|
attr_accessor :executable_path
|
60
67
|
end
|
61
68
|
|
69
|
+
##
|
62
70
|
# @private
|
71
|
+
#
|
63
72
|
CORE_LIB_PATH = __dir__
|
64
73
|
end
|
65
74
|
|
@@ -70,8 +79,10 @@ require "toys/compat"
|
|
70
79
|
require "toys/completion"
|
71
80
|
require "toys/context"
|
72
81
|
require "toys/core"
|
82
|
+
require "toys/dsl/base"
|
73
83
|
require "toys/dsl/flag"
|
74
84
|
require "toys/dsl/flag_group"
|
85
|
+
require "toys/dsl/internal"
|
75
86
|
require "toys/dsl/positional_arg"
|
76
87
|
require "toys/dsl/tool"
|
77
88
|
require "toys/errors"
|
@@ -83,7 +94,8 @@ require "toys/middleware"
|
|
83
94
|
require "toys/mixin"
|
84
95
|
require "toys/module_lookup"
|
85
96
|
require "toys/positional_arg"
|
97
|
+
require "toys/settings"
|
86
98
|
require "toys/source_info"
|
87
99
|
require "toys/template"
|
88
|
-
require "toys/
|
100
|
+
require "toys/tool_definition"
|
89
101
|
require "toys/wrappable_string"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: toys-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.13.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Azuma
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-02-08 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Toys-Core is the command line tool framework underlying Toys. It can
|
14
14
|
be used to create command line executables using the Toys DSL and classes.
|
@@ -31,8 +31,10 @@ files:
|
|
31
31
|
- lib/toys/completion.rb
|
32
32
|
- lib/toys/context.rb
|
33
33
|
- lib/toys/core.rb
|
34
|
+
- lib/toys/dsl/base.rb
|
34
35
|
- lib/toys/dsl/flag.rb
|
35
36
|
- lib/toys/dsl/flag_group.rb
|
37
|
+
- lib/toys/dsl/internal.rb
|
36
38
|
- lib/toys/dsl/positional_arg.rb
|
37
39
|
- lib/toys/dsl/tool.rb
|
38
40
|
- lib/toys/errors.rb
|
@@ -44,6 +46,7 @@ files:
|
|
44
46
|
- lib/toys/mixin.rb
|
45
47
|
- lib/toys/module_lookup.rb
|
46
48
|
- lib/toys/positional_arg.rb
|
49
|
+
- lib/toys/settings.rb
|
47
50
|
- lib/toys/source_info.rb
|
48
51
|
- lib/toys/standard_middleware/add_verbosity_flags.rb
|
49
52
|
- lib/toys/standard_middleware/apply_config.rb
|
@@ -55,24 +58,28 @@ files:
|
|
55
58
|
- lib/toys/standard_mixins/exec.rb
|
56
59
|
- lib/toys/standard_mixins/fileutils.rb
|
57
60
|
- lib/toys/standard_mixins/gems.rb
|
61
|
+
- lib/toys/standard_mixins/git_cache.rb
|
58
62
|
- lib/toys/standard_mixins/highline.rb
|
59
63
|
- lib/toys/standard_mixins/terminal.rb
|
64
|
+
- lib/toys/standard_mixins/xdg.rb
|
60
65
|
- lib/toys/template.rb
|
61
|
-
- lib/toys/
|
66
|
+
- lib/toys/tool_definition.rb
|
62
67
|
- lib/toys/utils/completion_engine.rb
|
63
68
|
- lib/toys/utils/exec.rb
|
64
69
|
- lib/toys/utils/gems.rb
|
70
|
+
- lib/toys/utils/git_cache.rb
|
65
71
|
- lib/toys/utils/help_text.rb
|
66
72
|
- lib/toys/utils/terminal.rb
|
73
|
+
- lib/toys/utils/xdg.rb
|
67
74
|
- lib/toys/wrappable_string.rb
|
68
75
|
homepage: https://github.com/dazuma/toys
|
69
76
|
licenses:
|
70
77
|
- MIT
|
71
78
|
metadata:
|
72
|
-
changelog_uri: https://dazuma.github.io/toys/gems/toys-core/v0.
|
79
|
+
changelog_uri: https://dazuma.github.io/toys/gems/toys-core/v0.13.0/file.CHANGELOG.html
|
73
80
|
source_code_uri: https://github.com/dazuma/toys/tree/main/toys-core
|
74
81
|
bug_tracker_uri: https://github.com/dazuma/toys/issues
|
75
|
-
documentation_uri: https://dazuma.github.io/toys/gems/toys-core/v0.
|
82
|
+
documentation_uri: https://dazuma.github.io/toys/gems/toys-core/v0.13.0
|
76
83
|
post_install_message:
|
77
84
|
rdoc_options: []
|
78
85
|
require_paths:
|
@@ -81,14 +88,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
81
88
|
requirements:
|
82
89
|
- - ">="
|
83
90
|
- !ruby/object:Gem::Version
|
84
|
-
version: 2.
|
91
|
+
version: 2.4.0
|
85
92
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
86
93
|
requirements:
|
87
94
|
- - ">="
|
88
95
|
- !ruby/object:Gem::Version
|
89
96
|
version: '0'
|
90
97
|
requirements: []
|
91
|
-
rubygems_version: 3.1.
|
98
|
+
rubygems_version: 3.1.6
|
92
99
|
signing_key:
|
93
100
|
specification_version: 4
|
94
101
|
summary: Framework for creating command line executables
|