moab-versioning 1.3.4 → 1.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/moab/file_group.rb +6 -6
- data/lib/moab/file_group_difference.rb +11 -11
- data/lib/moab/file_inventory.rb +1 -1
- data/lib/moab/file_signature.rb +4 -4
- data/lib/moab/signature_catalog.rb +3 -3
- data/lib/moab/storage_object.rb +1 -0
- data/lib/moab/verification_result.rb +5 -4
- data/lib/serializer.rb +3 -9
- data/lib/serializer/manifest.rb +5 -1
- data/lib/serializer/serializable.rb +11 -11
- data/lib/stanford/content_inventory.rb +2 -2
- data/lib/tools/api_doc_generator.rb +4 -5
- data/lib/tools/spec_generator.rb +6 -7
- metadata +32 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eccc36c9ff00556b0bceeb9105606382cecea370
|
4
|
+
data.tar.gz: c08e5b8c4f199716d8c40890505791c204f23012
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cd559e11acb29aa9eb4503f98037ca14e0683a393a243b11d1a458368468ee5a7ba6a3bd059118de8e0438b25a10f50daa11c52fb4ae54212224ba0c254ab949
|
7
|
+
data.tar.gz: 85d1a5798696d633bacdb113bac94dd4ca22a13702112082de8b9b9cf83ff38ced2c12436abe6401104ed87823471877b8ca7346e467914a56473f800e1ecfbc
|
data/lib/moab/file_group.rb
CHANGED
@@ -24,7 +24,7 @@ module Moab
|
|
24
24
|
|
25
25
|
# (see Serializable#initialize)
|
26
26
|
def initialize(opts={})
|
27
|
-
@signature_hash =
|
27
|
+
@signature_hash = Hash.new
|
28
28
|
@data_source = ""
|
29
29
|
super(opts)
|
30
30
|
end
|
@@ -75,15 +75,15 @@ module Moab
|
|
75
75
|
@signature_hash.values
|
76
76
|
end
|
77
77
|
|
78
|
-
# @return [
|
78
|
+
# @return [Hash<FileSignature, FileManifestation>] The actual in-memory store for the collection
|
79
79
|
# of {FileManifestation} objects that are contained in this file group.
|
80
80
|
attr_accessor :signature_hash
|
81
81
|
|
82
82
|
# @api internal
|
83
|
-
# @return [
|
83
|
+
# @return [Hash<String,FileSignature>] An index of file paths,
|
84
84
|
# used to test for existence of a filename in this file group
|
85
85
|
def path_hash
|
86
|
-
path_hash =
|
86
|
+
path_hash = Hash.new
|
87
87
|
@signature_hash.each do |signature,manifestation|
|
88
88
|
manifestation.instances.each do |instance|
|
89
89
|
path_hash[instance.path] = signature
|
@@ -99,9 +99,9 @@ module Moab
|
|
99
99
|
|
100
100
|
# @api internal
|
101
101
|
# @param signature_subset [Array<FileSignature>] The signatures used to select the entries to return
|
102
|
-
# @return [
|
102
|
+
# @return [Hash<String,FileSignature>] A pathname,signature hash containing a subset of the filenames in this file group
|
103
103
|
def path_hash_subset(signature_subset)
|
104
|
-
path_hash =
|
104
|
+
path_hash = Hash.new
|
105
105
|
signature_subset.each do |signature|
|
106
106
|
manifestation = @signature_hash[signature]
|
107
107
|
manifestation.instances.each do |instance|
|
@@ -54,7 +54,7 @@ module Moab
|
|
54
54
|
|
55
55
|
# (see Serializable#initialize)
|
56
56
|
def initialize(opts={})
|
57
|
-
@subset_hash =
|
57
|
+
@subset_hash = Hash.new {|hash, key| hash[key] = FileGroupDifferenceSubset.new(:change => key.to_s)}
|
58
58
|
super(opts)
|
59
59
|
end
|
60
60
|
|
@@ -220,9 +220,9 @@ module Moab
|
|
220
220
|
|
221
221
|
# @api internal
|
222
222
|
# @param matching_signatures [Array<FileSignature>] The file signature of the file manifestations being compared
|
223
|
-
# @param basis_signature_hash [
|
223
|
+
# @param basis_signature_hash [Hash<FileSignature, FileManifestation>]
|
224
224
|
# Signature to file path mapping from the file group that is the basis of the comparison
|
225
|
-
# @param other_signature_hash [
|
225
|
+
# @param other_signature_hash [Hash<FileSignature, FileManifestation>]
|
226
226
|
# Signature to file path mapping from the file group that is the being compared to the basis group
|
227
227
|
# @return [FileGroupDifference]
|
228
228
|
# Container for reporting the set of file-level differences of type 'identical'
|
@@ -245,9 +245,9 @@ module Moab
|
|
245
245
|
|
246
246
|
# @api internal
|
247
247
|
# @param matching_signatures [Array<FileSignature>] The file signature of the file manifestations being compared
|
248
|
-
# @param basis_signature_hash [
|
248
|
+
# @param basis_signature_hash [Hash<FileSignature, FileManifestation>]
|
249
249
|
# Signature to file path mapping from the file group that is the basis of the comparison
|
250
|
-
# @param other_signature_hash [
|
250
|
+
# @param other_signature_hash [Hash<FileSignature, FileManifestation>]
|
251
251
|
# Signature to file path mapping from the file group that is the being compared to the basis group
|
252
252
|
# @return [FileGroupDifference]
|
253
253
|
# Container for reporting the set of file-level differences of type 'renamed','copyadded', or 'copydeleted'
|
@@ -280,9 +280,9 @@ module Moab
|
|
280
280
|
|
281
281
|
|
282
282
|
# @api internal
|
283
|
-
# @param basis_path_hash [
|
283
|
+
# @param basis_path_hash [Hash<String,FileSignature>]
|
284
284
|
# The file paths and associated signatures for manifestations appearing only in the basis group
|
285
|
-
# @param other_path_hash [
|
285
|
+
# @param other_path_hash [Hash<String,FileSignature>]
|
286
286
|
# The file paths and associated signatures for manifestations appearing only in the other group
|
287
287
|
# @return [FileGroupDifference]
|
288
288
|
# Container for reporting the set of file-level differences of type 'modified'
|
@@ -299,9 +299,9 @@ module Moab
|
|
299
299
|
end
|
300
300
|
|
301
301
|
# @api internal
|
302
|
-
# @param basis_path_hash [
|
302
|
+
# @param basis_path_hash [Hash<String,FileSignature>]
|
303
303
|
# The file paths and associated signatures for manifestations appearing only in the basis group
|
304
|
-
# @param other_path_hash [
|
304
|
+
# @param other_path_hash [Hash<String,FileSignature>]
|
305
305
|
# The file paths and associated signatures for manifestations appearing only in the other group
|
306
306
|
# @return [FileGroupDifference]
|
307
307
|
# Container for reporting the set of file-level differences of type 'added'
|
@@ -317,9 +317,9 @@ module Moab
|
|
317
317
|
end
|
318
318
|
|
319
319
|
# @api internal
|
320
|
-
# @param basis_path_hash [
|
320
|
+
# @param basis_path_hash [Hash<String,FileSignature>]
|
321
321
|
# The file paths and associated signatures for manifestations appearing only in the basis group
|
322
|
-
# @param other_path_hash [
|
322
|
+
# @param other_path_hash [Hash<String,FileSignature>]
|
323
323
|
# The file paths and associated signatures for manifestations appearing only in the other group
|
324
324
|
# @return [FileGroupDifference]
|
325
325
|
# Container for reporting the set of file-level differences of type 'deleted'
|
data/lib/moab/file_inventory.rb
CHANGED
@@ -212,7 +212,7 @@ module Moab
|
|
212
212
|
checksum_types.each do |type|
|
213
213
|
manifest_pathname[type] = bag_pathname.join("manifest-#{type.to_s}.txt")
|
214
214
|
end
|
215
|
-
signatures =
|
215
|
+
signatures = Hash.new { |hash,path| hash[path] = FileSignature.new }
|
216
216
|
checksum_types.each do |type|
|
217
217
|
if manifest_pathname[type].exist?
|
218
218
|
manifest_pathname[type].each_line do |line|
|
data/lib/moab/file_signature.rb
CHANGED
@@ -85,7 +85,7 @@ module Moab
|
|
85
85
|
|
86
86
|
# @return [Hash<Symbol,String>] A hash of the checksum data
|
87
87
|
def checksums
|
88
|
-
checksum_hash =
|
88
|
+
checksum_hash = Hash.new
|
89
89
|
checksum_hash[:md5] = @md5
|
90
90
|
checksum_hash[:sha1] = @sha1
|
91
91
|
checksum_hash[:sha256] = @sha256
|
@@ -101,7 +101,7 @@ module Moab
|
|
101
101
|
# @api internal
|
102
102
|
# @return [Hash<Symbol,String>] A hash of fixity data from this signataure object
|
103
103
|
def fixity
|
104
|
-
fixity_hash =
|
104
|
+
fixity_hash = Hash.new
|
105
105
|
fixity_hash[:size] = @size.to_s
|
106
106
|
fixity_hash.merge!(checksums)
|
107
107
|
fixity_hash
|
@@ -177,7 +177,7 @@ module Moab
|
|
177
177
|
|
178
178
|
# @return [Hash<Symbol,String>] Key is type (e.g. :sha1), value is checksum names (e.g. ['SHA-1', 'SHA1'])
|
179
179
|
def FileSignature.checksum_names_for_type
|
180
|
-
names_for_type =
|
180
|
+
names_for_type = Hash.new
|
181
181
|
names_for_type[:md5] = ['MD5']
|
182
182
|
names_for_type[:sha1] = ['SHA-1', 'SHA1']
|
183
183
|
names_for_type[:sha256] = ['SHA-256', 'SHA256']
|
@@ -186,7 +186,7 @@ module Moab
|
|
186
186
|
|
187
187
|
# @return [Hash<String, Symbol>] Key is checksum name (e.g. MD5), value is checksum type (e.g. :md5)
|
188
188
|
def FileSignature.checksum_type_for_name
|
189
|
-
type_for_name =
|
189
|
+
type_for_name = Hash.new
|
190
190
|
self.checksum_names_for_type.each do |type, names|
|
191
191
|
names.each do |name|
|
192
192
|
type_for_name[name] = type
|
@@ -34,7 +34,7 @@ module Moab
|
|
34
34
|
# (see Serializable#initialize)
|
35
35
|
def initialize(opts={})
|
36
36
|
@entries = Array.new
|
37
|
-
@signature_hash =
|
37
|
+
@signature_hash = Hash.new
|
38
38
|
super(opts)
|
39
39
|
end
|
40
40
|
|
@@ -103,7 +103,7 @@ module Moab
|
|
103
103
|
end
|
104
104
|
end
|
105
105
|
|
106
|
-
# @return [
|
106
|
+
# @return [Hash] An index having {FileSignature} objects as keys and {SignatureCatalogEntry} objects as values
|
107
107
|
attr_accessor :signature_hash
|
108
108
|
|
109
109
|
# @api internal
|
@@ -192,4 +192,4 @@ module Moab
|
|
192
192
|
|
193
193
|
end
|
194
194
|
|
195
|
-
end
|
195
|
+
end
|
data/lib/moab/storage_object.rb
CHANGED
@@ -154,6 +154,7 @@ module Moab
|
|
154
154
|
# @return [Integer] The identifier of the latest version of this object, or 0 if no versions exist
|
155
155
|
def current_version_id
|
156
156
|
return @current_version_id unless @current_version_id.nil?
|
157
|
+
#@current_version_id = self.version_id_list.last || 0
|
157
158
|
list = self.version_id_list
|
158
159
|
version_id = list.empty? ? 0 : list.last
|
159
160
|
@current_version_id = version_id
|
@@ -41,6 +41,7 @@ module Moab
|
|
41
41
|
# @return [VerificationResult] The result of evaluating the expression
|
42
42
|
def self.verify_truth(entity,expression,details=nil)
|
43
43
|
result = VerificationResult.new(entity.to_s)
|
44
|
+
# TODO: add expression.empty?
|
44
45
|
result.verified = !(expression.nil? or (expression == false))
|
45
46
|
result.details = details
|
46
47
|
result
|
@@ -54,9 +55,9 @@ module Moab
|
|
54
55
|
|
55
56
|
# @param verbose [Boolean] If true, always provide all details of the verification
|
56
57
|
# @param level [Integer] Used to test the depth of recursion
|
57
|
-
# @return [
|
58
|
+
# @return [Hash] The verification result serialized to a hash
|
58
59
|
def to_hash(verbose=false,level=0)
|
59
|
-
hash =
|
60
|
+
hash = Hash.new
|
60
61
|
hash['verified'] = @verified
|
61
62
|
if (verbose or @verified == false)
|
62
63
|
hash['details'] = @details ? @details : subentities_to_hash(verbose,level)
|
@@ -70,9 +71,9 @@ module Moab
|
|
70
71
|
|
71
72
|
# @param verbose [Boolean] If true, always provide all details of the verification
|
72
73
|
# @param level [Integer] Used to increment the depth of recursion
|
73
|
-
# @return [
|
74
|
+
# @return [Hash] The verification result of subentities serialized to a hash
|
74
75
|
def subentities_to_hash(verbose,level)
|
75
|
-
hash =
|
76
|
+
hash = Hash.new
|
76
77
|
@subentities.each do |s|
|
77
78
|
hash[s.entity] = s.to_hash(verbose, level+1)
|
78
79
|
end
|
data/lib/serializer.rb
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
# * <b>{Serializable} = utility methods to faciliate serialization to Hash, JSON, or YAML</b>
|
8
8
|
# * {Manifest} = adds methods for marshalling/unmarshalling data to a persistent XML file format
|
9
9
|
#
|
10
|
-
# @see https://github.com/
|
10
|
+
# @see https://github.com/dam5s/happymapper
|
11
11
|
# @note Copyright (c) 2012 by The Board of Trustees of the Leland Stanford Junior University.
|
12
12
|
# All rights reserved. See {file:LICENSE.rdoc} for details.
|
13
13
|
module Serializer
|
@@ -15,15 +15,9 @@ end
|
|
15
15
|
|
16
16
|
require 'nokogiri'
|
17
17
|
require 'happymapper'
|
18
|
-
if RUBY_VERSION < '1.9'
|
19
|
-
require 'hashery/ordered_hash'
|
20
|
-
include Hashery
|
21
|
-
else
|
22
|
-
require 'psych'
|
23
|
-
OrderedHash = Hash
|
24
|
-
end
|
25
18
|
require 'json'
|
26
|
-
require '
|
19
|
+
require 'psych'
|
20
|
+
#require 'json/pure'
|
27
21
|
require 'pathname'
|
28
22
|
require 'fileutils'
|
29
23
|
require 'time'
|
data/lib/serializer/manifest.rb
CHANGED
@@ -58,7 +58,11 @@ module Serializer
|
|
58
58
|
# @return [void] Serializize the in-memory object to a xml file instance
|
59
59
|
def self.write_xml_file(xml_object, parent_dir, filename=nil)
|
60
60
|
parent_dir.mkpath
|
61
|
-
self.xml_pathname(parent_dir, filename).open('w')
|
61
|
+
self.xml_pathname(parent_dir, filename).open('w') do |f|
|
62
|
+
xmlBuilder = Nokogiri::XML::Builder.new(:encoding => 'UTF-8')
|
63
|
+
xmlBuilder = xml_object.to_xml(xmlBuilder)
|
64
|
+
f << xmlBuilder.to_xml
|
65
|
+
end
|
62
66
|
nil
|
63
67
|
end
|
64
68
|
|
@@ -77,11 +77,11 @@ module Serializer
|
|
77
77
|
|
78
78
|
# @api internal
|
79
79
|
# @param array [Array] The array to be converted to a hash
|
80
|
-
# @return [
|
80
|
+
# @return [Hash] Generate a hash from an array of objects.
|
81
81
|
# If the array member has a field tagged as a key, that field will be used as the hash.key.
|
82
82
|
# Otherwise the index position of the array member will be used as the key
|
83
83
|
def array_to_hash(array,summary=false)
|
84
|
-
item_hash =
|
84
|
+
item_hash = Hash.new
|
85
85
|
array.each_index do |index|
|
86
86
|
item = array[index]
|
87
87
|
ikey = (item.respond_to?(:key) && item.key) ? item.key : index
|
@@ -91,13 +91,13 @@ module Serializer
|
|
91
91
|
end
|
92
92
|
|
93
93
|
# @api internal
|
94
|
-
# @return [
|
94
|
+
# @return [Hash] Recursively generate an Hash containing the object's properties
|
95
95
|
# @param summary [Boolean] Controls the depth and detail of recursion
|
96
96
|
def to_hash(summary=false)
|
97
|
-
oh =
|
97
|
+
oh = Hash.new
|
98
98
|
vars = summary ? variables.select{|v| summary_fields.include?(v.name)} : variables
|
99
99
|
vars.each do |variable|
|
100
|
-
key = variable.
|
100
|
+
key = variable.name.to_s
|
101
101
|
value = self.send(variable.name)
|
102
102
|
case value
|
103
103
|
when Array
|
@@ -111,14 +111,14 @@ module Serializer
|
|
111
111
|
oh
|
112
112
|
end
|
113
113
|
|
114
|
-
# @return [
|
114
|
+
# @return [Hash] Calls to_hash(summary=true)
|
115
115
|
def summary
|
116
116
|
self.to_hash(summary=true)
|
117
117
|
end
|
118
118
|
|
119
119
|
# @api internal
|
120
120
|
# @param other [Serializable] The other object being compared
|
121
|
-
# @return [
|
121
|
+
# @return [Hash] Generate a hash containing the differences between two objects of the same type
|
122
122
|
def diff(other)
|
123
123
|
raise "Cannot compare different classes" if self.class != other.class
|
124
124
|
left = other.to_hash
|
@@ -135,11 +135,11 @@ module Serializer
|
|
135
135
|
|
136
136
|
# @api internal
|
137
137
|
# @param hashes [Array<Hash>] The hashes to be compared, with optional name tags
|
138
|
-
# @return [
|
138
|
+
# @return [Hash] Generate a hash containing the differences between two hashes
|
139
139
|
# (recursively descend parallel trees of hashes)
|
140
140
|
# @see https://gist.github.com/146844
|
141
141
|
def Serializable.deep_diff(*hashes)
|
142
|
-
diff =
|
142
|
+
diff = Hash.new
|
143
143
|
case hashes.length
|
144
144
|
when 4
|
145
145
|
ltag, left, rtag, right = hashes
|
@@ -153,7 +153,7 @@ module Serializer
|
|
153
153
|
if left[k].is_a?(Hash) && right[k].is_a?(Hash)
|
154
154
|
diff[k] = deep_diff(ltag, left[k], rtag, right[k])
|
155
155
|
else
|
156
|
-
diff[k] =
|
156
|
+
diff[k] = Hash.[](ltag, left[k], rtag, right[k])
|
157
157
|
end
|
158
158
|
end
|
159
159
|
end
|
@@ -175,4 +175,4 @@ module Serializer
|
|
175
175
|
|
176
176
|
end
|
177
177
|
|
178
|
-
end
|
178
|
+
end
|
@@ -205,7 +205,7 @@ module Stanford
|
|
205
205
|
# @return [void] update the file's checksum elements if data missing, raise exception if inconsistent
|
206
206
|
def remediate_checksum_nodes(file_node, signature)
|
207
207
|
# collect <checksum> elements for checksum types that are already present
|
208
|
-
checksum_nodes =
|
208
|
+
checksum_nodes = Hash.new
|
209
209
|
file_node.xpath('checksum').each do |checksum_node|
|
210
210
|
type = @type_for_name[checksum_node['type']]
|
211
211
|
checksum_nodes[type] = checksum_node
|
@@ -233,4 +233,4 @@ module Stanford
|
|
233
233
|
|
234
234
|
end
|
235
235
|
|
236
|
-
end
|
236
|
+
end
|
@@ -1,6 +1,5 @@
|
|
1
1
|
#$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
|
2
2
|
require 'rubygems'
|
3
|
-
require 'hashery/orderedhash'
|
4
3
|
require 'pathname'
|
5
4
|
require 'yard'
|
6
5
|
include YARD
|
@@ -45,7 +44,7 @@ class ApiClass
|
|
45
44
|
def initialize(class_name)
|
46
45
|
@class_name = class_name
|
47
46
|
@yard_class = @@class_hash[class_name]
|
48
|
-
if yard_class.nil?
|
47
|
+
if @yard_class.nil?
|
49
48
|
raise "class_hash[#{class_name}] is Nil"
|
50
49
|
end
|
51
50
|
@mhash = categorize_members(@yard_class)
|
@@ -69,8 +68,8 @@ class ApiClass
|
|
69
68
|
|
70
69
|
def categorize_members(yard_class)
|
71
70
|
mhash = {
|
72
|
-
:class_attributes =>
|
73
|
-
:instance_attributes =>
|
71
|
+
:class_attributes => Hash.new,
|
72
|
+
:instance_attributes => Hash.new,
|
74
73
|
:class_methods => Array.new,
|
75
74
|
:instance_methods => Array.new
|
76
75
|
}
|
@@ -254,7 +253,7 @@ class ApiClass
|
|
254
253
|
end
|
255
254
|
|
256
255
|
def confluence_translate(input)
|
257
|
-
map =
|
256
|
+
map = Hash.new
|
258
257
|
map[/\|/] = "\\|"
|
259
258
|
map[/====/] = "h4. "
|
260
259
|
map[/\*/] = "\\*"
|
data/lib/tools/spec_generator.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'rubygems'
|
2
|
-
require 'hashery/orderedhash' if RUBY_VERSION < '1.9'
|
3
2
|
require 'pathname'
|
4
3
|
require 'yard'
|
5
4
|
include YARD
|
@@ -90,8 +89,8 @@ class SpecGenerator
|
|
90
89
|
# @param cls [CodeObjects::ClassObject]
|
91
90
|
def categorize_members(cls)
|
92
91
|
mhash = {
|
93
|
-
:class_attributes =>
|
94
|
-
:instance_attributes =>
|
92
|
+
:class_attributes => Hash.new,
|
93
|
+
:instance_attributes => Hash.new,
|
95
94
|
:class_methods => Array.new,
|
96
95
|
:instance_methods => Array.new
|
97
96
|
}
|
@@ -168,7 +167,7 @@ class SpecGenerator
|
|
168
167
|
if p.name == 'opts'
|
169
168
|
output " "
|
170
169
|
output "# test initialization with options hash"
|
171
|
-
output "opts =
|
170
|
+
output "opts = Hash.new"
|
172
171
|
attribute_name_type_pairs(mhash).each do |name, type|
|
173
172
|
output "opts[:#{name}] = #{value_for(name, type)}"
|
174
173
|
end
|
@@ -363,7 +362,7 @@ class SpecGenerator
|
|
363
362
|
case type[0]
|
364
363
|
when 'Array'
|
365
364
|
"[#{value_for(name, type[1])}]"
|
366
|
-
when 'Hash'
|
365
|
+
when 'Hash'
|
367
366
|
key, value = type[1].split(/[,]/)
|
368
367
|
"{#{value_for(name, key)} => #{value_for(name, value)}}"
|
369
368
|
else
|
@@ -376,7 +375,7 @@ class SpecGenerator
|
|
376
375
|
end
|
377
376
|
|
378
377
|
def attribute_arrays_and_hashes(mhash)
|
379
|
-
arrays_and_hashes =
|
378
|
+
arrays_and_hashes = Hash.new
|
380
379
|
attribute_name_type_pairs(mhash).each do |name, type|
|
381
380
|
if type.include?('Array')
|
382
381
|
arrays_and_hashes[name] = 'Array'
|
@@ -388,7 +387,7 @@ class SpecGenerator
|
|
388
387
|
end
|
389
388
|
|
390
389
|
def attribute_name_type_pairs(mhash)
|
391
|
-
pairs =
|
390
|
+
pairs = Hash.new
|
392
391
|
mhash[:instance_attributes].values.each do |attribute|
|
393
392
|
read = attribute[:read]
|
394
393
|
return_tag = read.docstring.tag(:return)
|
metadata
CHANGED
@@ -1,16 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: moab-versioning
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
+
- Darren Weber
|
7
8
|
- Richard Anderson
|
8
9
|
- Lynn McRae
|
9
10
|
- Hannah Frost
|
10
11
|
autorequire:
|
11
12
|
bindir: bin
|
12
13
|
cert_chain: []
|
13
|
-
date: 2014-
|
14
|
+
date: 2014-10-31 00:00:00.000000000 Z
|
14
15
|
dependencies:
|
15
16
|
- !ruby/object:Gem::Dependency
|
16
17
|
name: confstruct
|
@@ -41,21 +42,7 @@ dependencies:
|
|
41
42
|
- !ruby/object:Gem::Version
|
42
43
|
version: '0'
|
43
44
|
- !ruby/object:Gem::Dependency
|
44
|
-
name:
|
45
|
-
requirement: !ruby/object:Gem::Requirement
|
46
|
-
requirements:
|
47
|
-
- - ">="
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version: 2.0.0
|
50
|
-
type: :runtime
|
51
|
-
prerelease: false
|
52
|
-
version_requirements: !ruby/object:Gem::Requirement
|
53
|
-
requirements:
|
54
|
-
- - ">="
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version: 2.0.0
|
57
|
-
- !ruby/object:Gem::Dependency
|
58
|
-
name: json_pure
|
45
|
+
name: nokogiri-happymapper
|
59
46
|
requirement: !ruby/object:Gem::Requirement
|
60
47
|
requirements:
|
61
48
|
- - ">="
|
@@ -69,7 +56,7 @@ dependencies:
|
|
69
56
|
- !ruby/object:Gem::Version
|
70
57
|
version: '0'
|
71
58
|
- !ruby/object:Gem::Dependency
|
72
|
-
name:
|
59
|
+
name: json
|
73
60
|
requirement: !ruby/object:Gem::Requirement
|
74
61
|
requirements:
|
75
62
|
- - ">="
|
@@ -114,30 +101,30 @@ dependencies:
|
|
114
101
|
name: equivalent-xml
|
115
102
|
requirement: !ruby/object:Gem::Requirement
|
116
103
|
requirements:
|
117
|
-
- -
|
104
|
+
- - ">="
|
118
105
|
- !ruby/object:Gem::Version
|
119
|
-
version: 0
|
106
|
+
version: '0'
|
120
107
|
type: :development
|
121
108
|
prerelease: false
|
122
109
|
version_requirements: !ruby/object:Gem::Requirement
|
123
110
|
requirements:
|
124
|
-
- -
|
111
|
+
- - ">="
|
125
112
|
- !ruby/object:Gem::Version
|
126
|
-
version: 0
|
113
|
+
version: '0'
|
127
114
|
- !ruby/object:Gem::Dependency
|
128
115
|
name: rake
|
129
116
|
requirement: !ruby/object:Gem::Requirement
|
130
117
|
requirements:
|
131
118
|
- - ">="
|
132
119
|
- !ruby/object:Gem::Version
|
133
|
-
version: 0
|
120
|
+
version: '0'
|
134
121
|
type: :development
|
135
122
|
prerelease: false
|
136
123
|
version_requirements: !ruby/object:Gem::Requirement
|
137
124
|
requirements:
|
138
125
|
- - ">="
|
139
126
|
- !ruby/object:Gem::Version
|
140
|
-
version: 0
|
127
|
+
version: '0'
|
141
128
|
- !ruby/object:Gem::Dependency
|
142
129
|
name: rdoc
|
143
130
|
requirement: !ruby/object:Gem::Requirement
|
@@ -158,14 +145,14 @@ dependencies:
|
|
158
145
|
requirements:
|
159
146
|
- - "<"
|
160
147
|
- !ruby/object:Gem::Version
|
161
|
-
version:
|
148
|
+
version: 3.0.0
|
162
149
|
type: :development
|
163
150
|
prerelease: false
|
164
151
|
version_requirements: !ruby/object:Gem::Requirement
|
165
152
|
requirements:
|
166
153
|
- - "<"
|
167
154
|
- !ruby/object:Gem::Version
|
168
|
-
version:
|
155
|
+
version: 3.0.0
|
169
156
|
- !ruby/object:Gem::Dependency
|
170
157
|
name: yard
|
171
158
|
requirement: !ruby/object:Gem::Requirement
|
@@ -180,9 +167,23 @@ dependencies:
|
|
180
167
|
- - ">="
|
181
168
|
- !ruby/object:Gem::Version
|
182
169
|
version: '0'
|
170
|
+
- !ruby/object:Gem::Dependency
|
171
|
+
name: pry
|
172
|
+
requirement: !ruby/object:Gem::Requirement
|
173
|
+
requirements:
|
174
|
+
- - ">="
|
175
|
+
- !ruby/object:Gem::Version
|
176
|
+
version: '0'
|
177
|
+
type: :development
|
178
|
+
prerelease: false
|
179
|
+
version_requirements: !ruby/object:Gem::Requirement
|
180
|
+
requirements:
|
181
|
+
- - ">="
|
182
|
+
- !ruby/object:Gem::Version
|
183
|
+
version: '0'
|
183
184
|
description: Contains classes to process digital object version content and metadata
|
184
185
|
email:
|
185
|
-
-
|
186
|
+
- darren.weber@stanford.edu
|
186
187
|
executables: []
|
187
188
|
extensions: []
|
188
189
|
extra_rdoc_files: []
|
@@ -224,8 +225,9 @@ files:
|
|
224
225
|
- lib/tools/api_doc_generator.rb
|
225
226
|
- lib/tools/spec_generator.rb
|
226
227
|
- lib/tools/spec_generator_old.rb
|
227
|
-
homepage:
|
228
|
-
licenses:
|
228
|
+
homepage: https://github.com/sul-dlss/moab-versioning
|
229
|
+
licenses:
|
230
|
+
- Apache-2.0
|
229
231
|
metadata: {}
|
230
232
|
post_install_message:
|
231
233
|
rdoc_options: []
|
@@ -243,7 +245,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
243
245
|
version: 1.3.6
|
244
246
|
requirements: []
|
245
247
|
rubyforge_project:
|
246
|
-
rubygems_version: 2.
|
248
|
+
rubygems_version: 2.4.2
|
247
249
|
signing_key:
|
248
250
|
specification_version: 4
|
249
251
|
summary: Ruby implmentation of digital object versioning toolkit used by the SULAIR
|