Class: Mnenv::Repository
- Inherits:
-
Object
show all
- Defined in:
- lib/mnenv/repository.rb
Class Attribute Summary collapse
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(data_dir: nil, update: false) ⇒ Repository
Returns a new instance of Repository.
25
26
27
28
29
30
31
|
# File 'lib/mnenv/repository.rb', line 25
def initialize(data_dir: nil, update: false)
@data_dir = data_dir || cli_data_dir || default_data_dir
@versions_file_path = File.join(@data_dir, 'versions.yaml')
@versions_cache = {}
@update = update
load
end
|
Class Attribute Details
.versions_manager ⇒ Object
11
12
13
|
# File 'lib/mnenv/repository.rb', line 11
def versions_manager
@versions_manager ||= VersionsManager.new
end
|
Instance Attribute Details
#data_dir ⇒ Object
Returns the value of attribute data_dir.
23
24
25
|
# File 'lib/mnenv/repository.rb', line 23
def data_dir
@data_dir
end
|
#versions_file_path ⇒ Object
Returns the value of attribute versions_file_path.
23
24
25
|
# File 'lib/mnenv/repository.rb', line 23
def versions_file_path
@versions_file_path
end
|
Class Method Details
.update_versions ⇒ Object
Force update the versions data
18
19
20
|
# File 'lib/mnenv/repository.rb', line 18
def update_versions
versions_manager.update
end
|
Instance Method Details
#all ⇒ Object
35
|
# File 'lib/mnenv/repository.rb', line 35
def all = @versions_cache.values.sort
|
#count ⇒ Object
39
|
# File 'lib/mnenv/repository.rb', line 39
def count = @versions_cache.size
|
#exists?(version_number) ⇒ Boolean
41
|
# File 'lib/mnenv/repository.rb', line 41
def exists?(version_number) = @versions_cache.key?(version_number)
|
#find(version_number) ⇒ Object
33
|
# File 'lib/mnenv/repository.rb', line 33
def find(version_number) = @versions_cache[version_number]
|
#latest ⇒ Object
37
|
# File 'lib/mnenv/repository.rb', line 37
def latest = all.last
|
#save(version) ⇒ Object
43
44
45
46
|
# File 'lib/mnenv/repository.rb', line 43
def save(version)
@versions_cache[version.version] = version
persist
end
|
#save_all(versions) ⇒ Object
48
49
50
51
|
# File 'lib/mnenv/repository.rb', line 48
def save_all(versions)
versions.each { |v| @versions_cache[v.version] = v }
persist
end
|