domain_switcher 0.1.4 → 0.1.5
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.
@@ -19,7 +19,7 @@ module DomainSwitcher
|
|
19
19
|
Rails.logger.info "DomainSwitcher: Use existing cache => namespace is the same: #{namespace}"
|
20
20
|
RAILS_CACHE
|
21
21
|
else
|
22
|
-
c.class.new(d.class.new(instance_variable_get('@servers'), d.instance_variable_get('@options').merge(:namespace => namespace, :prefix_key => namespace)))
|
22
|
+
c.class.new(d.class.new(d.instance_variable_get('@servers'), d.instance_variable_get('@options').merge(:namespace => namespace, :prefix_key => namespace)))
|
23
23
|
end
|
24
24
|
elsif c.is_a? ActiveSupport::Cache::FileStore
|
25
25
|
c.class.new("tmp/cache/#{namespace}")
|
@@ -17,6 +17,7 @@ module DomainSwitcher
|
|
17
17
|
@env = env
|
18
18
|
@websites = []
|
19
19
|
@domains = []
|
20
|
+
@websites_hash = {}
|
20
21
|
parse_conf!
|
21
22
|
end
|
22
23
|
|
@@ -36,7 +37,7 @@ module DomainSwitcher
|
|
36
37
|
website << Domain.new(website, d, conf.merge(conf))
|
37
38
|
else # It's an hash like this: {"www.website1.com"=>{"name"=>"Website 1 override", "width"=>900}}
|
38
39
|
raise "DomainSwitcher: Bad indentation in the config file" if d.size != 1
|
39
|
-
website << Domain.new(website, d.first.first, d.first.last
|
40
|
+
website << Domain.new(website, d.first.first, conf.merge(d.first.last))
|
40
41
|
end
|
41
42
|
end
|
42
43
|
|
@@ -45,6 +46,7 @@ module DomainSwitcher
|
|
45
46
|
|
46
47
|
# Collect websites and domains
|
47
48
|
@websites << website
|
49
|
+
@websites_hash[website.symbol.to_sym] = website
|
48
50
|
@domains += website.domains
|
49
51
|
end
|
50
52
|
end
|
@@ -56,6 +58,11 @@ module DomainSwitcher
|
|
56
58
|
|
57
59
|
def default_domain
|
58
60
|
@default_domain ||= @domains.find { |d| d.default? } || @domains.first
|
59
|
-
end
|
61
|
+
end
|
62
|
+
|
63
|
+
# Retrieve a website by symbol
|
64
|
+
def [](website_symbol)
|
65
|
+
@websites_hash[website_symbol]
|
66
|
+
end
|
60
67
|
end
|
61
68
|
end
|
@@ -11,12 +11,19 @@ module DomainSwitcher
|
|
11
11
|
@name = name
|
12
12
|
@symbol = symbol
|
13
13
|
@domains = domains
|
14
|
+
@domains_hash = {}
|
14
15
|
build_config!(conf)
|
15
16
|
end
|
16
17
|
|
17
18
|
def <<(domain)
|
19
|
+
@domains_hash[domain.domain] = domain
|
18
20
|
@domains << domain
|
19
21
|
end
|
22
|
+
|
23
|
+
# Retrieve a domain by the domain
|
24
|
+
def [](domain)
|
25
|
+
@domains_hash[domain]
|
26
|
+
end
|
20
27
|
|
21
28
|
end
|
22
29
|
end
|
@@ -81,6 +81,10 @@ describe :config_loader do
|
|
81
81
|
it "cookie domain can be overrided" do
|
82
82
|
@config.default_domain.cookie_domain.should == 'website2cookie.com'
|
83
83
|
end
|
84
|
+
|
85
|
+
it "stuff should be overriden in domain" do
|
86
|
+
@config[:website1]['www.website1.com'].name.should == 'Website 1 override'
|
87
|
+
end
|
84
88
|
|
85
89
|
it "handle properly environments" do
|
86
90
|
c = DomainSwitcher::ConfigLoader.new(File.join(File.dirname(__FILE__), '../config/websites.yml'))
|
data/spec/spec_helper.rb
CHANGED
@@ -24,11 +24,18 @@ module ActiveSupport
|
|
24
24
|
module Cache
|
25
25
|
class MemCacheStore
|
26
26
|
def initialize(*args)
|
27
|
-
|
27
|
+
if args.first.respond_to? :prefix_key
|
28
|
+
@data = args.first
|
29
|
+
else
|
30
|
+
@data = Memcached.new(*args)
|
31
|
+
end
|
28
32
|
end
|
29
33
|
end
|
30
34
|
|
31
|
-
class Memcached
|
35
|
+
class Memcached
|
36
|
+
attr_reader :servers
|
37
|
+
attr_reader :options
|
38
|
+
|
32
39
|
def initialize(servers, options = {})
|
33
40
|
@servers = servers
|
34
41
|
@options = options
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: domain_switcher
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 17
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 5
|
10
|
+
version: 0.1.5
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Guillaume Luccisano
|