Class: Comet::ContentMeasurementComponent
- Inherits:
-
Object
- Object
- Comet::ContentMeasurementComponent
- Defined in:
- lib/comet/models/content_measurement_component.rb
Overview
ContentMeasurementComponent is a typed class wrapper around the underlying Comet Server API data structure.
Instance Attribute Summary collapse
-
#bytes ⇒ Object
Returns the value of attribute bytes.
-
#unknown_json_fields ⇒ Object
Returns the value of attribute unknown_json_fields.
-
#used_by ⇒ Object
A list of strings describing which groups of snapshots rely on reaching this component of data.
Instance Method Summary collapse
- #clear ⇒ Object
- #from_hash(obj) ⇒ Object
- #from_json(json_string) ⇒ Object
-
#initialize ⇒ ContentMeasurementComponent
constructor
A new instance of ContentMeasurementComponent.
-
#to_h ⇒ Hash
The complete object as a Ruby hash.
-
#to_hash ⇒ Hash
The complete object as a Ruby hash.
-
#to_json(options = {}) ⇒ String
The complete object as a JSON string.
Constructor Details
#initialize ⇒ ContentMeasurementComponent
Returns a new instance of ContentMeasurementComponent.
36 37 38 |
# File 'lib/comet/models/content_measurement_component.rb', line 36 def initialize clear end |
Instance Attribute Details
#bytes ⇒ Object
Returns the value of attribute bytes.
16 17 18 |
# File 'lib/comet/models/content_measurement_component.rb', line 16 def bytes @bytes end |
#unknown_json_fields ⇒ Object
Returns the value of attribute unknown_json_fields.
34 35 36 |
# File 'lib/comet/models/content_measurement_component.rb', line 34 def unknown_json_fields @unknown_json_fields end |
#used_by ⇒ Object
A list of strings describing which groups of snapshots rely on reaching this component of data. The strings may take the following formats:
-
source_id/CURRENT - this data is required by the most recent backup job snapshot for the listed
Protected Item source.
-
source_id/HISTORIC - this data is required by an older backup job snapshot for the listed
Protected Item source.
-
TRUNCATED/* - there are too many separate components to show, and this component represents data
that is used by some other combination of components. If present, it will be the only entry in the UsedBy array.
-
the empty string - this amount of data is not currently referenced by any backup job snapshots.
If that remains the case by the next retention pass, this much data will be deleted to free up space. If present, it will be the only entry in the UsedBy array.
31 32 33 |
# File 'lib/comet/models/content_measurement_component.rb', line 31 def used_by @used_by end |
Instance Method Details
#clear ⇒ Object
40 41 42 43 44 |
# File 'lib/comet/models/content_measurement_component.rb', line 40 def clear @bytes = 0 @used_by = [] @unknown_json_fields = {} end |
#from_hash(obj) ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/comet/models/content_measurement_component.rb', line 54 def from_hash(obj) raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash obj.each do |k, v| case k when 'Bytes' raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric @bytes = v when 'UsedBy' if v.nil? @used_by = [] else @used_by = Array.new(v.length) v.each_with_index do |v1, i1| raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String @used_by[i1] = v1 end end else @unknown_json_fields[k] = v end end end |
#from_json(json_string) ⇒ Object
47 48 49 50 51 |
# File 'lib/comet/models/content_measurement_component.rb', line 47 def from_json(json_string) raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String from_hash(JSON.parse(json_string)) end |
#to_h ⇒ Hash
Returns The complete object as a Ruby hash.
92 93 94 |
# File 'lib/comet/models/content_measurement_component.rb', line 92 def to_h to_hash end |
#to_hash ⇒ Hash
Returns The complete object as a Ruby hash.
81 82 83 84 85 86 87 88 89 |
# File 'lib/comet/models/content_measurement_component.rb', line 81 def to_hash ret = {} ret['Bytes'] = @bytes ret['UsedBy'] = @used_by @unknown_json_fields.each do |k, v| ret[k] = v end ret end |
#to_json(options = {}) ⇒ String
Returns The complete object as a JSON string.
97 98 99 |
# File 'lib/comet/models/content_measurement_component.rb', line 97 def to_json( = {}) to_hash.to_json() end |