mtwarden 3.3.4 → 3.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/MIT-LICENSE +1 -1
- data/README.md +2 -1
- data/Rakefile +14 -11
- data/config/initializers/braintree.rb +0 -4
- data/config/initializers/warden/strategies/password.rb +15 -13
- data/config/routes.rb +24 -23
- data/db/migrate/20140621030847_create_mtwarden_accounts.rb +9 -7
- data/db/migrate/20140621114149_add_owner_id_to_mtwarden_accounts.rb +6 -4
- data/db/migrate/20140621114231_create_mtwarden_users.rb +10 -8
- data/db/migrate/20140621114308_create_mtwarden_members.rb +10 -8
- data/db/migrate/20140621114417_add_subdomain_to_mtwarden_accounts.rb +7 -5
- data/db/migrate/20140829231923_create_mtwarden_plans.rb +11 -9
- data/db/migrate/20140830011033_add_plan_id_to_mtwarden_accounts.rb +6 -4
- data/db/migrate/20140830020346_add_braintree_subscription_id_to_mtwarden_accounts.rb +6 -4
- data/lib/mtwarden/braintree_plan_fetcher.rb +21 -19
- data/lib/mtwarden/constraints/subdomain_required.rb +7 -7
- data/lib/mtwarden/engine.rb +44 -42
- data/lib/mtwarden/scoped_to.rb +8 -6
- data/lib/mtwarden/testing_support/authentication_helpers.rb +19 -15
- data/lib/mtwarden/testing_support/factories/account_factory.rb +9 -8
- data/lib/mtwarden/testing_support/factories/user_factory.rb +5 -5
- data/lib/mtwarden/testing_support/subdomain_helpers.rb +14 -12
- data/lib/mtwarden/version.rb +1 -1
- metadata +19 -37
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8d37cc59e45bf84e85f885dabf6b88b7fe2efeaf
|
4
|
+
data.tar.gz: a1b20a9628d3e635a094e221915ac60a4024d2c9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cb383d404a8f3ece74d20147e2eca1e45490e91ffb23b375bd33f5179f1723694a6ccef21fb5aa36f2de5eeaad83c3d03c620fadcd7454616202713111343e3f
|
7
|
+
data.tar.gz: 443eb09580be98fa6ba3c4351eaf2b674be3f2a652cb4d6f36a123400a72a0f7a18b51878202455d15e94d0a014d4d63a6195c0db39e209305a0fbde4be8c589
|
data/MIT-LICENSE
CHANGED
data/README.md
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
[![Gem Version](https://badge.fury.io/rb/mtwarden.svg)](https://badge.fury.io/rb/mtwarden)
|
5
5
|
|
6
6
|
### Mtwarden(MultiTenancyWarden) Documentation
|
7
|
-
PHC mtwarden
|
7
|
+
PHC mtwarden gem adds a separate multi-tenant layer that handles all user registrations, multi-tenancy app functions, and login through subdomains using Warden authentication gem.
|
8
8
|
|
9
9
|
#### Step 1 - Add Mtwarden to your gemfile and run command
|
10
10
|
|
@@ -12,6 +12,7 @@ PHC mtwarden-warden gem adds a separate multi-tenant layer that handles all user
|
|
12
12
|
bundle exec install
|
13
13
|
|
14
14
|
#### Step 2 - Add and migrate mtwarden database tables
|
15
|
+
|
15
16
|
rake railties:install:migrations
|
16
17
|
rake db:migrate
|
17
18
|
|
data/Rakefile
CHANGED
@@ -1,30 +1,33 @@
|
|
1
1
|
begin
|
2
|
-
|
2
|
+
require 'bundler/setup'
|
3
3
|
|
4
4
|
rescue LoadError
|
5
|
-
|
5
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
6
6
|
end
|
7
7
|
|
8
8
|
require 'rdoc/task'
|
9
|
+
|
9
10
|
RDoc::Task.new(:rdoc) do |rdoc|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
11
|
+
rdoc.rdoc_dir = 'rdoc'
|
12
|
+
rdoc.title = 'Mtwarden'
|
13
|
+
rdoc.options << '--line-numbers'
|
14
|
+
rdoc.rdoc_files.include('README.md')
|
15
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
15
16
|
end
|
16
17
|
|
17
18
|
APP_RAKEFILE = File.expand_path("../spec/testapp/Rakefile", __FILE__)
|
19
|
+
|
18
20
|
load 'rails/tasks/engine.rake'
|
19
21
|
load 'rails/tasks/statistics.rake'
|
22
|
+
|
20
23
|
require 'bundler/gem_tasks'
|
21
24
|
require 'rake/testtask'
|
22
25
|
|
23
26
|
Rake::TestTask.new(:test) do |t|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
27
|
+
t.libs << 'lib'
|
28
|
+
t.libs << 'test'
|
29
|
+
t.pattern = 'test/**/*_test.rb'
|
30
|
+
t.verbose = false
|
28
31
|
end
|
29
32
|
|
30
33
|
task default: :test
|
@@ -1,16 +1,18 @@
|
|
1
1
|
Warden::Strategies.add(:password) do
|
2
|
-
def subdomain
|
3
|
-
ActionDispatch::Http::URL.extract_subdomains(request.host, 1)
|
4
|
-
end
|
5
2
|
|
6
|
-
|
7
|
-
|
8
|
-
|
3
|
+
def subdomain
|
4
|
+
ActionDispatch::Http::URL.extract_subdomains(request.host, 1)
|
5
|
+
end
|
6
|
+
|
7
|
+
def valid?
|
8
|
+
subdomain.present? && params["user"]
|
9
|
+
end
|
10
|
+
|
11
|
+
def authenticate!
|
12
|
+
return fail! unless account = Mtwarden::Account.find_by(subdomain: subdomain)
|
13
|
+
return fail! unless user = account.users.find_by(email: params["user"]["email"])
|
14
|
+
return fail! unless user.authenticate(params["user"]["password"])
|
15
|
+
success! user
|
16
|
+
end
|
9
17
|
|
10
|
-
|
11
|
-
return fail! unless account = Mtwarden::Account.find_by(subdomain: subdomain)
|
12
|
-
return fail! unless user = account.users.find_by(email: params["user"]["email"])
|
13
|
-
return fail! unless user.authenticate(params["user"]["password"])
|
14
|
-
success! user
|
15
|
-
end
|
16
|
-
end
|
18
|
+
end
|
data/config/routes.rb
CHANGED
@@ -1,29 +1,30 @@
|
|
1
1
|
require "mtwarden/constraints/subdomain_required"
|
2
2
|
|
3
3
|
Mtwarden::Engine.routes.draw do
|
4
|
-
constraints(Mtwarden::Constraints::SubdomainRequired) do
|
5
|
-
scope :module => "account" do
|
6
|
-
root :to => "dashboard#index", :as => :account_root
|
7
|
-
get "/sign_in", :to => "sessions#new", :as => :sign_in
|
8
|
-
post "/sign_in", :to => "sessions#create", :as => :sessions
|
9
|
-
get "/sign_up", :to => "users#new", :as => :user_sign_up
|
10
|
-
post "/sign_up", :to => "users#create", :as => :do_user_sign_up
|
11
|
-
get "/account", :to => "accounts#edit", :as => :edit_account
|
12
|
-
patch "/account", :to => "accounts#update"
|
13
|
-
get "/account/plan/:plan_id",
|
14
|
-
:to => "accounts#plan",
|
15
|
-
:as => :plan_account
|
16
|
-
get "/account/subscribe",
|
17
|
-
:to => "accounts#subscribe",
|
18
|
-
:as => :subscribe_account
|
19
|
-
post "/account/confirm_plan",
|
20
|
-
:to => "accounts#confirm_plan",
|
21
|
-
:as => :confirm_plan_account
|
22
|
-
end
|
23
|
-
end
|
24
4
|
|
25
|
-
|
26
|
-
|
27
|
-
|
5
|
+
constraints(Mtwarden::Constraints::SubdomainRequired) do
|
6
|
+
scope :module => "account" do
|
7
|
+
root :to => "dashboard#index", :as => :account_root
|
8
|
+
get "/sign_in", :to => "sessions#new", :as => :sign_in
|
9
|
+
post "/sign_in", :to => "sessions#create", :as => :sessions
|
10
|
+
get "/sign_up", :to => "users#new", :as => :user_sign_up
|
11
|
+
post "/sign_up", :to => "users#create", :as => :do_user_sign_up
|
12
|
+
get "/account", :to => "accounts#edit", :as => :edit_account
|
13
|
+
patch "/account", :to => "accounts#update"
|
14
|
+
get "/account/plan/:plan_id",
|
15
|
+
:to => "accounts#plan",
|
16
|
+
:as => :plan_account
|
17
|
+
get "/account/subscribe",
|
18
|
+
:to => "accounts#subscribe",
|
19
|
+
:as => :subscribe_account
|
20
|
+
post "/account/confirm_plan",
|
21
|
+
:to => "accounts#confirm_plan",
|
22
|
+
:as => :confirm_plan_account
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
root "dashboard#index"
|
27
|
+
get "/sign_up", :to => "accounts#new", :as => :sign_up
|
28
|
+
post "/accounts", :to => "accounts#create", :as => :accounts
|
28
29
|
|
29
30
|
end
|
@@ -1,9 +1,11 @@
|
|
1
1
|
class CreateMtwardenAccounts < ActiveRecord::Migration[5.0]
|
2
|
-
|
3
|
-
|
4
|
-
t.string :name
|
2
|
+
def change
|
3
|
+
create_table :mtwarden_accounts do |t|
|
5
4
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
5
|
+
t.string :name
|
6
|
+
|
7
|
+
t.timestamps
|
8
|
+
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -1,10 +1,12 @@
|
|
1
1
|
class CreateMtwardenUsers < ActiveRecord::Migration[5.0]
|
2
|
-
|
3
|
-
|
4
|
-
t.string :email
|
5
|
-
t.string :password_digest
|
2
|
+
def change
|
3
|
+
create_table :mtwarden_users do |t|
|
6
4
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
5
|
+
t.string :email
|
6
|
+
t.string :password_digest
|
7
|
+
|
8
|
+
t.timestamps
|
9
|
+
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -1,10 +1,12 @@
|
|
1
1
|
class CreateMtwardenMembers < ActiveRecord::Migration[5.0]
|
2
|
-
|
3
|
-
|
4
|
-
t.integer :account_id
|
5
|
-
t.integer :user_id
|
2
|
+
def change
|
3
|
+
create_table :mtwarden_members do |t|
|
6
4
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
5
|
+
t.integer :account_id
|
6
|
+
t.integer :user_id
|
7
|
+
|
8
|
+
t.timestamps
|
9
|
+
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -1,6 +1,8 @@
|
|
1
1
|
class AddSubdomainToMtwardenAccounts < ActiveRecord::Migration[5.0]
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
2
|
+
def change
|
3
|
+
|
4
|
+
add_column :mtwarden_accounts, :subdomain, :string
|
5
|
+
add_index :mtwarden_accounts, :subdomain
|
6
|
+
|
7
|
+
end
|
8
|
+
end
|
@@ -1,11 +1,13 @@
|
|
1
1
|
class CreateMtwardenPlans < ActiveRecord::Migration[5.0]
|
2
|
-
|
3
|
-
|
4
|
-
t.string :name
|
5
|
-
t.float :price
|
6
|
-
t.string :braintree_id
|
2
|
+
def change
|
3
|
+
create_table :mtwarden_plans do |t|
|
7
4
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
5
|
+
t.string :name
|
6
|
+
t.float :price
|
7
|
+
t.string :braintree_id
|
8
|
+
|
9
|
+
t.timestamps
|
10
|
+
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -1,5 +1,7 @@
|
|
1
1
|
class AddBraintreeSubscriptionIdToMtwardenAccounts < ActiveRecord::Migration[5.0]
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
2
|
+
def change
|
3
|
+
|
4
|
+
add_column :mtwarden_accounts, :braintree_subscription_id, :string
|
5
|
+
|
6
|
+
end
|
7
|
+
end
|
@@ -1,20 +1,22 @@
|
|
1
1
|
module Mtwarden
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
2
|
+
class BraintreePlanFetcher
|
3
|
+
|
4
|
+
def self.store_locally
|
5
|
+
Braintree::Plan.all.each do |plan|
|
6
|
+
if local_plan = Mtwarden::Plan.find_by(braintree_id: plan.id)
|
7
|
+
local_plan.update_attributes({
|
8
|
+
:name => plan.name,
|
9
|
+
:price => plan.price
|
10
|
+
})
|
11
|
+
else
|
12
|
+
Mtwarden::Plan.create({
|
13
|
+
:name => plan.name,
|
14
|
+
:price => plan.price,
|
15
|
+
:braintree_id => plan.id
|
16
|
+
})
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
@@ -1,9 +1,9 @@
|
|
1
1
|
module Mtwarden
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
2
|
+
module Constraints
|
3
|
+
class SubdomainRequired
|
4
|
+
def self.matches?(request)
|
5
|
+
request.subdomain.present? && request.subdomain != "www"
|
6
|
+
end
|
7
|
+
end
|
8
|
+
end
|
9
9
|
end
|
data/lib/mtwarden/engine.rb
CHANGED
@@ -6,46 +6,48 @@ require "dynamic_form"
|
|
6
6
|
require "braintree"
|
7
7
|
|
8
8
|
module Mtwarden
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
9
|
+
class Engine < ::Rails::Engine
|
10
|
+
|
11
|
+
isolate_namespace Mtwarden
|
12
|
+
|
13
|
+
config.generators do |g|
|
14
|
+
g.test_framework :rspec, :view_specs => false
|
15
|
+
end
|
16
|
+
|
17
|
+
initializer "mtwarden.middleware.warden" do
|
18
|
+
Rails.application.config.middleware.use Warden::Manager do |manager|
|
19
|
+
manager.default_strategies :password
|
20
|
+
manager.serialize_into_session do |user|
|
21
|
+
user.id
|
22
|
+
end
|
23
|
+
manager.serialize_from_session do |id|
|
24
|
+
Mtwarden::User.find(id)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
initializer "mtwarden.middleware.fake_braintree_redirect" do
|
30
|
+
if Rails.env.test?
|
31
|
+
require "fake_braintree_redirect"
|
32
|
+
Rails.application.config.middleware.insert_before \
|
33
|
+
Warden::Manager,
|
34
|
+
FakeBraintreeRedirect
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
config.to_prepare do
|
39
|
+
root = Mtwarden::Engine.root
|
40
|
+
extenders_path = root + "app/extenders/**/*.rb"
|
41
|
+
Dir.glob(extenders_path) do |file|
|
42
|
+
Rails.configuration.cache_classes ? require(file) : load(file)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
initializer 'mtwarden.middleware.houser' do
|
47
|
+
Rails.application.config.middleware.use Houser::Middleware,
|
48
|
+
:class_name => 'Mtwarden::Account'
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
51
52
|
end
|
53
|
+
|
data/lib/mtwarden/scoped_to.rb
CHANGED
@@ -1,17 +1,21 @@
|
|
1
1
|
module Mtwarden
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
2
|
+
module TestingSupport
|
3
|
+
module AuthenticationHelpers
|
4
|
+
|
5
|
+
include Warden::Test::Helpers
|
6
|
+
|
7
|
+
def self.included(base)
|
8
|
+
base.after do
|
9
|
+
logout
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def sign_in_as(options={})
|
14
|
+
options.each do |scope, object|
|
15
|
+
login_as(object, :scope => scope)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
20
|
+
end
|
17
21
|
end
|
@@ -1,13 +1,14 @@
|
|
1
1
|
require "mtwarden/testing_support/factories/user_factory"
|
2
2
|
|
3
3
|
FactoryGirl.define do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
factory :account, :class => Mtwarden::Account do
|
5
|
+
sequence(:name) { |n| "Test Account ##{n}" }
|
6
|
+
sequence(:subdomain) { |n| "test#{n}" }
|
7
|
+
association :owner, :factory => :user
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
after(:create) do |account|
|
10
|
+
account.users << account.owner
|
11
|
+
end
|
12
|
+
|
13
|
+
end
|
13
14
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
FactoryGirl.define do
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
2
|
+
factory :user, :class => Mtwarden::User do
|
3
|
+
sequence(:email) { |n| "test#{n}@example.com" }
|
4
|
+
password "password"
|
5
|
+
password_confirmation "password"
|
6
|
+
end
|
7
7
|
end
|
@@ -1,14 +1,16 @@
|
|
1
1
|
module Mtwarden
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
2
|
+
module TestingSupport
|
3
|
+
module SubdomainHelpers
|
4
|
+
|
5
|
+
def within_account_subdomain(&block)
|
6
|
+
context "within a subdomain" do
|
7
|
+
let(:subdomain_url) { "http://#{account.subdomain}.example.com" }
|
8
|
+
before { Capybara.default_host = subdomain_url }
|
9
|
+
after { Capybara.default_host = "http://example.com" }
|
10
|
+
yield
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
15
|
+
end
|
14
16
|
end
|
data/lib/mtwarden/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mtwarden
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- BradPotts
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-02-
|
11
|
+
date: 2017-02-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -70,60 +70,42 @@ dependencies:
|
|
70
70
|
requirements:
|
71
71
|
- - "~>"
|
72
72
|
- !ruby/object:Gem::Version
|
73
|
-
version: '1.
|
74
|
-
- - ">="
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
version: 1.3.4
|
73
|
+
version: '1.5'
|
77
74
|
type: :runtime
|
78
75
|
prerelease: false
|
79
76
|
version_requirements: !ruby/object:Gem::Requirement
|
80
77
|
requirements:
|
81
78
|
- - "~>"
|
82
79
|
- !ruby/object:Gem::Version
|
83
|
-
version: '1.
|
84
|
-
- - ">="
|
85
|
-
- !ruby/object:Gem::Version
|
86
|
-
version: 1.3.4
|
80
|
+
version: '1.5'
|
87
81
|
- !ruby/object:Gem::Dependency
|
88
82
|
name: phctitleseo
|
89
83
|
requirement: !ruby/object:Gem::Requirement
|
90
84
|
requirements:
|
91
85
|
- - "~>"
|
92
86
|
- !ruby/object:Gem::Version
|
93
|
-
version: '
|
94
|
-
- - ">="
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: 3.6.3
|
87
|
+
version: '4.2'
|
97
88
|
type: :runtime
|
98
89
|
prerelease: false
|
99
90
|
version_requirements: !ruby/object:Gem::Requirement
|
100
91
|
requirements:
|
101
92
|
- - "~>"
|
102
93
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
104
|
-
- - ">="
|
105
|
-
- !ruby/object:Gem::Version
|
106
|
-
version: 3.6.3
|
94
|
+
version: '4.2'
|
107
95
|
- !ruby/object:Gem::Dependency
|
108
96
|
name: phcnotifi
|
109
97
|
requirement: !ruby/object:Gem::Requirement
|
110
98
|
requirements:
|
111
99
|
- - "~>"
|
112
100
|
- !ruby/object:Gem::Version
|
113
|
-
version: '3.
|
114
|
-
- - ">="
|
115
|
-
- !ruby/object:Gem::Version
|
116
|
-
version: 3.6.3
|
101
|
+
version: '3.8'
|
117
102
|
type: :runtime
|
118
103
|
prerelease: false
|
119
104
|
version_requirements: !ruby/object:Gem::Requirement
|
120
105
|
requirements:
|
121
106
|
- - "~>"
|
122
107
|
- !ruby/object:Gem::Version
|
123
|
-
version: '3.
|
124
|
-
- - ">="
|
125
|
-
- !ruby/object:Gem::Version
|
126
|
-
version: 3.6.3
|
108
|
+
version: '3.8'
|
127
109
|
- !ruby/object:Gem::Dependency
|
128
110
|
name: jquery-rails
|
129
111
|
requirement: !ruby/object:Gem::Requirement
|
@@ -504,14 +486,20 @@ dependencies:
|
|
504
486
|
requirements:
|
505
487
|
- - "~>"
|
506
488
|
- !ruby/object:Gem::Version
|
507
|
-
version: '2.
|
489
|
+
version: '2.12'
|
490
|
+
- - ">="
|
491
|
+
- !ruby/object:Gem::Version
|
492
|
+
version: 2.12.1
|
508
493
|
type: :development
|
509
494
|
prerelease: false
|
510
495
|
version_requirements: !ruby/object:Gem::Requirement
|
511
496
|
requirements:
|
512
497
|
- - "~>"
|
513
498
|
- !ruby/object:Gem::Version
|
514
|
-
version: '2.
|
499
|
+
version: '2.12'
|
500
|
+
- - ">="
|
501
|
+
- !ruby/object:Gem::Version
|
502
|
+
version: 2.12.1
|
515
503
|
- !ruby/object:Gem::Dependency
|
516
504
|
name: byebug
|
517
505
|
requirement: !ruby/object:Gem::Requirement
|
@@ -618,20 +606,14 @@ dependencies:
|
|
618
606
|
requirements:
|
619
607
|
- - "~>"
|
620
608
|
- !ruby/object:Gem::Version
|
621
|
-
version: '3.
|
622
|
-
- - ">="
|
623
|
-
- !ruby/object:Gem::Version
|
624
|
-
version: 3.0.8
|
609
|
+
version: '3.1'
|
625
610
|
type: :development
|
626
611
|
prerelease: false
|
627
612
|
version_requirements: !ruby/object:Gem::Requirement
|
628
613
|
requirements:
|
629
614
|
- - "~>"
|
630
615
|
- !ruby/object:Gem::Version
|
631
|
-
version: '3.
|
632
|
-
- - ">="
|
633
|
-
- !ruby/object:Gem::Version
|
634
|
-
version: 3.0.8
|
616
|
+
version: '3.1'
|
635
617
|
- !ruby/object:Gem::Dependency
|
636
618
|
name: minitest
|
637
619
|
requirement: !ruby/object:Gem::Requirement
|
@@ -790,7 +772,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
790
772
|
version: '0'
|
791
773
|
requirements: []
|
792
774
|
rubyforge_project:
|
793
|
-
rubygems_version: 2.
|
775
|
+
rubygems_version: 2.6.8
|
794
776
|
signing_key:
|
795
777
|
specification_version: 4
|
796
778
|
summary: Multi-Tenant Rails Engine Using Warden
|