Class: Potassium::NewestVersionEnsurer

Inherits:
Object
  • Object
show all
Includes:
Term::ANSIColor
Defined in:
lib/potassium/newest_version_ensurer.rb

Instance Method Summary collapse

Constructor Details

#initialize(current_version = Potassium::VERSION) ⇒ NewestVersionEnsurer

Returns a new instance of NewestVersionEnsurer.



10
11
12
13
# File 'lib/potassium/newest_version_ensurer.rb', line 10

def initialize(current_version = Potassium::VERSION)
  self.current_version = Semantic::Version.new(current_version)
  self.text_spinner = Potassium::TextSpinner.new
end

Instance Method Details

#ensure(&success_block) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/potassium/newest_version_ensurer.rb', line 15

def ensure(&success_block)
  spin_text("Checking your Potassium installation") { latest_version }

  self.latest_version = Semantic::Version.new(
    Gems.versions("potassium").first["number"]
  )

  if latest_version <= current_version
    up_to_date
    success_block.call
  else
    please_update
  end
end