reprefix 0.0.1
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 +7 -0
- data/bin/reprefix +21 -0
- data/lib/reprefix.rb +28 -0
- data/lib/stringExtension.rb +57 -0
- metadata +46 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 6d80279df34a1992dc2639e0acf099017a2d2ed078833d59cd3ca8c579f77d52
|
4
|
+
data.tar.gz: 41e60737fe042c673370e5500bda2485d1cf84cba2b7c2ad69dd11b05aa4cc9d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 38eb5db25a24dec47c08f896bde38ecf27ad7cfa9b9c20b4bf19652c50f0ef2d654f85ccb6a03fb5503d232e406d2f2b0d8f82620179956589d6e7a2ff076194
|
7
|
+
data.tar.gz: 2454c2539eefaf5f6168ba1595f23b0f4bbcd4eb2b63e2004fa1454d5a31f14621533097ed851f7aafe78d19cbf837bccc412e1df087338f709848d1d999840a
|
data/bin/reprefix
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require_relative '../lib/reprefix.rb'
|
3
|
+
require_relative '../lib/stringExtension.rb'
|
4
|
+
|
5
|
+
old_prefix = ARGV[0]
|
6
|
+
new_prefix = ARGV[1]
|
7
|
+
|
8
|
+
if old_prefix == nil || new_prefix == nil
|
9
|
+
puts "Usage:".green
|
10
|
+
puts " $reprefix old_prefix new_prefix"
|
11
|
+
printf " old_prefix:需要修改的前缀例如"
|
12
|
+
puts "BBA".green
|
13
|
+
printf " new_prefix:新的前缀例如"
|
14
|
+
puts "BZD".green
|
15
|
+
puts " example:reprefix BBA BZ"
|
16
|
+
end
|
17
|
+
|
18
|
+
|
19
|
+
if old_prefix && new_prefix
|
20
|
+
Tool.rename(old_prefix, new_prefix)
|
21
|
+
end
|
data/lib/reprefix.rb
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'find'
|
2
|
+
|
3
|
+
class Tool
|
4
|
+
def self.rename(old_prefix, new_prefix)
|
5
|
+
puts "⌛⌛⌛ 修改前缀中..."
|
6
|
+
pattern = Regexp.new(old_prefix)
|
7
|
+
Find.find(Dir.pwd).each do |file_path|
|
8
|
+
if !File.directory?(file_path) && File.extname(file_path) != '.rb' ## 是目录并且不含有.rb
|
9
|
+
|
10
|
+
text = File.read(file_path).encode!('UTF-8', 'UTF-8', :invalid => :replace) # 编码否则报错
|
11
|
+
replace = text.gsub(pattern, new_prefix) # 字符串替换
|
12
|
+
File.open(file_path, "w") do |file| # 重新写入文件 w : 用只写模式打开文件。文件不存在则创建新的文件;文件已存在则清空文件,即将文件大小设置为0。
|
13
|
+
file.puts replace
|
14
|
+
end
|
15
|
+
|
16
|
+
# 假如文件路径是src/ruby/file.c
|
17
|
+
file_dir = File.dirname(file_path) # src/ruby
|
18
|
+
file_name = File.basename(file_path) # fileName file.c
|
19
|
+
new_file_name = file_name.gsub(pattern, new_prefix); #
|
20
|
+
new_file_path = File.join(file_dir, new_file_name)
|
21
|
+
File.rename(file_path, new_file_path)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
puts "✅✅✅ 修改前缀完成"
|
25
|
+
end
|
26
|
+
|
27
|
+
|
28
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# class String
|
2
|
+
# # colorization
|
3
|
+
# def colorize(color_code)
|
4
|
+
# "\e[#{color_code}m#{self}\e[0m"
|
5
|
+
# end
|
6
|
+
|
7
|
+
# def red
|
8
|
+
# colorize(31)
|
9
|
+
# end
|
10
|
+
|
11
|
+
# def green
|
12
|
+
# colorize(32)
|
13
|
+
# end
|
14
|
+
|
15
|
+
# def yellow
|
16
|
+
# colorize(33)
|
17
|
+
# end
|
18
|
+
|
19
|
+
# def blue
|
20
|
+
# colorize(34)
|
21
|
+
# end
|
22
|
+
|
23
|
+
# def pink
|
24
|
+
# colorize(35)
|
25
|
+
# end
|
26
|
+
|
27
|
+
# def light_blue
|
28
|
+
# colorize(36)
|
29
|
+
# end
|
30
|
+
# end
|
31
|
+
|
32
|
+
|
33
|
+
class String
|
34
|
+
def black; "\e[30m#{self}\e[0m" end
|
35
|
+
def red; "\e[31m#{self}\e[0m" end
|
36
|
+
def green; "\e[32m#{self}\e[0m" end
|
37
|
+
def brown; "\e[33m#{self}\e[0m" end
|
38
|
+
def blue; "\e[34m#{self}\e[0m" end
|
39
|
+
def magenta; "\e[35m#{self}\e[0m" end
|
40
|
+
def cyan; "\e[36m#{self}\e[0m" end
|
41
|
+
def gray; "\e[37m#{self}\e[0m" end
|
42
|
+
|
43
|
+
def bg_black; "\e[40m#{self}\e[0m" end
|
44
|
+
def bg_red; "\e[41m#{self}\e[0m" end
|
45
|
+
def bg_green; "\e[42m#{self}\e[0m" end
|
46
|
+
def bg_brown; "\e[43m#{self}\e[0m" end
|
47
|
+
def bg_blue; "\e[44m#{self}\e[0m" end
|
48
|
+
def bg_magenta; "\e[45m#{self}\e[0m" end
|
49
|
+
def bg_cyan; "\e[46m#{self}\e[0m" end
|
50
|
+
def bg_gray; "\e[47m#{self}\e[0m" end
|
51
|
+
|
52
|
+
def bold; "\e[1m#{self}\e[22m" end
|
53
|
+
def italic; "\e[3m#{self}\e[23m" end
|
54
|
+
def underline; "\e[4m#{self}\e[24m" end
|
55
|
+
def blink; "\e[5m#{self}\e[25m" end
|
56
|
+
def reverse_color; "\e[7m#{self}\e[27m" end
|
57
|
+
end
|
metadata
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: reprefix
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- authors
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2021-08-26 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description:
|
14
|
+
email: degcat@126.com
|
15
|
+
executables:
|
16
|
+
- reprefix
|
17
|
+
extensions: []
|
18
|
+
extra_rdoc_files: []
|
19
|
+
files:
|
20
|
+
- bin/reprefix
|
21
|
+
- lib/reprefix.rb
|
22
|
+
- lib/stringExtension.rb
|
23
|
+
homepage: https://rubygems.org/gems/a
|
24
|
+
licenses:
|
25
|
+
- MIT
|
26
|
+
metadata: {}
|
27
|
+
post_install_message:
|
28
|
+
rdoc_options: []
|
29
|
+
require_paths:
|
30
|
+
- lib
|
31
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
32
|
+
requirements:
|
33
|
+
- - ">="
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: '0'
|
36
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
requirements: []
|
42
|
+
rubygems_version: 3.1.4
|
43
|
+
signing_key:
|
44
|
+
specification_version: 4
|
45
|
+
summary: summary
|
46
|
+
test_files: []
|