Class: Ldp::Resource::RdfSource
- Inherits:
-
Ldp::Resource
- Object
- Ldp::Resource
- Ldp::Resource::RdfSource
- Defined in:
- lib/ldp/resource/rdf_source.rb
Direct Known Subclasses
Instance Attribute Summary
Attributes inherited from Ldp::Resource
Instance Method Summary collapse
-
#body ⇒ Object
Get the body and ensure it’s UTF-8 encoded.
- #build_empty_graph ⇒ Object
- #content ⇒ Object
- #create ⇒ Object
- #graph ⇒ Object
-
#graph_class ⇒ Class
graph_class may be overridden so that a subclass of RDF::Graph is returned (e.g. an ActiveTriples resource).
-
#initialize(client, subject, graph_or_response = nil, base_path = '') ⇒ RdfSource
constructor
A new instance of RdfSource.
-
#response_graph ⇒ RDF::Graph
Parse the graph returned by the LDP server into an RDF::Graph.
Methods inherited from Ldp::Resource
#current?, #delete, for, #get, #head, #new?, #reload, #retrieved_content?, #save, #subject_uri, #update, #update_cached_get
Constructor Details
#initialize(client, subject, graph_or_response = nil, base_path = '') ⇒ RdfSource
Returns a new instance of RdfSource.
5 6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/ldp/resource/rdf_source.rb', line 5 def initialize client, subject, graph_or_response = nil, base_path = '' super case graph_or_response when RDF::Enumerable @graph = graph_or_response when Ldp::Response when NilClass #nop else raise ArgumentError, "Third argument to #{self.class}.new should be a RDF::Enumerable or a Ldp::Response. You provided #{graph_or_response.class}" end end |
Instance Method Details
#body ⇒ Object
Get the body and ensure it’s UTF-8 encoded. Since Fedora 9.3 isn’t returning a charset, then Net::HTTP is just returning ASCII-8BIT See github.com/ruby-rdf/rdf-turtle/issues/13 See jira.duraspace.org/browse/FCREPO-1750
56 57 58 |
# File 'lib/ldp/resource/rdf_source.rb', line 56 def body body.force_encoding('utf-8') end |
#build_empty_graph ⇒ Object
33 34 35 |
# File 'lib/ldp/resource/rdf_source.rb', line 33 def build_empty_graph graph_class.new end |
#content ⇒ Object
25 26 27 |
# File 'lib/ldp/resource/rdf_source.rb', line 25 def content graph.dump(:ttl) if graph end |
#create ⇒ Object
19 20 21 22 23 |
# File 'lib/ldp/resource/rdf_source.rb', line 19 def create super do |req| req.headers["Content-Type"] = "text/turtle" end end |
#graph ⇒ Object
29 30 31 |
# File 'lib/ldp/resource/rdf_source.rb', line 29 def graph @graph ||= new? ? build_empty_graph : filtered_graph(response_graph) end |
#graph_class ⇒ Class
graph_class may be overridden so that a subclass of RDF::Graph is returned (e.g. an ActiveTriples resource)
41 42 43 |
# File 'lib/ldp/resource/rdf_source.rb', line 41 def graph_class RDF::Graph end |
#response_graph ⇒ RDF::Graph
Parse the graph returned by the LDP server into an RDF::Graph
48 49 50 |
# File 'lib/ldp/resource/rdf_source.rb', line 48 def response_graph @response_graph ||= response_as_graph(get) end |