Sha256: 24e0eade821e67e02411eaf0d15a0a16689949248c5f8737d0a02a7906c8518c

Contents?: true

Size: 924 Bytes

Versions: 4

Compression:

Stored size: 924 Bytes

Contents

require 'sprockets'

module Puffer
  module Extensions
    module DirectiveProcessor
      extend ActiveSupport::Concern

      module InstanceMethods

        def process_require_all_directive(path)
          raise ArgumentError, "require_all argument must be relative" unless relative?(path)

          context.environment.paths.each do |root_path|
            root = Pathname.new(root_path).join(path).expand_path

            if root.exist? && root.directory?
              context.depend_on(root)

              Dir["#{root}/*"].sort.each do |filename|
                if filename == self.file
                  next
                elsif context.asset_requirable?(filename)
                  context.require_asset(filename)
                end
              end
            end
          end
        end

      end

    end
  end
end

Sprockets::DirectiveProcessor.send :include, Puffer::Extensions::DirectiveProcessor

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
puffer-0.1.0 lib/puffer/extensions/directive_processor.rb
puffer-0.0.32 lib/puffer/extensions/directive_processor.rb
puffer-0.0.31 lib/puffer/extensions/directive_processor.rb
puffer-0.0.30 lib/puffer/extensions/directive_processor.rb