Class: Ld4lVirtualCollection::Item

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/ld4l_virtual_collection/item.rb

Class Method Summary collapse

Class Method Details

.add_items_by_query(collection, solr_query) ⇒ Object

TODO XXX



42
43
44
45
46
47
48
# File 'app/models/ld4l_virtual_collection/item.rb', line 42

def self.add_items_by_query(collection, solr_query)
  # puts("### Entering MODEL: add_items_by_query #{solr_query}")
   = LD4L::WorksRDF::GetMetadataFromSolrQuery.call(solr_query, nil)
  .each do |m|
    LD4L::OreRDF::AddAggregatedResource.call(collection, m.uri)
  end
end

.all(collection) ⇒ Object



6
7
8
9
10
# File 'app/models/ld4l_virtual_collection/item.rb', line 6

def self.all(collection)
  LD4L::OreRDF::FindProxies.call(
      :aggregation => collection.id,
      :properties => { :proxy_for => RDFVocabularies::ORE.proxyFor, :description => RDF::DC.description } )
end

.destroy(collection, item) ⇒ Object



30
31
32
33
# File 'app/models/ld4l_virtual_collection/item.rb', line 30

def self.destroy(collection,item)
  # puts("*** Entering MODEL: destroy item")

end

.find(uri) ⇒ Object



35
36
37
38
# File 'app/models/ld4l_virtual_collection/item.rb', line 35

def self.find(uri)
  # puts("*** Entering MODEL: find item")
  LD4L::OreRDF::ProxyResource.new(uri)
end

.new(collection, *params) ⇒ Object



12
13
14
15
16
17
18
19
20
21
# File 'app/models/ld4l_virtual_collection/item.rb', line 12

def self.new(collection, *params)
  # puts("*** Entering MODEL: new item")
  item_uri = params[0][:proxy_for].strip    if params && params.size > 0 && params[0].has_key?('proxy_for')
  if(item_uri && item_uri.start_with?("http://da-stg-ssolr.library.cornell.edu/solr/") )
    add_items_by_query(collection, item_uri)
  else
    (item_uri && item_uri.size > 0) ? LD4L::OreRDF::AddAggregatedResource.call( collection, item_uri ) :
             LD4L::OreRDF::ProxyResource.new
end
end

.update(collection, item, *params) ⇒ Object



23
24
25
26
27
28
# File 'app/models/ld4l_virtual_collection/item.rb', line 23

def self.update(collection, item, *params)
  # puts("*** Entering MODEL: update item")
  item_uri = params[0][:proxy_for]       if params && params.size > 0 && params[0].has_key?('proxy_for')
  item.set_value('proxy_for', item_uri)
  item
end