diff options
author | Joshua Hull <joshbuddy@gmail.com> | 2010-03-25 12:01:16 -0400 |
---|---|---|
committer | Andre Arko <andre@arko.net> | 2010-03-30 10:13:20 -0700 |
commit | a97a0c335bb4ce6ea546f6c18df4120f5d383cb8 (patch) | |
tree | 5d5259c10787309628a605efb3aa4d5fb58d33b8 /lib/bundler/rubygems_ext.rb | |
parent | c2b002645d297658364f87aced7a6e81b62f7962 (diff) | |
download | bundler-a97a0c335bb4ce6ea546f6c18df4120f5d383cb8.tar.gz |
Add --gemspec option to `bundle init`
Diffstat (limited to 'lib/bundler/rubygems_ext.rb')
-rw-r--r-- | lib/bundler/rubygems_ext.rb | 25 |
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 |