summaryrefslogtreecommitdiff
path: root/lib/bundler/rubygems_ext.rb
diff options
context:
space:
mode:
authorJoshua Hull <joshbuddy@gmail.com>2010-03-25 12:01:16 -0400
committerAndre Arko <andre@arko.net>2010-03-30 10:13:20 -0700
commita97a0c335bb4ce6ea546f6c18df4120f5d383cb8 (patch)
tree5d5259c10787309628a605efb3aa4d5fb58d33b8 /lib/bundler/rubygems_ext.rb
parentc2b002645d297658364f87aced7a6e81b62f7962 (diff)
downloadbundler-a97a0c335bb4ce6ea546f6c18df4120f5d383cb8.tar.gz
Add --gemspec option to `bundle init`
Diffstat (limited to 'lib/bundler/rubygems_ext.rb')
-rw-r--r--lib/bundler/rubygems_ext.rb25
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/bundler/rubygems_ext.rb b/lib/bundler/rubygems_ext.rb
index def7e07db2..d02e20c377 100644
--- a/lib/bundler/rubygems_ext.rb
+++ b/lib/bundler/rubygems_ext.rb
@@ -16,6 +16,31 @@ module Gem
def groups
@groups ||= []
end
+
+ def to_gemfile(path = nil)
+ gemfile = "source :gemcutter\n"
+ gemfile << dependencies_to_gemfile(dependencies)
+ gemfile << dependencies_to_gemfile(development_dependencies, :development)
+ end
+
+ private
+
+ def dependencies_to_gemfile(dependencies, group = nil)
+ gemfile = ''
+ if dependencies.any?
+ gemfile << "group #{group} do\n" if group
+ dependencies.each do |dependency|
+ gemfile << ' ' if group
+ gemfile << %|gem "#{dependency.name}"|
+ req = dependency.requirements_list.first
+ gemfile << %|, "#{req}"| if req
+ gemfile << "\n"
+ end
+ gemfile << "end\n" if group
+ end
+ gemfile
+ end
+
end
class Dependency