Module: VirtualGem
- Defined in:
- lib/virtual_gem.rb,
lib/virtual_gem/version.rb,
lib/virtual_gem/virtual_gem_info.rb,
lib/virtual_gem/gem/specification.rb,
lib/virtual_gem/bundler/lock_file_parser.rb
Defined Under Namespace
Modules: ExtentLockFileParser, VirtualGemStubs
Classes: VirtualGemInfo
Constant Summary
collapse
- VERSION =
'0.1.0'.freeze
Class Method Summary
collapse
Class Method Details
.register_requirements_changes(name:, version:, new_requirements:) ⇒ Object
changes = [ { gem_name: [‘=< 0.3’] } ]
16
17
18
19
|
# File 'lib/virtual_gem.rb', line 16
def register_requirements_changes(name:, version:, new_requirements:)
@requirements_changes ||= Hash.new { |h, k| h[k] = {} }
@requirements_changes[name][version] = new_requirements
end
|
.register_virtual_gem(name:, new_version:, original_version:) ⇒ Object
8
9
10
11
12
13
|
# File 'lib/virtual_gem.rb', line 8
def register_virtual_gem(name:, new_version:, original_version:)
info = ::VirtualGem::VirtualGemInfo.new(name: name, new_version: new_version, original_version: original_version)
@virtual_gem_dict ||= Hash.new { |h, k| h[k] = {} }
@virtual_gem_dict[name][new_version] = info
end
|
.replace_new_requirements(specs) ⇒ Object
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/virtual_gem.rb', line 26
def replace_new_requirements(specs)
return unless @requirements_changes
dict = specs.group_by(&:name)
@requirements_changes.each do |name, change_settings|
gems = dict[name]
next unless gems
versions = gems.map { |g| [g.version.to_s, g] }.to_h
next if versions.empty?
replace_requirements(versions, change_settings)
end
end
|
.update_virtual_gems(stubs, stubs_by_name) ⇒ Object
21
22
23
24
|
# File 'lib/virtual_gem.rb', line 21
def update_virtual_gems(stubs, stubs_by_name)
create_virtual_gems(stubs, stubs_by_name)
update_new_requirements(stubs_by_name)
end
|