rcnb 0.2.1 → 0.3.0
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/bin/rcnb-rb +5 -0
- data/lib/rcnb/cli.rb +61 -0
- data/lib/rcnb/version.rb +1 -1
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5edcba08516d1e48a59e2218e0f75dc790e7d750188f16a50576e4c0d0a3932c
|
4
|
+
data.tar.gz: 33b6469ab3480afbb9231a8f10939fdc2eae1ac258c467aee39d7f7707967790
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cfc64304e9327e50888164fd696aa4692dcce1696f514c2f52d56a62f32e6bcc2e906d7ab7382cf98c33bda2fa7f0ebe7b9e7f70a27eb1c54928ef2fa86bc334
|
7
|
+
data.tar.gz: 012ccbc33704a0523c326ad6a5baac0cce32541591f54b77f0f5fd0449c9a068d742a20fc5dcf26da3d3b512bf268686ce293a6ac9bf99c679e6d9bc1aef729b
|
data/bin/rcnb-rb
ADDED
data/lib/rcnb/cli.rb
ADDED
@@ -0,0 +1,61 @@
|
|
1
|
+
require "optparse"
|
2
|
+
require File.expand_path("../../rcnb.rb",__FILE__)
|
3
|
+
require File.expand_path("../../rcnb/version.rb",__FILE__)
|
4
|
+
|
5
|
+
module RCNB
|
6
|
+
# 命令行支持
|
7
|
+
#
|
8
|
+
# 详见`rcnb-rb --help`
|
9
|
+
# ## Example
|
10
|
+
# ```bash
|
11
|
+
# rcnb-rb Who NB?
|
12
|
+
# => ȐȼŃƅȓčƞÞƦȻƝƃŖć
|
13
|
+
# rcnb-rb -d ȐĉņþƦȻƝƃŔć
|
14
|
+
# => RCNB!
|
15
|
+
# ```
|
16
|
+
# @since 0.3.0
|
17
|
+
module CLI
|
18
|
+
# 解析、处理命令行逻辑
|
19
|
+
# @param args [Array] 待解析的命令行参数
|
20
|
+
def self.parse(args)
|
21
|
+
mode="encode"
|
22
|
+
file_mode=false
|
23
|
+
encoding=nil
|
24
|
+
parser=OptionParser.new do |opt|
|
25
|
+
opt.version=RCNB::VERSION
|
26
|
+
opt.banner="使用方法:#{$PROGRAM_NAME} [-d|-e] [-u encoding] [-f] text"
|
27
|
+
opt.on("-d","--decode","解码") { mode="decode" }
|
28
|
+
opt.on("-e","--encode","编码(默认)") { mode="encode" }
|
29
|
+
opt.on("-f","--file","把text当做文件路径") { file_mode=true }
|
30
|
+
opt.on("-u VAL","--encoding VAL","指定文本编码(默认为utf-8)") { |val| encoding=val }
|
31
|
+
end
|
32
|
+
begin
|
33
|
+
args=parser.parse args
|
34
|
+
rescue
|
35
|
+
puts parser.help
|
36
|
+
return
|
37
|
+
end
|
38
|
+
|
39
|
+
text=args.join " "
|
40
|
+
begin
|
41
|
+
if file_mode
|
42
|
+
text=IO.read(text).chomp
|
43
|
+
end
|
44
|
+
rescue
|
45
|
+
puts "文件不存在的样子…"
|
46
|
+
puts parser.help
|
47
|
+
return
|
48
|
+
end
|
49
|
+
if !STDIN.tty?
|
50
|
+
text+=STDIN.read.chomp
|
51
|
+
end
|
52
|
+
|
53
|
+
if mode=="decode"
|
54
|
+
result=RCNB::decode(text,encoding)
|
55
|
+
else
|
56
|
+
result=RCNB::encode(text,encoding)
|
57
|
+
end
|
58
|
+
print result
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
data/lib/rcnb/version.rb
CHANGED
metadata
CHANGED
@@ -1,25 +1,28 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rcnb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- liggest
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-07-
|
11
|
+
date: 2021-07-17 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description:
|
14
14
|
email:
|
15
|
-
executables:
|
15
|
+
executables:
|
16
|
+
- rcnb-rb
|
16
17
|
extensions: []
|
17
18
|
extra_rdoc_files: []
|
18
19
|
files:
|
19
20
|
- ".yardopts"
|
20
21
|
- LICENSE
|
21
22
|
- README.md
|
23
|
+
- bin/rcnb-rb
|
22
24
|
- lib/rcnb.rb
|
25
|
+
- lib/rcnb/cli.rb
|
23
26
|
- lib/rcnb/str.rb
|
24
27
|
- lib/rcnb/version.rb
|
25
28
|
homepage: https://github.com/liggest/rcnb.rb
|