Class: Comet::StoredObject
- Inherits:
-
Object
- Object
- Comet::StoredObject
- Defined in:
- lib/comet/models/stored_object.rb
Overview
StoredObject is a typed class wrapper around the underlying Comet Server API data structure.
Instance Attribute Summary collapse
-
#modify_time ⇒ Object
Returns the value of attribute modify_time.
-
#name ⇒ Object
Returns the value of attribute name.
-
#recursive_bytes ⇒ Object
Returns the value of attribute recursive_bytes.
-
#recursive_count_known ⇒ Object
Returns the value of attribute recursive_count_known.
-
#recursive_files ⇒ Object
Returns the value of attribute recursive_files.
-
#recursive_folders ⇒ Object
Returns the value of attribute recursive_folders.
-
#size ⇒ Object
Returns the value of attribute size.
-
#subtree ⇒ Object
Returns the value of attribute subtree.
-
#type ⇒ Object
Returns the value of attribute type.
-
#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 ⇒ StoredObject
constructor
A new instance of StoredObject.
-
#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 ⇒ StoredObject
Returns a new instance of StoredObject.
47 48 49 |
# File 'lib/comet/models/stored_object.rb', line 47 def initialize clear end |
Instance Attribute Details
#modify_time ⇒ Object
Returns the value of attribute modify_time.
21 22 23 |
# File 'lib/comet/models/stored_object.rb', line 21 def modify_time @modify_time end |
#name ⇒ Object
Returns the value of attribute name.
18 19 20 |
# File 'lib/comet/models/stored_object.rb', line 18 def name @name end |
#recursive_bytes ⇒ Object
Returns the value of attribute recursive_bytes.
39 40 41 |
# File 'lib/comet/models/stored_object.rb', line 39 def recursive_bytes @recursive_bytes end |
#recursive_count_known ⇒ Object
Returns the value of attribute recursive_count_known.
33 34 35 |
# File 'lib/comet/models/stored_object.rb', line 33 def recursive_count_known @recursive_count_known end |
#recursive_files ⇒ Object
Returns the value of attribute recursive_files.
36 37 38 |
# File 'lib/comet/models/stored_object.rb', line 36 def recursive_files @recursive_files end |
#recursive_folders ⇒ Object
Returns the value of attribute recursive_folders.
42 43 44 |
# File 'lib/comet/models/stored_object.rb', line 42 def recursive_folders @recursive_folders end |
#size ⇒ Object
Returns the value of attribute size.
30 31 32 |
# File 'lib/comet/models/stored_object.rb', line 30 def size @size end |
#subtree ⇒ Object
Returns the value of attribute subtree.
27 28 29 |
# File 'lib/comet/models/stored_object.rb', line 27 def subtree @subtree end |
#type ⇒ Object
Returns the value of attribute type.
24 25 26 |
# File 'lib/comet/models/stored_object.rb', line 24 def type @type end |
#unknown_json_fields ⇒ Object
Returns the value of attribute unknown_json_fields.
45 46 47 |
# File 'lib/comet/models/stored_object.rb', line 45 def unknown_json_fields @unknown_json_fields end |
Instance Method Details
#clear ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/comet/models/stored_object.rb', line 51 def clear @name = '' @modify_time = 0 @type = '' @subtree = '' @size = 0 @recursive_files = 0 @recursive_bytes = 0 @recursive_folders = 0 @unknown_json_fields = {} end |
#from_hash(obj) ⇒ Object
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 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
# File 'lib/comet/models/stored_object.rb', line 71 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 'name' raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String @name = v when 'mtime' raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric @modify_time = v when 'type' raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String @type = v when 'subtree' raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String @subtree = v when 'size' raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric @size = v when 'r' @recursive_count_known = v when 'f' raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric @recursive_files = v when 'b' raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric @recursive_bytes = v when 'd' raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric @recursive_folders = v else @unknown_json_fields[k] = v end end end |
#from_json(json_string) ⇒ Object
64 65 66 67 68 |
# File 'lib/comet/models/stored_object.rb', line 64 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.
143 144 145 |
# File 'lib/comet/models/stored_object.rb', line 143 def to_h to_hash end |
#to_hash ⇒ Hash
Returns The complete object as a Ruby hash.
117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 |
# File 'lib/comet/models/stored_object.rb', line 117 def to_hash ret = {} ret['name'] = @name ret['mtime'] = @modify_time ret['type'] = @type ret['subtree'] = @subtree ret['size'] = @size unless @recursive_count_known.nil? ret['r'] = @recursive_count_known end unless @recursive_files.nil? ret['f'] = @recursive_files end unless @recursive_bytes.nil? ret['b'] = @recursive_bytes end unless @recursive_folders.nil? ret['d'] = @recursive_folders 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.
148 149 150 |
# File 'lib/comet/models/stored_object.rb', line 148 def to_json( = {}) to_hash.to_json() end |