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.
Files changed (100) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +62 -0
  3. data/.travis.yml +68 -0
  4. data/CHANGELOG.md +3 -0
  5. data/CODE_OF_CONDUCT.md +74 -0
  6. data/Gemfile +29 -0
  7. data/Gemfile.lock +141 -0
  8. data/LICENSE +21 -0
  9. data/README.md +126 -0
  10. data/Rakefile +36 -0
  11. data/app/models/sublease/lodger.rb +71 -0
  12. data/app/models/sublease/tenant.rb +29 -0
  13. data/bin/rails +14 -0
  14. data/config/locales/de.yml +28 -0
  15. data/config/locales/en.yml +28 -0
  16. data/config/locales/es.yml +28 -0
  17. data/config/locales/fr.yml +28 -0
  18. data/config/locales/it.yml +28 -0
  19. data/config/locales/po.yml +28 -0
  20. data/gemfiles/Gemfile.jruby.rails-4.1-stable +29 -0
  21. data/gemfiles/Gemfile.jruby.rails-4.1-stable.lock +129 -0
  22. data/gemfiles/Gemfile.jruby.rails-4.2-stable +29 -0
  23. data/gemfiles/Gemfile.jruby.rails-4.2-stable.lock +152 -0
  24. data/gemfiles/Gemfile.jruby.rails-5.0-stable +29 -0
  25. data/gemfiles/Gemfile.jruby.rails-5.0-stable.lock +163 -0
  26. data/gemfiles/Gemfile.rails-4.1-stable +29 -0
  27. data/gemfiles/Gemfile.rails-4.1-stable.lock +115 -0
  28. data/gemfiles/Gemfile.rails-4.2-stable +29 -0
  29. data/gemfiles/Gemfile.rails-4.2-stable.lock +140 -0
  30. data/gemfiles/Gemfile.rails-5.0-stable +29 -0
  31. data/gemfiles/Gemfile.rails-5.0-stable.lock +141 -0
  32. data/lib/generators/sublease/install/USAGE +5 -0
  33. data/lib/generators/sublease/install/install_generator.rb +9 -0
  34. data/lib/generators/sublease/install/templates/sublease.rb +23 -0
  35. data/lib/sublease.rb +132 -0
  36. data/lib/sublease/engine.rb +5 -0
  37. data/lib/sublease/errors.rb +10 -0
  38. data/lib/sublease/tenant_switcher.rb +75 -0
  39. data/lib/sublease/version.rb +5 -0
  40. data/sublease.gemspec +28 -0
  41. data/test/dummy/README.rdoc +28 -0
  42. data/test/dummy/Rakefile +6 -0
  43. data/test/dummy/app/assets/images/.keep +0 -0
  44. data/test/dummy/app/assets/javascripts/application.js +13 -0
  45. data/test/dummy/app/assets/javascripts/lodgers.js +2 -0
  46. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  47. data/test/dummy/app/assets/stylesheets/lodgers.css +4 -0
  48. data/test/dummy/app/controllers/application_controller.rb +7 -0
  49. data/test/dummy/app/controllers/concerns/.keep +0 -0
  50. data/test/dummy/app/controllers/lodgers_controller.rb +7 -0
  51. data/test/dummy/app/helpers/application_helper.rb +2 -0
  52. data/test/dummy/app/helpers/lodgers_helper.rb +2 -0
  53. data/test/dummy/app/mailers/.keep +0 -0
  54. data/test/dummy/app/models/.keep +0 -0
  55. data/test/dummy/app/models/concerns/.keep +0 -0
  56. data/test/dummy/app/models/lodger.rb +3 -0
  57. data/test/dummy/app/models/tenant.rb +3 -0
  58. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  59. data/test/dummy/app/views/lodgers/index.html.erb +6 -0
  60. data/test/dummy/bin/bundle +3 -0
  61. data/test/dummy/bin/rails +4 -0
  62. data/test/dummy/bin/rake +4 -0
  63. data/test/dummy/config.ru +4 -0
  64. data/test/dummy/config/application.rb +23 -0
  65. data/test/dummy/config/boot.rb +5 -0
  66. data/test/dummy/config/database.yml +23 -0
  67. data/test/dummy/config/environment.rb +5 -0
  68. data/test/dummy/config/environments/development.rb +37 -0
  69. data/test/dummy/config/environments/production.rb +78 -0
  70. data/test/dummy/config/environments/test.rb +39 -0
  71. data/test/dummy/config/initializers/assets.rb +8 -0
  72. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  73. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  74. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  75. data/test/dummy/config/initializers/inflections.rb +16 -0
  76. data/test/dummy/config/initializers/mime_types.rb +4 -0
  77. data/test/dummy/config/initializers/session_store.rb +3 -0
  78. data/test/dummy/config/initializers/sublease.rb +24 -0
  79. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  80. data/test/dummy/config/locales/en.yml +23 -0
  81. data/test/dummy/config/routes.rb +3 -0
  82. data/test/dummy/config/secrets.yml +22 -0
  83. data/test/dummy/db/migrate/20180114164205_create_tenants.rb +10 -0
  84. data/test/dummy/db/migrate/20180115012642_create_lodgers.rb +9 -0
  85. data/test/dummy/db/schema.rb +31 -0
  86. data/test/dummy/lib/assets/.keep +0 -0
  87. data/test/dummy/log/.keep +0 -0
  88. data/test/dummy/public/404.html +67 -0
  89. data/test/dummy/public/422.html +67 -0
  90. data/test/dummy/public/500.html +66 -0
  91. data/test/dummy/public/favicon.ico +0 -0
  92. data/test/fixtures/lodgers.yml +14 -0
  93. data/test/fixtures/tenants.yml +18 -0
  94. data/test/integration/navigation_test.rb +41 -0
  95. data/test/lib/generators/sublease/install_generator_test.rb +25 -0
  96. data/test/models/sublease/lodger_test.rb +67 -0
  97. data/test/models/sublease/tenant_test.rb +25 -0
  98. data/test/sublease_test.rb +133 -0
  99. data/test/test_helper.rb +23 -0
  100. 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
@@ -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