Wrap all lines of Ruby code to 79 characters (maximum)

This commit is contained in:
Nicolas McCurdy
2014-01-08 21:31:59 -05:00
parent e42eff4e10
commit 0bbb82f9ba
5 changed files with 162 additions and 60 deletions

View File

@@ -32,14 +32,16 @@ class Homesick < Thor
destination = nil
if File.exist?(uri)
uri = Pathname.new(uri).expand_path
fail "Castle already cloned to #{uri}" if uri.to_s.start_with?(repos_dir.to_s)
fail "Castle already cloned to #{uri}" \
if uri.to_s.start_with?(repos_dir.to_s)
destination = uri.basename
ln_s uri, destination
elsif uri =~ GITHUB_NAME_REPO_PATTERN
destination = Pathname.new(uri).basename
git_clone "https://github.com/#{Regexp.last_match[1]}.git", destination: destination
git_clone "https://github.com/#{Regexp.last_match[1]}.git",
destination: destination
elsif uri =~ /%r([^%r]*?)(\.git)?\Z/ || uri =~ /[^:]+:([^:]+)(\.git)?\Z/
destination = Pathname.new(Regexp.last_match[1])
git_clone uri
@@ -57,21 +59,28 @@ class Homesick < Thor
destination = Pathname.new(name)
homesickrc = destination.join('.homesickrc').expand_path
if homesickrc.exist?
proceed = shell.yes?("#{name} has a .homesickrc. Proceed with evaling it? (This could be destructive)")
proceed = shell.yes?("#{name} has a .homesickrc. Proceed with "\
"evaling it? (This could be destructive)")
if proceed
shell.say_status 'eval', homesickrc
inside destination do
eval homesickrc.read, binding, homesickrc.expand_path.to_s
end
else
shell.say_status 'eval skip', "not evaling #{homesickrc}, #{destination} may need manual configuration", :blue
shell.say_status 'eval skip', "not evaling #{homesickrc}, " \
"#{destination} may need manual " \
"configuration", :blue
end
end
end
end
desc 'pull CASTLE', 'Update the specified castle'
method_option :all, type: :boolean, default: false, required: false, desc: 'Update all cloned castles'
method_option :all,
type: :boolean,
default: false,
required: false,
desc: 'Update all cloned castles'
def pull(name = DEFAULT_CASTLE_NAME)
if options[:all]
inside_each_castle do |castle|
@@ -111,7 +120,10 @@ class Homesick < Thor
end
desc 'symlink CASTLE', 'Symlinks all dotfiles from the specified castle'
method_option :force, default: false, desc: 'Overwrite existing conflicting symlinks without prompting.'
method_option :force,
default: false,
desc: 'Overwrite existing conflicting symlinks without ' \
'prompting.'
def symlink(name = DEFAULT_CASTLE_NAME)
check_castle_existance(name, 'symlink')
@@ -151,7 +163,11 @@ class Homesick < Thor
target.delete
mv absolute_path, castle_path
else
shell.say_status(:track, "#{target} already exists, and is more recent than #{file}. Run 'homesick SYMLINK CASTLE' to create symlinks.", :blue) unless options[:quiet]
shell.say_status(:track,
"#{target} already exists, and is more recent " \
"than #{file}. Run 'homesick SYMLINK CASTLE' " \
"to create symlinks.",
:blue) unless options[:quiet]
end
else
mv absolute_path, castle_path
@@ -168,13 +184,16 @@ class Homesick < Thor
end
# are we tracking something nested? Add the parent dir to the manifest
subdir_add(castle, relative_dir) unless relative_dir.eql?(Pathname.new('.'))
subdir_add(castle, relative_dir) \
unless relative_dir.eql?(Pathname.new('.'))
end
desc 'list', 'List cloned castles'
def list
inside_each_castle do |castle|
say_status castle.relative_path_from(repos_dir).to_s, `git config remote.origin.url`.chomp, :cyan
say_status castle.relative_path_from(repos_dir).to_s,
`git config remote.origin.url`.chomp,
:cyan
end
end
@@ -234,22 +253,32 @@ class Homesick < Thor
def cd(castle = DEFAULT_CASTLE_NAME)
check_castle_existance castle, 'cd'
castle_dir = repos_dir.join(castle)
say_status "cd #{castle_dir.realpath}", "Opening a new shell in castle '#{castle}'. To return to the original one exit from the new shell.", :green
say_status "cd #{castle_dir.realpath}",
"Opening a new shell in castle '#{castle}'. To return to the " \
"original one exit from the new shell.",
:green
inside castle_dir do
system(ENV['SHELL'])
end
end
desc 'open CASTLE', 'Open your default editor in the root of the given castle'
desc 'open CASTLE',
'Open your default editor in the root of the given castle'
def open(castle = DEFAULT_CASTLE_NAME)
unless ENV['EDITOR']
say_status :error, 'The $EDITOR environment variable must be set to use this command', :red
say_status :error,
'The $EDITOR environment variable must be set to use ' \
'this command',
:red
exit(1)
end
check_castle_existance castle, 'open'
castle_dir = repos_dir.join(castle)
say_status "#{ENV['EDITOR']} #{castle_dir.realpath}", "Opening the root directory of castle '#{castle}' in editor '#{ENV['EDITOR']}'.", :green
say_status "#{ENV['EDITOR']} #{castle_dir.realpath}",
"Opening the root directory of castle '#{castle}' in editor " \
"'#{ENV['EDITOR']}'.",
:green
inside castle_dir do
system(ENV['EDITOR'])
end
@@ -276,7 +305,10 @@ class Homesick < Thor
def check_castle_existance(name, action)
unless castle_dir(name).exist?
say_status :error, "Could not #{action} #{name}, expected #{castle_dir(name)} exist and contain dotfiles", :red
say_status :error,
"Could not #{action} #{name}, expected " \
"#{castle_dir(name)} exist and contain dotfiles",
:red
exit(1)
end
@@ -355,7 +387,9 @@ class Homesick < Thor
def subdir_remove(castle, path)
subdir_filepath = subdir_file(castle)
if subdir_filepath.exist?
lines = IO.readlines(subdir_filepath).delete_if { |line| line == "#{path}\n" }
lines = IO.readlines(subdir_filepath).delete_if do |line|
line == "#{path}\n"
end
File.open(subdir_filepath, 'w') { |manfile| manfile.puts lines }
end
@@ -394,7 +428,9 @@ class Homesick < Thor
def each_file(castle, basedir, subdirs)
absolute_basedir = Pathname.new(basedir).expand_path
inside basedir do
files = Pathname.glob('{.*,*}').reject { |a| ['.', '..'].include?(a.to_s) }
files = Pathname.glob('{.*,*}').reject do
|a| ['.', '..'].include?(a.to_s)
end
files.each do |path|
absolute_path = path.expand_path
castle_home = castle_dir(castle)

View File

@@ -7,14 +7,18 @@ class Homesick
config ||= {}
destination = config[:destination] || File.basename(repo, '.git')
destination = Pathname.new(destination) unless destination.kind_of?(Pathname)
destination = Pathname.new(destination) \
unless destination.kind_of?(Pathname)
FileUtils.mkdir_p destination.dirname
if destination.directory?
say_status :exist, destination.expand_path, :blue unless options[:quiet]
else
say_status 'git clone', "#{repo} to #{destination.expand_path}", :green unless options[:quiet]
system "git clone -q --config push.default=upstream --recursive #{repo} #{destination}" unless options[:pretend]
say_status 'git clone',
"#{repo} to #{destination.expand_path}",
:green unless options[:quiet]
system "git clone -q --config push.default=upstream " \
"--recursive #{repo} #{destination}" unless options[:pretend]
end
end
@@ -50,7 +54,8 @@ class Homesick
def git_submodule_update(config = {})
say_status 'git submodule', 'update', :green unless options[:quiet]
system 'git submodule --quiet update --init --recursive >/dev/null 2>&1' unless options[:pretend]
system 'git submodule --quiet update --init --recursive ' \
'>/dev/null 2>&1' unless options[:pretend]
end
def git_pull(config = {})
@@ -94,7 +99,10 @@ class Homesick
if destination.exist?
say_status :conflict, "#{destination} exists", :red unless options[:quiet]
system "mv '#{source}' '#{destination}'" if (options[:force] || shell.file_collision(destination) { source }) && !options[:pretend]
system "mv '#{source}' '#{destination}'" \
if (options[:force] ||
shell.file_collision(destination) { source }) &&
!options[:pretend]
else
# this needs some sort of message here.
system "mv '#{source}' '#{destination}'" unless options[:pretend]
@@ -151,9 +159,13 @@ class Homesick
if destination.symlink? && destination.readlink == source
say_status :identical, destination.expand_path, :blue unless options[:quiet]
elsif destination.symlink?
say_status :conflict, "#{destination} exists and points to #{destination.readlink}", :red unless options[:quiet]
say_status :conflict,
"#{destination} exists and points to " \
"#{destination.readlink}",
:red unless options[:quiet]
smart_system "ln -nsf '#{source}' '#{destination}'" if collision_accepted?
smart_system "ln -nsf '#{source}' '#{destination}'" \
if collision_accepted?
elsif destination.exist?
say_status :conflict, "#{destination} exists", :red unless options[:quiet]
@@ -162,7 +174,9 @@ class Homesick
system "ln -sf '#{source}' '#{destination}'" unless options[:pretend]
end
else
say_status :symlink, "#{source.expand_path} to #{destination.expand_path}", :green unless options[:quiet]
say_status :symlink,
"#{source.expand_path} to #{destination.expand_path}",
:green unless options[:quiet]
system "ln -s '#{source}' '#{destination}'" unless options[:pretend]
end
end