Class: Duracloud::ContentManifest

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

Defined Under Namespace

Classes: Source

Class Method Summary collapse

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *args, &block) ⇒ Object (protected)



33
34
35
36
37
38
39
# File 'lib/duracloud/content_manifest.rb', line 33

def method_missing(name, *args, &block)
  if content.respond_to?(name)
    content.send(name, *args, &block)
  else
    super
  end
end

Class Method Details

.find(**kwargs) ⇒ Object



11
12
13
14
15
# File 'lib/duracloud/content_manifest.rb', line 11

def self.find(**kwargs)
  new(**kwargs).tap do |manifest|
    manifest.content
  end
end

Instance Method Details

#contentObject



17
18
19
20
21
# File 'lib/duracloud/content_manifest.rb', line 17

def content
  @content ||= Content.new(space_id: space_id, content_id: manifest_id, store_id: store_id).tap do |c|
    c.load_properties
  end
end

#sourceObject



23
24
25
# File 'lib/duracloud/content_manifest.rb', line 23

def source
  @source ||= Source.new(self)
end

#xmlObject



27
28
29
# File 'lib/duracloud/content_manifest.rb', line 27

def xml
  @xml ||= content.download.body
end