Class: Yoda::Store::Registry::LibraryRegistry

Inherits:
Object
  • Object
show all
Defined in:
lib/yoda/store/registry/library_registry.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(id:, adapter:) ⇒ LibraryRegistry

Returns a new instance of LibraryRegistry.

Parameters:



47
48
49
50
# File 'lib/yoda/store/registry/library_registry.rb', line 47

def initialize(id:, adapter:)
  @id = id
  @adapter = adapter
end

Instance Attribute Details

#adapterAdapters::Base (readonly)

Returns:



43
44
45
# File 'lib/yoda/store/registry/library_registry.rb', line 43

def adapter
  @adapter
end

#idString (readonly)

Returns:

  • (String)


40
41
42
# File 'lib/yoda/store/registry/library_registry.rb', line 40

def id
  @id
end

Class Method Details

.for_library(library) ⇒ Object

Parameters:



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/yoda/store/registry/library_registry.rb', line 6

def for_library(library)
  adapter = Adapters.for(library.registry_path)
  namespace = adapter.namespace(library.name)

  if namespace.empty?
    Instrument.instance.build_library_registry(name: library.name, version: library.version, message: "Building registry for #{library.name} (#{library.version})")
    patch = library.create_patch
    patch && compress_and_save(patch: patch, adapter: namespace)
    Instrument.instance.build_library_registry(name: library.name, version: library.version, message: "Finished to build registry for #{library.name} (#{library.version})")
  end

  new(id: library.id, adapter: namespace)
end

Instance Method Details

#get(path) ⇒ Object



52
53
54
# File 'lib/yoda/store/registry/library_registry.rb', line 52

def get(path)
  adapter.get(path)
end

#has_key?(path) ⇒ true, false

Parameters:

  • path (String)

Returns:

  • (true, false)


58
59
60
# File 'lib/yoda/store/registry/library_registry.rb', line 58

def has_key?(path)
  adapter.exists?(path)
end

#keysObject



66
67
68
# File 'lib/yoda/store/registry/library_registry.rb', line 66

def keys
  @keys ||= Set.new(adapter.keys.map(&:to_s) || [])
end

#persistable?Boolean

Returns:

  • (Boolean)


62
63
64
# File 'lib/yoda/store/registry/library_registry.rb', line 62

def persistable?
  adapter.persistable?
end