harvestdor-indexer 0.0.11 → 0.0.13

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,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- YjA3NGNjNzhkOGQ1NTcxMTEyOWIyNGJkY2NlYTFmNzhhN2U0NGUyZQ==
5
- data.tar.gz: !binary |-
6
- YzU0NzdkMGIyN2I4YjgyOGJmMGMyMDcyZWQyNjNkZjc3M2ZmNmFiYw==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- ZmQyZjkwYThhN2MzNGZjZGJmNTU0NjNjN2FiMWI0YTBmZjJlN2M0Y2UwNDU5
10
- YmQzZGI0MjZkOWM0ZGU4MmY5OGFjZTA5YTE2M2Y0ZjUzOGM5ZmNiMTI2YWFl
11
- MzUwODUyOTdiMTE5ZmZiYWE5Nzg0MzRkOTRiMGM2ZDYxY2NmZjk=
12
- data.tar.gz: !binary |-
13
- MmE0YTVhMjdjNjQ3YzViNTk4NTI2ZWYzYjU1ZTFjMWYzNTU0NWM3YWRlMmMz
14
- N2YwMzI4ZDM2NmY1ZGVkYjRmYzczNWE2NDQwYzFkYmJiYmM3Mzk3Nzk1ZjZk
15
- MTA0ZDA4YTBlZDIzNjQzNjg4ODZkYTcwZjhiMTBiNTg2NzI1ZWM=
2
+ SHA1:
3
+ metadata.gz: a14d39d89afa8e167b50facf06cf7cf0a6c5fa76
4
+ data.tar.gz: 63478e959742b0640189aaf90b2f185315b4b9c3
5
+ SHA512:
6
+ metadata.gz: eb6f6830232b5d7609a29779c8ca58139cbad499d5c51daa9bfeb0252fe52fc633296a360ccd5e2e9c7b2b68313402c7fb9b6e4532a414a2d130c3f0fe867a69
7
+ data.tar.gz: f97897beffaebca548732810ed0d3281b169feead5203aaa9ec1a63167cdbf4813a5619052b9ab1cdf8f2fc54bb5068d827487ec9e668b27a1f8b85acd375552
data/.travis.yml ADDED
@@ -0,0 +1,12 @@
1
+ language: ruby
2
+ script: rake rspec
3
+ rvm:
4
+ - 2.1.1
5
+ - 2.0.0
6
+ - 1.9.3
7
+ - jruby-19mode # JRuby in 1.9 mode
8
+ notifications:
9
+ email:
10
+ - ndushay@stanford.edu
11
+ - laneymcg@stanford.edu
12
+ - bess@stanford.edu
data/Gemfile CHANGED
@@ -1,5 +1,4 @@
1
1
  source 'https://rubygems.org'
2
- source "http://sul-gems.stanford.edu"
3
2
 
4
3
  # See harvestdor-indexer.gemspec for this gem's dependencies
5
4
  gemspec
data/README.rdoc CHANGED
@@ -1,4 +1,9 @@
1
1
  = Harvestdor::Indexer
2
+ {<img src="https://travis-ci.org/sul-dlss/harvestdor-indexer.svg" alt="Build Status" />}[https://travis-ci.org/sul-dlss/harvestdor-indexer]
3
+ {<img src="https://coveralls.io/repos/sul-dlss/harvestdor-indexer/badge.png" alt="Coverage Status" />}[https://coveralls.io/r/sul-dlss/harvestdor-indexer]{<img src="https://gemnasium.com/sul-dlss/harvestdor-indexer.svg" alt="Dependency Status" />}[https://gemnasium.com/sul-dlss/harvestdor-indexer]{<img src="https://badge.fury.io/rb/harvestdor-indexer.svg" alt="Gem Version" />}[http://badge.fury.io/rb/harvestdor-indexer]
4
+
5
+
6
+
2
7
 
3
8
  A Gem to harvest meta/data from DOR and the skeleton code to index it and write to Solr.
4
9
 
@@ -24,13 +29,22 @@ You must override the index method and provide configuration options. It is rec
24
29
 
25
30
  Create a yml config file for your collection going to a Solr index.
26
31
 
27
- See spec/config/ap.yml for an example.
32
+ Note: Because of an update to underlying HTTP libraries, versions of this gem > 0.0.12 require an updated syntax. Errors like "unknown method timeout" might be because you're using an older version of a config file. The new configuration looks like this:
33
+
34
+ http_options:
35
+ ssl:
36
+ verify: false
37
+ # timeouts are in seconds; timeout -> open/read, open_timeout -> connection open
38
+ request:
39
+ timeout: 180
40
+ open_timeout: 180
28
41
 
42
+ See spec/config/ap.yml for an example.
29
43
  You will want to copy that file and change the following settings:
30
44
  1. log_name
31
45
  2. default_set (in OAI harvesting params section)
32
- 2a. other OAI harvesting params
33
- 3. blacklist or whitelist if you are using them
46
+ 3. other OAI harvesting params
47
+ 4. blacklist or whitelist if you are using them
34
48
 
35
49
  You can also pass in non-default configurations as a hash
36
50
 
@@ -68,27 +82,23 @@ end
68
82
 
69
83
  I suggest you write a script to run the code. Your script might look like this:
70
84
 
71
- #!/usr/bin/env ruby
72
-
73
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..'))
74
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
75
-
76
- require 'rubygems'
77
- begin
78
- require 'your_indexer'
79
- rescue LoadError
80
- require 'bundler/setup'
81
- require 'your_indexer'
82
- end
83
-
84
- config_yml_path = ARGV.pop
85
- if config_yml_path.nil?
86
- puts "** You must provide the full path to a config yml file **"
87
- exit
88
- end
89
-
90
- indexer = Harvestdor::Indexer.new(config_yml_path, opts)
91
- indexer.harvest_and_index
85
+ #!/usr/bin/env ruby
86
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..'))
87
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
88
+ require 'rubygems'
89
+ begin
90
+ require 'your_indexer'
91
+ rescue LoadError
92
+ require 'bundler/setup'
93
+ require 'your_indexer'
94
+ end
95
+ config_yml_path = ARGV.pop
96
+ if config_yml_path.nil?
97
+ puts "** You must provide the full path to a config yml file **"
98
+ exit
99
+ end
100
+ indexer = Harvestdor::Indexer.new(config_yml_path, opts)
101
+ indexer.harvest_and_index
92
102
 
93
103
  Then you run the script like so:
94
104
 
@@ -108,6 +118,9 @@ I suggest you run your code on harvestdor-dev, as it is already set up to be abl
108
118
 
109
119
  == Releases
110
120
 
121
+ * <b>0.0.13</b> Upgrade to latest faraday HTTP client syntax; Use retries gem (https://github.com/ooyala/retries) to make retrying of index process more robust
122
+ * <b>0.0.12</b> fix total_object nil error
123
+ * <b>0.0.11</b> fix error_count and success_count, allow setting of max-tries (retry solr add if error)
111
124
  * <b>0.0.7</b> adding additional logging of error, success counts, and time to index and harvest
112
125
  * <b>0.0.6</b> tweak error handling for public xml pieces
113
126
  * <b>0.0.5</b> make rake release a no-op
data/Rakefile CHANGED
@@ -7,9 +7,6 @@ require 'rspec/core/rake_task'
7
7
  require 'yard'
8
8
  require 'yard/rake/yardoc_task'
9
9
 
10
- require 'dlss/rake/dlss_release'
11
- Dlss::Release.new
12
-
13
10
  begin
14
11
  Bundler.setup(:default, :development)
15
12
  rescue Bundler::BundlerError => e
@@ -18,10 +15,6 @@ rescue Bundler::BundlerError => e
18
15
  exit e.status_code
19
16
  end
20
17
 
21
- desc "DO NOT USE! use dlss_release"
22
- task :release do
23
- end
24
-
25
18
  task :default => :ci
26
19
 
27
20
  desc "run continuous integration suite (tests, coverage, docs)"
@@ -18,9 +18,8 @@ Gem::Specification.new do |gem|
18
18
  gem.require_paths = ["lib"]
19
19
 
20
20
  gem.add_dependency 'rsolr'
21
-
22
- # sul-gems
23
- gem.add_dependency 'harvestdor'
21
+ gem.add_dependency 'retries'
22
+ gem.add_dependency 'harvestdor', '>=0.0.14'
24
23
  gem.add_dependency 'stanford-mods'
25
24
 
26
25
  # Runtime dependencies
@@ -29,15 +28,13 @@ Gem::Specification.new do |gem|
29
28
  # Development dependencies
30
29
  # Bundler will install these gems too if you've checked out solrmarc-wrapper source from git and run 'bundle install'
31
30
  # It will not add these as dependencies if you require solrmarc-wrapper for other projects
32
- gem.add_development_dependency "lyberteam-gems-devel", ">= 1.0"
33
31
  gem.add_development_dependency "rake"
34
32
  # docs
35
33
  gem.add_development_dependency "rdoc"
36
34
  gem.add_development_dependency "yard"
37
35
  # tests
38
36
  gem.add_development_dependency 'rspec'
39
- gem.add_development_dependency 'simplecov'
40
- gem.add_development_dependency 'simplecov-rcov'
37
+ gem.add_development_dependency 'coveralls'
41
38
  # gem.add_development_dependency 'ruby-debug19'
42
39
 
43
40
  end
@@ -1,6 +1,7 @@
1
1
  # external gems
2
2
  require 'confstruct'
3
3
  require 'rsolr'
4
+ require 'retries'
4
5
 
5
6
  # sul-dlss gems
6
7
  require 'harvestdor'
@@ -21,7 +22,7 @@ module Harvestdor
21
22
  def initialize yml_path, options = {}
22
23
  @success_count=0 # the number of objects successfully indexed
23
24
  @error_count=0 # the number of objects that failed
24
- @max_retries=5 # the number of times to retry an object
25
+ @max_retries=10 # the number of times to retry an object
25
26
  @total_time_to_solr=0
26
27
  @total_time_to_parse=0
27
28
  @yml_path = yml_path
@@ -54,13 +55,13 @@ module Harvestdor
54
55
  total_time=elapsed_time(start_time)
55
56
  total_objects=@success_count+@error_count
56
57
  logger.info("Finished harvest_and_index at #{Time.now}: final Solr commit returned")
57
- logger.info("Total elapsed time for harvest and index: #{(total_time/60.0)} minutes")
58
- logger.info("Avg solr commit time per object (successful): #{@total_time_to_solr/@success_count} seconds") unless (@total_time_to_solr == 0 || @success_count == 0)
59
- logger.info("Avg solr commit time per object (all): #{@total_time_to_solr/total_objects} seconds") unless (@total_time_to_solr == 0 || @error_count == 0 || total_objects == 0)
60
- logger.info("Avg parse time per object (successful): #{@total_time_to_parse/@success_count} seconds") unless (@total_time_to_parse == 0 || @success_count == 0)
61
- logger.info("Avg parse time per object (all): #{@total_time_to_parse/total_objects} seconds") unless (@total_time_to_parse == 0 || @error_count == 0 || total_objects == 0)
62
- logger.info("Avg complete index time per object (successful): #{total_time/@success_count} seconds") unless (@success_count == 0)
63
- logger.info("Avg complete index time per object (all): #{total_time/total_objects} seconds") unless (@error_count == 0 || total_object == 0)
58
+ logger.info("Total elapsed time for harvest and index: #{(total_time/60.0).round(2)} minutes")
59
+ logger.info("Avg solr commit time per object (successful): #{(@total_time_to_solr/@success_count).round(2)} seconds") unless (@total_time_to_solr == 0 || @success_count == 0)
60
+ logger.info("Avg solr commit time per object (all): #{(@total_time_to_solr/total_objects).round(2)} seconds") unless (@total_time_to_solr == 0 || @error_count == 0 || total_objects == 0)
61
+ logger.info("Avg parse time per object (successful): #{(@total_time_to_parse/@success_count).round(2)} seconds") unless (@total_time_to_parse == 0 || @success_count == 0)
62
+ logger.info("Avg parse time per object (all): #{(@total_time_to_parse/total_objects).round(2)} seconds") unless (@total_time_to_parse == 0 || @error_count == 0 || total_objects == 0)
63
+ logger.info("Avg complete index time per object (successful): #{(total_time/@success_count).round(2)} seconds") unless (@success_count == 0)
64
+ logger.info("Avg complete index time per object (all): #{(total_time/total_objects).round(2)} seconds") unless (@error_count == 0 || total_objects == 0)
64
65
  logger.info("Successful count: #{@success_count}")
65
66
  logger.info("Error count: #{@error_count}")
66
67
  logger.info("Total records processed: #{total_objects}")
@@ -78,27 +79,22 @@ module Harvestdor
78
79
  return @druids
79
80
  end
80
81
 
81
- #add the document to solr, retry if an error occurs
82
- def solr_add(doc, id, do_retry=true)
83
- #if do_retry is false, skip retrying
84
- tries=do_retry ? 0 : 999
85
- max_tries=@max_retries ? @max_retries : 5 #if @max_retries isn't set, use 5
86
- while tries < max_tries
87
- begin
88
- tries+=1
89
- solr_client.add(doc)
90
- #return if successful
91
- return
92
- rescue => e
93
- if tries<max_tries
94
- logger.warn "#{id}: #{e.message}, retrying"
95
- else
96
- @error_count+=1
97
- logger.error "Failed saving #{id}: #{e.message}"
98
- logger.error e.backtrace
99
- return
100
- end
82
+ # Add the document to solr, retry if an error occurs.
83
+ # See https://github.com/ooyala/retries for docs on with_retries.
84
+ # @param [Hash] doc a Hash representation of the solr document
85
+ # @param [String] id the id of the document being sent, for logging
86
+ def solr_add(doc, id)
87
+ max_tries=@max_retries ? @max_retries : 10 #if @max_retries isn't set, use 10
88
+
89
+ handler = Proc.new do |exception, attempt_number, total_delay|
90
+ logger.debug "#{exception.class} on attempt #{attempt_number} for #{id}"
91
+ # logger.debug exception.backtrace
101
92
  end
93
+
94
+ with_retries(:max_tries => max_tries, :handler => handler, :base_sleep_seconds => 1, :max_sleep_seconds => 5) do |attempt|
95
+ logger.debug "Attempt #{attempt} for #{id}"
96
+ solr_client.add(doc)
97
+ logger.info "Successfully indexed #{id} on attempt #{attempt}"
102
98
  end
103
99
  end
104
100
 
@@ -1,6 +1,6 @@
1
1
  module Harvestdor
2
2
  class Indexer
3
3
  # this is the Ruby Gem version
4
- VERSION = "0.0.11"
4
+ VERSION = "0.0.13"
5
5
  end
6
6
  end
data/spec/config/ap.yml CHANGED
@@ -57,5 +57,6 @@ http_options:
57
57
  ssl:
58
58
  verify: false
59
59
  # timeouts are in seconds; timeout -> open/read, open_timeout -> connection open
60
- timeout: 180
61
- open_timeout: 180
60
+ request:
61
+ timeout: 180
62
+ open_timeout: 180
data/spec/spec_helper.rb CHANGED
@@ -1,16 +1,5 @@
1
- # for test coverage
2
- require 'simplecov'
3
- require 'simplecov-rcov'
4
- class SimpleCov::Formatter::MergedFormatter
5
- def format(result)
6
- SimpleCov::Formatter::HTMLFormatter.new.format(result)
7
- SimpleCov::Formatter::RcovFormatter.new.format(result)
8
- end
9
- end
10
- SimpleCov.formatter = SimpleCov::Formatter::MergedFormatter
11
- SimpleCov.start do
12
- add_filter "/spec/"
13
- end
1
+ require 'coveralls'
2
+ Coveralls.wear!
14
3
 
15
4
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
16
5
  $LOAD_PATH.unshift(File.dirname(__FILE__))
@@ -13,6 +13,24 @@ describe Harvestdor::Indexer do
13
13
  @whitelist_path = File.join(File.dirname(__FILE__), "../config/ap_whitelist.txt")
14
14
  end
15
15
 
16
+ # The method that sends the solr document to solr
17
+ describe "#solr_add" do
18
+ before(:each) do
19
+ doc_hash = {
20
+ :modsxml => 'whatever',
21
+ :title_display => 'title',
22
+ :pub_year_tisim => 'some year',
23
+ :author_person_display => 'author',
24
+ :format => 'Image',
25
+ :language => 'English'
26
+ }
27
+ end
28
+ it "sends an add request to the solr_client" do
29
+ expect(@indexer.solr_client).to receive(:add)
30
+ @indexer.solr_add(@doc_hash, "abc123")
31
+ end
32
+ end
33
+
16
34
  describe "access methods" do
17
35
  it "initializes success count" do
18
36
  @indexer.success_count.should == 0
@@ -21,7 +39,7 @@ describe Harvestdor::Indexer do
21
39
  @indexer.error_count.should == 0
22
40
  end
23
41
  it "initializes max_retries" do
24
- @indexer.max_retries.should == 5
42
+ expect(@indexer.max_retries).to eql(10)
25
43
  end
26
44
  it "allows overriding of max_retries" do
27
45
  @indexer.max_retries=6
metadata CHANGED
@@ -1,167 +1,153 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: harvestdor-indexer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Naomi Dushay
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-18 00:00:00.000000000 Z
11
+ date: 2014-08-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rsolr
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ! '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: harvestdor
28
+ name: retries
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ! '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ! '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: stanford-mods
42
+ name: harvestdor
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ! '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 0.0.14
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ! '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 0.0.14
55
55
  - !ruby/object:Gem::Dependency
56
- name: confstruct
56
+ name: stanford-mods
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ! '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ! '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: lyberteam-gems-devel
70
+ name: confstruct
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ! '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: '1.0'
76
- type: :development
75
+ version: '0'
76
+ type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ! '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: '1.0'
82
+ version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ! '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ! '>='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rdoc
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ! '>='
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ! '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: yard
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ! '>='
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ! '>='
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: rspec
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ! '>='
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ! '>='
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
- - !ruby/object:Gem::Dependency
140
- name: simplecov
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ! '>='
129
+ - - ">="
144
130
  - !ruby/object:Gem::Version
145
131
  version: '0'
146
132
  type: :development
147
133
  prerelease: false
148
134
  version_requirements: !ruby/object:Gem::Requirement
149
135
  requirements:
150
- - - ! '>='
136
+ - - ">="
151
137
  - !ruby/object:Gem::Version
152
138
  version: '0'
153
139
  - !ruby/object:Gem::Dependency
154
- name: simplecov-rcov
140
+ name: coveralls
155
141
  requirement: !ruby/object:Gem::Requirement
156
142
  requirements:
157
- - - ! '>='
143
+ - - ">="
158
144
  - !ruby/object:Gem::Version
159
145
  version: '0'
160
146
  type: :development
161
147
  prerelease: false
162
148
  version_requirements: !ruby/object:Gem::Requirement
163
149
  requirements:
164
- - - ! '>='
150
+ - - ">="
165
151
  - !ruby/object:Gem::Version
166
152
  version: '0'
167
153
  description: Harvest DOR object metadata via a relationship (e.g. hydra:isGovernedBy
@@ -173,8 +159,9 @@ executables: []
173
159
  extensions: []
174
160
  extra_rdoc_files: []
175
161
  files:
176
- - .gitignore
177
- - .yardopts
162
+ - ".gitignore"
163
+ - ".travis.yml"
164
+ - ".yardopts"
178
165
  - Gemfile
179
166
  - LICENSE.txt
180
167
  - README.rdoc
@@ -196,17 +183,17 @@ require_paths:
196
183
  - lib
197
184
  required_ruby_version: !ruby/object:Gem::Requirement
198
185
  requirements:
199
- - - ! '>='
186
+ - - ">="
200
187
  - !ruby/object:Gem::Version
201
188
  version: '0'
202
189
  required_rubygems_version: !ruby/object:Gem::Requirement
203
190
  requirements:
204
- - - ! '>='
191
+ - - ">="
205
192
  - !ruby/object:Gem::Version
206
193
  version: '0'
207
194
  requirements: []
208
195
  rubyforge_project:
209
- rubygems_version: 2.0.7
196
+ rubygems_version: 2.2.2
210
197
  signing_key:
211
198
  specification_version: 4
212
199
  summary: Harvest DOR object metadata and index it to Solr