Class: Capsium::Package::Metadata

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
sig/capsium/package/metadata.rbs,
lib/capsium/package/metadata.rb

Overview

Loads and writes metadata.json; field access is delegated to the wrapped MetadataData config (ARCHITECTURE.md section 2).

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(path) ⇒ Metadata

Returns a new instance of Metadata.

Parameters:

  • path (String)


16
17
18
19
20
21
22
23
# File 'lib/capsium/package/metadata.rb', line 16

def initialize(path)
  @path = path
  @config = if File.exist?(path)
              MetadataData.from_json(File.read(path))
            else
              MetadataData.new
            end
end

Instance Attribute Details

#configMetadataData (readonly)

Returns the value of attribute config.

Returns:



8
9
10
# File 'lib/capsium/package/metadata.rb', line 8

def config
  @config
end

#pathString (readonly)

Returns the value of attribute path.

Returns:

  • (String)


8
9
10
# File 'lib/capsium/package/metadata.rb', line 8

def path
  @path
end

Instance Method Details

#authorString?

Returns:

  • (String, nil)


20
# File 'sig/capsium/package/metadata.rbs', line 20

def author: () -> String?

#dependenciesHash[String, String]

Returns:

  • (Hash[String, String])


23
# File 'sig/capsium/package/metadata.rbs', line 23

def dependencies: () -> Hash[String, String]

#descriptionString?

Returns:

  • (String, nil)


17
# File 'sig/capsium/package/metadata.rbs', line 17

def description: () -> String?

#guidString?

Returns:

  • (String, nil)


18
# File 'sig/capsium/package/metadata.rbs', line 18

def guid: () -> String?

#licenseString?

Returns:

  • (String, nil)


21
# File 'sig/capsium/package/metadata.rbs', line 21

def license: () -> String?

#nameString?

Returns:

  • (String, nil)


15
# File 'sig/capsium/package/metadata.rbs', line 15

def name: () -> String?

#repositoryRepository?

Returns:



22
# File 'sig/capsium/package/metadata.rbs', line 22

def repository: () -> Repository?

#save_to_file(output_path = @path) ⇒ void

This method returns an undefined value.

Parameters:

  • output_path (String) (defaults to: @path)


25
26
27
# File 'lib/capsium/package/metadata.rb', line 25

def save_to_file(output_path = @path)
  File.write(output_path, to_json)
end

#to_hashHash[String, untyped]

Returns:

  • (Hash[String, untyped])


14
# File 'sig/capsium/package/metadata.rbs', line 14

def to_hash: () -> Hash[String, untyped]

#to_jsonString

Parameters:

  • args (Object)

Returns:

  • (String)


13
# File 'sig/capsium/package/metadata.rbs', line 13

def to_json: (*untyped args) -> String

#uuidString?

Returns:

  • (String, nil)


19
# File 'sig/capsium/package/metadata.rbs', line 19

def uuid: () -> String?

#versionString?

Returns:

  • (String, nil)


16
# File 'sig/capsium/package/metadata.rbs', line 16

def version: () -> String?