optparse_plus 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/optparse_plus.rb +15 -1
- data/lib/optparse_plus/version.rb +1 -1
- data/spec/optparse_plus_spec.rb +39 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3693fb720be2610cf8f3e4db42bf283ae69915cc
|
4
|
+
data.tar.gz: 0536ecccb3b06f50370e9cf942016870990c9aa9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a23180b4ab19f2992fae316108b0e9b485bf4af7094451c3019c68591b101892b9939d1398220e3718b300b382c49cb04d29ba664bba34bffc145789691b4e9a
|
7
|
+
data.tar.gz: 6c187ecf02b1edbc83c88d1bfb5426f102b1c2d4987890d7209a5f37f345466a99b5c1d75b59168b9f14ac74487b82b2d0cd0e59f5e73796a9c340142aee7fc7
|
data/lib/optparse_plus.rb
CHANGED
@@ -16,7 +16,7 @@ module OptparsePlus
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def new_with_yaml(config_yaml_source=nil)
|
19
|
-
cur_file = caller[0]
|
19
|
+
cur_file = extract_cur_file_path(caller[0])
|
20
20
|
config_yaml_source ||= read_after_program_end(cur_file)
|
21
21
|
opt = OptPlus.create_opt(config_yaml_source)
|
22
22
|
|
@@ -26,6 +26,20 @@ module OptparsePlus
|
|
26
26
|
opt
|
27
27
|
end
|
28
28
|
end
|
29
|
+
|
30
|
+
def windows?
|
31
|
+
/mswin(?!ce)|mingw|cygwin|bccwin/ =~ RUBY_PLATFORM
|
32
|
+
end
|
33
|
+
|
34
|
+
private
|
35
|
+
|
36
|
+
def extract_cur_file_path(caller_info)
|
37
|
+
if windows? and /\A[A-Z]:/i =~ caller_info
|
38
|
+
caller_info.split(/:/, 3)[0, 2].join(':')
|
39
|
+
else
|
40
|
+
caller_info.split(/:/)[0]
|
41
|
+
end
|
42
|
+
end
|
29
43
|
end
|
30
44
|
|
31
45
|
class OptPlus
|
data/spec/optparse_plus_spec.rb
CHANGED
@@ -230,10 +230,17 @@ YAML
|
|
230
230
|
end
|
231
231
|
|
232
232
|
describe '#inherit_ruby_options' do
|
233
|
-
|
234
|
-
external_encoding = Encoding.default_external
|
235
|
-
internal_encoding = Encoding.default_internal
|
233
|
+
before do
|
234
|
+
@external_encoding = Encoding.default_external
|
235
|
+
@internal_encoding = Encoding.default_internal
|
236
|
+
end
|
237
|
+
|
238
|
+
after do
|
239
|
+
Encoding.default_external = @external_encoding
|
240
|
+
Encoding.default_internal = @internal_encoding
|
241
|
+
end
|
236
242
|
|
243
|
+
it 'can add -E option' do
|
237
244
|
Encoding.default_external = 'UTF-8'
|
238
245
|
expect(Encoding.default_external).to eq(Encoding::UTF_8)
|
239
246
|
|
@@ -244,7 +251,35 @@ YAML
|
|
244
251
|
end
|
245
252
|
|
246
253
|
expect(Encoding.default_external).to eq(Encoding::Windows_31J)
|
247
|
-
|
254
|
+
end
|
255
|
+
|
256
|
+
it '-E option accepts an internal only arguement such as -E:Windows-31J' do
|
257
|
+
Encoding.default_internal = 'UTF-8'
|
258
|
+
expect(Encoding.default_internal).to eq(Encoding::UTF_8)
|
259
|
+
|
260
|
+
set_argv("-E:Windows-31J")
|
261
|
+
OptionParser.new_with_yaml(@config_yaml_with_banner) do |opt|
|
262
|
+
opt.inherit_ruby_options("E")
|
263
|
+
opt.parse!
|
264
|
+
end
|
265
|
+
|
266
|
+
expect(Encoding.default_internal).to eq(Encoding::Windows_31J)
|
267
|
+
end
|
268
|
+
|
269
|
+
it '-E option can set external and internal encodings at once' do
|
270
|
+
Encoding.default_external = 'UTF-8'
|
271
|
+
Encoding.default_internal = 'UTF-8'
|
272
|
+
expect(Encoding.default_external).to eq(Encoding::UTF_8)
|
273
|
+
expect(Encoding.default_internal).to eq(Encoding::UTF_8)
|
274
|
+
|
275
|
+
set_argv("-EWindows-31J:Windows-31J")
|
276
|
+
OptionParser.new_with_yaml(@config_yaml_with_banner) do |opt|
|
277
|
+
opt.inherit_ruby_options("E")
|
278
|
+
opt.parse!
|
279
|
+
end
|
280
|
+
|
281
|
+
expect(Encoding.default_external).to eq(Encoding::Windows_31J)
|
282
|
+
expect(Encoding.default_internal).to eq(Encoding::Windows_31J)
|
248
283
|
end
|
249
284
|
|
250
285
|
it 'expect to print help message' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: optparse_plus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- HASHIMOTO, Naoki
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-10-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|