Class: Yoda::Store::Objects::LibrariesStatus

Inherits:
Object
  • Object
show all
Includes:
Serializable
Defined in:
lib/yoda/store/objects/libraries_status.rb

Defined Under Namespace

Classes: Connected

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Serializable

#==, #derive, #eql?, #hash, included, #to_json

Constructor Details

#initialize(libraries: []) ⇒ LibrariesStatus

Returns a new instance of LibrariesStatus.

Parameters:



17
18
19
# File 'lib/yoda/store/objects/libraries_status.rb', line 17

def initialize(libraries: [])
  @libraries = libraries
end

Instance Attribute Details

#librariesArray<CoreStatus, StdStatus, GemStatus, LocalLibraryStatus> (readonly)

Returns:

  • (Array<CoreStatus, StdStatus, GemStatus, LocalLibraryStatus>)


8
9
10
# File 'lib/yoda/store/objects/libraries_status.rb', line 8

def libraries
  @libraries
end

Class Method Details

.libraies_from_dependency(dependency) ⇒ Array<Object::Library::Core, Object::Library::Std, Object::Library::Gem>

Parameters:

Returns:

  • (Array<Object::Library::Core, Object::Library::Std, Object::Library::Gem>)


12
13
14
# File 'lib/yoda/store/objects/libraries_status.rb', line 12

def self.libraies_from_dependency(dependency)
  [dependency.core, dependency.std, *dependency.gems.select(&:installed?)]
end

Instance Method Details

#add_library(library) ⇒ Object



21
22
23
# File 'lib/yoda/store/objects/libraries_status.rb', line 21

def add_library(library)
  @libraries.push(library)
end

#remove_library(library) ⇒ Object



25
26
27
# File 'lib/yoda/store/objects/libraries_status.rb', line 25

def remove_library(library)
  @libraries.delete_if { |lib| lib.id == library.id }
end

#to_hObject



29
30
31
# File 'lib/yoda/store/objects/libraries_status.rb', line 29

def to_h
  { libraries: libraries }
end

#with_project_connection(**kwargs) ⇒ Connected

Returns:



34
35
36
# File 'lib/yoda/store/objects/libraries_status.rb', line 34

def with_project_connection(**kwargs)
  self.class.const_get(:Connected).new(self, **kwargs)
end