Class: Reactor::Versioner

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/reactor/tools/versioner.rb

Overview

Class responsible for interfacing with version-storing mechanism

Defined Under Namespace

Classes: Slave

Instance Method Summary collapse

Constructor Details

#initializeVersioner

Returns a new instance of Versioner.



85
86
87
88
89
# File 'lib/reactor/tools/versioner.rb', line 85

def initialize
  @versions = []
  @backend = Slave.new
  load
end

Instance Method Details

#add(version) ⇒ Object



103
104
105
# File 'lib/reactor/tools/versioner.rb', line 103

def add(version)
  @versions << version.to_s
end

#applied?(version) ⇒ Boolean

Returns:

  • (Boolean)


99
100
101
# File 'lib/reactor/tools/versioner.rb', line 99

def applied?(version)
  @versions.include? version.to_s
end

#current_versionObject



115
116
117
118
119
# File 'lib/reactor/tools/versioner.rb', line 115

def current_version
  current = @versions.sort.reverse.first
  return 0 if current.nil?
  return current
end

#loadObject



91
92
93
# File 'lib/reactor/tools/versioner.rb', line 91

def load
  @versions = @backend.load
end

#remove(version) ⇒ Object



107
108
109
# File 'lib/reactor/tools/versioner.rb', line 107

def remove(version)
  not @versions.delete(version.to_s).nil?
end

#storeObject



95
96
97
# File 'lib/reactor/tools/versioner.rb', line 95

def store
  @backend.store(@versions)
end

#versionsObject



111
112
113
# File 'lib/reactor/tools/versioner.rb', line 111

def versions
  @versions
end