subdomain-fu 0.5.3 → 0.5.4
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/README.rdoc +23 -27
- data/Rakefile +1 -0
- data/VERSION.yml +3 -2
- data/lib/subdomain_fu/routing_extensions.rb +1 -1
- metadata +3 -3
data/README.rdoc
CHANGED
@@ -12,9 +12,9 @@ install it as a traditional plugin (Rails 2.1 or later):
|
|
12
12
|
|
13
13
|
script/plugin install git://github.com/mbleigh/subdomain-fu.git
|
14
14
|
|
15
|
-
To use it as a
|
15
|
+
To use it as a gem, add it to your config/environment.rb:
|
16
16
|
|
17
|
-
config.gem '
|
17
|
+
config.gem 'subdomain-fu'
|
18
18
|
|
19
19
|
|
20
20
|
== Examples
|
@@ -26,21 +26,21 @@ option both in named and non-named routes as well as in generated resources rout
|
|
26
26
|
Let's say my domain is 'intridea.com'. Here are some examples of the use of the :subdomain
|
27
27
|
option:
|
28
28
|
|
29
|
-
url_for(:controller => "my_controller",
|
30
|
-
|
31
|
-
|
29
|
+
url_for(:controller => "my_controller",
|
30
|
+
:action => "my_action",
|
31
|
+
:subdomain => "awesome") # => http://awesome.intridea.com/my_controller/my_action
|
32
32
|
|
33
33
|
Now let's say I'm at http://awesome.intridea.com/ and I want back to the root.
|
34
34
|
Specifying "false" will remove any current subdomain:
|
35
35
|
|
36
|
-
users_url(:subdomain => false) # => http://intridea.com/users
|
36
|
+
users_url(:subdomain => false) # => http://intridea.com/users
|
37
37
|
|
38
38
|
Note that this plugin does not honor the :only_path notion of routing when doing
|
39
39
|
so would go against the intent of the command. For example, if I were at http://intridea.com
|
40
40
|
again:
|
41
41
|
|
42
|
-
users_path(:subdomain => "fun") # => http://fun.intridea.com/users
|
43
|
-
users_path(:subdomain => false) # => /users
|
42
|
+
users_path(:subdomain => "fun") # => http://fun.intridea.com/users
|
43
|
+
users_path(:subdomain => false) # => /users
|
44
44
|
|
45
45
|
In this way you can rest assured that you will never misdirect your links to the
|
46
46
|
same subdomain when you meant to change it.
|
@@ -49,11 +49,9 @@ same subdomain when you meant to change it.
|
|
49
49
|
|
50
50
|
You have access to current_subdomain and current_domain methods.
|
51
51
|
|
52
|
-
current_subdomain
|
53
|
-
Example for the URL http://awesome.website.stuff.example.com current_subdomain will return "awesome.website.stuff"
|
52
|
+
[current_subdomain] returns all subdomains. For the URL http://awesome.website.stuff.example.com, it will return "awesome.website.stuff"
|
54
53
|
|
55
|
-
current_domain
|
56
|
-
Example for the URL http://awesome.website.stuff.example.com current_subdomain will return "website.stuff.example.com"
|
54
|
+
[current_domain] returns all subdomains except for the subdomain, including the TLD. For the URL http://awesome.website.stuff.example.com, it will return "website.stuff.example.com"
|
57
55
|
|
58
56
|
If what you really want is the entire domain, then use <tt>request.domain</tt> in
|
59
57
|
your controllers. The purpose of current_domain is to only strip off the first
|
@@ -69,17 +67,17 @@ configuration required is:
|
|
69
67
|
A hash for each environment of the size of the top-level domain name.
|
70
68
|
(something.com = 1, localhost = 0, etc.)
|
71
69
|
|
72
|
-
SubdomainFu.tld_size = 1 # sets for current environment
|
73
|
-
SubdomainFu.tld_sizes = {:development => 0,
|
74
|
-
|
75
|
-
|
70
|
+
SubdomainFu.tld_size = 1 # sets for current environment
|
71
|
+
SubdomainFu.tld_sizes = {:development => 0,
|
72
|
+
:test => 0,
|
73
|
+
:production => 1} # set all at once (also the defaults)
|
76
74
|
|
77
75
|
=== Mirrors
|
78
76
|
|
79
77
|
Mirrors are the subdomains that are equivalent to no subdomain (i.e. they 'mirror')
|
80
78
|
the usage of the root domain.
|
81
79
|
|
82
|
-
SubdomainFu.mirrors = %w(www site we) # Defaults to %w(www)
|
80
|
+
SubdomainFu.mirrors = %w(www site we) # Defaults to %w(www)
|
83
81
|
|
84
82
|
=== Preferred Mirror
|
85
83
|
|
@@ -87,23 +85,21 @@ SubdomainFu also understands the notion of a 'preferred mirror', that is, if you
|
|
87
85
|
always want your links going to 'www.yourdomain.com' instead of 'yourdomain.com',
|
88
86
|
you can set the preferred mirror like so:
|
89
87
|
|
90
|
-
SubdomainFu.preferred_mirror = "www"
|
88
|
+
SubdomainFu.preferred_mirror = "www"
|
91
89
|
|
92
|
-
Now when you create a link with subdomain => false in the options the subdomain
|
90
|
+
Now when you create a link with <tt>:subdomain => false</tt> in the options the subdomain
|
93
91
|
will default to the preferred mirror.
|
94
92
|
|
95
93
|
== Routing
|
96
94
|
|
97
|
-
SubdomainFu can also work within Rails' routing for subdomain-specific routes. For instance, if you only wanted your administrative tools available in the "admin" subdomain you could add this to your routes.rb file:
|
95
|
+
SubdomainFu can also work within Rails' routing for subdomain-specific routes. For instance, if you only wanted your administrative tools available in the "admin" subdomain you could add this to your <tt>config/routes.rb</tt> file:
|
98
96
|
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
97
|
+
map.with_options :conditions => {:subdomain => 'admin'} do |admin|
|
98
|
+
admin.resources :posts
|
99
|
+
admin.resources :users
|
100
|
+
end
|
103
101
|
|
104
|
-
In addition to specifying a string, you could also specify <tt>false</tt> to
|
105
|
-
require no subdomain (this includes mirrors that you've set up such as www)
|
106
|
-
or a regular expression to match a range of subdomains.
|
102
|
+
In addition to specifying a string, you could also specify <tt>false</tt> to require no subdomain (this includes mirrors that you've set up such as www) or a regular expression to match a range of subdomains.
|
107
103
|
|
108
104
|
== Resources
|
109
105
|
|
data/Rakefile
CHANGED
@@ -22,6 +22,7 @@ begin
|
|
22
22
|
gemspec.description = "SubdomainFu is a Rails plugin to provide all of the basic functionality necessary to handle multiple subdomain applications (such as Basecamp-esque subdomain accounts and more)."
|
23
23
|
gemspec.authors = ["Michael Bleigh"]
|
24
24
|
end
|
25
|
+
Jeweler::GemcutterTasks.new
|
25
26
|
rescue LoadError
|
26
27
|
puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
|
27
28
|
end
|
data/VERSION.yml
CHANGED
@@ -24,7 +24,7 @@ module SubdomainFu
|
|
24
24
|
|
25
25
|
def extract_request_environment_with_subdomain(request)
|
26
26
|
env = extract_request_environment_without_subdomain(request)
|
27
|
-
env.merge(:host => request.host, :domain => request.domain, :subdomain => SubdomainFu.
|
27
|
+
env.merge(:host => request.host, :domain => request.domain, :subdomain => SubdomainFu.current_subdomain(request))
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: subdomain-fu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Bleigh
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2010-01-18 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
@@ -59,7 +59,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
59
59
|
requirements: []
|
60
60
|
|
61
61
|
rubyforge_project: subdomain-fu
|
62
|
-
rubygems_version: 1.3.
|
62
|
+
rubygems_version: 1.3.5
|
63
63
|
signing_key:
|
64
64
|
specification_version: 3
|
65
65
|
summary: SubdomainFu is a Rails plugin that provides subdomain routing and URL writing helpers.
|