parseopt 0.3.1 → 0.3.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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -0
  3. metadata +35 -9
  4. data/Rakefile +0 -7
  5. data/test/test_optparse.rb +0 -132
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 538791ca72e5a1b4ff32f3823f37c09c5d868b5d5e3b43ef7dadf4f548610c13
4
- data.tar.gz: c15c4e6cf7dfc53fc58bb6f368899c2ae750942bfa06cbc87d387dd9541329f1
3
+ metadata.gz: e71504505679f5006a0295dadbe34a54b1a89134e3eea20afc7de0276b87bf82
4
+ data.tar.gz: e033c551ba4bfeb45c7dd5a60805fff5f41c93de08df8fd3fd2bf1a08780ac43
5
5
  SHA512:
6
- metadata.gz: f415e04d1ed5f88bb3b816e6010e82dd1044f65c2e962bde14921ca303abad7682a6bc4f83223af097374774a103376eefb0010b6726acdc0311c09122c6263b
7
- data.tar.gz: 54dafee252160772e4f2d0560723cf7304810482353dd4c9bd06ae173e30d6638ee192d75c7cbca7753bf6bf9386483b66a3a6a1894b329b2b8eec7dc5b7d3ab
6
+ metadata.gz: 99fd1dc52decc99d6ba058968646fe4486f1879ad960785a452bdb7f01b2be3905f34d0bb60edee53c28f024fbeb5c0ff3b85fc44b2c0cfc70f6f6a6db678956
7
+ data.tar.gz: b75cc225b26888f84098758b44bb840dd522e03674d9fc638b8cbf80ed2a89d91c02199354b64a0334c4d11b089dedbaa75d53233a655c49713b3409556d6478
data/README.md CHANGED
@@ -1,5 +1,8 @@
1
1
  A very simple option parser.
2
2
 
3
+ It uses as inspiration Git's internal option parser code, and Ruby's
4
+ OptionParser.
5
+
3
6
  ```ruby
4
7
  require 'parseopt'
5
8
 
metadata CHANGED
@@ -1,25 +1,52 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parseopt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felipe Contreras
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-26 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2023-04-02 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '13'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '13'
27
+ - !ruby/object:Gem::Dependency
28
+ name: test-unit
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3'
13
41
  description:
14
42
  email: felipe.contreras@gmail.com
15
43
  executables: []
16
44
  extensions: []
17
- extra_rdoc_files: []
45
+ extra_rdoc_files:
46
+ - README.md
18
47
  files:
19
48
  - README.md
20
- - Rakefile
21
49
  - lib/parseopt.rb
22
- - test/test_optparse.rb
23
50
  homepage: https://github.com/felipec/ruby-parseopt
24
51
  licenses:
25
52
  - GPL-2.0-only
@@ -39,9 +66,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
39
66
  - !ruby/object:Gem::Version
40
67
  version: '0'
41
68
  requirements: []
42
- rubygems_version: 3.2.15
69
+ rubygems_version: 3.4.7
43
70
  signing_key:
44
71
  specification_version: 4
45
72
  summary: A very simple option parser.
46
- test_files:
47
- - test/test_optparse.rb
73
+ test_files: []
data/Rakefile DELETED
@@ -1,7 +0,0 @@
1
- require 'rake/testtask'
2
-
3
- task default: :test
4
-
5
- Rake::TestTask.new do |t|
6
- t.libs << 'test'
7
- end
@@ -1,132 +0,0 @@
1
- require 'test/unit'
2
- require 'parseopt'
3
- require 'stringio'
4
-
5
- class ParseOptTest < Test::Unit::TestCase
6
-
7
- def test_bool
8
- bool = false
9
- run_opts('b', %w[-b]) { |v| bool = v }
10
- assert(bool)
11
- end
12
-
13
- def test_empty_bool
14
- bool = false
15
- run_opts('b', []) { |v| bool = v }
16
- assert(!bool)
17
- end
18
-
19
- def test_unknown
20
- run_opts('b', %w[-x], %w[-x])
21
- end
22
-
23
- def test_other
24
- run_opts('b', %w[foo], %w[foo])
25
- end
26
-
27
- def test_other_then_bool
28
- bool = false
29
- run_opts('b', %w[foo -b], %w[foo]) { |v| bool = v }
30
- assert(bool)
31
- end
32
-
33
- def test_double_dash
34
- run_opts('b', %w[-- -b], %w[-b])
35
- end
36
-
37
- def test_value
38
- str = 'default'
39
- run_opts('s', %w[-sfoo]) { |v| str = v }
40
- assert_equal('foo', str)
41
- end
42
-
43
- def test_long
44
- bool = false
45
- run_opts(['b', 'bool'], %w[--bool]) { |v| bool = v }
46
- assert(bool)
47
- end
48
-
49
- def test_long_value
50
- str = 'default'
51
- run_opts(['s', 'string'], %w[--string=foo]) { |v| str = v }
52
- assert_equal('foo', str)
53
- end
54
-
55
- def test_no_long
56
- bool = true
57
- run_opts(['b', 'bool'], %w[--no-bool]) { |v| bool = v }
58
- assert(!bool)
59
- end
60
-
61
- def test_init
62
- bool = false
63
- ParseOpt.new('test script') do |opts|
64
- opts.on('b', 'bool') { |v| bool = v }
65
- end.parse(%w[-b])
66
- assert(bool)
67
- end
68
-
69
- def test_usage
70
- expected = <<~EOF
71
- usage:
72
- -b, --bool
73
- EOF
74
- run_usage(['b', 'bool'], expected) { |opts| opts.usage }
75
- end
76
-
77
- def test_help
78
- expected = <<~EOF
79
- usage:
80
- -b, --bool
81
- EOF
82
- run_usage(['b', 'bool'], expected) do |opts|
83
- begin
84
- opts.parse(%w[-h])
85
- rescue SystemExit
86
- end
87
- end
88
- end
89
-
90
- def test_custom_usage
91
- expected = <<~EOF
92
- usage: test script
93
- -b, --bool
94
- EOF
95
- run_usage(['b', 'bool'], expected) do |opts|
96
- opts.usage = 'test script'
97
- opts.usage
98
- end
99
- end
100
-
101
- def test_option_help
102
- expected = <<~EOF
103
- usage:
104
- -b, --bool Boolean
105
- EOF
106
- run_usage(['b', 'bool', 'Boolean'], expected) { |opts| opts.usage }
107
- end
108
-
109
- private
110
-
111
- def run_opts(opt, args, result = [])
112
- opts = ParseOpt.new
113
- opts.on(*opt) { |v| yield v }
114
- assert_equal(result, opts.parse(args))
115
- end
116
-
117
- def run_usage(opt, expected)
118
- opts = ParseOpt.new
119
- opts.on(*opt)
120
- assert_equal(expected, capture { yield opts })
121
- end
122
-
123
- def capture
124
- stdout_save = $stdout
125
- $stdout = StringIO.new
126
- yield
127
- $stdout.string
128
- ensure
129
- $stdout = stdout_save
130
- end
131
-
132
- end