rubydora 0.4.1 → 0.5.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.
- data/Gemfile +1 -0
- data/History.textile +2 -0
- data/VERSION +1 -1
- data/lib/rubydora.rb +1 -1
- data/lib/rubydora/datastream.rb +14 -7
- data/lib/rubydora/repository.rb +1 -0
- data/spec/lib/datastream_spec.rb +151 -112
- data/spec/lib/digital_object_spec.rb +6 -2
- data/spec/lib/integration_test_spec.rb +14 -0
- metadata +187 -132
data/Gemfile
CHANGED
data/History.textile
ADDED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.5.0
|
data/lib/rubydora.rb
CHANGED
data/lib/rubydora/datastream.rb
CHANGED
@@ -16,7 +16,7 @@ module Rubydora
|
|
16
16
|
|
17
17
|
# mapping datastream attributes (and api parameters) to datastream profile names
|
18
18
|
DS_ATTRIBUTES = {:controlGroup => :dsControlGroup, :dsLocation => :dsLocation, :altIDs => nil, :dsLabel => :dsLabel, :versionable => :dsVersionable, :dsState => :dsState, :formatURI => :dsFormatURI, :checksumType => :dsChecksumType, :checksum => :dsChecksum, :mimeType => :dsMIME, :logMessage => nil, :ignoreContent => nil, :lastModifiedDate => nil, :content => nil, :asOfDateTime => nil}
|
19
|
-
DS_DEFAULT_ATTRIBUTES = { :controlGroup => 'M', :dsState => 'A', :
|
19
|
+
DS_DEFAULT_ATTRIBUTES = { :controlGroup => 'M', :dsState => 'A', :versionable => true }
|
20
20
|
|
21
21
|
define_attribute_methods DS_ATTRIBUTES.keys
|
22
22
|
|
@@ -41,6 +41,10 @@ module Rubydora
|
|
41
41
|
@#{attribute} || profile['#{attribute.to_s}'] || DS_DEFAULT_ATTRIBUTES[:#{attribute}]
|
42
42
|
end
|
43
43
|
}
|
44
|
+
|
45
|
+
def dsChecksumValid
|
46
|
+
profile['dsChecksumValid']
|
47
|
+
end
|
44
48
|
end
|
45
49
|
|
46
50
|
|
@@ -76,12 +80,12 @@ module Rubydora
|
|
76
80
|
# @param [Hash] default attribute values (used esp. for creating new datastreams)
|
77
81
|
def initialize digital_object, dsid, options = {}
|
78
82
|
_run_initialize_callbacks do
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
83
|
+
@digital_object = digital_object
|
84
|
+
@dsid = dsid
|
85
|
+
@options = options
|
86
|
+
options.each do |key, value|
|
87
|
+
self.send(:"#{key}=", value)
|
88
|
+
end
|
85
89
|
end
|
86
90
|
end
|
87
91
|
|
@@ -141,6 +145,7 @@ module Rubydora
|
|
141
145
|
@profile ||= begin
|
142
146
|
options = { :pid => pid, :dsid => dsid }
|
143
147
|
options[:asOfDateTime] = asOfDateTime if asOfDateTime
|
148
|
+
options[:validateChecksum] = true if repository.config[:validateChecksum]
|
144
149
|
profile_xml ||= repository.datastream(options)
|
145
150
|
self.profile_xml_to_hash(profile_xml)
|
146
151
|
|
@@ -164,6 +169,8 @@ module Rubydora
|
|
164
169
|
|
165
170
|
h['dsSize'] &&= h['dsSize'].to_i rescue h['dsSize']
|
166
171
|
h['dsCreateDate'] &&= Time.parse(h['dsCreateDate']) rescue h['dsCreateDate']
|
172
|
+
h['dsChecksumValid'] &&= h['dsChecksumValid'] == 'true'
|
173
|
+
|
167
174
|
|
168
175
|
h
|
169
176
|
end
|
data/lib/rubydora/repository.rb
CHANGED
data/spec/lib/datastream_spec.rb
CHANGED
@@ -2,7 +2,7 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Rubydora::Datastream do
|
4
4
|
before do
|
5
|
-
@mock_repository = mock(Rubydora::Repository)
|
5
|
+
@mock_repository = mock(Rubydora::Repository, :config=>{:validateChecksum=>true})
|
6
6
|
@mock_object = mock(Rubydora::DigitalObject)
|
7
7
|
@mock_object.stub(:repository => @mock_repository, :pid => 'pid')
|
8
8
|
end
|
@@ -25,7 +25,6 @@ describe Rubydora::Datastream do
|
|
25
25
|
it "should have default values" do
|
26
26
|
@datastream.controlGroup == "M"
|
27
27
|
@datastream.dsState.should == "A"
|
28
|
-
@datastream.checksumType.should == "DISABLED"
|
29
28
|
@datastream.versionable.should == true
|
30
29
|
@datastream.changed.should be_empty
|
31
30
|
end
|
@@ -43,6 +42,37 @@ describe Rubydora::Datastream do
|
|
43
42
|
end
|
44
43
|
end
|
45
44
|
|
45
|
+
describe 'dsChecksumValid' do
|
46
|
+
before(:each) do
|
47
|
+
@datastream = Rubydora::Datastream.new @mock_object, 'dsid'
|
48
|
+
end
|
49
|
+
it "should be nil when it hasn't been set" do
|
50
|
+
@mock_repository.should_receive(:datastream).any_number_of_times.and_return <<-XML
|
51
|
+
<datastreamProfile>
|
52
|
+
</datastreamProfile>
|
53
|
+
XML
|
54
|
+
@datastream.dsChecksumValid.should be_nil
|
55
|
+
end
|
56
|
+
|
57
|
+
it "should be true when it's returned as true" do
|
58
|
+
@mock_repository.should_receive(:datastream).any_number_of_times.and_return <<-XML
|
59
|
+
<datastreamProfile>
|
60
|
+
<dsChecksumValid>true</dsChecksumValid>
|
61
|
+
</datastreamProfile>
|
62
|
+
XML
|
63
|
+
@datastream.dsChecksumValid.should be_true
|
64
|
+
end
|
65
|
+
|
66
|
+
it "should be false when it's returned as false" do
|
67
|
+
@mock_repository.should_receive(:datastream).any_number_of_times.and_return <<-XML
|
68
|
+
<datastreamProfile>
|
69
|
+
<dsChecksumValid>false</dsChecksumValid>
|
70
|
+
</datastreamProfile>
|
71
|
+
XML
|
72
|
+
@datastream.dsChecksumValid.should be_false
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
46
76
|
describe "retrieve" do
|
47
77
|
before(:each) do
|
48
78
|
@datastream = Rubydora::Datastream.new @mock_object, 'dsid'
|
@@ -50,6 +80,7 @@ describe Rubydora::Datastream do
|
|
50
80
|
<datastreamProfile>
|
51
81
|
<dsLocation>some:uri</dsLocation>
|
52
82
|
<dsLabel>label</dsLabel>
|
83
|
+
<dsChecksumValid>true</dsChecksumValid>
|
53
84
|
</datastreamProfile>
|
54
85
|
XML
|
55
86
|
end
|
@@ -62,6 +93,7 @@ describe Rubydora::Datastream do
|
|
62
93
|
it "should provide attribute defaults from dsProfile" do
|
63
94
|
@datastream.dsLocation.should == 'some:uri'
|
64
95
|
@datastream.dsLabel.should == 'label'
|
96
|
+
@datastream.dsChecksumValid.should be true
|
65
97
|
end
|
66
98
|
|
67
99
|
it "should mediate access to datastream contents" do
|
@@ -196,145 +228,154 @@ describe Rubydora::Datastream do
|
|
196
228
|
)
|
197
229
|
end
|
198
230
|
|
199
|
-
|
200
|
-
|
231
|
+
shared_examples "a datastream attribute" do
|
232
|
+
subject { Rubydora::Datastream.new @mock_object, 'dsid' }
|
201
233
|
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
234
|
+
describe "getter" do
|
235
|
+
it "should return the value" do
|
236
|
+
subject.instance_variable_set("@#{method}", 'asdf')
|
237
|
+
subject.send(method).should == 'asdf'
|
238
|
+
end
|
239
|
+
|
240
|
+
it "should look in the object profile" do
|
241
|
+
subject.should_receive(:profile) { { Rubydora::Datastream::DS_ATTRIBUTES[method.to_sym].to_s => 'qwerty' } }
|
242
|
+
subject.send(method).should == 'qwerty'
|
243
|
+
end
|
207
244
|
|
208
|
-
|
209
|
-
|
210
|
-
|
245
|
+
it "should fall-back to the set of default attributes" do
|
246
|
+
Rubydora::Datastream::DS_DEFAULT_ATTRIBUTES.should_receive(:[]).with(method.to_sym) { 'zxcv'}
|
247
|
+
subject.send(method).should == 'zxcv'
|
248
|
+
end
|
211
249
|
end
|
212
250
|
|
213
|
-
|
214
|
-
|
215
|
-
|
251
|
+
describe "setter" do
|
252
|
+
before do
|
253
|
+
subject.stub(:datastreams => [])
|
254
|
+
end
|
255
|
+
it "should mark the object as changed after setting" do
|
256
|
+
subject.send("#{method}=", 'new_value')
|
257
|
+
subject.should be_changed
|
258
|
+
end
|
259
|
+
|
260
|
+
it "should not mark the object as changed if the value does not change" do
|
261
|
+
subject.should_receive(method) { 'zxcv' }
|
262
|
+
subject.send("#{method}=", 'zxcv')
|
263
|
+
end
|
264
|
+
|
265
|
+
it "should appear in the save request" do
|
266
|
+
@mock_repository.should_receive(:modify_datastream).with(hash_including(method.to_sym => 'new_value'))
|
267
|
+
subject.send("#{method}=", 'new_value')
|
268
|
+
subject.save
|
269
|
+
end
|
216
270
|
end
|
217
271
|
end
|
218
272
|
|
219
|
-
|
220
|
-
|
221
|
-
subject.stub(:datastreams => [])
|
222
|
-
end
|
223
|
-
it "should mark the object as changed after setting" do
|
224
|
-
subject.send("#{method}=", 'new_value')
|
225
|
-
subject.should be_changed
|
226
|
-
end
|
273
|
+
shared_examples "a read-only datastream attribute" do
|
274
|
+
subject { Rubydora::Datastream.new @mock_object, 'dsid' }
|
227
275
|
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
end
|
234
|
-
end
|
276
|
+
describe "getter" do
|
277
|
+
it "should return the value" do
|
278
|
+
subject.instance_variable_set("@#{method}", 'asdf')
|
279
|
+
subject.send(method).should == 'asdf'
|
280
|
+
end
|
235
281
|
|
236
|
-
|
237
|
-
|
282
|
+
it "should look in the object profile" do
|
283
|
+
subject.should_receive(:profile) { { method => 'qwerty' } }
|
284
|
+
subject.send(method).should == 'qwerty'
|
285
|
+
end
|
238
286
|
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
287
|
+
it "should fall-back to the set of default attributes" do
|
288
|
+
Rubydora::Datastream::DS_DEFAULT_ATTRIBUTES.should_receive(:[]).with(method.to_sym) { 'zxcv'}
|
289
|
+
subject.send(method).should == 'zxcv'
|
290
|
+
end
|
243
291
|
end
|
244
292
|
|
245
|
-
|
246
|
-
subject.should_receive(:profile) { { method => 'qwerty' } }
|
247
|
-
subject.send(method).should == 'qwerty'
|
248
|
-
end
|
293
|
+
end
|
249
294
|
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
end
|
295
|
+
describe "#controlGroup" do
|
296
|
+
it_behaves_like "a datastream attribute"
|
297
|
+
let(:method) { 'controlGroup' }
|
254
298
|
end
|
255
299
|
|
256
|
-
|
300
|
+
describe "#dsLocation" do
|
301
|
+
it_behaves_like "a datastream attribute"
|
302
|
+
let(:method) { 'dsLocation' }
|
303
|
+
end
|
257
304
|
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
305
|
+
describe "#altIDs" do
|
306
|
+
it_behaves_like "a datastream attribute"
|
307
|
+
let(:method) { 'altIDs' }
|
308
|
+
end
|
262
309
|
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
310
|
+
describe "#dsLabel" do
|
311
|
+
it_behaves_like "a datastream attribute"
|
312
|
+
let(:method) { 'dsLabel' }
|
313
|
+
end
|
267
314
|
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
315
|
+
describe "#versionable" do
|
316
|
+
it_behaves_like "a datastream attribute"
|
317
|
+
let(:method) { 'versionable' }
|
318
|
+
end
|
272
319
|
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
320
|
+
describe "#dsState" do
|
321
|
+
it_behaves_like "a datastream attribute"
|
322
|
+
let(:method) { 'dsState' }
|
323
|
+
end
|
277
324
|
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
325
|
+
describe "#formatURI" do
|
326
|
+
it_behaves_like "a datastream attribute"
|
327
|
+
let(:method) { 'formatURI' }
|
328
|
+
end
|
282
329
|
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
330
|
+
describe "#checksumType" do
|
331
|
+
it_behaves_like "a datastream attribute"
|
332
|
+
let(:method) { 'checksumType' }
|
333
|
+
end
|
287
334
|
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
335
|
+
describe "#checksum" do
|
336
|
+
it_behaves_like "a datastream attribute"
|
337
|
+
let(:method) { 'checksum' }
|
338
|
+
end
|
292
339
|
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
340
|
+
describe "#mimeType" do
|
341
|
+
it_behaves_like "a datastream attribute"
|
342
|
+
let(:method) { 'mimeType' }
|
343
|
+
end
|
297
344
|
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
345
|
+
describe "#logMessage" do
|
346
|
+
it_behaves_like "a datastream attribute"
|
347
|
+
let(:method) { 'logMessage' }
|
348
|
+
end
|
302
349
|
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
350
|
+
describe "#ignoreContent" do
|
351
|
+
it_behaves_like "a datastream attribute"
|
352
|
+
let(:method) { 'ignoreContent' }
|
353
|
+
end
|
307
354
|
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
355
|
+
describe "#lastModifiedDate" do
|
356
|
+
it_behaves_like "a datastream attribute"
|
357
|
+
let(:method) { 'lastModifiedDate' }
|
358
|
+
end
|
312
359
|
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
360
|
+
describe "#dsCreateDate" do
|
361
|
+
it_behaves_like "a read-only datastream attribute"
|
362
|
+
let(:method) { 'dsCreateDate' }
|
363
|
+
end
|
317
364
|
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
365
|
+
describe "#dsSize" do
|
366
|
+
it_behaves_like "a read-only datastream attribute"
|
367
|
+
let(:method) { 'dsSize' }
|
368
|
+
end
|
322
369
|
|
323
|
-
|
324
|
-
|
325
|
-
|
370
|
+
describe "#dsVersionID" do
|
371
|
+
it_behaves_like "a read-only datastream attribute"
|
372
|
+
let(:method) { 'dsVersionID' }
|
373
|
+
end
|
326
374
|
end
|
327
375
|
|
328
|
-
describe "
|
329
|
-
it_behaves_like "a read-only datastream attribute"
|
330
|
-
let(:method) { 'dsSize' }
|
331
|
-
end
|
376
|
+
describe "profile" do
|
332
377
|
|
333
|
-
describe "#dsVersionID" do
|
334
|
-
it_behaves_like "a read-only datastream attribute"
|
335
|
-
let(:method) { 'dsVersionID' }
|
336
378
|
end
|
337
|
-
end
|
338
379
|
|
339
380
|
describe "to_api_params" do
|
340
381
|
|
@@ -361,13 +402,11 @@ end
|
|
361
402
|
@datastream.stub(:profile) { {} }
|
362
403
|
end
|
363
404
|
it "should compile parameters to hash" do
|
364
|
-
@datastream.send(:to_api_params).should == {:
|
365
|
-
:controlGroup=>"M", :dsState=>"A"}
|
405
|
+
@datastream.send(:to_api_params).should == {:versionable=>true, :controlGroup=>"M", :dsState=>"A"}
|
366
406
|
end
|
367
407
|
it "should not send parameters that are set to nil" do
|
368
408
|
@datastream.dsLabel = nil
|
369
|
-
@datastream.send(:to_api_params).should == {:
|
370
|
-
:controlGroup=>"M", :dsState=>"A"}
|
409
|
+
@datastream.send(:to_api_params).should == {:versionable=>true, :controlGroup=>"M", :dsState=>"A"}
|
371
410
|
end
|
372
411
|
end
|
373
412
|
end
|
@@ -2,8 +2,7 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Rubydora::DigitalObject do
|
4
4
|
before do
|
5
|
-
@mock_repository = mock(Rubydora::Repository)
|
6
|
-
|
5
|
+
@mock_repository = mock(Rubydora::Repository, :config=>{})
|
7
6
|
end
|
8
7
|
describe "new" do
|
9
8
|
it "should load a DigitalObject instance" do
|
@@ -384,6 +383,11 @@ describe Rubydora::DigitalObject do
|
|
384
383
|
subject.should be_changed
|
385
384
|
end
|
386
385
|
|
386
|
+
it "should not mark the object as changed if the value does not change" do
|
387
|
+
subject.should_receive(method) { 'zxcv' }
|
388
|
+
subject.send("#{method}=", 'zxcv')
|
389
|
+
end
|
390
|
+
|
387
391
|
it "should appear in the save request" do
|
388
392
|
@mock_repository.should_receive(:ingest).with(hash_including(method.to_sym => 'new_value'))
|
389
393
|
subject.send("#{method}=", 'new_value')
|
@@ -273,6 +273,20 @@ describe "Integration testing against a live Fedora repository", :integration =>
|
|
273
273
|
|
274
274
|
end
|
275
275
|
|
276
|
+
it "should not destroy content when datastream properties are changed" do
|
277
|
+
obj = @repository.find('test:1')
|
278
|
+
obj.datastreams["my_ds"].content = "XXX"
|
279
|
+
obj.datastreams["my_ds"].mimeType = "text/plain"
|
280
|
+
obj.save
|
281
|
+
|
282
|
+
obj = @repository.find('test:1')
|
283
|
+
obj.datastreams["my_ds"].mimeType = 'application/json'
|
284
|
+
obj.save
|
285
|
+
|
286
|
+
obj = @repository.find('test:1')
|
287
|
+
obj.datastreams["my_ds"].content.should == "XXX"
|
288
|
+
end
|
289
|
+
|
276
290
|
|
277
291
|
after(:all) do
|
278
292
|
@repository.find('test:1').delete rescue nil
|
metadata
CHANGED
@@ -1,169 +1,220 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubydora
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 11
|
5
5
|
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 5
|
9
|
+
- 0
|
10
|
+
version: 0.5.0
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- Chris Beer
|
9
14
|
autorequire:
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
+
|
18
|
+
date: 2012-01-24 00:00:00 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
17
22
|
none: false
|
18
|
-
requirements:
|
19
|
-
- -
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
hash: 3
|
27
|
+
segments:
|
28
|
+
- 0
|
29
|
+
version: "0"
|
30
|
+
prerelease: false
|
31
|
+
requirement: *id001
|
22
32
|
type: :runtime
|
33
|
+
name: fastercsv
|
34
|
+
- !ruby/object:Gem::Dependency
|
35
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
36
|
+
none: false
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
hash: 3
|
41
|
+
segments:
|
42
|
+
- 0
|
43
|
+
version: "0"
|
23
44
|
prerelease: false
|
24
|
-
|
25
|
-
|
45
|
+
requirement: *id002
|
46
|
+
type: :runtime
|
26
47
|
name: rest-client
|
27
|
-
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
28
50
|
none: false
|
29
|
-
requirements:
|
30
|
-
- -
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
|
33
|
-
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
hash: 3
|
55
|
+
segments:
|
56
|
+
- 0
|
57
|
+
version: "0"
|
34
58
|
prerelease: false
|
35
|
-
|
36
|
-
|
59
|
+
requirement: *id003
|
60
|
+
type: :runtime
|
37
61
|
name: nokogiri
|
38
|
-
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
39
64
|
none: false
|
40
|
-
requirements:
|
41
|
-
- -
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
|
44
|
-
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
hash: 3
|
69
|
+
segments:
|
70
|
+
- 0
|
71
|
+
version: "0"
|
45
72
|
prerelease: false
|
46
|
-
|
47
|
-
|
73
|
+
requirement: *id004
|
74
|
+
type: :runtime
|
48
75
|
name: mime-types
|
49
|
-
|
76
|
+
- !ruby/object:Gem::Dependency
|
77
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
50
78
|
none: false
|
51
|
-
requirements:
|
52
|
-
- -
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
|
55
|
-
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
hash: 3
|
83
|
+
segments:
|
84
|
+
- 0
|
85
|
+
version: "0"
|
56
86
|
prerelease: false
|
57
|
-
|
58
|
-
|
87
|
+
requirement: *id005
|
88
|
+
type: :runtime
|
59
89
|
name: activesupport
|
60
|
-
|
90
|
+
- !ruby/object:Gem::Dependency
|
91
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
61
92
|
none: false
|
62
|
-
requirements:
|
63
|
-
- -
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
-
|
66
|
-
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
hash: 3
|
97
|
+
segments:
|
98
|
+
- 0
|
99
|
+
version: "0"
|
67
100
|
prerelease: false
|
68
|
-
|
69
|
-
|
101
|
+
requirement: *id006
|
102
|
+
type: :runtime
|
70
103
|
name: activemodel
|
71
|
-
|
104
|
+
- !ruby/object:Gem::Dependency
|
105
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
72
106
|
none: false
|
73
|
-
requirements:
|
74
|
-
- -
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
|
77
|
-
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
hash: 3
|
111
|
+
segments:
|
112
|
+
- 0
|
113
|
+
version: "0"
|
78
114
|
prerelease: false
|
79
|
-
|
80
|
-
|
115
|
+
requirement: *id007
|
116
|
+
type: :runtime
|
81
117
|
name: savon
|
82
|
-
|
118
|
+
- !ruby/object:Gem::Dependency
|
119
|
+
version_requirements: &id008 !ruby/object:Gem::Requirement
|
83
120
|
none: false
|
84
|
-
requirements:
|
85
|
-
- -
|
86
|
-
- !ruby/object:Gem::Version
|
87
|
-
|
88
|
-
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
hash: 3
|
125
|
+
segments:
|
126
|
+
- 0
|
127
|
+
version: "0"
|
89
128
|
prerelease: false
|
90
|
-
|
91
|
-
|
129
|
+
requirement: *id008
|
130
|
+
type: :development
|
92
131
|
name: rake
|
93
|
-
|
132
|
+
- !ruby/object:Gem::Dependency
|
133
|
+
version_requirements: &id009 !ruby/object:Gem::Requirement
|
94
134
|
none: false
|
95
|
-
requirements:
|
96
|
-
- -
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
|
99
|
-
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
hash: 3
|
139
|
+
segments:
|
140
|
+
- 0
|
141
|
+
version: "0"
|
100
142
|
prerelease: false
|
101
|
-
|
102
|
-
|
143
|
+
requirement: *id009
|
144
|
+
type: :development
|
103
145
|
name: shoulda
|
104
|
-
|
146
|
+
- !ruby/object:Gem::Dependency
|
147
|
+
version_requirements: &id010 !ruby/object:Gem::Requirement
|
105
148
|
none: false
|
106
|
-
requirements:
|
107
|
-
- -
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
|
110
|
-
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
hash: 11
|
153
|
+
segments:
|
154
|
+
- 1
|
155
|
+
- 0
|
156
|
+
- 14
|
157
|
+
version: 1.0.14
|
111
158
|
prerelease: false
|
112
|
-
|
113
|
-
|
159
|
+
requirement: *id010
|
160
|
+
type: :development
|
114
161
|
name: bundler
|
115
|
-
|
162
|
+
- !ruby/object:Gem::Dependency
|
163
|
+
version_requirements: &id011 !ruby/object:Gem::Requirement
|
116
164
|
none: false
|
117
|
-
requirements:
|
118
|
-
- -
|
119
|
-
- !ruby/object:Gem::Version
|
120
|
-
|
121
|
-
|
165
|
+
requirements:
|
166
|
+
- - ">="
|
167
|
+
- !ruby/object:Gem::Version
|
168
|
+
hash: 3
|
169
|
+
segments:
|
170
|
+
- 0
|
171
|
+
version: "0"
|
122
172
|
prerelease: false
|
123
|
-
|
124
|
-
|
173
|
+
requirement: *id011
|
174
|
+
type: :development
|
125
175
|
name: rspec
|
126
|
-
|
176
|
+
- !ruby/object:Gem::Dependency
|
177
|
+
version_requirements: &id012 !ruby/object:Gem::Requirement
|
127
178
|
none: false
|
128
|
-
requirements:
|
129
|
-
- -
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
|
132
|
-
|
179
|
+
requirements:
|
180
|
+
- - ">="
|
181
|
+
- !ruby/object:Gem::Version
|
182
|
+
hash: 3
|
183
|
+
segments:
|
184
|
+
- 0
|
185
|
+
version: "0"
|
133
186
|
prerelease: false
|
134
|
-
|
135
|
-
|
187
|
+
requirement: *id012
|
188
|
+
type: :development
|
136
189
|
name: yard
|
137
|
-
|
190
|
+
- !ruby/object:Gem::Dependency
|
191
|
+
version_requirements: &id013 !ruby/object:Gem::Requirement
|
138
192
|
none: false
|
139
|
-
requirements:
|
140
|
-
- -
|
141
|
-
- !ruby/object:Gem::Version
|
142
|
-
|
143
|
-
|
193
|
+
requirements:
|
194
|
+
- - ">="
|
195
|
+
- !ruby/object:Gem::Version
|
196
|
+
hash: 3
|
197
|
+
segments:
|
198
|
+
- 0
|
199
|
+
version: "0"
|
144
200
|
prerelease: false
|
145
|
-
|
146
|
-
- !ruby/object:Gem::Dependency
|
147
|
-
name: jettywrapper
|
148
|
-
requirement: &70299924196100 !ruby/object:Gem::Requirement
|
149
|
-
none: false
|
150
|
-
requirements:
|
151
|
-
- - ! '>='
|
152
|
-
- !ruby/object:Gem::Version
|
153
|
-
version: '0'
|
201
|
+
requirement: *id013
|
154
202
|
type: :development
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
email:
|
203
|
+
name: jettywrapper
|
204
|
+
description: "Fedora Commons REST API ruby library : REQUIRES FCREPO 3.4+"
|
205
|
+
email:
|
159
206
|
- chris@cbeer.info
|
160
207
|
executables: []
|
208
|
+
|
161
209
|
extensions: []
|
210
|
+
|
162
211
|
extra_rdoc_files: []
|
163
|
-
|
212
|
+
|
213
|
+
files:
|
164
214
|
- .gitignore
|
165
215
|
- .gitmodules
|
166
216
|
- Gemfile
|
217
|
+
- History.textile
|
167
218
|
- LICENSE.txt
|
168
219
|
- README.rdoc
|
169
220
|
- Rakefile
|
@@ -200,35 +251,38 @@ files:
|
|
200
251
|
- spec/spec_helper.rb
|
201
252
|
homepage: http://github.com/cbeer/rubydora
|
202
253
|
licenses: []
|
254
|
+
|
203
255
|
post_install_message:
|
204
256
|
rdoc_options: []
|
205
|
-
|
257
|
+
|
258
|
+
require_paths:
|
206
259
|
- lib
|
207
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
260
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
208
261
|
none: false
|
209
|
-
requirements:
|
210
|
-
- -
|
211
|
-
- !ruby/object:Gem::Version
|
212
|
-
|
213
|
-
segments:
|
262
|
+
requirements:
|
263
|
+
- - ">="
|
264
|
+
- !ruby/object:Gem::Version
|
265
|
+
hash: 3
|
266
|
+
segments:
|
214
267
|
- 0
|
215
|
-
|
216
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
268
|
+
version: "0"
|
269
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
217
270
|
none: false
|
218
|
-
requirements:
|
219
|
-
- -
|
220
|
-
- !ruby/object:Gem::Version
|
221
|
-
|
222
|
-
segments:
|
271
|
+
requirements:
|
272
|
+
- - ">="
|
273
|
+
- !ruby/object:Gem::Version
|
274
|
+
hash: 3
|
275
|
+
segments:
|
223
276
|
- 0
|
224
|
-
|
277
|
+
version: "0"
|
225
278
|
requirements: []
|
279
|
+
|
226
280
|
rubyforge_project:
|
227
|
-
rubygems_version: 1.8.
|
281
|
+
rubygems_version: 1.8.15
|
228
282
|
signing_key:
|
229
283
|
specification_version: 3
|
230
284
|
summary: Fedora Commons REST API ruby library
|
231
|
-
test_files:
|
285
|
+
test_files:
|
232
286
|
- spec/lib/datastream_spec.rb
|
233
287
|
- spec/lib/digital_object_spec.rb
|
234
288
|
- spec/lib/ext_model_loader_spec.rb
|
@@ -240,3 +294,4 @@ test_files:
|
|
240
294
|
- spec/lib/rest_api_client_spec.rb
|
241
295
|
- spec/lib/soap_spec.rb
|
242
296
|
- spec/spec_helper.rb
|
297
|
+
has_rdoc:
|