class YSI::Init
Attributes
out[RW]
Public Class Methods
new(path)
click to toggle source
# File lib/yes_ship_it/init.rb, line 5 def initialize(path) @path = path @out = STDOUT end
Public Instance Methods
setup_config()
click to toggle source
# File lib/yes_ship_it/init.rb, line 11 def setup_config config_file = File.join(@path, "yes_ship_it.conf") if File.exist?(config_file) out.puts "There already is a file `yes_ship_it.conf`." out.puts out.puts "This project does not seem to need initialization." return end out.puts "Initialized directory for shipping." out.puts File.open(config_file, "w") do |f| f.puts "# Experimental release automation. See https://github.com/cornelius/yes_ship_it." if File.exist?(File.join(@path, "lib", "version.rb")) out.puts "It looks like this is is Ruby project." f.puts "include:" f.puts " ruby_gem" else out.puts "Couldn't determine type of project, wrote a generic template." f.puts "assertions:" f.puts " - release_branch" f.puts " - working_directory" f.puts " - version" f.puts " - change_log" f.puts " - tag" f.puts " - pushed_tag" f.puts " - pushed_code" f.puts " - yes_it_shipped" end end out.puts out.puts "The generated configuration includes an assertion, which publishes the release on" out.puts "#{YesItShipped.url}, our release notification service. If you" out.puts "prefer to not publish releases there, simply remove the `yes_it_shipped`" out.puts "assertion." out.puts out.puts "Check the file `yes_ship_it.conf` and adapt it to your needs." out.puts out.puts "Happy shipping!" end