class Bundler::CLI::Init
Attributes
options[R]
Public Class Methods
new(options)
click to toggle source
# File lib/bundler/cli/init.rb, line 6 def initialize(options) @options = options end
Public Instance Methods
run()
click to toggle source
# File lib/bundler/cli/init.rb, line 10 def run if File.exist?(gemfile) Bundler.ui.error "#{gemfile} already exists at #{File.expand_path(gemfile)}" exit 1 end unless File.writable?(Dir.pwd) Bundler.ui.error "Can not create #{gemfile} as the current directory is not writable." exit 1 end if options[:gemspec] gemspec = File.expand_path(options[:gemspec]) unless File.exist?(gemspec) Bundler.ui.error "Gem specification #{gemspec} doesn't exist" exit 1 end spec = Bundler.load_gemspec_uncached(gemspec) File.open(gemfile, "wb") do |file| file << "# Generated from #{gemspec}\n" file << spec.to_gemfile end else FileUtils.cp(File.expand_path("../../templates/#{gemfile}", __FILE__), gemfile) end puts "Writing new #{gemfile} to #{SharedHelpers.pwd}/#{gemfile}" end
Private Instance Methods
gemfile()
click to toggle source
# File lib/bundler/cli/init.rb, line 43 def gemfile @gemfile ||= Bundler.settings[:init_gems_rb] ? "gems.rb" : "Gemfile" end