Sha256: 9cced22c8620aacd27ac0f9833e6c9e99ab38ab1fd793989c2ce34aed5b8412f
Contents?: true
Size: 1.7 KB
Versions: 2
Compression:
Stored size: 1.7 KB
Contents
module LicenseFinder class BundledGemSaver extend Forwardable def_delegators :spec, :name, :version, :summary, :description, :homepage def_delegators :bundled_gem, :bundler_dependency, :determine_license, :children def self.find_or_initialize_by_name(name, bundled_gem) dependency = Dependency.named(name) new(dependency, bundled_gem) end def initialize(dependency, bundled_gem) @bundled_gem = bundled_gem @dependency = dependency end def save DB.transaction do apply_dependency_definition refresh_bundler_groups refresh_children apply_better_license end dependency end private attr_reader :dependency, :bundled_gem def spec bundled_gem.spec end def apply_dependency_definition dependency.version = version.to_s dependency.summary = summary dependency.description = description dependency.homepage = homepage dependency.license ||= LicenseAlias.create(name: determine_license) dependency.save end def refresh_bundler_groups dependency.remove_all_bundler_groups if bundler_dependency bundler_dependency.groups.each { |group| dependency.add_bundler_group BundlerGroup.find_or_create(name: group.to_s) } end end def refresh_children dependency.remove_all_children children.each do |child| dependency.add_child Dependency.named(child) end end def apply_better_license if dependency.license && !dependency.license.manual && determine_license != 'other' dependency.license.name = determine_license dependency.license.save end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
license_finder-0.8.2-java | lib/license_finder/bundled_gem_saver.rb |
license_finder-0.8.2 | lib/license_finder/bundled_gem_saver.rb |