grape-jwt-authentication 2.0.3 → 2.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: 6e3f66e76b4c2b311f69dd18a6a5ad9288ec5ece3fc34a3cc7d11a685adf991c
4
- data.tar.gz: da5277432b5e8eedad129c1fbf1236b1eca71bb01d32b9c2748dc5525e7e83d4
3
+ metadata.gz: a76b78814c21de200efd81a5b97a2032909f0dc67cb702562a814abb250986ab
4
+ data.tar.gz: dc5c5536b5d5d445ae8391d7787e41858c178e200fc6cdf41fe8cb1349b7fa77
5
5
  SHA512:
6
- metadata.gz: 002fcd02712c1b23edc746d7b396cf53fe1cc1586b91bf8c1b4d72eaa44daaf4ff1a6e39064f211543f46bdf0bf473baaacaf66134d2f17e75ada1f3f58f6a10
7
- data.tar.gz: 9c9ca3eab5b1e6031bf0eca71655931c1ee742010cb02cb324e2be91f20e4cbb967be8153205d86b44e48288ad2f614a4b50c1a43b915054df9e46e5f47ea509
6
+ metadata.gz: 4cb2b1ff597b9bfee4947d57a5c1ad0f0b1123b298a5675d78d761786ea2eb33cdb4b199d23e72e1fa41b72dc708b2d6149d3150bc5e10d9544313943e34203e
7
+ data.tar.gz: 4fc142b1b6519a2a4fa0f1ba5895fd929bfca37ff26a1ad3de2096b23241f1d846710a0f3abfdb3f0a6e020300c6728f9db3686f0d0887f20e5c2ae3f480e973
@@ -0,0 +1,39 @@
1
+ name: Build Documentation
2
+ on:
3
+ repository_dispatch:
4
+ types: [documentation]
5
+
6
+ concurrency:
7
+ group: 'docs'
8
+
9
+ jobs:
10
+ docs:
11
+ name: Build gem documentation
12
+ runs-on: ubuntu-22.04
13
+ timeout-minutes: 5
14
+ steps:
15
+ - uses: actions/checkout@v3
16
+
17
+ - name: Install the correct Ruby version
18
+ uses: ruby/setup-ruby@v1
19
+ with:
20
+ ruby-version: 2.5
21
+ bundler-cache: true
22
+ rubygems: '3.3.26'
23
+
24
+ - name: Prepare the virtual environment
25
+ uses: hausgold/actions/ci@master
26
+ with:
27
+ clone_token: '${{ secrets.CLONE_TOKEN }}'
28
+ settings: '${{ github.repository }}'
29
+ target: ci/gem-test
30
+
31
+ - name: Build gem documentation
32
+ run: make docs
33
+
34
+ - name: Upload the code coverage report
35
+ run: coverage
36
+
37
+ - name: Add this job to the commit status
38
+ run: commit-status '${{ job.status }}'
39
+ if: always()
@@ -0,0 +1,63 @@
1
+ name: Test
2
+ on:
3
+ push:
4
+ branches:
5
+ - '**'
6
+ schedule:
7
+ - cron: '0 0 * * MON'
8
+
9
+ concurrency:
10
+ group: '${{ github.ref }}'
11
+ cancel-in-progress: true
12
+
13
+ jobs:
14
+ test:
15
+ name: 'Test the gem (Ruby ${{ matrix.ruby }}, Rails ${{ matrix.rails }})'
16
+ runs-on: ubuntu-22.04
17
+ timeout-minutes: 5
18
+ strategy:
19
+ fail-fast: false
20
+ matrix:
21
+ ruby: ['2.5', '2.7']
22
+ rails: ['5.2']
23
+ env:
24
+ BUNDLE_GEMFILE: 'gemfiles/rails_${{ matrix.rails }}.gemfile'
25
+ steps:
26
+ - uses: actions/checkout@v3
27
+
28
+ - name: Install the correct Ruby version
29
+ uses: ruby/setup-ruby@v1
30
+ with:
31
+ ruby-version: ${{ matrix.ruby }}
32
+ bundler-cache: true
33
+ rubygems: '3.3.26'
34
+
35
+ - name: Prepare the virtual environment
36
+ uses: hausgold/actions/ci@master
37
+ with:
38
+ clone_token: '${{ secrets.CLONE_TOKEN }}'
39
+ settings: '${{ github.repository }}'
40
+ target: ci/gem-test
41
+
42
+ - name: Run the gem tests
43
+ run: make test
44
+
45
+ - name: Upload the code coverage report
46
+ run: coverage
47
+
48
+ trigger-docs:
49
+ name: Trigger the documentation upload
50
+ runs-on: ubuntu-22.04
51
+ timeout-minutes: 2
52
+ needs: test
53
+ if: github.ref == 'refs/heads/master'
54
+ steps:
55
+ - name: Prepare the virtual environment
56
+ uses: hausgold/actions/ci@master
57
+ with:
58
+ clone_token: '${{ secrets.CLONE_TOKEN }}'
59
+ settings: '${{ github.repository }}'
60
+ target: ci/noop
61
+
62
+ - name: Trigger the documentation upload
63
+ run: workflow documentation
data/.gitignore CHANGED
@@ -6,7 +6,10 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ /vendor/
10
+ /gemfiles/vendor/
9
11
  /Gemfile.lock
12
+ *.gemfile.lock
10
13
 
11
14
  # rspec failure tracking
12
15
  .rspec_status
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,30 +1,40 @@
1
- require: rubocop-rspec
1
+ require:
2
+ - rubocop-rspec
3
+ - rubocop-rails
2
4
 
3
5
  Rails:
4
6
  Enabled: true
5
7
 
6
- Documentation:
8
+ Style/Documentation:
7
9
  Enabled: true
8
10
 
9
11
  AllCops:
12
+ NewCops: enable
13
+ SuggestExtensions: false
10
14
  DisplayCopNames: true
11
- TargetRubyVersion: 2.3
15
+ TargetRubyVersion: 2.5
16
+ TargetRailsVersion: 5.2
12
17
  Exclude:
13
- - db/schema.rb
14
18
  - bin/**/*
15
- - db/migrate/**/*
16
- - vendor/cache/**/*
17
- - vendor/bundle/**/*
19
+ - vendor/**/*
18
20
  - build/**/*
21
+ - gemfiles/**/*
19
22
 
20
23
  Metrics/BlockLength:
21
24
  Exclude:
22
- # Because of the Grape DSL
23
- - lib/**/*.rb
24
25
  - Rakefile
25
- - grape-jwt-authentication.gemspec
26
+ - '*.gemspec'
26
27
  - spec/**/*.rb
27
28
  - '**/*.rake'
29
+ - doc/**/*.rb
30
+
31
+ # MFA is not yet enabled for our gems yet.
32
+ Gemspec/RequireMFA:
33
+ Enabled: false
34
+
35
+ # We stay with the original Ruby Style Guide recommendation.
36
+ Layout/LineLength:
37
+ Max: 80
28
38
 
29
39
  # Document all the things.
30
40
  Style/DocumentationMethod:
@@ -41,3 +51,20 @@ Lint/AmbiguousBlockAssociation:
41
51
  # supported with the +with(hash_including)+ matchers
42
52
  RSpec/MessageSpies:
43
53
  EnforcedStyle: receive
54
+
55
+ # Because nesting makes sense here to group the feature tests
56
+ # more effective. This increases maintainability.
57
+ RSpec/NestedGroups:
58
+ Max: 4
59
+
60
+ # Disable regular Rails spec paths.
61
+ RSpec/FilePath:
62
+ Enabled: false
63
+
64
+ # Because we just implemented the ActiveRecord API.
65
+ Rails/SkipsModelValidations:
66
+ Enabled: false
67
+
68
+ # We highly depend on memoized helpers across the specs.
69
+ RSpec/MultipleMemoizedHelpers:
70
+ Enabled: false
data/.simplecov CHANGED
@@ -1,3 +1,15 @@
1
+ # frozen_string_literal: true
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
+
1
13
  SimpleCov.start 'test_frameworks' do
2
14
  add_filter '/vendor/bundle/'
3
15
  end
data/.yardopts ADDED
@@ -0,0 +1,6 @@
1
+ --output-dir=doc/api
2
+ --plugin activesupport-concern
3
+ --markup=rdoc
4
+ -
5
+ README.md
6
+ lib/**/*.rb
data/Appraisals ADDED
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ appraise 'rails-5.2' do
4
+ gem 'activejob', '~> 5.2.0'
5
+ gem 'activerecord', '~> 5.2.0'
6
+ gem 'activesupport', '~> 5.2.0'
7
+ end
data/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ### 2.1.0
2
+
3
+ * Bundler >= 2.3 is from now on required as minimal version (#9)
4
+ * Dropped support for Ruby < 2.5 (#9)
5
+ * Dropped support for Rails < 5.2 (#9)
6
+ * Updated all development/runtime gems to their latest
7
+ Ruby 2.5 compatible version (#9)
8
+
9
+ ### 2.0.4
10
+
11
+ * Migrated to Github Actions
12
+ * Migrated to our own coverage reporting
13
+ * Added the code statistics to the test process
14
+
1
15
  ### 2.0.3
2
16
 
3
17
  * Pinned rspec-expectations to <= 3.9.2
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/grape/jwt/authentication.rb}) { 'spec' }
37
+ watch(%r{^spec/.+_spec\.rb$})
38
+ watch(%r{^lib/grape/jwt/authentication/([^\\]+)\.rb$}) do |m|
39
+ "spec/grape/jwt/authentication/#{m[1]}_spec.rb"
40
+ end
41
+ watch(%r{^lib/grape/jwt/authentication/([^\\]+)/(.*)\.rb$}) do |m|
42
+ "spec/grape/jwt/authentication/#{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) 2017 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 ADDED
@@ -0,0 +1,158 @@
1
+ MAKEFLAGS += --warn-undefined-variables -j1
2
+ SHELL := bash
3
+ .SHELLFLAGS := -eu -o pipefail -c
4
+ .DEFAULT_GOAL := all
5
+ .DELETE_ON_ERROR:
6
+ .SUFFIXES:
7
+ .PHONY:
8
+
9
+ # Environment switches
10
+ MAKE_ENV ?= docker
11
+ COMPOSE_RUN_SHELL_FLAGS ?= --rm
12
+ BASH_RUN_SHELL_FLAGS ?=
13
+
14
+ # Directories
15
+ VENDOR_DIR ?= vendor/bundle
16
+
17
+ # Host binaries
18
+ AWK ?= awk
19
+ BASH ?= bash
20
+ COMPOSE ?= docker-compose
21
+ DOCKER ?= docker
22
+ GREP ?= grep
23
+ ID ?= id
24
+ MKDIR ?= mkdir
25
+ RM ?= rm
26
+ XARGS ?= xargs
27
+
28
+ # Container binaries
29
+ APPRAISAL ?= appraisal
30
+ BUNDLE ?= bundle
31
+ GEM ?= gem
32
+ GUARD ?= guard
33
+ RAKE ?= rake
34
+ RSPEC ?= rspec
35
+ RUBOCOP ?= rubocop
36
+ YARD ?= yard
37
+
38
+ # Define a generic shell run wrapper
39
+ # $1 - The command to run
40
+ ifeq ($(MAKE_ENV),docker)
41
+ define run-shell
42
+ $(COMPOSE) run $(COMPOSE_RUN_SHELL_FLAGS) \
43
+ -e LANG=en_US.UTF-8 -e LANGUAGE=en_US.UTF-8 -e LC_ALL=en_US.UTF-8 \
44
+ -e HOME=/home/web -e BUNDLE_APP_CONFIG=/app/.bundle \
45
+ -u `$(ID) -u` test \
46
+ bash $(BASH_RUN_SHELL_FLAGS) -c 'sleep 0.1; echo; $(1)'
47
+ endef
48
+ else ifeq ($(MAKE_ENV),baremetal)
49
+ define run-shell
50
+ $(1)
51
+ endef
52
+ endif
53
+
54
+ all:
55
+ # grape-jwt-authentication
56
+ #
57
+ # install Install the dependencies
58
+ # update Update the local Gemset dependencies
59
+ # clean Clean the dependencies
60
+ #
61
+ # test Run the whole test suite
62
+ # test-style Test the code styles
63
+ # watch Watch for code changes and rerun the test suite
64
+ #
65
+ # docs Generate the Ruby documentation of the library
66
+ # stats Print the code statistics (library and test suite)
67
+ # notes Print all the notes from the code
68
+ # release Release a new Gem version (maintainers only)
69
+ #
70
+ # shell Run an interactive shell on the container
71
+ # shell-irb Run an interactive IRB shell on the container
72
+
73
+ .interactive:
74
+ @$(eval BASH_RUN_SHELL_FLAGS = --login)
75
+
76
+ install:
77
+ # Install the dependencies
78
+ @$(MKDIR) -p $(VENDOR_DIR)
79
+ @$(call run-shell,$(BUNDLE) check || $(BUNDLE) install --path $(VENDOR_DIR))
80
+ @$(call run-shell,$(BUNDLE) exec $(APPRAISAL) install)
81
+
82
+ update:
83
+ # Install the dependencies
84
+ @$(MKDIR) -p $(VENDOR_DIR)
85
+ @$(call run-shell,$(BUNDLE) update)
86
+ @$(call run-shell,$(BUNDLE) exec $(APPRAISAL) update)
87
+
88
+ watch: install .interactive
89
+ # Watch for code changes and rerun the test suite
90
+ @$(call run-shell,$(BUNDLE) exec $(GUARD))
91
+
92
+ test: \
93
+ test-specs \
94
+ test-style
95
+
96
+ test-specs:
97
+ # Run the whole test suite
98
+ @$(call run-shell,$(BUNDLE) exec $(RAKE) stats spec)
99
+
100
+ $(TEST_GEMFILES): GEMFILE=$(@:test-%=%)
101
+ $(TEST_GEMFILES):
102
+ # Run the whole test suite ($(GEMFILE))
103
+ @$(call run-shell,$(BUNDLE) exec $(APPRAISAL) $(GEMFILE) $(RSPEC))
104
+
105
+ test-style: \
106
+ test-style-ruby
107
+
108
+ test-style-ruby:
109
+ # Run the static code analyzer (rubocop)
110
+ @$(call run-shell,$(BUNDLE) exec $(RUBOCOP) -a)
111
+
112
+ clean:
113
+ # Clean the dependencies
114
+ @$(RM) -rf $(VENDOR_DIR)
115
+ @$(RM) -rf $(VENDOR_DIR)/Gemfile.lock
116
+ @$(RM) -rf .bundle .yardoc coverage pkg Gemfile.lock doc/api \
117
+ .rspec_status
118
+
119
+ clean-containers:
120
+ # Clean running containers
121
+ ifeq ($(MAKE_ENV),docker)
122
+ @$(COMPOSE) down
123
+ endif
124
+
125
+ clean-images:
126
+ # Clean build images
127
+ ifeq ($(MAKE_ENV),docker)
128
+ @-$(DOCKER) images | $(GREP) $(shell basename "`pwd`") \
129
+ | $(AWK) '{ print $$3 }' \
130
+ | $(XARGS) -rn1 $(DOCKER) rmi -f
131
+ endif
132
+
133
+ distclean: clean clean-containers clean-images
134
+
135
+ shell:
136
+ # Run an interactive shell on the container
137
+ @$(call run-shell,$(BASH) -i)
138
+
139
+ shell-irb:
140
+ # Run an interactive IRB shell on the container
141
+ @$(call run-shell,bin/console)
142
+
143
+ docs:
144
+ # Build the API documentation
145
+ @$(call run-shell,$(BUNDLE) exec $(YARD) -q && \
146
+ $(BUNDLE) exec $(YARD) stats --list-undoc --compact)
147
+
148
+ notes:
149
+ # Print the code statistics (library and test suite)
150
+ @$(call run-shell,$(BUNDLE) exec $(RAKE) notes)
151
+
152
+ stats:
153
+ # Print all the notes from the code
154
+ @$(call run-shell,$(BUNDLE) exec $(RAKE) stats)
155
+
156
+ release:
157
+ # Release a new gem version
158
+ @$(BUNDLE) exec $(RAKE) release
data/README.md CHANGED
@@ -1,14 +1,14 @@
1
1
  ![grape-jwt-authentication](doc/assets/project.svg)
2
2
 
3
- [![Build Status](https://travis-ci.com/hausgold/grape-jwt-authentication.svg?branch=master)](https://travis-ci.com/hausgold/grape-jwt-authentication)
3
+ [![Continuous Integration](https://github.com/hausgold/grape-jwt-authentication/actions/workflows/test.yml/badge.svg?branch=master)](https://github.com/hausgold/grape-jwt-authentication/actions/workflows/test.yml)
4
4
  [![Gem Version](https://badge.fury.io/rb/grape-jwt-authentication.svg)](https://badge.fury.io/rb/grape-jwt-authentication)
5
- [![Maintainability](https://api.codeclimate.com/v1/badges/ab14a3bab572edfbf305/maintainability)](https://codeclimate.com/repos/5cac8bc06c282f791c009a66/maintainability)
6
- [![Test Coverage](https://api.codeclimate.com/v1/badges/ab14a3bab572edfbf305/test_coverage)](https://codeclimate.com/repos/5cac8bc06c282f791c009a66/test_coverage)
7
- [![API docs](https://img.shields.io/badge/docs-API-blue.svg)](https://www.rubydoc.info/gems/grape-jwt-authentication)
5
+ [![Test Coverage](https://automate-api.hausgold.de/v1/coverage_reports/grape-jwt-authentication/coverage.svg)](https://knowledge.hausgold.de/coverage)
6
+ [![Test Ratio](https://automate-api.hausgold.de/v1/coverage_reports/grape-jwt-authentication/ratio.svg)](https://knowledge.hausgold.de/coverage)
7
+ [![API docs](https://automate-api.hausgold.de/v1/coverage_reports/grape-jwt-authentication/documentation.svg)](https://www.rubydoc.info/gems/grape-jwt-authentication)
8
8
 
9
9
  This gem is dedicated to easily integrate a JWT authentication to your
10
10
  [Grape](https://github.com/ruby-grape/grape) API. The real authentication
11
- functionality must be provided by the user and this makes this gem highy
11
+ functionality must be provided by the user and this makes this gem highly
12
12
  flexible on the JWT verification level.
13
13
 
14
14
  - [Installation](#installation)
@@ -154,7 +154,7 @@ end
154
154
 
155
155
  #### Failed authentication handling
156
156
 
157
- When the client sends a corrected formatted JSON Web Token with the Bearer
157
+ When the client sends a correctly formatted JSON Web Token with the Bearer
158
158
  authentication scheme within the `Authorization` header and your authenticator
159
159
  fails for some reason (token claims, wrong audience, bad subject, expired
160
160
  token, wrong cryptographic signing etc), this function is called to handle the
@@ -175,8 +175,8 @@ end
175
175
  #### RSA public key helper
176
176
 
177
177
  We provide a straightforward solution to deal with the provision of RSA public
178
- keys. Somethimes you want to distribute them by file to each machine and have
179
- a local access, and somethimes you provide an endpoint on your identity
178
+ keys. Sometimes you want to distribute them by file to each machine and have
179
+ a local access, and sometimes you provide an endpoint on your identity
180
180
  provider to fetch the RSA public key via HTTP/HTTPS. The `RsaPublicKey` class
181
181
  helps you to fulfill this task easily.
182
182
 
data/Rakefile CHANGED
@@ -2,7 +2,18 @@
2
2
 
3
3
  require 'bundler/gem_tasks'
4
4
  require 'rspec/core/rake_task'
5
+ require 'countless/rake_tasks'
5
6
 
6
7
  RSpec::Core::RakeTask.new(:spec)
7
8
 
8
9
  task default: :spec
10
+
11
+ # Configure all code statistics directories
12
+ Countless.configure do |config|
13
+ config.stats_base_directories = [
14
+ { name: 'Top-levels',
15
+ pattern: 'lib/**/*.rb' },
16
+ { name: 'Top-levels specs', test: true,
17
+ pattern: 'spec/grape/**/*.rb' }
18
+ ]
19
+ 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
@@ -0,0 +1,9 @@
1
+ version: "3"
2
+ services:
3
+ test:
4
+ build: .
5
+ env_file: Envfile
6
+ network_mode: bridge
7
+ working_dir: /app
8
+ volumes:
9
+ - .:/app
@@ -0,0 +1,9 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activejob", "~> 5.2.0"
6
+ gem "activerecord", "~> 5.2.0"
7
+ gem "activesupport", "~> 5.2.0"
8
+
9
+ gemspec path: "../"
@@ -5,36 +5,57 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
  require 'grape/jwt/authentication/version'
6
6
 
7
7
  Gem::Specification.new do |spec|
8
- spec.name = 'grape-jwt-authentication'
9
- spec.version = Grape::Jwt::Authentication::VERSION
10
- spec.authors = ['Hermann Mayer']
11
- spec.email = ['hermann.mayer92@gmail.com']
8
+ spec.name = 'grape-jwt-authentication'
9
+ spec.version = Grape::Jwt::Authentication::VERSION
10
+ spec.authors = ['Hermann Mayer']
11
+ spec.email = ['hermann.mayer92@gmail.com']
12
12
 
13
- spec.summary = 'A reusable Grape JWT authentication concern'
14
- spec.description = 'A reusable Grape JWT authentication concern'
15
- spec.homepage = 'https://github.com/hausgold/grape-jwt-authentication'
13
+ spec.license = 'MIT'
14
+ spec.summary = 'A reusable Grape JWT authentication concern'
15
+ spec.description = 'A reusable Grape JWT authentication concern'
16
+
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
+ }
16
25
 
17
26
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
18
27
  f.match(%r{^(test|spec|features)/})
19
28
  end
20
- spec.bindir = 'exe'
21
- 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) }
22
32
  spec.require_paths = ['lib']
23
33
 
24
- spec.add_development_dependency 'bundler', '>= 1.16', '< 3'
25
- spec.add_development_dependency 'rack', '~> 2.0'
26
- spec.add_development_dependency 'rack-test', '~> 0.8.2'
27
- spec.add_development_dependency 'rake', '~> 10.0'
28
- spec.add_development_dependency 'rspec', '~> 3.9'
29
- spec.add_development_dependency 'simplecov', '~> 0.15'
30
- spec.add_development_dependency 'timecop', '~> 0.9.1'
31
- spec.add_development_dependency 'vcr', '~> 3.0'
32
- spec.add_development_dependency 'webmock', '~> 3.1'
33
-
34
- spec.add_runtime_dependency 'activesupport', '>= 3.2.0'
34
+ spec.required_ruby_version = '>= 2.5'
35
+
36
+ spec.add_runtime_dependency 'activesupport', '>= 5.2'
35
37
  spec.add_runtime_dependency 'grape', '~> 1.0'
36
- spec.add_runtime_dependency 'httparty'
37
- spec.add_runtime_dependency 'jwt', '~> 2.1'
38
- spec.add_runtime_dependency 'recursive-open-struct', '~> 1.0'
39
- spec.add_runtime_dependency 'keyless', '~> 1.0'
38
+ spec.add_runtime_dependency 'httparty', '>= 0.21'
39
+ spec.add_runtime_dependency 'jwt', '~> 2.6'
40
+ spec.add_runtime_dependency 'keyless', '~> 1.1'
41
+ spec.add_runtime_dependency 'recursive-open-struct', '~> 1.1'
42
+
43
+ spec.add_development_dependency 'appraisal', '~> 2.4'
44
+ spec.add_development_dependency 'bundler', '~> 2.3'
45
+ spec.add_development_dependency 'countless', '~> 1.1'
46
+ spec.add_development_dependency 'guard-rspec', '~> 4.7'
47
+ spec.add_development_dependency 'rack', '~> 2.2'
48
+ spec.add_development_dependency 'rack-test', '~> 2.0'
49
+ spec.add_development_dependency 'railties', '>= 5.2'
50
+ spec.add_development_dependency 'rake', '~> 13.0'
51
+ spec.add_development_dependency 'rspec', '~> 3.12'
52
+ spec.add_development_dependency 'rubocop', '~> 1.28'
53
+ spec.add_development_dependency 'rubocop-rails', '~> 2.14'
54
+ spec.add_development_dependency 'rubocop-rspec', '~> 2.10'
55
+ spec.add_development_dependency 'simplecov', '>= 0.22'
56
+ spec.add_development_dependency 'timecop', '>= 0.9.6'
57
+ spec.add_development_dependency 'vcr', '~> 6.0'
58
+ spec.add_development_dependency 'webmock', '~> 3.18'
59
+ spec.add_development_dependency 'yard', '>= 0.9.28'
60
+ spec.add_development_dependency 'yard-activesupport-concern', '>= 0.0.1'
40
61
  end
@@ -2,6 +2,7 @@
2
2
 
3
3
  module Grape
4
4
  module Jwt
5
+ # The Grape JWT authentication concern.
5
6
  module Authentication
6
7
  # Specifies which configuration keys are shared between keyless
7
8
  # and grape-jwt-authentication, so that we can easily pass through
@@ -10,7 +11,7 @@ module Grape
10
11
  authenticator rsa_public_key_url rsa_public_key_caching
11
12
  rsa_public_key_expiration jwt_issuer jwt_beholder jwt_options
12
13
  jwt_verification_key
13
- ]
14
+ ].freeze
14
15
 
15
16
  # (Re)configure our gem dependencies. We take care of setting up
16
17
  # +Keyless+, which has been extracted from this gem.
@@ -102,10 +102,8 @@ module Grape
102
102
  # interface.
103
103
  #
104
104
  # @param env [Hash{String => Mixed}] the Rack environment
105
- #
106
- # rubocop:disable Metrics/AbcSize because thats the auth handling core
105
+ # because thats the auth handling core
107
106
  # :reek:TooManyStatements because reek counts exception
108
- # handling as statements
109
107
  def call(env)
110
108
  # Unfortunately Grape's middleware stack orders the error
111
109
  # handling higher than the formatter. So when a error is
@@ -139,7 +137,6 @@ module Grape
139
137
  # Call the user defined failed authentication handler.
140
138
  failed_handler.call(token, @app)
141
139
  end
142
- # rubocop:enable Metrics/AbcSize
143
140
  end
144
141
  end
145
142
  end
@@ -2,8 +2,26 @@
2
2
 
3
3
  module Grape
4
4
  module Jwt
5
+ # The gem version details.
5
6
  module Authentication
6
- VERSION = '2.0.3'.freeze
7
+ # The version of the +grape-jwt-authentication+ gem
8
+ VERSION = '2.1.0'
9
+
10
+ class << self
11
+ # Returns the version of gem as a string.
12
+ #
13
+ # @return [String] the gem version as string
14
+ def version
15
+ VERSION
16
+ end
17
+
18
+ # Returns the version of the gem as a +Gem::Version+.
19
+ #
20
+ # @return [Gem::Version] the gem version as object
21
+ def gem_version
22
+ Gem::Version.new VERSION
23
+ end
24
+ end
7
25
  end
8
26
  end
9
27
  end
metadata CHANGED
@@ -1,231 +1,351 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grape-jwt-authentication
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hermann Mayer
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-05-12 00:00:00.000000000 Z
11
+ date: 2023-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
14
+ name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.16'
20
- - - "<"
19
+ version: '5.2'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
21
25
  - !ruby/object:Gem::Version
22
- version: '3'
23
- type: :development
26
+ version: '5.2'
27
+ - !ruby/object:Gem::Dependency
28
+ name: grape
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.0'
34
+ type: :runtime
24
35
  prerelease: false
25
36
  version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: httparty
43
+ requirement: !ruby/object:Gem::Requirement
26
44
  requirements:
27
45
  - - ">="
28
46
  - !ruby/object:Gem::Version
29
- version: '1.16'
30
- - - "<"
47
+ version: '0.21'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
31
53
  - !ruby/object:Gem::Version
32
- version: '3'
54
+ version: '0.21'
33
55
  - !ruby/object:Gem::Dependency
34
- name: rack
56
+ name: jwt
35
57
  requirement: !ruby/object:Gem::Requirement
36
58
  requirements:
37
59
  - - "~>"
38
60
  - !ruby/object:Gem::Version
39
- version: '2.0'
40
- type: :development
61
+ version: '2.6'
62
+ type: :runtime
41
63
  prerelease: false
42
64
  version_requirements: !ruby/object:Gem::Requirement
43
65
  requirements:
44
66
  - - "~>"
45
67
  - !ruby/object:Gem::Version
46
- version: '2.0'
68
+ version: '2.6'
47
69
  - !ruby/object:Gem::Dependency
48
- name: rack-test
70
+ name: keyless
49
71
  requirement: !ruby/object:Gem::Requirement
50
72
  requirements:
51
73
  - - "~>"
52
74
  - !ruby/object:Gem::Version
53
- version: 0.8.2
54
- type: :development
75
+ version: '1.1'
76
+ type: :runtime
55
77
  prerelease: false
56
78
  version_requirements: !ruby/object:Gem::Requirement
57
79
  requirements:
58
80
  - - "~>"
59
81
  - !ruby/object:Gem::Version
60
- version: 0.8.2
82
+ version: '1.1'
61
83
  - !ruby/object:Gem::Dependency
62
- name: rake
84
+ name: recursive-open-struct
63
85
  requirement: !ruby/object:Gem::Requirement
64
86
  requirements:
65
87
  - - "~>"
66
88
  - !ruby/object:Gem::Version
67
- version: '10.0'
89
+ version: '1.1'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.1'
97
+ - !ruby/object:Gem::Dependency
98
+ name: appraisal
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '2.4'
68
104
  type: :development
69
105
  prerelease: false
70
106
  version_requirements: !ruby/object:Gem::Requirement
71
107
  requirements:
72
108
  - - "~>"
73
109
  - !ruby/object:Gem::Version
74
- version: '10.0'
110
+ version: '2.4'
75
111
  - !ruby/object:Gem::Dependency
76
- name: rspec
112
+ name: bundler
77
113
  requirement: !ruby/object:Gem::Requirement
78
114
  requirements:
79
115
  - - "~>"
80
116
  - !ruby/object:Gem::Version
81
- version: '3.9'
117
+ version: '2.3'
82
118
  type: :development
83
119
  prerelease: false
84
120
  version_requirements: !ruby/object:Gem::Requirement
85
121
  requirements:
86
122
  - - "~>"
87
123
  - !ruby/object:Gem::Version
88
- version: '3.9'
124
+ version: '2.3'
89
125
  - !ruby/object:Gem::Dependency
90
- name: simplecov
126
+ name: countless
91
127
  requirement: !ruby/object:Gem::Requirement
92
128
  requirements:
93
129
  - - "~>"
94
130
  - !ruby/object:Gem::Version
95
- version: '0.15'
131
+ version: '1.1'
96
132
  type: :development
97
133
  prerelease: false
98
134
  version_requirements: !ruby/object:Gem::Requirement
99
135
  requirements:
100
136
  - - "~>"
101
137
  - !ruby/object:Gem::Version
102
- version: '0.15'
138
+ version: '1.1'
103
139
  - !ruby/object:Gem::Dependency
104
- name: timecop
140
+ name: guard-rspec
105
141
  requirement: !ruby/object:Gem::Requirement
106
142
  requirements:
107
143
  - - "~>"
108
144
  - !ruby/object:Gem::Version
109
- version: 0.9.1
145
+ version: '4.7'
110
146
  type: :development
111
147
  prerelease: false
112
148
  version_requirements: !ruby/object:Gem::Requirement
113
149
  requirements:
114
150
  - - "~>"
115
151
  - !ruby/object:Gem::Version
116
- version: 0.9.1
152
+ version: '4.7'
117
153
  - !ruby/object:Gem::Dependency
118
- name: vcr
154
+ name: rack
119
155
  requirement: !ruby/object:Gem::Requirement
120
156
  requirements:
121
157
  - - "~>"
122
158
  - !ruby/object:Gem::Version
123
- version: '3.0'
159
+ version: '2.2'
124
160
  type: :development
125
161
  prerelease: false
126
162
  version_requirements: !ruby/object:Gem::Requirement
127
163
  requirements:
128
164
  - - "~>"
129
165
  - !ruby/object:Gem::Version
130
- version: '3.0'
166
+ version: '2.2'
131
167
  - !ruby/object:Gem::Dependency
132
- name: webmock
168
+ name: rack-test
133
169
  requirement: !ruby/object:Gem::Requirement
134
170
  requirements:
135
171
  - - "~>"
136
172
  - !ruby/object:Gem::Version
137
- version: '3.1'
173
+ version: '2.0'
138
174
  type: :development
139
175
  prerelease: false
140
176
  version_requirements: !ruby/object:Gem::Requirement
141
177
  requirements:
142
178
  - - "~>"
143
179
  - !ruby/object:Gem::Version
144
- version: '3.1'
180
+ version: '2.0'
145
181
  - !ruby/object:Gem::Dependency
146
- name: activesupport
182
+ name: railties
147
183
  requirement: !ruby/object:Gem::Requirement
148
184
  requirements:
149
185
  - - ">="
150
186
  - !ruby/object:Gem::Version
151
- version: 3.2.0
152
- type: :runtime
187
+ version: '5.2'
188
+ type: :development
153
189
  prerelease: false
154
190
  version_requirements: !ruby/object:Gem::Requirement
155
191
  requirements:
156
192
  - - ">="
157
193
  - !ruby/object:Gem::Version
158
- version: 3.2.0
194
+ version: '5.2'
159
195
  - !ruby/object:Gem::Dependency
160
- name: grape
196
+ name: rake
161
197
  requirement: !ruby/object:Gem::Requirement
162
198
  requirements:
163
199
  - - "~>"
164
200
  - !ruby/object:Gem::Version
165
- version: '1.0'
166
- type: :runtime
201
+ version: '13.0'
202
+ type: :development
167
203
  prerelease: false
168
204
  version_requirements: !ruby/object:Gem::Requirement
169
205
  requirements:
170
206
  - - "~>"
171
207
  - !ruby/object:Gem::Version
172
- version: '1.0'
208
+ version: '13.0'
173
209
  - !ruby/object:Gem::Dependency
174
- name: httparty
210
+ name: rspec
175
211
  requirement: !ruby/object:Gem::Requirement
176
212
  requirements:
177
- - - ">="
213
+ - - "~>"
178
214
  - !ruby/object:Gem::Version
179
- version: '0'
180
- type: :runtime
215
+ version: '3.12'
216
+ type: :development
181
217
  prerelease: false
182
218
  version_requirements: !ruby/object:Gem::Requirement
183
219
  requirements:
184
- - - ">="
220
+ - - "~>"
185
221
  - !ruby/object:Gem::Version
186
- version: '0'
222
+ version: '3.12'
187
223
  - !ruby/object:Gem::Dependency
188
- name: jwt
224
+ name: rubocop
189
225
  requirement: !ruby/object:Gem::Requirement
190
226
  requirements:
191
227
  - - "~>"
192
228
  - !ruby/object:Gem::Version
193
- version: '2.1'
194
- type: :runtime
229
+ version: '1.28'
230
+ type: :development
195
231
  prerelease: false
196
232
  version_requirements: !ruby/object:Gem::Requirement
197
233
  requirements:
198
234
  - - "~>"
199
235
  - !ruby/object:Gem::Version
200
- version: '2.1'
236
+ version: '1.28'
201
237
  - !ruby/object:Gem::Dependency
202
- name: recursive-open-struct
238
+ name: rubocop-rails
203
239
  requirement: !ruby/object:Gem::Requirement
204
240
  requirements:
205
241
  - - "~>"
206
242
  - !ruby/object:Gem::Version
207
- version: '1.0'
208
- type: :runtime
243
+ version: '2.14'
244
+ type: :development
209
245
  prerelease: false
210
246
  version_requirements: !ruby/object:Gem::Requirement
211
247
  requirements:
212
248
  - - "~>"
213
249
  - !ruby/object:Gem::Version
214
- version: '1.0'
250
+ version: '2.14'
215
251
  - !ruby/object:Gem::Dependency
216
- name: keyless
252
+ name: rubocop-rspec
217
253
  requirement: !ruby/object:Gem::Requirement
218
254
  requirements:
219
255
  - - "~>"
220
256
  - !ruby/object:Gem::Version
221
- version: '1.0'
222
- type: :runtime
257
+ version: '2.10'
258
+ type: :development
223
259
  prerelease: false
224
260
  version_requirements: !ruby/object:Gem::Requirement
225
261
  requirements:
226
262
  - - "~>"
227
263
  - !ruby/object:Gem::Version
228
- version: '1.0'
264
+ version: '2.10'
265
+ - !ruby/object:Gem::Dependency
266
+ name: simplecov
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - ">="
270
+ - !ruby/object:Gem::Version
271
+ version: '0.22'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: '0.22'
279
+ - !ruby/object:Gem::Dependency
280
+ name: timecop
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - ">="
284
+ - !ruby/object:Gem::Version
285
+ version: 0.9.6
286
+ type: :development
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - ">="
291
+ - !ruby/object:Gem::Version
292
+ version: 0.9.6
293
+ - !ruby/object:Gem::Dependency
294
+ name: vcr
295
+ requirement: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - "~>"
298
+ - !ruby/object:Gem::Version
299
+ version: '6.0'
300
+ type: :development
301
+ prerelease: false
302
+ version_requirements: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - "~>"
305
+ - !ruby/object:Gem::Version
306
+ version: '6.0'
307
+ - !ruby/object:Gem::Dependency
308
+ name: webmock
309
+ requirement: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - "~>"
312
+ - !ruby/object:Gem::Version
313
+ version: '3.18'
314
+ type: :development
315
+ prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - "~>"
319
+ - !ruby/object:Gem::Version
320
+ version: '3.18'
321
+ - !ruby/object:Gem::Dependency
322
+ name: yard
323
+ requirement: !ruby/object:Gem::Requirement
324
+ requirements:
325
+ - - ">="
326
+ - !ruby/object:Gem::Version
327
+ version: 0.9.28
328
+ type: :development
329
+ prerelease: false
330
+ version_requirements: !ruby/object:Gem::Requirement
331
+ requirements:
332
+ - - ">="
333
+ - !ruby/object:Gem::Version
334
+ version: 0.9.28
335
+ - !ruby/object:Gem::Dependency
336
+ name: yard-activesupport-concern
337
+ requirement: !ruby/object:Gem::Requirement
338
+ requirements:
339
+ - - ">="
340
+ - !ruby/object:Gem::Version
341
+ version: 0.0.1
342
+ type: :development
343
+ prerelease: false
344
+ version_requirements: !ruby/object:Gem::Requirement
345
+ requirements:
346
+ - - ">="
347
+ - !ruby/object:Gem::Version
348
+ version: 0.0.1
229
349
  description: A reusable Grape JWT authentication concern
230
350
  email:
231
351
  - hermann.mayer92@gmail.com
@@ -234,28 +354,46 @@ extensions: []
234
354
  extra_rdoc_files: []
235
355
  files:
236
356
  - ".editorconfig"
357
+ - ".github/workflows/documentation.yml"
358
+ - ".github/workflows/test.yml"
237
359
  - ".gitignore"
238
360
  - ".rspec"
239
361
  - ".rubocop.yml"
240
362
  - ".simplecov"
241
- - ".travis.yml"
363
+ - ".yardopts"
364
+ - Appraisals
242
365
  - CHANGELOG.md
366
+ - Dockerfile
367
+ - Envfile
243
368
  - Gemfile
369
+ - Guardfile
244
370
  - LICENSE
371
+ - Makefile
245
372
  - README.md
246
373
  - Rakefile
247
374
  - bin/console
248
375
  - bin/setup
376
+ - config/docker/.bash_profile
377
+ - config/docker/.bashrc
378
+ - config/docker/.inputrc
249
379
  - doc/assets/project.svg
380
+ - docker-compose.yml
381
+ - gemfiles/rails_5.2.gemfile
250
382
  - grape-jwt-authentication.gemspec
251
383
  - lib/grape/jwt/authentication.rb
252
384
  - lib/grape/jwt/authentication/configuration.rb
253
385
  - lib/grape/jwt/authentication/dependencies.rb
254
386
  - lib/grape/jwt/authentication/jwt_handler.rb
255
387
  - lib/grape/jwt/authentication/version.rb
256
- homepage: https://github.com/hausgold/grape-jwt-authentication
257
- licenses: []
258
- metadata: {}
388
+ homepage:
389
+ licenses:
390
+ - MIT
391
+ metadata:
392
+ homepage_uri: https://github.com/hausgold/grape-jwt-authentication
393
+ source_code_uri: https://github.com/hausgold/grape-jwt-authentication
394
+ changelog_uri: https://github.com/hausgold/grape-jwt-authentication/blob/master/CHANGELOG.md
395
+ bug_tracker_uri: https://github.com/hausgold/grape-jwt-authentication/issues
396
+ documentation_uri: https://www.rubydoc.info/gems/grape-jwt-authentication
259
397
  post_install_message:
260
398
  rdoc_options: []
261
399
  require_paths:
@@ -264,14 +402,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
264
402
  requirements:
265
403
  - - ">="
266
404
  - !ruby/object:Gem::Version
267
- version: '0'
405
+ version: '2.5'
268
406
  required_rubygems_version: !ruby/object:Gem::Requirement
269
407
  requirements:
270
408
  - - ">="
271
409
  - !ruby/object:Gem::Version
272
410
  version: '0'
273
411
  requirements: []
274
- rubygems_version: 3.2.16
412
+ rubygems_version: 3.3.8
275
413
  signing_key:
276
414
  specification_version: 4
277
415
  summary: A reusable Grape JWT authentication concern
data/.travis.yml DELETED
@@ -1,20 +0,0 @@
1
- env:
2
- global:
3
- - CC_TEST_REPORTER_ID=ecb753423174dbd8e4aaf04fb62bf4ef9c2a54904ac49a33fdf2b908b3c5e5f3
4
-
5
- sudo: false
6
- language: ruby
7
- rvm:
8
- - 2.6
9
- - 2.5
10
- - 2.4
11
-
12
- before_install: gem install bundler
13
-
14
- before_script:
15
- - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
16
- - chmod +x ./cc-test-reporter
17
- - ./cc-test-reporter before-build
18
- script: bundle exec rake
19
- after_script:
20
- - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT