hydra-collections 1.3.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 55d7ebe59b86c2f810f06634f7350711e7dcc5ab
4
- data.tar.gz: 84e84c78c2d1e42e98fb3ec0d4d00e0390d7fed3
3
+ metadata.gz: a40774a6709a3b08238ba531159fcdbc422c4999
4
+ data.tar.gz: 83c247f517fed9c0a105cc33d4dc40a128af35cb
5
5
  SHA512:
6
- metadata.gz: 28011db954e329b3846cfdb6ba6ad00f21f1d84d3f92d6305379c310695cf420cebff54c8c62a79b08dc7b8bfbb90da75920fb3ddffe7164a95e8b2c5b0a5366
7
- data.tar.gz: 100026fd0761a2aaa084c8ab9d897fce4ca4b1c5894bd686d7043f669accc5a590880a6551ea9a74c93eebf98d988259a796b7ace8f10b5baa198bfc7530ab19
6
+ metadata.gz: 31a88c9b6891ab76d58886b2453ac1ff4f2c8abb1282cbbc28a1c3147518320ab14d0ca77649600b1dec2d941250ff95c3a88712e43745f517f8720f13392755
7
+ data.tar.gz: dc8a6a6df5719248144cd00429fcd0b6afeb6f9aee6b9e2de3d8ab7ffd969386ebe69fcc7c149add42c6067797b018ce7f751e188e55d3e830e82b4fb28c5bab
data/Gemfile CHANGED
@@ -3,8 +3,6 @@ source 'https://rubygems.org'
3
3
  # Specify your gem's dependencies in hydra-collections.gemspec
4
4
  gemspec
5
5
 
6
- gem 'blacklight', github:'projectblacklight/blacklight' ,ref:'2eb87e73ee81ee701982ca32e5eca37429e3c199'
7
-
8
6
  group :development, :test do
9
7
  gem 'sqlite3'
10
8
  gem "factory_girl_rails", "~> 4.1.0"
@@ -178,12 +178,7 @@ module Hydra
178
178
  # include filters into the query to only include the collection memebers
179
179
  def include_collection_ids(solr_parameters, user_parameters)
180
180
  solr_parameters[:fq] ||= []
181
- if @collection.member_ids.empty?
182
- solr_parameters[:fq] << '{!lucene}-id:[* TO *]' # Don't match anything
183
- else
184
- query = @collection.member_ids.map{|id| 'id:"'+id+'"'}.join " OR "
185
- solr_parameters[:fq] << query
186
- end
181
+ solr_parameters[:fq] << Solrizer.solr_name(:collection)+':"'+@collection.id+'"'
187
182
  end
188
183
  end # module CollectionsControllerBehavior
189
184
  end # module Hydra
@@ -1,4 +1,3 @@
1
- require 'hydra/datastreams/collection_rdf_datastream'
2
1
 
3
2
  module Hydra
4
3
  module Collection
@@ -9,7 +8,7 @@ module Hydra
9
8
  include Hydra::Collections::Collectible
10
9
 
11
10
  included do
12
- has_metadata "descMetadata", type: CollectionRdfDatastream
11
+ has_metadata "descMetadata", type: Hydra::CollectionRdfDatastream
13
12
  has_metadata "properties", type: Hydra::Datastream::Properties
14
13
 
15
14
  has_and_belongs_to_many :members, :property => :has_collection_member, :class_name => "ActiveFedora::Base" , :after_remove => :remove_member
@@ -14,8 +14,8 @@ module Hydra
14
14
  config.autoload_paths += %W(
15
15
  #{config.root}/app/controllers/concerns
16
16
  #{config.root}/app/models/concerns
17
+ #{config.root}/app/models/datastreams
17
18
  )
18
19
  end
19
20
  end
20
- end
21
-
21
+ end
@@ -1,5 +1,5 @@
1
1
  module Hydra
2
2
  module Collections
3
- VERSION = "1.3.0"
3
+ VERSION = "1.3.1"
4
4
  end
5
5
  end
@@ -224,7 +224,7 @@ describe CollectionsController do
224
224
  @asset1 = GenericFile.create!(title: "First of the Assets")
225
225
  @asset2 = GenericFile.create!(title: "Second of the Assets")
226
226
  @asset3 = GenericFile.create!(title: "Third of the Assets")
227
- @collection = Collection.new
227
+ @collection = Collection.new(pid:"abc:123")
228
228
  @collection.title = "My collection"
229
229
  @collection.apply_depositor_metadata(@user.user_key)
230
230
  @collection.members = [@asset1,@asset2,@asset3]
@@ -240,15 +240,39 @@ describe CollectionsController do
240
240
  ids.should include @asset2.pid
241
241
  ids.should include @asset3.pid
242
242
  end
243
- it "should show only the collections assets" do
244
- @asset4 = GenericFile.create!(title: "#{@asset1.id}")
245
- get :show, id: @collection.id
246
- assigns[:collection].title.should == @collection.title
247
- ids = assigns[:member_docs].map {|d| d.id}
248
- ids.should include @asset1.pid
249
- ids.should include @asset2.pid
250
- ids.should include @asset3.pid
251
- ids.should_not include @asset4.pid
243
+ describe "additional collections" do
244
+ before do
245
+ @asset4 = GenericFile.create!(title: "#{@asset1.id}")
246
+ @collection2 = Collection.new(pid:"abc:1234")
247
+ @collection2.title = "Other collection"
248
+ @collection2.apply_depositor_metadata(@user.user_key)
249
+ @collection2.members = [@asset4]
250
+ @collection2.save
251
+ @asset4 = @asset4.reload
252
+ @asset4.collections.should == [@collection2]
253
+ end
254
+
255
+ it "should show only the collections assets" do
256
+ get :show, id: @collection.pid
257
+ assigns[:collection].title.should == @collection.title
258
+ ids = assigns[:member_docs].map {|d| d.id}
259
+ ids.should include @asset1.pid
260
+ ids.should include @asset2.pid
261
+ ids.should include @asset3.pid
262
+ ids.should_not include @asset4.pid
263
+
264
+ end
265
+ it "should show only the other collections assets" do
266
+
267
+ get :show, id: @collection2.pid
268
+ assigns[:collection].title.should == @collection2.title
269
+ ids = assigns[:member_docs].map {|d| d.id}
270
+ ids.should_not include @asset1.pid
271
+ ids.should_not include @asset2.pid
272
+ ids.should_not include @asset3.pid
273
+ ids.should include @asset4.pid
274
+
275
+ end
252
276
  end
253
277
 
254
278
  it "when the collection is empty it should show no assets" do
@@ -13,11 +13,24 @@ end
13
13
  class OtherCollection < ActiveFedora::Base
14
14
  include Hydra::Collection
15
15
  include Hydra::Collections::Collectible
16
+
17
+ def to_solr(solr_doc={}, opts={})
18
+ super(solr_doc, opts)
19
+ solr_doc = index_collection_pids(solr_doc)
20
+ return solr_doc
21
+ end
22
+
16
23
  end
17
24
  class Member < ActiveFedora::Base
18
25
  include Hydra::Collections::Collectible
19
26
  attr_accessor :title
20
27
 
28
+ def to_solr(solr_doc={}, opts={})
29
+ super(solr_doc, opts)
30
+ solr_doc = index_collection_pids(solr_doc)
31
+ return solr_doc
32
+ end
33
+
21
34
  end
22
35
 
23
36
  # make sure a collection by another name still assigns the @collection variable
@@ -18,6 +18,14 @@ describe Collection do
18
18
  before(:all) do
19
19
  @user = FactoryGirl.find_or_create(:user)
20
20
  class GenericFile < ActiveFedora::Base
21
+ include Hydra::Collections::Collectible
22
+
23
+ def to_solr(solr_doc={}, opts={})
24
+ super(solr_doc, opts)
25
+ solr_doc = index_collection_pids(solr_doc)
26
+ return solr_doc
27
+ end
28
+
21
29
  end
22
30
  end
23
31
  after(:all) do
@@ -73,6 +81,9 @@ describe Collection do
73
81
  @collection.members = [@gf1]
74
82
  @collection.save
75
83
  @collection.date_modified.should == modified_date
84
+ @gf1 = @gf1.reload
85
+ @gf1.collections.should include(@collection)
86
+ @gf1.to_solr[Solrizer.solr_name(:collection)].should == [@collection.id]
76
87
  end
77
88
  it "should have a title" do
78
89
  @collection.title = "title"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hydra-collections
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carolyn Cole
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-29 00:00:00.000000000 Z
11
+ date: 2013-11-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: blacklight
@@ -142,6 +142,7 @@ files:
142
142
  - app/helpers/collections_search_helper.rb
143
143
  - app/models/collection.rb
144
144
  - app/models/concerns/hydra/collection.rb
145
+ - app/models/datastreams/hydra/collection_rdf_datastream.rb
145
146
  - app/models/solr_document.rb
146
147
  - app/views/batch_select/_add_button.html.erb
147
148
  - app/views/batch_select/_check_all.html.erb
@@ -175,7 +176,6 @@ files:
175
176
  - lib/hydra/collections/selects_collections.rb
176
177
  - lib/hydra/collections/solr_document_behavior.rb
177
178
  - lib/hydra/collections/version.rb
178
- - lib/hydra/datastreams/collection_rdf_datastream.rb
179
179
  - solr_conf/conf/schema.xml
180
180
  - solr_conf/conf/solrconfig.xml
181
181
  - solr_conf/solr.xml
@@ -223,7 +223,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
223
223
  version: '0'
224
224
  requirements: []
225
225
  rubyforge_project:
226
- rubygems_version: 2.0.3
226
+ rubygems_version: 2.0.7
227
227
  signing_key:
228
228
  specification_version: 4
229
229
  summary: A rails engine for managing Hydra Collections
@@ -250,4 +250,3 @@ test_files:
250
250
  - spec/support/db/migrate/20111101221803_create_searches.rb
251
251
  - spec/support/lib/generators/test_app_generator.rb
252
252
  - spec/support/lib/tasks/rspec.rake
253
- has_rdoc: