diff --git a/lib/jammit/packager.rb b/lib/jammit/packager.rb index 26cc7313..aed355de 100644 --- a/lib/jammit/packager.rb +++ b/lib/jammit/packager.rb @@ -70,6 +70,13 @@ def individual_urls(package, extension) package_for(package, extension)[:urls] end + # Determines the existence of a packaged asset in the assets.yml file. + def includes?(package, extension) + !!package_for(package.to_sym, extension.to_sym) + rescue PackageNotFound + false + end + def compressor @compressor ||= Compressor.new end diff --git a/test/unit/test_packager.rb b/test/unit/test_packager.rb index 38743ba6..a7288c15 100644 --- a/test/unit/test_packager.rb +++ b/test/unit/test_packager.rb @@ -33,6 +33,19 @@ def test_fetching_lists_of_nested_urls assert urls == ['/assets/jst_test_nested.jst'] end + def test_package_includes + assert Jammit.packager.includes?(:css_test, :css) + assert Jammit.packager.includes?("css_test_nested", "css") + assert Jammit.packager.includes?(:js_test, :js) + assert Jammit.packager.includes?("js_test_nested", "js") + assert Jammit.packager.includes?(:jst_test, :js) + assert Jammit.packager.includes?("jst_test_nested", "js") + + assert !Jammit.packager.includes?(:not_included_file, :js) + assert !Jammit.packager.includes?(:test1, :css) + assert !Jammit.packager.includes?(:"nested/nested1", :js) + end + def test_packaging_stylesheets css = Jammit.packager.pack_stylesheets(:css_test) assert css == File.read('test/fixtures/jammed/css_test.css') @@ -129,5 +142,4 @@ def test_packaging_javascripts_with_package_names assert File.read('test/public/assets/js_test.js') == File.read('test/fixtures/jammed/js_test_package_names.js') FileUtils.rm_rf("test/public/assets") end - end