Sha256: d4609236c83c3cf8dad88065687ae29487fffd7e3e446e750a0f28ffa5fb08d2

Contents?: true

Size: 1.41 KB

Versions: 7

Compression:

Stored size: 1.41 KB

Contents

module Sinatra
  module AssetPack
    module Helpers
      def css(*args)
        show_asset_pack :css, *args
      end

      def js(*args)
        show_asset_pack :js, *args
      end

      def img(src, options={})
        attrs = { :src => src }.merge(options)

        local = settings.assets.local_file_for src
        if local
          i = Image[local]
          attrs[:src] = BusterHelpers.add_cache_buster(src, local)
          if i.dimensions?
            attrs[:width]  ||= i.width
            attrs[:height] ||= i.height
          end
        end

        "<img#{HtmlHelpers.kv attrs} />"
      end

      def show_asset_pack(type, *args)
        names = Array.new
        while args.first.is_a?(Symbol)
          names << args.shift
        end

        options = args.shift  if args.first.is_a?(Hash)

        names.map { |name|
          show_one_asset_pack type, name, (options || Hash.new)
        }.join "\n"
      end

      def show_one_asset_pack(type, name, options={})
        pack = settings.assets.packages["#{name}.#{type}"]
        return ""  unless pack

        if settings.production?
          pack.to_production_html options
        else
          pack.to_development_html options
        end
      end

      def asset_filter_css(str)
        Css.preproc str, settings.assets
      end

      def asset_path_for(file, from)
        settings.assets.dyn_local_file_for file, from
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
sinatra-assetpack-0.1.1 lib/sinatra/assetpack/helpers.rb
sinatra-assetpack-0.1.0 lib/sinatra/assetpack/helpers.rb
sinatra-assetpack-0.0.12.pre1 lib/sinatra/assetpack/helpers.rb
sinatra-assetpack-0.0.11 lib/sinatra/assetpack/helpers.rb
sinatra-assetpack-0.0.10 lib/sinatra/assetpack/helpers.rb
sinatra-assetpack-0.0.9 lib/sinatra/assetpack/helpers.rb
sinatra-assetpack-0.0.8 lib/sinatra/assetpack/helpers.rb