Class: SBOM::CycloneDX::Field::PropBase
- Inherits:
-
Base
- Object
- Base
- SBOM::CycloneDX::Field::PropBase
show all
- Defined in:
- lib/sbom/cyclone_dx/field.rb
Instance Attribute Summary
Attributes inherited from Base
#errors, #value
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Base
const?, default, default?, required?, #valid?, #value?
Constructor Details
#initialize(*value) ⇒ PropBase
rubocop:disable Lint/MissingSuper
81
82
83
84
85
86
87
88
89
90
91
|
# File 'lib/sbom/cyclone_dx/field.rb', line 81
def initialize(*value)
raise "Cannot instantiate abstract Field" unless self.class < PropBase
raise ArgumentError, "Wrong number of arguments" if value.size > 1
if value.empty?
unset_value
return
end
self.value = value.first
end
|
Class Method Details
.coerce(_value) ⇒ Object
109
110
111
|
# File 'lib/sbom/cyclone_dx/field.rb', line 109
def self.coerce(_value)
raise NotImplementedError
end
|
Instance Method Details
#unset_value ⇒ Object
104
105
106
107
|
# File 'lib/sbom/cyclone_dx/field.rb', line 104
def unset_value
@value_set = !default?
@value = default
end
|
#value=(val) ⇒ Object
93
94
95
96
97
98
99
100
101
102
|
# File 'lib/sbom/cyclone_dx/field.rb', line 93
def value=(val)
if val.nil? && required?
@value_set = !default?
@value = default
return
end
@value_set = true
@value = val
end
|