sublease 0.1.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 +7 -0
- data/.gitignore +62 -0
- data/.travis.yml +68 -0
- data/CHANGELOG.md +3 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +29 -0
- data/Gemfile.lock +141 -0
- data/LICENSE +21 -0
- data/README.md +126 -0
- data/Rakefile +36 -0
- data/app/models/sublease/lodger.rb +71 -0
- data/app/models/sublease/tenant.rb +29 -0
- data/bin/rails +14 -0
- data/config/locales/de.yml +28 -0
- data/config/locales/en.yml +28 -0
- data/config/locales/es.yml +28 -0
- data/config/locales/fr.yml +28 -0
- data/config/locales/it.yml +28 -0
- data/config/locales/po.yml +28 -0
- data/gemfiles/Gemfile.jruby.rails-4.1-stable +29 -0
- data/gemfiles/Gemfile.jruby.rails-4.1-stable.lock +129 -0
- data/gemfiles/Gemfile.jruby.rails-4.2-stable +29 -0
- data/gemfiles/Gemfile.jruby.rails-4.2-stable.lock +152 -0
- data/gemfiles/Gemfile.jruby.rails-5.0-stable +29 -0
- data/gemfiles/Gemfile.jruby.rails-5.0-stable.lock +163 -0
- data/gemfiles/Gemfile.rails-4.1-stable +29 -0
- data/gemfiles/Gemfile.rails-4.1-stable.lock +115 -0
- data/gemfiles/Gemfile.rails-4.2-stable +29 -0
- data/gemfiles/Gemfile.rails-4.2-stable.lock +140 -0
- data/gemfiles/Gemfile.rails-5.0-stable +29 -0
- data/gemfiles/Gemfile.rails-5.0-stable.lock +141 -0
- data/lib/generators/sublease/install/USAGE +5 -0
- data/lib/generators/sublease/install/install_generator.rb +9 -0
- data/lib/generators/sublease/install/templates/sublease.rb +23 -0
- data/lib/sublease.rb +132 -0
- data/lib/sublease/engine.rb +5 -0
- data/lib/sublease/errors.rb +10 -0
- data/lib/sublease/tenant_switcher.rb +75 -0
- data/lib/sublease/version.rb +5 -0
- data/sublease.gemspec +28 -0
- data/test/dummy/README.rdoc +28 -0
- data/test/dummy/Rakefile +6 -0
- data/test/dummy/app/assets/images/.keep +0 -0
- data/test/dummy/app/assets/javascripts/application.js +13 -0
- data/test/dummy/app/assets/javascripts/lodgers.js +2 -0
- data/test/dummy/app/assets/stylesheets/application.css +15 -0
- data/test/dummy/app/assets/stylesheets/lodgers.css +4 -0
- data/test/dummy/app/controllers/application_controller.rb +7 -0
- data/test/dummy/app/controllers/concerns/.keep +0 -0
- data/test/dummy/app/controllers/lodgers_controller.rb +7 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/helpers/lodgers_helper.rb +2 -0
- data/test/dummy/app/mailers/.keep +0 -0
- data/test/dummy/app/models/.keep +0 -0
- data/test/dummy/app/models/concerns/.keep +0 -0
- data/test/dummy/app/models/lodger.rb +3 -0
- data/test/dummy/app/models/tenant.rb +3 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/app/views/lodgers/index.html.erb +6 -0
- data/test/dummy/bin/bundle +3 -0
- data/test/dummy/bin/rails +4 -0
- data/test/dummy/bin/rake +4 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +23 -0
- data/test/dummy/config/boot.rb +5 -0
- data/test/dummy/config/database.yml +23 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +78 -0
- data/test/dummy/config/environments/test.rb +39 -0
- data/test/dummy/config/initializers/assets.rb +8 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/inflections.rb +16 -0
- data/test/dummy/config/initializers/mime_types.rb +4 -0
- data/test/dummy/config/initializers/session_store.rb +3 -0
- data/test/dummy/config/initializers/sublease.rb +24 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +23 -0
- data/test/dummy/config/routes.rb +3 -0
- data/test/dummy/config/secrets.yml +22 -0
- data/test/dummy/db/migrate/20180114164205_create_tenants.rb +10 -0
- data/test/dummy/db/migrate/20180115012642_create_lodgers.rb +9 -0
- data/test/dummy/db/schema.rb +31 -0
- data/test/dummy/lib/assets/.keep +0 -0
- data/test/dummy/log/.keep +0 -0
- data/test/dummy/public/404.html +67 -0
- data/test/dummy/public/422.html +67 -0
- data/test/dummy/public/500.html +66 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/fixtures/lodgers.yml +14 -0
- data/test/fixtures/tenants.yml +18 -0
- data/test/integration/navigation_test.rb +41 -0
- data/test/lib/generators/sublease/install_generator_test.rb +25 -0
- data/test/models/sublease/lodger_test.rb +67 -0
- data/test/models/sublease/tenant_test.rb +25 -0
- data/test/sublease_test.rb +133 -0
- data/test/test_helper.rb +23 -0
- metadata +265 -0
|
File without changes
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
|
|
2
|
+
|
|
3
|
+
# This model initially had no columns defined. If you add columns to the
|
|
4
|
+
# model remove the '{}' from the fixture names and add the columns immediately
|
|
5
|
+
# below each fixture, per the syntax in the comments below
|
|
6
|
+
#
|
|
7
|
+
lodger_one:
|
|
8
|
+
tenant: site1
|
|
9
|
+
lodger_two:
|
|
10
|
+
tenant: site2
|
|
11
|
+
lodger_three:
|
|
12
|
+
tenant: site1
|
|
13
|
+
lodger_four:
|
|
14
|
+
tenant: site1
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
|
|
2
|
+
|
|
3
|
+
# This model initially had no columns defined. If you add columns to the
|
|
4
|
+
# model remove the '{}' from the fixture names and add the columns immediately
|
|
5
|
+
# below each fixture, per the syntax in the comments below
|
|
6
|
+
#
|
|
7
|
+
site1:
|
|
8
|
+
name: site1
|
|
9
|
+
subdomain: www
|
|
10
|
+
domain: example.com
|
|
11
|
+
site2:
|
|
12
|
+
name: site2
|
|
13
|
+
subdomain: staging
|
|
14
|
+
domain: example.com
|
|
15
|
+
site3:
|
|
16
|
+
name: site3
|
|
17
|
+
subdomain: junk
|
|
18
|
+
domain: yard.com
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class NavigationTest < ActionDispatch::IntegrationTest
|
|
4
|
+
setup do
|
|
5
|
+
Sublease.tenant_model = Tenant
|
|
6
|
+
host! 'staging.example.com'
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
context 'when switch_on_domain set' do
|
|
10
|
+
should 'change to the proper tenant' do
|
|
11
|
+
Sublease.switch_on_subdomain = false
|
|
12
|
+
Sublease.switch_on_subdomain_and_domain = false
|
|
13
|
+
Sublease.switch_on_domain = true
|
|
14
|
+
get '/'
|
|
15
|
+
assert_response :success
|
|
16
|
+
assert_select '#current_tenant_name','site1'
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
context 'when switch_on_subdomain set' do
|
|
21
|
+
should 'change to the proper tenant' do
|
|
22
|
+
Sublease.switch_on_domain = false
|
|
23
|
+
Sublease.switch_on_subdomain_and_domain = false
|
|
24
|
+
Sublease.switch_on_subdomain = true
|
|
25
|
+
get '/'
|
|
26
|
+
assert_response :success
|
|
27
|
+
assert_select '#current_tenant_name','site2'
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
context 'when switch_on_subdomain_and_domain set' do
|
|
32
|
+
should 'change to the proper tenant' do
|
|
33
|
+
Sublease.switch_on_domain = false
|
|
34
|
+
Sublease.switch_on_subdomain = false
|
|
35
|
+
Sublease.switch_on_subdomain_and_domain = true
|
|
36
|
+
get '/'
|
|
37
|
+
assert_response :success
|
|
38
|
+
assert_select '#current_tenant_name','site2'
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'test_helper'
|
|
4
|
+
require 'generators/sublease/install/install_generator'
|
|
5
|
+
|
|
6
|
+
module Sublease
|
|
7
|
+
class InstallGeneratorTest < Rails::Generators::TestCase
|
|
8
|
+
tests InstallGenerator
|
|
9
|
+
destination Rails.root.join('tmp/generators')
|
|
10
|
+
setup :prepare_destination
|
|
11
|
+
|
|
12
|
+
test 'install generator runs without errors' do
|
|
13
|
+
assert_nothing_raised do
|
|
14
|
+
run_generator ['sublease:install']
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
test 'initalizer copied to config/initializers/sublease.rb' do
|
|
19
|
+
path = Rails.root + 'config/initializers/sublease.rb'
|
|
20
|
+
assert_file path do
|
|
21
|
+
run_generator ['sublease:install']
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
module Sublease
|
|
4
|
+
class LodgerTest < ActiveSupport::TestCase
|
|
5
|
+
setup do
|
|
6
|
+
@lodger = ::Lodger.first
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
context 'allow_sublease_change' do
|
|
10
|
+
should 'return false when not set' do
|
|
11
|
+
assert_equal false, @lodger.allow_sublease_change
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
should 'return false when set to anything not a true or false' do
|
|
15
|
+
@lodger.allow_sublease_change = 1
|
|
16
|
+
assert_equal false, @lodger.allow_sublease_change
|
|
17
|
+
|
|
18
|
+
@lodger.allow_sublease_change = 'true'
|
|
19
|
+
assert_equal false, @lodger.allow_sublease_change
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
should 'return true when set to true' do
|
|
23
|
+
@lodger.allow_sublease_change = true
|
|
24
|
+
assert_equal true, @lodger.allow_sublease_change
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
context 'changing the tenant' do
|
|
30
|
+
should 'fail without allow_sublease_change being set to true' do
|
|
31
|
+
@lodger.tenant_id = 2
|
|
32
|
+
assert_equal false, @lodger.valid?
|
|
33
|
+
assert_equal true, @lodger.errors.messages.has_key?(:tenant_id)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
should 'fail with allow_sublease_change being set to true but value is invalid' do
|
|
37
|
+
@lodger.tenant_id = 1234
|
|
38
|
+
@lodger.allow_sublease_change = true
|
|
39
|
+
assert_equal false, @lodger.valid?
|
|
40
|
+
assert_equal true, @lodger.errors.messages.has_key?(:tenant_id)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
should 'succeed with allow_sublease_change being set to true' do
|
|
44
|
+
tenant_id = ::Tenant.where.not(id: @lodger.tenant_id).pluck(:id).first
|
|
45
|
+
@lodger.tenant_id = tenant_id
|
|
46
|
+
@lodger.allow_sublease_change = true
|
|
47
|
+
assert_equal true, @lodger.valid?
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
context 'overridden Class method delete' do
|
|
52
|
+
should 'call destroy' do
|
|
53
|
+
Lodger.stub :destroy, true do
|
|
54
|
+
assert(Lodger.delete(1))
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
context 'overridden Instance method delete' do
|
|
60
|
+
should 'call destroy' do
|
|
61
|
+
@lodger.stub :destroy, true do
|
|
62
|
+
assert(@lodger.delete)
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
module Sublease
|
|
4
|
+
class TenantTest < ActiveSupport::TestCase
|
|
5
|
+
setup do
|
|
6
|
+
@tenant = ::Tenant.first
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
context 'overridden Class method delete' do
|
|
10
|
+
should 'call destroy' do
|
|
11
|
+
Tenant.stub :destroy, true do
|
|
12
|
+
assert(Tenant.delete(1))
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
context 'overridden Instance method delete' do
|
|
18
|
+
should 'call destroy' do
|
|
19
|
+
@tenant.stub :destroy, true do
|
|
20
|
+
assert(@tenant.delete)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'test_helper'
|
|
4
|
+
|
|
5
|
+
class Sublease::Test < ActiveSupport::TestCase
|
|
6
|
+
setup do
|
|
7
|
+
Sublease.tenant_model = Tenant
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
context 'configure block' do
|
|
11
|
+
should 'yield self' do
|
|
12
|
+
Sublease.configure do |config|
|
|
13
|
+
assert_equal Sublease, config
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
context 'tenant_model?' do
|
|
19
|
+
should 'raise Sublease::TenantModelNotSet when tenant_model is not set' do
|
|
20
|
+
Sublease.tenant_model = nil
|
|
21
|
+
assert_raises Sublease::TenantModelNotSet do
|
|
22
|
+
Sublease.send(:tenant_model?)
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
context 'default_tenant_domain=' do
|
|
28
|
+
should 'raise Sublease::TenantNotFound when tenant is not found' do
|
|
29
|
+
assert_raises Sublease::TenantNotFound do
|
|
30
|
+
Sublease.default_tenant_domain = 'test'
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
should 'set default_tenant if found' do
|
|
35
|
+
Sublease.default_tenant_subdomain = nil
|
|
36
|
+
Sublease.default_tenant_domain = 'example.com'
|
|
37
|
+
assert_equal Tenant, Sublease.default_tenant.class
|
|
38
|
+
assert_equal 'example.com', Sublease.default_tenant.domain
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
context 'default_tenant_subdomain=' do
|
|
43
|
+
should 'raise Sublease::TenantNotFound when tenant is not found' do
|
|
44
|
+
assert_raises Sublease::TenantNotFound do
|
|
45
|
+
Sublease.default_tenant_subdomain = 'test'
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
should 'set default_tenant if found' do
|
|
50
|
+
Sublease.default_tenant_domain = nil
|
|
51
|
+
Sublease.default_tenant_subdomain = 'www'
|
|
52
|
+
assert_equal Tenant, Sublease.default_tenant.class
|
|
53
|
+
assert_equal 'www', Sublease.default_tenant.subdomain
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
context 'default_tenant=' do
|
|
58
|
+
should 'raise Sublease::TenantNotFound when tenant is nil' do
|
|
59
|
+
assert_raises Sublease::TenantNotFound do
|
|
60
|
+
Sublease.default_tenant = nil
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
context 'switch_on_domain=' do
|
|
66
|
+
should 'return false if passed in value is not TrueClass' do
|
|
67
|
+
Sublease.switch_on_domain = 1234
|
|
68
|
+
assert_equal false, Sublease.switch_on_domain
|
|
69
|
+
Sublease.switch_on_domain = 'true'
|
|
70
|
+
assert_equal false, Sublease.switch_on_domain
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
should 'raise Sublease::ConfigError if switch_on_subdomain is set' do
|
|
74
|
+
assert_raises Sublease::ConfigError do
|
|
75
|
+
Sublease.switch_on_subdomain = true
|
|
76
|
+
Sublease.switch_on_domain = true
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
should 'raise Sublease::ConfigError if switch_on_subdomain_and_domain is set' do
|
|
81
|
+
assert_raises Sublease::ConfigError do
|
|
82
|
+
Sublease.switch_on_subdomain_and_domain = true
|
|
83
|
+
Sublease.switch_on_domain = true
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
context 'switch_on_subdomain=' do
|
|
89
|
+
should 'return false if passed in value is not TrueClass' do
|
|
90
|
+
Sublease.switch_on_subdomain = 1234
|
|
91
|
+
assert_equal false, Sublease.switch_on_subdomain
|
|
92
|
+
Sublease.switch_on_subdomain = 'true'
|
|
93
|
+
assert_equal false, Sublease.switch_on_subdomain
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
should 'raise Sublease::ConfigError if switch_on_domain is set' do
|
|
97
|
+
assert_raises Sublease::ConfigError do
|
|
98
|
+
Sublease.switch_on_domain = true
|
|
99
|
+
Sublease.switch_on_subdomain = true
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
should 'raise Sublease::ConfigError if switch_on_subdomain_and_domain is set' do
|
|
104
|
+
assert_raises Sublease::ConfigError do
|
|
105
|
+
Sublease.switch_on_subdomain_and_domain = true
|
|
106
|
+
Sublease.switch_on_subdomain = true
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
context 'switch_on_subdomain_and_domain=' do
|
|
112
|
+
should 'return false if passed in value is not TrueClass' do
|
|
113
|
+
Sublease.switch_on_subdomain_and_domain = 1234
|
|
114
|
+
assert_equal false, Sublease.switch_on_subdomain_and_domain
|
|
115
|
+
Sublease.switch_on_subdomain_and_domain = 'true'
|
|
116
|
+
assert_equal false, Sublease.switch_on_subdomain_and_domain
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
should 'raise Sublease::ConfigError if if switch_on_domain is set' do
|
|
120
|
+
assert_raises Sublease::ConfigError do
|
|
121
|
+
Sublease.switch_on_domain = true
|
|
122
|
+
Sublease.switch_on_subdomain_and_domain = true
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
should 'raise Sublease::ConfigError if if switch_on_subdomain is set' do
|
|
127
|
+
assert_raises Sublease::ConfigError do
|
|
128
|
+
Sublease.switch_on_subdomain = true
|
|
129
|
+
Sublease.switch_on_subdomain_and_domain = true
|
|
130
|
+
end
|
|
131
|
+
end
|
|
132
|
+
end
|
|
133
|
+
end
|
data/test/test_helper.rb
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Configure Rails Environment
|
|
4
|
+
ENV['RAILS_ENV'] = 'test'
|
|
5
|
+
|
|
6
|
+
require File.expand_path('../../test/dummy/config/environment.rb', __FILE__)
|
|
7
|
+
ActiveRecord::Migrator.migrations_paths = [File.expand_path('../../test/dummy/db/migrate', __FILE__)]
|
|
8
|
+
ActiveRecord::Migrator.migrations_paths << File.expand_path('../../db/migrate', __FILE__)
|
|
9
|
+
require 'rails/test_help'
|
|
10
|
+
require 'minitest/autorun'
|
|
11
|
+
|
|
12
|
+
# Filter out Minitest backtrace while allowing backtrace from other libraries
|
|
13
|
+
# to be shown.
|
|
14
|
+
Minitest.backtrace_filter = Minitest::BacktraceFilter.new
|
|
15
|
+
|
|
16
|
+
# Load support files
|
|
17
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
|
|
18
|
+
|
|
19
|
+
# Load fixtures from the engine
|
|
20
|
+
ActiveSupport::TestCase.fixture_path = File.expand_path('../fixtures', __FILE__)
|
|
21
|
+
ActionDispatch::IntegrationTest.fixture_path = ActiveSupport::TestCase.fixture_path
|
|
22
|
+
ActiveSupport::TestCase.fixtures :all
|
|
23
|
+
|
metadata
ADDED
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: sublease
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- bacrossland
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2018-01-31 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: rails
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - ">="
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '4.1'
|
|
20
|
+
- - "<"
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: '6.0'
|
|
23
|
+
type: :runtime
|
|
24
|
+
prerelease: false
|
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
26
|
+
requirements:
|
|
27
|
+
- - ">="
|
|
28
|
+
- !ruby/object:Gem::Version
|
|
29
|
+
version: '4.1'
|
|
30
|
+
- - "<"
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '6.0'
|
|
33
|
+
- !ruby/object:Gem::Dependency
|
|
34
|
+
name: request_store
|
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - ">="
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: 1.4.0
|
|
40
|
+
type: :runtime
|
|
41
|
+
prerelease: false
|
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
43
|
+
requirements:
|
|
44
|
+
- - ">="
|
|
45
|
+
- !ruby/object:Gem::Version
|
|
46
|
+
version: 1.4.0
|
|
47
|
+
- !ruby/object:Gem::Dependency
|
|
48
|
+
name: sqlite3
|
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
|
50
|
+
requirements:
|
|
51
|
+
- - ">="
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: '0'
|
|
54
|
+
type: :development
|
|
55
|
+
prerelease: false
|
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
+
requirements:
|
|
58
|
+
- - ">="
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: '0'
|
|
61
|
+
- !ruby/object:Gem::Dependency
|
|
62
|
+
name: shoulda
|
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
|
64
|
+
requirements:
|
|
65
|
+
- - ">="
|
|
66
|
+
- !ruby/object:Gem::Version
|
|
67
|
+
version: '0'
|
|
68
|
+
type: :development
|
|
69
|
+
prerelease: false
|
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
71
|
+
requirements:
|
|
72
|
+
- - ">="
|
|
73
|
+
- !ruby/object:Gem::Version
|
|
74
|
+
version: '0'
|
|
75
|
+
description: Sublease is a tenanting engine for Rails 4.2 and greater applications
|
|
76
|
+
using a shared database or schema.
|
|
77
|
+
email:
|
|
78
|
+
- bacrossland@gmail.com
|
|
79
|
+
executables: []
|
|
80
|
+
extensions: []
|
|
81
|
+
extra_rdoc_files: []
|
|
82
|
+
files:
|
|
83
|
+
- ".gitignore"
|
|
84
|
+
- ".travis.yml"
|
|
85
|
+
- CHANGELOG.md
|
|
86
|
+
- CODE_OF_CONDUCT.md
|
|
87
|
+
- Gemfile
|
|
88
|
+
- Gemfile.lock
|
|
89
|
+
- LICENSE
|
|
90
|
+
- README.md
|
|
91
|
+
- Rakefile
|
|
92
|
+
- app/models/sublease/lodger.rb
|
|
93
|
+
- app/models/sublease/tenant.rb
|
|
94
|
+
- bin/rails
|
|
95
|
+
- config/locales/de.yml
|
|
96
|
+
- config/locales/en.yml
|
|
97
|
+
- config/locales/es.yml
|
|
98
|
+
- config/locales/fr.yml
|
|
99
|
+
- config/locales/it.yml
|
|
100
|
+
- config/locales/po.yml
|
|
101
|
+
- gemfiles/Gemfile.jruby.rails-4.1-stable
|
|
102
|
+
- gemfiles/Gemfile.jruby.rails-4.1-stable.lock
|
|
103
|
+
- gemfiles/Gemfile.jruby.rails-4.2-stable
|
|
104
|
+
- gemfiles/Gemfile.jruby.rails-4.2-stable.lock
|
|
105
|
+
- gemfiles/Gemfile.jruby.rails-5.0-stable
|
|
106
|
+
- gemfiles/Gemfile.jruby.rails-5.0-stable.lock
|
|
107
|
+
- gemfiles/Gemfile.rails-4.1-stable
|
|
108
|
+
- gemfiles/Gemfile.rails-4.1-stable.lock
|
|
109
|
+
- gemfiles/Gemfile.rails-4.2-stable
|
|
110
|
+
- gemfiles/Gemfile.rails-4.2-stable.lock
|
|
111
|
+
- gemfiles/Gemfile.rails-5.0-stable
|
|
112
|
+
- gemfiles/Gemfile.rails-5.0-stable.lock
|
|
113
|
+
- lib/generators/sublease/install/USAGE
|
|
114
|
+
- lib/generators/sublease/install/install_generator.rb
|
|
115
|
+
- lib/generators/sublease/install/templates/sublease.rb
|
|
116
|
+
- lib/sublease.rb
|
|
117
|
+
- lib/sublease/engine.rb
|
|
118
|
+
- lib/sublease/errors.rb
|
|
119
|
+
- lib/sublease/tenant_switcher.rb
|
|
120
|
+
- lib/sublease/version.rb
|
|
121
|
+
- sublease.gemspec
|
|
122
|
+
- test/dummy/README.rdoc
|
|
123
|
+
- test/dummy/Rakefile
|
|
124
|
+
- test/dummy/app/assets/images/.keep
|
|
125
|
+
- test/dummy/app/assets/javascripts/application.js
|
|
126
|
+
- test/dummy/app/assets/javascripts/lodgers.js
|
|
127
|
+
- test/dummy/app/assets/stylesheets/application.css
|
|
128
|
+
- test/dummy/app/assets/stylesheets/lodgers.css
|
|
129
|
+
- test/dummy/app/controllers/application_controller.rb
|
|
130
|
+
- test/dummy/app/controllers/concerns/.keep
|
|
131
|
+
- test/dummy/app/controllers/lodgers_controller.rb
|
|
132
|
+
- test/dummy/app/helpers/application_helper.rb
|
|
133
|
+
- test/dummy/app/helpers/lodgers_helper.rb
|
|
134
|
+
- test/dummy/app/mailers/.keep
|
|
135
|
+
- test/dummy/app/models/.keep
|
|
136
|
+
- test/dummy/app/models/concerns/.keep
|
|
137
|
+
- test/dummy/app/models/lodger.rb
|
|
138
|
+
- test/dummy/app/models/tenant.rb
|
|
139
|
+
- test/dummy/app/views/layouts/application.html.erb
|
|
140
|
+
- test/dummy/app/views/lodgers/index.html.erb
|
|
141
|
+
- test/dummy/bin/bundle
|
|
142
|
+
- test/dummy/bin/rails
|
|
143
|
+
- test/dummy/bin/rake
|
|
144
|
+
- test/dummy/config.ru
|
|
145
|
+
- test/dummy/config/application.rb
|
|
146
|
+
- test/dummy/config/boot.rb
|
|
147
|
+
- test/dummy/config/database.yml
|
|
148
|
+
- test/dummy/config/environment.rb
|
|
149
|
+
- test/dummy/config/environments/development.rb
|
|
150
|
+
- test/dummy/config/environments/production.rb
|
|
151
|
+
- test/dummy/config/environments/test.rb
|
|
152
|
+
- test/dummy/config/initializers/assets.rb
|
|
153
|
+
- test/dummy/config/initializers/backtrace_silencers.rb
|
|
154
|
+
- test/dummy/config/initializers/cookies_serializer.rb
|
|
155
|
+
- test/dummy/config/initializers/filter_parameter_logging.rb
|
|
156
|
+
- test/dummy/config/initializers/inflections.rb
|
|
157
|
+
- test/dummy/config/initializers/mime_types.rb
|
|
158
|
+
- test/dummy/config/initializers/session_store.rb
|
|
159
|
+
- test/dummy/config/initializers/sublease.rb
|
|
160
|
+
- test/dummy/config/initializers/wrap_parameters.rb
|
|
161
|
+
- test/dummy/config/locales/en.yml
|
|
162
|
+
- test/dummy/config/routes.rb
|
|
163
|
+
- test/dummy/config/secrets.yml
|
|
164
|
+
- test/dummy/db/migrate/20180114164205_create_tenants.rb
|
|
165
|
+
- test/dummy/db/migrate/20180115012642_create_lodgers.rb
|
|
166
|
+
- test/dummy/db/schema.rb
|
|
167
|
+
- test/dummy/lib/assets/.keep
|
|
168
|
+
- test/dummy/log/.keep
|
|
169
|
+
- test/dummy/public/404.html
|
|
170
|
+
- test/dummy/public/422.html
|
|
171
|
+
- test/dummy/public/500.html
|
|
172
|
+
- test/dummy/public/favicon.ico
|
|
173
|
+
- test/fixtures/lodgers.yml
|
|
174
|
+
- test/fixtures/tenants.yml
|
|
175
|
+
- test/integration/navigation_test.rb
|
|
176
|
+
- test/lib/generators/sublease/install_generator_test.rb
|
|
177
|
+
- test/models/sublease/lodger_test.rb
|
|
178
|
+
- test/models/sublease/tenant_test.rb
|
|
179
|
+
- test/sublease_test.rb
|
|
180
|
+
- test/test_helper.rb
|
|
181
|
+
homepage: https://github.com/bacrossland/sublease
|
|
182
|
+
licenses:
|
|
183
|
+
- MIT
|
|
184
|
+
metadata: {}
|
|
185
|
+
post_install_message:
|
|
186
|
+
rdoc_options: []
|
|
187
|
+
require_paths:
|
|
188
|
+
- lib
|
|
189
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
190
|
+
requirements:
|
|
191
|
+
- - ">="
|
|
192
|
+
- !ruby/object:Gem::Version
|
|
193
|
+
version: 2.3.1
|
|
194
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
195
|
+
requirements:
|
|
196
|
+
- - ">="
|
|
197
|
+
- !ruby/object:Gem::Version
|
|
198
|
+
version: '0'
|
|
199
|
+
requirements: []
|
|
200
|
+
rubyforge_project:
|
|
201
|
+
rubygems_version: 2.7.3
|
|
202
|
+
signing_key:
|
|
203
|
+
specification_version: 4
|
|
204
|
+
summary: Sublease is a tenanting engine for Rails apps using a shared database or
|
|
205
|
+
schema.
|
|
206
|
+
test_files:
|
|
207
|
+
- test/dummy/README.rdoc
|
|
208
|
+
- test/dummy/Rakefile
|
|
209
|
+
- test/dummy/app/assets/images/.keep
|
|
210
|
+
- test/dummy/app/assets/javascripts/application.js
|
|
211
|
+
- test/dummy/app/assets/javascripts/lodgers.js
|
|
212
|
+
- test/dummy/app/assets/stylesheets/application.css
|
|
213
|
+
- test/dummy/app/assets/stylesheets/lodgers.css
|
|
214
|
+
- test/dummy/app/controllers/application_controller.rb
|
|
215
|
+
- test/dummy/app/controllers/concerns/.keep
|
|
216
|
+
- test/dummy/app/controllers/lodgers_controller.rb
|
|
217
|
+
- test/dummy/app/helpers/application_helper.rb
|
|
218
|
+
- test/dummy/app/helpers/lodgers_helper.rb
|
|
219
|
+
- test/dummy/app/mailers/.keep
|
|
220
|
+
- test/dummy/app/models/.keep
|
|
221
|
+
- test/dummy/app/models/concerns/.keep
|
|
222
|
+
- test/dummy/app/models/lodger.rb
|
|
223
|
+
- test/dummy/app/models/tenant.rb
|
|
224
|
+
- test/dummy/app/views/layouts/application.html.erb
|
|
225
|
+
- test/dummy/app/views/lodgers/index.html.erb
|
|
226
|
+
- test/dummy/bin/bundle
|
|
227
|
+
- test/dummy/bin/rails
|
|
228
|
+
- test/dummy/bin/rake
|
|
229
|
+
- test/dummy/config.ru
|
|
230
|
+
- test/dummy/config/application.rb
|
|
231
|
+
- test/dummy/config/boot.rb
|
|
232
|
+
- test/dummy/config/database.yml
|
|
233
|
+
- test/dummy/config/environment.rb
|
|
234
|
+
- test/dummy/config/environments/development.rb
|
|
235
|
+
- test/dummy/config/environments/production.rb
|
|
236
|
+
- test/dummy/config/environments/test.rb
|
|
237
|
+
- test/dummy/config/initializers/assets.rb
|
|
238
|
+
- test/dummy/config/initializers/backtrace_silencers.rb
|
|
239
|
+
- test/dummy/config/initializers/cookies_serializer.rb
|
|
240
|
+
- test/dummy/config/initializers/filter_parameter_logging.rb
|
|
241
|
+
- test/dummy/config/initializers/inflections.rb
|
|
242
|
+
- test/dummy/config/initializers/mime_types.rb
|
|
243
|
+
- test/dummy/config/initializers/session_store.rb
|
|
244
|
+
- test/dummy/config/initializers/sublease.rb
|
|
245
|
+
- test/dummy/config/initializers/wrap_parameters.rb
|
|
246
|
+
- test/dummy/config/locales/en.yml
|
|
247
|
+
- test/dummy/config/routes.rb
|
|
248
|
+
- test/dummy/config/secrets.yml
|
|
249
|
+
- test/dummy/db/migrate/20180114164205_create_tenants.rb
|
|
250
|
+
- test/dummy/db/migrate/20180115012642_create_lodgers.rb
|
|
251
|
+
- test/dummy/db/schema.rb
|
|
252
|
+
- test/dummy/lib/assets/.keep
|
|
253
|
+
- test/dummy/log/.keep
|
|
254
|
+
- test/dummy/public/404.html
|
|
255
|
+
- test/dummy/public/422.html
|
|
256
|
+
- test/dummy/public/500.html
|
|
257
|
+
- test/dummy/public/favicon.ico
|
|
258
|
+
- test/fixtures/lodgers.yml
|
|
259
|
+
- test/fixtures/tenants.yml
|
|
260
|
+
- test/integration/navigation_test.rb
|
|
261
|
+
- test/lib/generators/sublease/install_generator_test.rb
|
|
262
|
+
- test/models/sublease/lodger_test.rb
|
|
263
|
+
- test/models/sublease/tenant_test.rb
|
|
264
|
+
- test/sublease_test.rb
|
|
265
|
+
- test/test_helper.rb
|