Class: Capsium::Package::MetadataData

Inherits:
Lutaml::Model::Serializable
  • Object
show all
Defined in:
lib/capsium/package/metadata_config.rb,
sig/capsium/package/metadata_config.rbs

Overview

Canonical metadata.json model (ARCHITECTURE.md section 2). The legacy array form of "dependencies" is normalized on read; writers emit only the object form.

Constant Summary collapse

KEBAB_CASE_PATTERN =

Returns:

  • (Regexp)
/\A[a-z0-9]+(-[a-z0-9]+)*\z/
SEMVER_PATTERN =

Returns:

  • (Regexp)
/\A\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?\z/
UUID_PATTERN =

Returns:

  • (Regexp)
/\A[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\z/i

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeObject



33
# File 'sig/capsium/package/metadata_config.rbs', line 33

def initialize: (?name: String? name, ?version: String? version,

Instance Attribute Details

#authorString?

Returns the value of attribute author.

Returns:

  • (String, nil)


27
28
29
# File 'sig/capsium/package/metadata_config.rbs', line 27

def author
  @author
end

#dependenciesHash[String, String]

Returns the value of attribute dependencies.

Returns:

  • (Hash[String, String])


30
31
32
# File 'sig/capsium/package/metadata_config.rbs', line 30

def dependencies
  @dependencies
end

#descriptionString?

Returns the value of attribute description.

Returns:

  • (String, nil)


24
25
26
# File 'sig/capsium/package/metadata_config.rbs', line 24

def description
  @description
end

#guidString?

Returns the value of attribute guid.

Returns:

  • (String, nil)


25
26
27
# File 'sig/capsium/package/metadata_config.rbs', line 25

def guid
  @guid
end

#licenseString?

Returns the value of attribute license.

Returns:

  • (String, nil)


28
29
30
# File 'sig/capsium/package/metadata_config.rbs', line 28

def license
  @license
end

#nameString?

Returns the value of attribute name.

Returns:

  • (String, nil)


22
23
24
# File 'sig/capsium/package/metadata_config.rbs', line 22

def name
  @name
end

#read_onlyBoolean?

Returns the value of attribute read_only.

Returns:

  • (Boolean, nil)


31
32
33
# File 'sig/capsium/package/metadata_config.rbs', line 31

def read_only
  @read_only
end

#repositoryRepository?

Returns the value of attribute repository.

Returns:



29
30
31
# File 'sig/capsium/package/metadata_config.rbs', line 29

def repository
  @repository
end

#uuidString?

Returns the value of attribute uuid.

Returns:

  • (String, nil)


26
27
28
# File 'sig/capsium/package/metadata_config.rbs', line 26

def uuid
  @uuid
end

#versionString?

Returns the value of attribute version.

Returns:

  • (String, nil)


23
24
25
# File 'sig/capsium/package/metadata_config.rbs', line 23

def version
  @version
end

Class Method Details

.from_json(json) ⇒ instance

Parameters:

  • json (String)

Returns:

  • (instance)


53
54
55
56
57
# File 'lib/capsium/package/metadata_config.rb', line 53

def self.from_json(json)
  doc = JSON.parse(json)
  doc["dependencies"] = normalize_dependencies(doc["dependencies"])
  super(JSON.generate(doc))
end

Instance Method Details

#format_errorsArray[String]

Field-level format validations; empty when valid.

Returns:

  • (Array[String])


69
70
71
# File 'lib/capsium/package/metadata_config.rb', line 69

def format_errors
  presence_errors + format_field_errors
end

#to_hashHash[String, untyped]

Returns:

  • (Hash[String, untyped])


46
# File 'sig/capsium/package/metadata_config.rbs', line 46

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

#to_jsonString

Parameters:

  • args (Object)

Returns:

  • (String)


45
# File 'sig/capsium/package/metadata_config.rbs', line 45

def to_json: (*untyped args) -> String