dev_osx_updater 0.0.3 → 0.0.5

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: a356d95021105f5e9866fe18df46ce46ca911419
4
- data.tar.gz: a149cb4561f787eec6d526669aa516671468e05f
3
+ metadata.gz: 506aa28b82228df7c09c95f86690307a6ace0459
4
+ data.tar.gz: 4ce2794a567d1c7811a3036d8395f96c6603a697
5
5
  SHA512:
6
- metadata.gz: 36519f950073d0098523839c0314452f8d494544bf03f5928e2a1ca60fdd3fdec03e01f7680dc2a677ed479d7b0dfb2eea4180cfbb6aa00e63af8a5e50799b08
7
- data.tar.gz: 9920501e4a6c93cfa8ccf0450b5ae2f87c99b5530a322f38913d58cf83d10de104903f86532de646760018e07a9dcd834d443f085cc9395f4c4eaf440b1eae20
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.popen3('brew cleanup') do |stdin, stdout|
11
- output = stdout.read
12
- if output.empty?
13
- puts ' - Homebrew packages already clean.'.colorize(:green)
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
- if %x(brew update | grep Already)
27
- puts ' - Homebrew packages already up to date.'.colorize(:green)
28
- else
29
- puts ' - Updating Homebrew packages...'.colorize(:green)
30
- system 'brew update'
31
- end
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
@@ -1,3 +1,3 @@
1
1
  module DevOsxUpdater
2
- VERSION = '0.0.3'
2
+ VERSION = '0.0.5'
3
3
  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
- - Ruby: #{ruby}
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 |stdin, stdout, stderr|
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
- if output.include?('Software Update found')
48
- puts updates
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 |stdin, stdout_err, wait_thr|
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
- unless exit_status.success?
70
- abort "FAILED !!! #{cmd}"
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
- check_update_message('rbenv')
9
- Open3.popen3('cd ~/.rbenv && git pull && cd plugins/ruby-build/ && git pull') do |stdin, stdout, stderr, thread|
10
- puts ' - rbenv updated.'.colorize(:green)
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 = %x(gem -v).delete!("\n")
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 = %x(bundler -v).delete!("Bundler version\n")
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
- Open3.popen3('rvm get stable') do |stdin, stdout|
10
- output = stdout.read
11
- puts ' - RVM updated.'.colorize(:green) if output.include?('RVM reloaded')
12
- end
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
- Ruby.check_rubygems_version
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
- Brew.update
31
- Brew.cleanup
32
- end
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
- if RVM.installed?
35
- RVM.update
36
- RVM.cleanup
37
- end
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.popen3('env ZSH=$ZSH /bin/sh $ZSH/tools/upgrade.sh') do |stdin, stdout|
11
- output = stdout.read
12
- if output.include?('Current branch master is up to date')
13
- puts ' - Oh My Zsh already up to date.'.colorize(:green)
14
- else
15
- puts ' - Updating Oh My Zsh...'.colorize(:green)
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.3
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-07-28 00:00:00.000000000 Z
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.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.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.1
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.1
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