Class: Mnenv::GemfileVersion

Inherits:
ArtifactVersion show all
Defined in:
lib/mnenv/models/gemfile_version.rb

Class Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from ArtifactVersion

#<=>, #display_name

Class Attribute Details

.versions_managerObject



14
15
16
# File 'lib/mnenv/models/gemfile_version.rb', line 14

def versions_manager
  @versions_manager ||= VersionsManager.new
end

Instance Method Details

#data_dirObject



30
31
32
33
34
35
36
37
38
39
# File 'lib/mnenv/models/gemfile_version.rb', line 30

def data_dir
  @data_dir ||= begin
    base_dir = if defined?(Mnenv::Cli) && Mnenv::Cli.data_dir
                 Mnenv::Cli.data_dir
               else
                 self.class.versions_manager.data_path
               end
    File.join(base_dir, 'gemfile')
  end
end

#directory_pathObject



41
# File 'lib/mnenv/models/gemfile_version.rb', line 41

def directory_path = File.join(data_dir, "v#{version}")

#exists_locally?Boolean

Returns:

  • (Boolean)


47
48
49
50
51
# File 'lib/mnenv/models/gemfile_version.rb', line 47

def exists_locally?
  File.directory?(directory_path) &&
    File.file?(gemfile_path_calc) &&
    File.file?(gemfile_lock_path_calc)
end

#gemfile_lock_path_calcObject



45
# File 'lib/mnenv/models/gemfile_version.rb', line 45

def gemfile_lock_path_calc = File.join(directory_path, 'Gemfile.lock.archived')

#gemfile_path_calcObject



43
# File 'lib/mnenv/models/gemfile_version.rb', line 43

def gemfile_path_calc = File.join(directory_path, 'Gemfile')

#to_hashObject



53
54
55
56
57
58
59
# File 'lib/mnenv/models/gemfile_version.rb', line 53

def to_hash
  super.merge(
    'gemfile_exists' => gemfile_exists,
    'gemfile_path' => gemfile_path,
    'gemfile_lock_path' => gemfile_lock_path
  )
end