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 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