module BinInstall::Shell
Public Class Methods
append_to_profiles(value)
click to toggle source
# File lib/bin_install/shell.rb, line 23 def self.append_to_profiles(value) profile_paths.each do |path| file = File.open(path, 'a+') if file.read.include?(value) puts "Value already exist in #{path}. Skipping file injection.".blue else puts "Writing to #{path}:\n#{value.to_s.purple}" file << value.to_s end file.close end end
default_no?(value)
click to toggle source
# File lib/bin_install/shell.rb, line 15 def self.default_no?(value) ['', 'n', 'no'].include?(value.downcase) end
default_yes?(value)
click to toggle source
# File lib/bin_install/shell.rb, line 7 def self.default_yes?(value) ['', 'y', 'yes'].include?(value.downcase) end
executable_exists?(executable)
click to toggle source
# File lib/bin_install/shell.rb, line 19 def self.executable_exists?(executable) system("which #{executable}") end
no?(value)
click to toggle source
# File lib/bin_install/shell.rb, line 11 def self.no?(value) %w[n no].include?(value.downcase) end
profile_paths()
click to toggle source
# File lib/bin_install/shell.rb, line 38 def self.profile_paths [File.expand_path('~/.zshrc'), File.expand_path('~/.bash_profile')] end
wait(seconds = 10)
click to toggle source
# File lib/bin_install/shell.rb, line 42 def self.wait(seconds = 10) print 'Please wait: '.purple seconds.downto(1) do |i| print i.to_s.purple 3.times do sleep(0.25) print '.'.purple end sleep(0.25) end print "\n" end
yes?(value)
click to toggle source
# File lib/bin_install/shell.rb, line 3 def self.yes?(value) %w[y yes].include?(value.downcase) end