Class: Ruuuby::MetaData::BrewAPI

Inherits:
RuuubyAPIComponentCLI show all
Defined in:
lib/ruuuby/ruuuby/api/api_brew.rb

Overview

TODO: github.com/Homebrew/brew/releases TODO: www.unixtutorial.org/brew-cask-vs-brew-formula/ TODO: brew.sh/

| term | definition | | ——- | ——— | | formula | | | cask | | | tap | |

Instance Attribute Summary

Attributes inherited from RuuubyAPIComponentCLI

#cmd_start

Attributes inherited from RuuubyEngineComponent

#versionable

Instance Method Summary collapse

Methods inherited from RuuubyAPIComponentCLI

#_calculate_version, #executed_cmd_returned_expected_output, #run_cmd, #run_cmd_raw

Methods inherited from RuuubyAPIComponent

#version

Methods inherited from RuuubyEngineComponent

#∅?

Constructor Details

#initialize(engine) ⇒ BrewAPI

Returns a new instance of BrewAPI.



24
25
26
27
28
# File 'lib/ruuuby/ruuuby/api/api_brew.rb', line 24

def initialize(engine)
  super(engine, 'brew')
  @path_openssl         = nil
  @env_var_no_analytics = nil
end

Instance Method Details

#analytics?Boolean

Returns:

  • (Boolean)

Raises:

  • (RuntimeError)


74
# File 'lib/ruuuby/ruuuby/api/api_brew.rb', line 74

def analytics?; self.env_var_no_analytics ? false : self.run_cmd('analytics state') == 'Analytics are disabled.'; end

#analytics_disabled?Boolean

Returns:

  • (Boolean)


77
# File 'lib/ruuuby/ruuuby/api/api_brew.rb', line 77

def analytics_disabled?; self.env_var_no_analytics; end

#analytics_set_offString

Returns:

Raises:

  • (RuntimeError)


93
94
95
96
97
98
99
# File 'lib/ruuuby/ruuuby/api/api_brew.rb', line 93

def analytics_set_off
  if self.env_var_no_analytics
    

#analytics_set_onString

Returns:

Raises:

  • (RuntimeError)


82
83
84
85
86
87
88
# File 'lib/ruuuby/ruuuby/api/api_brew.rb', line 82

def analytics_set_on;
  if self.env_var_no_analytics
    

#cleanupString

Returns:

Raises:

  • (RuntimeError)


109
# File 'lib/ruuuby/ruuuby/api/api_brew.rb', line 109

def cleanup; self.run_cmd('cleanup --verbose'); end

#doctorString

Returns:

Raises:

  • (RuntimeError)


104
# File 'lib/ruuuby/ruuuby/api/api_brew.rb', line 104

def doctor; self.run_cmd('doctor'); end

#env_var_no_analyticsBoolean

Returns:

  • (Boolean)


170
171
172
173
174
175
176
177
178
179
# File 'lib/ruuuby/ruuuby/api/api_brew.rb', line 170

def env_var_no_analytics
  if @env_var_no_analytics.nil?
    if ENV.

#healthy?(production_standards = false) ⇒ Boolean

Parameters:

  • production_standards (Boolean) (defaults to: false)

Returns:

  • (Boolean)

Raises:

  • (RuntimeError)


47
48
49
50
51
52
53
54
55
56
57
# File 'lib/ruuuby/ruuuby/api/api_brew.rb', line 47

def healthy?(production_standards=false)
  if self.doctor == 'Your system is ready to brew.'
    if production_standards
      return self.analytics? == false
    else
      return true
    end
  else
    false
  end
end

#openssl_pathString

Returns:



147
148
149
150
151
152
153
# File 'lib/ruuuby/ruuuby/api/api_brew.rb', line 147

def openssl_path
  if @path_openssl.

#openssl_path_executableString

Returns:

Raises:

  • (RuntimeError)


144
# File 'lib/ruuuby/ruuuby/api/api_brew.rb', line 144

def openssl_path_executable; "#{self.openssl_path}/bin/openssl"; end

#openssl_versionString

Returns:

Raises:

  • (RuntimeError)


139
# File 'lib/ruuuby/ruuuby/api/api_brew.rb', line 139

def openssl_version; self.run_cmd_raw("#{self.openssl_path}/bin/openssl version"); end

#package_prefix(package_name) ⇒ String

Parameters:

Returns:

Raises:

  • (ArgumentError)


116
117
118
119
# File 'lib/ruuuby/ruuuby/api/api_brew.rb', line 116

def package_prefix(package_name)
  

#∃_h_file?(required_version, required_header) ⇒ Boolean

Parameters:

Returns:

  • (Boolean)

Raises:

  • (ArgumentError)


161
162
163
164
165
# File 'lib/ruuuby/ruuuby/api/api_brew.rb', line 161

def