jabber_admin 1.0.5 → 1.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/.github/workflows/documentation.yml +3 -2
- data/.github/workflows/release.yml +47 -0
- data/.github/workflows/test.yml +9 -5
- data/.rspec +2 -2
- data/.rubocop.yml +21 -3
- data/.simplecov +10 -0
- data/Appraisals +5 -0
- data/CHANGELOG.md +16 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Dockerfile +28 -0
- data/Envfile +3 -0
- data/Guardfile +44 -0
- data/LICENSE +1 -1
- data/Makefile +54 -7
- data/README.md +19 -5
- data/Rakefile +11 -65
- data/config/docker/.bash_profile +3 -0
- data/config/docker/.bashrc +48 -0
- data/config/docker/.inputrc +17 -0
- data/docker-compose.yml +2 -1
- data/gemfiles/rails_5.2.gemfile +7 -0
- data/jabber_admin.gemspec +34 -31
- data/lib/jabber_admin/commands/create_room_with_opts.rb +1 -1
- data/lib/jabber_admin/version.rb +3 -4
- metadata +106 -54
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bd0bcf59057c6d9ae11137e3f6427177a74aa0969f44abe30aaf5d192b43e693
|
4
|
+
data.tar.gz: b49453ad3ca03bdb7665c487e9547ed5721f28fe7ded316bba9e2af3a6d96745
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5c6c483c01e80efbb706cf855f4881b65880b455dd85043baca8620491cdb9b24d521f9f9b4b14344d2b4982778b0bf1d1309ebd990b50ea6743376061ba05b4
|
7
|
+
data.tar.gz: 30a6239b2893a205bbf82552567d3f0fb783072e679ae25e9d948e404e582d518abd9ff8ce49b72ba1025b95f0b35075f536d0473158510e9bb95b22ea22847f
|
@@ -9,16 +9,17 @@ concurrency:
|
|
9
9
|
jobs:
|
10
10
|
docs:
|
11
11
|
name: Build gem documentation
|
12
|
-
runs-on: ubuntu-
|
12
|
+
runs-on: ubuntu-22.04
|
13
13
|
timeout-minutes: 5
|
14
14
|
steps:
|
15
|
-
- uses: actions/checkout@
|
15
|
+
- uses: actions/checkout@v3
|
16
16
|
|
17
17
|
- name: Install the correct Ruby version
|
18
18
|
uses: ruby/setup-ruby@v1
|
19
19
|
with:
|
20
20
|
ruby-version: 2.5
|
21
21
|
bundler-cache: true
|
22
|
+
rubygems: '3.3.26'
|
22
23
|
|
23
24
|
- name: Prepare the virtual environment
|
24
25
|
uses: hausgold/actions/ci@master
|
@@ -0,0 +1,47 @@
|
|
1
|
+
name: Release
|
2
|
+
run-name: Release ${{ github.event.inputs.VERSION }}
|
3
|
+
|
4
|
+
on:
|
5
|
+
workflow_dispatch:
|
6
|
+
inputs:
|
7
|
+
VERSION:
|
8
|
+
description: The new version to release. (eg. `1.0.0`) Check the
|
9
|
+
changelog for the latest version.
|
10
|
+
|
11
|
+
concurrency:
|
12
|
+
group: '${{ github.event.inputs.VERSION }}'
|
13
|
+
cancel-in-progress: true
|
14
|
+
|
15
|
+
jobs:
|
16
|
+
docs:
|
17
|
+
name: Release the gem
|
18
|
+
runs-on: ubuntu-22.04
|
19
|
+
timeout-minutes: 5
|
20
|
+
steps:
|
21
|
+
- uses: actions/checkout@v3
|
22
|
+
|
23
|
+
- name: Install Ruby 2.5
|
24
|
+
uses: ruby/setup-ruby@v1
|
25
|
+
with:
|
26
|
+
ruby-version: 2.5
|
27
|
+
bundler-cache: true
|
28
|
+
rubygems: '3.3.26'
|
29
|
+
|
30
|
+
- name: Prepare the virtual environment
|
31
|
+
uses: hausgold/actions/ci@master
|
32
|
+
with:
|
33
|
+
clone_token: '${{ secrets.CLONE_TOKEN }}'
|
34
|
+
settings: '${{ github.repository }}'
|
35
|
+
target: ci/gem-test
|
36
|
+
|
37
|
+
- name: Switch to SSH remotes for the Git repository
|
38
|
+
run: git-ssh-remotes
|
39
|
+
|
40
|
+
- name: Enforce version '${{ github.event.inputs.VERSION }}'
|
41
|
+
run: set-gem-version '${{ github.event.inputs.VERSION }}'
|
42
|
+
|
43
|
+
- name: Prepare the Git release commit
|
44
|
+
run: git-release-commit '${{ github.event.inputs.VERSION }}'
|
45
|
+
|
46
|
+
- name: Push the release Git commit/tag and package to the registry
|
47
|
+
run: make release
|
data/.github/workflows/test.yml
CHANGED
@@ -12,21 +12,25 @@ concurrency:
|
|
12
12
|
|
13
13
|
jobs:
|
14
14
|
test:
|
15
|
-
name: 'Test the gem (Ruby ${{ matrix.ruby }})'
|
16
|
-
runs-on: ubuntu-
|
15
|
+
name: 'Test the gem (Ruby ${{ matrix.ruby }}, Rails ${{ matrix.rails }})'
|
16
|
+
runs-on: ubuntu-22.04
|
17
17
|
timeout-minutes: 5
|
18
18
|
strategy:
|
19
19
|
fail-fast: false
|
20
20
|
matrix:
|
21
|
-
ruby: [2.5, 2.
|
21
|
+
ruby: ['2.5', '2.7']
|
22
|
+
rails: ['5.2']
|
23
|
+
env:
|
24
|
+
BUNDLE_GEMFILE: 'gemfiles/rails_${{ matrix.rails }}.gemfile'
|
22
25
|
steps:
|
23
|
-
- uses: actions/checkout@
|
26
|
+
- uses: actions/checkout@v3
|
24
27
|
|
25
28
|
- name: Install the correct Ruby version
|
26
29
|
uses: ruby/setup-ruby@v1
|
27
30
|
with:
|
28
31
|
ruby-version: ${{ matrix.ruby }}
|
29
32
|
bundler-cache: true
|
33
|
+
rubygems: '3.3.26'
|
30
34
|
|
31
35
|
- name: Prepare the virtual environment
|
32
36
|
uses: hausgold/actions/ci@master
|
@@ -43,7 +47,7 @@ jobs:
|
|
43
47
|
|
44
48
|
trigger-docs:
|
45
49
|
name: Trigger the documentation upload
|
46
|
-
runs-on: ubuntu-
|
50
|
+
runs-on: ubuntu-22.04
|
47
51
|
timeout-minutes: 2
|
48
52
|
needs: test
|
49
53
|
if: github.ref == 'refs/heads/master'
|
data/.rspec
CHANGED
data/.rubocop.yml
CHANGED
@@ -1,11 +1,25 @@
|
|
1
|
-
require:
|
1
|
+
require:
|
2
|
+
- rubocop-rspec
|
3
|
+
- rubocop-rails
|
2
4
|
|
3
|
-
|
5
|
+
Rails:
|
6
|
+
Enabled: true
|
7
|
+
|
8
|
+
Style/Documentation:
|
4
9
|
Enabled: true
|
5
10
|
|
6
11
|
AllCops:
|
12
|
+
NewCops: enable
|
13
|
+
SuggestExtensions: false
|
7
14
|
DisplayCopNames: true
|
8
15
|
TargetRubyVersion: 2.5
|
16
|
+
TargetRailsVersion: 5.2
|
17
|
+
Exclude:
|
18
|
+
- bin/**/*
|
19
|
+
- vendor/**/*
|
20
|
+
- config/**/*
|
21
|
+
- build/**/*
|
22
|
+
- gemfiles/**/*
|
9
23
|
|
10
24
|
Metrics/BlockLength:
|
11
25
|
Exclude:
|
@@ -14,6 +28,10 @@ Metrics/BlockLength:
|
|
14
28
|
- '**/*.rake'
|
15
29
|
- '*.gemspec'
|
16
30
|
|
31
|
+
# MFA is not yet enabled for our gems yet.
|
32
|
+
Gemspec/RequireMFA:
|
33
|
+
Enabled: false
|
34
|
+
|
17
35
|
# Document all the things.
|
18
36
|
Style/DocumentationMethod:
|
19
37
|
Enabled: true
|
@@ -31,5 +49,5 @@ RSpec/NestedGroups:
|
|
31
49
|
|
32
50
|
# We stay at 80 characters per line.
|
33
51
|
# See: https://rubystyle.guide/#max-line-length
|
34
|
-
|
52
|
+
Layout/LineLength:
|
35
53
|
Max: 80
|
data/.simplecov
CHANGED
@@ -1,5 +1,15 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'simplecov-html'
|
4
|
+
require 'simplecov_json_formatter'
|
5
|
+
|
6
|
+
SimpleCov.formatters = SimpleCov::Formatter::MultiFormatter.new(
|
7
|
+
[
|
8
|
+
SimpleCov::Formatter::HTMLFormatter,
|
9
|
+
SimpleCov::Formatter::JSONFormatter
|
10
|
+
]
|
11
|
+
)
|
12
|
+
|
3
13
|
SimpleCov.start 'test_frameworks' do
|
4
14
|
add_filter '/vendor/bundle/'
|
5
15
|
end
|
data/Appraisals
ADDED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,19 @@
|
|
1
|
+
### next
|
2
|
+
|
3
|
+
* TODO: Replace this bullet point with an actual description of a change.
|
4
|
+
|
5
|
+
### 1.2.0
|
6
|
+
|
7
|
+
* Added support for Gem release automation
|
8
|
+
|
9
|
+
### 1.1.0
|
10
|
+
|
11
|
+
* Bundler >= 2.3 is from now on required as minimal version (#11)
|
12
|
+
* Dropped support for Ruby < 2.5 (#11)
|
13
|
+
* Dropped support for Rails < 5.2 (#11)
|
14
|
+
* Updated all development/runtime gems to their latest
|
15
|
+
Ruby 2.5 compatible version (#11)
|
16
|
+
|
1
17
|
### 1.0.5
|
2
18
|
|
3
19
|
* Added support for the predefined command `get_room_affiliations` (#10)
|
data/CODE_OF_CONDUCT.md
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
# Contributor Covenant Code of Conduct
|
2
|
+
|
3
|
+
## Our Pledge
|
4
|
+
|
5
|
+
In the interest of fostering an open and welcoming environment, we as
|
6
|
+
contributors and maintainers pledge to making participation in our project and
|
7
|
+
our community a harassment-free experience for everyone, regardless of age, body
|
8
|
+
size, disability, ethnicity, gender identity and expression, level of experience,
|
9
|
+
nationality, personal appearance, race, religion, or sexual identity and
|
10
|
+
orientation.
|
11
|
+
|
12
|
+
## Our Standards
|
13
|
+
|
14
|
+
Examples of behavior that contributes to creating a positive environment
|
15
|
+
include:
|
16
|
+
|
17
|
+
* Using welcoming and inclusive language
|
18
|
+
* Being respectful of differing viewpoints and experiences
|
19
|
+
* Gracefully accepting constructive criticism
|
20
|
+
* Focusing on what is best for the community
|
21
|
+
* Showing empathy towards other community members
|
22
|
+
|
23
|
+
Examples of unacceptable behavior by participants include:
|
24
|
+
|
25
|
+
* The use of sexualized language or imagery and unwelcome sexual attention or
|
26
|
+
advances
|
27
|
+
* Trolling, insulting/derogatory comments, and personal or political attacks
|
28
|
+
* Public or private harassment
|
29
|
+
* Publishing others' private information, such as a physical or electronic
|
30
|
+
address, without explicit permission
|
31
|
+
* Other conduct which could reasonably be considered inappropriate in a
|
32
|
+
professional setting
|
33
|
+
|
34
|
+
## Our Responsibilities
|
35
|
+
|
36
|
+
Project maintainers are responsible for clarifying the standards of acceptable
|
37
|
+
behavior and are expected to take appropriate and fair corrective action in
|
38
|
+
response to any instances of unacceptable behavior.
|
39
|
+
|
40
|
+
Project maintainers have the right and responsibility to remove, edit, or
|
41
|
+
reject comments, commits, code, wiki edits, issues, and other contributions
|
42
|
+
that are not aligned to this Code of Conduct, or to ban temporarily or
|
43
|
+
permanently any contributor for other behaviors that they deem inappropriate,
|
44
|
+
threatening, offensive, or harmful.
|
45
|
+
|
46
|
+
## Scope
|
47
|
+
|
48
|
+
This Code of Conduct applies both within project spaces and in public spaces
|
49
|
+
when an individual is representing the project or its community. Examples of
|
50
|
+
representing a project or community include using an official project e-mail
|
51
|
+
address, posting via an official social media account, or acting as an appointed
|
52
|
+
representative at an online or offline event. Representation of a project may be
|
53
|
+
further defined and clarified by project maintainers.
|
54
|
+
|
55
|
+
## Enforcement
|
56
|
+
|
57
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
58
|
+
reported by contacting the project team at development@hausgold.de. All
|
59
|
+
complaints will be reviewed and investigated and will result in a response that
|
60
|
+
is deemed necessary and appropriate to the circumstances. The project team is
|
61
|
+
obligated to maintain confidentiality with regard to the reporter of an incident.
|
62
|
+
Further details of specific enforcement policies may be posted separately.
|
63
|
+
|
64
|
+
Project maintainers who do not follow or enforce the Code of Conduct in good
|
65
|
+
faith may face temporary or permanent repercussions as determined by other
|
66
|
+
members of the project's leadership.
|
67
|
+
|
68
|
+
## Attribution
|
69
|
+
|
70
|
+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
71
|
+
available at [http://contributor-covenant.org/version/1/4][version]
|
72
|
+
|
73
|
+
[homepage]: http://contributor-covenant.org
|
74
|
+
[version]: http://contributor-covenant.org/version/1/4/
|
data/Dockerfile
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
FROM hausgold/ruby:2.5
|
2
|
+
MAINTAINER Hermann Mayer <hermann.mayer@hausgold.de>
|
3
|
+
|
4
|
+
# Update system gem
|
5
|
+
RUN gem update --system '3.3.26'
|
6
|
+
|
7
|
+
# Install system packages and the latest bundler
|
8
|
+
RUN apt-get update -yqqq && \
|
9
|
+
apt-get install -y \
|
10
|
+
build-essential locales sudo vim \
|
11
|
+
ca-certificates \
|
12
|
+
bash-completion inotify-tools && \
|
13
|
+
echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen && /usr/sbin/locale-gen && \
|
14
|
+
gem install bundler -v '~> 2.3.0' --no-document --no-prerelease
|
15
|
+
|
16
|
+
# Add new web user
|
17
|
+
RUN mkdir /app && \
|
18
|
+
adduser web --home /home/web --shell /bin/bash \
|
19
|
+
--disabled-password --gecos ""
|
20
|
+
COPY config/docker/* /home/web/
|
21
|
+
RUN chown web:web -R /app /home/web /usr/local/bundle && \
|
22
|
+
mkdir -p /home/web/.ssh
|
23
|
+
|
24
|
+
# Set the root password and grant root access to web
|
25
|
+
RUN echo 'root:root' | chpasswd
|
26
|
+
RUN echo 'web ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
|
27
|
+
|
28
|
+
WORKDIR /app
|
data/Envfile
ADDED
data/Guardfile
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# A sample Guardfile
|
4
|
+
# More info at https://github.com/guard/guard#readme
|
5
|
+
|
6
|
+
## Uncomment and set this to only include directories you want to watch
|
7
|
+
(directories %w[lib spec]).select do |d|
|
8
|
+
if Dir.exist?(d)
|
9
|
+
d
|
10
|
+
else
|
11
|
+
UI.warning("Directory #{d} does not exist")
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
## Note: if you are using the `directories` clause above and you are not
|
16
|
+
## watching the project directory ('.'), then you will want to move
|
17
|
+
## the Guardfile to a watched dir and symlink it back, e.g.
|
18
|
+
#
|
19
|
+
# $ mkdir config
|
20
|
+
# $ mv Guardfile config/
|
21
|
+
# $ ln -s config/Guardfile .
|
22
|
+
#
|
23
|
+
# and, you'll have to watch "config/Guardfile" instead of "Guardfile"
|
24
|
+
|
25
|
+
# NOTE: The cmd option is now required due to the increasing number of ways
|
26
|
+
# rspec may be run, below are examples of the most common uses.
|
27
|
+
# * bundler: 'bundle exec rspec'
|
28
|
+
# * bundler binstubs: 'bin/rspec'
|
29
|
+
# * spring: 'bin/rspec' (This will use spring if running and you have
|
30
|
+
# installed the spring binstubs per the docs)
|
31
|
+
# * zeus: 'zeus rspec' (requires the server to be started separately)
|
32
|
+
# * 'just' rspec: 'rspec'
|
33
|
+
|
34
|
+
guard :rspec, cmd: 'bundle exec rspec' do
|
35
|
+
watch('spec/spec_helper.rb') { 'spec' }
|
36
|
+
watch(%r{^lib/jabber_admin.rb}) { 'spec' }
|
37
|
+
watch(%r{^spec/.+_spec\.rb$})
|
38
|
+
watch(%r{^lib/jabber_admin/([^\\]+)\.rb$}) do |m|
|
39
|
+
"spec/jabber_admin/#{m[1]}_spec.rb"
|
40
|
+
end
|
41
|
+
watch(%r{^lib/jabber_admin/([^\\]+)/(.*)\.rb$}) do |m|
|
42
|
+
"spec/jabber_admin/#{m[1]}/#{m[2]}_spec.rb"
|
43
|
+
end
|
44
|
+
end
|
data/LICENSE
CHANGED
data/Makefile
CHANGED
@@ -9,35 +9,52 @@ SHELL := bash
|
|
9
9
|
# Environment switches
|
10
10
|
MAKE_ENV ?= docker
|
11
11
|
COMPOSE_RUN_SHELL_FLAGS ?= --rm
|
12
|
+
BASH_RUN_SHELL_FLAGS ?=
|
12
13
|
|
13
14
|
# Directories
|
14
15
|
VENDOR_DIR ?= vendor/bundle
|
15
16
|
|
16
17
|
# Host binaries
|
18
|
+
AWK ?= awk
|
17
19
|
BASH ?= bash
|
18
20
|
COMPOSE ?= docker-compose
|
19
|
-
|
21
|
+
CP ?= cp
|
22
|
+
DOCKER ?= docker
|
23
|
+
FIND ?= find
|
20
24
|
GREP ?= grep
|
25
|
+
HEAD ?= head
|
21
26
|
ID ?= id
|
22
27
|
MKDIR ?= mkdir
|
23
28
|
RM ?= rm
|
24
|
-
SED ?= sed
|
25
29
|
SORT ?= sort
|
30
|
+
XARGS ?= xargs
|
26
31
|
|
27
32
|
# Container binaries
|
33
|
+
APPRAISAL ?= appraisal
|
28
34
|
BUNDLE ?= bundle
|
35
|
+
GEM ?= gem
|
36
|
+
GUARD ?= guard
|
29
37
|
RAKE ?= rake
|
38
|
+
RSPEC ?= rspec
|
30
39
|
RUBOCOP ?= rubocop
|
31
40
|
YARD ?= yard
|
32
41
|
|
42
|
+
# Files
|
43
|
+
GEMFILES ?= $(subst _,-,$(patsubst $(GEMFILES_DIR)/%.gemfile,%,\
|
44
|
+
$(wildcard $(GEMFILES_DIR)/*.gemfile)))
|
45
|
+
TEST_GEMFILES := $(GEMFILES:%=test-%)
|
46
|
+
|
33
47
|
all:
|
34
48
|
# jabber_admin
|
35
49
|
#
|
36
50
|
# install Install the dependencies
|
37
|
-
#
|
38
|
-
# test-style Check the coding styles
|
51
|
+
# update Update the local Gemset dependencies
|
39
52
|
# clean Clean the dependencies
|
40
53
|
#
|
54
|
+
# test Run the whole test suite
|
55
|
+
# test-style Test the code styles
|
56
|
+
# watch Watch for code changes and rerun the test suite
|
57
|
+
#
|
41
58
|
# docs Generate the Ruby documentation of the library
|
42
59
|
# stats Print the code statistics (library and test suite)
|
43
60
|
# notes Print all the notes from the code
|
@@ -54,8 +71,9 @@ ifeq ($(MAKE_ENV),docker)
|
|
54
71
|
define run-shell
|
55
72
|
$(COMPOSE) run $(COMPOSE_RUN_SHELL_FLAGS) \
|
56
73
|
-e LANG=en_US.UTF-8 -e LANGUAGE=en_US.UTF-8 -e LC_ALL=en_US.UTF-8 \
|
57
|
-
-e HOME=/
|
58
|
-
-u `$(ID) -u` test
|
74
|
+
-e HOME=/home/web -e BUNDLE_APP_CONFIG=/app/.bundle \
|
75
|
+
-u `$(ID) -u` test \
|
76
|
+
bash $(BASH_RUN_SHELL_FLAGS) -c 'sleep 0.1; echo; $(1)'
|
59
77
|
endef
|
60
78
|
else ifeq ($(MAKE_ENV),baremetal)
|
61
79
|
define run-shell
|
@@ -63,10 +81,24 @@ define run-shell
|
|
63
81
|
endef
|
64
82
|
endif
|
65
83
|
|
84
|
+
.interactive:
|
85
|
+
@$(eval BASH_RUN_SHELL_FLAGS = --login)
|
86
|
+
|
66
87
|
install:
|
67
88
|
# Install the dependencies
|
68
89
|
@$(MKDIR) -p $(VENDOR_DIR)
|
69
90
|
@$(call run-shell,$(BUNDLE) check || $(BUNDLE) install --path $(VENDOR_DIR))
|
91
|
+
@$(call run-shell,$(BUNDLE) exec $(APPRAISAL) install)
|
92
|
+
|
93
|
+
update:
|
94
|
+
# Install the dependencies
|
95
|
+
@$(MKDIR) -p $(VENDOR_DIR)
|
96
|
+
@$(call run-shell,$(BUNDLE) update)
|
97
|
+
@$(call run-shell,$(BUNDLE) exec $(APPRAISAL) update)
|
98
|
+
|
99
|
+
watch: install .interactive
|
100
|
+
# Watch for code changes and rerun the test suite
|
101
|
+
@$(call run-shell,$(BUNDLE) exec $(GUARD))
|
70
102
|
|
71
103
|
test: \
|
72
104
|
test-specs \
|
@@ -76,6 +108,11 @@ test-specs:
|
|
76
108
|
# Run the whole test suite
|
77
109
|
@$(call run-shell,$(BUNDLE) exec $(RAKE) stats spec)
|
78
110
|
|
111
|
+
$(TEST_GEMFILES): GEMFILE=$(@:test-%=%)
|
112
|
+
$(TEST_GEMFILES):
|
113
|
+
# Run the whole test suite ($(GEMFILE))
|
114
|
+
@$(call run-shell,$(BUNDLE) exec $(APPRAISAL) $(GEMFILE) $(RSPEC))
|
115
|
+
|
79
116
|
test-style: test-style-ruby
|
80
117
|
|
81
118
|
test-style-ruby:
|
@@ -85,6 +122,8 @@ test-style-ruby:
|
|
85
122
|
clean:
|
86
123
|
# Clean the dependencies
|
87
124
|
@$(RM) -rf $(VENDOR_DIR)
|
125
|
+
@$(RM) -rf .bundle .yardoc coverage pkg Gemfile.lock doc/api \
|
126
|
+
.rspec_status
|
88
127
|
|
89
128
|
clean-containers:
|
90
129
|
# Clean running containers
|
@@ -92,7 +131,15 @@ ifeq ($(MAKE_ENV),docker)
|
|
92
131
|
@$(COMPOSE) down
|
93
132
|
endif
|
94
133
|
|
95
|
-
|
134
|
+
clean-images:
|
135
|
+
# Clean build images
|
136
|
+
ifeq ($(MAKE_ENV),docker)
|
137
|
+
@-$(DOCKER) images | $(GREP) $(shell basename "`pwd`") \
|
138
|
+
| $(AWK) '{ print $$3 }' \
|
139
|
+
| $(XARGS) -rn1 $(DOCKER) rmi -f
|
140
|
+
endif
|
141
|
+
|
142
|
+
distclean: clean clean-containers clean-images
|
96
143
|
|
97
144
|
shell:
|
98
145
|
# Run an interactive shell on the container
|
data/README.md
CHANGED
@@ -15,7 +15,9 @@ admin API](https://docs.ejabberd.im/developer/ejabberd-api/admin-api).
|
|
15
15
|
- [Predefined commands](#predefined-commands)
|
16
16
|
- [Freestyle commands](#freestyle-commands)
|
17
17
|
- [Development](#development)
|
18
|
+
- [Code of Conduct](#code-of-conduct)
|
18
19
|
- [Contributing](#contributing)
|
20
|
+
- [Releasing](#releasing)
|
19
21
|
|
20
22
|
## Installation
|
21
23
|
|
@@ -166,12 +168,24 @@ After checking out the repo, run `make install` to install dependencies. Then,
|
|
166
168
|
run `make test` to run the tests. You can also run `make shell-irb` for an
|
167
169
|
interactive prompt that will allow you to experiment.
|
168
170
|
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
[
|
171
|
+
## Code of Conduct
|
172
|
+
|
173
|
+
Everyone interacting in the project codebase, issue tracker, chat
|
174
|
+
rooms and mailing lists is expected to follow the [code of
|
175
|
+
conduct](./CODE_OF_CONDUCT.md).
|
173
176
|
|
174
177
|
## Contributing
|
175
178
|
|
176
179
|
Bug reports and pull requests are welcome on GitHub at
|
177
|
-
https://github.com/hausgold/jabber_admin.
|
180
|
+
https://github.com/hausgold/jabber_admin. Make sure that every pull request adds
|
181
|
+
a bullet point to the [changelog](./CHANGELOG.md) file with a reference to the
|
182
|
+
actual pull request.
|
183
|
+
|
184
|
+
## Releasing
|
185
|
+
|
186
|
+
The release process of this Gem is fully automated. You just need to open the
|
187
|
+
Github Actions [Release
|
188
|
+
Workflow](https://github.com/hausgold/jabber_admin/actions/workflows/release.yml)
|
189
|
+
and trigger a new run via the **Run workflow** button. Insert the new version
|
190
|
+
number (check the [changelog](./CHANGELOG.md) first for the latest release) and
|
191
|
+
you're done.
|
data/Rakefile
CHANGED
@@ -2,75 +2,21 @@
|
|
2
2
|
|
3
3
|
require 'bundler/gem_tasks'
|
4
4
|
require 'rspec/core/rake_task'
|
5
|
-
require '
|
6
|
-
require 'pp'
|
5
|
+
require 'countless/rake_tasks'
|
7
6
|
|
8
7
|
RSpec::Core::RakeTask.new(:spec)
|
9
8
|
|
10
9
|
task default: :spec
|
11
10
|
|
12
|
-
# Load some railties tasks
|
13
|
-
load 'rails/tasks/statistics.rake'
|
14
|
-
load 'rails/tasks/annotations.rake'
|
15
|
-
|
16
|
-
# Clear the default statistics directory constant
|
17
|
-
#
|
18
|
-
# rubocop:disable Style/MutableConstant because we define it
|
19
|
-
Object.send(:remove_const, :STATS_DIRECTORIES)
|
20
|
-
::STATS_DIRECTORIES = []
|
21
|
-
# rubocop:enable Style/MutableConstant
|
22
|
-
|
23
|
-
# Monkey patch the Rails +CodeStatistics+ class to support configurable
|
24
|
-
# patterns per path. This is reuqired to support top-level only file matches.
|
25
|
-
class CodeStatistics
|
26
|
-
DEFAULT_PATTERN = /^(?!\.).*?\.(rb|js|coffee|rake)$/.freeze
|
27
|
-
|
28
|
-
# Pass the possible +pattern+ argument down to the
|
29
|
-
# +calculate_directory_statistics+ method call.
|
30
|
-
def calculate_statistics
|
31
|
-
Hash[@pairs.map do |pair|
|
32
|
-
[pair.first, calculate_directory_statistics(*pair[1..-1])]
|
33
|
-
end]
|
34
|
-
end
|
35
|
-
|
36
|
-
# Match the pattern against the individual file name and the relative file
|
37
|
-
# path. This allows top-level only matches.
|
38
|
-
def calculate_directory_statistics(directory, pattern = DEFAULT_PATTERN)
|
39
|
-
stats = CodeStatisticsCalculator.new
|
40
|
-
|
41
|
-
Dir.foreach(directory) do |file_name|
|
42
|
-
path = "#{directory}/#{file_name}"
|
43
|
-
|
44
|
-
if File.directory?(path) && (/^\./ !~ file_name)
|
45
|
-
stats.add(calculate_directory_statistics(path, pattern))
|
46
|
-
elsif file_name =~ pattern || path =~ pattern
|
47
|
-
stats.add_by_file_path(path)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
stats
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
11
|
# Configure all code statistics directories
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
::STATS_DIRECTORIES.send(method, [type, dir, pattern].compact)
|
67
|
-
::CodeStatistics::TEST_TYPES << type if type.include? 'specs'
|
68
|
-
end
|
69
|
-
|
70
|
-
# Setup annotations
|
71
|
-
ENV['SOURCE_ANNOTATION_DIRECTORIES'] = 'spec,doc'
|
72
|
-
|
73
|
-
desc 'Enumerate all annotations'
|
74
|
-
task :notes do
|
75
|
-
SourceAnnotationExtractor.enumerate '@?OPTIMIZE|@?FIXME|@?TODO', tag: true
|
12
|
+
Countless.configure do |config|
|
13
|
+
config.stats_base_directories = [
|
14
|
+
{ name: 'Top-levels', dir: 'lib',
|
15
|
+
pattern: %r{/lib(/jabber_admin)?/[^/]+\.rb$} },
|
16
|
+
{ name: 'Top-levels specs', test: true, dir: 'spec',
|
17
|
+
pattern: %r{/spec(/jabber_admin)?/[^/]+_spec\.rb$} },
|
18
|
+
{ name: 'Commands', pattern: 'lib/jabber_admin/commands/**/*.rb' },
|
19
|
+
{ name: 'Commands specs', test: true,
|
20
|
+
pattern: 'spec/jabber_admin/commands/**/*_spec.rb' }
|
21
|
+
]
|
76
22
|
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# ~/.bashrc: executed by bash(1) for non-login shells.
|
2
|
+
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
|
3
|
+
# for examples
|
4
|
+
|
5
|
+
_GEM_PATHS=$(ls -d1 ${HOME}/.gem/ruby/*/bin 2>/dev/null | paste -sd ':')
|
6
|
+
_APP_PATHS=$(ls -d1 /app/vendor/bundle/ruby/*/bin 2>/dev/null | paste -sd ':')
|
7
|
+
|
8
|
+
export PATH="${_GEM_PATHS}:${_APP_PATHS}:${PATH}"
|
9
|
+
export PATH="/app/node_modules/.bin:${HOME}/.bin:/app/bin:${PATH}"
|
10
|
+
export MAKE_ENV=baremetal
|
11
|
+
|
12
|
+
# Disable the autostart of all supervisord units
|
13
|
+
sudo sed -i 's/autostart=.*/autostart=false/g' /etc/supervisor/conf.d/*
|
14
|
+
|
15
|
+
# Start the supervisord (empty, no units)
|
16
|
+
sudo supervisord >/dev/null 2>&1 &
|
17
|
+
|
18
|
+
# Wait for supervisord
|
19
|
+
while ! supervisorctl status >/dev/null 2>&1; do sleep 1; done
|
20
|
+
|
21
|
+
# Boot the mDNS stack
|
22
|
+
echo '# Start the mDNS stack'
|
23
|
+
sudo supervisorctl start dbus avahi
|
24
|
+
echo
|
25
|
+
|
26
|
+
function watch-make-test()
|
27
|
+
{
|
28
|
+
while [ 1 ]; do
|
29
|
+
inotifywait --quiet -r `pwd` -e close_write --format '%e -> %w%f'
|
30
|
+
make test
|
31
|
+
done
|
32
|
+
}
|
33
|
+
|
34
|
+
function watch-make()
|
35
|
+
{
|
36
|
+
while [ 1 ]; do
|
37
|
+
inotifywait --quiet -r `pwd` -e close_write --format '%e -> %w%f'
|
38
|
+
make $@
|
39
|
+
done
|
40
|
+
}
|
41
|
+
|
42
|
+
function watch-run()
|
43
|
+
{
|
44
|
+
while [ 1 ]; do
|
45
|
+
inotifywait --quiet -r `pwd` -e close_write --format '%e -> %w%f'
|
46
|
+
bash -c "$@"
|
47
|
+
done
|
48
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
|
2
|
+
"\e[1;5C": forward-word
|
3
|
+
"\e[1;5D": backward-word
|
4
|
+
"\e[5C": forward-word
|
5
|
+
"\e[5D": backward-word
|
6
|
+
"\e\e[C": forward-word
|
7
|
+
"\e\e[D": backward-word
|
8
|
+
|
9
|
+
# handle common Home/End escape codes
|
10
|
+
"\e[1~": beginning-of-line
|
11
|
+
"\e[4~": end-of-line
|
12
|
+
"\e[7~": beginning-of-line
|
13
|
+
"\e[8~": end-of-line
|
14
|
+
"\eOH": beginning-of-line
|
15
|
+
"\eOF": end-of-line
|
16
|
+
"\e[H": beginning-of-line
|
17
|
+
"\e[F": end-of-line
|
data/docker-compose.yml
CHANGED
data/jabber_admin.gemspec
CHANGED
@@ -5,48 +5,51 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
5
5
|
require 'jabber_admin/version'
|
6
6
|
|
7
7
|
Gem::Specification.new do |spec|
|
8
|
-
spec.name
|
9
|
-
spec.version
|
10
|
-
spec.authors
|
11
|
-
spec.
|
12
|
-
spec.email = ['henning.vogt@hausgold.de', 'hermann.mayer@hausgold.de']
|
8
|
+
spec.name = 'jabber_admin'
|
9
|
+
spec.version = JabberAdmin::VERSION
|
10
|
+
spec.authors = ['Hermann Mayer', 'Henning Vogt']
|
11
|
+
spec.email = ['hermann.mayer92@gmail.com', 'henning.vogt@hausgold.de']
|
13
12
|
|
14
|
-
spec.
|
13
|
+
spec.license = 'MIT'
|
14
|
+
spec.summary = 'Library for the ejabberd RESTful admin API'
|
15
15
|
spec.description = 'Library for the ejabberd RESTful admin API'
|
16
|
-
spec.homepage = 'https://github.com/hausgold/jabber_admin'
|
17
|
-
|
18
|
-
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the
|
19
|
-
# 'allowed_push_host' to allow pushing to a single host or delete this
|
20
|
-
# section to allow pushing to any host.
|
21
|
-
if spec.respond_to?(:metadata)
|
22
|
-
spec.metadata['allowed_push_host'] = 'https://rubygems.org'
|
23
|
-
else
|
24
|
-
raise 'RubyGems 2.0 or newer is required to protect against ' \
|
25
|
-
'public gem pushes.'
|
26
|
-
end
|
27
16
|
|
28
|
-
|
17
|
+
base_uri = "https://github.com/hausgold/#{spec.name}"
|
18
|
+
spec.metadata = {
|
19
|
+
'homepage_uri' => base_uri,
|
20
|
+
'source_code_uri' => base_uri,
|
21
|
+
'changelog_uri' => "#{base_uri}/blob/master/CHANGELOG.md",
|
22
|
+
'bug_tracker_uri' => "#{base_uri}/issues",
|
23
|
+
'documentation_uri' => "https://www.rubydoc.info/gems/#{spec.name}"
|
24
|
+
}
|
29
25
|
|
30
26
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
31
27
|
f.match(%r{^(test|spec|features)/})
|
32
28
|
end
|
33
|
-
|
34
|
-
spec.
|
29
|
+
|
30
|
+
spec.bindir = 'exe'
|
31
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
35
32
|
spec.require_paths = ['lib']
|
36
33
|
|
37
|
-
spec.
|
38
|
-
|
34
|
+
spec.required_ruby_version = '>= 2.5'
|
35
|
+
|
36
|
+
spec.add_dependency 'activesupport', '>= 5.2'
|
37
|
+
spec.add_dependency 'rest-client', '~> 2.1'
|
39
38
|
|
40
|
-
spec.add_development_dependency '
|
39
|
+
spec.add_development_dependency 'appraisal', '~> 2.4'
|
40
|
+
spec.add_development_dependency 'bundler', '~> 2.3'
|
41
|
+
spec.add_development_dependency 'countless', '~> 1.1'
|
42
|
+
spec.add_development_dependency 'guard-rspec', '~> 4.7'
|
41
43
|
spec.add_development_dependency 'irb', '~> 1.2'
|
42
|
-
spec.add_development_dependency 'railties', '>=
|
44
|
+
spec.add_development_dependency 'railties', '>= 5.2'
|
43
45
|
spec.add_development_dependency 'rake', '~> 13.0'
|
44
|
-
spec.add_development_dependency 'rspec', '~> 3.
|
45
|
-
spec.add_development_dependency 'rubocop', '~>
|
46
|
-
spec.add_development_dependency 'rubocop-
|
47
|
-
spec.add_development_dependency '
|
46
|
+
spec.add_development_dependency 'rspec', '~> 3.12'
|
47
|
+
spec.add_development_dependency 'rubocop', '~> 1.28'
|
48
|
+
spec.add_development_dependency 'rubocop-rails', '~> 2.14'
|
49
|
+
spec.add_development_dependency 'rubocop-rspec', '~> 2.10'
|
50
|
+
spec.add_development_dependency 'simplecov', '>= 0.22'
|
48
51
|
spec.add_development_dependency 'vcr', '~> 6.0'
|
49
|
-
spec.add_development_dependency 'webmock', '~> 3.
|
50
|
-
spec.add_development_dependency 'yard', '
|
51
|
-
spec.add_development_dependency 'yard-activesupport-concern', '
|
52
|
+
spec.add_development_dependency 'webmock', '~> 3.18'
|
53
|
+
spec.add_development_dependency 'yard', '>= 0.9.28'
|
54
|
+
spec.add_development_dependency 'yard-activesupport-concern', '>= 0.0.1'
|
52
55
|
end
|
@@ -15,7 +15,7 @@ module JabberAdmin
|
|
15
15
|
def self.call(callable, room:, host:, **options)
|
16
16
|
name, service = room.split('@')
|
17
17
|
options = options.map do |key, value|
|
18
|
-
|
18
|
+
{ 'name' => key.to_s, 'value' => value.to_s }
|
19
19
|
end
|
20
20
|
|
21
21
|
callable.call('create_room_with_opts',
|
data/lib/jabber_admin/version.rb
CHANGED
@@ -1,10 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# The gem
|
3
|
+
# The gem version details.
|
4
4
|
module JabberAdmin
|
5
|
-
# The version
|
6
|
-
|
7
|
-
VERSION = '1.0.5'
|
5
|
+
# The version of the +jabber_admin+ gem
|
6
|
+
VERSION = '1.2.0'
|
8
7
|
|
9
8
|
class << self
|
10
9
|
# Returns the version of gem as a string.
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jabber_admin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
- Henning Vogt
|
8
7
|
- Hermann Mayer
|
9
|
-
|
8
|
+
- Henning Vogt
|
9
|
+
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2023-02-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -17,54 +17,84 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: 5.2
|
20
|
+
version: '5.2'
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - ">="
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: 5.2
|
27
|
+
version: '5.2'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: rest-client
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
32
|
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: '2.
|
35
|
-
- - ">="
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: 2.0.2
|
34
|
+
version: '2.1'
|
38
35
|
type: :runtime
|
39
36
|
prerelease: false
|
40
37
|
version_requirements: !ruby/object:Gem::Requirement
|
41
38
|
requirements:
|
42
39
|
- - "~>"
|
43
40
|
- !ruby/object:Gem::Version
|
44
|
-
version: '2.
|
45
|
-
|
41
|
+
version: '2.1'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: appraisal
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - "~>"
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '2.4'
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - "~>"
|
46
54
|
- !ruby/object:Gem::Version
|
47
|
-
version: 2.
|
55
|
+
version: '2.4'
|
48
56
|
- !ruby/object:Gem::Dependency
|
49
57
|
name: bundler
|
50
58
|
requirement: !ruby/object:Gem::Requirement
|
51
59
|
requirements:
|
52
|
-
- - "
|
60
|
+
- - "~>"
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '2.3'
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - "~>"
|
53
68
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
55
|
-
|
69
|
+
version: '2.3'
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: countless
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - "~>"
|
56
75
|
- !ruby/object:Gem::Version
|
57
|
-
version: '
|
76
|
+
version: '1.1'
|
58
77
|
type: :development
|
59
78
|
prerelease: false
|
60
79
|
version_requirements: !ruby/object:Gem::Requirement
|
61
80
|
requirements:
|
62
|
-
- - "
|
81
|
+
- - "~>"
|
63
82
|
- !ruby/object:Gem::Version
|
64
|
-
version: '1.
|
65
|
-
|
83
|
+
version: '1.1'
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: guard-rspec
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - "~>"
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '4.7'
|
91
|
+
type: :development
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - "~>"
|
66
96
|
- !ruby/object:Gem::Version
|
67
|
-
version: '
|
97
|
+
version: '4.7'
|
68
98
|
- !ruby/object:Gem::Dependency
|
69
99
|
name: irb
|
70
100
|
requirement: !ruby/object:Gem::Requirement
|
@@ -85,20 +115,14 @@ dependencies:
|
|
85
115
|
requirements:
|
86
116
|
- - ">="
|
87
117
|
- !ruby/object:Gem::Version
|
88
|
-
version:
|
89
|
-
- - "<"
|
90
|
-
- !ruby/object:Gem::Version
|
91
|
-
version: '6.1'
|
118
|
+
version: '5.2'
|
92
119
|
type: :development
|
93
120
|
prerelease: false
|
94
121
|
version_requirements: !ruby/object:Gem::Requirement
|
95
122
|
requirements:
|
96
123
|
- - ">="
|
97
124
|
- !ruby/object:Gem::Version
|
98
|
-
version:
|
99
|
-
- - "<"
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version: '6.1'
|
125
|
+
version: '5.2'
|
102
126
|
- !ruby/object:Gem::Dependency
|
103
127
|
name: rake
|
104
128
|
requirement: !ruby/object:Gem::Requirement
|
@@ -119,56 +143,70 @@ dependencies:
|
|
119
143
|
requirements:
|
120
144
|
- - "~>"
|
121
145
|
- !ruby/object:Gem::Version
|
122
|
-
version: '3.
|
146
|
+
version: '3.12'
|
123
147
|
type: :development
|
124
148
|
prerelease: false
|
125
149
|
version_requirements: !ruby/object:Gem::Requirement
|
126
150
|
requirements:
|
127
151
|
- - "~>"
|
128
152
|
- !ruby/object:Gem::Version
|
129
|
-
version: '3.
|
153
|
+
version: '3.12'
|
130
154
|
- !ruby/object:Gem::Dependency
|
131
155
|
name: rubocop
|
132
156
|
requirement: !ruby/object:Gem::Requirement
|
133
157
|
requirements:
|
134
158
|
- - "~>"
|
135
159
|
- !ruby/object:Gem::Version
|
136
|
-
version: '
|
160
|
+
version: '1.28'
|
137
161
|
type: :development
|
138
162
|
prerelease: false
|
139
163
|
version_requirements: !ruby/object:Gem::Requirement
|
140
164
|
requirements:
|
141
165
|
- - "~>"
|
142
166
|
- !ruby/object:Gem::Version
|
143
|
-
version: '
|
167
|
+
version: '1.28'
|
168
|
+
- !ruby/object:Gem::Dependency
|
169
|
+
name: rubocop-rails
|
170
|
+
requirement: !ruby/object:Gem::Requirement
|
171
|
+
requirements:
|
172
|
+
- - "~>"
|
173
|
+
- !ruby/object:Gem::Version
|
174
|
+
version: '2.14'
|
175
|
+
type: :development
|
176
|
+
prerelease: false
|
177
|
+
version_requirements: !ruby/object:Gem::Requirement
|
178
|
+
requirements:
|
179
|
+
- - "~>"
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
version: '2.14'
|
144
182
|
- !ruby/object:Gem::Dependency
|
145
183
|
name: rubocop-rspec
|
146
184
|
requirement: !ruby/object:Gem::Requirement
|
147
185
|
requirements:
|
148
186
|
- - "~>"
|
149
187
|
- !ruby/object:Gem::Version
|
150
|
-
version: '
|
188
|
+
version: '2.10'
|
151
189
|
type: :development
|
152
190
|
prerelease: false
|
153
191
|
version_requirements: !ruby/object:Gem::Requirement
|
154
192
|
requirements:
|
155
193
|
- - "~>"
|
156
194
|
- !ruby/object:Gem::Version
|
157
|
-
version: '
|
195
|
+
version: '2.10'
|
158
196
|
- !ruby/object:Gem::Dependency
|
159
197
|
name: simplecov
|
160
198
|
requirement: !ruby/object:Gem::Requirement
|
161
199
|
requirements:
|
162
|
-
- - "
|
200
|
+
- - ">="
|
163
201
|
- !ruby/object:Gem::Version
|
164
|
-
version: '0.
|
202
|
+
version: '0.22'
|
165
203
|
type: :development
|
166
204
|
prerelease: false
|
167
205
|
version_requirements: !ruby/object:Gem::Requirement
|
168
206
|
requirements:
|
169
|
-
- - "
|
207
|
+
- - ">="
|
170
208
|
- !ruby/object:Gem::Version
|
171
|
-
version: '0.
|
209
|
+
version: '0.22'
|
172
210
|
- !ruby/object:Gem::Dependency
|
173
211
|
name: vcr
|
174
212
|
requirement: !ruby/object:Gem::Requirement
|
@@ -189,60 +227,66 @@ dependencies:
|
|
189
227
|
requirements:
|
190
228
|
- - "~>"
|
191
229
|
- !ruby/object:Gem::Version
|
192
|
-
version: '3.
|
230
|
+
version: '3.18'
|
193
231
|
type: :development
|
194
232
|
prerelease: false
|
195
233
|
version_requirements: !ruby/object:Gem::Requirement
|
196
234
|
requirements:
|
197
235
|
- - "~>"
|
198
236
|
- !ruby/object:Gem::Version
|
199
|
-
version: '3.
|
237
|
+
version: '3.18'
|
200
238
|
- !ruby/object:Gem::Dependency
|
201
239
|
name: yard
|
202
240
|
requirement: !ruby/object:Gem::Requirement
|
203
241
|
requirements:
|
204
|
-
- - "
|
242
|
+
- - ">="
|
205
243
|
- !ruby/object:Gem::Version
|
206
|
-
version: 0.9.
|
244
|
+
version: 0.9.28
|
207
245
|
type: :development
|
208
246
|
prerelease: false
|
209
247
|
version_requirements: !ruby/object:Gem::Requirement
|
210
248
|
requirements:
|
211
|
-
- - "
|
249
|
+
- - ">="
|
212
250
|
- !ruby/object:Gem::Version
|
213
|
-
version: 0.9.
|
251
|
+
version: 0.9.28
|
214
252
|
- !ruby/object:Gem::Dependency
|
215
253
|
name: yard-activesupport-concern
|
216
254
|
requirement: !ruby/object:Gem::Requirement
|
217
255
|
requirements:
|
218
|
-
- - "
|
256
|
+
- - ">="
|
219
257
|
- !ruby/object:Gem::Version
|
220
258
|
version: 0.0.1
|
221
259
|
type: :development
|
222
260
|
prerelease: false
|
223
261
|
version_requirements: !ruby/object:Gem::Requirement
|
224
262
|
requirements:
|
225
|
-
- - "
|
263
|
+
- - ">="
|
226
264
|
- !ruby/object:Gem::Version
|
227
265
|
version: 0.0.1
|
228
266
|
description: Library for the ejabberd RESTful admin API
|
229
267
|
email:
|
268
|
+
- hermann.mayer92@gmail.com
|
230
269
|
- henning.vogt@hausgold.de
|
231
|
-
- hermann.mayer@hausgold.de
|
232
270
|
executables: []
|
233
271
|
extensions: []
|
234
272
|
extra_rdoc_files: []
|
235
273
|
files:
|
236
274
|
- ".editorconfig"
|
237
275
|
- ".github/workflows/documentation.yml"
|
276
|
+
- ".github/workflows/release.yml"
|
238
277
|
- ".github/workflows/test.yml"
|
239
278
|
- ".gitignore"
|
240
279
|
- ".rspec"
|
241
280
|
- ".rubocop.yml"
|
242
281
|
- ".simplecov"
|
243
282
|
- ".yardopts"
|
283
|
+
- Appraisals
|
244
284
|
- CHANGELOG.md
|
285
|
+
- CODE_OF_CONDUCT.md
|
286
|
+
- Dockerfile
|
287
|
+
- Envfile
|
245
288
|
- Gemfile
|
289
|
+
- Guardfile
|
246
290
|
- LICENSE
|
247
291
|
- Makefile
|
248
292
|
- README.md
|
@@ -250,8 +294,12 @@ files:
|
|
250
294
|
- bin/config.rb
|
251
295
|
- bin/console
|
252
296
|
- bin/setup
|
297
|
+
- config/docker/.bash_profile
|
298
|
+
- config/docker/.bashrc
|
299
|
+
- config/docker/.inputrc
|
253
300
|
- doc/assets/project.svg
|
254
301
|
- docker-compose.yml
|
302
|
+
- gemfiles/rails_5.2.gemfile
|
255
303
|
- jabber_admin.gemspec
|
256
304
|
- lib/jabber_admin.rb
|
257
305
|
- lib/jabber_admin/api_call.rb
|
@@ -279,18 +327,22 @@ files:
|
|
279
327
|
- lib/jabber_admin/configuration.rb
|
280
328
|
- lib/jabber_admin/exceptions.rb
|
281
329
|
- lib/jabber_admin/version.rb
|
282
|
-
homepage:
|
330
|
+
homepage:
|
283
331
|
licenses:
|
284
332
|
- MIT
|
285
333
|
metadata:
|
286
|
-
|
287
|
-
|
334
|
+
homepage_uri: https://github.com/hausgold/jabber_admin
|
335
|
+
source_code_uri: https://github.com/hausgold/jabber_admin
|
336
|
+
changelog_uri: https://github.com/hausgold/jabber_admin/blob/master/CHANGELOG.md
|
337
|
+
bug_tracker_uri: https://github.com/hausgold/jabber_admin/issues
|
338
|
+
documentation_uri: https://www.rubydoc.info/gems/jabber_admin
|
339
|
+
post_install_message:
|
288
340
|
rdoc_options: []
|
289
341
|
require_paths:
|
290
342
|
- lib
|
291
343
|
required_ruby_version: !ruby/object:Gem::Requirement
|
292
344
|
requirements:
|
293
|
-
- - "
|
345
|
+
- - ">="
|
294
346
|
- !ruby/object:Gem::Version
|
295
347
|
version: '2.5'
|
296
348
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
@@ -299,8 +351,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
299
351
|
- !ruby/object:Gem::Version
|
300
352
|
version: '0'
|
301
353
|
requirements: []
|
302
|
-
rubygems_version: 3.
|
303
|
-
signing_key:
|
354
|
+
rubygems_version: 3.3.26
|
355
|
+
signing_key:
|
304
356
|
specification_version: 4
|
305
357
|
summary: Library for the ejabberd RESTful admin API
|
306
358
|
test_files: []
|