dor-services 5.5.3 → 5.6.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/lib/dor/datastreams/content_metadata_ds.rb +2 -2
- data/lib/dor/datastreams/default_object_rights_ds.rb +1 -1
- data/lib/dor/datastreams/desc_metadata_ds.rb +3 -1
- data/lib/dor/datastreams/simple_dublin_core_ds.rb +6 -1
- data/lib/dor/datastreams/workflow_ds.rb +1 -1
- data/lib/dor/models/describable.rb +49 -32
- data/lib/dor/models/governable.rb +6 -4
- data/lib/dor/models/identifiable.rb +9 -10
- data/lib/dor/models/processable.rb +2 -1
- data/lib/dor/models/releaseable.rb +3 -3
- data/lib/dor/models/versionable.rb +5 -2
- data/lib/dor/services/registration_service.rb +3 -1
- data/lib/dor/version.rb +1 -1
- data/lib/dor/workflow/document.rb +2 -1
- metadata +22 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ff194a7c8f4523d03cae50e749ca4347aef2ce63
|
|
4
|
+
data.tar.gz: 0187ff1e3f17f874cbc1412aa3ee1d0a2726284d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a78df8989f349a9b1d20fd940dd54437d2d756343b56fe1124e1ddad13e0933a076c434ec4db61829989154b50a3f12b51efd7198bb670784add5ed68848a91a
|
|
7
|
+
data.tar.gz: 9bd63d841e4a4bc0324ace233c5f72ef9b9a67c36e90fcc17eb5477be1ac59d3afbf70c93aa5af289831afe280558fa8399d7d811249c06239fadb0fac4d71a3
|
|
@@ -69,7 +69,7 @@ module Dor
|
|
|
69
69
|
externalFile.add_previous_sibling(src_label)
|
|
70
70
|
externalFile << src_image_data unless src_image_data.nil?
|
|
71
71
|
end
|
|
72
|
-
|
|
72
|
+
|
|
73
73
|
result
|
|
74
74
|
end
|
|
75
75
|
|
|
@@ -132,7 +132,7 @@ module Dor
|
|
|
132
132
|
preserved_size += file['size'].to_i if file['preserve'] == 'yes'
|
|
133
133
|
next unless file['shelve'] == 'yes'
|
|
134
134
|
counts['shelved_file'] += 1
|
|
135
|
-
first_shelved_image ||= file['id'] if file['id']
|
|
135
|
+
first_shelved_image ||= file['id'] if file['id'] =~ /jp2$/
|
|
136
136
|
end
|
|
137
137
|
end
|
|
138
138
|
solr_doc['content_type_ssim' ] = doc.root['type']
|
|
@@ -119,7 +119,7 @@ module Dor
|
|
|
119
119
|
# cleanup ordering is important here
|
|
120
120
|
doc.xpath('//machine/text()').each { |node| node.content = node.content.strip }
|
|
121
121
|
doc.xpath('//human')
|
|
122
|
-
.tap { |
|
|
122
|
+
.tap { |node_set| norm.clean_linefeeds(node_set) }
|
|
123
123
|
.each do |node|
|
|
124
124
|
norm.trim_text(node)
|
|
125
125
|
norm.remove_empty_nodes(node)
|
|
@@ -33,7 +33,9 @@ module Dor
|
|
|
33
33
|
|
|
34
34
|
def self.xml_template
|
|
35
35
|
Nokogiri::XML::Builder.new do |xml|
|
|
36
|
-
xml.mods(
|
|
36
|
+
xml.mods(
|
|
37
|
+
'xmlns' => MODS_NS, 'xmlns:xsi' => 'http://www.w3.org/2001/XMLSchema-instance', :version => '3.3',
|
|
38
|
+
'xsi:schemaLocation' => 'http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-3.xsd') {
|
|
37
39
|
xml.titleInfo {
|
|
38
40
|
xml.title
|
|
39
41
|
}
|
|
@@ -2,7 +2,12 @@ module Dor
|
|
|
2
2
|
class SimpleDublinCoreDs < ActiveFedora::OmDatastream
|
|
3
3
|
|
|
4
4
|
set_terminology do |t|
|
|
5
|
-
t.root(
|
|
5
|
+
t.root(
|
|
6
|
+
path: 'dc',
|
|
7
|
+
xmlns: 'http://www.openarchives.org/OAI/2.0/oai_dc/',
|
|
8
|
+
schema: 'http://cosimo.stanford.edu/standards/oai_dc/v2/oai_dc.xsd',
|
|
9
|
+
namespace_prefix: 'oai_dc',
|
|
10
|
+
index_as: [:not_searchable])
|
|
6
11
|
t.title( :index_as => [:stored_sortable, :stored_searchable], :xmlns => 'http://purl.org/dc/elements/1.1/', :namespace_prefix => 'dc')
|
|
7
12
|
t.creator( :index_as => [:stored_sortable, :stored_searchable], :xmlns => 'http://purl.org/dc/elements/1.1/', :namespace_prefix => 'dc')
|
|
8
13
|
t.identifier(:index_as => [:symbol, :stored_searchable], :xmlns => 'http://purl.org/dc/elements/1.1/', :namespace_prefix => 'dc')
|
|
@@ -64,7 +64,7 @@ module Dor
|
|
|
64
64
|
#
|
|
65
65
|
# @return [Integer] value of the priority. Defaults to 0 if none of the workflows are expedited
|
|
66
66
|
def current_priority
|
|
67
|
-
cp = workflows.detect
|
|
67
|
+
cp = workflows.detect(&:expedited?)
|
|
68
68
|
return 0 if cp.nil?
|
|
69
69
|
cp.priority.to_i
|
|
70
70
|
end
|
|
@@ -101,6 +101,48 @@ module Dor
|
|
|
101
101
|
end
|
|
102
102
|
end
|
|
103
103
|
|
|
104
|
+
# Remove existing relatedItem entries for collections from descMetadata
|
|
105
|
+
def remove_related_item_nodes_for_collections(doc)
|
|
106
|
+
doc.search('/mods:mods/mods:relatedItem[@type="host"]/mods:typeOfResource[@collection=\'yes\']', 'mods' => 'http://www.loc.gov/mods/v3').each do |node|
|
|
107
|
+
node.parent.remove
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
def add_related_item_node_for_collection(doc, collection_druid)
|
|
112
|
+
begin
|
|
113
|
+
collection_obj = Dor::Item.find(collection_druid)
|
|
114
|
+
rescue ActiveFedora::ObjectNotFoundError
|
|
115
|
+
return nil
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
title_node = Nokogiri::XML::Node.new('title', doc)
|
|
119
|
+
title_node.content = Dor::Describable.get_collection_title(collection_obj)
|
|
120
|
+
|
|
121
|
+
title_info_node = Nokogiri::XML::Node.new('titleInfo', doc)
|
|
122
|
+
title_info_node.add_child(title_node)
|
|
123
|
+
|
|
124
|
+
# e.g.:
|
|
125
|
+
# <location>
|
|
126
|
+
# <url>http://purl.stanford.edu/rh056sr3313</url>
|
|
127
|
+
# </location>
|
|
128
|
+
loc_node = doc.create_element('location')
|
|
129
|
+
url_node = doc.create_element('url')
|
|
130
|
+
url_node.content = "https://#{Dor::Config.stacks.document_cache_host}/#{collection_druid.split(':').last}"
|
|
131
|
+
loc_node << url_node
|
|
132
|
+
|
|
133
|
+
type_node = Nokogiri::XML::Node.new('typeOfResource', doc)
|
|
134
|
+
type_node['collection'] = 'yes'
|
|
135
|
+
|
|
136
|
+
related_item_node = Nokogiri::XML::Node.new('relatedItem', doc)
|
|
137
|
+
related_item_node['type'] = 'host'
|
|
138
|
+
|
|
139
|
+
related_item_node.add_child(title_info_node)
|
|
140
|
+
related_item_node.add_child(loc_node)
|
|
141
|
+
related_item_node.add_child(type_node)
|
|
142
|
+
|
|
143
|
+
doc.root.add_child(related_item_node)
|
|
144
|
+
end
|
|
145
|
+
|
|
104
146
|
# Adds to desc metadata a relatedItem with information about the collection this object belongs to.
|
|
105
147
|
# For use in published mods and mods-to-DC conversion.
|
|
106
148
|
# @param [Nokogiri::XML::Document] doc A copy of the descriptiveMetadata of the object, to be modified
|
|
@@ -110,41 +152,14 @@ module Dor
|
|
|
110
152
|
return unless methods.include? :public_relationships
|
|
111
153
|
collections = public_relationships.search('//rdf:RDF/rdf:Description/fedora:isMemberOfCollection',
|
|
112
154
|
'fedora' => 'info:fedora/fedora-system:def/relations-external#',
|
|
113
|
-
'rdf' => 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'
|
|
155
|
+
'rdf' => 'http://www.w3.org/1999/02/22-rdf-syntax-ns#')
|
|
114
156
|
return if collections.empty?
|
|
115
157
|
|
|
116
|
-
|
|
117
|
-
doc.search('/mods:mods/mods:relatedItem[@type="host"]/mods:typeOfResource[@collection=\'yes\']', 'mods' => 'http://www.loc.gov/mods/v3').each do |node|
|
|
118
|
-
node.parent.remove
|
|
119
|
-
end
|
|
158
|
+
remove_related_item_nodes_for_collections(doc)
|
|
120
159
|
|
|
121
160
|
collections.each do |collection_node|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
collection_obj = Dor::Item.find(druid)
|
|
125
|
-
collection_title = Dor::Describable.get_collection_title(collection_obj)
|
|
126
|
-
related_item_node = Nokogiri::XML::Node.new('relatedItem', doc)
|
|
127
|
-
related_item_node['type'] = 'host'
|
|
128
|
-
title_info_node = Nokogiri::XML::Node.new('titleInfo', doc)
|
|
129
|
-
title_node = Nokogiri::XML::Node.new('title', doc)
|
|
130
|
-
title_node.content = collection_title
|
|
131
|
-
|
|
132
|
-
# e.g.:
|
|
133
|
-
# <location>
|
|
134
|
-
# <url>http://purl.stanford.edu/rh056sr3313</url>
|
|
135
|
-
# </location>
|
|
136
|
-
loc_node = doc.create_element('location')
|
|
137
|
-
url_node = doc.create_element('url')
|
|
138
|
-
url_node.content = "https://#{Dor::Config.stacks.document_cache_host}/#{druid.split(':').last}"
|
|
139
|
-
loc_node << url_node
|
|
140
|
-
|
|
141
|
-
type_node = Nokogiri::XML::Node.new('typeOfResource', doc)
|
|
142
|
-
type_node['collection'] = 'yes'
|
|
143
|
-
doc.root.add_child(related_item_node)
|
|
144
|
-
related_item_node.add_child(title_info_node)
|
|
145
|
-
title_info_node.add_child(title_node)
|
|
146
|
-
related_item_node.add_child(loc_node)
|
|
147
|
-
related_item_node.add_child(type_node)
|
|
161
|
+
collection_druid = collection_node['rdf:resource'].gsub('info:fedora/', '')
|
|
162
|
+
add_related_item_node_for_collection(doc, collection_druid)
|
|
148
163
|
end
|
|
149
164
|
end
|
|
150
165
|
|
|
@@ -285,7 +300,9 @@ module Dor
|
|
|
285
300
|
end
|
|
286
301
|
label = self.label
|
|
287
302
|
builder = Nokogiri::XML::Builder.new { |xml|
|
|
288
|
-
xml.mods(
|
|
303
|
+
xml.mods(
|
|
304
|
+
'xmlns' => 'http://www.loc.gov/mods/v3', 'xmlns:xsi' => 'http://www.w3.org/2001/XMLSchema-instance', :version => '3.3',
|
|
305
|
+
'xsi:schemaLocation' => 'http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-3.xsd') {
|
|
289
306
|
xml.titleInfo {
|
|
290
307
|
xml.title label
|
|
291
308
|
}
|
|
@@ -35,23 +35,25 @@ module Dor
|
|
|
35
35
|
end
|
|
36
36
|
|
|
37
37
|
def add_collection(collection_or_druid)
|
|
38
|
-
collection =
|
|
38
|
+
collection =
|
|
39
|
+
case collection_or_druid
|
|
39
40
|
when String
|
|
40
41
|
Dor::Collection.find(collection_or_druid)
|
|
41
42
|
when Dor::Collection
|
|
42
43
|
collection_or_druid
|
|
43
|
-
|
|
44
|
+
end
|
|
44
45
|
collections << collection
|
|
45
46
|
sets << collection
|
|
46
47
|
end
|
|
47
48
|
|
|
48
49
|
def remove_collection(collection_or_druid)
|
|
49
|
-
collection =
|
|
50
|
+
collection =
|
|
51
|
+
case collection_or_druid
|
|
50
52
|
when String
|
|
51
53
|
Dor::Collection.find(collection_or_druid)
|
|
52
54
|
when Dor::Collection
|
|
53
55
|
collection_or_druid
|
|
54
|
-
|
|
56
|
+
end
|
|
55
57
|
|
|
56
58
|
collections.delete(collection)
|
|
57
59
|
sets.delete(collection)
|
|
@@ -69,8 +69,9 @@ module Dor
|
|
|
69
69
|
add_solr_value(solr_doc, 'title_sort', label, :string, [:stored_sortable])
|
|
70
70
|
|
|
71
71
|
rels_doc = Nokogiri::XML(datastreams['RELS-EXT'].content)
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
ns_hash = {'hydra' => 'http://projecthydra.org/ns/relations#', 'fedora' => 'info:fedora/fedora-system:def/relations-external#', 'rdf' => 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'}
|
|
73
|
+
apos = rels_doc.search('//rdf:RDF/rdf:Description/hydra:isGovernedBy', ns_hash)
|
|
74
|
+
collections = rels_doc.search('//rdf:RDF/rdf:Description/fedora:isMemberOfCollection', ns_hash)
|
|
74
75
|
solrize_related_obj_titles(solr_doc, apos, @@apo_hash, 'apo_title', 'nonhydrus_apo_title', 'hydrus_apo_title')
|
|
75
76
|
solrize_related_obj_titles(solr_doc, collections, @@collection_hash, 'collection_title', 'nonhydrus_collection_title', 'hydrus_collection_title')
|
|
76
77
|
|
|
@@ -151,7 +152,7 @@ module Dor
|
|
|
151
152
|
# note that the comparison for duplicate tags is case-insensitive, but we don't change case as part of the normalized version
|
|
152
153
|
# we return, because we want to preserve the user's intended case.
|
|
153
154
|
normalized_tag = normalize_tag_arr(tag_arr)
|
|
154
|
-
dupe_existing_tag = existing_tag_list.detect { |existing_tag| normalize_tag(existing_tag).
|
|
155
|
+
dupe_existing_tag = existing_tag_list.detect { |existing_tag| normalize_tag(existing_tag).casecmp(normalized_tag) == 0 }
|
|
155
156
|
if dupe_existing_tag
|
|
156
157
|
raise "An existing tag (#{dupe_existing_tag}) is the same, consider using update_tag?"
|
|
157
158
|
end
|
|
@@ -208,15 +209,13 @@ module Dor
|
|
|
208
209
|
end
|
|
209
210
|
|
|
210
211
|
def get_related_obj_display_title(related_obj, default_title)
|
|
211
|
-
if related_obj
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
return related_obj.label
|
|
216
|
-
end
|
|
212
|
+
# desc_md_ds_title will be nil if related_obj is nil
|
|
213
|
+
desc_md_ds_title = if related_obj
|
|
214
|
+
desc_md_ds = related_obj.datastreams['descMetadata']
|
|
215
|
+
desc_md_ds ? desc_md_ds.title_info.main_title.first : nil
|
|
217
216
|
end
|
|
218
217
|
|
|
219
|
-
default_title
|
|
218
|
+
desc_md_ds_title.present? ? desc_md_ds_title : default_title
|
|
220
219
|
end
|
|
221
220
|
|
|
222
221
|
private
|
|
@@ -165,7 +165,8 @@ module Dor
|
|
|
165
165
|
if self.respond_to?('versionMetadata')
|
|
166
166
|
# add an entry with version id, tag and description for each version
|
|
167
167
|
while current_version_num > 0
|
|
168
|
-
|
|
168
|
+
new_val = "#{current_version_num};#{versionMetadata.tag_for_version(current_version_num.to_s)};#{versionMetadata.description_for_version(current_version_num.to_s)}"
|
|
169
|
+
add_solr_value(solr_doc, 'versions', new_val, :string, [:displayable])
|
|
169
170
|
current_version_num -= 1
|
|
170
171
|
end
|
|
171
172
|
end
|
|
@@ -103,7 +103,7 @@ module Dor
|
|
|
103
103
|
def get_tags_for_what_value(tags, what_target)
|
|
104
104
|
return_hash = {}
|
|
105
105
|
tags.keys.each do |key|
|
|
106
|
-
self_tags = tags[key].select {|tag| tag['what'] ==
|
|
106
|
+
self_tags = tags[key].select {|tag| tag['what'].casecmp(what_target) == 0}
|
|
107
107
|
return_hash[key] = self_tags if self_tags.size > 0
|
|
108
108
|
end
|
|
109
109
|
return_hash
|
|
@@ -180,7 +180,7 @@ module Dor
|
|
|
180
180
|
attrs = rtag.attributes
|
|
181
181
|
return_hash = { :to => attrs[to].value }
|
|
182
182
|
attrs.tap { |a| a.delete(to) }
|
|
183
|
-
attrs[release] = rtag.text.
|
|
183
|
+
attrs[release] = rtag.text.casecmp('true') == 0 # save release as a boolean
|
|
184
184
|
return_hash[:attrs] = attrs
|
|
185
185
|
|
|
186
186
|
# convert all the attrs beside :to to strings, they are currently Nokogiri::XML::Attr
|
|
@@ -316,7 +316,7 @@ module Dor
|
|
|
316
316
|
def get_release_tags_from_purl_xml(doc)
|
|
317
317
|
nodes = doc.xpath('//html/body/publicobject/releasedata').children
|
|
318
318
|
# We only want the nodes with a name that isn't text
|
|
319
|
-
nodes.reject {|n| n.name.nil? || n.name.
|
|
319
|
+
nodes.reject {|n| n.name.nil? || n.name.casecmp('text') == 0 }.map {|n| n.attr('to')}.uniq
|
|
320
320
|
end
|
|
321
321
|
|
|
322
322
|
# Pull all release nodes from the public xml obtained via the purl query
|
|
@@ -74,9 +74,12 @@ module Dor
|
|
|
74
74
|
false
|
|
75
75
|
end
|
|
76
76
|
|
|
77
|
-
# @return [Boolean] true if the object is in a state that allows it to be modified.
|
|
77
|
+
# @return [Boolean] true if the object is in a state that allows it to be modified.
|
|
78
|
+
# States that will allow modification are: has not been submitted for accessioning, has an open version or has sdr-ingest set to hold
|
|
78
79
|
def allows_modification?
|
|
79
|
-
if Dor::Config.workflow.client.get_lifecycle('dor', pid, 'submitted') &&
|
|
80
|
+
if Dor::Config.workflow.client.get_lifecycle('dor', pid, 'submitted') &&
|
|
81
|
+
!new_version_open? &&
|
|
82
|
+
Dor::Config.workflow.client.get_workflow_status('dor', pid, 'accessionWF', 'sdr-ingest-transfer') != 'hold'
|
|
80
83
|
false
|
|
81
84
|
else
|
|
82
85
|
true
|
|
@@ -115,7 +115,9 @@ module Dor
|
|
|
115
115
|
if metadata_source == 'label'
|
|
116
116
|
ds = new_item.build_datastream('descMetadata')
|
|
117
117
|
builder = Nokogiri::XML::Builder.new { |xml|
|
|
118
|
-
xml.mods(
|
|
118
|
+
xml.mods(
|
|
119
|
+
'xmlns' => 'http://www.loc.gov/mods/v3', 'xmlns:xsi' => 'http://www.w3.org/2001/XMLSchema-instance', :version => '3.3',
|
|
120
|
+
'xsi:schemaLocation' => 'http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-3.xsd') {
|
|
119
121
|
xml.titleInfo {
|
|
120
122
|
xml.title label
|
|
121
123
|
}
|
data/lib/dor/version.rb
CHANGED
|
@@ -105,7 +105,8 @@ module Workflow
|
|
|
105
105
|
if process.date_time && process.status && (process.status == 'completed' || process.status == 'error')
|
|
106
106
|
solr_doc["wf_#{wf_name}_#{process.name}_dttsi"] = "#{process.date_time}Z"
|
|
107
107
|
end
|
|
108
|
-
|
|
108
|
+
# index the error message without the druid so we hopefully get some overlap
|
|
109
|
+
add_solr_value(solr_doc, 'wf_error', "#{wf_name}:#{process.name}:#{process.error_message}", wf_solr_type, wf_solr_attrs) if process.error_message
|
|
109
110
|
add_solr_value(solr_doc, 'wf_wsp', "#{wf_name}:#{process.status}", wf_solr_type, wf_solr_attrs)
|
|
110
111
|
add_solr_value(solr_doc, 'wf_wsp', "#{wf_name}:#{process.status}:#{process.name}", wf_solr_type, wf_solr_attrs)
|
|
111
112
|
add_solr_value(solr_doc, 'wf_wps', "#{wf_name}:#{process.name}", wf_solr_type, wf_solr_attrs)
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dor-services
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 5.
|
|
4
|
+
version: 5.6.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Michael Klein
|
|
@@ -14,7 +14,7 @@ authors:
|
|
|
14
14
|
autorequire:
|
|
15
15
|
bindir: bin
|
|
16
16
|
cert_chain: []
|
|
17
|
-
date: 2016-03-
|
|
17
|
+
date: 2016-03-11 00:00:00.000000000 Z
|
|
18
18
|
dependencies:
|
|
19
19
|
- !ruby/object:Gem::Dependency
|
|
20
20
|
name: active-fedora
|
|
@@ -295,6 +295,9 @@ dependencies:
|
|
|
295
295
|
- - "~>"
|
|
296
296
|
- !ruby/object:Gem::Version
|
|
297
297
|
version: '2.0'
|
|
298
|
+
- - ">="
|
|
299
|
+
- !ruby/object:Gem::Version
|
|
300
|
+
version: 2.0.1
|
|
298
301
|
type: :runtime
|
|
299
302
|
prerelease: false
|
|
300
303
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -302,6 +305,9 @@ dependencies:
|
|
|
302
305
|
- - "~>"
|
|
303
306
|
- !ruby/object:Gem::Version
|
|
304
307
|
version: '2.0'
|
|
308
|
+
- - ">="
|
|
309
|
+
- !ruby/object:Gem::Version
|
|
310
|
+
version: 2.0.1
|
|
305
311
|
- !ruby/object:Gem::Dependency
|
|
306
312
|
name: druid-tools
|
|
307
313
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -524,6 +530,20 @@ dependencies:
|
|
|
524
530
|
- - ">="
|
|
525
531
|
- !ruby/object:Gem::Version
|
|
526
532
|
version: '0'
|
|
533
|
+
- !ruby/object:Gem::Dependency
|
|
534
|
+
name: rubocop
|
|
535
|
+
requirement: !ruby/object:Gem::Requirement
|
|
536
|
+
requirements:
|
|
537
|
+
- - ">="
|
|
538
|
+
- !ruby/object:Gem::Version
|
|
539
|
+
version: '0'
|
|
540
|
+
type: :development
|
|
541
|
+
prerelease: false
|
|
542
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
543
|
+
requirements:
|
|
544
|
+
- - ">="
|
|
545
|
+
- !ruby/object:Gem::Version
|
|
546
|
+
version: '0'
|
|
527
547
|
- !ruby/object:Gem::Dependency
|
|
528
548
|
name: yard
|
|
529
549
|
requirement: !ruby/object:Gem::Requirement
|