brew-cask-tools 1.0.3 → 1.1.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 54e79300a1a94158ab3d9808ba88b8325277e43d
4
- data.tar.gz: 396206348befd0b098b884b165e018d8f8acf2db
3
+ metadata.gz: 69b3132783d2a2e29ca228d44598ccbfef53d5f9
4
+ data.tar.gz: f4d075a519e9b0f87f5728914e990ed064c9c71d
5
5
  SHA512:
6
- metadata.gz: 36056ca2108754e300401207c5478d94ffdbbf20aecb0dafadff0e55443fb674cbefc2306f90e4024a44d326135e89af3777bdaf08b1068a1666611d39273a5d
7
- data.tar.gz: e0b6014c24b9a69db83a45ad861f7897f5ce149e0015d8f1457cc9be6574a51bc83f937f31a06f6922ab73ab2458e414fb4b74ddb7d696b5bdac7bf2060dbce2
6
+ metadata.gz: 65744666d8fa3bbf845feed5a362e0964aaca2f99ffb0d6f17e055f0afd9f77625cd446f6419eec79c8daa213c0fa466d3c7b4710f920dd67e3e21e6cb98248e
7
+ data.tar.gz: 680db979070c6dffb5d6ccc80b459d0ca8f4df5cf29facc36b3b89a241fa70e87bb7a869f5a84ff05a3791fa93d73b9a764e71345ad2ea22aef0df19d0265f78
data/lib/bct/cask.rb CHANGED
@@ -3,9 +3,10 @@ require 'thor'
3
3
  require 'open3'
4
4
 
5
5
  require_relative './cask/info'
6
+ require_relative './cask/versions'
6
7
 
8
+ # Location of homebrew cask's caskroom
7
9
  CASKROOM = '/usr/local/Caskroom'.freeze
8
- DIR_BLACKLIST = ['.', '..', '.metadata'].freeze
9
10
 
10
11
  module BrewCaskTools
11
12
  # Cask control class. Implements operations on a single cask.
@@ -24,33 +25,33 @@ module BrewCaskTools
24
25
  info = `brew cask info #{name}`.split("\n")
25
26
  end
26
27
 
27
- @info = Info.new(info)
28
- @deprecated = deprecated?
28
+ @info = Casks::Info.new(info)
29
29
  @dir = File.join(CASKROOM, @name)
30
+ @versions = Casks::Versions.new(@dir, @info.short_name.sub("#{@name}: ", ''))
30
31
  end
31
32
 
32
- def filter_info
33
- @info.info.select! { |i| !i.end_with?('(does not exist)') }
33
+ def current
34
+ @versions.current
34
35
  end
35
36
 
36
- def current_version
37
- @info.short_name.sub("#{@name}: ", '')
37
+ def candidate
38
+ @versions.candidate
38
39
  end
39
40
 
40
- def installed_version
41
- local_versions.last
41
+ def versions
42
+ @versions.installed
42
43
  end
43
44
 
44
- def local_versions
45
- Dir.entries(@dir)
46
- .reject { |i| DIR_BLACKLIST.include?(i) }
47
- .sort
45
+ def old
46
+ @versions.old_installed
48
47
  end
49
48
 
50
- def local_metadata_versions
51
- Dir.entries(File.join(@dir, '.metadata'))
52
- .reject { |i| DIR_BLACKLIST.include?(i) }
53
- .sort
49
+ def metadata
50
+ @versions.metadata
51
+ end
52
+
53
+ def latest?
54
+ @versions.latest?
54
55
  end
55
56
 
56
57
  def deprecated?
@@ -58,71 +59,51 @@ module BrewCaskTools
58
59
  end
59
60
 
60
61
  def can_cleanup?
61
- return true if @deprecated
62
- (local_versions.length > 1 || local_metadata_versions.length > 1)
62
+ versions.length > 1 || metadata.length > 1
63
63
  end
64
64
 
65
65
  def outdated?
66
- current_version != installed_version
66
+ return false if latest?
67
+ candidate > current
67
68
  end
68
69
 
69
- def upgrade
70
- return say "You have the most recent version of #{@name}. " \
71
- 'It cannot be upgraded', :green unless outdated?
72
-
73
- say "Installing #{@name} (#{current_version})", :cyan
74
- cmd = "brew cask install #{@name} --force"
75
- Open3.popen2e(cmd) do |_stdin, stdout_err, _wait_thr|
76
- while line = stdout_err.gets
70
+ def exec
71
+ Open3.popen2e("brew cask install #{@name} --force") do |_stdin, stdout_err, _wait_thr|
72
+ line = ''
73
+ while line
74
+ line = stdout_err.gets
77
75
  puts line
78
76
  end
79
77
  end
80
- say "Upgraded #{@name} to version #{current_version}", :green
81
78
  end
82
79
 
83
- def old_versions
84
- old(local_versions)
85
- end
80
+ def upgrade
81
+ return say "#{@name} uses the `latest` convention. " \
82
+ 'Homebrew cask does not upgrade casks marked as ' \
83
+ '`latest`. Use another method of determining if ' \
84
+ 'this application has an upgrade', :green if latest?
86
85
 
87
- def old_metadata
88
- old(local_metadata_versions)
89
- end
86
+ return say "You have the most recent version of #{@name}. " \
87
+ 'It cannot be upgraded', :green unless outdated?
90
88
 
91
- def old(arr)
92
- _, *previous = arr.reverse
93
- previous
89
+ say "Installing #{@name} (#{candidate})", :cyan
90
+ exec
91
+ say "Upgraded #{@name} to version #{candidate}", :green
94
92
  end
95
93
 
96
94
  def cleanup
97
95
  return unless can_cleanup?
98
- if @deprecated == true
99
- yield self, local_versions
96
+
97
+ if deprecated?
98
+ yield self, versions
100
99
  # Delete the whole cask
101
- rm(@dir)
100
+ ::FileUtils.rm_rf(@dir, secure: true, verbose: true)
102
101
  return
103
102
  end
104
103
 
105
- yield self, old_versions
106
- rm_old(old_versions, method(:rm_version))
107
- rm_old(old_metadata, method(:rm_metadata))
108
- end
109
-
110
- def rm_old(versions, method)
111
- versions.each do |version|
112
- method.call(version)
113
- end
114
- end
115
-
116
- def rm_version(version)
117
- rm(File.join(@dir, version))
118
- end
119
-
120
- def rm_metadata(version)
121
- rm(File.join(@dir, '.metadata', version))
122
- end
104
+ yield self, old
123
105
 
124
- def rm(dir)
125
- ::FileUtils.rm_rf(dir, secure: true, verbose: true)
106
+ @versions.rm_old
126
107
  end
127
108
  end
128
109
  end
data/lib/bct/cask/info.rb CHANGED
@@ -1,34 +1,34 @@
1
- require 'pry'
2
-
3
1
  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
2
+ module Casks
3
+ # Class to keep brittle parsing of `brew cask info #{cask}` localized.
4
+ class Info
5
+ def initialize(arr)
6
+ @info = arr.nil? ? [] : arr
7
+ end
9
8
 
10
- def short_name
11
- @info[0]
12
- end
9
+ def short_name
10
+ @info[0]
11
+ end
13
12
 
14
- def url
15
- @info[1]
16
- end
13
+ def url
14
+ @info[1]
15
+ end
17
16
 
18
- def path
19
- @info[2]
20
- end
17
+ def path
18
+ @info[2]
19
+ end
21
20
 
22
- def cask_url
23
- @info[3]
24
- end
21
+ def cask_url
22
+ @info[3]
23
+ end
25
24
 
26
- def name
27
- @info[5]
28
- end
25
+ def name
26
+ @info[5]
27
+ end
29
28
 
30
- def app_name
31
- @info[7]
29
+ def app_name
30
+ @info[7]
31
+ end
32
32
  end
33
33
  end
34
34
  end
@@ -0,0 +1,54 @@
1
+ require 'versionomy'
2
+
3
+ module BrewCaskTools
4
+ module Casks
5
+ # Parent class for different types of Versions
6
+ class Version
7
+ DIR_BLACKLIST = ['.', '..', '.metadata'].freeze
8
+
9
+ def initialize(dir)
10
+ @dir = dir
11
+ end
12
+
13
+ def versions
14
+ @versions ||= latest? ? ['latest'] : all_versions.sort
15
+ end
16
+
17
+ def latest?
18
+ all_versions.select { |version| version.to_s == 'latest' }.length.positive?
19
+ end
20
+
21
+ def rm_old
22
+ old.each { |version| rm(version) }
23
+ end
24
+
25
+ def old
26
+ _, *previous = versions.reverse
27
+ previous
28
+ end
29
+
30
+ def self.parse_version(version)
31
+ Versionomy.parse(version)
32
+ rescue Versionomy::Errors::ParseError
33
+ version
34
+ end
35
+
36
+ private
37
+
38
+ def rm(version)
39
+ version_dir = File.join(@dir, version.to_s)
40
+ ::FileUtils.rm_rf(version_dir, secure: true, verbose: true)
41
+ end
42
+
43
+ def all_versions
44
+ Dir.entries(@dir)
45
+ .reject { |dir| DIR_BLACKLIST.include?(dir) }
46
+ .map do |version|
47
+ if File.directory?(File.join(@dir, version))
48
+ Version.parse_version(version)
49
+ end
50
+ end.compact
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,49 @@
1
+ require_relative './version'
2
+
3
+ module BrewCaskTools
4
+ module Casks
5
+ # Operations on a collection of Cask versions
6
+ class Versions
7
+ attr_reader :local, :meta
8
+
9
+ def initialize(dir, candidate)
10
+ @candidate = candidate
11
+ @local = Version.new(dir)
12
+ @meta = Version.new(File.join(dir, '.metadata'))
13
+ end
14
+
15
+ def installed
16
+ @local.versions
17
+ end
18
+
19
+ def metadata
20
+ @meta.versions
21
+ end
22
+
23
+ def candidate
24
+ Version.parse_version(@candidate)
25
+ end
26
+
27
+ def current
28
+ installed.last
29
+ end
30
+
31
+ def latest?
32
+ current.to_s == 'latest'
33
+ end
34
+
35
+ def old_installed
36
+ @local.old
37
+ end
38
+
39
+ def old_metadata
40
+ @meta.old
41
+ end
42
+
43
+ def rm_old
44
+ @local.rm_old
45
+ @meta.rm_old
46
+ end
47
+ end
48
+ end
49
+ end
data/lib/bct/caskroom.rb CHANGED
@@ -1,32 +1,30 @@
1
- require 'thor'
2
- require 'pry'
3
-
4
1
  require_relative './cask'
5
2
 
6
3
  module BrewCaskTools
7
4
  # Represents a list of Casks.
8
- class Caskroom < Thor::Shell::Basic
5
+ class Caskroom
9
6
  def initialize
10
7
  super
11
8
  end
12
9
 
10
+ # An array of installed casks
11
+ # @return [Array]
13
12
  def casks
14
13
  @casks ||= `brew cask ls`.split("\n")
15
14
  end
16
15
 
17
- def casklist
18
- @casklist ||= casks.map { |cask| yield cask }
19
- end
20
-
16
+ # @param [Proc]
21
17
  def enumerate
22
- casklist do |c|
23
- yield Cask.new(c)
18
+ casks.map do |cask|
19
+ yield Cask.new(cask)
24
20
  end
25
21
  end
26
22
 
23
+ # @param cask_name [String]
24
+ # @return [BrewCaskTools::Cask]
27
25
  def get(cask_name)
28
- c = casks.select { |e| e == cask_name }.first
29
- Cask.new(c)
26
+ cask = casks.select { |name| name == cask_name }
27
+ cask.empty? ? nil : Cask.new(cask.first)
30
28
  end
31
29
  end
32
30
  end
data/lib/bct/metadata.rb CHANGED
@@ -1,7 +1,5 @@
1
- require 'git-version-bump'
2
-
3
1
  # :nodoc:
4
2
  module BrewCaskTools
5
- VERSION = GVB.version
3
+ VERSION = `git describe --abbrev=0 --tags`.delete('v')
6
4
  DESCRIPTION = 'A tiny tool that provides some missing functionality in Homebrew Cask.'.freeze
7
5
  end
data/lib/bct/tasks.rb CHANGED
@@ -30,16 +30,16 @@ module BrewCaskTools
30
30
  Tasks::Outdated.new
31
31
  end
32
32
 
33
- desc 'upgrade CASK', 'Upgrade a specific cask.' \
33
+ desc 'upgrade CASKS', 'Upgrade a specific cask.' \
34
34
  ' If a cask name is omitted, this task will update all outdated casks.'
35
- def upgrade(cask_name = nil)
36
- Tasks::Upgrade.new(cask_name)
35
+ def upgrade(*casks)
36
+ Tasks::Upgrade.new(casks)
37
37
  end
38
38
 
39
- desc 'cleanup CASK', 'clean up old versions of a specific cask. If a ' \
39
+ desc 'cleanup CASKS', 'clean up old versions of a specific cask. If a ' \
40
40
  'cask name is omitted, this task will cleanup all outdated casks.'
41
- def cleanup(cask_name = nil)
42
- Tasks::Cleanup.new(cask_name)
41
+ def cleanup(*casks)
42
+ Tasks::Cleanup.new(casks)
43
43
  end
44
44
  end
45
45
  end
@@ -14,6 +14,21 @@ module BrewCaskTools
14
14
  def progressbar
15
15
  @progressbar ||= ProgressBar.create(title: ' Progress ')
16
16
  end
17
+
18
+ def handle(casks, adverb)
19
+ puts "#{adverb.capitalize} packages\n------------------"
20
+ yield casks
21
+ puts "\n"
22
+ end
23
+
24
+ def increment(cask)
25
+ progressbar.title = " #{cask.name.capitalize} "
26
+ progressbar.increment
27
+ end
28
+
29
+ def format(headers, output)
30
+ print_table(output.unshift(headers))
31
+ end
17
32
  end
18
33
  end
19
34
  end
@@ -1,55 +1,54 @@
1
1
  require 'thor'
2
- require 'pry'
3
2
 
4
3
  require_relative './caskroom'
5
4
 
6
5
  module BrewCaskTools
7
6
  module Tasks
8
- # Cleanup tasks
7
+ # Cleanup task
9
8
  class Cleanup < Caskroom
10
- def initialize(cask_name)
9
+ # @param optional casks [Array] array of cask names to cleanup
10
+ def initialize(casks)
11
11
  super()
12
12
 
13
- if cask_name.nil?
13
+ @cleaned = []
14
+
15
+ if casks.empty?
14
16
  progressbar.total = caskroom.casks.length
15
17
  progressbar.log "\nLooking for casks to cleanup..."
16
18
 
17
- return clean_all # Clean all casks
19
+ @cleaned = compile
20
+ else
21
+ @cleaned = casks.map { |c| caskroom.get(c) }
22
+ return say 'Invalid cask specified', :red if @cleaned.compact.empty?
18
23
  end
19
-
20
- cask = caskroom.get(cask_name)
21
- return say 'Invalid cask specified', :red if cask.nil?
22
-
23
- clean_one(cask)
24
- end
25
-
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?
29
-
30
- cask.cleanup(&clean_block)
24
+ clean
31
25
  end
32
26
 
33
- def clean_all
34
- cleaned_casks = []
35
-
27
+ def compile
28
+ cleaned = []
36
29
  caskroom.enumerate do |cask|
37
- progressbar.title = " #{cask.name.capitalize} "
38
- progressbar.increment
30
+ increment(cask)
39
31
 
40
- cleaned_casks << cask if cask.can_cleanup?
32
+ cleaned << cask if cask.can_cleanup?
41
33
  end
34
+ cleaned
35
+ end
42
36
 
43
- return say "\nNo cleanup operations are necessary", :green if cleaned_casks.empty?
37
+ def clean
38
+ return say "\nNo cleanup operations are necessary", :green if @cleaned.empty?
44
39
 
45
- cleaned_casks.each { |c| c.cleanup(&clean_block) }
40
+ @cleaned.each do |cask|
41
+ cask.cleanup(&clean_block)
42
+ end
46
43
  end
47
44
 
48
45
  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)
46
+ proc do |cask, versions|
47
+ name = cask.name
48
+ say "Cleaning up #{name}", :yellow
49
+ if cask.deprecated? &&
50
+ no?("#{name} has been deprecated. Ok to remove all versions?", :red)
51
+
53
52
  say 'No action taken.', :red
54
53
  next
55
54
  end
@@ -2,25 +2,23 @@ require_relative './caskroom'
2
2
 
3
3
  module BrewCaskTools
4
4
  module Tasks
5
- # Outdated cask tasks
5
+ # Outdated cask task
6
6
  class Outdated < Caskroom
7
7
  def initialize
8
8
  super
9
9
  progressbar.total = caskroom.casks.length
10
10
  progressbar.log "\nLooking for outdated casks..."
11
- outdated, deprecated = compile
11
+ @outdated, @deprecated = compile
12
12
 
13
- outdated(outdated)
14
- deprecated(deprecated)
13
+ outdated
14
+ deprecated
15
15
  end
16
16
 
17
17
  def compile
18
18
  outdated = []
19
19
  deprecated = []
20
-
21
20
  caskroom.enumerate do |cask|
22
- progressbar.title = " #{cask.name.capitalize} "
23
- progressbar.increment
21
+ increment(cask)
24
22
 
25
23
  outdated << cask if cask.outdated?
26
24
  deprecated << cask if cask.deprecated?
@@ -28,32 +26,26 @@ module BrewCaskTools
28
26
  [outdated, deprecated]
29
27
  end
30
28
 
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]
36
- end
29
+ def outdated
30
+ return say "\nThere are no outdated casks", :yellow if @outdated.empty?
37
31
 
38
- headers = ['Package', 'Installed Version', 'New Version']
39
- output = outdated_casks.unshift(headers)
40
- print_table(output)
32
+ @outdated.map! do |cask|
33
+ [cask.name, cask.current, cask.candidate]
41
34
  end
42
- end
43
35
 
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)
36
+ handle(@outdated, 'outdated') do |outdated|
37
+ format(['Package', 'Installed Version', 'New Version'], outdated)
50
38
  end
51
39
  end
52
40
 
53
- def handle(casks, adverb)
54
- puts "#{adverb.capitalize} packages\n------------------"
55
- yield casks
56
- puts "\n"
41
+ def deprecated
42
+ return if @deprecated.empty?
43
+
44
+ @deprecated.map! { |cask| [cask.name] }
45
+
46
+ handle(@deprecated, 'deprecated') do |deprecated|
47
+ format(['Package'], deprecated)
48
+ end
57
49
  end
58
50
  end
59
51
  end
@@ -5,48 +5,50 @@ require_relative './cleanup'
5
5
 
6
6
  module BrewCaskTools
7
7
  module Tasks
8
- # Upgrade tasks
8
+ # Upgrade task
9
9
  class Upgrade < Caskroom
10
- def initialize(cask_name)
10
+ # @param optional casks [Array] array of cask names to upgrade
11
+ def initialize(casks)
11
12
  super()
12
13
 
13
- if cask_name.nil?
14
+ @upgrade = []
15
+
16
+ if casks.empty?
14
17
  progressbar.total = caskroom.casks.length
15
18
  progressbar.log "\nLooking for outdated casks..."
16
19
 
17
- return upgrade_all # Clean all casks
20
+ @upgrade = compile
21
+ else
22
+ @upgrade = casks.map { |c| caskroom.get(c) }
23
+ return say 'Invalid cask(s) specified', :red if @upgrade.compact.empty?
18
24
  end
19
25
 
20
- cask = caskroom.get(cask_name)
21
- return say 'Invalid cask specified', :red if cask.nil?
22
-
23
- upgrade_one(cask)
26
+ upgrade
24
27
  end
25
28
 
26
- def upgrade_all
27
- to_upgrade = []
28
-
29
+ # Get list of casks to upgrade
30
+ # @return [Array] an array of casks to upgrade
31
+ def compile
32
+ upgrade = []
29
33
  caskroom.enumerate do |cask|
30
- progressbar.title = " #{cask.name.capitalize} "
31
- progressbar.increment
34
+ increment(cask)
32
35
 
33
36
  next unless cask.outdated?
34
37
 
35
- to_upgrade << cask
38
+ upgrade << cask
36
39
  progressbar.log "#{cask.info.name}: " \
37
- "#{cask.installed_version} ==> #{cask.current_version}"
40
+ "#{cask.current} ==> #{cask.candidate}"
38
41
  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)
42
+ upgrade
45
43
  end
46
44
 
47
- def upgrade_one(cask)
48
- cask.upgrade
49
- Tasks::Cleanup.new(cask.name)
45
+ # Upgrade casks
46
+ def upgrade
47
+ return say 'There are no casks to be upgraded', :green if @upgrade.empty?
48
+ @upgrade.each(&:upgrade)
49
+
50
+ # Cleanup casks that we upgraded
51
+ Tasks::Cleanup.new(@upgrade.map(&:name))
50
52
  end
51
53
  end
52
54
  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: 1.0.3
4
+ version: 1.1.0
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-09-03 00:00:00.000000000 Z
11
+ date: 2016-11-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: pry
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1.7'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rubocop
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.44'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.44'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: thor
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -95,19 +109,19 @@ dependencies:
95
109
  - !ruby/object:Gem::Version
96
110
  version: '1.8'
97
111
  - !ruby/object:Gem::Dependency
98
- name: git-version-bump
112
+ name: versionomy
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
115
  - - "~>"
102
116
  - !ruby/object:Gem::Version
103
- version: '0.15'
117
+ version: '0.5'
104
118
  type: :runtime
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
122
  - - "~>"
109
123
  - !ruby/object:Gem::Version
110
- version: '0.15'
124
+ version: '0.5'
111
125
  description: A tiny tool that provides some missing functionality in Homebrew Cask.
112
126
  email:
113
127
  - davepgreene@gmail.com
@@ -122,6 +136,8 @@ files:
122
136
  - lib/bct.rb
123
137
  - lib/bct/cask.rb
124
138
  - lib/bct/cask/info.rb
139
+ - lib/bct/cask/version.rb
140
+ - lib/bct/cask/versions.rb
125
141
  - lib/bct/caskroom.rb
126
142
  - lib/bct/metadata.rb
127
143
  - lib/bct/tasks.rb
@@ -129,7 +145,6 @@ files:
129
145
  - lib/bct/tasks/cleanup.rb
130
146
  - lib/bct/tasks/outdated.rb
131
147
  - lib/bct/tasks/upgrade.rb
132
- - lib/bct/util.rb
133
148
  homepage: https://github.com/davepgreene/brew-cask-tools
134
149
  licenses:
135
150
  - MIT
@@ -142,7 +157,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
142
157
  requirements:
143
158
  - - ">="
144
159
  - !ruby/object:Gem::Version
145
- version: '0'
160
+ version: '2.1'
146
161
  required_rubygems_version: !ruby/object:Gem::Requirement
147
162
  requirements:
148
163
  - - ">="
data/lib/bct/util.rb DELETED
@@ -1,30 +0,0 @@
1
- require 'pathname'
2
-
3
- module BrewCaskTools
4
- ##
5
- # Shared helper methods
6
- ##
7
- module Util
8
- GEM_PATH = Pathname.new(__FILE__).join('../../..').expand_path
9
-
10
- class << self
11
- ##
12
- # Transform helpers
13
- ##
14
- def to_array(arg)
15
- arg.is_a?(Array) ? arg : [arg]
16
- end
17
-
18
- ##
19
- # Relative path from working directory
20
- ##
21
- def relative_path(*relative)
22
- Pathname.pwd.join(*relative.flatten.map(&:to_s)).expand_path
23
- end
24
-
25
- def source_path(*relative)
26
- GEM_PATH.join(*relative.flatten.map(&:to_s)).expand_path
27
- end
28
- end
29
- end
30
- end