Module: Geminabox::GemListMerge
- Defined in:
- lib/geminabox/gem_list_merge.rb
Defined Under Namespace
Modules: CombineLocalAndRemoteGemVersions, LocalGemsTakePrecedenceOverRemoteGems
Class Method Summary
collapse
Class Method Details
.merge(local_gem_list, remote_gem_list, strategy:) ⇒ Object
7
8
9
|
# File 'lib/geminabox/gem_list_merge.rb', line 7
def self.merge(local_gem_list, remote_gem_list, strategy:)
strategy_for(strategy).merge(local_gem_list, remote_gem_list)
end
|
.strategy_for(strategy) ⇒ Object
11
12
13
14
15
16
17
18
19
20
|
# File 'lib/geminabox/gem_list_merge.rb', line 11
def self.strategy_for(strategy)
case strategy
when :local_gems_take_precedence_over_remote_gems
LocalGemsTakePrecedenceOverRemoteGems
when :combine_local_and_remote_gem_versions
CombineLocalAndRemoteGemVersions
else
raise ArgumentError, "Merge strategy must be :local_gems_take_precedence_over_remote_gems (default) or :merge_local_and_remote_gem_versions"
end
end
|