Class: Ldp::Resource::BinarySource

Inherits:
Ldp::Resource show all
Defined in:
lib/ldp/resource/binary_source.rb

Instance Attribute Summary collapse

Attributes inherited from Ldp::Resource

#client, #subject

Instance Method Summary collapse

Methods inherited from Ldp::Resource

#create, #current?, #delete, for, #get, #head, #new?, #reload, #retrieved_content?, #save, #subject_uri, #update, #update_cached_get

Constructor Details

#initialize(client, subject, content_or_response = nil, base_path = '') ⇒ BinarySource

Returns a new instance of BinarySource

Parameters:

  • client (Ldp::Client)
  • subject (String)

    the URI for the resource

  • content_or_response (String, Ldp::Response) (defaults to: nil)
  • base_path (String) (defaults to: '')

    ('')


9
10
11
12
13
14
15
16
17
# File 'lib/ldp/resource/binary_source.rb', line 9

def initialize client, subject, content_or_response = nil, base_path = ''
  super

  case content_or_response
  when Ldp::Response
  else
    @content = content_or_response
  end
end

Instance Attribute Details

#contentLdp::Response

Returns:


20
21
22
# File 'lib/ldp/resource/binary_source.rb', line 20

def content
  @content
end

Instance Method Details

#described_byObject


24
25
26
27
28
# File 'lib/ldp/resource/binary_source.rb', line 24

def described_by
  described_by = Array(head.links["describedby"]).first

  client.find_or_initialize described_by if described_by
end

#inspectObject

Override inspect so that `content` is never shown. It is typically too big to be helpful


31
32
33
34
35
# File 'lib/ldp/resource/binary_source.rb', line 31

def inspect
  string = "#<#{self.class.name}:#{self.object_id} "
  fields = [:subject].map{|field| "#{field}=\"#{self.send(field)}\""}
  string << fields.join(", ") << ">"
end