deplist 0.5.18 → 0.5.19
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/deplist/gemlist_server.rb +2 -1
- data/lib/deplist/installer.rb +34 -7
- data/lib/deplist/os_detector.rb +2 -2
- data/lib/deplist/version.rb +1 -1
- data/lib/tasks/show_dep.rake +14 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c96c79b418bc051375e86c8ebf52262ff06ac437
|
4
|
+
data.tar.gz: 141c54ef2e93280f43e82dc90d0076945b1025ba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 328bd41746deff35d2a534592bdeff1bc62b50ce499d3fb880ddd225351eba805cbe185126a550710c9d6ee5a06d84cee8f6f81f0f13a6dc88c89a7acb732974
|
7
|
+
data.tar.gz: bba33426326e74164f4251587700d0f0386a37a2134b9eddf8b84752cbfafe99c8e18302fb505eb407a1903eb93d745e7da547c1b4d42c85a93002ee08d19153
|
@@ -4,9 +4,10 @@ require 'json'
|
|
4
4
|
class GemListServer
|
5
5
|
include HTTParty
|
6
6
|
base_uri 'https://gemdep.herokuapp.com'
|
7
|
+
# base_uri 'http://localhost:3000'
|
7
8
|
|
8
9
|
def initialize(gems)
|
9
|
-
@options = { query: {gems: gems, os: OsDetector.current_os} }
|
10
|
+
@options = { query: { gems: gems, os: OsDetector.current_os } }
|
10
11
|
end
|
11
12
|
|
12
13
|
def get_dependencies
|
data/lib/deplist/installer.rb
CHANGED
@@ -1,11 +1,38 @@
|
|
1
1
|
class Installer
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
2
|
+
class << self
|
3
|
+
def install(packages)
|
4
|
+
fail UnknownOS if OsDetector.unknown?
|
5
|
+
|
6
|
+
setup(packages, OsDetector.current_os)
|
7
|
+
end
|
8
|
+
|
9
|
+
private
|
10
|
+
|
11
|
+
def setup(packages, os)
|
12
|
+
success_list = []
|
13
|
+
fail_list = []
|
14
|
+
|
15
|
+
packages.each do |pkg|
|
16
|
+
status = send("#{os}_install", pkg)
|
17
|
+
|
18
|
+
if status == true
|
19
|
+
success_list << pkg
|
20
|
+
else
|
21
|
+
fail_list << pkg
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
{ success: success_list, fail: fail_list }
|
26
|
+
end
|
27
|
+
|
28
|
+
def linux_install(pkg)
|
29
|
+
# TODO: change pacman to 'apt-get -y install'
|
30
|
+
system("sudo pacman -S #{pkg} --noconfirm")
|
31
|
+
end
|
32
|
+
|
33
|
+
def macosx_install(pkg)
|
34
|
+
# TODO: esc confirmation
|
35
|
+
system("sudo bower install #{pkg} --no-interactive")
|
9
36
|
end
|
10
37
|
end
|
11
38
|
end
|
data/lib/deplist/os_detector.rb
CHANGED
@@ -14,7 +14,7 @@ class OsDetector
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def unknown?
|
17
|
-
|
17
|
+
os_name == 'unknown'
|
18
18
|
end
|
19
19
|
|
20
20
|
private
|
@@ -28,7 +28,7 @@ class OsDetector
|
|
28
28
|
when /linux/
|
29
29
|
'linux'
|
30
30
|
else
|
31
|
-
|
31
|
+
'unknown'
|
32
32
|
end
|
33
33
|
)
|
34
34
|
end
|
data/lib/deplist/version.rb
CHANGED
data/lib/tasks/show_dep.rake
CHANGED
@@ -15,9 +15,21 @@ namespace :system_dependencies do
|
|
15
15
|
|
16
16
|
begin
|
17
17
|
if get_input
|
18
|
-
Installer.install(packages)
|
18
|
+
status = Installer.install(packages)
|
19
|
+
system('clear')
|
19
20
|
|
20
|
-
|
21
|
+
unless status[:success].empty?
|
22
|
+
puts 'I have installed this packages for you :)'.yellow unless status[:fail].empty?
|
23
|
+
puts status[:success].join(', ').green
|
24
|
+
puts
|
25
|
+
end
|
26
|
+
|
27
|
+
unless status[:fail].empty?
|
28
|
+
puts "I'm sorry i can't install this packages :(".yellow
|
29
|
+
abort status[:fail].join(', ').red
|
30
|
+
end
|
31
|
+
|
32
|
+
abort 'Life is better now, Goodbye my friend ;D'.green
|
21
33
|
end
|
22
34
|
|
23
35
|
rescue UnknownOS
|