Sha256: 7aa3c82889df8794745e44c81372e8db8a6a7dd6e5bfd75b7810b22449d70b5e

Contents?: true

Size: 895 Bytes

Versions: 2

Compression:

Stored size: 895 Bytes

Contents

module Middleman
  module Assets
    @@asset_handler_map   = []
    @@asset_handler_stack = []
    
    def self.register(handler_name, &block)
      if block_given?
        @@asset_handler_stack << block
        @@asset_handler_map   << handler_name
      end
    end
    
    def self.get_url(path, prefix="", request=nil)
      @@asset_handler_stack.last.call(path, prefix, request)
    end
    
    def self.before(position, *args)
      current_index = @@asset_handler_map.index(position)
      return nil unless current_index

      previous = current_index - 1
      if (previous >= 0) && (previous < @@asset_handler_map.length)
        @@asset_handler_stack[previous].call(*args)
      else
        nil
      end
    end
  end
end

Middleman::Assets.register :base do |path, prefix, request|
  path.include?("://") ? path : File.join(Middleman::Base.http_prefix || "/", prefix, path)
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
middleman-0.99.0.pre lib/middleman/assets.rb
middleman-0.9.0.pre lib/middleman/assets.rb