brew-cask-commands 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 222e27cd278a686174e094d03fef1b12c8c408a7
4
+ data.tar.gz: 49c762ac354f5ea262d5dcfb90857a47c2b81983
5
+ SHA512:
6
+ metadata.gz: 7f0b7626aee1b42dffece3562c228a2d256b2acace2f7fc1fd7c5151fbcf826b93e279e139e356266b77b6e9ddcd322e4646c40536e56c4d08d8498b1fb9fda0
7
+ data.tar.gz: b3bb783c4a871d73b7bb5f5e57ba620f199cded336229675ce723197ca92070d291daec8f9cd5d2764fb73c5b74c740770179bb06c2dd119d850cf0f6850c009
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'brew-cask-commands'
4
+
5
+ upgradable_casks = Cask.upgradable
6
+
7
+ puts upgradable_casks.length == 0 && 'No outdated packages' || upgradable_casks
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'brew-cask-commands'
4
+
5
+ upgradable_casks = Cask.upgradable
6
+
7
+ puts "No upgrade available" if upgradable_casks.length == 0
8
+
9
+ upgradable_casks.each { |cask|
10
+ puts "Upgrading #{cask} from #{cask.installed_version} to #{cask.version}"
11
+ Cask::Installer.new(cask).install()
12
+ }
@@ -0,0 +1,33 @@
1
+ require 'rubygems'
2
+
3
+ class Cask
4
+ def installed?
5
+ destination_path.exist?
6
+ end
7
+
8
+ def installed_version?
9
+ !installed_version.nil?
10
+ end
11
+
12
+ def installed_version
13
+ # returns latest installed version if possible
14
+ Pathname.glob(caskroom_path.join('*')).map(&:basename).sort{|x,y|
15
+ Gem::Version.new(x) <=> Gem::Version.new(y) # throws exception if invalid version is provided ...
16
+ }.last rescue nil # ... return nil in this case
17
+ end
18
+
19
+ def update_available?
20
+ Gem::Version.correct?(version) && # we have something to compare against in Cask file ...
21
+ installed_version? && # ... we can determine current installed version ...
22
+ Gem::Version.new(installed_version) < Gem::Version.new(version) # ... compare
23
+ end
24
+ end
25
+
26
+ module Cask::Scopes
27
+ module ClassMethods
28
+ def upgradable
29
+ Cask.installed.select(&:update_available?)
30
+ end
31
+ end
32
+ end
33
+
metadata ADDED
@@ -0,0 +1,49 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: brew-cask-commands
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Markus Doits
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-02-23 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Adds new command `doutdated` and `dupgrade` to homebrew cask by providing
14
+ those as external commands
15
+ email: markus-gem@stellenticket.de
16
+ executables:
17
+ - brewcask-doutdated.rb
18
+ - brewcask-dupgrade.rb
19
+ extensions: []
20
+ extra_rdoc_files: []
21
+ files:
22
+ - bin/brewcask-doutdated.rb
23
+ - bin/brewcask-dupgrade.rb
24
+ - lib/brew-cask-commands.rb
25
+ homepage:
26
+ licenses:
27
+ - MIT
28
+ metadata: {}
29
+ post_install_message:
30
+ rdoc_options: []
31
+ require_paths:
32
+ - lib
33
+ required_ruby_version: !ruby/object:Gem::Requirement
34
+ requirements:
35
+ - - ">="
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ required_rubygems_version: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: '0'
43
+ requirements: []
44
+ rubyforge_project:
45
+ rubygems_version: 2.2.2
46
+ signing_key:
47
+ specification_version: 4
48
+ summary: Provides additional cask commands
49
+ test_files: []