ssc.nob 0.1.0-java → 0.1.1-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +30 -2
- data/Gemfile +1 -19
- data/Gemfile.lock +49 -0
- data/README.md +56 -8
- data/Rakefile +52 -25
- data/bin/ssc.nob +3 -14
- data/lib/ssc.nob.rb +743 -156
- data/lib/ssc.nob/config.rb +94 -59
- data/lib/ssc.nob/error.rb +5 -17
- data/lib/ssc.nob/ssc_bot.rb +67 -88
- data/lib/ssc.nob/ssc_chat_log.rb +34 -46
- data/lib/ssc.nob/ssc_chat_log/message.rb +15 -27
- data/lib/ssc.nob/ssc_chat_log/message_parser.rb +39 -51
- data/lib/ssc.nob/userface.rb +33 -45
- data/lib/ssc.nob/util.rb +14 -26
- data/lib/ssc.nob/version.rb +4 -16
- data/ssc.nob.gemspec +24 -43
- metadata +45 -15
data/lib/ssc.nob/util.rb
CHANGED
@@ -1,51 +1,39 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
1
|
# encoding: UTF-8
|
3
2
|
# frozen_string_literal: true
|
4
3
|
|
5
4
|
#--
|
6
5
|
# This file is part of SSC.Nob.
|
7
|
-
# Copyright (c) 2020 Jonathan Bradley Whited
|
8
|
-
#
|
9
|
-
#
|
10
|
-
# it under the terms of the GNU General Public License as published by
|
11
|
-
# the Free Software Foundation, either version 3 of the License, or
|
12
|
-
# (at your option) any later version.
|
13
|
-
#
|
14
|
-
# SSC.Nob is distributed in the hope that it will be useful,
|
15
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
16
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
17
|
-
# GNU General Public License for more details.
|
18
|
-
#
|
19
|
-
# You should have received a copy of the GNU General Public License
|
20
|
-
# along with SSC.Nob. If not, see <https://www.gnu.org/licenses/>.
|
6
|
+
# Copyright (c) 2020-2021 Jonathan Bradley Whited
|
7
|
+
#
|
8
|
+
# SPDX-License-Identifier: GPL-3.0-or-later
|
21
9
|
#++
|
22
10
|
|
23
11
|
|
24
12
|
module SSCNob
|
25
13
|
###
|
26
|
-
# @author Jonathan Bradley Whited
|
14
|
+
# @author Jonathan Bradley Whited
|
27
15
|
# @since 0.1.0
|
28
16
|
###
|
29
17
|
module Util
|
30
18
|
def self.blank?(str)
|
31
|
-
return str.nil?
|
19
|
+
return str.nil? || strip(str).empty?
|
32
20
|
end
|
33
|
-
|
21
|
+
|
34
22
|
def self.lstrip(str)
|
35
|
-
return nil if str.nil?
|
36
|
-
|
23
|
+
return nil if str.nil?
|
24
|
+
|
37
25
|
return str.gsub(/\A[[:space:]]+/,'')
|
38
26
|
end
|
39
|
-
|
27
|
+
|
40
28
|
def self.rstrip(str)
|
41
|
-
return nil if str.nil?
|
42
|
-
|
29
|
+
return nil if str.nil?
|
30
|
+
|
43
31
|
return str.gsub(/[[:space:]]+\z/,'')
|
44
32
|
end
|
45
|
-
|
33
|
+
|
46
34
|
def self.strip(str)
|
47
|
-
return nil if str.nil?
|
48
|
-
|
35
|
+
return nil if str.nil?
|
36
|
+
|
49
37
|
return str.gsub(/(\A[[:space:]]+)|([[:space:]]+\z)/,'')
|
50
38
|
end
|
51
39
|
end
|
data/lib/ssc.nob/version.rb
CHANGED
@@ -1,26 +1,14 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
1
|
# encoding: UTF-8
|
3
2
|
# frozen_string_literal: true
|
4
3
|
|
5
4
|
#--
|
6
5
|
# This file is part of SSC.Nob.
|
7
|
-
# Copyright (c) 2020 Jonathan Bradley Whited
|
8
|
-
#
|
9
|
-
#
|
10
|
-
# it under the terms of the GNU General Public License as published by
|
11
|
-
# the Free Software Foundation, either version 3 of the License, or
|
12
|
-
# (at your option) any later version.
|
13
|
-
#
|
14
|
-
# SSC.Nob is distributed in the hope that it will be useful,
|
15
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
16
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
17
|
-
# GNU General Public License for more details.
|
18
|
-
#
|
19
|
-
# You should have received a copy of the GNU General Public License
|
20
|
-
# along with SSC.Nob. If not, see <https://www.gnu.org/licenses/>.
|
6
|
+
# Copyright (c) 2020-2021 Jonathan Bradley Whited
|
7
|
+
#
|
8
|
+
# SPDX-License-Identifier: GPL-3.0-or-later
|
21
9
|
#++
|
22
10
|
|
23
11
|
|
24
12
|
module SSCNob
|
25
|
-
VERSION = '0.1.
|
13
|
+
VERSION = '0.1.1'
|
26
14
|
end
|
data/ssc.nob.gemspec
CHANGED
@@ -1,72 +1,53 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
|
-
#--
|
5
|
-
# This file is part of SSC.Nob.
|
6
|
-
# Copyright (c) 2020 Jonathan Bradley Whited (@esotericpig)
|
7
|
-
#
|
8
|
-
# SSC.Nob is free software: you can redistribute it and/or modify
|
9
|
-
# it under the terms of the GNU General Public License as published by
|
10
|
-
# the Free Software Foundation, either version 3 of the License, or
|
11
|
-
# (at your option) any later version.
|
12
|
-
#
|
13
|
-
# SSC.Nob is distributed in the hope that it will be useful,
|
14
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
-
# GNU General Public License for more details.
|
17
|
-
#
|
18
|
-
# You should have received a copy of the GNU General Public License
|
19
|
-
# along with SSC.Nob. If not, see <https://www.gnu.org/licenses/>.
|
20
|
-
#++
|
21
4
|
|
5
|
+
require_relative 'lib/ssc.nob/version'
|
22
6
|
|
23
|
-
lib = File.expand_path(File.join('..','lib'),__FILE__)
|
24
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
25
7
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
Gem::Specification.new() do |spec|
|
8
|
+
Gem::Specification.new do |spec|
|
30
9
|
spec.name = 'ssc.nob'
|
31
10
|
spec.version = SSCNob::VERSION
|
32
|
-
spec.authors = ['Jonathan Bradley Whited
|
33
|
-
spec.email = ['
|
11
|
+
spec.authors = ['Jonathan Bradley Whited']
|
12
|
+
spec.email = ['code@esotericpig.com']
|
34
13
|
spec.licenses = ['GPL-3.0-or-later']
|
35
14
|
spec.homepage = 'https://github.com/esotericpig/ssc.nob'
|
36
15
|
spec.summary = 'Subspace Continuum Nob (Noble One Bot).'
|
37
|
-
spec.description =
|
38
|
-
|
16
|
+
spec.description = 'Subspace Continuum Nob (Noble One Bot). Simple chat-log-reading bot in JRuby.'
|
17
|
+
|
39
18
|
spec.metadata = {
|
40
|
-
'bug_tracker_uri' => 'https://github.com/esotericpig/ssc.nob/issues',
|
41
|
-
'changelog_uri' => 'https://github.com/esotericpig/ssc.nob/blob/master/CHANGELOG.md',
|
42
19
|
'homepage_uri' => 'https://github.com/esotericpig/ssc.nob',
|
43
20
|
'source_code_uri' => 'https://github.com/esotericpig/ssc.nob',
|
21
|
+
'bug_tracker_uri' => 'https://github.com/esotericpig/ssc.nob/issues',
|
22
|
+
'changelog_uri' => 'https://github.com/esotericpig/ssc.nob/blob/master/CHANGELOG.md',
|
44
23
|
}
|
45
|
-
|
24
|
+
|
46
25
|
spec.require_paths = ['lib']
|
47
26
|
spec.bindir = 'bin'
|
48
27
|
spec.executables = [spec.name]
|
49
|
-
|
28
|
+
|
50
29
|
spec.files = [
|
51
30
|
Dir.glob(File.join("{#{spec.require_paths.join(',')}}",'**','*.{erb,rb}')),
|
52
31
|
Dir.glob(File.join(spec.bindir,'*')),
|
53
32
|
Dir.glob(File.join('{test,yard}','**','*.{erb,rb}')),
|
54
|
-
%W
|
55
|
-
%w
|
56
|
-
].flatten
|
57
|
-
|
58
|
-
spec.platform
|
59
|
-
spec.required_ruby_version = '>= 2.
|
60
|
-
|
61
|
-
|
62
|
-
spec.add_runtime_dependency 'attr_bool' ,'~> 0.
|
33
|
+
%W[ Gemfile Gemfile.lock #{spec.name}.gemspec Rakefile ],
|
34
|
+
%w[ CHANGELOG.md LICENSE.txt README.md ],
|
35
|
+
].flatten
|
36
|
+
|
37
|
+
spec.platform = 'java'
|
38
|
+
spec.required_ruby_version = '>= 2.5'
|
39
|
+
spec.requirements = ['JRuby']
|
40
|
+
|
41
|
+
spec.add_runtime_dependency 'attr_bool' ,'~> 0.2'
|
63
42
|
spec.add_runtime_dependency 'highline' ,'~> 2.0'
|
64
43
|
spec.add_runtime_dependency 'rainbow' ,'~> 3.0'
|
44
|
+
spec.add_runtime_dependency 'ssc.bot' ,'~> 0.2'
|
65
45
|
spec.add_runtime_dependency 'tty-spinner','~> 0.9'
|
66
|
-
|
67
|
-
spec.add_development_dependency 'bundler' ,'~> 2.
|
46
|
+
|
47
|
+
spec.add_development_dependency 'bundler' ,'~> 2.2'
|
68
48
|
spec.add_development_dependency 'minitest','~> 5.14'
|
69
49
|
spec.add_development_dependency 'rake' ,'~> 13.0'
|
70
|
-
|
50
|
+
spec.add_development_dependency 'warbler' ,'~> 2.0'
|
51
|
+
|
71
52
|
#spec.post_install_message = ''
|
72
53
|
end
|
metadata
CHANGED
@@ -1,21 +1,21 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ssc.nob
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
|
-
- Jonathan Bradley Whited
|
7
|
+
- Jonathan Bradley Whited
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-06-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
15
15
|
requirements:
|
16
16
|
- - "~>"
|
17
17
|
- !ruby/object:Gem::Version
|
18
|
-
version: '0.
|
18
|
+
version: '0.2'
|
19
19
|
name: attr_bool
|
20
20
|
prerelease: false
|
21
21
|
type: :runtime
|
@@ -23,7 +23,7 @@ dependencies:
|
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0.
|
26
|
+
version: '0.2'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
29
29
|
requirements:
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '3.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0.2'
|
61
|
+
name: ssc.bot
|
62
|
+
prerelease: false
|
63
|
+
type: :runtime
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0.2'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
requirement: !ruby/object:Gem::Requirement
|
57
71
|
requirements:
|
@@ -71,7 +85,7 @@ dependencies:
|
|
71
85
|
requirements:
|
72
86
|
- - "~>"
|
73
87
|
- !ruby/object:Gem::Version
|
74
|
-
version: '2.
|
88
|
+
version: '2.2'
|
75
89
|
name: bundler
|
76
90
|
prerelease: false
|
77
91
|
type: :development
|
@@ -79,7 +93,7 @@ dependencies:
|
|
79
93
|
requirements:
|
80
94
|
- - "~>"
|
81
95
|
- !ruby/object:Gem::Version
|
82
|
-
version: '2.
|
96
|
+
version: '2.2'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
requirement: !ruby/object:Gem::Requirement
|
85
99
|
requirements:
|
@@ -108,9 +122,24 @@ dependencies:
|
|
108
122
|
- - "~>"
|
109
123
|
- !ruby/object:Gem::Version
|
110
124
|
version: '13.0'
|
111
|
-
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
requirement: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - "~>"
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '2.0'
|
131
|
+
name: warbler
|
132
|
+
prerelease: false
|
133
|
+
type: :development
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '2.0'
|
139
|
+
description: Subspace Continuum Nob (Noble One Bot). Simple chat-log-reading bot in
|
140
|
+
JRuby.
|
112
141
|
email:
|
113
|
-
-
|
142
|
+
- code@esotericpig.com
|
114
143
|
executables:
|
115
144
|
- ssc.nob
|
116
145
|
extensions: []
|
@@ -118,6 +147,7 @@ extra_rdoc_files: []
|
|
118
147
|
files:
|
119
148
|
- CHANGELOG.md
|
120
149
|
- Gemfile
|
150
|
+
- Gemfile.lock
|
121
151
|
- LICENSE.txt
|
122
152
|
- README.md
|
123
153
|
- Rakefile
|
@@ -137,10 +167,10 @@ homepage: https://github.com/esotericpig/ssc.nob
|
|
137
167
|
licenses:
|
138
168
|
- GPL-3.0-or-later
|
139
169
|
metadata:
|
140
|
-
bug_tracker_uri: https://github.com/esotericpig/ssc.nob/issues
|
141
|
-
changelog_uri: https://github.com/esotericpig/ssc.nob/blob/master/CHANGELOG.md
|
142
170
|
homepage_uri: https://github.com/esotericpig/ssc.nob
|
143
171
|
source_code_uri: https://github.com/esotericpig/ssc.nob
|
172
|
+
bug_tracker_uri: https://github.com/esotericpig/ssc.nob/issues
|
173
|
+
changelog_uri: https://github.com/esotericpig/ssc.nob/blob/master/CHANGELOG.md
|
144
174
|
post_install_message:
|
145
175
|
rdoc_options: []
|
146
176
|
require_paths:
|
@@ -149,15 +179,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
149
179
|
requirements:
|
150
180
|
- - ">="
|
151
181
|
- !ruby/object:Gem::Version
|
152
|
-
version: '2.
|
182
|
+
version: '2.5'
|
153
183
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
154
184
|
requirements:
|
155
185
|
- - ">="
|
156
186
|
- !ruby/object:Gem::Version
|
157
187
|
version: '0'
|
158
|
-
requirements:
|
159
|
-
|
160
|
-
rubygems_version:
|
188
|
+
requirements:
|
189
|
+
- JRuby
|
190
|
+
rubygems_version: 3.1.6
|
161
191
|
signing_key:
|
162
192
|
specification_version: 4
|
163
193
|
summary: Subspace Continuum Nob (Noble One Bot).
|