simple-command-parser 1.0 → 1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Rakefile +1 -9
- data/lib/simple-command-parser.rb +14 -4
- data/simple-command-parser.gemspec +4 -4
- data/test/command_test.rb +1 -1
- metadata +15 -19
- data/Gemfile +0 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 16cd07f174304e5638c44cba3f2a5a9c16c72e6261740d780b8b66a373e27618
|
|
4
|
+
data.tar.gz: 51144364948e633245a6905fe28fff3abfd513a635e56b8fa2720b1610aa9f84
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9c0eaf2507ec0fa82229b940dee182916b037359aede01f5e41fb5c8f55a7f18d3567a310e98cb04ff2350ed89ffd7c82b6939f483abc09b37a1529bd7de8c2c
|
|
7
|
+
data.tar.gz: 2eec0d8655855c24492597a61b111a6184dbe8782f5309df887ab2836b9dd6e07f40f8e5418b4f015a4479f2fd577258f519dd1ae78f3954999d255fd61daf11
|
data/Rakefile
CHANGED
|
@@ -6,11 +6,16 @@ module Simple
|
|
|
6
6
|
|
|
7
7
|
class UsageError < StandardError; end
|
|
8
8
|
|
|
9
|
-
def self.run(*args)
|
|
10
|
-
|
|
9
|
+
def self.run!(*args)
|
|
10
|
+
begin
|
|
11
|
+
run(*args)
|
|
12
|
+
rescue UsageError => e
|
|
13
|
+
warn "#{$0}: #{e}"
|
|
14
|
+
exit(1)
|
|
15
|
+
end
|
|
11
16
|
end
|
|
12
17
|
|
|
13
|
-
def run(args=ARGV, **defaults)
|
|
18
|
+
def self.run(args=ARGV, **defaults)
|
|
14
19
|
cmd_name = args.shift or raise UsageError, "No command given"
|
|
15
20
|
cmd_class = Command.find_command(cmd_name) or raise UsageError, "Unknown command: #{cmd_name.inspect}"
|
|
16
21
|
options = defaults.merge(cmd_class.defaults.merge(SimpleOptionParser.parse(args)))
|
|
@@ -25,6 +30,7 @@ module Simple
|
|
|
25
30
|
end
|
|
26
31
|
|
|
27
32
|
def self.find_command(name)
|
|
33
|
+
@@command_classes ||= []
|
|
28
34
|
map = @@command_classes.select { |k| k.subclasses.empty? }.map { |k| [k.command_name, k] }.to_h
|
|
29
35
|
map[name]
|
|
30
36
|
end
|
|
@@ -42,11 +48,15 @@ module Simple
|
|
|
42
48
|
|
|
43
49
|
def initialize(options={})
|
|
44
50
|
options.each do |key, value|
|
|
45
|
-
raise
|
|
51
|
+
raise UsageError, "Unknown option: #{key.inspect}" unless respond_to?(key)
|
|
46
52
|
send("#{key}=", value)
|
|
47
53
|
end
|
|
48
54
|
end
|
|
49
55
|
|
|
56
|
+
def run(args)
|
|
57
|
+
# implemented by subclass
|
|
58
|
+
end
|
|
59
|
+
|
|
50
60
|
end
|
|
51
61
|
|
|
52
62
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Gem::Specification.new do |s|
|
|
2
2
|
s.name = 'simple-command-parser'
|
|
3
|
-
s.version = '1.
|
|
3
|
+
s.version = '1.2'
|
|
4
4
|
s.summary = 'A simple command parser.'
|
|
5
5
|
s.author = 'John Labovitz'
|
|
6
6
|
s.email = 'johnl@johnlabovitz.com'
|
|
@@ -16,8 +16,8 @@ Gem::Specification.new do |s|
|
|
|
16
16
|
|
|
17
17
|
s.add_dependency 'simple_option_parser', '~> 0.8'
|
|
18
18
|
|
|
19
|
-
s.add_development_dependency '
|
|
20
|
-
s.add_development_dependency 'minitest', '~> 5.22'
|
|
19
|
+
s.add_development_dependency 'minitest', '~> 5.25'
|
|
21
20
|
s.add_development_dependency 'minitest-power_assert', '~> 0.3'
|
|
22
|
-
s.add_development_dependency 'rake', '~> 13.
|
|
21
|
+
s.add_development_dependency 'rake', '~> 13.3'
|
|
22
|
+
s.add_development_dependency 'simple-rake-tasks', '~> 0.1'
|
|
23
23
|
end
|
data/test/command_test.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: simple-command-parser
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: '1.
|
|
4
|
+
version: '1.2'
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- John Labovitz
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: simple_option_parser
|
|
@@ -25,61 +24,61 @@ dependencies:
|
|
|
25
24
|
- !ruby/object:Gem::Version
|
|
26
25
|
version: '0.8'
|
|
27
26
|
- !ruby/object:Gem::Dependency
|
|
28
|
-
name:
|
|
27
|
+
name: minitest
|
|
29
28
|
requirement: !ruby/object:Gem::Requirement
|
|
30
29
|
requirements:
|
|
31
30
|
- - "~>"
|
|
32
31
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
32
|
+
version: '5.25'
|
|
34
33
|
type: :development
|
|
35
34
|
prerelease: false
|
|
36
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
36
|
requirements:
|
|
38
37
|
- - "~>"
|
|
39
38
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
39
|
+
version: '5.25'
|
|
41
40
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name: minitest
|
|
41
|
+
name: minitest-power_assert
|
|
43
42
|
requirement: !ruby/object:Gem::Requirement
|
|
44
43
|
requirements:
|
|
45
44
|
- - "~>"
|
|
46
45
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
46
|
+
version: '0.3'
|
|
48
47
|
type: :development
|
|
49
48
|
prerelease: false
|
|
50
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
50
|
requirements:
|
|
52
51
|
- - "~>"
|
|
53
52
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '
|
|
53
|
+
version: '0.3'
|
|
55
54
|
- !ruby/object:Gem::Dependency
|
|
56
|
-
name:
|
|
55
|
+
name: rake
|
|
57
56
|
requirement: !ruby/object:Gem::Requirement
|
|
58
57
|
requirements:
|
|
59
58
|
- - "~>"
|
|
60
59
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '
|
|
60
|
+
version: '13.3'
|
|
62
61
|
type: :development
|
|
63
62
|
prerelease: false
|
|
64
63
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
64
|
requirements:
|
|
66
65
|
- - "~>"
|
|
67
66
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: '
|
|
67
|
+
version: '13.3'
|
|
69
68
|
- !ruby/object:Gem::Dependency
|
|
70
|
-
name: rake
|
|
69
|
+
name: simple-rake-tasks
|
|
71
70
|
requirement: !ruby/object:Gem::Requirement
|
|
72
71
|
requirements:
|
|
73
72
|
- - "~>"
|
|
74
73
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '
|
|
74
|
+
version: '0.1'
|
|
76
75
|
type: :development
|
|
77
76
|
prerelease: false
|
|
78
77
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
78
|
requirements:
|
|
80
79
|
- - "~>"
|
|
81
80
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: '
|
|
81
|
+
version: '0.1'
|
|
83
82
|
description: Simple::CommandParser is a simple command parser.
|
|
84
83
|
email: johnl@johnlabovitz.com
|
|
85
84
|
executables: []
|
|
@@ -87,7 +86,6 @@ extensions: []
|
|
|
87
86
|
extra_rdoc_files: []
|
|
88
87
|
files:
|
|
89
88
|
- ".gitignore"
|
|
90
|
-
- Gemfile
|
|
91
89
|
- README.md
|
|
92
90
|
- Rakefile
|
|
93
91
|
- lib/simple-command-parser.rb
|
|
@@ -97,7 +95,6 @@ homepage: http://github.com/jslabovitz/simple-command-parser
|
|
|
97
95
|
licenses:
|
|
98
96
|
- MIT
|
|
99
97
|
metadata: {}
|
|
100
|
-
post_install_message:
|
|
101
98
|
rdoc_options: []
|
|
102
99
|
require_paths:
|
|
103
100
|
- lib
|
|
@@ -112,8 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
112
109
|
- !ruby/object:Gem::Version
|
|
113
110
|
version: '0'
|
|
114
111
|
requirements: []
|
|
115
|
-
rubygems_version: 3.
|
|
116
|
-
signing_key:
|
|
112
|
+
rubygems_version: 3.7.2
|
|
117
113
|
specification_version: 4
|
|
118
114
|
summary: A simple command parser.
|
|
119
115
|
test_files:
|
data/Gemfile
DELETED