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
         |