Class: Comet::PVEParams
- Inherits:
-
Object
- Object
- Comet::PVEParams
- Defined in:
- lib/comet/models/pveparams.rb
Overview
PVEParams is a typed class wrapper around the underlying Comet Server API data structure.
Instance Attribute Summary collapse
-
#everything ⇒ Object
Returns the value of attribute everything.
-
#exclusions ⇒ Object
Returns the value of attribute exclusions.
-
#method ⇒ Object
Returns the value of attribute method.
-
#quota ⇒ Object
Returns the value of attribute quota.
-
#selections ⇒ Object
Returns the value of attribute selections.
-
#sshconnection ⇒ Object
Returns the value of attribute sshconnection.
-
#unknown_json_fields ⇒ Object
Returns the value of attribute unknown_json_fields.
Instance Method Summary collapse
- #clear ⇒ Object
- #from_hash(obj) ⇒ Object
- #from_json(json_string) ⇒ Object
-
#initialize ⇒ PVEParams
constructor
A new instance of PVEParams.
-
#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 ⇒ PVEParams
Returns a new instance of PVEParams.
36 37 38 |
# File 'lib/comet/models/pveparams.rb', line 36 def initialize clear end |
Instance Attribute Details
#everything ⇒ Object
Returns the value of attribute everything.
16 17 18 |
# File 'lib/comet/models/pveparams.rb', line 16 def everything @everything end |
#exclusions ⇒ Object
Returns the value of attribute exclusions.
19 20 21 |
# File 'lib/comet/models/pveparams.rb', line 19 def exclusions @exclusions end |
#method ⇒ Object
Returns the value of attribute method.
22 23 24 |
# File 'lib/comet/models/pveparams.rb', line 22 def method @method end |
#quota ⇒ Object
Returns the value of attribute quota.
25 26 27 |
# File 'lib/comet/models/pveparams.rb', line 25 def quota @quota end |
#selections ⇒ Object
Returns the value of attribute selections.
31 32 33 |
# File 'lib/comet/models/pveparams.rb', line 31 def selections @selections end |
#sshconnection ⇒ Object
Returns the value of attribute sshconnection.
28 29 30 |
# File 'lib/comet/models/pveparams.rb', line 28 def sshconnection @sshconnection end |
#unknown_json_fields ⇒ Object
Returns the value of attribute unknown_json_fields.
34 35 36 |
# File 'lib/comet/models/pveparams.rb', line 34 def unknown_json_fields @unknown_json_fields end |
Instance Method Details
#clear ⇒ Object
40 41 42 43 44 45 46 47 |
# File 'lib/comet/models/pveparams.rb', line 40 def clear @exclusions = [] @method = '' @quota = 0 @sshconnection = Comet::SSHConnection.new @selections = [] @unknown_json_fields = {} end |
#from_hash(obj) ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/comet/models/pveparams.rb', line 57 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 'Everything' @everything = v when 'Exclusions' if v.nil? @exclusions = [] else @exclusions = Array.new(v.length) v.each_with_index do |v1, i1| @exclusions[i1] = Comet::PVEBackupNode.new @exclusions[i1].from_hash(v1) end end when 'Method' raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String @method = v when 'Quota' raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric @quota = v when 'SSHConnection' @sshconnection = Comet::SSHConnection.new @sshconnection.from_hash(v) when 'Selections' if v.nil? @selections = [] else @selections = Array.new(v.length) v.each_with_index do |v1, i1| @selections[i1] = Comet::PVEBackupNode.new @selections[i1].from_hash(v1) end end else @unknown_json_fields[k] = v end end end |
#from_json(json_string) ⇒ Object
50 51 52 53 54 |
# File 'lib/comet/models/pveparams.rb', line 50 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.
129 130 131 |
# File 'lib/comet/models/pveparams.rb', line 129 def to_h to_hash end |
#to_hash ⇒ Hash
Returns The complete object as a Ruby hash.
102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 |
# File 'lib/comet/models/pveparams.rb', line 102 def to_hash ret = {} unless @everything.nil? ret['Everything'] = @everything end unless @exclusions.nil? ret['Exclusions'] = @exclusions end unless @method.nil? ret['Method'] = @method end unless @quota.nil? ret['Quota'] = @quota end unless @sshconnection.nil? ret['SSHConnection'] = @sshconnection end unless @selections.nil? ret['Selections'] = @selections end @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.
134 135 136 |
# File 'lib/comet/models/pveparams.rb', line 134 def to_json( = {}) to_hash.to_json() end |