ramaze-asset 0.2.1 → 0.2.2
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/lib/ramaze/asset/environment.rb +10 -5
- data/lib/ramaze/asset/version.rb +1 -1
- data/spec/ramaze_asset/environment.rb +48 -0
- metadata +13 -13
| @@ -290,7 +290,7 @@ module Ramaze | |
| 290 290 | 
             
                    end
         | 
| 291 291 |  | 
| 292 292 | 
             
                    @files[type]       ||= {:global => {:__all => []}}
         | 
| 293 | 
            -
                    @added_files[type] ||=  | 
| 293 | 
            +
                    @added_files[type] ||= {}
         | 
| 294 294 |  | 
| 295 295 | 
             
                    options, controller, methods = prepare_options(options)
         | 
| 296 296 | 
             
                    file_group                   = Types[type].new(files, options)
         | 
| @@ -376,7 +376,7 @@ module Ramaze | |
| 376 376 | 
             
                    end
         | 
| 377 377 |  | 
| 378 378 | 
             
                    @added_files.each do |type, files|
         | 
| 379 | 
            -
                      @added_files[type] =  | 
| 379 | 
            +
                      @added_files[type] = {}
         | 
| 380 380 | 
             
                    end
         | 
| 381 381 | 
             
                  end
         | 
| 382 382 |  | 
| @@ -397,8 +397,11 @@ module Ramaze | |
| 397 397 | 
             
                  def store_group(key, file_group, controller, methods)
         | 
| 398 398 | 
             
                    # Remove all files from the group that have already been loaded.
         | 
| 399 399 | 
             
                    file_group.files.each_with_index do |file, index|
         | 
| 400 | 
            -
                      if @added_files.key?(key) | 
| 401 | 
            -
                         | 
| 400 | 
            +
                      if @added_files.key?(key)
         | 
| 401 | 
            +
                        if @added_files[key].key?(controller) \
         | 
| 402 | 
            +
                        and @added_files[key][controller].include?(file)
         | 
| 403 | 
            +
                          file_group.files.delete_at(index)
         | 
| 404 | 
            +
                        end
         | 
| 402 405 | 
             
                      end
         | 
| 403 406 | 
             
                    end
         | 
| 404 407 |  | 
| @@ -412,7 +415,9 @@ module Ramaze | |
| 412 415 | 
             
                      @files[key][controller][m].push(file_group)
         | 
| 413 416 | 
             
                    end
         | 
| 414 417 |  | 
| 415 | 
            -
                    @added_files[key]  | 
| 418 | 
            +
                    @added_files[key]             ||= {}
         | 
| 419 | 
            +
                    @added_files[key][controller] ||= []
         | 
| 420 | 
            +
                    @added_files[key][controller]  += file_group.files
         | 
| 416 421 | 
             
                  end
         | 
| 417 422 |  | 
| 418 423 | 
             
                  ##
         | 
    
        data/lib/ramaze/asset/version.rb
    CHANGED
    
    
| @@ -147,4 +147,52 @@ describe('Ramaze::Asset::Environment') do | |
| 147 147 | 
             
                files.include?('/css/github.css').should === true
         | 
| 148 148 | 
             
                files.include?('/css/reset.css').should  === true
         | 
| 149 149 | 
             
              end
         | 
| 150 | 
            +
             | 
| 151 | 
            +
              it('Load multiple files for the same controller') do
         | 
| 152 | 
            +
                SpecEnv.serve(
         | 
| 153 | 
            +
                  :javascript,
         | 
| 154 | 
            +
                  ['js/mootools_core'],
         | 
| 155 | 
            +
                  :controller => SpecEnvironment
         | 
| 156 | 
            +
                )
         | 
| 157 | 
            +
             | 
| 158 | 
            +
                SpecEnv.serve(
         | 
| 159 | 
            +
                  :javascript,
         | 
| 160 | 
            +
                  ['js/mootools_more'],
         | 
| 161 | 
            +
                  :controller => SpecEnvironment
         | 
| 162 | 
            +
                )
         | 
| 163 | 
            +
             | 
| 164 | 
            +
                SpecEnv.serve(
         | 
| 165 | 
            +
                  :javascript,
         | 
| 166 | 
            +
                  ['js/mootools_core'],
         | 
| 167 | 
            +
                  :controller => SpecEnvironment2
         | 
| 168 | 
            +
                )
         | 
| 169 | 
            +
             | 
| 170 | 
            +
                SpecEnv.files[:javascript].keys.include?(:SpecEnvironment).should  === true
         | 
| 171 | 
            +
                SpecEnv.files[:javascript].keys.include?(:SpecEnvironment2).should === true
         | 
| 172 | 
            +
             | 
| 173 | 
            +
                SpecEnv.files[:javascript][:SpecEnvironment][:__all].length.should  === 2
         | 
| 174 | 
            +
                SpecEnv.files[:javascript][:SpecEnvironment2][:__all].length.should === 1
         | 
| 175 | 
            +
             | 
| 176 | 
            +
                body1 = get('/').body
         | 
| 177 | 
            +
                body2 = get('/2').body
         | 
| 178 | 
            +
             | 
| 179 | 
            +
                body1.should != body2
         | 
| 180 | 
            +
             | 
| 181 | 
            +
                body1.include?('js/mootools_core').should === true
         | 
| 182 | 
            +
                body1.include?('js/mootools_more').should === true
         | 
| 183 | 
            +
                body2.include?('js/mootools_core').should === true
         | 
| 184 | 
            +
                body2.include?('js/mootools_more').should === false
         | 
| 185 | 
            +
              end
         | 
| 186 | 
            +
             | 
| 187 | 
            +
              it('Files should only be loaded once for the same controller') do
         | 
| 188 | 
            +
                3.times do
         | 
| 189 | 
            +
                  SpecEnv.serve(
         | 
| 190 | 
            +
                    :javascript,
         | 
| 191 | 
            +
                    ['js/mootools_core'],
         | 
| 192 | 
            +
                    :controller => SpecEnvironment
         | 
| 193 | 
            +
                  )
         | 
| 194 | 
            +
                end
         | 
| 195 | 
            +
             | 
| 196 | 
            +
                SpecEnv.files[:javascript][:SpecEnvironment][:__all].length.should === 1
         | 
| 197 | 
            +
              end
         | 
| 150 198 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: ramaze-asset
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.2. | 
| 4 | 
            +
              version: 0.2.2
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -14,7 +14,7 @@ default_executable: | |
| 14 14 | 
             
            dependencies:
         | 
| 15 15 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 16 16 | 
             
              name: ramaze
         | 
| 17 | 
            -
              requirement: & | 
| 17 | 
            +
              requirement: &2152570740 !ruby/object:Gem::Requirement
         | 
| 18 18 | 
             
                none: false
         | 
| 19 19 | 
             
                requirements:
         | 
| 20 20 | 
             
                - - ! '>='
         | 
| @@ -22,10 +22,10 @@ dependencies: | |
| 22 22 | 
             
                    version: 2011.07.25
         | 
| 23 23 | 
             
              type: :runtime
         | 
| 24 24 | 
             
              prerelease: false
         | 
| 25 | 
            -
              version_requirements: * | 
| 25 | 
            +
              version_requirements: *2152570740
         | 
| 26 26 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 27 27 | 
             
              name: rake
         | 
| 28 | 
            -
              requirement: & | 
| 28 | 
            +
              requirement: &2152570220 !ruby/object:Gem::Requirement
         | 
| 29 29 | 
             
                none: false
         | 
| 30 30 | 
             
                requirements:
         | 
| 31 31 | 
             
                - - ! '>='
         | 
| @@ -33,10 +33,10 @@ dependencies: | |
| 33 33 | 
             
                    version: 0.9.2
         | 
| 34 34 | 
             
              type: :development
         | 
| 35 35 | 
             
              prerelease: false
         | 
| 36 | 
            -
              version_requirements: * | 
| 36 | 
            +
              version_requirements: *2152570220
         | 
| 37 37 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 38 38 | 
             
              name: yard
         | 
| 39 | 
            -
              requirement: & | 
| 39 | 
            +
              requirement: &2152569740 !ruby/object:Gem::Requirement
         | 
| 40 40 | 
             
                none: false
         | 
| 41 41 | 
             
                requirements:
         | 
| 42 42 | 
             
                - - ! '>='
         | 
| @@ -44,10 +44,10 @@ dependencies: | |
| 44 44 | 
             
                    version: 0.7.2
         | 
| 45 45 | 
             
              type: :development
         | 
| 46 46 | 
             
              prerelease: false
         | 
| 47 | 
            -
              version_requirements: * | 
| 47 | 
            +
              version_requirements: *2152569740
         | 
| 48 48 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 49 49 | 
             
              name: bacon
         | 
| 50 | 
            -
              requirement: & | 
| 50 | 
            +
              requirement: &2152569260 !ruby/object:Gem::Requirement
         | 
| 51 51 | 
             
                none: false
         | 
| 52 52 | 
             
                requirements:
         | 
| 53 53 | 
             
                - - ! '>='
         | 
| @@ -55,10 +55,10 @@ dependencies: | |
| 55 55 | 
             
                    version: 1.1.0
         | 
| 56 56 | 
             
              type: :development
         | 
| 57 57 | 
             
              prerelease: false
         | 
| 58 | 
            -
              version_requirements: * | 
| 58 | 
            +
              version_requirements: *2152569260
         | 
| 59 59 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 60 60 | 
             
              name: rdiscount
         | 
| 61 | 
            -
              requirement: & | 
| 61 | 
            +
              requirement: &2152568780 !ruby/object:Gem::Requirement
         | 
| 62 62 | 
             
                none: false
         | 
| 63 63 | 
             
                requirements:
         | 
| 64 64 | 
             
                - - ! '>='
         | 
| @@ -66,10 +66,10 @@ dependencies: | |
| 66 66 | 
             
                    version: 1.6.8
         | 
| 67 67 | 
             
              type: :development
         | 
| 68 68 | 
             
              prerelease: false
         | 
| 69 | 
            -
              version_requirements: * | 
| 69 | 
            +
              version_requirements: *2152568780
         | 
| 70 70 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 71 71 | 
             
              name: rack-test
         | 
| 72 | 
            -
              requirement: & | 
| 72 | 
            +
              requirement: &2152599780 !ruby/object:Gem::Requirement
         | 
| 73 73 | 
             
                none: false
         | 
| 74 74 | 
             
                requirements:
         | 
| 75 75 | 
             
                - - ! '>='
         | 
| @@ -77,7 +77,7 @@ dependencies: | |
| 77 77 | 
             
                    version: 0.6.1
         | 
| 78 78 | 
             
              type: :development
         | 
| 79 79 | 
             
              prerelease: false
         | 
| 80 | 
            -
              version_requirements: * | 
| 80 | 
            +
              version_requirements: *2152599780
         | 
| 81 81 | 
             
            description: A simple yet powerful asset manager for Ramaze.
         | 
| 82 82 | 
             
            email: yorickpeterse@gmail.com
         | 
| 83 83 | 
             
            executables: []
         |