Class: DQS::CheckDependencies

Inherits:
Object
  • Object
show all
Defined in:
lib/dqscore.rb

Constant Summary collapse

@@dpkg =

Instance variables…

'/usr/bin/dpkg'
@@aptitude =
'/usr/bin/aptitude'
@@grep =
'/bin/grep --color -i -e'
@@gem =
'/usr/bin/gem'
@@awk =
'/usr/bin/awk'

Instance Method Summary collapse

Instance Method Details

#dependences_deb(debs) ⇒ Object

Check gems



55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/dqscore.rb', line 55

def dependences_deb(debs)
	begin
		puts "#{Tty.white}Updating #{Tty.blue} ==> #{Tty.green} Repositories #{Tty.reset}"
		unless system("#{@@aptitude} update >> /dev/null")
			puts "#{Tty.red} Error: Installing #{Tty.blue}==>#{Tty.red} #{dep}!#{Tty.reset}"
			exit!
		end
		puts "#{Tty.white}Repositories #{Tty.blue} ==> #{Tty.green} Updated #{Tty.reset}"

		debs.each do |dep|
				unless system("#{@@dpkg} -l | #{@@grep} #{dep} | #{@@awk} {'print $2}' | #{@@grep} \"^#{dep}$\" >> /dev/null")
				puts "#{Tty.white}Installing #{Tty.blue} ==> #{Tty.green} #{dep} #{Tty.reset}"
					unless system("#{@@aptitude} install #{dep} -y >> /dev/null")
						puts "#{Tty.red} Error: Installing #{Tty.blue}==>#{Tty.red} #{dep}!#{Tty.reset}"
						exit!
					end
				end
		end
		rescue Exception => e
		puts "#{Tty.red} Error: #{Tty.blue}==>#{Tty.red} #{e.message}!#{Tty.reset}"
		exit!
	end
	puts "#{Tty.white}All the deb packages are #{Tty.blue} ==> #{Tty.green} OK #{Tty.reset}"
end

#dependences_gems(gems) ⇒ Object

Check gems



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/dqscore.rb', line 35

def dependences_gems(gems)
	begin
		gems.each do |dep|
			unless system("#{@@gem} list -i #{dep} >> /dev/null")
				puts "#{Tty.white}Installing #{Tty.blue} ==> #{Tty.green} #{dep} #{Tty.reset}"
				#unless system("#{@@gem} install #{dep} --no-ri --no-rdoc")
				unless system("#{@@gem} install #{dep}")
					puts "#{Tty.red} Error: Installing #{Tty.blue}==>#{Tty.red} #{dep}!#{Tty.reset}"
					exit!
				end
			end
		end	
		rescue Exception => e
		puts "#{Tty.red} Error: #{Tty.blue}==>#{Tty.red} #{e.message}!#{Tty.reset}"
		exit!
	end
	puts "#{Tty.white}All the gems are #{Tty.blue} ==> #{Tty.green} OK #{Tty.reset}"
end