Class: LicenseFinder::BundledGem

Inherits:
Object
  • Object
show all
Defined in:
lib/license_finder/bundled_gem.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(spec, bundler_dependency = nil) ⇒ BundledGem

Returns a new instance of BundledGem.



5
6
7
8
# File 'lib/license_finder/bundled_gem.rb', line 5

def initialize(spec, bundler_dependency = nil)
  @spec = spec
  @bundler_dependency = bundler_dependency
end

Instance Attribute Details

#bundler_dependencyObject (readonly)

Returns the value of attribute bundler_dependency.



3
4
5
# File 'lib/license_finder/bundled_gem.rb', line 3

def bundler_dependency
  @bundler_dependency
end

#parentsObject (readonly)

Returns the value of attribute parents.



3
4
5
# File 'lib/license_finder/bundled_gem.rb', line 3

def parents
  @parents
end

#specObject (readonly)

Returns the value of attribute spec.



3
4
5
# File 'lib/license_finder/bundled_gem.rb', line 3

def spec
  @spec
end

Instance Method Details

#childrenObject



26
27
28
# File 'lib/license_finder/bundled_gem.rb', line 26

def children
  @children ||= @spec.dependencies.collect(&:name)
end

#dependency_nameObject



18
19
20
# File 'lib/license_finder/bundled_gem.rb', line 18

def dependency_name
  @spec.name
end

#dependency_versionObject



22
23
24
# File 'lib/license_finder/bundled_gem.rb', line 22

def dependency_version
  @spec.version.to_s
end

#determine_licenseObject



30
31
32
33
34
# File 'lib/license_finder/bundled_gem.rb', line 30

def determine_license
  return @spec.license if @spec.license

  license_files.map(&:license).compact.first || 'other'
end

#license_filesObject



36
37
38
# File 'lib/license_finder/bundled_gem.rb', line 36

def license_files
  LicenseFiles.new(@spec.full_gem_path).files
end

#nameObject



10
11
12
# File 'lib/license_finder/bundled_gem.rb', line 10

def name
  "#{dependency_name} #{dependency_version}"
end

#save_or_mergeObject



44
45
46
# File 'lib/license_finder/bundled_gem.rb', line 44

def save_or_merge
  GemSaver.find_or_initialize_by_name(@spec.name, self).save
end

#sort_orderObject



40
41
42
# File 'lib/license_finder/bundled_gem.rb', line 40

def sort_order
  dependency_name.downcase
end