sinatra-exstatic-assets 2.0.0 → 2.0.1
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.md +8 -1
- data/Gemfile +1 -0
- data/examples/app/public/js/helpers.js +1 -0
- data/examples/app2/public/js/helpers.js +1 -0
- data/lib/sinatra/exstatic_assets/version.rb +1 -1
- data/lib/sinatra/exstatic_assets.rb +11 -6
- data/spec/spec_helper.rb +9 -0
- data/spec/static_assets_spec.rb +21 -7
- metadata +4 -2
    
        data/CHANGES.md
    CHANGED
    
    | @@ -1,9 +1,16 @@ | |
| 1 1 | 
             
            # CH CH CH CHANGES! #
         | 
| 2 2 |  | 
| 3 | 
            +
            ## Friday the 18th of April 2014, v2.0.1 ##
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            * Bug fix, remote urls were sometimes being prepended with the public folder, fixed.
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            ----
         | 
| 8 | 
            +
             | 
| 9 | 
            +
             | 
| 3 10 | 
             
            ## Saturday the 25th of May 2013, v2.0.0 ##
         | 
| 4 11 |  | 
| 5 12 | 
             
            * First release as the renamed library.
         | 
| 6 13 | 
             
            * Bumped version number to 2 to make complete break from previous version numbers.
         | 
| 7 14 | 
             
            * Added this file!
         | 
| 8 15 |  | 
| 9 | 
            -
            ----
         | 
| 16 | 
            +
            ----
         | 
    
        data/Gemfile
    CHANGED
    
    
| @@ -0,0 +1 @@ | |
| 1 | 
            +
            // nowt
         | 
| @@ -0,0 +1 @@ | |
| 1 | 
            +
            // nowt
         | 
| @@ -137,12 +137,13 @@ module Sinatra | |
| 137 137 | 
             
                  # @see Sinatra::Helpers#uri
         | 
| 138 138 | 
             
                  def sss_url_for(addr, options=nil)
         | 
| 139 139 | 
             
                    options ||= {}
         | 
| 140 | 
            -
                     | 
| 140 | 
            +
                    opts = {timestamp: true}.merge options
         | 
| 141 | 
            +
                    absolute = opts.delete :absolute
         | 
| 141 142 | 
             
                    absolute = false if absolute.nil?
         | 
| 142 | 
            -
                    script_tag =  | 
| 143 | 
            -
                    script_tag = true if script_tag.nil?
         | 
| 143 | 
            +
                    script_tag = opts.delete(:script_tag)
         | 
| 144 | 
            +
                    script_tag = true if script_tag.nil? unless addr.is_uri?
         | 
| 144 145 | 
             
                    href = uri addr, absolute, script_tag
         | 
| 145 | 
            -
                    addr.respond_to?(:querystring) ?
         | 
| 146 | 
            +
                    addr.respond_to?(:querystring) && opts[:timestamp] ?
         | 
| 146 147 | 
             
                      "#{href}#{addr.querystring}" :
         | 
| 147 148 | 
             
                      href
         | 
| 148 149 | 
             
                  end
         | 
| @@ -193,7 +194,10 @@ module Sinatra | |
| 193 194 |  | 
| 194 195 | 
             
                  # Make's sure the options don't get mixed up with the other args.
         | 
| 195 196 | 
             
                  def sss_extract_options(a)
         | 
| 196 | 
            -
                    opts = a.last.respond_to?(:keys) ? | 
| 197 | 
            +
                    opts = a.last.respond_to?(:keys) ?
         | 
| 198 | 
            +
                      a.pop :
         | 
| 199 | 
            +
                      {}
         | 
| 200 | 
            +
                    opts ||= {}
         | 
| 197 201 | 
             
                    [a, opts]
         | 
| 198 202 | 
             
                  end
         | 
| 199 203 |  | 
| @@ -283,7 +287,8 @@ module Sinatra | |
| 283 287 | 
             
                    # xhtml style like <link rel="shortcut icon" href="http://example.com/myicon.ico" />
         | 
| 284 288 | 
             
                    options[:rel] ||= settings.xhtml ? "shortcut icon" : "icon"
         | 
| 285 289 |  | 
| 286 | 
            -
                     | 
| 290 | 
            +
                    url_options = options.delete(:url_options) || {}
         | 
| 291 | 
            +
                    options[:href] = sss_url_for(Asset.new(source), url_options.merge(timestamp: false))
         | 
| 287 292 |  | 
| 288 293 | 
             
                    Tag.new "link", options
         | 
| 289 294 | 
             
                  end
         | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    | @@ -29,10 +29,19 @@ Dir[ File.join( Spec_dir, "/support/**/*.rb")].each do |f| | |
| 29 29 | 
             
            end
         | 
| 30 30 |  | 
| 31 31 | 
             
            require 'rack/test/accepts'
         | 
| 32 | 
            +
            require 'timecop'
         | 
| 32 33 |  | 
| 33 34 | 
             
            RSpec.configure do |config|
         | 
| 34 35 | 
             
              config.treat_symbols_as_metadata_keys_with_true_values = true
         | 
| 35 36 |  | 
| 36 37 | 
             
              config.include Rack::Test::Accepts, :type => :request
         | 
| 38 | 
            +
             | 
| 39 | 
            +
              config.before(:each, :time_sensitive => true) do
         | 
| 40 | 
            +
                Timecop.freeze "2013-03-31 00:00:00 0000"
         | 
| 41 | 
            +
              end
         | 
| 42 | 
            +
             | 
| 43 | 
            +
              config.after(:each, :time_sensitive => true) do
         | 
| 44 | 
            +
                Timecop.return
         | 
| 45 | 
            +
              end
         | 
| 37 46 | 
             
            end
         | 
| 38 47 |  | 
    
        data/spec/static_assets_spec.rb
    CHANGED
    
    | @@ -22,7 +22,8 @@ describe Asset, :time_sensitive do | |
| 22 22 | 
             
                its(:"is_uri?") { should be_false }
         | 
| 23 23 | 
             
                its(:querystring) { should == "?ts=#{Time.now.to_i}" }
         | 
| 24 24 | 
             
              end
         | 
| 25 | 
            -
              context "Given a url" do | 
| 25 | 
            +
              context "Given a url" do
         | 
| 26 | 
            +
                let(:filename) { "http://code.jquery.com/jquery-1.9.1.min.js" }
         | 
| 26 27 | 
             
                let(:expected) { "http://code.jquery.com/jquery-1.9.1.min.js" }
         | 
| 27 28 | 
             
                it { should_not be_nil }
         | 
| 28 29 | 
             
                it { should == expected }
         | 
| @@ -111,12 +112,25 @@ describe "Private methods", :time_sensitive do | |
| 111 112 | 
             
                it { should == expected }
         | 
| 112 113 | 
             
              end
         | 
| 113 114 | 
             
              context "Images" do
         | 
| 114 | 
            -
                 | 
| 115 | 
            -
             | 
| 116 | 
            -
             | 
| 117 | 
            -
             | 
| 118 | 
            -
             | 
| 119 | 
            -
             | 
| 115 | 
            +
                context "Local" do
         | 
| 116 | 
            +
                  let(:url) { "/images/foo.png" }
         | 
| 117 | 
            +
                  let(:filename) { "/images/foo.png" }
         | 
| 118 | 
            +
                  let(:expected) { %Q!<img src="/bar/images/foo.png?ts=#{time}" />! }
         | 
| 119 | 
            +
                  subject { o.send :sss_image_tag, url }
         | 
| 120 | 
            +
                  it { should_not be_nil }
         | 
| 121 | 
            +
                  it { should == expected }
         | 
| 122 | 
            +
                end
         | 
| 123 | 
            +
                context "Remote" do
         | 
| 124 | 
            +
                  let(:url) { "http://example.org/images/foo.png" }
         | 
| 125 | 
            +
                  let(:filename) { "/images/foo.png" }
         | 
| 126 | 
            +
                  let(:expected) { %Q!<img src="#{url}" />! }
         | 
| 127 | 
            +
                  subject { 
         | 
| 128 | 
            +
                    o.send  :sss_image_tag,
         | 
| 129 | 
            +
                            url
         | 
| 130 | 
            +
                  }
         | 
| 131 | 
            +
                  it { should_not be_nil }
         | 
| 132 | 
            +
                  it { should == expected }
         | 
| 133 | 
            +
                end
         | 
| 120 134 | 
             
              end
         | 
| 121 135 | 
             
            end
         | 
| 122 136 |  | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: sinatra-exstatic-assets
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 2.0. | 
| 4 | 
            +
              version: 2.0.1
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -10,7 +10,7 @@ authors: | |
| 10 10 | 
             
            autorequire: 
         | 
| 11 11 | 
             
            bindir: bin
         | 
| 12 12 | 
             
            cert_chain: []
         | 
| 13 | 
            -
            date:  | 
| 13 | 
            +
            date: 2014-04-18 00:00:00.000000000 Z
         | 
| 14 14 | 
             
            dependencies:
         | 
| 15 15 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 16 16 | 
             
              name: sinatra
         | 
| @@ -48,12 +48,14 @@ files: | |
| 48 48 | 
             
            - examples/app/public/css/screen.css
         | 
| 49 49 | 
             
            - examples/app/public/favicon.ico
         | 
| 50 50 | 
             
            - examples/app/public/images/3609420787_f7fc0e53c7.jpg
         | 
| 51 | 
            +
            - examples/app/public/js/helpers.js
         | 
| 51 52 | 
             
            - examples/app/views/index.erb
         | 
| 52 53 | 
             
            - examples/app/views/layout.erb
         | 
| 53 54 | 
             
            - examples/app2/main.rb
         | 
| 54 55 | 
             
            - examples/app2/public/css/base.css
         | 
| 55 56 | 
             
            - examples/app2/public/css/screen.css
         | 
| 56 57 | 
             
            - examples/app2/public/favicon
         | 
| 58 | 
            +
            - examples/app2/public/js/helpers.js
         | 
| 57 59 | 
             
            - examples/app2/views/index.erb
         | 
| 58 60 | 
             
            - examples/app2/views/layout.erb
         | 
| 59 61 | 
             
            - examples/config.rb
         |