Module: ActiveFedora::Versionable
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/active_fedora/versionable.rb
Instance Method Summary collapse
- #create_version ⇒ Object
-
#has_versions? ⇒ Boolean
Queries Fedora to figure out if there are versions for the resource.
-
#versions(reload = false) ⇒ Object
Returns an array of ActiveFedora::VersionsGraph::ResourceVersion objects.
Instance Method Details
#create_version ⇒ Object
21 22 23 24 25 |
# File 'lib/active_fedora/versionable.rb', line 21 def create_version resp = ActiveFedora.fedora.connection.post(versions_uri, nil) @versions = nil resp.success? end |
#has_versions? ⇒ Boolean
Queries Fedora to figure out if there are versions for the resource.
28 29 30 31 32 33 34 |
# File 'lib/active_fedora/versionable.rb', line 28 def has_versions? resp = ActiveFedora.fedora.connection.get(versions_uri) graph = ::RDF::Graph.new << resp.reader graph.query({ predicate: ::RDF::Vocab::LDP.contains }).present? rescue Ldp::NotFound false end |
#versions(reload = false) ⇒ Object
Returns an array of ActiveFedora::VersionsGraph::ResourceVersion objects.
10 11 12 13 14 15 16 17 18 19 |
# File 'lib/active_fedora/versionable.rb', line 10 def versions(reload = false) response = versions_request return ActiveFedora::VersionsGraph.new unless response if reload @versions = ActiveFedora::VersionsGraph.new << versions_request.reader else @versions ||= ActiveFedora::VersionsGraph.new << versions_request.reader end end |