cdmbl 0.12.0 → 0.12.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: 43e5cf62c413f7fc69f95751f5beccea22da21c6
4
- data.tar.gz: 6c9d1fa56a87cfd5f48ff21dd5a91f5cfaff0fb7
3
+ metadata.gz: 1bc016b40abd27b9baac690f97ea48435d17ef06
4
+ data.tar.gz: a2da418f1cecb665b33b7467e8525c74973b8b8e
5
5
  SHA512:
6
- metadata.gz: b147ab7d388f3f06c1ac47b66825fee6216c24972eff496440e576946d1946d23b9707d1dd419b8c2c4bbfb76ed7ae099c9f5d60accdb46d91ff307134583f1d
7
- data.tar.gz: 7ae01db4bc7d3e3fbd8593f9cfb0f6e4f13ed09d98bad66741a89b555de68f4c22900a55a6ac17e296b92e117f77d8f04009ef0bfd28925e12892672e28ece3a
6
+ metadata.gz: 04c534d8aa324a83b59539f78203228747eae184db582ddedcbe5abdd468460bb48911e575c77dee3bc48ecc75d3a5623ba9f554f3ebb6f77cef995e0c0f42b7
7
+ data.tar.gz: fca0699d76b7cf99d76895ccdf205b882b141b757d62958aded540218e7ff43bd822544f561ebfc6a0feac966da38e3fe47530df69a68105dcbb6fb3febf4ae3
data/README.md CHANGED
@@ -146,11 +146,7 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/UMNLib
146
146
 
147
147
  [MIT](/LICENSE.txt)
148
148
 
149
- ## Roadmap
149
+ ## TODO
150
150
 
151
- CDMBL could be expanded to include some features from the [MDL](https://github.com/UMNLibraries/mdl_search) project (and be converted intoto a Rails Engine):
152
-
153
- * Asyncronous thumbnail caching (e.g. https://github.com/UMNLibraries/mdl_search/blob/master/app/controllers/catalog_controller.rb#L34)
154
- * A (very simple) model to keep track of indexing runs (used like this: https://github.com/UMNLibraries/mdl_search/blob/master/lib/tasks/ingester.rake#L6)
155
- * A template to over-write the standard BL catalog controller to make use of the CDM solr fields?
156
- * The [react-borealis viewer](https://github.com/UMNLibraries/react-borealis)
151
+ * Make StripFormatter the default formatter so it doesn't need to be declared for every field
152
+ * Re-brand project: CONTENTdm Indexer. CDMBL doesn't necessarily require Blacklight. Moreover only handles indexing.
@@ -7,23 +7,47 @@ module CDMBL
7
7
  attr_reader :cdm_records,
8
8
  :oai_sets,
9
9
  :field_mappings,
10
+ :extract_compounds,
10
11
  :record_transformer
11
12
  def initialize(cdm_records: [],
12
13
  oai_sets: {},
13
14
  field_mappings: false,
15
+ extract_compounds: false,
14
16
  record_transformer: RecordTransformer)
15
- @cdm_records = cdm_records
17
+ @cdm_records = cdm_records.map do |record|
18
+ record.merge('record_type' => 'primary')
19
+ end
16
20
  @oai_sets = oai_sets
17
21
  @field_mappings = mappings_init(field_mappings)
22
+ @extract_compounds = extract_compounds
18
23
  @record_transformer = record_transformer
19
24
  end
20
25
 
21
26
  def records
22
- cdm_records.map { |record| to_solr(record) }.compact
27
+ raw_records.map { |record| to_solr(record) }.compact
23
28
  end
24
29
 
30
+
25
31
  private
26
32
 
33
+ def raw_records
34
+ extract_compounds == false ? cdm_records : cdm_records.concat(compounds)
35
+ end
36
+
37
+ # The 'page' key holds the children of a given record
38
+ def compounds
39
+ # Get all the records with compounds
40
+ cdm_records.reject do |record|
41
+ record['page'].nil?
42
+ # Get just the compound data
43
+ end.map do |record|
44
+ record['page'].map do |page|
45
+ # Associate each compound child with its parent
46
+ page.merge!('parent_id' => record['id'], 'record_type' => 'secondary')
47
+ end
48
+ end.flatten
49
+ end
50
+
27
51
  def mappings_init(mappings)
28
52
  (mappings) ? mappings : self.class.default_mappings
29
53
  end
data/lib/cdmbl/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module CDMBL
2
- VERSION = "0.12.0"
2
+ VERSION = "0.12.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cdmbl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ version: 0.12.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - chadfennell
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-04-24 00:00:00.000000000 Z
11
+ date: 2018-05-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: hash_at_path