Sha256: a9adf7f1f658575fabaf1069ff16d98f6dfedeb447364c1a04bef6b0722c736f

Contents?: true

Size: 865 Bytes

Versions: 5

Compression:

Stored size: 865 Bytes

Contents

module Allen
  class AssetBundle < Struct.new(:preprocessor, :input, :output)
    def build
      Bundler.with_clean_env { preprocessor.build(input, output) }
    end

    def compress
      Bundler.with_clean_env { preprocessor.compress(input, output) }
    end

    def watch
      Bundler.with_clean_env { preprocessor.watch(input, output) }
    end

    alias_method :build!, :build
    alias_method :watch!, :watch
    alias_method :compress!, :compress
  end


  class AssetBundleCollection < Struct.new(:js_bundle, :css_bundle)
    def bundles
      [js_bundle, css_bundle]
    end

    def build
      bundles.each(&:build)
    end

    def compress
      bundles.each(&:compress)
    end

    def watch
      bundles.each(&:watch)
    end

    alias_method :build!, :build
    alias_method :watch!, :watch
    alias_method :compress!, :compress
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
allen-0.3.4 lib/allen/asset_bundle.rb
allen-0.3.3 lib/allen/asset_bundle.rb
allen-0.3.2 lib/allen/asset_bundle.rb
allen-0.3.1 lib/allen/asset_bundle.rb
allen-0.3.0 lib/allen/asset_bundle.rb