Class: Sbom::Data::Document

Inherits:
Object
  • Object
show all
Defined in:
lib/sbom/data/document.rb

Constant Summary collapse

DEFAULTS =
{
  name: "NOT DEFINED",
  id: "NOT_DEFINED"
}.freeze

Instance Method Summary collapse

Constructor Details

#initializeDocument

Returns a new instance of Document.



11
12
13
# File 'lib/sbom/data/document.rb', line 11

def initialize
  @data = {}
end

Instance Method Details

#[](key) ⇒ Object



124
125
126
# File 'lib/sbom/data/document.rb', line 124

def [](key)
  @data[key.to_sym]
end

#[]=(key, value) ⇒ Object



128
129
130
# File 'lib/sbom/data/document.rb', line 128

def []=(key, value)
  @data[key.to_sym] = value
end

#add_creator(creator_type, creator_name) ⇒ Object



83
84
85
86
# File 'lib/sbom/data/document.rb', line 83

def add_creator(creator_type, creator_name)
  @data[:creators] ||= []
  @data[:creators] << [creator_type, creator_name]
end

#copy_from(document_hash) ⇒ Object



136
137
138
139
140
# File 'lib/sbom/data/document.rb', line 136

def copy_from(document_hash)
  document_hash.each do |key, value|
    @data[key.to_sym] = value
  end
end

#createdObject



67
68
69
# File 'lib/sbom/data/document.rb', line 67

def created
  @data[:created]
end

#created=(value) ⇒ Object



71
72
73
# File 'lib/sbom/data/document.rb', line 71

def created=(value)
  @data[:created] = value
end

#creatorsObject



88
89
90
# File 'lib/sbom/data/document.rb', line 88

def creators
  @data[:creators] || []
end

#data_licenseObject



51
52
53
# File 'lib/sbom/data/document.rb', line 51

def data_license
  @data[:data_license]
end

#data_license=(value) ⇒ Object



55
56
57
# File 'lib/sbom/data/document.rb', line 55

def data_license=(value)
  @data[:data_license] = value
end

#idObject



27
28
29
# File 'lib/sbom/data/document.rb', line 27

def id
  @data[:id] || DEFAULTS[:id]
end

#id=(value) ⇒ Object



31
32
33
# File 'lib/sbom/data/document.rb', line 31

def id=(value)
  @data[:id] = value
end

#license_list_versionObject



59
60
61
# File 'lib/sbom/data/document.rb', line 59

def license_list_version
  @data[:license_list_version]
end

#license_list_version=(value) ⇒ Object



63
64
65
# File 'lib/sbom/data/document.rb', line 63

def license_list_version=(value)
  @data[:license_list_version] = value
end

#lifecycleObject



116
117
118
# File 'lib/sbom/data/document.rb', line 116

def lifecycle
  @data[:lifecycle]
end

#lifecycle=(value) ⇒ Object



120
121
122
# File 'lib/sbom/data/document.rb', line 120

def lifecycle=(value)
  @data[:lifecycle] = value
end

#metadata_supplierObject



100
101
102
# File 'lib/sbom/data/document.rb', line 100

def 
  @data[:metadata_supplier]
end

#metadata_supplier=(value) ⇒ Object



104
105
106
# File 'lib/sbom/data/document.rb', line 104

def (value)
  @data[:metadata_supplier] = value
end

#metadata_typeObject



92
93
94
# File 'lib/sbom/data/document.rb', line 92

def 
  @data[:metadata_type]
end

#metadata_type=(value) ⇒ Object



96
97
98
# File 'lib/sbom/data/document.rb', line 96

def (value)
  @data[:metadata_type] = value
end

#metadata_versionObject



108
109
110
# File 'lib/sbom/data/document.rb', line 108

def 
  @data[:metadata_version]
end

#metadata_version=(value) ⇒ Object



112
113
114
# File 'lib/sbom/data/document.rb', line 112

def (value)
  @data[:metadata_version] = value
end

#nameObject



19
20
21
# File 'lib/sbom/data/document.rb', line 19

def name
  @data[:name] || DEFAULTS[:name]
end

#name=(value) ⇒ Object



23
24
25
# File 'lib/sbom/data/document.rb', line 23

def name=(value)
  @data[:name] = value
end

#namespaceObject



75
76
77
# File 'lib/sbom/data/document.rb', line 75

def namespace
  @data[:namespace]
end

#namespace=(value) ⇒ Object



79
80
81
# File 'lib/sbom/data/document.rb', line 79

def namespace=(value)
  @data[:namespace] = value
end

#reset!Object



15
16
17
# File 'lib/sbom/data/document.rb', line 15

def reset!
  @data = {}
end

#sbom_typeObject



43
44
45
# File 'lib/sbom/data/document.rb', line 43

def sbom_type
  @data[:type]
end

#sbom_type=(value) ⇒ Object



47
48
49
# File 'lib/sbom/data/document.rb', line 47

def sbom_type=(value)
  @data[:type] = value&.downcase
end

#to_hObject



132
133
134
# File 'lib/sbom/data/document.rb', line 132

def to_h
  @data.dup
end

#versionObject



35
36
37
# File 'lib/sbom/data/document.rb', line 35

def version
  @data[:version]
end

#version=(value) ⇒ Object



39
40
41
# File 'lib/sbom/data/document.rb', line 39

def version=(value)
  @data[:version] = value
end