Sha256: 4f7cf8e6623807d32dfcca1534e0b4f308996a0d35667739c4cd1a496f61afba

Contents?: true

Size: 666 Bytes

Versions: 8

Compression:

Stored size: 666 Bytes

Contents

require "juicer/dependency_resolver/dependency_resolver"

module Juicer
  # 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 encoded_line(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

    def extension
      ".js"
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
juicer-1.2.0 lib/juicer/dependency_resolver/javascript_dependency_resolver.rb
juicer-1.1.2 lib/juicer/dependency_resolver/javascript_dependency_resolver.rb
juicer-1.1.1 lib/juicer/dependency_resolver/javascript_dependency_resolver.rb
juicer-1.1.0 lib/juicer/dependency_resolver/javascript_dependency_resolver.rb
juicer-1.0.22 lib/juicer/dependency_resolver/javascript_dependency_resolver.rb
juicer-1.0.21 lib/juicer/dependency_resolver/javascript_dependency_resolver.rb
juicer-1.0.20 lib/juicer/dependency_resolver/javascript_dependency_resolver.rb
juicer-1.0.19 lib/juicer/dependency_resolver/javascript_dependency_resolver.rb