diff options
Diffstat (limited to 'lib/bundler/plugin/source_list.rb')
| -rw-r--r-- | lib/bundler/plugin/source_list.rb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/lib/bundler/plugin/source_list.rb b/lib/bundler/plugin/source_list.rb new file mode 100644 index 0000000000..d929ade29e --- /dev/null +++ b/lib/bundler/plugin/source_list.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Bundler + # SourceList object to be used while parsing the Gemfile, setting the + # approptiate options to be used with Source classes for plugin installation + module Plugin + class SourceList < Bundler::SourceList + def add_git_source(options = {}) + add_source_to_list Plugin::Installer::Git.new(options), git_sources + end + + def add_path_source(options = {}) + add_source_to_list Plugin::Installer::Path.new(options), path_sources + end + + def add_rubygems_source(options = {}) + add_source_to_list Plugin::Installer::Rubygems.new(options), @rubygems_sources + end + + def all_sources + path_sources + git_sources + rubygems_sources + [metadata_source] + end + + private + + def source_class + Plugin::Installer::Rubygems + end + end + end +end |
