ircinch 2.4.0 → 2.4.2
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/.standard.yml +1 -1
- data/CHANGELOG.md +8 -0
- data/LICENSE.txt +1 -1
- data/README.md +2 -2
- data/ircinch.gemspec +18 -10
- data/lib/cinch/channel.rb +1 -3
- data/lib/cinch/configuration.rb +1 -1
- data/lib/cinch/exceptions.rb +1 -1
- data/lib/cinch/handler_list.rb +0 -2
- data/lib/cinch/irc.rb +1 -1
- data/lib/cinch/logger.rb +1 -1
- data/lib/cinch/message.rb +1 -1
- data/lib/cinch/network.rb +2 -2
- data/lib/cinch/plugin.rb +3 -3
- data/lib/cinch/rubyext/module.rb +1 -1
- data/lib/cinch/sasl/diffie_hellman.rb +1 -1
- data/lib/cinch/syncable.rb +2 -2
- data/lib/cinch/target.rb +1 -1
- data/lib/cinch/user.rb +4 -4
- data/lib/cinch/version.rb +1 -1
- metadata +82 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: de7e4e085fee1303e2bcca842721d58d57748d597b392c2f914a25bd2e6a30ef
|
4
|
+
data.tar.gz: 8aae2cfb9b253be5bb25aed45f05f1bb26de5b0acad85f732dbde1d9b7a54268
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a6fa7c8ab22c8afaf2426e2ac39321587b490a7a9cd186f7b025a10758286879d77e945dbc45089ffc23564725f74bad9c77b2bdd9f4223b8ee5a7373197627
|
7
|
+
data.tar.gz: 7ee970b4665d0e682d8e1382330d6b36809d967f485997717f2d37a96d2c9f14a244d96de00d4fd45bd0f8c57682160439b980f697b18c6044ffc44fcadacd3c
|
data/.standard.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
* IRCinch 2.4.2, 3 April 2025
|
2
|
+
- Improve Gemspec metadata
|
3
|
+
- Performance and linting improvements
|
4
|
+
|
5
|
+
* IRCinch 2.4.1, 1 April 2025
|
6
|
+
- Gemspec updates for compatibility with Ruby >= 3.4.0
|
7
|
+
- Minor readme and documentation updates
|
8
|
+
|
1
9
|
* IRCinch 2.4.0, 21 November 2022
|
2
10
|
- Fork the archived Cinch project as IRCinch
|
3
11
|
- Various updates to rename the project to IRCinch without breaking drop-in
|
data/LICENSE.txt
CHANGED
@@ -2,7 +2,7 @@ The MIT License (MIT)
|
|
2
2
|
|
3
3
|
Copyright (c) 2010 Lee Jarvis, Dominik Honnef
|
4
4
|
Copyright (c) 2011-2019 Dominik Honnef
|
5
|
-
Copyright (c) 2022 Matt Sias
|
5
|
+
Copyright (c) 2022-2025 Matt Sias
|
6
6
|
|
7
7
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
of this software and associated documentation files (the "Software"), to deal
|
data/README.md
CHANGED
@@ -67,8 +67,8 @@ More examples can be found in the `examples` directory.
|
|
67
67
|
|
68
68
|
### Documentation
|
69
69
|
|
70
|
-
|
71
|
-
[
|
70
|
+
IRCinch provides a documented API, which is online for your viewing pleasure at
|
71
|
+
[https://rubydoc.info/gems/ircinch](https://rubydoc.info/gems/ircinch).
|
72
72
|
|
73
73
|
### Object Oriented
|
74
74
|
|
data/ircinch.gemspec
CHANGED
@@ -6,17 +6,22 @@ Gem::Specification.new do |spec|
|
|
6
6
|
spec.name = "ircinch"
|
7
7
|
spec.version = Cinch::VERSION
|
8
8
|
spec.authors = ["Matt Sias"]
|
9
|
-
spec.email = ["
|
9
|
+
spec.email = ["mattsias@gmail.com"]
|
10
10
|
|
11
11
|
spec.summary = "An IRC Bot Building Ruby Framework"
|
12
12
|
spec.description = "A simple, friendly Ruby DSL for creating IRC bots"
|
13
13
|
spec.homepage = "https://github.com/ircinchrb/ircinch"
|
14
14
|
spec.license = "MIT"
|
15
|
-
spec.required_ruby_version = ">= 2.
|
15
|
+
spec.required_ruby_version = ">= 3.2.0"
|
16
16
|
|
17
|
-
spec.metadata
|
18
|
-
|
19
|
-
|
17
|
+
spec.metadata = {
|
18
|
+
"bug_tracker_uri" => "https://github.com/ircinchrb/ircinch/issues",
|
19
|
+
"changelog_uri" => "https://github.com/ircinchrb/ircinch/blob/main/CHANGELOG.md",
|
20
|
+
"documentation_uri" => "https://rubydoc.info/gems/ircinch",
|
21
|
+
"homepage_uri" => spec.homepage,
|
22
|
+
"source_code_uri" => "https://github.com/ircinchrb/ircinch",
|
23
|
+
"rubygems_mfa_required" => "true"
|
24
|
+
}
|
20
25
|
|
21
26
|
# Specify which files should be added to the gem when it is released.
|
22
27
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
@@ -30,13 +35,16 @@ Gem::Specification.new do |spec|
|
|
30
35
|
spec.require_paths = ["lib"]
|
31
36
|
|
32
37
|
# Register runtime dependencies (gems required to run this gem)
|
33
|
-
|
38
|
+
spec.add_dependency "ostruct"
|
34
39
|
|
35
40
|
# Register development dependencies (gems required to program this gem)
|
36
|
-
spec.add_development_dependency "
|
37
|
-
spec.add_development_dependency "
|
38
|
-
spec.add_development_dependency "
|
39
|
-
spec.add_development_dependency "
|
41
|
+
spec.add_development_dependency "base64"
|
42
|
+
spec.add_development_dependency "bundler-audit"
|
43
|
+
spec.add_development_dependency "bundler-integrity"
|
44
|
+
spec.add_development_dependency "minitest"
|
45
|
+
spec.add_development_dependency "rake"
|
46
|
+
spec.add_development_dependency "simplecov"
|
47
|
+
spec.add_development_dependency "standard"
|
40
48
|
|
41
49
|
# For more information and examples about making a new gem, check out our
|
42
50
|
# guide at: https://bundler.io/guides/creating_gem.html
|
data/lib/cinch/channel.rb
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "set"
|
4
|
-
|
5
3
|
require_relative "target"
|
6
4
|
|
7
5
|
module Cinch
|
@@ -418,7 +416,7 @@ module Cinch
|
|
418
416
|
# allow colors.
|
419
417
|
text = Cinch::Formatting.unformat(text)
|
420
418
|
end
|
421
|
-
super
|
419
|
+
super
|
422
420
|
end
|
423
421
|
alias_method :msg, :send # deprecated
|
424
422
|
alias_method :privmsg, :send # deprecated
|
data/lib/cinch/configuration.rb
CHANGED
data/lib/cinch/exceptions.rb
CHANGED
data/lib/cinch/handler_list.rb
CHANGED
data/lib/cinch/irc.rb
CHANGED
@@ -504,7 +504,7 @@ module Cinch
|
|
504
504
|
end
|
505
505
|
elsif direction == :add
|
506
506
|
# channel options
|
507
|
-
msg.channel.modes_unsynced[mode] = param.nil?
|
507
|
+
msg.channel.modes_unsynced[mode] = param.nil? || param
|
508
508
|
else
|
509
509
|
msg.channel.modes_unsynced.delete(mode)
|
510
510
|
end
|
data/lib/cinch/logger.rb
CHANGED
data/lib/cinch/message.rb
CHANGED
data/lib/cinch/network.rb
CHANGED
@@ -41,13 +41,13 @@ module Cinch
|
|
41
41
|
# @return [String, nil] The mode used for getting the list of
|
42
42
|
# channel owners, if any
|
43
43
|
def owner_list_mode
|
44
|
-
|
44
|
+
"q" if @ircd == :unreal || @ircd == :inspircd
|
45
45
|
end
|
46
46
|
|
47
47
|
# @return [String, nil] The mode used for getting the list of
|
48
48
|
# channel quiets, if any
|
49
49
|
def quiet_list_mode
|
50
|
-
|
50
|
+
"q" if @ircd == :"ircd-seven"
|
51
51
|
end
|
52
52
|
|
53
53
|
# @return [Boolean] Does WHOIS only support one argument?
|
data/lib/cinch/plugin.rb
CHANGED
@@ -163,11 +163,11 @@ module Cinch
|
|
163
163
|
when 1
|
164
164
|
# {:key => value, ...}
|
165
165
|
args.first.each do |key, value|
|
166
|
-
send("#{key}=", value)
|
166
|
+
send(:"#{key}=", value)
|
167
167
|
end
|
168
168
|
when 2
|
169
169
|
# key, value
|
170
|
-
send("#{args.first}=", args.last)
|
170
|
+
send(:"#{args.first}=", args.last)
|
171
171
|
else
|
172
172
|
raise ArgumentError # TODO proper error message
|
173
173
|
end
|
@@ -367,7 +367,7 @@ module Cinch
|
|
367
367
|
@bot.loggers.debug "[plugin] #{self.class.plugin_name}: Registering CTCP `#{ctcp}`"
|
368
368
|
new_handler = Handler.new(@bot, :ctcp, Pattern.generate(:ctcp, ctcp)) do |message, *args|
|
369
369
|
if self.class.call_hooks(:pre, :ctcp, nil, self, [message])
|
370
|
-
__send__("ctcp_#{ctcp.downcase}", message, *args)
|
370
|
+
__send__(:"ctcp_#{ctcp.downcase}", message, *args)
|
371
371
|
self.class.call_hooks(:post, :ctcp, nil, self, [message])
|
372
372
|
else
|
373
373
|
@bot.loggers.debug "[plugin] #{self.class.plugin_name}: Dropping message due to hook"
|
data/lib/cinch/rubyext/module.rb
CHANGED
data/lib/cinch/syncable.rb
CHANGED
@@ -33,7 +33,7 @@ module Cinch
|
|
33
33
|
if data
|
34
34
|
@data[attribute] = value
|
35
35
|
else
|
36
|
-
instance_variable_set("@#{attribute}", value)
|
36
|
+
instance_variable_set(:"@#{attribute}", value)
|
37
37
|
end
|
38
38
|
@synced_attributes << attribute
|
39
39
|
end
|
@@ -70,7 +70,7 @@ module Cinch
|
|
70
70
|
if data
|
71
71
|
@data[attribute]
|
72
72
|
else
|
73
|
-
instance_variable_get("@#{attribute}")
|
73
|
+
instance_variable_get(:"@#{attribute}")
|
74
74
|
end
|
75
75
|
end
|
76
76
|
|
data/lib/cinch/target.rb
CHANGED
data/lib/cinch/user.rb
CHANGED
@@ -135,13 +135,13 @@ module Cinch
|
|
135
135
|
def unknown_unsynced
|
136
136
|
attr(:unknown?, true, true)
|
137
137
|
end
|
138
|
-
alias_method :"unknown?_unsynced",
|
138
|
+
alias_method :"unknown?_unsynced", :unknown_unsynced
|
139
139
|
|
140
140
|
# @private
|
141
141
|
def online_unsynced
|
142
142
|
attr(:online?, true, true)
|
143
143
|
end
|
144
|
-
alias_method :"online?_unsynced",
|
144
|
+
alias_method :"online?_unsynced", :online_unsynced
|
145
145
|
|
146
146
|
# @private
|
147
147
|
def channels_unsynced
|
@@ -152,14 +152,14 @@ module Cinch
|
|
152
152
|
def secure_unsynced
|
153
153
|
attr(:secure?, true, true)
|
154
154
|
end
|
155
|
-
alias_method :"secure?_unsynced",
|
155
|
+
alias_method :"secure?_unsynced", :secure_unsynced
|
156
156
|
|
157
157
|
# @private
|
158
158
|
# @since 2.1.0
|
159
159
|
def oper_unsynced
|
160
160
|
attr(:oper?, true, true)
|
161
161
|
end
|
162
|
-
alias_method :"oper?_unsynced",
|
162
|
+
alias_method :"oper?_unsynced", :oper_unsynced
|
163
163
|
|
164
164
|
# By default, you can use methods like {#user}, {#host} and
|
165
165
|
# alike – If you however fear that another thread might change
|
data/lib/cinch/version.rb
CHANGED
metadata
CHANGED
@@ -1,74 +1,129 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ircinch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.4.
|
4
|
+
version: 2.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Sias
|
8
|
-
autorequire:
|
9
8
|
bindir: exe
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 2025-04-04 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
13
|
+
name: ostruct
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
15
|
+
requirements:
|
16
|
+
- - ">="
|
17
|
+
- !ruby/object:Gem::Version
|
18
|
+
version: '0'
|
19
|
+
type: :runtime
|
20
|
+
prerelease: false
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
22
|
+
requirements:
|
23
|
+
- - ">="
|
24
|
+
- !ruby/object:Gem::Version
|
25
|
+
version: '0'
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: base64
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
29
|
+
requirements:
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
type: :development
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ">="
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0'
|
40
|
+
- !ruby/object:Gem::Dependency
|
41
|
+
name: bundler-audit
|
15
42
|
requirement: !ruby/object:Gem::Requirement
|
16
43
|
requirements:
|
17
|
-
- - "
|
44
|
+
- - ">="
|
18
45
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
46
|
+
version: '0'
|
20
47
|
type: :development
|
21
48
|
prerelease: false
|
22
49
|
version_requirements: !ruby/object:Gem::Requirement
|
23
50
|
requirements:
|
24
|
-
- - "
|
51
|
+
- - ">="
|
25
52
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
53
|
+
version: '0'
|
54
|
+
- !ruby/object:Gem::Dependency
|
55
|
+
name: bundler-integrity
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0'
|
61
|
+
type: :development
|
62
|
+
prerelease: false
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - ">="
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '0'
|
27
68
|
- !ruby/object:Gem::Dependency
|
28
69
|
name: minitest
|
29
70
|
requirement: !ruby/object:Gem::Requirement
|
30
71
|
requirements:
|
31
|
-
- - "
|
72
|
+
- - ">="
|
32
73
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
74
|
+
version: '0'
|
34
75
|
type: :development
|
35
76
|
prerelease: false
|
36
77
|
version_requirements: !ruby/object:Gem::Requirement
|
37
78
|
requirements:
|
38
|
-
- - "
|
79
|
+
- - ">="
|
39
80
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
81
|
+
version: '0'
|
82
|
+
- !ruby/object:Gem::Dependency
|
83
|
+
name: rake
|
84
|
+
requirement: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0'
|
89
|
+
type: :development
|
90
|
+
prerelease: false
|
91
|
+
version_requirements: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - ">="
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
41
96
|
- !ruby/object:Gem::Dependency
|
42
97
|
name: simplecov
|
43
98
|
requirement: !ruby/object:Gem::Requirement
|
44
99
|
requirements:
|
45
|
-
- - "
|
100
|
+
- - ">="
|
46
101
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0
|
102
|
+
version: '0'
|
48
103
|
type: :development
|
49
104
|
prerelease: false
|
50
105
|
version_requirements: !ruby/object:Gem::Requirement
|
51
106
|
requirements:
|
52
|
-
- - "
|
107
|
+
- - ">="
|
53
108
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0
|
109
|
+
version: '0'
|
55
110
|
- !ruby/object:Gem::Dependency
|
56
111
|
name: standard
|
57
112
|
requirement: !ruby/object:Gem::Requirement
|
58
113
|
requirements:
|
59
|
-
- - "
|
114
|
+
- - ">="
|
60
115
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
116
|
+
version: '0'
|
62
117
|
type: :development
|
63
118
|
prerelease: false
|
64
119
|
version_requirements: !ruby/object:Gem::Requirement
|
65
120
|
requirements:
|
66
|
-
- - "
|
121
|
+
- - ">="
|
67
122
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
123
|
+
version: '0'
|
69
124
|
description: A simple, friendly Ruby DSL for creating IRC bots
|
70
125
|
email:
|
71
|
-
-
|
126
|
+
- mattsias@gmail.com
|
72
127
|
executables: []
|
73
128
|
extensions: []
|
74
129
|
extra_rdoc_files: []
|
@@ -180,10 +235,12 @@ homepage: https://github.com/ircinchrb/ircinch
|
|
180
235
|
licenses:
|
181
236
|
- MIT
|
182
237
|
metadata:
|
238
|
+
bug_tracker_uri: https://github.com/ircinchrb/ircinch/issues
|
239
|
+
changelog_uri: https://github.com/ircinchrb/ircinch/blob/main/CHANGELOG.md
|
240
|
+
documentation_uri: https://rubydoc.info/gems/ircinch
|
183
241
|
homepage_uri: https://github.com/ircinchrb/ircinch
|
184
242
|
source_code_uri: https://github.com/ircinchrb/ircinch
|
185
|
-
|
186
|
-
post_install_message:
|
243
|
+
rubygems_mfa_required: 'true'
|
187
244
|
rdoc_options: []
|
188
245
|
require_paths:
|
189
246
|
- lib
|
@@ -191,15 +248,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
191
248
|
requirements:
|
192
249
|
- - ">="
|
193
250
|
- !ruby/object:Gem::Version
|
194
|
-
version: 2.
|
251
|
+
version: 3.2.0
|
195
252
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
196
253
|
requirements:
|
197
254
|
- - ">="
|
198
255
|
- !ruby/object:Gem::Version
|
199
256
|
version: '0'
|
200
257
|
requirements: []
|
201
|
-
rubygems_version: 3.
|
202
|
-
signing_key:
|
258
|
+
rubygems_version: 3.6.6
|
203
259
|
specification_version: 4
|
204
260
|
summary: An IRC Bot Building Ruby Framework
|
205
261
|
test_files: []
|