Class: Papers::ManifestCommand
- Inherits:
-
Object
- Object
- Papers::ManifestCommand
show all
- Defined in:
- lib/papers/manifest_command.rb
Instance Method Summary
collapse
Constructor Details
#initialize(manifest_path = nil) ⇒ ManifestCommand
Returns a new instance of ManifestCommand.
3
4
5
|
# File 'lib/papers/manifest_command.rb', line 3
def initialize(manifest_path = nil)
@manifest_path = manifest_path || File.join('config', 'papers_manifest.yml')
end
|
Instance Method Details
#blank?(str) ⇒ Boolean
84
85
86
|
# File 'lib/papers/manifest_command.rb', line 84
def blank?(str)
str.to_s.empty?
end
|
11
12
13
14
15
16
17
18
|
# File 'lib/papers/manifest_command.rb', line 11
def
[
"# Dependency Manifest for the Papers gem",
"# Used to test your gems and javascript against license whitelist",
"#",
"# http://github.com/newrelic/papers\n"
].join("\n")
end
|
#ensure_valid_url(url_string) ⇒ Object
88
89
90
91
92
93
94
95
|
# File 'lib/papers/manifest_command.rb', line 88
def ensure_valid_url(url_string)
match_url = URI::regexp.match(url_string)
if match_url.nil?
nil
else
match_url[0]
end
end
|
#gem_entry(spec) ⇒ Object
72
73
74
75
76
77
78
79
80
81
82
|
# File 'lib/papers/manifest_command.rb', line 72
def gem_entry(spec)
gem_license = blank?(spec.license) ? 'Unknown' : spec.license
gem_project_url = blank?(spec.homepage) ? nil : spec.homepage
{
'license' => gem_license,
'license_url' => nil,
'project_url' => ensure_valid_url(gem_project_url)
}
end
|
#gem_name_and_version(spec) ⇒ Object
64
65
66
67
68
69
70
|
# File 'lib/papers/manifest_command.rb', line 64
def gem_name_and_version(spec)
if spec.name == 'bundler'
name_and_version = spec.name
else
name_and_version = "#{spec.name}-#{spec.version}"
end
end
|
#get_installed_bower_components ⇒ Object
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/papers/manifest_command.rb', line 40
def get_installed_bower_components
components = {}
BowerComponent.full_introspected_entries.each do |entry|
components[entry['name']] = {
'license' => 'Unknown',
'license_url' => nil,
'project_url' => ensure_valid_url(entry['homepage'])
}
end
components.empty? ? nil : components
end
|
#get_installed_gems ⇒ Object
20
21
22
23
24
25
26
|
# File 'lib/papers/manifest_command.rb', line 20
def get_installed_gems
gems = {}
Bundler.load.specs.each do |spec|
gems[gem_name_and_version(spec)] = gem_entry(spec)
end
return gems
end
|
#get_installed_javascripts ⇒ Object
28
29
30
31
32
33
34
35
36
37
38
|
# File 'lib/papers/manifest_command.rb', line 28
def get_installed_javascripts
js = {}
Javascript.introspected.each do |entry|
js[entry] = {
'license' => 'Unknown',
'license_url' => nil,
'project_url' => nil
}
end
js.empty? ? nil : js
end
|
#get_installed_npm_packages ⇒ Object
52
53
54
55
56
57
58
59
60
61
62
|
# File 'lib/papers/manifest_command.rb', line 52
def get_installed_npm_packages
packages = {}
NpmPackage.full_introspected_entries.each do |entry|
packages[entry['name']] = {
'license' => 'Unknown',
'license_url' => nil,
'project_url' => nil
}
end
packages.empty? ? nil : packages
end
|
#manifest_exists? ⇒ Boolean
7
8
9
|
# File 'lib/papers/manifest_command.rb', line 7
def manifest_exists?
File.exist?(@manifest_path)
end
|