aboutsummaryrefslogtreecommitdiffstats
path: root/lib/bundler/plugin/source_list.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bundler/plugin/source_list.rb')
-rw-r--r--lib/bundler/plugin/source_list.rb28
1 files changed, 28 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..33f5e5afbd
--- /dev/null
+++ b/lib/bundler/plugin/source_list.rb
@@ -0,0 +1,28 @@
+# 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 initialize
+ @path_sources = []
+ @git_sources = []
+ @rubygems_aggregate = Plugin::Installer::Rubygems.new
+ @rubygems_sources = []
+ end
+
+ def add_git_source(options = {})
+ add_source_to_list Plugin::Installer::Git.new(options), git_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
+ end
+ end
+ end
+end