Class: Duracloud::AbstractEntity

Inherits:
Hashie::Dash
  • Object
show all
Defined in:
lib/duracloud/abstract_entity.rb

Direct Known Subclasses

Content, Space

Instance Method Summary collapse

Instance Method Details

#deleteObject

Raises:



13
14
15
16
17
18
19
# File 'lib/duracloud/abstract_entity.rb', line 13

def delete
  raise Error, "Cannot delete, already deleted." if deleted?
  reset_properties
  do_delete
  deleted!
  freeze
end

#deleted?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/duracloud/abstract_entity.rb', line 25

def deleted?
  !!@deleted
end

#load_propertiesObject



39
40
41
42
# File 'lib/duracloud/abstract_entity.rb', line 39

def load_properties
  do_load_properties
  persisted!
end

#persisted?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/duracloud/abstract_entity.rb', line 21

def persisted?
  !!@persisted
end

#propertiesDuracloud::Properties

Return the properties associated with this resource,

loading from Duracloud if necessary.

Returns:

Raises:



34
35
36
37
# File 'lib/duracloud/abstract_entity.rb', line 34

def properties
  load_properties if persisted? && @properties.nil?
  @properties ||= Properties.new
end

#saveObject

Raises:



6
7
8
9
10
11
# File 'lib/duracloud/abstract_entity.rb', line 6

def save
  raise Error, "Cannot save deleted #{self.class}." if deleted?
  do_save
  persisted!
  reset_properties
end