sinatra-simple-assets 0.0.4 → 0.0.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.
- data/README.md +48 -7
- data/lib/sinatra/simple_assets.rb +9 -3
- data/sinatra-simple-assets.gemspec +9 -4
- metadata +14 -8
    
        data/README.md
    CHANGED
    
    | @@ -1,10 +1,13 @@ | |
| 1 1 | 
             
            # Sinatra Simple Assets
         | 
| 2 2 |  | 
| 3 | 
            -
             | 
| 4 | 
            -
             | 
| 3 | 
            +
            * Concatinates and minifies JavaScript and CSS
         | 
| 4 | 
            +
            * Provides view helpers
         | 
| 5 5 |  | 
| 6 | 
            -
             | 
| 7 | 
            -
             | 
| 6 | 
            +
            [See examples directory for sample apps](https://github.com/peteog/sinatra-simple-assets/tree/master/examples)
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            ## Usage
         | 
| 9 | 
            +
             | 
| 10 | 
            +
            ### In the app
         | 
| 8 11 |  | 
| 9 12 | 
             
                assets do
         | 
| 10 13 | 
             
                  css :application, [
         | 
| @@ -24,14 +27,52 @@ | |
| 24 27 | 
             
                  ]
         | 
| 25 28 | 
             
                end
         | 
| 26 29 |  | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 30 | 
            +
            ### In the views
         | 
| 31 | 
            +
             | 
| 32 | 
            +
            #### CSS
         | 
| 33 | 
            +
             | 
| 29 34 | 
             
                <%= stylesheet :application %>
         | 
| 30 35 |  | 
| 36 | 
            +
            development:
         | 
| 37 | 
            +
             | 
| 38 | 
            +
                <link rel="stylesheet" href="http://localhost:9292/stylesheets/bootstrap.css">
         | 
| 39 | 
            +
                <link rel="stylesheet" href="http://localhost:9292/stylesheets/application.css">
         | 
| 40 | 
            +
             | 
| 41 | 
            +
            production:
         | 
| 42 | 
            +
             | 
| 43 | 
            +
                <link rel="stylesheet" href="http://localhost:9292/stylesheets/application-1d512aa30517f9c05c6fc81258c586caeafc1136.css">
         | 
| 44 | 
            +
             | 
| 45 | 
            +
            #### JavaScript
         | 
| 46 | 
            +
             | 
| 47 | 
            +
                <%= javascript :application %>
         | 
| 48 | 
            +
             | 
| 49 | 
            +
            development:
         | 
| 50 | 
            +
             | 
| 51 | 
            +
                <script src="http://localhost:9292/javascripts/bootstrap-modal.js"></script>
         | 
| 52 | 
            +
                <script src="http://localhost:9292/javascripts/bootstrap-dropdown.js"></script>
         | 
| 53 | 
            +
                <script src="http://localhost:9292/javascripts/bootstrap-scrollspy.js"></script>
         | 
| 54 | 
            +
                <script src="http://localhost:9292/javascripts/bootstrap-buttons.js"></script>
         | 
| 55 | 
            +
                <script src="http://localhost:9292/javascripts/bootstrap-tabs.js"></script>
         | 
| 56 | 
            +
                <script src="http://localhost:9292/javascripts/bootstrap-twipsy.js"></script>
         | 
| 57 | 
            +
                <script src="http://localhost:9292/javascripts/bootstrap-popover.js"></script>
         | 
| 58 | 
            +
                <script src="http://localhost:9292/javascripts/bootstrap-alerts.js"></script>
         | 
| 59 | 
            +
                <script src="http://localhost:9292/javascripts/application.js"></script>
         | 
| 60 | 
            +
             | 
| 61 | 
            +
            production:
         | 
| 62 | 
            +
             | 
| 63 | 
            +
                <script src="http://localhost:9292/javascripts/application-2e4cd283a08121a850c0117a1ca64648e34cce98.js"></script>
         | 
| 64 | 
            +
             | 
| 65 | 
            +
            ## Precompiling
         | 
| 66 | 
            +
             | 
| 31 67 | 
             
                # Rakefile
         | 
| 68 | 
            +
                require "#{File.dirname(__FILE__)}/app"
         | 
| 69 | 
            +
             | 
| 32 70 | 
             
                namespace :assets do
         | 
| 33 71 | 
             
                  desc 'Precompile assets'
         | 
| 34 72 | 
             
                  task :precompile do
         | 
| 35 | 
            -
             | 
| 73 | 
            +
                   App.assets.precompile
         | 
| 74 | 
            +
                   # Sinatra::Application.assets.precompile # classic apps
         | 
| 36 75 | 
             
                  end
         | 
| 37 76 | 
             
                end
         | 
| 77 | 
            +
             | 
| 78 | 
            +
            [See examples directory for sample apps](https://github.com/peteog/sinatra-simple-assets/tree/master/examples)
         | 
| @@ -1,6 +1,4 @@ | |
| 1 1 | 
             
            require 'sinatra/base'
         | 
| 2 | 
            -
            require 'cssmin'
         | 
| 3 | 
            -
            require 'uglifier'
         | 
| 4 2 |  | 
| 5 3 | 
             
            module Sinatra
         | 
| 6 4 | 
             
              module SimpleAssets
         | 
| @@ -41,14 +39,22 @@ module Sinatra | |
| 41 39 | 
             
                  end
         | 
| 42 40 |  | 
| 43 41 | 
             
                  def hash
         | 
| 44 | 
            -
                    @hash ||=  | 
| 42 | 
            +
                    @hash ||= begin
         | 
| 43 | 
            +
                      Digest::SHA1.hexdigest content
         | 
| 44 | 
            +
                    rescue
         | 
| 45 | 
            +
                      # Find the most recent compressed version if the JS runtime is unavailable
         | 
| 46 | 
            +
                      fname = Dir.glob("#{@root}/#{path}/#{@name}-*.#{@type}").sort_by {|f| File.mtime(f)}.last
         | 
| 47 | 
            +
                      fname.split('-').last.sub(".#{@type}", "")
         | 
| 48 | 
            +
                    end
         | 
| 45 49 | 
             
                  end
         | 
| 46 50 |  | 
| 47 51 | 
             
                  def content
         | 
| 48 52 | 
             
                    case @type
         | 
| 49 53 | 
             
                    when :js
         | 
| 54 | 
            +
                      require 'uglifier'
         | 
| 50 55 | 
             
                      @content ||= Uglifier.new.compress combined
         | 
| 51 56 | 
             
                    when :css
         | 
| 57 | 
            +
                      require 'cssmin'
         | 
| 52 58 | 
             
                      @content ||= CSSMin.minify combined
         | 
| 53 59 | 
             
                    end
         | 
| 54 60 | 
             
                  end
         | 
| @@ -1,16 +1,21 @@ | |
| 1 1 | 
             
            # -*- encoding: utf-8 -*-
         | 
| 2 2 | 
             
            Gem::Specification.new do |s|
         | 
| 3 3 | 
             
              s.name        = 'sinatra-simple-assets'
         | 
| 4 | 
            -
              s.version     = '0.0. | 
| 4 | 
            +
              s.version     = '0.0.5'
         | 
| 5 5 | 
             
              s.authors     = ["Pete O'Grady"]
         | 
| 6 6 | 
             
              s.email       = ['pete@peteogrady.com']
         | 
| 7 7 | 
             
              s.homepage    = 'https://github.com/peteog/sinatra-simple-assets'
         | 
| 8 8 | 
             
              s.summary     = %q{Asset minification and bundling for Sinatra}
         | 
| 9 9 | 
             
              s.description = %q{Asset minification and bundling for Sinatra}
         | 
| 10 10 |  | 
| 11 | 
            -
              s.files | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 11 | 
            +
              s.files = [
         | 
| 12 | 
            +
                ".gitignore",
         | 
| 13 | 
            +
                "Gemfile",
         | 
| 14 | 
            +
                "README.md",
         | 
| 15 | 
            +
                "Rakefile",
         | 
| 16 | 
            +
                "lib/sinatra/simple_assets.rb",
         | 
| 17 | 
            +
                "sinatra-simple-assets.gemspec"
         | 
| 18 | 
            +
              ]
         | 
| 14 19 | 
             
              s.require_paths = ['lib']
         | 
| 15 20 |  | 
| 16 21 | 
             
              s.add_dependency 'cssmin', '~> 1.0.2'
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: sinatra-simple-assets
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.5
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -9,11 +9,11 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date:  | 
| 12 | 
            +
            date: 2012-02-24 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: cssmin
         | 
| 16 | 
            -
              requirement: & | 
| 16 | 
            +
              requirement: &70118374541480 !ruby/object:Gem::Requirement
         | 
| 17 17 | 
             
                none: false
         | 
| 18 18 | 
             
                requirements:
         | 
| 19 19 | 
             
                - - ~>
         | 
| @@ -21,10 +21,10 @@ dependencies: | |
| 21 21 | 
             
                    version: 1.0.2
         | 
| 22 22 | 
             
              type: :runtime
         | 
| 23 23 | 
             
              prerelease: false
         | 
| 24 | 
            -
              version_requirements: * | 
| 24 | 
            +
              version_requirements: *70118374541480
         | 
| 25 25 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 26 26 | 
             
              name: sinatra
         | 
| 27 | 
            -
              requirement: & | 
| 27 | 
            +
              requirement: &70118374540960 !ruby/object:Gem::Requirement
         | 
| 28 28 | 
             
                none: false
         | 
| 29 29 | 
             
                requirements:
         | 
| 30 30 | 
             
                - - ~>
         | 
| @@ -32,10 +32,10 @@ dependencies: | |
| 32 32 | 
             
                    version: 1.3.0
         | 
| 33 33 | 
             
              type: :runtime
         | 
| 34 34 | 
             
              prerelease: false
         | 
| 35 | 
            -
              version_requirements: * | 
| 35 | 
            +
              version_requirements: *70118374540960
         | 
| 36 36 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 37 37 | 
             
              name: uglifier
         | 
| 38 | 
            -
              requirement: & | 
| 38 | 
            +
              requirement: &70118374540480 !ruby/object:Gem::Requirement
         | 
| 39 39 | 
             
                none: false
         | 
| 40 40 | 
             
                requirements:
         | 
| 41 41 | 
             
                - - ~>
         | 
| @@ -43,7 +43,7 @@ dependencies: | |
| 43 43 | 
             
                    version: 1.2.0
         | 
| 44 44 | 
             
              type: :runtime
         | 
| 45 45 | 
             
              prerelease: false
         | 
| 46 | 
            -
              version_requirements: * | 
| 46 | 
            +
              version_requirements: *70118374540480
         | 
| 47 47 | 
             
            description: Asset minification and bundling for Sinatra
         | 
| 48 48 | 
             
            email:
         | 
| 49 49 | 
             
            - pete@peteogrady.com
         | 
| @@ -69,12 +69,18 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 69 69 | 
             
              - - ! '>='
         | 
| 70 70 | 
             
                - !ruby/object:Gem::Version
         | 
| 71 71 | 
             
                  version: '0'
         | 
| 72 | 
            +
                  segments:
         | 
| 73 | 
            +
                  - 0
         | 
| 74 | 
            +
                  hash: -4536364782455552744
         | 
| 72 75 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 73 76 | 
             
              none: false
         | 
| 74 77 | 
             
              requirements:
         | 
| 75 78 | 
             
              - - ! '>='
         | 
| 76 79 | 
             
                - !ruby/object:Gem::Version
         | 
| 77 80 | 
             
                  version: '0'
         | 
| 81 | 
            +
                  segments:
         | 
| 82 | 
            +
                  - 0
         | 
| 83 | 
            +
                  hash: -4536364782455552744
         | 
| 78 84 | 
             
            requirements: []
         | 
| 79 85 | 
             
            rubyforge_project: 
         | 
| 80 86 | 
             
            rubygems_version: 1.8.11
         |