blacklight-spotlight 0.29.1 → 0.30.0
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 +4 -4
- data/app/controllers/spotlight/admin_users_controller.rb +1 -2
- data/app/controllers/spotlight/exhibits_controller.rb +1 -1
- data/app/controllers/spotlight/pages_controller.rb +1 -2
- data/app/controllers/spotlight/resources/csv_upload_controller.rb +25 -3
- data/app/controllers/spotlight/sites_controller.rb +2 -4
- data/app/jobs/spotlight/add_uploads_from_csv.rb +3 -1
- data/app/models/concerns/spotlight/ar_light.rb +2 -4
- data/config/locales/spotlight.en.yml +1 -0
- data/db/migrate/20160929180534_add_document_index_to_solr_document_sidecar.rb +6 -0
- data/lib/spotlight/version.rb +1 -1
- data/spec/controllers/spotlight/resources/csv_upload_controller_spec.rb +7 -0
- data/spec/examples.txt +8 -0
- data/spec/fixtures/csv-upload-fixture.csv +4 -1
- data/spec/jobs/spotlight/add_uploads_from_csv_spec.rb +37 -0
- data/spec/spec_helper.rb +43 -0
- data/vendor/assets/javascripts/sir-trevor.js +34 -30
- metadata +14 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7dd88ac0b2f47a2f72fbbaa0d7395c31ab24a86d
|
4
|
+
data.tar.gz: d15195cc46560c6ac23745bf6a46afd5cde83870
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b9966f72907df2f6d2e945047ae2d72c37bbba13adbd2cc2df56f39b9eee4fc4df238bc85ad561d5c82f32fc18ddded497033218d81f3daeb7946c089cf15ea8
|
7
|
+
data.tar.gz: 787eafb42229bb8d5504fa7b8a97b46876079bcb348f91e5cfef39f4ce3fb7697270d41fd2aa20c2cd89e0e54a7ba39e723ad5dd8aa5e0e5c7e77d633b07f8ef
|
@@ -8,7 +8,7 @@ module Spotlight
|
|
8
8
|
load_and_authorize_resource
|
9
9
|
|
10
10
|
def index
|
11
|
-
@published_exhibits = @exhibits.published.ordered_by_weight.page(params[:page])
|
11
|
+
@published_exhibits = @exhibits.includes(:thumbnail).published.ordered_by_weight.page(params[:page])
|
12
12
|
@published_exhibits = @published_exhibits.tagged_with(params[:tag]) if params[:tag]
|
13
13
|
|
14
14
|
if @exhibits.one?
|
@@ -13,10 +13,9 @@ module Spotlight
|
|
13
13
|
load_and_authorize_resource :exhibit, class: Spotlight::Exhibit
|
14
14
|
|
15
15
|
def create
|
16
|
-
|
17
|
-
csv = CSV.parse(file.read, headers: true, return_headers: false, encoding: 'utf-8').map(&:to_hash)
|
16
|
+
csv = CSV.parse(csv_io_param, headers: true, return_headers: false).map(&:to_hash)
|
18
17
|
Spotlight::AddUploadsFromCSV.perform_later(csv, current_exhibit, current_user)
|
19
|
-
flash[:notice] = t('spotlight.resources.upload.csv.success', file_name:
|
18
|
+
flash[:notice] = t('spotlight.resources.upload.csv.success', file_name: csv_io_name)
|
20
19
|
redirect_back(fallback_location: spotlight.exhibit_resources_path(current_exhibit))
|
21
20
|
end
|
22
21
|
|
@@ -37,6 +36,29 @@ module Spotlight
|
|
37
36
|
def data_param_keys
|
38
37
|
Spotlight::Resources::Upload.fields(current_exhibit).map(&:field_name) + current_exhibit.custom_fields.map(&:field)
|
39
38
|
end
|
39
|
+
|
40
|
+
# Gets an IO-like object for the CSV parser to use.
|
41
|
+
# @return IO
|
42
|
+
def csv_io_param
|
43
|
+
file_or_io = csv_params[:url]
|
44
|
+
io = if file_or_io.respond_to?(:to_io)
|
45
|
+
file_or_io.to_io
|
46
|
+
else
|
47
|
+
file_or_io
|
48
|
+
end
|
49
|
+
|
50
|
+
io.set_encoding('utf-8')
|
51
|
+
end
|
52
|
+
|
53
|
+
def csv_io_name
|
54
|
+
file_or_io = csv_params[:url]
|
55
|
+
|
56
|
+
if file_or_io.respond_to? :original_filename
|
57
|
+
file_or_io.original_filename
|
58
|
+
else
|
59
|
+
t('spotlight.resources.upload.csv.anonymous_file')
|
60
|
+
end
|
61
|
+
end
|
40
62
|
end
|
41
63
|
end
|
42
64
|
end
|
@@ -15,11 +15,13 @@ module Spotlight
|
|
15
15
|
url = row.delete('url')
|
16
16
|
next unless url.present?
|
17
17
|
|
18
|
-
Spotlight::Resources::Upload.
|
18
|
+
resource = Spotlight::Resources::Upload.new(
|
19
19
|
remote_url_url: url,
|
20
20
|
data: row,
|
21
21
|
exhibit: exhibit
|
22
22
|
)
|
23
|
+
|
24
|
+
resource.save_and_index
|
23
25
|
end
|
24
26
|
end
|
25
27
|
|
@@ -30,15 +30,13 @@ module Spotlight
|
|
30
30
|
false
|
31
31
|
end
|
32
32
|
|
33
|
-
def before_destroy(*_args)
|
34
|
-
end
|
33
|
+
def before_destroy(*_args); end
|
35
34
|
|
36
35
|
def pluralize_table_names
|
37
36
|
true
|
38
37
|
end
|
39
38
|
|
40
|
-
def add_autosave_association_callbacks(_arg)
|
41
|
-
end
|
39
|
+
def add_autosave_association_callbacks(_arg); end
|
42
40
|
|
43
41
|
# needed for Rails 4.1 + act_as_taggable
|
44
42
|
def dangerous_attribute_method?(*_args)
|
@@ -515,6 +515,7 @@ en:
|
|
515
515
|
upload:
|
516
516
|
csv:
|
517
517
|
success: "'%{file_name}' has been uploaded. An email will be sent to you once indexing is complete."
|
518
|
+
anonymous_file: '(blank)'
|
518
519
|
new:
|
519
520
|
single_item_form: "Single item"
|
520
521
|
multi_item_form: "Multiple items using CSV file"
|
@@ -0,0 +1,6 @@
|
|
1
|
+
class AddDocumentIndexToSolrDocumentSidecar < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
add_index :spotlight_solr_document_sidecars, [:exhibit_id, :document_type, :document_id], name: 'spotlight_solr_document_sidecars_exhibit_document'
|
4
|
+
add_index :spotlight_solr_document_sidecars, [:document_type, :document_id], name: 'spotlight_solr_document_sidecars_solr_document'
|
5
|
+
end
|
6
|
+
end
|
data/lib/spotlight/version.rb
CHANGED
@@ -33,6 +33,13 @@ describe Spotlight::Resources::CsvUploadController, type: :controller do
|
|
33
33
|
'spotlight_upload_description_tesim' => 'A random 900 by 600 image from lorempixel',
|
34
34
|
'spotlight_upload_attribution_tesim' => 'lorempixel.com',
|
35
35
|
'spotlight_upload_date_tesim' => '2014'
|
36
|
+
},
|
37
|
+
{
|
38
|
+
'url' => 'http://lorempixel.com/900/600/',
|
39
|
+
'full_title_tesim' => 'Yet another random image to test UTF8 text',
|
40
|
+
'spotlight_upload_description_tesim' => 'A random 900 by 600 image from lorempixel and some UTF8: Hüsker Dü',
|
41
|
+
'spotlight_upload_attribution_tesim' => 'lorempixel.com',
|
42
|
+
'spotlight_upload_date_tesim' => '2016'
|
36
43
|
}
|
37
44
|
]
|
38
45
|
end
|
data/spec/examples.txt
ADDED
@@ -0,0 +1,8 @@
|
|
1
|
+
example_id | status | run_time |
|
2
|
+
----------------------------------------------------------------------------- | ------ | --------------- |
|
3
|
+
./spec/controllers/spotlight/resources/csv_upload_controller_spec.rb[1:1:1:1] | passed | 0.50985 seconds |
|
4
|
+
./spec/controllers/spotlight/resources/csv_upload_controller_spec.rb[1:2:1:1] | passed | 0.12143 seconds |
|
5
|
+
./spec/controllers/spotlight/resources/csv_upload_controller_spec.rb[1:2:1:2] | passed | 0.10647 seconds |
|
6
|
+
./spec/controllers/spotlight/resources/csv_upload_controller_spec.rb[1:2:1:3] | passed | 0.11359 seconds |
|
7
|
+
./spec/jobs/spotlight/add_uploads_from_csv_spec.rb[1:1:1] | passed | 0.09125 seconds |
|
8
|
+
./spec/jobs/spotlight/add_uploads_from_csv_spec.rb[1:2] | passed | 0.48251 seconds |
|
@@ -1 +1,4 @@
|
|
1
|
-
url,full_title_tesim,spotlight_upload_description_tesim,spotlight_upload_attribution_tesim,spotlight_upload_date_tesim
|
1
|
+
url,full_title_tesim,spotlight_upload_description_tesim,spotlight_upload_attribution_tesim,spotlight_upload_date_tesim
|
2
|
+
http://lorempixel.com/800/500/,A random image,A random 800 by 500 image from lorempixel,lorempixel.com,2015
|
3
|
+
http://lorempixel.com/900/600/,Another random image,A random 900 by 600 image from lorempixel,lorempixel.com,2014
|
4
|
+
http://lorempixel.com/900/600/,Yet another random image to test UTF8 text,A random 900 by 600 image from lorempixel and some UTF8: Hüsker Dü,lorempixel.com,2016
|
@@ -0,0 +1,37 @@
|
|
1
|
+
describe Spotlight::AddUploadsFromCSV do
|
2
|
+
subject(:job) { described_class.new(data, exhibit, user) }
|
3
|
+
let(:exhibit) { FactoryGirl.create(:exhibit) }
|
4
|
+
let(:user) { FactoryGirl.create(:exhibit_curator, exhibit: exhibit) }
|
5
|
+
let(:data) do
|
6
|
+
[
|
7
|
+
{ 'url' => 'x' },
|
8
|
+
{ 'url' => 'y' }
|
9
|
+
]
|
10
|
+
end
|
11
|
+
|
12
|
+
let(:resource_x) { instance_double(Spotlight::Resource) }
|
13
|
+
let(:resource_y) { instance_double(Spotlight::Resource) }
|
14
|
+
|
15
|
+
before do
|
16
|
+
allow(Spotlight::IndexingCompleteMailer).to receive(:documents_indexed).and_return(double(deliver_now: true))
|
17
|
+
end
|
18
|
+
|
19
|
+
context 'with empty data' do
|
20
|
+
let(:data) { [] }
|
21
|
+
|
22
|
+
it 'sends the user an email after the indexing job is complete' do
|
23
|
+
expect(Spotlight::IndexingCompleteMailer).to receive(:documents_indexed).and_return(double(deliver_now: true))
|
24
|
+
job.perform_now
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'creates uploaded resources for each row of data' do
|
29
|
+
expect(Spotlight::Resources::Upload).to receive(:new).with(hash_including(remote_url_url: 'x')).and_return(resource_x)
|
30
|
+
expect(Spotlight::Resources::Upload).to receive(:new).with(hash_including(remote_url_url: 'y')).and_return(resource_y)
|
31
|
+
|
32
|
+
expect(resource_x).to receive(:save_and_index)
|
33
|
+
expect(resource_y).to receive(:save_and_index)
|
34
|
+
|
35
|
+
job.perform_now
|
36
|
+
end
|
37
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -98,6 +98,49 @@ RSpec.configure do |config|
|
|
98
98
|
config.include BackportTestHelpers, type: :controller
|
99
99
|
end
|
100
100
|
config.include Spotlight::TestFeaturesHelpers, type: :feature
|
101
|
+
|
102
|
+
config.expect_with :rspec do |expectations|
|
103
|
+
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
104
|
+
end
|
105
|
+
|
106
|
+
config.default_formatter = 'doc' if config.files_to_run.one?
|
107
|
+
|
108
|
+
config.shared_context_metadata_behavior = :apply_to_host_groups
|
109
|
+
|
110
|
+
# This allows you to limit a spec run to individual examples or groups
|
111
|
+
# you care about by tagging them with `:focus` metadata. When nothing
|
112
|
+
# is tagged with `:focus`, all examples get run. RSpec also provides
|
113
|
+
# aliases for `it`, `describe`, and `context` that include `:focus`
|
114
|
+
# metadata: `fit`, `fdescribe` and `fcontext`, respectively.
|
115
|
+
config.filter_run_when_matching :focus
|
116
|
+
|
117
|
+
config.example_status_persistence_file_path = 'spec/examples.txt'
|
118
|
+
# Many RSpec users commonly either run the entire suite or an individual
|
119
|
+
# file, and it's useful to allow more verbose output when running an
|
120
|
+
# individual spec file.
|
121
|
+
if config.files_to_run.one?
|
122
|
+
# Use the documentation formatter for detailed output,
|
123
|
+
# unless a formatter has already been configured
|
124
|
+
# (e.g. via a command-line flag).
|
125
|
+
config.default_formatter = 'doc'
|
126
|
+
end
|
127
|
+
|
128
|
+
# Print the 10 slowest examples and example groups at the
|
129
|
+
# end of the spec run, to help surface which specs are running
|
130
|
+
# particularly slow.
|
131
|
+
config.profile_examples = 10
|
132
|
+
|
133
|
+
# Run specs in random order to surface order dependencies. If you find an
|
134
|
+
# order dependency and want to debug it, you can fix the order by providing
|
135
|
+
# the seed, which is printed after each run.
|
136
|
+
# --seed 1234
|
137
|
+
# config.order = :random
|
138
|
+
|
139
|
+
# Seed global randomization in this process using the `--seed` CLI option.
|
140
|
+
# Setting this allows you to use `--seed` to deterministically reproduce
|
141
|
+
# test failures related to randomization by passing the same `--seed` value
|
142
|
+
# as the one that triggered the failure.
|
143
|
+
Kernel.srand config.seed
|
101
144
|
end
|
102
145
|
|
103
146
|
def add_new_page_via_button(title = 'New Page')
|
@@ -1877,16 +1877,16 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1877
1877
|
/* 26 */
|
1878
1878
|
/***/ function(module, exports) {
|
1879
1879
|
|
1880
|
-
module.exports = function(module) {
|
1881
|
-
if(!module.webpackPolyfill) {
|
1882
|
-
module.deprecate = function() {};
|
1883
|
-
module.paths = [];
|
1884
|
-
// module.parent = undefined by default
|
1885
|
-
module.children = [];
|
1886
|
-
module.webpackPolyfill = 1;
|
1887
|
-
}
|
1888
|
-
return module;
|
1889
|
-
}
|
1880
|
+
module.exports = function(module) {
|
1881
|
+
if(!module.webpackPolyfill) {
|
1882
|
+
module.deprecate = function() {};
|
1883
|
+
module.paths = [];
|
1884
|
+
// module.parent = undefined by default
|
1885
|
+
module.children = [];
|
1886
|
+
module.webpackPolyfill = 1;
|
1887
|
+
}
|
1888
|
+
return module;
|
1889
|
+
}
|
1890
1890
|
|
1891
1891
|
|
1892
1892
|
/***/ },
|
@@ -1899,7 +1899,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1899
1899
|
/* 28 */
|
1900
1900
|
/***/ function(module, exports) {
|
1901
1901
|
|
1902
|
-
module.exports = function() { throw new Error("define cannot be used indirect"); };
|
1902
|
+
module.exports = function() { throw new Error("define cannot be used indirect"); };
|
1903
1903
|
|
1904
1904
|
|
1905
1905
|
/***/ },
|
@@ -17054,7 +17054,12 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
17054
17054
|
if (this._scribe.getTextContent() !== '') {
|
17055
17055
|
var fakeContent = document.createElement('div');
|
17056
17056
|
fakeContent.innerHTML = this.getTextBlockHTML();
|
17057
|
-
|
17057
|
+
|
17058
|
+
// We concatenate the content of each paragraph and take into account the new lines
|
17059
|
+
content = fakeContent.children && Array.prototype.slice.call(fakeContent.children).reduce(function (res, child) {
|
17060
|
+
return res + child.innerHTML;
|
17061
|
+
}, '') || fakeContent.innerHTML;
|
17062
|
+
|
17058
17063
|
return content.replace(/^[\s\uFEFF\xA0]+|$/g, '');
|
17059
17064
|
}
|
17060
17065
|
return content;
|
@@ -18790,7 +18795,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
18790
18795
|
_this3.deleteEl.classList.remove("active");
|
18791
18796
|
};
|
18792
18797
|
|
18793
|
-
this.ui.insertAdjacentHTML("beforeend", DELETE_TEMPLATE);
|
18798
|
+
this.ui.insertAdjacentHTML("beforeend", DELETE_TEMPLATE());
|
18794
18799
|
Events.delegate(this.el, ".js-st-block-confirm-delete", "click", this.onDeleteConfirm);
|
18795
18800
|
Events.delegate(this.el, ".js-st-block-deny-delete", "click", onDeleteDeny);
|
18796
18801
|
},
|
@@ -18882,19 +18887,8 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
18882
18887
|
return;
|
18883
18888
|
}
|
18884
18889
|
|
18885
|
-
var ctrlDown = false;
|
18886
|
-
|
18887
|
-
Events.delegate(block.el, '.st-text-block', 'keyup', function (ev) {
|
18888
|
-
if (ev.which === 17 || ev.which === 224 || ev.which === 91) {
|
18889
|
-
ctrlDown = false;
|
18890
|
-
}
|
18891
|
-
});
|
18892
18890
|
Events.delegate(block.el, '.st-text-block', 'keydown', function (ev) {
|
18893
|
-
if (ev.
|
18894
|
-
ctrlDown = true;
|
18895
|
-
}
|
18896
|
-
|
18897
|
-
if (ev.which === cmd.keyCode && ctrlDown) {
|
18891
|
+
if ((ev.metaKey || ev.ctrlKey) && ev.keyCode === cmd.keyCode) {
|
18898
18892
|
ev.preventDefault();
|
18899
18893
|
block.execTextBlockCommand(cmd.cmd);
|
18900
18894
|
}
|
@@ -19625,9 +19619,11 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
19625
19619
|
/* 252 */
|
19626
19620
|
/***/ function(module, exports) {
|
19627
19621
|
|
19628
|
-
|
19622
|
+
"use strict";
|
19629
19623
|
|
19630
|
-
module.exports =
|
19624
|
+
module.exports = function () {
|
19625
|
+
return '\n <div class="st-block__ui-delete-controls">\n <label class="st-block__delete-label">\n ' + i18n.t('general:delete') + '\n </label>\n <button class=\'st-block-ui__confirm js-st-block-confirm-delete\' type="button">\n ' + i18n.t('general:yes') + '\n </button>\n <button class=\'st-block-ui__confirm js-st-block-deny-delete\' type="button">\n ' + i18n.t('general:no') + '\n </button>\n </div>\n ';
|
19626
|
+
};
|
19631
19627
|
|
19632
19628
|
/***/ },
|
19633
19629
|
/* 253 */
|
@@ -19764,6 +19760,14 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
19764
19760
|
|
19765
19761
|
range.setStartBefore(scribe.el.firstChild, 0);
|
19766
19762
|
|
19763
|
+
var node = range.endContainer.nodeType === 3 ? range.endContainer.parentNode : range.endContainer;
|
19764
|
+
|
19765
|
+
// We make sure that the caret must be inside the first element to consider
|
19766
|
+
// it at the beginning of the block
|
19767
|
+
if (scribe.el.firstChild !== node) {
|
19768
|
+
return false;
|
19769
|
+
}
|
19770
|
+
|
19767
19771
|
return rangeToHTML(range, false) === '';
|
19768
19772
|
};
|
19769
19773
|
|
@@ -20499,8 +20503,8 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
20499
20503
|
if (_.isUndefined(data.status_url)) {
|
20500
20504
|
data.status_url = '';
|
20501
20505
|
}
|
20502
|
-
var
|
20503
|
-
Dom.remove(
|
20506
|
+
var twitterwidget = this.inner.querySelector('twitterwidget');
|
20507
|
+
Dom.remove(twitterwidget);
|
20504
20508
|
|
20505
20509
|
this.inner.insertAdjacentHTML("afterbegin", tweet_template(data));
|
20506
20510
|
|
@@ -21632,4 +21636,4 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
21632
21636
|
17
|
21633
21637
|
/******/ ])))
|
21634
21638
|
});
|
21635
|
-
;
|
21639
|
+
;
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: blacklight-spotlight
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.30.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Beer
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2016-
|
14
|
+
date: 2016-12-08 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rails
|
@@ -541,34 +541,28 @@ dependencies:
|
|
541
541
|
requirements:
|
542
542
|
- - "~>"
|
543
543
|
- !ruby/object:Gem::Version
|
544
|
-
version: '0.
|
545
|
-
- - ">="
|
546
|
-
- !ruby/object:Gem::Version
|
547
|
-
version: 0.41.2
|
544
|
+
version: '0.45'
|
548
545
|
type: :development
|
549
546
|
prerelease: false
|
550
547
|
version_requirements: !ruby/object:Gem::Requirement
|
551
548
|
requirements:
|
552
549
|
- - "~>"
|
553
550
|
- !ruby/object:Gem::Version
|
554
|
-
version: '0.
|
555
|
-
- - ">="
|
556
|
-
- !ruby/object:Gem::Version
|
557
|
-
version: 0.41.2
|
551
|
+
version: '0.45'
|
558
552
|
- !ruby/object:Gem::Dependency
|
559
553
|
name: rubocop-rspec
|
560
554
|
requirement: !ruby/object:Gem::Requirement
|
561
555
|
requirements:
|
562
|
-
- - "
|
556
|
+
- - "~>"
|
563
557
|
- !ruby/object:Gem::Version
|
564
|
-
version: '
|
558
|
+
version: '1.8'
|
565
559
|
type: :development
|
566
560
|
prerelease: false
|
567
561
|
version_requirements: !ruby/object:Gem::Requirement
|
568
562
|
requirements:
|
569
|
-
- - "
|
563
|
+
- - "~>"
|
570
564
|
- !ruby/object:Gem::Version
|
571
|
-
version: '
|
565
|
+
version: '1.8'
|
572
566
|
- !ruby/object:Gem::Dependency
|
573
567
|
name: poltergeist
|
574
568
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1128,6 +1122,7 @@ files:
|
|
1128
1122
|
- db/migrate/20160711121314_add_default_view_to_spotlight_searches.rb
|
1129
1123
|
- db/migrate/20160815165432_add_resource_to_solr_document_sidecar.rb
|
1130
1124
|
- db/migrate/20160816165432_add_index_status_to_solr_document_sidecar.rb
|
1125
|
+
- db/migrate/20160929180534_add_document_index_to_solr_document_sidecar.rb
|
1131
1126
|
- lib/blacklight/spotlight.rb
|
1132
1127
|
- lib/generators/spotlight/install_generator.rb
|
1133
1128
|
- lib/generators/spotlight/scaffold_resource_generator.rb
|
@@ -1173,6 +1168,7 @@ files:
|
|
1173
1168
|
- spec/controllers/spotlight/tags_controller_spec.rb
|
1174
1169
|
- spec/controllers/spotlight/versions_controller_spec.rb
|
1175
1170
|
- spec/controllers/spotlight/view_configurations_controller_spec.rb
|
1171
|
+
- spec/examples.txt
|
1176
1172
|
- spec/factories/contacts.rb
|
1177
1173
|
- spec/factories/custom_fields.rb
|
1178
1174
|
- spec/factories/exhibits.rb
|
@@ -1248,6 +1244,7 @@ files:
|
|
1248
1244
|
- spec/helpers/spotlight/roles_helper_spec.rb
|
1249
1245
|
- spec/helpers/spotlight/search_configurations_helper_spec.rb
|
1250
1246
|
- spec/helpers/spotlight/title_helper_spec.rb
|
1247
|
+
- spec/jobs/spotlight/add_uploads_from_csv_spec.rb
|
1251
1248
|
- spec/jobs/spotlight/default_thumbnail_job_spec.rb
|
1252
1249
|
- spec/jobs/spotlight/reindex_job_spec.rb
|
1253
1250
|
- spec/jobs/spotlight/rename_sidecar_field_job_spec.rb
|
@@ -1409,7 +1406,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1409
1406
|
version: '0'
|
1410
1407
|
requirements: []
|
1411
1408
|
rubyforge_project:
|
1412
|
-
rubygems_version: 2.5.
|
1409
|
+
rubygems_version: 2.5.2
|
1413
1410
|
signing_key:
|
1414
1411
|
specification_version: 4
|
1415
1412
|
summary: Enable librarians, curators, and others who are responsible for digital collections
|
@@ -1444,6 +1441,7 @@ test_files:
|
|
1444
1441
|
- spec/controllers/spotlight/tags_controller_spec.rb
|
1445
1442
|
- spec/controllers/spotlight/versions_controller_spec.rb
|
1446
1443
|
- spec/controllers/spotlight/view_configurations_controller_spec.rb
|
1444
|
+
- spec/examples.txt
|
1447
1445
|
- spec/factories/contacts.rb
|
1448
1446
|
- spec/factories/custom_fields.rb
|
1449
1447
|
- spec/factories/exhibits.rb
|
@@ -1519,6 +1517,7 @@ test_files:
|
|
1519
1517
|
- spec/helpers/spotlight/roles_helper_spec.rb
|
1520
1518
|
- spec/helpers/spotlight/search_configurations_helper_spec.rb
|
1521
1519
|
- spec/helpers/spotlight/title_helper_spec.rb
|
1520
|
+
- spec/jobs/spotlight/add_uploads_from_csv_spec.rb
|
1522
1521
|
- spec/jobs/spotlight/default_thumbnail_job_spec.rb
|
1523
1522
|
- spec/jobs/spotlight/reindex_job_spec.rb
|
1524
1523
|
- spec/jobs/spotlight/rename_sidecar_field_job_spec.rb
|