tiddle 1.4.0 → 1.5.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a0e5143097b75f1bc0ffb7231b9d20b2a0f1bb4ce3936103f34779300b8f3aab
4
- data.tar.gz: b18ce38bb5cb29eaaa606cc3d2658a789c3b38475d367e04061504a93f449135
3
+ metadata.gz: 3bd6e3feb1ccba22684e65085d74f245e894178246b8535c4ccc4d885984b154
4
+ data.tar.gz: c12348cf95c0731af63b99b8804e825652791e7c166d35d8f539a172fbb78601
5
5
  SHA512:
6
- metadata.gz: ae553ceb3221decfa04a9b119add2f7244ad305cce18a919ca20132dba87b962bce058dde18ad496f4d17edbabbbc68b9f38177a3e0c76ef73aaaf235a6a5238
7
- data.tar.gz: 435c9c1c88c5b6a00260ad12caf8484d8b3d50e8f6ace5b7f5669c1543a19c4379619821e1e6cecd5708b42c99cd7b7068e09a4a60e8c299837fef07a905fa9b
6
+ metadata.gz: c8e9eaf42c24032583f36906d73950ebaab11252193629f5b82045a8d81f51b39ca98beefb58ccec234499458407f4cdf0406902a166a5232ff713678d704207
7
+ data.tar.gz: d80bf9abe5d72446839eaab8f7dcb6d5c6521f8c15f0d646c564b8bb635c0d3475cf177cfbc917aab7a68b469613b3722657085a2a8599ffc5a394f087f0168e
@@ -1,5 +1,5 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.3
2
+ TargetRubyVersion: 2.4
3
3
  Include:
4
4
  - 'lib'
5
5
  - 'spec'
@@ -1,18 +1,27 @@
1
1
  language: ruby
2
+ branches:
3
+ only:
4
+ - master
2
5
  before_install:
3
6
  - gem uninstall -v '>= 2' -i $(rvm gemdir)@global -ax bundler || true
4
7
  - gem install bundler -v '< 2'
5
8
  services:
6
9
  - mongodb
7
10
  rvm:
8
- - "2.3.5"
9
- - "2.4.2"
10
- - "2.5.0"
11
+ - "2.4.6"
12
+ - "2.5.5"
13
+ - "2.6.3"
14
+ - "2.7.1"
11
15
  gemfile:
12
- - "gemfiles/rails4.2.gemfile"
13
- - "gemfiles/rails5.0.gemfile"
14
- - "gemfiles/rails5.1.gemfile"
15
- - "gemfiles/rails5.2.gemfile"
16
+ - gemfiles/rails4.2.gemfile
17
+ - gemfiles/rails5.2.gemfile
18
+ - gemfiles/rails6.0.gemfile
16
19
  env:
17
20
  - BACKEND=mongoid
18
21
  - BACKEND=active_record
22
+ jobs:
23
+ exclude:
24
+ - rvm: "2.4.6"
25
+ gemfile: gemfiles/rails6.0.gemfile
26
+ - rvm: "2.7.1"
27
+ gemfile: gemfiles/rails4.2.gemfile
data/Appraisals CHANGED
@@ -1,19 +1,17 @@
1
1
  appraise "rails4.2" do
2
2
  gem "rails", "~> 4.2.0"
3
3
  gem "mongoid", "~> 5"
4
- end
5
-
6
- appraise "rails5.0" do
7
- gem "rails", "~> 5.0.0"
8
- gem "mongoid", "~> 6"
9
- end
10
-
11
- appraise "rails5.1" do
12
- gem "rails", "~> 5.1.0"
13
- gem "mongoid", "~> 6"
4
+ gem "sqlite3", "~> 1.3.13"
14
5
  end
15
6
 
16
7
  appraise "rails5.2" do
17
8
  gem "rails", "~> 5.2.1"
18
9
  gem "mongoid", "~> 6"
10
+ gem "sqlite3", "~> 1.3.13"
11
+ end
12
+
13
+ appraise "rails6.0" do
14
+ gem "rails", "~> 6.0.0"
15
+ gem "mongoid", "~> 7"
16
+ gem "sqlite3"
19
17
  end
@@ -1,3 +1,11 @@
1
+ ### 1.5.0
2
+
3
+ Add Rails 6 support
4
+
5
+ Fix warning on Ruby 2.7 (Andy Klimczak)
6
+
7
+ Skip CSRF clean up (Marcelo Silveira)
8
+
1
9
  ### 1.4.0
2
10
 
3
11
  Support for Devise 4.6.
data/README.md CHANGED
@@ -8,10 +8,6 @@ Tiddle provides Devise strategy for token authentication in API-only Ruby on Rai
8
8
 
9
9
  Tiddle is lightweight and non-configurable. It does what it has to do and leaves some manual implementation to you.
10
10
 
11
- ## Versions
12
-
13
- Versions 0.7.x+ are meant to support Rails 5.0, but they require Devise 4. If you want to use Devise 3 with Rails 4.2 then take a look at the ```0.6.x``` branch.
14
-
15
11
  ## Installation
16
12
 
17
13
  Add this line to your application's Gemfile:
@@ -5,5 +5,6 @@ source "https://rubygems.org"
5
5
  gem "rubocop", "~> 0.52.0"
6
6
  gem "rails", "~> 4.2.0"
7
7
  gem "mongoid", "~> 5"
8
+ gem "sqlite3", "~> 1.3.13"
8
9
 
9
10
  gemspec path: "../"
@@ -5,5 +5,6 @@ source "https://rubygems.org"
5
5
  gem "rubocop", "~> 0.52.0"
6
6
  gem "rails", "~> 5.2.1"
7
7
  gem "mongoid", "~> 6"
8
+ gem "sqlite3", "~> 1.3.13"
8
9
 
9
10
  gemspec path: "../"
@@ -3,7 +3,8 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "rubocop", "~> 0.52.0"
6
- gem "rails", "~> 5.0.0"
7
- gem "mongoid", "~> 6"
6
+ gem "rails", "~> 6.0.0"
7
+ gem "mongoid", "~> 7"
8
+ gem "sqlite3"
8
9
 
9
10
  gemspec path: "../"
@@ -6,7 +6,7 @@ require "tiddle/token_issuer"
6
6
 
7
7
  module Tiddle
8
8
  def self.create_and_return_token(resource, request, options = {})
9
- TokenIssuer.build.create_and_return_token(resource, request, options)
9
+ TokenIssuer.build.create_and_return_token(resource, request, **options)
10
10
  end
11
11
 
12
12
  def self.expire_token(resource, request)
@@ -28,6 +28,14 @@ module Devise
28
28
  false
29
29
  end
30
30
 
31
+ # Avoid CSRF clean up for token authentication as it might trigger session creation in API
32
+ # environments even if CSRF prevention is not being used.
33
+ # Devise provides a `clean_up_csrf_token_on_authentication` option but it's not always viable
34
+ # in applications with multiple user models and authentication strategies.
35
+ def clean_up_csrf?
36
+ false
37
+ end
38
+
31
39
  private
32
40
 
33
41
  def authentication_keys_from_headers
@@ -1,3 +1,3 @@
1
1
  module Tiddle
2
- VERSION = "1.4.0".freeze
2
+ VERSION = "1.5.0".freeze
3
3
  end
@@ -11,6 +11,5 @@ module RailsApp
11
11
  config.eager_load = true
12
12
  config.root = File.expand_path('../../.', __FILE__)
13
13
  config.consider_all_requests_local = true
14
- config.active_record.sqlite3.represent_boolean_as_integer = true if config.active_record.sqlite3
15
14
  end
16
15
  end
@@ -13,16 +13,16 @@ end
13
13
  ENV["RAILS_ENV"] = 'test'
14
14
  ENV["DATABASE_URL"] = "sqlite3:db/test.sqlite3"
15
15
 
16
- require 'rails/all'
17
- require 'rspec/rails'
16
+ Dir[__dir__ + "/support/**/*.rb"].each { |f| require f }
17
+
18
18
  require 'devise'
19
19
  require 'tiddle'
20
20
 
21
- Dir[__dir__ + "/support/**/*.rb"].each { |f| require f }
22
-
23
21
  backend = Backend.from_name(ENV['BACKEND'])
24
22
  backend.load!
25
23
 
24
+ require 'rspec/rails'
25
+
26
26
  # This file was generated by the `rspec --init` command. Conventionally, all
27
27
  # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
28
28
  # The generated `.rspec` file contains `--require spec_helper` which will cause
@@ -23,11 +23,18 @@ module Backend
23
23
  # Do initial migration
24
24
  path = File.expand_path("../rails_app_active_record/db/migrate/", File.dirname(__FILE__))
25
25
 
26
- if Gem::Requirement.new(">= 5.2.0.rc1") =~ Rails.gem_version
26
+ # rubocop:disable Performance/RegexpMatch
27
+ if Gem::Requirement.new(">= 6.0.0") =~ Rails.gem_version
28
+ ActiveRecord::MigrationContext.new(
29
+ path,
30
+ ActiveRecord::SchemaMigration
31
+ ).migrate
32
+ elsif Gem::Requirement.new(">= 5.2.0") =~ Rails.gem_version
27
33
  ActiveRecord::MigrationContext.new(path).migrate
28
34
  else
29
35
  ActiveRecord::Migrator.migrate(path)
30
36
  end
37
+ # rubocop:enable Performance/RegexpMatch
31
38
  end
32
39
  end
33
40
 
@@ -1,7 +1,9 @@
1
1
  def warningless_get(path, headers:)
2
+ # rubocop:disable Performance/RegexpMatch
2
3
  if Gem::Requirement.new(">= 5") =~ Rails.gem_version
3
4
  get path, headers: headers
4
5
  else
5
6
  get path, {}, headers
6
7
  end
8
+ # rubocop:enable Performance/RegexpMatch
7
9
  end
@@ -16,15 +16,13 @@ Gem::Specification.new do |spec|
16
16
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
17
17
  spec.require_paths = ["lib"]
18
18
 
19
- spec.required_ruby_version = '>= 2.3.0'
19
+ spec.required_ruby_version = '>= 2.4.0'
20
20
 
21
21
  spec.add_dependency "devise", ">= 4.0.0.rc1", "< 5"
22
22
  spec.add_dependency "activerecord", ">= 4.2.0"
23
- spec.add_development_dependency "bundler", "~> 1.7"
24
23
  spec.add_development_dependency "rake", "~> 12.0"
25
24
  spec.add_development_dependency "rspec-rails"
26
25
  spec.add_development_dependency "appraisal"
27
- spec.add_development_dependency "sqlite3", "< 1.4"
28
26
  spec.add_development_dependency "coveralls"
29
27
  spec.add_development_dependency "simplecov"
30
28
  spec.add_development_dependency "rubocop"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tiddle
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Niedzielski
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-15 00:00:00.000000000 Z
11
+ date: 2020-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: devise
@@ -44,20 +44,6 @@ dependencies:
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
46
  version: 4.2.0
47
- - !ruby/object:Gem::Dependency
48
- name: bundler
49
- requirement: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - "~>"
52
- - !ruby/object:Gem::Version
53
- version: '1.7'
54
- type: :development
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - "~>"
59
- - !ruby/object:Gem::Version
60
- version: '1.7'
61
47
  - !ruby/object:Gem::Dependency
62
48
  name: rake
63
49
  requirement: !ruby/object:Gem::Requirement
@@ -100,20 +86,6 @@ dependencies:
100
86
  - - ">="
101
87
  - !ruby/object:Gem::Version
102
88
  version: '0'
103
- - !ruby/object:Gem::Dependency
104
- name: sqlite3
105
- requirement: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - "<"
108
- - !ruby/object:Gem::Version
109
- version: '1.4'
110
- type: :development
111
- prerelease: false
112
- version_requirements: !ruby/object:Gem::Requirement
113
- requirements:
114
- - - "<"
115
- - !ruby/object:Gem::Version
116
- version: '1.4'
117
89
  - !ruby/object:Gem::Dependency
118
90
  name: coveralls
119
91
  requirement: !ruby/object:Gem::Requirement
@@ -190,9 +162,8 @@ files:
190
162
  - Rakefile
191
163
  - config/locales/en.yml
192
164
  - gemfiles/rails4.2.gemfile
193
- - gemfiles/rails5.0.gemfile
194
- - gemfiles/rails5.1.gemfile
195
165
  - gemfiles/rails5.2.gemfile
166
+ - gemfiles/rails6.0.gemfile
196
167
  - lib/tiddle.rb
197
168
  - lib/tiddle/model.rb
198
169
  - lib/tiddle/model_name.rb
@@ -243,15 +214,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
243
214
  requirements:
244
215
  - - ">="
245
216
  - !ruby/object:Gem::Version
246
- version: 2.3.0
217
+ version: 2.4.0
247
218
  required_rubygems_version: !ruby/object:Gem::Requirement
248
219
  requirements:
249
220
  - - ">="
250
221
  - !ruby/object:Gem::Version
251
222
  version: '0'
252
223
  requirements: []
253
- rubyforge_project:
254
- rubygems_version: 2.7.3
224
+ rubygems_version: 3.1.2
255
225
  signing_key:
256
226
  specification_version: 4
257
227
  summary: Token authentication for Devise which supports multiple tokens per model
@@ -1,9 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "rubocop", "~> 0.52.0"
6
- gem "rails", "~> 5.1.0"
7
- gem "mongoid", "~> 6"
8
-
9
- gemspec path: "../"