Class: Papers::Javascript

Inherits:
DependencySpecification show all
Defined in:
lib/papers/dependency_specification/javascript.rb

Instance Attribute Summary

Attributes inherited from DependencySpecification

#license, #license_url, #name, #project_url

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from DependencySpecification

#acceptable_license?, #initialize, #name_without_version

Constructor Details

This class inherits a constructor from Papers::DependencySpecification

Class Method Details

.asset_type_nameObject



25
26
27
# File 'lib/papers/dependency_specification/javascript.rb', line 25

def self.asset_type_name
  'JavaScript file'
end

.introspectedObject



12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/papers/dependency_specification/javascript.rb', line 12

def self.introspected
  dirs = Papers.config.javascript_paths
  whitelist_dirs = Papers.config.whitelist_javascript_paths

  # TODO: add logic for determining rails. Is Rails.root better than Dir.pwd for such a case?
  root_regexp = /^#{Regexp.escape Dir.pwd.to_s}\//
  files = dirs.map { |dir| Dir.glob("#{dir}/**/*.{js,js.erb,coffee,coffee.erb}") }.flatten.map do |name|
    name = name.sub(root_regexp, '')
    name unless whitelist_dirs.any? { |dir| name.start_with?(dir) }
  end
  files.compact
end

.manifest_keyObject



29
30
31
# File 'lib/papers/dependency_specification/javascript.rb', line 29

def self.manifest_key
  "javascripts"
end

Instance Method Details

#pretty_hashObject



3
4
5
6
7
8
9
10
# File 'lib/papers/dependency_specification/javascript.rb', line 3

def pretty_hash
  {
    name: @name,
    license: license,
    license_url: @license_url,
    project_url: @project_url
  }
end