mchat 0.1.2 → 0.2.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/Dockerfile +3 -1
- data/README.md +1 -1
- data/Rakefile +9 -1
- data/exe/mchat +18 -7
- data/exe/mchat_repl +7 -3
- data/lib/mchat/comps/user_config.rb +22 -9
- data/lib/mchat/repl.rb +7 -5
- data/lib/mchat/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6aefb6d9811fd9c32d4d2d4245bb28830c4660e4a9e8b4c83371cd0c97cf3b69
|
4
|
+
data.tar.gz: af93fe1a94375326e7a20cf141bb0e4936e317eb53398c874deb10d20d025480
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '076984b05f9c3482cc520fb95ef31c9a29c1630fea35e7d946741e949f8883ea883981f4888d840e9b49fd675e6e202585d7c264c59a475e80271b5416f5cd80'
|
7
|
+
data.tar.gz: 02d42e72ad4619dafe0e069861c9d60af8f14c49f8f23f03e2d88cda199c9281f4ab282636e9cd5543b9b01dbf9fce59f2f8147e1f3b9faf496fcf2d82193553
|
data/Dockerfile
CHANGED
data/README.md
CHANGED
data/Rakefile
CHANGED
@@ -13,9 +13,17 @@ end
|
|
13
13
|
|
14
14
|
# RuboCop::RakeTask.new
|
15
15
|
|
16
|
-
|
16
|
+
desc 'build gem & local install it'
|
17
|
+
task :preview do
|
17
18
|
system("gem build mchat.gemspec && gem install ./mchat-#{Mchat::VERSION}.gem")
|
18
19
|
end
|
19
20
|
|
21
|
+
desc 'build docker images & push'
|
22
|
+
task :docker_pd do
|
23
|
+
system("docker build -t mark24code/mchat:latest .")
|
24
|
+
system("docker push mark24code/mchat")
|
25
|
+
system("docker build -t mark24code/mchat:#{Mchat::VERSION} .")
|
26
|
+
system("docker push mark24code/mchat:#{Mchat::VERSION}")
|
27
|
+
end
|
20
28
|
|
21
29
|
task default: %i[test]
|
data/exe/mchat
CHANGED
@@ -10,8 +10,8 @@ require_relative "../lib/mchat/comps/user_config"
|
|
10
10
|
class MchatApp
|
11
11
|
include Mchat::UserConfig
|
12
12
|
|
13
|
-
def initialize
|
14
|
-
|
13
|
+
def initialize(opts={})
|
14
|
+
@server = opts.fetch(:server, nil)
|
15
15
|
@screenrc_dir = Pathname.new(Dir.home).join('.mchat')
|
16
16
|
@screenrc = Pathname.new(Dir.home).join('.mchat').join('screenrc')
|
17
17
|
end
|
@@ -32,10 +32,16 @@ class MchatApp
|
|
32
32
|
init_config = %Q(
|
33
33
|
split -v
|
34
34
|
|
35
|
-
screen -t timeline
|
35
|
+
screen -t timeline mchat_timeline
|
36
36
|
focus
|
37
|
-
screen -t repl 'mchat_repl'
|
38
37
|
)
|
38
|
+
if @server
|
39
|
+
# search `eval` 接受完整参数
|
40
|
+
# https://www.gnu.org/software/screen/manual/screen.html
|
41
|
+
init_config << "screen -t repl eval mchat_repl --server=#{@server}"
|
42
|
+
else
|
43
|
+
init_config << "screen -t repl mchat_repl"
|
44
|
+
end
|
39
45
|
f << init_config
|
40
46
|
end
|
41
47
|
end
|
@@ -62,18 +68,23 @@ end
|
|
62
68
|
|
63
69
|
|
64
70
|
|
65
|
-
|
71
|
+
options = {}
|
66
72
|
OptionParser.new do |opts|
|
67
73
|
opts.banner = "Usage: mchat [options]"
|
68
74
|
|
69
75
|
opts.on("--version", "version") do
|
70
|
-
|
76
|
+
|
71
77
|
puts "Mchat v#{::Mchat::VERSION}"
|
72
78
|
puts ""
|
73
79
|
puts "author: mark24"
|
74
80
|
puts "mail: mark.zhangyoung@qq.com"
|
75
81
|
return
|
76
82
|
end
|
83
|
+
|
84
|
+
opts.on("--server=SERVER", "server") do |server|
|
85
|
+
options[:server] = server
|
86
|
+
end
|
87
|
+
|
77
88
|
end.parse!
|
78
89
|
|
79
|
-
MchatApp.new.run
|
90
|
+
MchatApp.new(options).run
|
data/exe/mchat_repl
CHANGED
@@ -9,7 +9,7 @@ OptionParser.new do |opts|
|
|
9
9
|
opts.banner = "Usage: mchat_repl [options]"
|
10
10
|
|
11
11
|
opts.on("--version", "version") do
|
12
|
-
|
12
|
+
|
13
13
|
puts "MchatRepl v#{::Mchat::VERSION}"
|
14
14
|
puts ""
|
15
15
|
puts "author: mark24"
|
@@ -17,11 +17,15 @@ OptionParser.new do |opts|
|
|
17
17
|
return
|
18
18
|
end
|
19
19
|
|
20
|
+
opts.on("--server=SERVER", "server") do |server|
|
21
|
+
options[:server] = server
|
22
|
+
end
|
23
|
+
|
20
24
|
end.parse!
|
21
25
|
|
22
26
|
|
23
|
-
repl = Mchat::Repl.new
|
27
|
+
repl = Mchat::Repl.new(options)
|
24
28
|
|
25
29
|
trap("INT") { repl.quit_command_run }
|
26
30
|
|
27
|
-
repl.run
|
31
|
+
repl.run
|
@@ -18,7 +18,7 @@ init_config = %Q(
|
|
18
18
|
wait_prefix: ">>"
|
19
19
|
display_welcome: true
|
20
20
|
clear_repl_everytime: true
|
21
|
-
server: "localhost:4567"
|
21
|
+
# server: "localhost:4567"
|
22
22
|
|
23
23
|
)
|
24
24
|
f << init_config
|
@@ -35,20 +35,33 @@ server: "localhost:4567"
|
|
35
35
|
return opt
|
36
36
|
end
|
37
37
|
|
38
|
-
def
|
39
|
-
if
|
40
|
-
|
41
|
-
puts "
|
38
|
+
def check_server_before_all
|
39
|
+
if !@server
|
40
|
+
puts "Mchat about `Server` Tips".style.jade
|
41
|
+
puts ""
|
42
|
+
puts "your server: `#{@server}`"
|
42
43
|
puts ""
|
43
|
-
puts "Mchat not found user config, maybe this is your first time run Mchat."
|
44
44
|
init_config = "~/.mchat".style.warn
|
45
45
|
puts "Mchat has help your create config to #{init_config}"
|
46
46
|
server_field = "<server> field".style.warn
|
47
47
|
puts "Before you run mchat, edit your config file, change #{server_field} to yours:"
|
48
48
|
puts "vim #{CONFIG_PATH.to_s}".style.warn
|
49
|
-
puts "make sure your server works, before run Mchat.
|
50
|
-
|
51
|
-
|
49
|
+
puts "make sure your server works, before run Mchat."
|
50
|
+
puts ""
|
51
|
+
puts "If you have server address, you can also run like this:"
|
52
|
+
puts "mchat --server='http://<your host>'"
|
53
|
+
puts "e.g. mchat --server='http://localhost:4567'"
|
54
|
+
puts "so you will not need to edit mchatrc." + " :)".style.warn
|
55
|
+
puts ""
|
56
|
+
puts "Confirm? (y/yes)"
|
57
|
+
while true
|
58
|
+
confirm = gets
|
59
|
+
confirm = confirm.strip
|
60
|
+
if confirm == 'y' || confirm == 'yes'
|
61
|
+
system('screen -X quit')
|
62
|
+
end
|
63
|
+
sleep 0.1
|
64
|
+
end
|
52
65
|
end
|
53
66
|
end
|
54
67
|
end
|
data/lib/mchat/repl.rb
CHANGED
@@ -104,14 +104,16 @@ module Mchat
|
|
104
104
|
|
105
105
|
# Instance ########################3
|
106
106
|
|
107
|
-
def initialize
|
108
|
-
first_time_use
|
107
|
+
def initialize(opts = {})
|
109
108
|
|
110
109
|
@config = read_user_config
|
111
|
-
|
110
|
+
|
111
|
+
@server = opts.fetch(:server, nil) || @config.fetch("server", nil) || nil
|
112
|
+
|
113
|
+
check_server_before_all
|
112
114
|
|
113
115
|
@api = ::Mchat::Request.new(@server)
|
114
|
-
|
116
|
+
|
115
117
|
@wait_prefix = @config.fetch("wait_prefix") || ">>"
|
116
118
|
@display_welcome = @config.fetch("display_welcome") || true
|
117
119
|
|
@@ -215,7 +217,7 @@ module Mchat
|
|
215
217
|
startup_msg = resp.fetch("data")
|
216
218
|
return Message.new(startup_msg).display
|
217
219
|
end
|
218
|
-
|
220
|
+
|
219
221
|
def before_loop_setup
|
220
222
|
# cli
|
221
223
|
_puts welcome(@display_welcome)
|
data/lib/mchat/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mchat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mark24
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-08-
|
11
|
+
date: 2022-08-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rainbow
|