jabber_admin 1.6.0 → 2.0.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/.github/workflows/release.yml +3 -3
- data/.github/workflows/test.yml +3 -3
- data/.rubocop.yml +2 -2
- data/Appraisals +8 -4
- data/CHANGELOG.md +10 -0
- data/Dockerfile +4 -4
- data/Gemfile +6 -6
- data/Makefile +3 -1
- data/doc/assets/project.svg +7 -68
- data/docker-compose.yml +0 -1
- data/gemfiles/rails_6.1.gemfile +3 -3
- data/gemfiles/rails_7.1.gemfile +6 -6
- data/gemfiles/rails_7.2.gemfile +23 -0
- data/gemfiles/rails_8.0.gemfile +23 -0
- data/jabber_admin.gemspec +2 -2
- data/lib/jabber_admin/api_call.rb +6 -6
- data/lib/jabber_admin/commands/get_vcard.rb +7 -6
- data/lib/jabber_admin/commands/set_presence.rb +2 -2
- data/lib/jabber_admin/commands/set_vcard.rb +4 -3
- data/lib/jabber_admin/version.rb +1 -1
- data/lib/jabber_admin.rb +3 -3
- metadata +8 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cb410aa7b0d85c973dd24b75c5050f7b85925f857f3dd67657a537c44e6f82f0
|
4
|
+
data.tar.gz: 932c1b539407a03ec66c2b52be535a35699020c6453a680921fb01facd4d3684
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e718c836a37dcae008f6f4ade822cadebec1dd965db11123836b68598774f8aa7ab0aad2701ece946c02cbc9a1c6ebd89d60f66c93840f7dd1300350dad81093
|
7
|
+
data.tar.gz: aa0a9fe61bc8a87996b9807835adcf1f8edb48baf193bf06837d97dfa5fd303e3933086f979eb21bb1a87a824fb52c1e5b64aacbf6b5986550b76c852236a039
|
@@ -20,12 +20,12 @@ jobs:
|
|
20
20
|
steps:
|
21
21
|
- uses: actions/checkout@v4
|
22
22
|
|
23
|
-
- name: Install Ruby 2
|
23
|
+
- name: Install Ruby 3.2
|
24
24
|
uses: ruby/setup-ruby@v1
|
25
25
|
with:
|
26
|
-
ruby-version: 2
|
26
|
+
ruby-version: 3.2
|
27
27
|
bundler-cache: true
|
28
|
-
rubygems: '3.
|
28
|
+
rubygems: '3.6.9'
|
29
29
|
|
30
30
|
- name: Prepare the virtual environment
|
31
31
|
uses: hausgold/actions/ci@master
|
data/.github/workflows/test.yml
CHANGED
@@ -18,8 +18,8 @@ jobs:
|
|
18
18
|
strategy:
|
19
19
|
fail-fast: false
|
20
20
|
matrix:
|
21
|
-
ruby: ['
|
22
|
-
rails: ['
|
21
|
+
ruby: ['3.2', '3.3', '3.4']
|
22
|
+
rails: ['7.1', '7.2', '8.0']
|
23
23
|
env:
|
24
24
|
BUNDLE_GEMFILE: 'gemfiles/rails_${{ matrix.rails }}.gemfile'
|
25
25
|
steps:
|
@@ -30,7 +30,7 @@ jobs:
|
|
30
30
|
with:
|
31
31
|
ruby-version: ${{ matrix.ruby }}
|
32
32
|
bundler-cache: true
|
33
|
-
rubygems: '3.
|
33
|
+
rubygems: '3.6.9'
|
34
34
|
|
35
35
|
- name: Prepare the virtual environment
|
36
36
|
uses: hausgold/actions/ci@master
|
data/.rubocop.yml
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
plugins:
|
2
2
|
- rubocop-rspec
|
3
3
|
- rubocop-rails
|
4
4
|
|
@@ -12,7 +12,7 @@ AllCops:
|
|
12
12
|
NewCops: enable
|
13
13
|
SuggestExtensions: false
|
14
14
|
DisplayCopNames: true
|
15
|
-
TargetRubyVersion: 2
|
15
|
+
TargetRubyVersion: 3.2
|
16
16
|
TargetRailsVersion: 6.1
|
17
17
|
Exclude:
|
18
18
|
- bin/**/*
|
data/Appraisals
CHANGED
@@ -1,9 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
appraise 'rails-6.1' do
|
4
|
-
gem 'activesupport', '~> 6.1.0'
|
5
|
-
end
|
6
|
-
|
7
3
|
appraise 'rails-7.1' do
|
8
4
|
gem 'activesupport', '~> 7.1.0'
|
9
5
|
end
|
6
|
+
|
7
|
+
appraise 'rails-7.2' do
|
8
|
+
gem 'activesupport', '~> 7.2.0'
|
9
|
+
end
|
10
|
+
|
11
|
+
appraise 'rails-8.0' do
|
12
|
+
gem 'activesupport', '~> 8.0.0'
|
13
|
+
end
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,16 @@
|
|
2
2
|
|
3
3
|
* TODO: Replace this bullet point with an actual description of a change.
|
4
4
|
|
5
|
+
### 2.0.0 (28 June 2025)
|
6
|
+
|
7
|
+
* Corrected some RuboCop glitches ([#21](https://github.com/hausgold/jabber_admin/pull/21))
|
8
|
+
* Drop Ruby 2 and end of life Rails (<7.1) ([#22](https://github.com/hausgold/jabber_admin/pull/22))
|
9
|
+
|
10
|
+
### 1.6.1 (21 May 2025)
|
11
|
+
|
12
|
+
* Corrected some RuboCop glitches ([#19](https://github.com/hausgold/jabber_admin/pull/19))
|
13
|
+
* Upgraded the rubocop dependencies ([#20](https://github.com/hausgold/jabber_admin/pull/20))
|
14
|
+
|
5
15
|
### 1.6.0 (30 January 2025)
|
6
16
|
|
7
17
|
* Added all versions up to Ruby 3.4 to the CI matrix ([#18](https://github.com/hausgold/jabber_admin/pull/18))
|
data/Dockerfile
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
FROM hausgold/ruby:2
|
2
|
-
|
1
|
+
FROM hausgold/ruby:3.2
|
2
|
+
LABEL org.opencontainers.image.authors="containers@hausgold.de"
|
3
3
|
|
4
4
|
# Update system gem
|
5
|
-
RUN gem update --system '3.
|
5
|
+
RUN gem update --system '3.6.9'
|
6
6
|
|
7
7
|
# Install system packages and the latest bundler
|
8
8
|
RUN apt-get update -yqqq && \
|
@@ -11,7 +11,7 @@ RUN apt-get update -yqqq && \
|
|
11
11
|
ca-certificates \
|
12
12
|
bash-completion inotify-tools && \
|
13
13
|
echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen && /usr/sbin/locale-gen && \
|
14
|
-
gem install bundler -v '~> 2.
|
14
|
+
gem install bundler -v '~> 2.6.9' --no-document --no-prerelease
|
15
15
|
|
16
16
|
# Add new web user
|
17
17
|
RUN mkdir /app && \
|
data/Gemfile
CHANGED
@@ -9,16 +9,16 @@ gemspec
|
|
9
9
|
|
10
10
|
# Development dependencies
|
11
11
|
gem 'appraisal', '~> 2.4'
|
12
|
-
gem 'bundler', '~> 2.
|
13
|
-
gem 'countless', '~>
|
12
|
+
gem 'bundler', '~> 2.6'
|
13
|
+
gem 'countless', '~> 2.0'
|
14
14
|
gem 'guard-rspec', '~> 4.7'
|
15
15
|
gem 'irb', '~> 1.2'
|
16
|
-
gem 'railties', '>=
|
16
|
+
gem 'railties', '>= 7.1'
|
17
17
|
gem 'rake', '~> 13.0'
|
18
18
|
gem 'rspec', '~> 3.12'
|
19
|
-
gem 'rubocop'
|
20
|
-
gem 'rubocop-rails'
|
21
|
-
gem 'rubocop-rspec'
|
19
|
+
gem 'rubocop'
|
20
|
+
gem 'rubocop-rails'
|
21
|
+
gem 'rubocop-rspec'
|
22
22
|
gem 'simplecov', '>= 0.22'
|
23
23
|
gem 'vcr', '~> 6.0'
|
24
24
|
gem 'webmock', '~> 3.18'
|
data/Makefile
CHANGED
@@ -121,11 +121,13 @@ test-style: test-style-ruby
|
|
121
121
|
test-style-ruby:
|
122
122
|
# Run the static code analyzer (rubocop)
|
123
123
|
@$(call run-shell,$(BUNDLE) exec $(RUBOCOP) -a \
|
124
|
-
|| ($(TEST) $$($(RUBY_VERSION)) != '2
|
124
|
+
|| ($(TEST) $$($(RUBY_VERSION)) != '3.2' && true))
|
125
125
|
|
126
126
|
clean:
|
127
127
|
# Clean the dependencies
|
128
128
|
@$(RM) -rf $(VENDOR_DIR)
|
129
|
+
@$(RM) -rf $(GEMFILES_DIR)/vendor
|
130
|
+
@$(RM) -rf $(GEMFILES_DIR)/*.lock
|
129
131
|
@$(RM) -rf .bundle .yardoc coverage pkg Gemfile.lock doc/api \
|
130
132
|
.rspec_status
|
131
133
|
|
data/doc/assets/project.svg
CHANGED
@@ -1,68 +1,7 @@
|
|
1
|
-
|
2
|
-
<
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
version="1.1"
|
9
|
-
id="Ebene_1"
|
10
|
-
x="0px"
|
11
|
-
y="0px"
|
12
|
-
viewBox="0 0 800 200"
|
13
|
-
xml:space="preserve"
|
14
|
-
width="800"
|
15
|
-
height="200"><metadata
|
16
|
-
id="metadata33"><rdf:RDF><cc:Work
|
17
|
-
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
18
|
-
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
19
|
-
id="defs31" />
|
20
|
-
<style
|
21
|
-
type="text/css"
|
22
|
-
id="style2">
|
23
|
-
.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#E73E11;}
|
24
|
-
.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#0371B9;}
|
25
|
-
.st2{fill:#132E48;}
|
26
|
-
.st3{font-family:'OpenSans-Bold';}
|
27
|
-
.st4{font-size:29.5168px;}
|
28
|
-
.st5{fill-rule:evenodd;clip-rule:evenodd;fill:none;}
|
29
|
-
.st6{opacity:0.5;fill:#132E48;}
|
30
|
-
.st7{font-family:'OpenSans';}
|
31
|
-
.st8{font-size:12px;}
|
32
|
-
</style>
|
33
|
-
<g
|
34
|
-
transform="translate(0,1.53584)"
|
35
|
-
id="g828"><g
|
36
|
-
transform="translate(35.93985,35.66416)"
|
37
|
-
id="g8">
|
38
|
-
<path
|
39
|
-
style="clip-rule:evenodd;fill:#e73e11;fill-rule:evenodd"
|
40
|
-
id="path4"
|
41
|
-
d="m -0.1,124.4 c 0,0 33.7,-123.2 66.7,-123.2 12.8,0 26.9,21.9 38.8,47.2 -23.6,27.9 -66.6,59.7 -94,76 -7.1,0 -11.5,0 -11.5,0 z"
|
42
|
-
class="st0" />
|
43
|
-
<path
|
44
|
-
style="clip-rule:evenodd;fill:#0371b9;fill-rule:evenodd"
|
45
|
-
id="path6"
|
46
|
-
d="m 88.1,101.8 c 13.5,-10.4 18.4,-16.2 27.1,-25.4 10,25.7 16.7,48 16.7,48 0,0 -41.4,0 -78,0 14.6,-7.9 18.7,-10.7 34.2,-22.6 z"
|
47
|
-
class="st1" />
|
48
|
-
</g><text
|
49
|
-
y="106.40316"
|
50
|
-
x="192.43155"
|
51
|
-
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.51733398px;font-family:'Open Sans', sans-serif;-inkscape-font-specification:'OpenSans-Bold, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#132e48"
|
52
|
-
id="text10"
|
53
|
-
class="st2 st3 st4">jabber_admin</text>
|
54
|
-
<rect
|
55
|
-
style="clip-rule:evenodd;fill:none;fill-rule:evenodd"
|
56
|
-
id="rect12"
|
57
|
-
height="24"
|
58
|
-
width="314.5"
|
59
|
-
class="st5"
|
60
|
-
y="118.06416"
|
61
|
-
x="194.23985" /><text
|
62
|
-
y="127.22146"
|
63
|
-
x="194.21715"
|
64
|
-
style="font-size:12px;font-family:'Open Sans', sans-serif;opacity:0.5;fill:#132e48;-inkscape-font-specification:'Open Sans, sans-serif, Normal';font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;"
|
65
|
-
id="text14"
|
66
|
-
class="st6 st7 st8">A Ruby library for the ejabberd RESTful admin API </text>
|
67
|
-
</g>
|
68
|
-
</svg>
|
1
|
+
<svg id="hg-readme-banner-v2" viewBox="0 0 800 200" width="800" height="200" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient id="a" x1="112.46" y1="309.13" x2="314.5" y2="309.13" gradientUnits="userSpaceOnUse" gradientTransform="translate(-33.985 -122.816)"><stop offset="0" stop-color="#1992f4" /><stop offset="1" stop-color="#2b8af6" /></linearGradient></defs><style>.st3{font-family:'OpenSans-Bold'}.st4{font-size:29.5168px}.st5{fill-rule:evenodd;clip-rule:evenodd;fill:none}.st7{font-family:'OpenSans'}.st8{font-size:12px}@media (prefers-color-scheme:dark){text{fill:#f0f6fc!important}}</style>
|
2
|
+
<text y="107.939" x="192.432" style="font-family:'Open Sans', sans-serif;-inkscape-font-specification:'OpenSans-Bold, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start" class="st3 st4" font-weight="700" font-size="29.517" font-family="'Open Sans',sans-serif" fill="#3f3e4b"
|
3
|
+
>jabber_admin</text>
|
4
|
+
<path class="st5" clip-rule="evenodd" fill="none" fill-rule="evenodd" d="M194.24 119.6h314.5v24h-314.5z"/>
|
5
|
+
<text y="128.757" x="194.217" style="font-family:'Open Sans', sans-serif;-inkscape-font-specification:'Open Sans, sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start" class="st7 st8" font-weight="400" font-size="12" font-family="'Open Sans',sans-serif" opacity=".75" fill="#3f3e4b"
|
6
|
+
>A Ruby library for the ejabberd RESTful admin API</text>
|
7
|
+
<g transform="translate(33.985 122.816)"><path d="M129.427 32.4q-7-20.71-14.09-41.44c-.33-1-.52-1.18-1.34-.25-3.1 3.48-6.25 6.92-9.49 10.26a180.23 180.23 0 0 1-18.54 16.15 193.7 193.7 0 0 1-21.95 15.43c-2.53 1.47-5.08 2.91-7.62 4.36l.11.27h73.05c1 .1 1.4-.13 1-1.22-.4-1.09-.73-2.38-1.13-3.56z" fill="url(#a)" /><path d="M89.077-63.87c-3.57-5.58-7.42-10.95-12.62-15.17-3.93-3.19-8.28-5-13.42-3.32a23 23 0 0 0-8.76 5.6 66.77 66.77 0 0 0-10.34 13.09c-8 12.68-14.06 26.28-19.28 40.25-4.6 12.33-8.82 24.8-12.95 37.29-2.45 7.41-4.39 15-6.61 22.49-.26.88 0 1 .79 1h7.4c1.23 0 2.44.14 3.6-.68 9.17-6.45 18.51-12.67 27.55-19.31a396.21 396.21 0 0 0 37.36-31.3 245.79 245.79 0 0 0 20.74-22 1.6 1.6 0 0 0 .26-2 224.45 224.45 0 0 0-13.72-25.94z" fill="#f2686d" /></g></svg>
|
data/docker-compose.yml
CHANGED
data/gemfiles/rails_6.1.gemfile
CHANGED
@@ -10,9 +10,9 @@ gem "irb", "~> 1.2"
|
|
10
10
|
gem "railties", ">= 6.1"
|
11
11
|
gem "rake", "~> 13.0"
|
12
12
|
gem "rspec", "~> 3.12"
|
13
|
-
gem "rubocop"
|
14
|
-
gem "rubocop-rails"
|
15
|
-
gem "rubocop-rspec"
|
13
|
+
gem "rubocop"
|
14
|
+
gem "rubocop-rails"
|
15
|
+
gem "rubocop-rspec"
|
16
16
|
gem "simplecov", ">= 0.22"
|
17
17
|
gem "vcr", "~> 6.0"
|
18
18
|
gem "webmock", "~> 3.18"
|
data/gemfiles/rails_7.1.gemfile
CHANGED
@@ -3,16 +3,16 @@
|
|
3
3
|
source "https://rubygems.org"
|
4
4
|
|
5
5
|
gem "appraisal", "~> 2.4"
|
6
|
-
gem "bundler", "~> 2.
|
7
|
-
gem "countless", "~>
|
6
|
+
gem "bundler", "~> 2.6"
|
7
|
+
gem "countless", "~> 2.0"
|
8
8
|
gem "guard-rspec", "~> 4.7"
|
9
9
|
gem "irb", "~> 1.2"
|
10
|
-
gem "railties", ">=
|
10
|
+
gem "railties", ">= 7.1"
|
11
11
|
gem "rake", "~> 13.0"
|
12
12
|
gem "rspec", "~> 3.12"
|
13
|
-
gem "rubocop"
|
14
|
-
gem "rubocop-rails"
|
15
|
-
gem "rubocop-rspec"
|
13
|
+
gem "rubocop"
|
14
|
+
gem "rubocop-rails"
|
15
|
+
gem "rubocop-rspec"
|
16
16
|
gem "simplecov", ">= 0.22"
|
17
17
|
gem "vcr", "~> 6.0"
|
18
18
|
gem "webmock", "~> 3.18"
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "appraisal", "~> 2.4"
|
6
|
+
gem "bundler", "~> 2.6"
|
7
|
+
gem "countless", "~> 2.0"
|
8
|
+
gem "guard-rspec", "~> 4.7"
|
9
|
+
gem "irb", "~> 1.2"
|
10
|
+
gem "railties", ">= 7.1"
|
11
|
+
gem "rake", "~> 13.0"
|
12
|
+
gem "rspec", "~> 3.12"
|
13
|
+
gem "rubocop"
|
14
|
+
gem "rubocop-rails"
|
15
|
+
gem "rubocop-rspec"
|
16
|
+
gem "simplecov", ">= 0.22"
|
17
|
+
gem "vcr", "~> 6.0"
|
18
|
+
gem "webmock", "~> 3.18"
|
19
|
+
gem "yard", ">= 0.9.28"
|
20
|
+
gem "yard-activesupport-concern", ">= 0.0.1"
|
21
|
+
gem "activesupport", "~> 7.2.0"
|
22
|
+
|
23
|
+
gemspec path: "../"
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "appraisal", "~> 2.4"
|
6
|
+
gem "bundler", "~> 2.6"
|
7
|
+
gem "countless", "~> 2.0"
|
8
|
+
gem "guard-rspec", "~> 4.7"
|
9
|
+
gem "irb", "~> 1.2"
|
10
|
+
gem "railties", ">= 7.1"
|
11
|
+
gem "rake", "~> 13.0"
|
12
|
+
gem "rspec", "~> 3.12"
|
13
|
+
gem "rubocop"
|
14
|
+
gem "rubocop-rails"
|
15
|
+
gem "rubocop-rspec"
|
16
|
+
gem "simplecov", ">= 0.22"
|
17
|
+
gem "vcr", "~> 6.0"
|
18
|
+
gem "webmock", "~> 3.18"
|
19
|
+
gem "yard", ">= 0.9.28"
|
20
|
+
gem "yard-activesupport-concern", ">= 0.0.1"
|
21
|
+
gem "activesupport", "~> 8.0.0"
|
22
|
+
|
23
|
+
gemspec path: "../"
|
data/jabber_admin.gemspec
CHANGED
@@ -31,9 +31,9 @@ Gem::Specification.new do |spec|
|
|
31
31
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
32
32
|
spec.require_paths = ['lib']
|
33
33
|
|
34
|
-
spec.required_ruby_version = '>= 2
|
34
|
+
spec.required_ruby_version = '>= 3.2'
|
35
35
|
|
36
|
-
spec.add_dependency 'activesupport', '>=
|
36
|
+
spec.add_dependency 'activesupport', '>= 7.1'
|
37
37
|
spec.add_dependency 'rest-client', '~> 2.1'
|
38
38
|
spec.add_dependency 'zeitwerk', '~> 2.6'
|
39
39
|
end
|
@@ -51,8 +51,8 @@ module JabberAdmin
|
|
51
51
|
# @raise JabberAdmin::ApiError
|
52
52
|
# @raise JabberAdmin::CommandError
|
53
53
|
#
|
54
|
-
# rubocop:disable Metrics/AbcSize because its the bundled check logic
|
55
|
-
# rubocop:disable Metrics/MethodLength
|
54
|
+
# rubocop:disable Metrics/AbcSize -- because its the bundled check logic
|
55
|
+
# rubocop:disable Metrics/MethodLength -- ditto
|
56
56
|
def check_response
|
57
57
|
# The REST API responds a 404 status code when the command is not known.
|
58
58
|
if response.code == 404
|
@@ -111,8 +111,8 @@ module JabberAdmin
|
|
111
111
|
# @param args [Array<Mixed>] the initializer arguments
|
112
112
|
# @param kwargs [Hash{Symbol => Mixed}] the initializer arguments
|
113
113
|
# @return [RestClient::Response] the API call response
|
114
|
-
def self.perform(
|
115
|
-
new(
|
114
|
+
def self.perform(*, **)
|
115
|
+
new(*, **).perform
|
116
116
|
end
|
117
117
|
|
118
118
|
# A simple class level shortcut of the +perform!+ method. This is just DSL
|
@@ -125,8 +125,8 @@ module JabberAdmin
|
|
125
125
|
#
|
126
126
|
# @raise JabberAdmin::ApiError
|
127
127
|
# @raise JabberAdmin::CommandError
|
128
|
-
def self.perform!(
|
129
|
-
new(
|
128
|
+
def self.perform!(*, **)
|
129
|
+
new(*, **).perform!
|
130
130
|
end
|
131
131
|
end
|
132
132
|
end
|
@@ -31,11 +31,12 @@ module JabberAdmin
|
|
31
31
|
# @param user [String] user JID wo/ resource (eg. +tom@localhost+)
|
32
32
|
# @return [Hash] the vCard details
|
33
33
|
#
|
34
|
-
# rubocop:disable Metrics/MethodLength because the ejabberd REST API
|
35
|
-
# hard to use in complex scenarios, so we have to work
|
36
|
-
#
|
37
|
-
# rubocop:disable Metrics/
|
38
|
-
# rubocop:disable Metrics/
|
34
|
+
# rubocop:disable Metrics/MethodLength -- because the ejabberd REST API
|
35
|
+
# is hard to use in complex scenarios, so we have to work
|
36
|
+
# around it
|
37
|
+
# rubocop:disable Metrics/AbcSize -- ditto
|
38
|
+
# rubocop:disable Metrics/CyclomaticComplexity -- ditto
|
39
|
+
# rubocop:disable Metrics/PerceivedComplexity -- ditto
|
39
40
|
def self.call(callable, *keys, user:)
|
40
41
|
uid, host = user.split('@')
|
41
42
|
val = proc do |key|
|
@@ -67,7 +68,7 @@ module JabberAdmin
|
|
67
68
|
end
|
68
69
|
|
69
70
|
# When just one key is requested, we return the value directly
|
70
|
-
return val[keys.first] if keys.
|
71
|
+
return val[keys.first] if keys.one?
|
71
72
|
|
72
73
|
# When multiple keys are requested, we assemble a hash
|
73
74
|
keys.to_h do |key|
|
@@ -15,8 +15,8 @@ module JabberAdmin
|
|
15
15
|
# @param status [String] the user status (eg. +I'm online+)
|
16
16
|
# @param priority [String] presence priority (eg. +7+)
|
17
17
|
#
|
18
|
-
# rubocop:disable Metrics/ParameterLists because of the mapping
|
19
|
-
# rubocop:disable Metrics/MethodLength because of the mapping
|
18
|
+
# rubocop:disable Metrics/ParameterLists -- because of the mapping
|
19
|
+
# rubocop:disable Metrics/MethodLength -- because of the mapping
|
20
20
|
def self.call(callable, user:, type: 'available', show: 'chat',
|
21
21
|
status: '', priority: '7')
|
22
22
|
uid, host = user.split('@')
|
@@ -32,9 +32,10 @@ module JabberAdmin
|
|
32
32
|
# set to the vCard
|
33
33
|
# @return [Hash] the vCard details
|
34
34
|
#
|
35
|
-
# rubocop:disable Metrics/MethodLength because the ejabberd REST API
|
36
|
-
# hard to use in complex scenarios, so we have to work
|
37
|
-
#
|
35
|
+
# rubocop:disable Metrics/MethodLength -- because the ejabberd REST API
|
36
|
+
# is hard to use in complex scenarios, so we have to work
|
37
|
+
# around it
|
38
|
+
# rubocop:disable Metrics/AbcSize -- ditto
|
38
39
|
def self.call(callable, args = {}, user:, **sym_args)
|
39
40
|
args = args.merge(sym_args)
|
40
41
|
uid, host = user.split('@')
|
data/lib/jabber_admin/version.rb
CHANGED
data/lib/jabber_admin.rb
CHANGED
@@ -99,12 +99,12 @@ module JabberAdmin
|
|
99
99
|
# @param args [Array<Mixed>] all additional API call payload
|
100
100
|
# @param kwargs [Hash{Symbol => Mixed}] all additional API call payload
|
101
101
|
# @return [RestClient::Response] the actual response of the command
|
102
|
-
def method_missing(method,
|
102
|
+
def method_missing(method, *, **)
|
103
103
|
predefined_command(method).call(
|
104
|
-
predefined_callable(method),
|
104
|
+
predefined_callable(method), *, **
|
105
105
|
)
|
106
106
|
rescue NameError
|
107
|
-
predefined_callable(method).call(method.to_s.chomp('!'),
|
107
|
+
predefined_callable(method).call(method.to_s.chomp('!'), *, **)
|
108
108
|
end
|
109
109
|
|
110
110
|
# Try to find the given name as a predefined command. When there is no such
|
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jabber_admin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hermann Mayer
|
8
8
|
- Henning Vogt
|
9
|
-
autorequire:
|
10
9
|
bindir: exe
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: activesupport
|
@@ -17,14 +16,14 @@ dependencies:
|
|
17
16
|
requirements:
|
18
17
|
- - ">="
|
19
18
|
- !ruby/object:Gem::Version
|
20
|
-
version: '
|
19
|
+
version: '7.1'
|
21
20
|
type: :runtime
|
22
21
|
prerelease: false
|
23
22
|
version_requirements: !ruby/object:Gem::Requirement
|
24
23
|
requirements:
|
25
24
|
- - ">="
|
26
25
|
- !ruby/object:Gem::Version
|
27
|
-
version: '
|
26
|
+
version: '7.1'
|
28
27
|
- !ruby/object:Gem::Dependency
|
29
28
|
name: rest-client
|
30
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -90,6 +89,8 @@ files:
|
|
90
89
|
- docker-compose.yml
|
91
90
|
- gemfiles/rails_6.1.gemfile
|
92
91
|
- gemfiles/rails_7.1.gemfile
|
92
|
+
- gemfiles/rails_7.2.gemfile
|
93
|
+
- gemfiles/rails_8.0.gemfile
|
93
94
|
- jabber_admin.gemspec
|
94
95
|
- lib/jabber_admin.rb
|
95
96
|
- lib/jabber_admin/api_call.rb
|
@@ -116,7 +117,6 @@ files:
|
|
116
117
|
- lib/jabber_admin/configuration.rb
|
117
118
|
- lib/jabber_admin/errors.rb
|
118
119
|
- lib/jabber_admin/version.rb
|
119
|
-
homepage:
|
120
120
|
licenses:
|
121
121
|
- MIT
|
122
122
|
metadata:
|
@@ -125,7 +125,6 @@ metadata:
|
|
125
125
|
changelog_uri: https://github.com/hausgold/jabber_admin/blob/master/CHANGELOG.md
|
126
126
|
bug_tracker_uri: https://github.com/hausgold/jabber_admin/issues
|
127
127
|
documentation_uri: https://www.rubydoc.info/gems/jabber_admin
|
128
|
-
post_install_message:
|
129
128
|
rdoc_options: []
|
130
129
|
require_paths:
|
131
130
|
- lib
|
@@ -133,15 +132,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
133
132
|
requirements:
|
134
133
|
- - ">="
|
135
134
|
- !ruby/object:Gem::Version
|
136
|
-
version: '2
|
135
|
+
version: '3.2'
|
137
136
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
138
137
|
requirements:
|
139
138
|
- - ">="
|
140
139
|
- !ruby/object:Gem::Version
|
141
140
|
version: '0'
|
142
141
|
requirements: []
|
143
|
-
rubygems_version: 3.
|
144
|
-
signing_key:
|
142
|
+
rubygems_version: 3.6.9
|
145
143
|
specification_version: 4
|
146
144
|
summary: Library for the ejabberd RESTful admin API
|
147
145
|
test_files: []
|