mango 0.5.0.beta2 → 0.5.0.beta3
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/CHANGES.mdown +1 -1
- data/README.mdown +2 -2
- data/lib/mango/application.rb +15 -3
- data/lib/mango/templates/Gemfile +1 -1
- data/lib/mango/version.rb +1 -1
- data/spec/mango/application/routing_public_files_spec.rb +42 -2
- data/spec/mango/version_spec.rb +7 -3
- metadata +4 -5
- data/VERSION +0 -1
data/CHANGES.mdown
CHANGED
data/README.mdown
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Image courtesy of [B.C. Tree Fruits LTD.](http://www.bctree.com/products/sourced/mango.php)
|
4
4
|
|
5
|
-
Mango release 0.5.0.
|
5
|
+
Mango release 0.5.0.beta3 (October 21, 2010)
|
6
6
|
============================================
|
7
7
|
|
8
8
|
Copyright (c) 2010 Ryan Sobol. Licensed under the MIT license. Please see the {file:LICENSE} for more information.
|
@@ -158,6 +158,6 @@ Patches are always welcome and appreciated! The process is straight-forward for
|
|
158
158
|
|
159
159
|
Before making your change, take a moment to get a feel for the style of coding, specifications, and in-line documentation.
|
160
160
|
|
161
|
-
|
161
|
+
Visit the [Issue Tracker](http://github.com/ryansobol/mango/issues) learn how you can lend a hand and where to start.
|
162
162
|
|
163
163
|
Again, thank you for taking the time to help improve Mango.
|
data/lib/mango/application.rb
CHANGED
@@ -275,7 +275,7 @@ module Mango
|
|
275
275
|
# @param [String] uri_path
|
276
276
|
#
|
277
277
|
def render_index_file!(uri_path)
|
278
|
-
return unless uri_path
|
278
|
+
return unless directory_path?(uri_path)
|
279
279
|
|
280
280
|
index_match = File.join(settings.public, "*")
|
281
281
|
index_file_path = build_index_file_path(uri_path)
|
@@ -292,7 +292,7 @@ module Mango
|
|
292
292
|
# @return [String] The path to a potential index.html file
|
293
293
|
#
|
294
294
|
def build_index_file_path(uri_path)
|
295
|
-
uri_path
|
295
|
+
uri_path += "index.html"
|
296
296
|
File.expand_path(uri_path, settings.public)
|
297
297
|
end
|
298
298
|
|
@@ -330,9 +330,21 @@ module Mango
|
|
330
330
|
# @return [String] The path to a potential content page
|
331
331
|
#
|
332
332
|
def build_content_page_path(uri_path)
|
333
|
-
uri_path += "index" if
|
333
|
+
uri_path += "index" if directory_path?(uri_path)
|
334
334
|
File.expand_path(uri_path, settings.content)
|
335
335
|
end
|
336
336
|
|
337
|
+
###############################################################################################
|
338
|
+
|
339
|
+
private
|
340
|
+
|
341
|
+
# Given a URI path, determine whether or no it looks like a directory path
|
342
|
+
#
|
343
|
+
# @param [String] uri_path
|
344
|
+
# @return [Boolean] `true` if the path is empty or has a trailing `/`, otherwise `false`
|
345
|
+
#
|
346
|
+
def directory_path?(uri_path)
|
347
|
+
uri_path.empty? || uri_path[-1] == "/"
|
348
|
+
end
|
337
349
|
end
|
338
350
|
end
|
data/lib/mango/templates/Gemfile
CHANGED
data/lib/mango/version.rb
CHANGED
@@ -34,9 +34,9 @@ Disallow: /cgi-bin/
|
|
34
34
|
|
35
35
|
#################################################################################################
|
36
36
|
|
37
|
-
describe "GET /images/
|
37
|
+
describe "GET /images/" do
|
38
38
|
before(:each) do
|
39
|
-
get "/images/
|
39
|
+
get "/images/"
|
40
40
|
end
|
41
41
|
|
42
42
|
it "returns 200 status code" do
|
@@ -65,6 +65,46 @@ Disallow: /cgi-bin/
|
|
65
65
|
|
66
66
|
#################################################################################################
|
67
67
|
|
68
|
+
describe "GET /" do
|
69
|
+
before(:each) do
|
70
|
+
@file_name = File.join(Mango::Application.public, "index.html")
|
71
|
+
@expected_body = <<-EXPECTED
|
72
|
+
<!DOCTYPE html>
|
73
|
+
<html>
|
74
|
+
<head>
|
75
|
+
<meta charset='utf-8' />
|
76
|
+
<title>/themes/default/public/index.html</title>
|
77
|
+
</head>
|
78
|
+
<body>
|
79
|
+
<p>/themes/default/public/index.html</p>
|
80
|
+
</body>
|
81
|
+
</html>
|
82
|
+
EXPECTED
|
83
|
+
|
84
|
+
File.open(@file_name, "w") { |f| f.write(@expected_body) }
|
85
|
+
|
86
|
+
get "/"
|
87
|
+
end
|
88
|
+
|
89
|
+
after(:each) do
|
90
|
+
File.delete(@file_name)
|
91
|
+
end
|
92
|
+
|
93
|
+
it "returns 200 status code" do
|
94
|
+
last_response.should be_ok
|
95
|
+
end
|
96
|
+
|
97
|
+
it "sends the correct Content-Type header" do
|
98
|
+
last_response["Content-Type"] == "text/html"
|
99
|
+
end
|
100
|
+
|
101
|
+
it "sends the correct body content" do
|
102
|
+
last_response.body.should == @expected_body
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
#################################################################################################
|
107
|
+
|
68
108
|
describe "GET /images/ripe-mango.jpg" do
|
69
109
|
before(:each) do
|
70
110
|
get "/images/ripe-mango.jpg"
|
data/spec/mango/version_spec.rb
CHANGED
@@ -4,15 +4,19 @@ require "spec_helper"
|
|
4
4
|
describe Mango do
|
5
5
|
describe "version synchronizing" do
|
6
6
|
before(:each) do
|
7
|
-
@expected = "0.5.0.
|
7
|
+
@expected = "0.5.0.beta3"
|
8
8
|
end
|
9
9
|
|
10
10
|
it "is correct for Mango::VERSION" do
|
11
11
|
Mango::VERSION.should == @expected
|
12
12
|
end
|
13
13
|
|
14
|
-
it "is correct for the
|
15
|
-
Dir.chdir(PROJECT_ROOT)
|
14
|
+
it "is correct for the README.mdown file" do
|
15
|
+
Dir.chdir(PROJECT_ROOT) do
|
16
|
+
readme = File.read("README.mdown", 250)
|
17
|
+
match = /^Mango release (\d+\.\d+\.\d+\.?\w*)/.match(readme)
|
18
|
+
match.captures.first.should == @expected
|
19
|
+
end
|
16
20
|
end
|
17
21
|
end
|
18
22
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mango
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 1162428694
|
5
5
|
prerelease: true
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 5
|
9
9
|
- 0
|
10
|
-
-
|
11
|
-
version: 0.5.0.
|
10
|
+
- beta3
|
11
|
+
version: 0.5.0.beta3
|
12
12
|
platform: ruby
|
13
13
|
authors:
|
14
14
|
- Ryan Sobol
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2010-10-
|
19
|
+
date: 2010-10-23 00:00:00 -07:00
|
20
20
|
default_executable: mango
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
@@ -210,7 +210,6 @@ files:
|
|
210
210
|
- LICENSE
|
211
211
|
- README.mdown
|
212
212
|
- Rakefile
|
213
|
-
- VERSION
|
214
213
|
- bin/mango
|
215
214
|
- lib/mango.rb
|
216
215
|
- lib/mango/application.rb
|
data/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
0.5.0.beta2
|