gemper 0.0.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/bin/gemper +1 -1
  2. data/lib/gemper.rb +5 -5
  3. metadata +1 -1
data/bin/gemper CHANGED
@@ -4,4 +4,4 @@ require 'gemper'
4
4
  recursive = ARGV.delete('-r')
5
5
  abort 'Usage: gemper [-r] file|directory' if ARGV.size == 0
6
6
 
7
- Gemper.install(ARGV[0], recursive)
7
+ Gemper.install(ARGV, recursive)
@@ -9,7 +9,7 @@ module Gemper
9
9
  def self.required_gems(file_name)
10
10
  File.readlines(file_name).map { |line|
11
11
  line.match(/^require.*(?=['"](.+)['"])(?:"\1"|'\1')/)
12
- }.compact.map { |e| e[1] }.uniq
12
+ }.compact.map { |e| e[1] }
13
13
  end
14
14
 
15
15
  def self.gems_in_path(path, recursive = false)
@@ -17,18 +17,18 @@ module Gemper
17
17
  required_gems path
18
18
  elsif File.directory? path
19
19
  Dir.chdir path
20
- Dir["#{recursive ? '**/' : ''}*.{rb,ru}"].map{ |file_name| required_gems(file_name) }.flatten.uniq
20
+ Dir["#{recursive ? '**/' : ''}*.{rb,ru}"].flat_map{ |file_name| required_gems(file_name) }
21
21
  else
22
22
  abort "\e[31mFile not found: #{path}\e[0m"
23
23
  end.reject { |e| installed? e }
24
24
  end
25
25
 
26
- def self.install(path, recursive)
27
- gems = gems_in_path(path, recursive)
26
+ def self.install(paths, recursive)
27
+ gems = paths.flat_map{ |path| gems_in_path(path, recursive) }.uniq
28
28
  if gems.size == 0
29
29
  puts 'All the gems are already installed.'
30
30
  else
31
- puts "Following gem" + (gems.size > 1 ? 's' : '') + ' need to be installed:'
31
+ puts "The following gem" + (gems.size > 1 ? 's' : '') + ' need to be installed:'
32
32
  gems.each { |e| puts e }
33
33
  print 'Install? [Y/n]: '
34
34
  install = ['', 'y', 'yes'].include? STDIN.gets.chomp.downcase
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gemper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: