acts_as_tenant 0.2.6 → 0.2.7
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.
- data/CHANGELOG.md +4 -0
- data/README.md +8 -3
- data/lib/acts_as_tenant/controller_extensions.rb +24 -1
- data/lib/acts_as_tenant/version.rb +1 -1
- metadata +3 -3
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
0.2.7
|
2
|
+
-----
|
3
|
+
* Changed the interface for passing in the current_tenant manually in the controller. `set_current_tenant_to` has been deprecated and replaced by `set_current_tenant_through_filter` declaration and the `set_current_tenant` method. See readme for details.
|
4
|
+
|
1
5
|
0.2.6
|
2
6
|
-----
|
3
7
|
* Fixed a bug with resolving the tenant model name (thx devton!)
|
data/README.md
CHANGED
@@ -43,10 +43,15 @@ This tells acts_as_tenant to use the current subdomain to identify the current t
|
|
43
43
|
**OR Pass in the current tenant yourself**
|
44
44
|
|
45
45
|
class ApplicationController < ActionController::Base
|
46
|
-
|
47
|
-
|
46
|
+
set_current_tenant_through_filter
|
47
|
+
before_filter :your_method_that_finds_the_current_tenant
|
48
|
+
|
49
|
+
def your_method_that_finds_the_current_tenant
|
50
|
+
current_account = Account.find_it
|
51
|
+
set_current_tenant(current_account)
|
52
|
+
end
|
48
53
|
end
|
49
|
-
|
54
|
+
Setting the current_tenant yourself, requires you to declare `set_current_tenant_through_filter` at the top of your application_controller to tell acts_as_tenant that you are going to use a before_filter to setup the current tenant. Next you should actually setup that before_filter to fetch the current tenant and pass it to `acts_as_tenant` by using `set_current_tenant(current_tenant)` in the before_filter.
|
50
55
|
|
51
56
|
**note:** If the current tenant is not set by either of these methods, Acts_as_tenant will be unable to apply the proper scope to your models. So make sure you use one of the two methods to tell acts_as_tenant about the current tenant.
|
52
57
|
|
@@ -31,13 +31,36 @@ module ActsAsTenant
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
+
# This method sets up a method that allows manual setting of the current_tenant. This method should
|
35
|
+
# be used in a before_filter. In addition, a helper is setup that returns the current_tenant
|
36
|
+
def set_current_tenant_through_filter
|
37
|
+
self.class_eval do
|
38
|
+
helper_method :current_tenant
|
39
|
+
|
40
|
+
def set_current_tenant(current_tenant_object)
|
41
|
+
ActsAsTenant.current_tenant = current_tenant_object
|
42
|
+
end
|
43
|
+
|
44
|
+
private
|
45
|
+
# helper method to have the current_tenant available in the controller
|
46
|
+
def current_tenant
|
47
|
+
ActsAsTenant.current_tenant
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
|
53
|
+
|
34
54
|
# this method allows manual setting of the current_tenant by passing in a tenant object
|
35
55
|
#
|
36
56
|
def set_current_tenant_to(current_tenant_object)
|
37
57
|
self.class_eval do
|
38
58
|
cattr_accessor :tenant_class
|
39
59
|
attr_accessor :current_tenant
|
40
|
-
before_filter lambda {
|
60
|
+
before_filter lambda {
|
61
|
+
ActiveSupport::Deprecation.warn "set_current_tenant_to is deprecated and will be removed from Acts_as_tenant in a future releases, please use set_current_tenant_through_filter instead.", caller
|
62
|
+
@current_tenant_instance = ActsAsTenant.current_tenant = current_tenant_object
|
63
|
+
}
|
41
64
|
|
42
65
|
helper_method :current_tenant
|
43
66
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: acts_as_tenant
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-03-24 00:00:00.000000000Z
|
13
13
|
dependencies: []
|
14
14
|
description: Integrates multi-tenancy into a Rails application in a convenient and
|
15
15
|
out-of-your way manner
|
@@ -54,7 +54,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
54
54
|
version: '0'
|
55
55
|
requirements: []
|
56
56
|
rubyforge_project: acts_as_tenant
|
57
|
-
rubygems_version: 1.8.
|
57
|
+
rubygems_version: 1.8.15
|
58
58
|
signing_key:
|
59
59
|
specification_version: 3
|
60
60
|
summary: Add multi-tenancy to Rails applications using a shared db strategy
|