active_tenant 0.0.2 → 0.0.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/.gitignore +18 -18
- data/.travis.yml +5 -0
- data/Gemfile +4 -4
- data/LICENSE +21 -21
- data/README.md +41 -39
- data/Rakefile +2 -2
- data/active_tenant.gemspec +23 -23
- data/lib/active_tenant/active_record_extensions.rb +59 -55
- data/lib/active_tenant/adapters/postgres_adapter.rb +72 -69
- data/lib/active_tenant/adapters/sqlite_adapter.rb +75 -71
- data/lib/active_tenant/base.rb +40 -40
- data/lib/active_tenant/configuration.rb +4 -4
- data/lib/active_tenant/engine.rb +3 -3
- data/lib/active_tenant/version.rb +3 -3
- data/lib/active_tenant.rb +29 -29
- data/lib/tasks/migration.rake +21 -21
- data/spec/adapters_spec.rb +249 -217
- data/spec/migrations/20120823132512_create_globals.rb +10 -10
- data/spec/migrations/20120823132854_create_tenants.rb +12 -12
- data/spec/migrations/20120823132856_create_other_tenants.rb +12 -12
- data/spec/migrations/20120823132902_create_customs.rb +12 -12
- data/spec/models.rb +12 -0
- data/spec/spec_helper.rb +8 -10
- data/spec/support/adapter_test_helper.rb +69 -58
- metadata +40 -11
@@ -1,59 +1,70 @@
|
|
1
|
-
module AdapterTestHelper
|
2
|
-
|
3
|
-
def self.before_all(adapter_name)
|
4
|
-
method = "#{adapter_name}_before_all"
|
5
|
-
send method if respond_to? method
|
6
|
-
end
|
7
|
-
|
8
|
-
def self.after_all(adapter_name)
|
9
|
-
method = "#{adapter_name}_after_all"
|
10
|
-
send method if respond_to? method
|
11
|
-
end
|
12
|
-
|
13
|
-
def self.before_each(adapter_name)
|
14
|
-
method = "#{adapter_name}_before_each"
|
15
|
-
send method if respond_to? method
|
16
|
-
end
|
17
|
-
|
18
|
-
def self.after_each(adapter_name)
|
19
|
-
method = "#{adapter_name}_after_each"
|
20
|
-
send method if respond_to? method
|
21
|
-
end
|
22
|
-
|
23
|
-
private
|
24
|
-
|
25
|
-
def self.sqlite3_before_each
|
26
|
-
ActiveTenant.configuration.global = 'test'
|
27
|
-
ActiveRecord::Base.establish_connection adapter: 'sqlite3', database: "#{
|
28
|
-
ActiveRecord::Base.connection
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
ActiveRecord::Base.
|
49
|
-
ActiveRecord::Base.connection.
|
50
|
-
ActiveRecord::Base.
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
ActiveRecord::Base.
|
57
|
-
|
58
|
-
|
1
|
+
module AdapterTestHelper
|
2
|
+
|
3
|
+
def self.before_all(adapter_name)
|
4
|
+
method = "#{adapter_name}_before_all"
|
5
|
+
send method if respond_to? method
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.after_all(adapter_name)
|
9
|
+
method = "#{adapter_name}_after_all"
|
10
|
+
send method if respond_to? method
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.before_each(adapter_name)
|
14
|
+
method = "#{adapter_name}_before_each"
|
15
|
+
send method if respond_to? method
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.after_each(adapter_name)
|
19
|
+
method = "#{adapter_name}_after_each"
|
20
|
+
send method if respond_to? method
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def self.sqlite3_before_each
|
26
|
+
ActiveTenant.configuration.global = 'test'
|
27
|
+
ActiveRecord::Base.establish_connection adapter: 'sqlite3', database: "#{temp_path}/test.sqlite3"
|
28
|
+
ActiveRecord::Base.connection
|
29
|
+
load 'models.rb'
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.sqlite3_after_each
|
33
|
+
ActiveRecord::Base.connection.disconnect!
|
34
|
+
Dir.glob("#{temp_path}/*.sqlite3").each do |file|
|
35
|
+
FileUtils.rm(file)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.postgresql_before_all
|
40
|
+
ActiveTenant.configuration.global = 'public'
|
41
|
+
config = {
|
42
|
+
adapter: 'postgresql',
|
43
|
+
database: 'active_tenant_test',
|
44
|
+
schema_search_path: 'public',
|
45
|
+
username: 'postgres',
|
46
|
+
password: 'password'
|
47
|
+
}
|
48
|
+
ActiveRecord::Base.establish_connection config.merge database: 'postgres'
|
49
|
+
ActiveRecord::Base.connection.drop_database config[:database] rescue nil
|
50
|
+
ActiveRecord::Base.connection.create_database config[:database]
|
51
|
+
ActiveRecord::Base.establish_connection config
|
52
|
+
load 'models.rb'
|
53
|
+
end
|
54
|
+
|
55
|
+
def self.postgresql_after_all
|
56
|
+
config = ActiveRecord::Base.connection_config
|
57
|
+
ActiveRecord::Base.establish_connection config.merge database: 'postgres'
|
58
|
+
ActiveRecord::Base.disconnect!
|
59
|
+
ActiveRecord::Base.connection.drop_database config[:database]
|
60
|
+
end
|
61
|
+
|
62
|
+
private
|
63
|
+
|
64
|
+
def self.temp_path
|
65
|
+
path = Pathname.new("#{File.dirname(__FILE__)}/../../tmp").expand_path.to_s
|
66
|
+
FileUtils.mkpath path unless Dir.exist? path
|
67
|
+
path
|
68
|
+
end
|
69
|
+
|
59
70
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_tenant
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-12-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: 3.2.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 3.2.0
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: pg
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: '0'
|
33
38
|
type: :development
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: sqlite3
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
@@ -43,10 +53,15 @@ dependencies:
|
|
43
53
|
version: '0'
|
44
54
|
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: rspec
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ! '>='
|
@@ -54,7 +69,12 @@ dependencies:
|
|
54
69
|
version: '0'
|
55
70
|
type: :development
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
58
78
|
description: ActiveRecord extensions for multi tenant applications
|
59
79
|
email:
|
60
80
|
- gabynaiman@gmail.com
|
@@ -63,6 +83,7 @@ extensions: []
|
|
63
83
|
extra_rdoc_files: []
|
64
84
|
files:
|
65
85
|
- .gitignore
|
86
|
+
- .travis.yml
|
66
87
|
- Gemfile
|
67
88
|
- LICENSE
|
68
89
|
- README.md
|
@@ -82,6 +103,7 @@ files:
|
|
82
103
|
- spec/migrations/20120823132854_create_tenants.rb
|
83
104
|
- spec/migrations/20120823132856_create_other_tenants.rb
|
84
105
|
- spec/migrations/20120823132902_create_customs.rb
|
106
|
+
- spec/models.rb
|
85
107
|
- spec/spec_helper.rb
|
86
108
|
- spec/support/adapter_test_helper.rb
|
87
109
|
homepage: https://github.com/gabynaiman/active_tenant
|
@@ -96,15 +118,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
96
118
|
- - ! '>='
|
97
119
|
- !ruby/object:Gem::Version
|
98
120
|
version: '0'
|
121
|
+
segments:
|
122
|
+
- 0
|
123
|
+
hash: -95515491
|
99
124
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
100
125
|
none: false
|
101
126
|
requirements:
|
102
127
|
- - ! '>='
|
103
128
|
- !ruby/object:Gem::Version
|
104
129
|
version: '0'
|
130
|
+
segments:
|
131
|
+
- 0
|
132
|
+
hash: -95515491
|
105
133
|
requirements: []
|
106
134
|
rubyforge_project:
|
107
|
-
rubygems_version: 1.8.
|
135
|
+
rubygems_version: 1.8.24
|
108
136
|
signing_key:
|
109
137
|
specification_version: 3
|
110
138
|
summary: ActiveRecord extensions for multi tenant applications
|
@@ -114,5 +142,6 @@ test_files:
|
|
114
142
|
- spec/migrations/20120823132854_create_tenants.rb
|
115
143
|
- spec/migrations/20120823132856_create_other_tenants.rb
|
116
144
|
- spec/migrations/20120823132902_create_customs.rb
|
145
|
+
- spec/models.rb
|
117
146
|
- spec/spec_helper.rb
|
118
147
|
- spec/support/adapter_test_helper.rb
|