blacklight-spotlight 0.29.1 → 0.30.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|