jabber_admin 1.0.5 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f66fd5543a21b130fc4a24d7c6d9d05659e63b956c379f7973028f7902595e81
4
- data.tar.gz: a4e3cb834dec2a20f2d093e1588ba24167d06cdb1db2d0ce0722d0c750a39c47
3
+ metadata.gz: 739b4e0789166ebb75156675b449603fac6d2816f7abf4662a220918e5a9a642
4
+ data.tar.gz: 440e34d6e077ca1bacfd5577f1c289ffe0d12cb1683a88a57796fc287f672cd6
5
5
  SHA512:
6
- metadata.gz: a9b6847f6493eee80e7086ab76a01ab4bf0f29e11fc58451d048ece7954db51bd7c349bf7e572260475ef34982d4a7cdf92fe546105bacf55189ecead923f80e
7
- data.tar.gz: 4dd98caa90adb727d1cca90bc4b4c914c6cb744826965819cd54695535a9d729d695b135318adf9a140b06782a9bd3790961b77cae2f3fa9b4aa346765de93a6
6
+ metadata.gz: 6b50b8aeb91b30afe894792b471eabf9074d603e2b257b439e6317d2725fe301296549f88291234850c839750f4e5bb8085a410daf0b46c909356a12e18291eb
7
+ data.tar.gz: 890b5a4ca9679e78322f5a5d98f91138da059702e779773316d9c04d3bd6dca473c0625801fbd27cebc577253379e0b768aecd3a31ef699647e466099798b1ca
@@ -9,16 +9,17 @@ concurrency:
9
9
  jobs:
10
10
  docs:
11
11
  name: Build gem documentation
12
- runs-on: ubuntu-20.04
12
+ runs-on: ubuntu-22.04
13
13
  timeout-minutes: 5
14
14
  steps:
15
- - uses: actions/checkout@v2
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
@@ -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-20.04
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.6, 2.7]
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@v2
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-20.04
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
@@ -1,3 +1,3 @@
1
+ --backtrace
2
+ --force-color
1
3
  --format documentation
2
- --color
3
- --require spec_helper
data/.rubocop.yml CHANGED
@@ -1,11 +1,25 @@
1
- require: rubocop-rspec
1
+ require:
2
+ - rubocop-rspec
3
+ - rubocop-rails
2
4
 
3
- Documentation:
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
- Metrics/LineLength:
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
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ appraise 'rails-5.2' do
4
+ gem 'activesupport', '~> 5.2.0'
5
+ end
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ### 1.1.0
2
+
3
+ * Bundler >= 2.3 is from now on required as minimal version (#11)
4
+ * Dropped support for Ruby < 2.5 (#11)
5
+ * Dropped support for Rails < 5.2 (#11)
6
+ * Updated all development/runtime gems to their latest
7
+ Ruby 2.5 compatible version (#11)
8
+
1
9
  ### 1.0.5
2
10
 
3
11
  * Added support for the predefined command `get_room_affiliations` (#10)
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
@@ -0,0 +1,3 @@
1
+ LANG=en_US.UTF-8
2
+ LANGUAGE=en_US.UTF-8
3
+ LC_ALL=en_US.UTF-8
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
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2018 HAUSGOLD | talocasa GmbH
3
+ Copyright (c) 2023 HAUSGOLD | talocasa GmbH
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
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
- ECHO ?= echo
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
- # test Run the whole test suite
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=/tmp -e BUNDLE_APP_CONFIG=/app/.bundle \
58
- -u `$(ID) -u` test bash -c 'sleep 0.1; echo; $(1)'
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
- distclean: clean clean-containers
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/Rakefile CHANGED
@@ -2,75 +2,21 @@
2
2
 
3
3
  require 'bundler/gem_tasks'
4
4
  require 'rspec/core/rake_task'
5
- require 'rails/code_statistics'
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
- vendors = [
57
- [:unshift, 'Top-levels', 'lib', %r{lib(/jabber_admin)?/[^/]+\.rb$}],
58
- [:unshift, 'Top-levels specs', 'spec',
59
- %r{spec/jabber_admin(_spec\.rb|/[^/]+\.rb$)}],
60
-
61
- [:unshift, 'Commands', 'lib/jabber_admin/commands'],
62
- [:unshift, 'Commands specs', 'spec/jabber_admin/commands']
63
- ].reverse
64
-
65
- vendors.each do |method, type, dir, pattern|
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,3 @@
1
+ if [ -f ~/.bashrc ]; then
2
+ . ~/.bashrc
3
+ fi
@@ -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
@@ -6,7 +6,8 @@ services:
6
6
  ports: ["4560", "5222", "5269", "5280", "5443"]
7
7
 
8
8
  test:
9
- image: ruby:2.5
9
+ build: .
10
+ env_file: Envfile
10
11
  network_mode: bridge
11
12
  working_dir: /app
12
13
  volumes:
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activesupport", "~> 5.2.0"
6
+
7
+ gemspec path: "../"
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 = 'jabber_admin'
9
- spec.version = JabberAdmin::VERSION
10
- spec.authors = ['Henning Vogt', 'Hermann Mayer']
11
- spec.licenses = ['MIT']
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.summary = 'Library for the ejabberd RESTful admin API'
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
- spec.required_ruby_version = '~> 2.5'
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
- spec.bindir = 'exe'
34
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
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.add_dependency 'activesupport', '>= 5.2.0'
38
- spec.add_dependency 'rest-client', '~> 2.0', '>= 2.0.2'
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 'bundler', '>= 1.16', '< 3'
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', '>= 4.2.0', '< 6.1'
44
+ spec.add_development_dependency 'railties', '>= 5.2'
43
45
  spec.add_development_dependency 'rake', '~> 13.0'
44
- spec.add_development_dependency 'rspec', '~> 3.9'
45
- spec.add_development_dependency 'rubocop', '~> 0.93'
46
- spec.add_development_dependency 'rubocop-rspec', '~> 1.43'
47
- spec.add_development_dependency 'simplecov', '< 0.18'
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.0'
50
- spec.add_development_dependency 'yard', '~> 0.9.18'
51
- spec.add_development_dependency 'yard-activesupport-concern', '~> 0.0.1'
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
- Hash['name', key.to_s, 'value', value.to_s]
18
+ { 'name' => key.to_s, 'value' => value.to_s }
19
19
  end
20
20
 
21
21
  callable.call('create_room_with_opts',
@@ -1,10 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # The gem module.
3
+ # The gem version details.
4
4
  module JabberAdmin
5
- # The version constant of the gem. Increase this value
6
- # in case of a gem release.
7
- VERSION = '1.0.5'
5
+ # The version of the +jabber_admin+ gem
6
+ VERSION = '1.1.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.5
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
- - Henning Vogt
8
7
  - Hermann Mayer
8
+ - Henning Vogt
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2022-01-20 00:00:00.000000000 Z
12
+ date: 2023-01-18 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.0
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.0
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.0'
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.0'
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.0.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: '1.16'
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: '3'
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.16'
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: '3'
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: 4.2.0
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: 4.2.0
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.9'
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.9'
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: '0.93'
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: '0.93'
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: '1.43'
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: '1.43'
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.18'
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.18'
209
+ version: '0.22'
172
210
  - !ruby/object:Gem::Dependency
173
211
  name: vcr
174
212
  requirement: !ruby/object:Gem::Requirement
@@ -189,46 +227,46 @@ dependencies:
189
227
  requirements:
190
228
  - - "~>"
191
229
  - !ruby/object:Gem::Version
192
- version: '3.0'
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.0'
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.18
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.18
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: []
@@ -241,8 +279,12 @@ files:
241
279
  - ".rubocop.yml"
242
280
  - ".simplecov"
243
281
  - ".yardopts"
282
+ - Appraisals
244
283
  - CHANGELOG.md
284
+ - Dockerfile
285
+ - Envfile
245
286
  - Gemfile
287
+ - Guardfile
246
288
  - LICENSE
247
289
  - Makefile
248
290
  - README.md
@@ -250,8 +292,12 @@ files:
250
292
  - bin/config.rb
251
293
  - bin/console
252
294
  - bin/setup
295
+ - config/docker/.bash_profile
296
+ - config/docker/.bashrc
297
+ - config/docker/.inputrc
253
298
  - doc/assets/project.svg
254
299
  - docker-compose.yml
300
+ - gemfiles/rails_5.2.gemfile
255
301
  - jabber_admin.gemspec
256
302
  - lib/jabber_admin.rb
257
303
  - lib/jabber_admin/api_call.rb
@@ -279,18 +325,22 @@ files:
279
325
  - lib/jabber_admin/configuration.rb
280
326
  - lib/jabber_admin/exceptions.rb
281
327
  - lib/jabber_admin/version.rb
282
- homepage: https://github.com/hausgold/jabber_admin
328
+ homepage:
283
329
  licenses:
284
330
  - MIT
285
331
  metadata:
286
- allowed_push_host: https://rubygems.org
332
+ homepage_uri: https://github.com/hausgold/jabber_admin
333
+ source_code_uri: https://github.com/hausgold/jabber_admin
334
+ changelog_uri: https://github.com/hausgold/jabber_admin/blob/master/CHANGELOG.md
335
+ bug_tracker_uri: https://github.com/hausgold/jabber_admin/issues
336
+ documentation_uri: https://www.rubydoc.info/gems/jabber_admin
287
337
  post_install_message:
288
338
  rdoc_options: []
289
339
  require_paths:
290
340
  - lib
291
341
  required_ruby_version: !ruby/object:Gem::Requirement
292
342
  requirements:
293
- - - "~>"
343
+ - - ">="
294
344
  - !ruby/object:Gem::Version
295
345
  version: '2.5'
296
346
  required_rubygems_version: !ruby/object:Gem::Requirement
@@ -299,7 +349,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
299
349
  - !ruby/object:Gem::Version
300
350
  version: '0'
301
351
  requirements: []
302
- rubygems_version: 3.0.9
352
+ rubygems_version: 3.3.8
303
353
  signing_key:
304
354
  specification_version: 4
305
355
  summary: Library for the ejabberd RESTful admin API