class Owners::CLI

Public Instance Methods

for(*files) click to toggle source
   # File lib/owners/cli.rb
16 def for(*files)
17   run(:for, files)
18 end
for_diff(ref, base_ref = "master") click to toggle source
   # File lib/owners/cli.rb
21 def for_diff(ref, base_ref = "master")
22   Owners.file = options[:file] if options[:file]
23   Owners.for_diff(ref, base_ref).each do |owner|
24     output(owner)
25   end
26 end
missing_for(*files) click to toggle source
   # File lib/owners/cli.rb
29 def missing_for(*files)
30   run(:missing_for, files)
31 end
output(owner) click to toggle source
   # File lib/owners/cli.rb
34 def output(owner)
35   say owner
36 
37   if options[:debug]
38     last_sub = nil
39 
40     owner.subscriptions.each do |path, subscriptions|
41       subscriptions.each do |sub|
42         if last_sub != sub
43           say if last_sub
44           say "  #{sub}", :blue
45         end
46 
47         say "    #{path}", :red unless path == sub.source
48         last_sub = sub
49       end
50     end
51 
52     say
53   end
54 end
run(method, files) click to toggle source
   # File lib/owners/cli.rb
56 def run(method, files)
57   files = stdin_files unless files.any?
58 
59   Owners.file = options[:file] if options[:file]
60 
61   Owners.send(method, *files).each do |owner|
62     output(owner)
63   end
64 end
stdin_files() click to toggle source
   # File lib/owners/cli.rb
66 def stdin_files
67   timeout(1) { $stdin.read.split("\n") }
68 rescue Timeout::Error
69   []
70 end