Class: Brewmaster::RubyCollection

Inherits:
Object
  • Object
show all
Defined in:
lib/brewmaster/ruby_collection.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(rubies) ⇒ RubyCollection

Returns a new instance of RubyCollection.



3
4
5
# File 'lib/brewmaster/ruby_collection.rb', line 3

def initialize(rubies)
  @rubies = rubies
end

Class Method Details

.available_versionsObject



27
28
29
# File 'lib/brewmaster/ruby_collection.rb', line 27

def self.available_versions
  `ruby-build --definitions`.split
end

.installedObject



23
24
25
# File 'lib/brewmaster/ruby_collection.rb', line 23

def self.installed
  `ls ~/.rubies/`.split
end

Instance Method Details

#available?(version) ⇒ Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/brewmaster/ruby_collection.rb', line 15

def available?(version)
  self.class.available_versions.include?(version)
end

#install_missingObject



7
8
9
# File 'lib/brewmaster/ruby_collection.rb', line 7

def install_missing
  missing.each {|v| install_version(v)}
end

#install_version(v) ⇒ Object



19
20
21
# File 'lib/brewmaster/ruby_collection.rb', line 19

def install_version(v)
  `ruby-build #{v} ~/.rubies/#{v}`
end

#missingObject



11
12
13
# File 'lib/brewmaster/ruby_collection.rb', line 11

def missing
  (@rubies - self.class.installed).select {|v| available?(v)}
end