rover 1.1.1 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/bin/rover +3 -1
- data/lib/rover.rb +41 -2
- metadata +19 -3
data/bin/rover
CHANGED
@@ -5,7 +5,7 @@ $:.unshift File.expand_path("../../lib", __FILE__)
|
|
5
5
|
require 'rover'
|
6
6
|
|
7
7
|
if ARGV.size <= 0
|
8
|
-
puts "You need at least one argument:\nrover install\nrover run"
|
8
|
+
puts "You need at least one argument:\nrover install\nrover run\nrover gem_info"
|
9
9
|
else
|
10
10
|
rover = Rover.new
|
11
11
|
|
@@ -14,6 +14,8 @@ else
|
|
14
14
|
rover.install_configs
|
15
15
|
when "configs"
|
16
16
|
rover.pretty_print_configs
|
17
|
+
when "gem_info"
|
18
|
+
rover.print_gem_infos
|
17
19
|
else
|
18
20
|
puts "Unknown arguments: #{ARGV.inspect}"
|
19
21
|
end
|
data/lib/rover.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
require 'logger'
|
2
2
|
require 'open3'
|
3
3
|
require 'colorize'
|
4
|
+
require 'json'
|
5
|
+
require 'open-uri'
|
4
6
|
|
5
7
|
module Utils
|
6
8
|
# Cross-platform way of finding an executable in the $PATH.
|
@@ -47,7 +49,7 @@ class Rover
|
|
47
49
|
include Logging
|
48
50
|
include Utils
|
49
51
|
|
50
|
-
attr_accessor :start_directory
|
52
|
+
attr_accessor :start_directory
|
51
53
|
|
52
54
|
CONFIG_FILE_NAMES = {
|
53
55
|
"npm" => 'package.json',
|
@@ -57,7 +59,6 @@ class Rover
|
|
57
59
|
|
58
60
|
def initialize
|
59
61
|
@start_directory = Dir.pwd
|
60
|
-
@pids_created = []
|
61
62
|
|
62
63
|
puts "Rover is starting in #{@start_directory}"
|
63
64
|
end
|
@@ -66,6 +67,44 @@ class Rover
|
|
66
67
|
discover_config_files
|
67
68
|
end
|
68
69
|
|
70
|
+
def get_gem_info gem_name
|
71
|
+
JSON.parse open("http://rubygems.org/api/v1/gems/#{gem_name}.json").read
|
72
|
+
end
|
73
|
+
|
74
|
+
def print_gem_infos
|
75
|
+
begin
|
76
|
+
gemfile = File.read('Gemfile')
|
77
|
+
rescue Exception => e
|
78
|
+
puts e
|
79
|
+
puts "Is there a Gemfile in the directory you're running me in?"
|
80
|
+
|
81
|
+
return
|
82
|
+
end
|
83
|
+
|
84
|
+
gemfile.each_line do |l|
|
85
|
+
next unless l.lstrip.start_with? "gem"
|
86
|
+
parts = l.lstrip.split(/\s|,/)
|
87
|
+
|
88
|
+
gem_name = if parts.size == 2
|
89
|
+
# no version specified
|
90
|
+
parts.last
|
91
|
+
elsif parts.size > 2
|
92
|
+
parts[1]
|
93
|
+
else
|
94
|
+
nil
|
95
|
+
#bad line
|
96
|
+
end
|
97
|
+
|
98
|
+
|
99
|
+
if gem_name
|
100
|
+
gem_friendly = gem_name.gsub(/[^0-9a-z_-]/i, '')
|
101
|
+
puts gem_friendly
|
102
|
+
puts get_gem_info(gem_friendly)['info']
|
103
|
+
puts ""
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
69
108
|
def pretty_print_configs
|
70
109
|
configs = discover_config_files
|
71
110
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rover
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -27,8 +27,24 @@ dependencies:
|
|
27
27
|
- - ! '>='
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '0'
|
30
|
-
|
31
|
-
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: json
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
description: discovery and installation of a project that uses npm +- bundler +- pip
|
47
|
+
requirements
|
32
48
|
email: mfrosengarten@gmail.com
|
33
49
|
executables:
|
34
50
|
- rover
|