Sha256: 5f3e00f9775e6f324ede860bb7a6bb822e3d3749e21e91da81bfd23990cf6022

Contents?: true

Size: 707 Bytes

Versions: 9

Compression:

Stored size: 707 Bytes

Contents

require File.expand_path(File.join(File.dirname(__FILE__), "dependency_resolver"))

module Juicer
  module Merger
    # Resolves @depends and @depend statements in comments in JavaScript files.
    # Only the first comment in a JavaScript file is parsed
    #
    class JavaScriptDependencyResolver < DependencyResolver
      @@depends_pattern = /\@depends?\s+([^\s\'\"\;]+)/

     private
      def parse(line, imported_file = nil)
        return $1 if line =~ @@depends_pattern

        # If we have already skimmed through some @depend/@depends or a
        # closing comment we're done.
        throw :done unless imported_file.nil? || !(line =~ /\*\//)
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
cjohansen-juicer-0.2.0 lib/juicer/merger/javascript_dependency_resolver.rb
cjohansen-juicer-0.2.4 lib/juicer/merger/javascript_dependency_resolver.rb
cjohansen-juicer-0.2.5 lib/juicer/merger/javascript_dependency_resolver.rb
juicer-0.2.6 lib/juicer/merger/javascript_dependency_resolver.rb
juicer-0.2.0 lib/juicer/merger/javascript_dependency_resolver.rb
juicer-0.2.5 lib/juicer/merger/javascript_dependency_resolver.rb
juicer-0.2.4 lib/juicer/merger/javascript_dependency_resolver.rb
juicer-0.2.3 lib/juicer/merger/javascript_dependency_resolver.rb
juicer-0.2.1 lib/juicer/merger/javascript_dependency_resolver.rb