doorkeeper-sequel 1.5.0 → 2.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.editorconfig +6 -0
- data/.gitignore +1 -0
- data/.gitmodules +0 -1
- data/.rubocop.yml +29 -2
- data/.travis.yml +3 -12
- data/CHANGELOG.md +13 -3
- data/Gemfile +13 -9
- data/README.md +18 -3
- data/Rakefile +22 -18
- data/config/locales/en.yml +11 -0
- data/doorkeeper-sequel.gemspec +27 -23
- data/gemfiles/rails-5.0.gemfile +9 -6
- data/gemfiles/rails-5.1.gemfile +9 -6
- data/gemfiles/rails-5.2.gemfile +9 -6
- data/gemfiles/rails-6.0.gemfile +14 -0
- data/lib/doorkeeper-sequel.rb +21 -17
- data/lib/doorkeeper-sequel/gem_version.rb +5 -3
- data/lib/doorkeeper-sequel/generators/application_owner_generator.rb +5 -3
- data/lib/doorkeeper-sequel/generators/concerns/migration_actions.rb +8 -6
- data/lib/doorkeeper-sequel/generators/confidential_applications_generator.rb +5 -3
- data/lib/doorkeeper-sequel/generators/migration_generator.rb +5 -3
- data/lib/doorkeeper-sequel/generators/pkce_generator.rb +16 -0
- data/lib/doorkeeper-sequel/generators/polymorphic_resource_owner_generator.rb +16 -0
- data/lib/doorkeeper-sequel/generators/previous_refresh_token_generator.rb +5 -3
- data/lib/doorkeeper-sequel/generators/templates/add_confidential_to_application_migration.rb +2 -0
- data/lib/doorkeeper-sequel/generators/templates/add_owner_to_application.rb +3 -1
- data/lib/doorkeeper-sequel/generators/templates/add_previous_refresh_token_to_access_tokens.rb +3 -1
- data/lib/doorkeeper-sequel/generators/templates/create_doorkeeper_tables.rb +7 -3
- data/lib/doorkeeper-sequel/generators/templates/enable_pkce_migration.rb +10 -0
- data/lib/doorkeeper-sequel/generators/templates/enable_polymorphic_resource_owner_migration.rb +15 -0
- data/lib/doorkeeper-sequel/mixins/access_grant_mixin.rb +45 -7
- data/lib/doorkeeper-sequel/mixins/access_token_mixin.rb +154 -42
- data/lib/doorkeeper-sequel/mixins/application_mixin.rb +116 -22
- data/lib/doorkeeper-sequel/mixins/concerns/ownership.rb +2 -0
- data/lib/doorkeeper-sequel/mixins/concerns/sequel_compat.rb +33 -3
- data/lib/doorkeeper-sequel/railtie.rb +3 -1
- data/lib/doorkeeper-sequel/tasks/doorkeeper-sequel.rake +20 -3
- data/lib/doorkeeper-sequel/validators/redirect_uri_validator.rb +35 -6
- data/lib/doorkeeper-sequel/version.rb +3 -1
- data/lib/doorkeeper/orm/sequel.rb +11 -4
- data/lib/doorkeeper/orm/sequel/access_grant.rb +18 -0
- data/lib/doorkeeper/orm/sequel/access_token.rb +6 -0
- data/lib/doorkeeper/orm/sequel/application.rb +34 -3
- data/lib/doorkeeper/orm/sequel/stale_records_cleaner.rb +26 -0
- data/lib/doorkeeper/redirect_uri_validator.rb +9 -0
- data/spec/stubs/config/initializers/db.rb +6 -1
- data/spec/stubs/spec_helper_integration.rb +9 -11
- metadata +225 -235
- data/gemfiles/rails-4.2.gemfile +0 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 1d6c99e5e0bb961999356b6b73e3411d52dbee96709a315da3b683b55742387e
|
4
|
+
data.tar.gz: 739f73a125ad1b350f789b506c6a3f81921c2cc7ac7fe0113329fde485b03287
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a88d703fed108474ab3f2c7e795e9c764f6cceb284de7b734ef3641a8c06069b92b75983099e0740767d1b9621d2ed2e270c83eb2b99bf317b2ac93aecfdac86
|
7
|
+
data.tar.gz: f52182d4a06dde4072f1b18dd18c8ff0bacba344c90c4e0c382ac440f0aec044a5a438b1511e8bc4d06869444d38e260ef3bc674dc60c957484d4db9bbe00d52
|
data/.editorconfig
ADDED
data/.gitignore
CHANGED
data/.gitmodules
CHANGED
data/.rubocop.yml
CHANGED
@@ -5,8 +5,6 @@ AllCops:
|
|
5
5
|
- 'doorkeeper/**/*'
|
6
6
|
- 'spec/**/*'
|
7
7
|
DisplayCopNames: true
|
8
|
-
Rails:
|
9
|
-
Enabled: true
|
10
8
|
Documentation:
|
11
9
|
Enabled: false
|
12
10
|
Layout/EndOfLine:
|
@@ -15,3 +13,32 @@ Metrics/BlockLength:
|
|
15
13
|
Exclude:
|
16
14
|
- lib/doorkeeper/orm/sequel/validators/*
|
17
15
|
- lib/doorkeeper-sequel/generators/templates*
|
16
|
+
|
17
|
+
Style/StringLiterals:
|
18
|
+
EnforcedStyle: double_quotes
|
19
|
+
Style/StringLiteralsInInterpolation:
|
20
|
+
EnforcedStyle: double_quotes
|
21
|
+
|
22
|
+
Style/FrozenStringLiteralComment:
|
23
|
+
Enabled: true
|
24
|
+
|
25
|
+
Style/TrailingCommaInHashLiteral:
|
26
|
+
EnforcedStyleForMultiline: consistent_comma
|
27
|
+
Style/TrailingCommaInArrayLiteral:
|
28
|
+
EnforcedStyleForMultiline: consistent_comma
|
29
|
+
|
30
|
+
Style/SymbolArray:
|
31
|
+
MinSize: 3
|
32
|
+
Style/WordArray:
|
33
|
+
MinSize: 3
|
34
|
+
Style/NumericPredicate:
|
35
|
+
Enabled: false
|
36
|
+
Style/DoubleNegation:
|
37
|
+
Enabled: false
|
38
|
+
|
39
|
+
Layout/MultilineMethodCallIndentation:
|
40
|
+
EnforcedStyle: indented
|
41
|
+
Layout/TrailingBlankLines:
|
42
|
+
Enabled: true
|
43
|
+
Layout/DotPosition:
|
44
|
+
EnforcedStyle: leading
|
data/.travis.yml
CHANGED
@@ -7,25 +7,16 @@ before_install:
|
|
7
7
|
- gem install bundler -v '~> 1.10'
|
8
8
|
|
9
9
|
gemfile:
|
10
|
-
- gemfiles/rails-4.2.gemfile
|
11
10
|
- gemfiles/rails-5.0.gemfile
|
12
11
|
- gemfiles/rails-5.1.gemfile
|
13
12
|
- gemfiles/rails-5.2.gemfile
|
13
|
+
- gemfiles/rails-6.0.gemfile
|
14
14
|
|
15
15
|
rvm:
|
16
|
-
- 2.
|
17
|
-
- 2.
|
18
|
-
- 2.3.3
|
19
|
-
- 2.4.1
|
16
|
+
- 2.5
|
17
|
+
- 2.6
|
20
18
|
- ruby-head
|
21
19
|
|
22
20
|
matrix:
|
23
21
|
allow_failures:
|
24
22
|
- rvm: ruby-head
|
25
|
-
exclude:
|
26
|
-
- rvm: 2.1
|
27
|
-
gemfile: gemfiles/rails-5.0.gemfile
|
28
|
-
- rvm: 2.1
|
29
|
-
gemfile: gemfiles/rails-5.1.gemfile
|
30
|
-
- rvm: 2.1
|
31
|
-
gemfile: gemfiles/rails-5.2.gemfile
|
data/CHANGELOG.md
CHANGED
@@ -1,14 +1,24 @@
|
|
1
|
-
# Doorkeeper-Sequel ORM
|
1
|
+
# Doorkeeper-Sequel ORM Changelog
|
2
2
|
|
3
3
|
Reverse Chronological Order:
|
4
4
|
|
5
5
|
## master
|
6
6
|
|
7
|
-
https://github.com/nbulaj/doorkeeper-sequel/compare/
|
7
|
+
https://github.com/nbulaj/doorkeeper-sequel/compare/2.0.0...master
|
8
|
+
|
9
|
+
## `2.4.0` (2021-03-11)
|
10
|
+
|
11
|
+
* Support for Doorkeeper 5.5
|
12
|
+
|
13
|
+
## `2.0.0` (2018-10-04)
|
14
|
+
|
15
|
+
https://github.com/nbulaj/doorkeeper-sequel/compare/1.5.0...2.0.0
|
16
|
+
|
17
|
+
* Support Doorkeeper >= 5.0.0
|
8
18
|
|
9
19
|
## `1.5.0` (2018-10-03)
|
10
20
|
|
11
|
-
https://github.com/nbulaj/doorkeeper-sequel/compare/1.
|
21
|
+
https://github.com/nbulaj/doorkeeper-sequel/compare/1.4.0...1.5.0
|
12
22
|
|
13
23
|
* Support Doorkeeper >= 4.2.7 && < 5.0.0
|
14
24
|
|
data/Gemfile
CHANGED
@@ -1,23 +1,27 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
2
4
|
|
3
5
|
gemspec
|
4
6
|
|
5
7
|
platforms :jruby do
|
6
|
-
gem
|
8
|
+
gem "jdbc-sqlite3"
|
7
9
|
end
|
8
10
|
|
9
11
|
platforms :ruby, :mswin, :mswin64, :mingw, :x64_mingw do
|
10
|
-
gem
|
12
|
+
gem "sqlite3"
|
11
13
|
end
|
12
14
|
|
13
|
-
gem
|
14
|
-
gem
|
15
|
+
gem "sequel", ">= 4.0"
|
16
|
+
gem "sequel_polymorphic"
|
15
17
|
|
16
|
-
gem
|
17
|
-
gem
|
18
|
+
gem "bcrypt", "~> 3.1"
|
19
|
+
gem "doorkeeper", ">= 4.0.0", "< 5.6"
|
20
|
+
gem "rails", "~> 5.0"
|
18
21
|
|
19
22
|
group :test do
|
20
|
-
gem
|
23
|
+
gem "rspec-rails", "~> 3.8"
|
21
24
|
end
|
22
25
|
|
23
|
-
gem
|
26
|
+
gem "rubocop", "~> 0.74.0", require: false
|
27
|
+
gem "tzinfo-data", platforms: %i[mingw mswin x64_mingw jruby]
|
data/README.md
CHANGED
@@ -17,8 +17,21 @@
|
|
17
17
|
To start using the Doorkeeper Sequel ORM, add to your Gemfile:
|
18
18
|
|
19
19
|
``` ruby
|
20
|
-
|
21
|
-
gem 'doorkeeper
|
20
|
+
# For Doorkeeper 4.x
|
21
|
+
gem 'doorkeeper', '~> 4.3'
|
22
|
+
gem 'doorkeeper-sequel', '~> 1.5'
|
23
|
+
|
24
|
+
# For Doorkeeper 5.1
|
25
|
+
gem 'doorkeeper', '~> 5.0' # or 5.1
|
26
|
+
gem 'doorkeeper-sequel', '~> 2.0'
|
27
|
+
|
28
|
+
# For Doorkeeper >= 5.2
|
29
|
+
gem 'doorkeeper', '~> 5.2'
|
30
|
+
gem 'doorkeeper-sequel', '~> 2.1'
|
31
|
+
|
32
|
+
# For Doorkeeper >= 5.3
|
33
|
+
gem 'doorkeeper', '~> 5.3'
|
34
|
+
gem 'doorkeeper-sequel', '~> 2.2'
|
22
35
|
```
|
23
36
|
|
24
37
|
Or you can use git `master` branch for the latest gem version:
|
@@ -42,6 +55,8 @@ rake doorkeeper_sequel:generate:migration
|
|
42
55
|
rake doorkeeper_sequel:generate:application_owner
|
43
56
|
rake doorkeeper_sequel:generate:previous_refresh_token
|
44
57
|
rake doorkeeper_sequel:generate:confidential_applications # for Doorkeeper >= 4.4
|
58
|
+
rake doorkeeper_sequel:generate:pkce # for Doorkeeper >= 5.x
|
59
|
+
rake doorkeeper_sequel:generate:polymorphic_resource_owner # for Doorkeeper >= 5.3
|
45
60
|
```
|
46
61
|
|
47
62
|
## Tests
|
@@ -74,7 +89,7 @@ Thanks.
|
|
74
89
|
|
75
90
|
Doorkeeper-sequel gem is released under the [MIT License](http://www.opensource.org/licenses/MIT).
|
76
91
|
|
77
|
-
Copyright (c) 2016-
|
92
|
+
Copyright (c) 2016-2020 Nikita Bulai (bulajnikita@gmail.com).
|
78
93
|
|
79
94
|
---
|
80
95
|
|
data/Rakefile
CHANGED
@@ -1,5 +1,7 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "bundler/setup"
|
4
|
+
require "rspec/core/rake_task"
|
3
5
|
|
4
6
|
class ExtensionIntegrator
|
5
7
|
class << self
|
@@ -9,7 +11,7 @@ class ExtensionIntegrator
|
|
9
11
|
end
|
10
12
|
|
11
13
|
def clear_specs!
|
12
|
-
base_dir = File.join(Dir.pwd,
|
14
|
+
base_dir = File.join(Dir.pwd, "spec")
|
13
15
|
|
14
16
|
Dir.foreach(base_dir) do |file|
|
15
17
|
next if %w[. .. stubs].include?(file)
|
@@ -25,23 +27,25 @@ class ExtensionIntegrator
|
|
25
27
|
end
|
26
28
|
|
27
29
|
def copy_spec_stubs!
|
28
|
-
FileUtils.cp_r(
|
29
|
-
FileUtils.cp_r(
|
30
|
-
FileUtils.cp_r(
|
31
|
-
FileUtils.cp_r(
|
32
|
-
FileUtils.cp_r(
|
33
|
-
FileUtils.
|
34
|
-
FileUtils.rm(
|
35
|
-
FileUtils.rm(
|
30
|
+
FileUtils.cp_r("spec/stubs/spec_helper_integration.rb", "spec/spec_helper_integration.rb")
|
31
|
+
FileUtils.cp_r("spec/stubs/spec_helper_integration.rb", "spec/spec_helper.rb")
|
32
|
+
FileUtils.cp_r("spec/stubs/models/user.rb", "spec/dummy/app/models/user.rb")
|
33
|
+
FileUtils.cp_r("spec/stubs/config/initializers/db.rb", "spec/dummy/config/initializers/db.rb")
|
34
|
+
FileUtils.cp_r("spec/stubs/config/application.rb", "spec/dummy/config/application.rb")
|
35
|
+
FileUtils.cp_r("spec/stubs/support/sequel.rb", "spec/support/orm/sequel.rb")
|
36
|
+
FileUtils.rm("spec/dummy/config/initializers/active_record_belongs_to_required_by_default.rb", force: true)
|
37
|
+
FileUtils.rm("spec/dummy/config/initializers/new_framework_defaults.rb", force: true)
|
38
|
+
FileUtils.rm("spec/models/doorkeeper/base_record_spec.rb", force: true)
|
39
|
+
FileUtils.rm("spec/lib/orm/active_record/stale_records_cleaner_spec.rb", force: true)
|
36
40
|
# Remove generators specs because we are using our own
|
37
|
-
FileUtils.rm(Dir.glob(
|
41
|
+
FileUtils.rm(Dir.glob("spec/generators/*.rb"))
|
38
42
|
end
|
39
43
|
end
|
40
44
|
end
|
41
45
|
|
42
|
-
desc
|
46
|
+
desc "Update Git submodules."
|
43
47
|
task :update_submodules do
|
44
|
-
ExtensionIntegrator.init_submodule! if Dir[
|
48
|
+
ExtensionIntegrator.init_submodule! if Dir["doorkeeper/*"].empty?
|
45
49
|
`git submodule foreach git pull origin master`
|
46
50
|
end
|
47
51
|
|
@@ -49,19 +53,19 @@ task :copy_and_run_doorkeeper_specs do
|
|
49
53
|
# Clear specs directory
|
50
54
|
ExtensionIntegrator.clear_specs!
|
51
55
|
# Init Doorkeeper submodule if it doesn't exists
|
52
|
-
ExtensionIntegrator.init_submodule! if Dir[
|
56
|
+
ExtensionIntegrator.init_submodule! if Dir["doorkeeper/*"].empty?
|
53
57
|
# Copy native Doorkeeper specs
|
54
|
-
`cp -r #{Gem.win_platform? ?
|
58
|
+
`cp -r #{Gem.win_platform? ? "" : "-n"} doorkeeper/spec .`
|
55
59
|
# Replace ORM-dependent files (configs, models, etc)
|
56
60
|
ExtensionIntegrator.copy_spec_stubs!
|
57
61
|
# Run specs
|
58
62
|
`bundle exec rspec`
|
59
63
|
end
|
60
64
|
|
61
|
-
desc
|
65
|
+
desc "Default: run specs."
|
62
66
|
task default: :spec
|
63
67
|
|
64
|
-
desc
|
68
|
+
desc "Clone doorkeeper specs, prepare it for Sequel and run"
|
65
69
|
task spec: :copy_and_run_doorkeeper_specs
|
66
70
|
|
67
71
|
RSpec::Core::RakeTask.new(:spec) do |config|
|
data/config/locales/en.yml
CHANGED
@@ -1,4 +1,11 @@
|
|
1
1
|
en:
|
2
|
+
activerecord:
|
3
|
+
errors:
|
4
|
+
models:
|
5
|
+
doorkeeper/application:
|
6
|
+
attributes:
|
7
|
+
redirect_uri:
|
8
|
+
unspecified_scheme: 'must specify a scheme.'
|
2
9
|
sequel:
|
3
10
|
attributes:
|
4
11
|
doorkeeper/application:
|
@@ -12,6 +19,10 @@ en:
|
|
12
19
|
blank: "can't be blank"
|
13
20
|
fragment_present: 'cannot contain a fragment.'
|
14
21
|
invalid_uri: 'must be a valid URI.'
|
22
|
+
unspecified_host: 'must be a valid URI.'
|
15
23
|
relative_uri: 'must be an absolute URI.'
|
16
24
|
secured_uri: 'must be an HTTPS/SSL URI.'
|
17
25
|
forbidden_uri: 'is forbidden by the server.'
|
26
|
+
unspecified_scheme: 'must specify a scheme.'
|
27
|
+
scopes:
|
28
|
+
not_match_configured: "doesn't match configured on the server."
|
data/doorkeeper-sequel.gemspec
CHANGED
@@ -1,34 +1,38 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
3
|
+
$LOAD_PATH.push File.expand_path("lib", __dir__)
|
4
|
+
|
5
|
+
require "doorkeeper-sequel/version"
|
4
6
|
|
5
7
|
Gem::Specification.new do |gem|
|
6
|
-
gem.name
|
7
|
-
gem.version
|
8
|
-
gem.authors
|
9
|
-
gem.email
|
10
|
-
gem.homepage
|
11
|
-
gem.summary
|
12
|
-
gem.description =
|
13
|
-
gem.license
|
8
|
+
gem.name = "doorkeeper-sequel"
|
9
|
+
gem.version = DoorkeeperSequel.gem_version
|
10
|
+
gem.authors = ["Nikita Bulai"]
|
11
|
+
gem.email = ["bulajnikita@gmail.com"]
|
12
|
+
gem.homepage = "http://github.com/nbulaj/doorkeeper-sequel"
|
13
|
+
gem.summary = "Doorkeeper Sequel ORM"
|
14
|
+
gem.description = "Provides Doorkeeper support to Sequel database toolkit."
|
15
|
+
gem.license = "MIT"
|
14
16
|
|
15
|
-
gem.bindir =
|
17
|
+
gem.bindir = "bin"
|
16
18
|
gem.require_paths = %w[lib config]
|
17
19
|
gem.files = `git ls-files`.split($RS)
|
18
20
|
gem.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
|
19
|
-
gem.test_files = Dir[
|
21
|
+
gem.test_files = Dir["spec/**/*"]
|
20
22
|
|
21
|
-
gem.required_ruby_version =
|
23
|
+
gem.required_ruby_version = ">= 2.0.0"
|
22
24
|
|
23
|
-
gem.add_runtime_dependency
|
24
|
-
gem.add_runtime_dependency
|
25
|
-
gem.add_runtime_dependency
|
26
|
-
gem.add_runtime_dependency
|
25
|
+
gem.add_runtime_dependency "bcrypt", "~> 3.1"
|
26
|
+
gem.add_runtime_dependency "doorkeeper", ">= 5.0.0", "< 5.6"
|
27
|
+
gem.add_runtime_dependency "sequel", ">= 4.0.0", "< 6"
|
28
|
+
gem.add_runtime_dependency "sequel_polymorphic", "~> 0.2", "< 1.0"
|
29
|
+
gem.add_runtime_dependency "thor", ">= 0.18", "< 6"
|
27
30
|
|
28
|
-
gem.add_development_dependency
|
29
|
-
gem.add_development_dependency
|
30
|
-
gem.add_development_dependency
|
31
|
-
gem.add_development_dependency
|
32
|
-
gem.add_development_dependency
|
33
|
-
gem.add_development_dependency
|
31
|
+
gem.add_development_dependency "capybara", "~> 2.14", ">= 2.14.0"
|
32
|
+
gem.add_development_dependency "coveralls"
|
33
|
+
gem.add_development_dependency "database_cleaner", "~> 1.5", ">= 1.5.0"
|
34
|
+
gem.add_development_dependency "factory_bot", "~> 4.8"
|
35
|
+
gem.add_development_dependency "generator_spec", "~> 0.9.4"
|
36
|
+
gem.add_development_dependency "grape"
|
37
|
+
gem.add_development_dependency "rspec-rails", "~> 3.5"
|
34
38
|
end
|
data/gemfiles/rails-5.0.gemfile
CHANGED
@@ -1,11 +1,14 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
3
|
+
source "https://rubygems.org"
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
gem
|
5
|
+
gemspec path: ".."
|
6
|
+
|
7
|
+
gem "bcrypt", "~> 3.1"
|
8
|
+
gem "rails", "~> 5.0", "<= 5.1"
|
9
|
+
gem "sequel", ">= 4.0"
|
10
|
+
gem "sqlite3", "~> 1.3.5"
|
8
11
|
|
9
12
|
group :test do
|
10
|
-
gem
|
13
|
+
gem "rspec-rails", "~> 3.8"
|
11
14
|
end
|
data/gemfiles/rails-5.1.gemfile
CHANGED
@@ -1,11 +1,14 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
3
|
+
source "https://rubygems.org"
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
gem
|
5
|
+
gemspec path: ".."
|
6
|
+
|
7
|
+
gem "bcrypt", "~> 3.1"
|
8
|
+
gem "rails", "~> 5.1", "<= 5.2"
|
9
|
+
gem "sequel", ">= 4.0"
|
10
|
+
gem "sqlite3", "~> 1.3.5"
|
8
11
|
|
9
12
|
group :test do
|
10
|
-
gem
|
13
|
+
gem "rspec-rails", "~> 3.8"
|
11
14
|
end
|
data/gemfiles/rails-5.2.gemfile
CHANGED
@@ -1,11 +1,14 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
3
|
+
source "https://rubygems.org"
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
gem
|
5
|
+
gemspec path: ".."
|
6
|
+
|
7
|
+
gem "bcrypt", "~> 3.1"
|
8
|
+
gem "rails", "~> 5.2.0", "<= 6.0"
|
9
|
+
gem "sequel", ">= 4.0"
|
10
|
+
gem "sqlite3", "~> 1.3.5"
|
8
11
|
|
9
12
|
group :test do
|
10
|
-
gem
|
13
|
+
gem "rspec-rails", "~> 3.8"
|
11
14
|
end
|