snuffleupagus 0.1.2 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 78ba5652942ab4bb945ced5e32696f91a5ca32133294f255ed22e6dc7c7ba5a5
4
- data.tar.gz: f583416e9b741ee77d84de3f0cdcf0f5df5c71648b3156ee5f2bb0531b77426c
3
+ metadata.gz: 5957f8d5f4266cf8deb1c61844e41cc7eee15a01c3862a1eadd469ad086b42fe
4
+ data.tar.gz: 44393351bab201dd827bca9a7eeacc93f5b8556f9106862f2fed857602024c54
5
5
  SHA512:
6
- metadata.gz: 25c0f294acc08273c4fc62cb203c73fdb539df5d888649a0af985e8d08042b61d755dcf63a31f27b987f85f5fd3cd42ada3e013c366e3f3da008e020a19c284d
7
- data.tar.gz: 9f01b85aa3dc12dbd4b309773df728386a88dd19649a638b7b5ecbbe7049a6e16dc2970cd7cc2a0ef47030e0b754ddde29dd5d5f1236d2416c42ef2548632add
6
+ metadata.gz: 00e18b5e37abb306f1dd63887ef990e04797992af401cfe6d0df5a35c881137ff4f2605d92a7ad863be198a629055de92df83e261f4934e3cbdaa7cf662134be
7
+ data.tar.gz: f3e583a9c052e5d7c0e63e0b0af46e36a43dc9035ffce822dca264c4a9f697bd67cced68d7e1b93c37c5a5156cb3ef898959a9cfaac5b336f11aee62876b0a23
@@ -0,0 +1,29 @@
1
+ name: Test Snuffleupagus Ruby gem
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ matrix:
14
+ ruby-version: ['2.6', '2.7', '3.0', '3.1']
15
+
16
+ steps:
17
+ - uses: actions/checkout@v2
18
+
19
+ - name: Set up Ruby
20
+ uses: ruby/setup-ruby@v1
21
+ with:
22
+ ruby-version: ${{ matrix.ruby-version }}
23
+ bundler-cache: true
24
+
25
+ - name: Lint code - Rubocop
26
+ run: bundle exec rubocop
27
+
28
+ - name: Run tests
29
+ run: bundle exec rake
data/.rubocop.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  AllCops:
2
2
  NewCops: enable
3
- TargetRubyVersion: 2.5
3
+ TargetRubyVersion: 2.6
4
4
 
5
5
  Metrics/BlockLength:
6
6
  Exclude:
data/CHANGELOG.md CHANGED
@@ -3,6 +3,16 @@
3
3
  ## Unreleased
4
4
  - none
5
5
 
6
+ ## [0.3.1](releases/tag/v0.3.1) - 2022-08-19
7
+ ### Added
8
+ - Add support for Ruby 3.1 (#3)
9
+ ### Updated
10
+ - Use Github actions in favour of Travis CI (#3)
11
+
12
+ ## [0.2.2](releases/tag/v0.2.2) - 2021-12-22
13
+ ### Added
14
+ - Add support for Ruby 3.0 (#2)
15
+
6
16
  ## [0.1.1](releases/tag/v0.1.1) - 2020-10-21
7
17
  ### Updated
8
18
  - Use named parameters when creating and validating tokens
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022 Studiosity
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md CHANGED
@@ -23,7 +23,7 @@ gem 'snuffleupagus'
23
23
 
24
24
  ```ruby
25
25
  snuffy = Snuffleupagus::AuthToken.new('p4ssw0rd')
26
- snuffy.create_token
26
+ snuffy.create_token context: 'my-context'
27
27
  #=> "53616c7465645f5f25dba4d4a97b238c4560ab46ffdfb77b28ad3e7121ab1917"
28
28
  ```
29
29
 
@@ -31,6 +31,6 @@ snuffy.create_token
31
31
 
32
32
  ```ruby
33
33
  snuffy = Snuffleupagus::AuthToken.new('p4ssw0rd')
34
- snuffy.check_token("53616c7465645f5f25dba4d4a97b238c4560ab46ffdfb77b28ad3e7121ab1917")
34
+ snuffy.token_valid? token: "53616c7465645f5f25dba4d4a97b238c4560ab46ffdfb77b28ad3e7121ab1917", context: 'my-context'
35
35
  #=> true
36
36
  ```
@@ -61,7 +61,7 @@ module Snuffleupagus
61
61
  raise ArgumentError, 'Data is too short' unless data.length >= 16
62
62
 
63
63
  salt = data[8..15]
64
- data = data[16..-1]
64
+ data = data[16..]
65
65
  setup_cipher(:decrypt, salt)
66
66
  cipher.update(data) + cipher.final
67
67
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Snuffleupagus
4
- VERSION = '0.1.2'
4
+ VERSION = '0.3.1'
5
5
  end
@@ -9,14 +9,24 @@ Gem::Specification.new do |s|
9
9
  s.authors = ['Andrew Bromwich']
10
10
  s.email = ['abromwich@studiosity.com']
11
11
  s.homepage = 'https://github.com/Studiosity/snuffleupagus'
12
+ s.license = 'MIT'
12
13
  s.description = 'Simple auth token generator/validator'
13
14
  s.summary = "snuffleupagus-#{s.version}"
14
15
  s.required_rubygems_version = '> 1.3.6'
15
- s.required_ruby_version = ['>= 2.5.0', '< 2.8.0']
16
+ s.required_ruby_version = ['>= 2.6.0', '< 3.2.0']
17
+
18
+ # Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
19
+ # delete this section to allow pushing this gem to any host.
20
+ raise 'RubyGems 2.0 or newer is required to protect against public gem pushes.' unless s.respond_to?(:metadata)
21
+
22
+ s.metadata['allowed_push_host'] = 'https://rubygems.org'
23
+ s.metadata['rubygems_mfa_required'] = 'true'
16
24
 
17
25
  s.add_development_dependency 'rake', '~> 12.3', '>= 12.3.3'
18
26
  s.add_development_dependency 'rspec', '~> 3'
19
- s.add_development_dependency 'rubocop', '~> 0.49'
27
+ s.add_development_dependency 'rubocop', '~> 1.26'
28
+ s.add_development_dependency 'rubocop-rake', '~> 0.6'
29
+ s.add_development_dependency 'rubocop-rspec', '~> 2.9'
20
30
  s.add_development_dependency 'timecop', '~> 0'
21
31
 
22
32
  s.files = `git ls-files`.split($OUTPUT_RECORD_SEPARATOR)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: snuffleupagus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Bromwich
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-21 00:00:00.000000000 Z
11
+ date: 2022-08-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -50,14 +50,42 @@ dependencies:
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '0.49'
53
+ version: '1.26'
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '0.49'
60
+ version: '1.26'
61
+ - !ruby/object:Gem::Dependency
62
+ name: rubocop-rake
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '0.6'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '0.6'
75
+ - !ruby/object:Gem::Dependency
76
+ name: rubocop-rspec
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '2.9'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '2.9'
61
89
  - !ruby/object:Gem::Dependency
62
90
  name: timecop
63
91
  requirement: !ruby/object:Gem::Requirement
@@ -79,11 +107,12 @@ executables: []
79
107
  extensions: []
80
108
  extra_rdoc_files: []
81
109
  files:
110
+ - ".github/workflows/test.yml"
82
111
  - ".gitignore"
83
112
  - ".rubocop.yml"
84
- - ".travis.yml"
85
113
  - CHANGELOG.md
86
114
  - Gemfile
115
+ - LICENSE
87
116
  - README.md
88
117
  - Rakefile
89
118
  - Snuffy.png
@@ -93,9 +122,12 @@ files:
93
122
  - snuffleupagus.gemspec
94
123
  - spec/snuffleupagus_spec.rb
95
124
  homepage: https://github.com/Studiosity/snuffleupagus
96
- licenses: []
97
- metadata: {}
98
- post_install_message:
125
+ licenses:
126
+ - MIT
127
+ metadata:
128
+ allowed_push_host: https://rubygems.org
129
+ rubygems_mfa_required: 'true'
130
+ post_install_message:
99
131
  rdoc_options: []
100
132
  require_paths:
101
133
  - lib
@@ -103,18 +135,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
103
135
  requirements:
104
136
  - - ">="
105
137
  - !ruby/object:Gem::Version
106
- version: 2.5.0
138
+ version: 2.6.0
107
139
  - - "<"
108
140
  - !ruby/object:Gem::Version
109
- version: 2.8.0
141
+ version: 3.2.0
110
142
  required_rubygems_version: !ruby/object:Gem::Requirement
111
143
  requirements:
112
144
  - - ">"
113
145
  - !ruby/object:Gem::Version
114
146
  version: 1.3.6
115
147
  requirements: []
116
- rubygems_version: 3.0.6
117
- signing_key:
148
+ rubygems_version: 3.3.7
149
+ signing_key:
118
150
  specification_version: 4
119
- summary: snuffleupagus-0.1.2
151
+ summary: snuffleupagus-0.3.1
120
152
  test_files: []
data/.travis.yml DELETED
@@ -1,13 +0,0 @@
1
- language: ruby
2
-
3
- rvm:
4
- - 2.5
5
- - 2.6
6
- - 2.7
7
-
8
- install:
9
- - bundle install --retry=3
10
-
11
- script:
12
- - bundle exec rubocop
13
- - bundle exec rake