class SRS::CLI::Init
Public Class Methods
new()
click to toggle source
# File lib/srs/cli/init.rb, line 7 def initialize @options = {} @opts = OptionParser.new do |o| o.banner = <<-EOF.gsub /^\s+/, "" srs init [options] [dirname] Initialises a workspace in directory [dirname]. A `.srs/` folder will be created containing the default configuration files. A skeleton directory structure may also be created (this is undecided as yet). If no [dirname] is passed, uses the current directory. EOF o.on('-f', '--force', 'Initialise workspace even if the directory is not empty') do @options[:force] = true end end end
Public Instance Methods
help()
click to toggle source
# File lib/srs/cli/init.rb, line 52 def help() puts @opts end
run!(arguments)
click to toggle source
# File lib/srs/cli/init.rb, line 26 def run!(arguments) begin @opts.parse!(arguments) @options[:dir_name] = arguments.shift rescue OptionParser::InvalidOption => e @options[:invalid_argument] = e.message end if @options[:dir_name] == nil then @options[:dir_name] = "./" end begin SRS::Workspace.create(@options[:dir_name], @options[:force]) rescue SRS::Workspace::AlreadyInitialisedError => e puts "SRS is already initialised in #{@options[:dir_name]}." return 2 rescue SRS::Workspace::FolderNotEmptyError => e puts "The current folder is not empty!" puts "Run 'srs init --force' to initialise in this folder anyway." return 1 end 0 end