lib/hoe/bundler.rb in hoe-bundler-1.3.0 vs lib/hoe/bundler.rb in hoe-bundler-1.4.0
- old
+ new
@@ -3,11 +3,11 @@
# Rake task to generate a bundler Gemfile based on your declared hoe dependencies.
#
# * <tt>bundler:gemfile</tt>
#
module Bundler
- VERSION = "1.3.0" #:nodoc:
+ VERSION = "1.4.0" #:nodoc:
def define_bundler_tasks
desc "generate a bundler Gemfile from your Hoe.spec dependencies"
task "bundler:gemfile" do
File.open("Gemfile","w") do |gemfile|
@@ -23,35 +23,30 @@
gemfile.puts "# DO NOT EDIT THIS FILE. Instead, edit Rakefile, and run `rake bundler:gemfile`."
gemfile.puts
gemfile.puts "source \"https://rubygems.org/\""
gemfile.puts
- extra_deps = {}
- self.extra_deps.each do |name, version|
+ hoe_bundler_add_dependencies(self.extra_deps, gemfile)
+ hoe_bundler_add_dependencies(self.extra_dev_deps, gemfile, ", :group => [:development, :test]")
+ gemfile.puts "# vim: syntax=ruby"
+
+ gemfile.rewind
+ gemfile.read
+ end
+
+ def hoe_bundler_add_dependencies(deps, gemfile, postfix=nil)
+ deps2 = {}
+ deps.each do |name, version|
version ||= ">=0"
- extra_deps[name] = version unless extra_deps.key?(name)
+ deps2[name] = version unless deps2.key?(name)
end
- extra_deps.each do |name, version|
+ deps2.each do |name, version|
output = [%Q{gem "#{name}"}]
- Array(version).each do |version|
- output << %Q{"#{version.gsub(/ /,'')}"}
+ Array(version).each do |ver|
+ output << %Q{"#{ver.gsub(/ /,'')}"}
end
- gemfile.puts output.join(", ")
+ gemfile.puts %Q{#{output.join(", ")}#{postfix}}
end
gemfile.puts
-
- extra_dev_deps = {}
- self.extra_dev_deps.each do |name, version|
- version ||= ">=0"
- extra_dev_deps[name] = version unless extra_dev_deps.key?(name)
- end
- extra_dev_deps.each do |name, version|
- gemfile.puts %Q{gem "#{name}", "#{version.gsub(/ /,'')}", :group => [:development, :test]}
- end
- gemfile.puts
- gemfile.puts "# vim: syntax=ruby"
-
- gemfile.rewind
- gemfile.read
end
end
end