pullall 0.1.4 → 0.1.5

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.
Files changed (3) hide show
  1. data/lib/pullall.rb +1 -1
  2. data/lib/pullall/actions.rb +17 -5
  3. metadata +1 -1
data/lib/pullall.rb CHANGED
@@ -4,7 +4,7 @@ require 'pullall/actions'
4
4
  class Pullall
5
5
  extend Actions
6
6
 
7
- SUB_COMMANDS = %w(add rm)
7
+ SUB_COMMANDS = %w(add rm ls)
8
8
  help = <<HELP
9
9
 
10
10
  Pull all the repositories that belong to a group you created.
@@ -4,6 +4,16 @@ module Actions
4
4
 
5
5
  STORAGE = "#{ENV['HOME']}/.pullall"
6
6
 
7
+ # Output in red
8
+ def colorize(text)
9
+ "\e[#{31}m#{text}\e[0m"
10
+ end
11
+
12
+ def pluralize(n, text)
13
+ (n == 1) ? text : "#{text}s"
14
+ end
15
+
16
+ # Use real path to allow the use of .(current directory) as an argument
7
17
  def get_real_paths(paths)
8
18
  paths.collect! do |path|
9
19
  if File.exists?(path)
@@ -15,11 +25,12 @@ module Actions
15
25
  paths
16
26
  end
17
27
 
28
+ # Output all the groups and associated paths
18
29
  def list_groups
19
30
  groups = load_all
20
31
  puts "\n"
21
32
  groups.each do |group, paths|
22
- puts "#{group} - #{paths}"
33
+ puts "#{colorize(group)}: #{paths.join(', ')}"
23
34
  puts "\n"
24
35
  end
25
36
  end
@@ -29,10 +40,10 @@ module Actions
29
40
  Oj.to_file(STORAGE, json)
30
41
  end
31
42
 
43
+ # Only allow saving a path or a group of paths if all of them don't belong to the group
32
44
  def save_paths(*paths, group)
33
45
  groups = load_all
34
46
 
35
- # Use real path to allow the use of .(current directory) as an argument
36
47
  if groups.has_key?(group)
37
48
  paths.each do |path|
38
49
  if groups[group].include?(path)
@@ -44,10 +55,11 @@ module Actions
44
55
  groups[group] = [*paths]
45
56
  end
46
57
  save_all(groups)
47
- msg = paths.empty? ? "Group successfully created" : "Paths successfully saved"
58
+ msg = paths.empty? ? "Group successfully created" : "#{pluralize(paths.size, "Path")} successfully saved"
48
59
  puts msg
49
60
  end
50
61
 
62
+ # Get the paths that belong to a given group
51
63
  def load_paths(group)
52
64
  groups = load_all
53
65
  if groups.has_key?(group)
@@ -96,7 +108,7 @@ module Actions
96
108
  end
97
109
  end
98
110
  save_all(groups)
99
- puts "Paths successfully removed from group #{group}"
111
+ puts "Paths successfully removed from group #{colorize(group)}"
100
112
  else
101
113
  Trollop::die "Group #{group} doesn't exist"
102
114
  end
@@ -105,7 +117,7 @@ module Actions
105
117
  def pull(group)
106
118
  paths = load_paths(group)
107
119
  paths.each do |path|
108
- puts "Pulling from #{path}:"
120
+ puts "Pulling from #{colorize(path)}:"
109
121
  %x(git --git-dir #{path}/.git pull origin master)
110
122
  puts "\n"
111
123
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pullall
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: