dev_osx_updater 0.0.3 → 0.0.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.
- checksums.yaml +4 -4
- data/lib/brew.rb +17 -15
- data/lib/dev_osx_updater/version.rb +1 -1
- data/lib/osx.rb +14 -10
- data/lib/pretzo.rb +21 -0
- data/lib/rbenv.rb +23 -3
- data/lib/ruby.rb +10 -2
- data/lib/rvm.rb +4 -4
- data/lib/system.rb +22 -12
- data/lib/zsh.rb +7 -8
- metadata +25 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 506aa28b82228df7c09c95f86690307a6ace0459
|
4
|
+
data.tar.gz: 4ce2794a567d1c7811a3036d8395f96c6603a697
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5b33e4ed9f376df8136f1b64436839ee2fe9e853aec303d830509f48281174d4330ab82aceab8f39ccfca9d203c1d80552ab118da66ab037b144990b42ab0633
|
7
|
+
data.tar.gz: 0f7918b008f66c32da962eef53318e119e98038d4ee8d29f39ae75ec5d246d19c9bf782169b89f92cf893e35d91bb705a0723f8b43413c579f0ed554c10a1b95
|
data/lib/brew.rb
CHANGED
@@ -5,30 +5,32 @@ class Brew
|
|
5
5
|
end
|
6
6
|
|
7
7
|
def cleanup
|
8
|
-
cleanup_message('Homebrew')
|
8
|
+
cleanup_message('Homebrew packages')
|
9
|
+
|
9
10
|
if run?
|
10
|
-
Open3.
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
else
|
15
|
-
puts ' - Cleaned Homebrew packages.'.colorize(:green)
|
16
|
-
end
|
17
|
-
end
|
11
|
+
result, _cmd = Open3.capture2e('brew cleanup')
|
12
|
+
|
13
|
+
puts ' - Homebrew packages already clean.'.colorize(:green) if result.empty?
|
14
|
+
puts ' - Cleaned Homebrew packages.'.colorize(:green) unless result.empty?
|
18
15
|
else
|
19
16
|
puts ' - Skipped.'.colorize(:red)
|
20
17
|
end
|
18
|
+
|
21
19
|
break_output
|
22
20
|
end
|
23
21
|
|
22
|
+
def info
|
23
|
+
`brew info`.delete!("\n")
|
24
|
+
end
|
25
|
+
|
24
26
|
def update
|
25
27
|
check_update_message('Homebrew')
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
28
|
+
|
29
|
+
result, _cmd = Open3.capture2e('brew update')
|
30
|
+
|
31
|
+
puts ' - Homebrew packages already up to date.'.colorize(:green) if result.include?('Already up-to-date')
|
32
|
+
puts ' - Homebrew packages updated.'.colorize(:green) unless result.include?('Already up-to-date')
|
33
|
+
|
32
34
|
break_output
|
33
35
|
end
|
34
36
|
end
|
data/lib/osx.rb
CHANGED
@@ -31,7 +31,14 @@ class OSX
|
|
31
31
|
- OSX: #{osx}
|
32
32
|
- Host: #{hostname}
|
33
33
|
- RAM: #{ram}
|
34
|
-
|
34
|
+
|
35
|
+
Ruby:
|
36
|
+
- Ruby version: #{ruby}
|
37
|
+
- RubyGems version: #{Ruby.rubygems_version}
|
38
|
+
- Bundler version: #{Ruby.bundler_version}
|
39
|
+
|
40
|
+
Homebrew:
|
41
|
+
- Usage: #{Brew.info if Brew.installed?}
|
35
42
|
EOS
|
36
43
|
|
37
44
|
break_output
|
@@ -40,14 +47,12 @@ class OSX
|
|
40
47
|
def check_mac_store_updates
|
41
48
|
check_update_message('Mac App Store')
|
42
49
|
if run?
|
43
|
-
Open3.popen3('softwareupdate -l') do |
|
50
|
+
Open3.popen3('softwareupdate -l') do |_stdin, stdout, stderr|
|
44
51
|
output = stdout.read
|
45
52
|
error = stderr.read
|
46
53
|
updates = output.split(/\r\n|\r|\n/, 5).last
|
47
|
-
|
48
|
-
|
49
|
-
# %x(softwareupdate -i -a) - Commented out as we dont want to auto update yet.
|
50
|
-
end
|
54
|
+
|
55
|
+
puts updates if output.include?('Software Update found')
|
51
56
|
puts ' - No new software updates available.' if error.include?('No new software available')
|
52
57
|
end
|
53
58
|
else
|
@@ -59,16 +64,15 @@ class OSX
|
|
59
64
|
def repair_disk_permissions
|
60
65
|
puts '| Repairing OSX disk permissions...'.bold
|
61
66
|
if run?
|
62
|
-
Open3.popen2e('diskutil repairPermissions /') do |
|
67
|
+
Open3.popen2e('diskutil repairPermissions /') do |_stdin, stdout_err, wait_thr|
|
63
68
|
while line = stdout_err.gets
|
64
69
|
puts line.delete!("\n").indent(4).colorize(:green)
|
65
70
|
break_output
|
66
71
|
end
|
67
72
|
|
68
73
|
exit_status = wait_thr.value
|
69
|
-
|
70
|
-
|
71
|
-
end
|
74
|
+
|
75
|
+
abort "FAILED !!! #{cmd}" unless exit_status.success?
|
72
76
|
end
|
73
77
|
else
|
74
78
|
puts ' - Skipped.'.colorize(:red)
|
data/lib/pretzo.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
class Pretzo
|
2
|
+
class << self
|
3
|
+
def installed?
|
4
|
+
file_or_folder_exists?('/.zprezto')
|
5
|
+
end
|
6
|
+
|
7
|
+
def update
|
8
|
+
check_update_message('Pretzo')
|
9
|
+
|
10
|
+
result, _cmd = Open3.capture2e('cd ~/.zprezto && git pull && git submodule update --init --recursive')
|
11
|
+
|
12
|
+
if result.include?('Already up-to-date')
|
13
|
+
puts ' - Pretzo already up to date.'.colorize(:green)
|
14
|
+
else
|
15
|
+
puts ' - Updated Pretzo...'.colorize(:green)
|
16
|
+
end
|
17
|
+
|
18
|
+
break_output
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/lib/rbenv.rb
CHANGED
@@ -5,11 +5,31 @@ class Rbenv
|
|
5
5
|
end
|
6
6
|
|
7
7
|
def update
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
if git_installed?
|
9
|
+
check_update_message('rbenv (git based install)')
|
10
|
+
update_git_based
|
11
|
+
else
|
12
|
+
check_update_message('rbenv (brew based install)')
|
13
|
+
update_brew_based
|
11
14
|
end
|
15
|
+
|
12
16
|
break_output
|
13
17
|
end
|
18
|
+
|
19
|
+
def update_git_based
|
20
|
+
Open3.capture2e('cd ~/.rbenv && git pull && cd plugins/ruby-build/ && git pull')
|
21
|
+
puts ' - rbenv updated.'.colorize(:green)
|
22
|
+
end
|
23
|
+
|
24
|
+
def update_brew_based
|
25
|
+
result, _cmd = Open3.capture2e('brew upgrade rbenv ruby-build')
|
26
|
+
|
27
|
+
puts result.indent(4).colorize(:light_cyan)
|
28
|
+
puts ' - rbenv updated.'.colorize(:green)
|
29
|
+
end
|
30
|
+
|
31
|
+
def git_installed?
|
32
|
+
File.exist? File.expand_path('~/.rbenv/.git')
|
33
|
+
end
|
14
34
|
end
|
15
35
|
end
|
data/lib/ruby.rb
CHANGED
@@ -4,7 +4,7 @@ class Ruby
|
|
4
4
|
check_update_message('Rubygems')
|
5
5
|
get_gem_json('rubygems-update')
|
6
6
|
|
7
|
-
current =
|
7
|
+
current = rubygems_version
|
8
8
|
latest = @response['version']
|
9
9
|
|
10
10
|
if Gem::Version.new(current) < Gem::Version.new(latest)
|
@@ -20,7 +20,7 @@ class Ruby
|
|
20
20
|
check_update_message('Bundler')
|
21
21
|
get_gem_json('bundler')
|
22
22
|
|
23
|
-
current =
|
23
|
+
current = bundler_version
|
24
24
|
latest = @response['version']
|
25
25
|
|
26
26
|
if current.nil? || Gem::Version.new(current) < Gem::Version.new(latest)
|
@@ -32,6 +32,14 @@ class Ruby
|
|
32
32
|
break_output
|
33
33
|
end
|
34
34
|
|
35
|
+
def rubygems_version
|
36
|
+
`gem -v`.delete!("\n")
|
37
|
+
end
|
38
|
+
|
39
|
+
def bundler_version
|
40
|
+
`bundler -v`.delete!("Bundler version\n")
|
41
|
+
end
|
42
|
+
|
35
43
|
def get_gem_json(name)
|
36
44
|
uri = URI("https://rubygems.org/api/v1/gems/#{name}.json")
|
37
45
|
@response = Net::HTTP.get(uri)
|
data/lib/rvm.rb
CHANGED
@@ -6,10 +6,10 @@ class RVM
|
|
6
6
|
|
7
7
|
def update
|
8
8
|
check_update_message('RVM')
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
|
10
|
+
result, _cmd = Open3.capture2e('rvm get stable')
|
11
|
+
puts ' - RVM updated.'.colorize(:green) if result.include?('RVM reloaded')
|
12
|
+
|
13
13
|
break_output
|
14
14
|
end
|
15
15
|
|
data/lib/system.rb
CHANGED
@@ -1,17 +1,16 @@
|
|
1
|
-
# Gems
|
2
1
|
require 'colorize'
|
3
2
|
require 'open3'
|
4
3
|
require 'pty'
|
5
4
|
require 'json'
|
6
5
|
require 'net/http'
|
7
6
|
|
8
|
-
# Local files
|
9
7
|
require 'utility'
|
10
8
|
require 'rvm'
|
11
9
|
require 'brew'
|
12
10
|
require 'ruby'
|
13
11
|
require 'osx'
|
14
12
|
require 'zsh'
|
13
|
+
require 'pretzo'
|
15
14
|
require 'rbenv'
|
16
15
|
|
17
16
|
module System
|
@@ -20,22 +19,33 @@ module System
|
|
20
19
|
|
21
20
|
def perform
|
22
21
|
OSX.system_info
|
23
|
-
|
24
|
-
Ruby.check_bundler_version
|
22
|
+
ruby
|
25
23
|
|
26
24
|
ZSH.update if ZSH.installed?
|
25
|
+
Pretzo.update if Pretzo.installed?
|
27
26
|
Rbenv.update if Rbenv.installed?
|
28
27
|
|
29
|
-
if Brew.installed?
|
30
|
-
|
31
|
-
|
32
|
-
|
28
|
+
brew if Brew.installed?
|
29
|
+
rvm if RVM.installed?
|
30
|
+
osx
|
31
|
+
end
|
32
|
+
|
33
|
+
def ruby
|
34
|
+
Ruby.check_rubygems_version
|
35
|
+
Ruby.check_bundler_version
|
36
|
+
end
|
37
|
+
|
38
|
+
def brew
|
39
|
+
Brew.update
|
40
|
+
Brew.cleanup
|
41
|
+
end
|
33
42
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
43
|
+
def rvm
|
44
|
+
RVM.update
|
45
|
+
RVM.cleanup
|
46
|
+
end
|
38
47
|
|
48
|
+
def osx
|
39
49
|
OSX.intro
|
40
50
|
OSX.check_mac_store_updates
|
41
51
|
OSX.repair_disk_permissions
|
data/lib/zsh.rb
CHANGED
@@ -7,15 +7,14 @@ class ZSH
|
|
7
7
|
def update
|
8
8
|
check_update_message('Oh My Zsh')
|
9
9
|
|
10
|
-
Open3.
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
system 'env ZSH=$ZSH /bin/sh $ZSH/tools/upgrade.sh'
|
17
|
-
end
|
10
|
+
result, _cmd = Open3.capture2e('env ZSH=$ZSH /bin/sh $ZSH/tools/upgrade.sh')
|
11
|
+
|
12
|
+
if result.include?('Current branch master is up to date')
|
13
|
+
puts ' - Oh My Zsh already up to date.'.colorize(:green)
|
14
|
+
else
|
15
|
+
puts ' - Updated Oh My Zsh...'.colorize(:green)
|
18
16
|
end
|
17
|
+
|
19
18
|
break_output
|
20
19
|
end
|
21
20
|
end
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dev_osx_updater
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Callum Barratt
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-08-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colorize
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.7
|
19
|
+
version: '0.7'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.7
|
26
|
+
version: '0.7'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -38,20 +38,34 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.9'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.3'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.3'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: pry
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
44
58
|
requirements:
|
45
|
-
- -
|
59
|
+
- - "~>"
|
46
60
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.10
|
61
|
+
version: '0.10'
|
48
62
|
type: :development
|
49
63
|
prerelease: false
|
50
64
|
version_requirements: !ruby/object:Gem::Requirement
|
51
65
|
requirements:
|
52
|
-
- -
|
66
|
+
- - "~>"
|
53
67
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.10
|
68
|
+
version: '0.10'
|
55
69
|
description: Keep your development tools such as homebrew, zsh, rubygems etc up to
|
56
70
|
date with a simple informative script.
|
57
71
|
email:
|
@@ -66,6 +80,7 @@ files:
|
|
66
80
|
- lib/brew.rb
|
67
81
|
- lib/dev_osx_updater/version.rb
|
68
82
|
- lib/osx.rb
|
83
|
+
- lib/pretzo.rb
|
69
84
|
- lib/rbenv.rb
|
70
85
|
- lib/ruby.rb
|
71
86
|
- lib/rvm.rb
|