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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 699864e2ea083e92cca54e715391bd73f3ef6fb89f19bccb96102ac8d95d3b64
4
- data.tar.gz: c31ed1cbcc9dda592887c87e845499f771a95ed889c5432548663cf6295ee350
3
+ metadata.gz: de7e4e085fee1303e2bcca842721d58d57748d597b392c2f914a25bd2e6a30ef
4
+ data.tar.gz: 8aae2cfb9b253be5bb25aed45f05f1bb26de5b0acad85f732dbde1d9b7a54268
5
5
  SHA512:
6
- metadata.gz: 66f5e90889687e3851d712c2785c5f31a1389d72e360cce5f67feb8333f8561bda8458bd456159d0b4a925ff923f21245a836837dd2ab061c52b9b0280551b50
7
- data.tar.gz: eff8ea7c95c23e257750eaa3856212609c2d1d4d66fa4244d83d51052da690e4cd02711acfc360283dfa85b836436d4a610462ea3cb3dcee77d3f0c24de0d957
6
+ metadata.gz: 3a6fa7c8ab22c8afaf2426e2ac39321587b490a7a9cd186f7b025a10758286879d77e945dbc45089ffc23564725f74bad9c77b2bdd9f4223b8ee5a7373197627
7
+ data.tar.gz: 7ee970b4665d0e682d8e1382330d6b36809d967f485997717f2d37a96d2c9f14a244d96de00d4fd45bd0f8c57682160439b980f697b18c6044ffc44fcadacd3c
data/.standard.yml CHANGED
@@ -1,3 +1,3 @@
1
1
  # For available configuration options, see:
2
2
  # https://github.com/testdouble/standard
3
- ruby_version: 3.1
3
+ ruby_version: 3.4
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
- Cinch provides a documented API, which is online for your viewing pleasure
71
- [here](http://rubydoc.info/gems/cinch/frames).
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 = ["siasmj@uwec.edu"]
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.7.0"
15
+ spec.required_ruby_version = ">= 3.2.0"
16
16
 
17
- spec.metadata["homepage_uri"] = spec.homepage
18
- spec.metadata["source_code_uri"] = "https://github.com/ircinchrb/ircinch"
19
- spec.metadata["changelog_uri"] = "https://github.com/ircinchrb/ircinch/blob/main/CHANGELOG.md"
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
- # spec.add_dependency "example-gem", "~> 1.0"
38
+ spec.add_dependency "ostruct"
34
39
 
35
40
  # Register development dependencies (gems required to program this gem)
36
- spec.add_development_dependency "rake", "~> 13.0"
37
- spec.add_development_dependency "minitest", "~> 5.16"
38
- spec.add_development_dependency "simplecov", "~> 0.21.2"
39
- spec.add_development_dependency "standard", "~> 1.18"
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(text, notice)
419
+ super
422
420
  end
423
421
  alias_method :msg, :send # deprecated
424
422
  alias_method :privmsg, :send # deprecated
@@ -14,7 +14,7 @@ module Cinch
14
14
 
15
15
  def initialize(base = nil)
16
16
  base ||= self.class.default_config
17
- super(base)
17
+ super
18
18
  end
19
19
 
20
20
  # @return [Hash]
@@ -32,7 +32,7 @@ module Cinch
32
32
  # doesn't support yet.
33
33
  class UnsupportedMode < Generic
34
34
  def initialize(mode)
35
- super "Cinch does not support the mode '#{mode}' yet."
35
+ super("Cinch does not support the mode '#{mode}' yet.")
36
36
  end
37
37
  end
38
38
 
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "set"
4
-
5
3
  require_relative "cached_list"
6
4
 
7
5
  module Cinch
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? ? true : param
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
@@ -133,7 +133,7 @@ module Cinch
133
133
  private
134
134
 
135
135
  def format_message(message, level)
136
- __send__ "format_#{level}", message
136
+ __send__ :"format_#{level}", message
137
137
  end
138
138
 
139
139
  def format_general(message)
data/lib/cinch/message.rb CHANGED
@@ -357,7 +357,7 @@ module Cinch
357
357
  end
358
358
 
359
359
  def parse_error
360
- return @command.to_i if numeric_reply? && @command[/[45]\d\d/]
360
+ @command.to_i if numeric_reply? && @command[/[45]\d\d/]
361
361
  end
362
362
 
363
363
  def parse_message
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
- return "q" if @ircd == :unreal || @ircd == :inspircd
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
- return "q" if @ircd == :"ircd-seven"
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"
@@ -12,7 +12,7 @@ class Module
12
12
  attr(attribute)
13
13
  end
14
14
 
15
- define_method("#{attribute}_unsynced") do
15
+ define_method(:"#{attribute}_unsynced") do
16
16
  attr(attribute, false, true)
17
17
  end
18
18
  end
@@ -40,7 +40,7 @@ module Cinch
40
40
  result = 1
41
41
  while e > 0
42
42
  result = (result * b) % m if e[0] == 1
43
- e = e >> 1
43
+ e >>= 1
44
44
  b = (b * b) % m
45
45
  end
46
46
  result
@@ -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
@@ -138,7 +138,7 @@ module Cinch
138
138
  # @param [#to_s] message the ctcp message
139
139
  # @return [void]
140
140
  def ctcp(message)
141
- send "\001#{message}\001"
141
+ send :"\001#{message}\001"
142
142
  end
143
143
 
144
144
  def concretize
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", "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", "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", "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", "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
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Cinch
4
4
  # Version of the library
5
- VERSION = "2.4.0"
5
+ VERSION = "2.4.2"
6
6
  end
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.0
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: 2022-11-22 00:00:00.000000000 Z
10
+ date: 2025-04-04 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
- name: rake
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: '13.0'
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: '13.0'
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: '5.16'
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: '5.16'
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.21.2
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.21.2
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: '1.18'
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: '1.18'
123
+ version: '0'
69
124
  description: A simple, friendly Ruby DSL for creating IRC bots
70
125
  email:
71
- - siasmj@uwec.edu
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
- changelog_uri: https://github.com/ircinchrb/ircinch/blob/main/CHANGELOG.md
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.7.0
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.3.26
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: []