acts_as_tenant 0.2.2 → 0.2.3
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 +5 -0
- data/lib/acts_as_tenant/model_extensions.rb +1 -1
- data/lib/acts_as_tenant/version.rb +1 -1
- data/spec/model_extensions_spec.rb +13 -1
- metadata +2 -2
data/CHANGELOG.md
CHANGED
@@ -69,7 +69,7 @@ module ActsAsTenant
|
|
69
69
|
# we can't do this for polymorphic associations so we
|
70
70
|
# exempt them
|
71
71
|
reflect_on_all_associations.each do |a|
|
72
|
-
unless a == reflection || a.macro == :has_many || a.options[:polymorphic]
|
72
|
+
unless a == reflection || a.macro == :has_many || a.macro == :has_one || a.options[:polymorphic]
|
73
73
|
# check if the association is aliasing another class, if so
|
74
74
|
# find the unaliased class name
|
75
75
|
association_class = a.options[:class_name].nil? ? a.name.to_s.classify.constantize : a.options[:class_name].constantize
|
@@ -11,6 +11,12 @@ ActiveRecord::Schema.define(:version => 1) do
|
|
11
11
|
t.column :account_id, :integer
|
12
12
|
end
|
13
13
|
|
14
|
+
create_table :managers, :force => true do |t|
|
15
|
+
t.column :name, :string
|
16
|
+
t.column :project_id, :integer
|
17
|
+
t.column :account_id, :integer
|
18
|
+
end
|
19
|
+
|
14
20
|
create_table :tasks, :force => true do |t|
|
15
21
|
t.column :name, :string
|
16
22
|
t.column :account_id, :integer
|
@@ -39,12 +45,18 @@ class Account < ActiveRecord::Base
|
|
39
45
|
end
|
40
46
|
|
41
47
|
class Project < ActiveRecord::Base
|
48
|
+
has_one :manager
|
42
49
|
has_many :tasks
|
43
50
|
acts_as_tenant :account
|
44
51
|
|
45
52
|
validates_uniqueness_to_tenant :name
|
46
53
|
end
|
47
54
|
|
55
|
+
class Manager < ActiveRecord::Base
|
56
|
+
belongs_to :project
|
57
|
+
acts_as_tenant :account
|
58
|
+
end
|
59
|
+
|
48
60
|
class Task < ActiveRecord::Base
|
49
61
|
belongs_to :project
|
50
62
|
default_scope :conditions => { :completed => nil }, :order => "name"
|
@@ -58,6 +70,7 @@ class City < ActiveRecord::Base
|
|
58
70
|
end
|
59
71
|
|
60
72
|
class SubTask < ActiveRecord::Base
|
73
|
+
acts_as_tenant :account
|
61
74
|
belongs_to :something_else, :class_name => "Project"
|
62
75
|
end
|
63
76
|
|
@@ -201,6 +214,5 @@ describe ActsAsTenant do
|
|
201
214
|
describe "It should be possible to use aliased associations" do
|
202
215
|
it { @sub_task = SubTask.create(:name => 'foo').valid?.should == true }
|
203
216
|
end
|
204
|
-
|
205
217
|
|
206
218
|
end
|
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.3
|
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: 2011-
|
12
|
+
date: 2011-11-20 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
|