Class: Papers::Gem

Inherits:
DependencySpecification show all
Defined in:
lib/papers/dependency_specification/gem.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/gem.rb', line 25

def self.asset_type_name
  'Gem'
end

.introspectedObject



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

def self.introspected
  Bundler.load.specs.map do |spec|
    # Bundler versions aren't controlled by the Gemfile
    if spec.name == 'bundler'
      spec.name
    elsif spec.licenses.include?(Papers.config.version_whitelisted_license)
      spec.name
    else
      "#{spec.name}-#{spec.version}"
    end
  end
end

.manifest_keyObject



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

def self.manifest_key
  "gems"
end

Instance Method Details

#pretty_hashObject



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

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