brew-cask-tools 0.0.1 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 03c8acc0d2ecf0c0b09bb6b60b74ff9aada6ca98
4
- data.tar.gz: cc4a506d08cc5d54eb7761c74be7aa537f692c29
3
+ metadata.gz: 6010383f43797b4cf996aa39b7d1ee542200cfbc
4
+ data.tar.gz: 93df8f9712f6062702729593c33efd93532ed74a
5
5
  SHA512:
6
- metadata.gz: 22ef0ce63826341906cb03f7af8594ae49732c2c1b188359beb5e2ead2cf51591b6fbf8bc7cc646f527fa88a8e666d037f073ff03b59a279c08347d18cb41b6c
7
- data.tar.gz: 801178fa09cf322918e16c6b98ab0f4f5af70b29e39a5268de8b6f8bc7db2addf66056ca06ec3b8fea8988a4bbbb1f3b1f39a68c20f3e422429161dc1606622b
6
+ metadata.gz: f8fe057528b544f3cfa3b778cb7e18046ba8dcdef6ef9110df3de6d2abf78c722537fc057315486583bfa3d9f7d23603d606b3bc12bc18a6c0c2f448920ce90d
7
+ data.tar.gz: 9574fa4a9654cb204b6a7fb38c60cc6e6168cca18c3a0b119edd581bb3e5d420ef03e2c931cf3c33fcde95733c8b47f9d0e088a91d757e19dd63297e90fb43e5
@@ -0,0 +1,34 @@
1
+ require 'pry'
2
+
3
+ module BrewCaskTools
4
+ # Class to keep brittle parsing of `brew cask info #{cask}` localized.
5
+ class Info
6
+ def initialize(arr)
7
+ @info = arr.nil? ? [] : arr
8
+ end
9
+
10
+ def short_name
11
+ @info[0]
12
+ end
13
+
14
+ def url
15
+ @info[1]
16
+ end
17
+
18
+ def path
19
+ @info[2]
20
+ end
21
+
22
+ def cask_url
23
+ @info[3]
24
+ end
25
+
26
+ def name
27
+ @info[5]
28
+ end
29
+
30
+ def app_name
31
+ @info[7]
32
+ end
33
+ end
34
+ end
data/lib/bct/cask.rb CHANGED
@@ -1,113 +1,129 @@
1
1
  require 'fileutils'
2
2
  require 'thor'
3
3
  require 'open3'
4
+ require 'pry'
5
+
6
+ require_relative './cask/info'
4
7
 
5
8
  CASKROOM = '/usr/local/Caskroom'.freeze
6
9
  DIR_BLACKLIST = ['.', '..', '.metadata'].freeze
7
10
 
8
- # Cask control class. Implements operations on a single cask.
9
- class Cask < Thor::Shell::Basic
10
- attr_reader :name, :dir
11
-
12
- def initialize(name)
13
- super()
14
- @name = name
15
- @info = deprecated? ? [] : `brew cask info #{name}`.split("\n")
16
- @name = @name.delete(' (!)') if deprecated?
17
- @deprecated = deprecated?
18
- @dir = File.join(CASKROOM, @name)
19
- # filter_info
20
- end
11
+ module BrewCaskTools
12
+ # Cask control class. Implements operations on a single cask.
13
+ class Cask < Thor::Shell::Basic
14
+ attr_reader :name, :dir
21
15
 
22
- def filter_info
23
- @info.select! { |i| !i.end_with?('(does not exist)') }
24
- end
16
+ def initialize(name)
17
+ super()
25
18
 
26
- def current_version
27
- @info[0].sub("#{@name}: ", '')
28
- end
19
+ @name = name
29
20
 
30
- def installed_version
31
- local_versions.last
32
- end
21
+ if deprecated?
22
+ info = []
23
+ @name = name.delete(' (!)')
24
+ else
25
+ info = `brew cask info #{name}`.split("\n")
26
+ end
33
27
 
34
- def local_versions
35
- Dir.entries(@dir).reject { |i| DIR_BLACKLIST.include?(i) }.sort
36
- end
28
+ @info = Info.new(info)
29
+ @deprecated = deprecated?
30
+ @dir = File.join(CASKROOM, @name)
31
+ end
37
32
 
38
- def local_metadata_versions
39
- Dir.entries(File.join(@dir, '.metadata')).reject do |i|
40
- DIR_BLACKLIST.include?(i)
41
- end.sort
42
- end
33
+ def filter_info
34
+ @info.info.select! { |i| !i.end_with?('(does not exist)') }
35
+ end
43
36
 
44
- def deprecated?
45
- @deprecated ||= @name.include?('(!)')
46
- end
37
+ def current_version
38
+ @info.short_name.sub("#{@name}: ", '')
39
+ end
47
40
 
48
- def can_cleanup?
49
- return if @deprecated
50
- (local_versions.length > 1 || local_metadata_versions.length > 1)
51
- end
41
+ def installed_version
42
+ local_versions.last
43
+ end
52
44
 
53
- def outdated?
54
- current_version != installed_version
55
- end
45
+ def local_versions
46
+ Dir.entries(@dir)
47
+ .reject { |i| DIR_BLACKLIST.include?(i) }
48
+ .sort
49
+ end
50
+
51
+ def local_metadata_versions
52
+ Dir.entries(File.join(@dir, '.metadata'))
53
+ .reject { |i| DIR_BLACKLIST.include?(i) }
54
+ .sort
55
+ end
56
+
57
+ def deprecated?
58
+ @deprecated ||= @name.include?('(!)')
59
+ end
60
+
61
+ def can_cleanup?
62
+ return true if @deprecated
63
+ (local_versions.length > 1 || local_metadata_versions.length > 1)
64
+ end
65
+
66
+ def outdated?
67
+ current_version != installed_version
68
+ end
69
+
70
+ def upgrade
71
+ return say "You have the most recent version of #{@name}. " \
72
+ 'It cannot be upgraded', :green unless outdated?
56
73
 
57
- def upgrade
58
- if outdated?
59
74
  say "Installing #{@name} (#{current_version})", :cyan
60
75
  cmd = "brew cask install #{@name} --force"
61
76
  Open3.popen2e(cmd) do |_stdin, stdout_err, _wait_thr|
62
- line = stdout_err.gets
63
- puts line while line
77
+ while line = stdout_err.gets
78
+ puts line
79
+ end
64
80
  end
65
81
  say "Upgraded #{@name} to version #{current_version}", :green
66
- else
67
- say "You have the most recent version of #{@name}. " \
68
- 'It cannot be upgraded', :green
69
82
  end
70
- end
71
83
 
72
- def old_versions
73
- _, *previous = local_versions.reverse
74
- previous
75
- end
84
+ def old_versions
85
+ old(local_versions)
86
+ end
76
87
 
77
- def old_metadata
78
- _, *previous = local_metadata_versions.reverse
79
- previous
80
- end
88
+ def old_metadata
89
+ old(local_metadata_versions)
90
+ end
81
91
 
82
- def cleanup
83
- return unless can_cleanup?
84
- if @deprecated == true
85
- yield self, local_versions
86
- # Delete the whole cask
87
- rm(@dir)
88
- return
92
+ def old(arr)
93
+ _, *previous = arr.reverse
94
+ previous
89
95
  end
90
96
 
91
- yield self, old_versions
92
- rm_old(old_versions, method(:rm_version))
93
- rm_old(old_metadata, method(:rm_metadata))
94
- end
97
+ def cleanup
98
+ return unless can_cleanup?
99
+ if @deprecated == true
100
+ yield self, local_versions
101
+ # Delete the whole cask
102
+ rm(@dir)
103
+ return
104
+ end
95
105
 
96
- def rm_old(versions, method)
97
- versions.each do |version|
98
- method.call(version)
106
+ yield self, old_versions
107
+ rm_old(old_versions, method(:rm_version))
108
+ rm_old(old_metadata, method(:rm_metadata))
99
109
  end
100
- end
101
110
 
102
- def rm_version(version)
103
- rm(File.join(@dir, version))
104
- end
111
+ def rm_old(versions, method)
112
+ versions.each do |version|
113
+ method.call(version)
114
+ end
115
+ end
105
116
 
106
- def rm_metadata(version)
107
- rm(File.join(@dir, '.metadata', version))
108
- end
117
+ def rm_version(version)
118
+ rm(File.join(@dir, version))
119
+ end
109
120
 
110
- def rm(dir)
111
- ::FileUtils.rm_rf(dir, secure: true, verbose: true)
121
+ def rm_metadata(version)
122
+ rm(File.join(@dir, '.metadata', version))
123
+ end
124
+
125
+ def rm(dir)
126
+ ::FileUtils.rm_rf(dir, secure: true, verbose: true)
127
+ end
112
128
  end
113
129
  end
data/lib/bct/caskroom.rb CHANGED
@@ -1,31 +1,32 @@
1
- require_relative './cask'
2
1
  require 'thor'
2
+ require 'pry'
3
+
4
+ require_relative './cask'
3
5
 
4
6
  module BrewCaskTools
5
7
  # Represents a list of Casks.
6
8
  class Caskroom < Thor::Shell::Basic
7
- attr_reader :casklist
8
-
9
9
  def initialize
10
10
  super
11
- @casks = `brew cask ls`.split("\n")
12
- @casklist = @casks.map { |cask| Cask.new(cask) }
13
11
  end
14
12
 
15
- def deprecated
16
- output = @casklist.select(&:deprecated?)
17
- yield output
13
+ def casks
14
+ @casks ||= `brew cask ls`.split("\n")
15
+ end
16
+
17
+ def casklist
18
+ @casklist ||= casks.map { |cask| yield cask }
18
19
  end
19
20
 
20
- def outdated
21
- output = @casklist.select(&:outdated?).map do |cask|
22
- [cask.name, cask.installed_version, cask.current_version]
21
+ def enumerate
22
+ casklist do |c|
23
+ yield Cask.new(c)
23
24
  end
24
- yield output
25
25
  end
26
26
 
27
27
  def get(cask_name)
28
- @casklist.select { |e| e.name == cask_name }.first
28
+ c = casks.select { |e| e == cask_name }.first
29
+ Cask.new(c)
29
30
  end
30
31
  end
31
32
  end
data/lib/bct/metadata.rb CHANGED
@@ -1,7 +1,7 @@
1
- require_relative './util'
1
+ require 'git-version-bump'
2
2
 
3
3
  # :nodoc:
4
4
  module BrewCaskTools
5
- VERSION = Util.source_path('VERSION').read rescue '0.0.1'
5
+ VERSION = GVB.version
6
6
  DESCRIPTION = 'A tiny tool that provides some missing functionality in Homebrew Cask.'.freeze
7
7
  end
@@ -0,0 +1,19 @@
1
+ require 'thor'
2
+ require 'ruby-progressbar'
3
+
4
+ require_relative '../caskroom'
5
+
6
+ module BrewCaskTools
7
+ module Tasks
8
+ # Base class for Tasks that interact with the Caskroom
9
+ class Caskroom < Thor::Shell::Basic
10
+ def caskroom
11
+ @caskroom ||= BrewCaskTools::Caskroom.new
12
+ end
13
+
14
+ def progressbar
15
+ @progressbar ||= ProgressBar.create(title: ' Progress ')
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,58 +1,59 @@
1
1
  require 'thor'
2
+ require 'pry'
3
+
4
+ require_relative './caskroom'
2
5
 
3
6
  module BrewCaskTools
4
7
  module Tasks
5
- # Upgrade tasks
6
- class Cleanup < Thor
7
- desc 'cleanup CASK', 'clean up old versions of a specific cask. If a ' \
8
- 'cask name is omitted, this task will cleanup all outdated casks.'
9
- def cleanup(cask_name, *args)
10
- @caskroom = args.first
11
- cask = @caskroom.get(cask_name) unless cask_name.nil?
12
-
13
- if cask.nil? && !cask_name.nil?
14
- return say 'Invalid cask specified', :red
15
- end
8
+ # Cleanup tasks
9
+ class Cleanup < Caskroom
10
+ def initialize(cask_name)
11
+ super()
16
12
 
17
- unless cask_name.nil?
18
- clean_single_cask(cask)
19
- return
13
+ if cask_name.nil?
14
+ progressbar.total = caskroom.casks.length
15
+ progressbar.log "\nLooking for outdated casks..."
16
+
17
+ return clean_all # Clean all casks
20
18
  end
21
19
 
22
- clean_all_casks if cask_name.nil? # Cleanup everything
20
+ cask = caskroom.get(cask_name)
21
+ return say 'Invalid cask specified', :red if cask.nil?
22
+
23
+ clean_one(cask)
23
24
  end
24
25
 
25
- no_tasks do
26
- def clean_block
27
- proc do |c, versions|
28
- say "Cleaning up #{c.name}", :yellow
29
- dep_q = "#{c.name} has been deprecated. Ok to remove all versions?"
30
- if c.deprecated? && no?(dep_q, :red)
31
- say 'No action taken.', :red
32
- next
33
- end
34
- say "Removed #{versions.length} old version(s)", :yellow
35
- end
36
- end
26
+ def clean_one(cask)
27
+ return say "#{cask.name.capitalize} does not have any outdated " \
28
+ 'versions. No cleanup operations are necessary', :green unless cask.can_cleanup?
37
29
 
38
- def clean_single_cask(cask)
39
- unless cask.can_cleanup?
40
- say "#{cask.name.capitalize} does not have any outdated " \
41
- 'versions. No cleanup operations are necessary', :green
42
- return
43
- end
30
+ cask.cleanup(&clean_block)
31
+ end
32
+
33
+ def clean_all
34
+ cleaned_casks = []
35
+
36
+ caskroom.enumerate do |cask|
37
+ progressbar.title = " #{cask.name.capitalize} "
38
+ progressbar.increment
44
39
 
45
- cask.cleanup(&clean_block)
40
+ cleaned_casks << cask if cask.can_cleanup?
46
41
  end
47
42
 
48
- def clean_all_casks
49
- cleaned_casks = @caskroom.casklist.select(&:can_cleanup?)
43
+ return say "\nNo cleanup operations are necessary", :green if cleaned_casks.empty?
50
44
 
51
- cleaned_casks.each do |c|
52
- c.cleanup(&clean_block)
53
- end
45
+ cleaned_casks.each { |c| c.cleanup(&clean_block) }
46
+ end
54
47
 
55
- say 'No cleanup operations are necessary', :green if cleaned_casks.empty?
48
+ def clean_block
49
+ proc do |c, versions|
50
+ say "Cleaning up #{c.name}", :yellow
51
+ dep_q = "#{c.name} has been deprecated. Ok to remove all versions?"
52
+ if c.deprecated? && no?(dep_q, :red)
53
+ say 'No action taken.', :red
54
+ next
55
+ end
56
+ say "Removed #{versions.length} old version(s)", :yellow
56
57
  end
57
58
  end
58
59
  end
@@ -1,42 +1,60 @@
1
- require 'thor'
1
+ require_relative './caskroom'
2
2
 
3
3
  module BrewCaskTools
4
4
  module Tasks
5
- # Upgrade tasks
6
- class Outdated < Thor
7
- desc 'outdated', 'list outdated casks'
8
- def outdated(*args)
9
- @caskroom = args.first
10
- @caskroom.outdated(&outdated_output)
11
- @caskroom.deprecated(&deprecated_output)
5
+ # Outdated cask tasks
6
+ class Outdated < Caskroom
7
+ def initialize
8
+ super
9
+ progressbar.total = caskroom.casks.length
10
+ progressbar.log "\nLooking for outdated casks..."
11
+ outdated, deprecated = compile
12
+
13
+ outdated(outdated)
14
+ deprecated(deprecated)
12
15
  end
13
16
 
14
- no_tasks do
15
- def outdated_output
16
- proc do |casks|
17
- say 'There are no outdated casks', :yellow if casks.empty?
18
- next if casks.empty?
19
-
20
- puts "Outdated packages\n------------------"
21
- headers = ['Package', 'Installed Version', 'New Version']
22
- output = casks.unshift(headers)
23
- print_table(output)
24
- puts "\n"
25
- end
26
- end
17
+ def compile
18
+ outdated = []
19
+ deprecated = []
27
20
 
28
- def deprecated_output
29
- proc do |casks|
30
- next if casks.empty?
21
+ caskroom.enumerate do |cask|
22
+ progressbar.title = " #{cask.name.capitalize} "
23
+ progressbar.increment
24
+
25
+ outdated << cask if cask.outdated?
26
+ deprecated << cask if cask.deprecated?
27
+ end
28
+ [outdated, deprecated]
29
+ end
31
30
 
32
- puts "Deprecated packages\n------------------"
33
- casks.each do |cask|
34
- puts cask.name
35
- end
36
- puts "\n"
31
+ def outdated(casks)
32
+ return say "\nThere are no outdated casks", :yellow if casks.empty?
33
+ handle(casks, 'outdated') do |outdated_casks|
34
+ outdated_casks.map! do |c|
35
+ [c.name, c.installed_version, c.current_version]
37
36
  end
37
+
38
+ headers = ['Package', 'Installed Version', 'New Version']
39
+ output = outdated_casks.unshift(headers)
40
+ print_table(output)
41
+ end
42
+ end
43
+
44
+ def deprecated(casks)
45
+ return if casks.empty?
46
+ handle(casks, 'deprecated') do |dep_casks|
47
+ dep_casks.map! { |c| [c.name] }
48
+ output = dep_casks.unshift(['Package'])
49
+ print_table(output)
38
50
  end
39
51
  end
52
+
53
+ def handle(casks, adverb)
54
+ puts "#{adverb.capitalize} packages\n------------------"
55
+ yield casks
56
+ puts "\n"
57
+ end
40
58
  end
41
59
  end
42
60
  end
@@ -1,45 +1,52 @@
1
1
  require 'thor'
2
2
 
3
+ require_relative './caskroom'
3
4
  require_relative './cleanup'
4
5
 
5
6
  module BrewCaskTools
6
7
  module Tasks
7
8
  # Upgrade tasks
8
- class Upgrade < Thor
9
- desc 'upgrade CASK', 'Upgrade a specific cask.' \
10
- ' If a cask name is omitted, this task will update all outdated casks.'
11
- def upgrade(cask_name, *args)
12
- @caskroom = args.first
13
- cask = @caskroom.get(cask_name) unless cask_name.nil?
14
-
15
- if cask.nil? && !cask_name.nil?
16
- return say 'Invalid cask specified', :red
17
- end
9
+ class Upgrade < Caskroom
10
+ def initialize(cask_name)
11
+ super()
12
+
13
+ if cask_name.nil?
14
+ progressbar.total = caskroom.casks.length
15
+ progressbar.log "\nLooking for outdated casks..."
18
16
 
19
- if cask_name.nil? # Upgrade everything
20
- upgrade_all
21
- else # Upgrade one cask
22
- upgrade_one(cask_name, cask)
17
+ return upgrade_all # Clean all casks
23
18
  end
19
+
20
+ cask = caskroom.get(cask_name)
21
+ return say 'Invalid cask specified', :red if cask.nil?
22
+
23
+ upgrade_one(cask)
24
24
  end
25
25
 
26
- no_tasks do
27
- def upgrade_one(cask_name, cask)
28
- cask.upgrade
29
- invoke Tasks::Cleanup, :cleanup, [cask_name]
30
- end
26
+ def upgrade_all
27
+ to_upgrade = []
31
28
 
32
- def upgrade_all
33
- to_upgrade = @caskroom.casklist.select(&:outdated?)
29
+ caskroom.enumerate do |cask|
30
+ progressbar.title = " #{cask.name.capitalize} "
31
+ progressbar.increment
34
32
 
35
- if to_upgrade.empty?
36
- say 'There are no casks to be upgraded', :green
37
- else
38
- to_upgrade.each(&:upgrade)
39
- end
33
+ next unless cask.outdated?
40
34
 
41
- invoke Tasks::Cleanup, :cleanup
35
+ to_upgrade << cask
36
+ progressbar.log "#{cask.info.name}: " \
37
+ "#{cask.installed_version} ==> #{cask.current_version}"
42
38
  end
39
+
40
+ return say 'There are no casks to be upgraded', :green if to_upgrade.empty?
41
+
42
+ to_upgrade.each(&:upgrade)
43
+
44
+ Tasks::Cleanup.new(nil)
45
+ end
46
+
47
+ def upgrade_one(cask)
48
+ cask.upgrade
49
+ Tasks::Cleanup.new(cask_name)
43
50
  end
44
51
  end
45
52
  end
data/lib/bct/tasks.rb CHANGED
@@ -12,8 +12,8 @@ module BrewCaskTools
12
12
  class CLI < Thor
13
13
  def initialize(args, opts, config)
14
14
  super
15
- @caskroom = Caskroom.new unless
16
- %w(help version).include?(config[:current_command].name)
15
+ return if %w(help version).include?(config[:current_command].name)
16
+ `brew tap` # Update Caskroom tap so the latest formulae are pulled down
17
17
  end
18
18
 
19
19
  def self.exit_on_failure?
@@ -27,19 +27,19 @@ module BrewCaskTools
27
27
 
28
28
  desc 'outdated', 'list outdated casks'
29
29
  def outdated
30
- invoke Tasks::Outdated, :outdated, [], [@caskroom]
30
+ Tasks::Outdated.new
31
31
  end
32
32
 
33
33
  desc 'upgrade CASK', 'Upgrade a specific cask.' \
34
34
  ' If a cask name is omitted, this task will update all outdated casks.'
35
35
  def upgrade(cask_name = nil)
36
- invoke Tasks::Upgrade, :upgrade, [cask_name], [@caskroom]
36
+ Tasks::Upgrade.new(cask_name)
37
37
  end
38
38
 
39
39
  desc 'cleanup CASK', 'clean up old versions of a specific cask. If a ' \
40
40
  'cask name is omitted, this task will cleanup all outdated casks.'
41
41
  def cleanup(cask_name = nil)
42
- invoke Tasks::Cleanup, :cleanup, [cask_name], [@caskroom]
42
+ Tasks::Cleanup.new(cask_name)
43
43
  end
44
44
  end
45
45
  end
data/lib/bct/util.rb CHANGED
@@ -19,11 +19,11 @@ module BrewCaskTools
19
19
  # Relative path from working directory
20
20
  ##
21
21
  def relative_path(*relative)
22
- Pathname.pwd.join(*(relative.flatten.map(&:to_s))).expand_path
22
+ Pathname.pwd.join(*relative.flatten.map(&:to_s)).expand_path
23
23
  end
24
24
 
25
25
  def source_path(*relative)
26
- GEM_PATH.join(*(relative.flatten.map(&:to_s))).expand_path
26
+ GEM_PATH.join(*relative.flatten.map(&:to_s)).expand_path
27
27
  end
28
28
  end
29
29
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: brew-cask-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dave Greene
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-28 00:00:00.000000000 Z
11
+ date: 2016-08-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -80,6 +80,34 @@ dependencies:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0.19'
83
+ - !ruby/object:Gem::Dependency
84
+ name: ruby-progressbar
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.8'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.8'
97
+ - !ruby/object:Gem::Dependency
98
+ name: git-version-bump
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '0.15'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '0.15'
83
111
  description: A tiny tool that provides some missing functionality in Homebrew Cask.
84
112
  email:
85
113
  - davepgreene@gmail.com
@@ -93,9 +121,11 @@ files:
93
121
  - bin/bct
94
122
  - lib/bct.rb
95
123
  - lib/bct/cask.rb
124
+ - lib/bct/cask/info.rb
96
125
  - lib/bct/caskroom.rb
97
126
  - lib/bct/metadata.rb
98
127
  - lib/bct/tasks.rb
128
+ - lib/bct/tasks/caskroom.rb
99
129
  - lib/bct/tasks/cleanup.rb
100
130
  - lib/bct/tasks/outdated.rb
101
131
  - lib/bct/tasks/upgrade.rb