rubydora 0.5.1 → 0.5.2
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/.gitignore +1 -0
- data/History.textile +3 -0
- data/VERSION +1 -1
- data/lib/rubydora/datastream.rb +15 -7
- data/lib/rubydora/rest_api_client.rb +8 -0
- data/spec/lib/datastream_spec.rb +95 -27
- data/spec/lib/rest_api_client_spec.rb +9 -3
- metadata +132 -185
data/.gitignore
CHANGED
data/History.textile
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.2
|
data/lib/rubydora/datastream.rb
CHANGED
@@ -43,7 +43,7 @@ module Rubydora
|
|
43
43
|
}
|
44
44
|
|
45
45
|
def dsChecksumValid
|
46
|
-
profile['dsChecksumValid']
|
46
|
+
profile(:validateChecksum=>true)['dsChecksumValid']
|
47
47
|
end
|
48
48
|
end
|
49
49
|
|
@@ -140,20 +140,27 @@ module Rubydora
|
|
140
140
|
end
|
141
141
|
|
142
142
|
# Retrieve the datastream profile as a hash (and cache it)
|
143
|
+
# @param opts [Hash] :validateChecksum if you want fedora to validate the checksum
|
143
144
|
# @return [Hash] see Fedora #getDatastream documentation for keys
|
144
|
-
def profile
|
145
|
-
@profile
|
145
|
+
def profile opts= {}
|
146
|
+
if @profile && !(opts[:validateChecksum] && !@profile.has_key?('dsChecksumValid'))
|
147
|
+
## Force a recheck of the profile if they've passed :validateChecksum and we don't have dsChecksumValid
|
148
|
+
return @profile
|
149
|
+
end
|
150
|
+
@profile = begin
|
146
151
|
options = { :pid => pid, :dsid => dsid }
|
152
|
+
options.merge!(opts)
|
147
153
|
options[:asOfDateTime] = asOfDateTime if asOfDateTime
|
148
154
|
options[:validateChecksum] = true if repository.config[:validateChecksum]
|
149
|
-
|
150
|
-
self.profile_xml_to_hash(profile_xml)
|
151
|
-
|
155
|
+
self.profile_xml_to_hash(repository.datastream(options))
|
152
156
|
rescue
|
153
157
|
{}
|
154
158
|
end
|
155
159
|
end
|
156
|
-
|
160
|
+
|
161
|
+
def profile= profile_xml
|
162
|
+
@profile = self.profile_xml_to_hash(profile_xml)
|
163
|
+
end
|
157
164
|
|
158
165
|
def profile_xml_to_hash profile_xml
|
159
166
|
profile_xml.gsub! '<datastreamProfile', '<datastreamProfile xmlns="http://www.fedora.info/definitions/1/0/management/"' unless profile_xml =~ /xmlns=/
|
@@ -177,6 +184,7 @@ module Rubydora
|
|
177
184
|
|
178
185
|
def versions
|
179
186
|
versions_xml = repository.datastream_versions(:pid => pid, :dsid => dsid)
|
187
|
+
return [] if versions_xml.nil?
|
180
188
|
versions_xml.gsub! '<datastreamProfile', '<datastreamProfile xmlns="http://www.fedora.info/definitions/1/0/management/"' unless versions_xml =~ /xmlns=/
|
181
189
|
doc = Nokogiri::XML(versions_xml)
|
182
190
|
doc.xpath('//management:datastreamProfile', {'management' => "http://www.fedora.info/definitions/1/0/management/"} ).map do |ds|
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'active_support/core_ext/hash/indifferent_access'
|
2
|
+
|
1
3
|
module Rubydora
|
2
4
|
|
3
5
|
# Provide low-level access to the Fedora Commons REST API
|
@@ -181,6 +183,8 @@ module Rubydora
|
|
181
183
|
# @param [Hash] options
|
182
184
|
# @option options [String] :pid
|
183
185
|
# @option options [String] :dsid
|
186
|
+
# @option options [String] :asOfDateTime
|
187
|
+
# @option options [String] :validateChecksum
|
184
188
|
# @return [String]
|
185
189
|
def datastream options = {}
|
186
190
|
pid = options.delete(:pid)
|
@@ -228,7 +232,11 @@ module Rubydora
|
|
228
232
|
options[:format] ||= 'xml'
|
229
233
|
begin
|
230
234
|
return client[datastream_history_url(pid, dsid, options)].get
|
235
|
+
rescue RestClient::ResourceNotFound => e
|
236
|
+
#404 Resource Not Found: No datastream history could be found. There is no datastream history for the digital object "changeme:1" with datastream ID of "descMetadata
|
237
|
+
return nil
|
231
238
|
rescue => e
|
239
|
+
raise e
|
232
240
|
logger.error e.response
|
233
241
|
logger.flush if logger.respond_to? :flush
|
234
242
|
raise "Error getting versions for datastream #{dsid} for object #{pid}. See logger for details"
|
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, :config=>{
|
5
|
+
@mock_repository = mock(Rubydora::Repository, :config=>{})
|
6
6
|
@mock_object = mock(Rubydora::DigitalObject)
|
7
7
|
@mock_object.stub(:repository => @mock_repository, :pid => 'pid')
|
8
8
|
end
|
@@ -47,7 +47,7 @@ describe Rubydora::Datastream do
|
|
47
47
|
@datastream = Rubydora::Datastream.new @mock_object, 'dsid'
|
48
48
|
end
|
49
49
|
it "should be nil when it hasn't been set" do
|
50
|
-
@mock_repository.should_receive(:datastream).
|
50
|
+
@mock_repository.should_receive(:datastream).with(hash_including(:validateChecksum => true)).and_return <<-XML
|
51
51
|
<datastreamProfile>
|
52
52
|
</datastreamProfile>
|
53
53
|
XML
|
@@ -55,7 +55,7 @@ describe Rubydora::Datastream do
|
|
55
55
|
end
|
56
56
|
|
57
57
|
it "should be true when it's returned as true" do
|
58
|
-
@mock_repository.should_receive(:datastream).
|
58
|
+
@mock_repository.should_receive(:datastream).with(hash_including(:validateChecksum => true)).and_return <<-XML
|
59
59
|
<datastreamProfile>
|
60
60
|
<dsChecksumValid>true</dsChecksumValid>
|
61
61
|
</datastreamProfile>
|
@@ -64,7 +64,7 @@ describe Rubydora::Datastream do
|
|
64
64
|
end
|
65
65
|
|
66
66
|
it "should be false when it's returned as false" do
|
67
|
-
@mock_repository.should_receive(:datastream).
|
67
|
+
@mock_repository.should_receive(:datastream).with(hash_including(:validateChecksum => true)).and_return <<-XML
|
68
68
|
<datastreamProfile>
|
69
69
|
<dsChecksumValid>false</dsChecksumValid>
|
70
70
|
</datastreamProfile>
|
@@ -187,33 +187,46 @@ describe Rubydora::Datastream do
|
|
187
187
|
end
|
188
188
|
|
189
189
|
describe "versions" do
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
<
|
195
|
-
<
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
<
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
190
|
+
describe "when versions are in the repo" do
|
191
|
+
before(:each) do
|
192
|
+
@datastream = Rubydora::Datastream.new @mock_object, 'dsid'
|
193
|
+
@mock_repository.should_receive(:datastream_versions).any_number_of_times.and_return <<-XML
|
194
|
+
<datastreamHistory>
|
195
|
+
<datastreamProfile>
|
196
|
+
<dsVersionID>dsid.1</dsVersionID>
|
197
|
+
<dsCreateDate>2010-01-02T00:00:00.012Z</dsCreateDate>
|
198
|
+
</datastreamProfile>
|
199
|
+
<datastreamProfile>
|
200
|
+
<dsVersionID>dsid.0</dsVersionID>
|
201
|
+
<dsCreateDate>2008-08-05T01:30:05.012Z</dsCreateDate>
|
202
|
+
</datastreamProfile>
|
203
|
+
</datastreamHistory>
|
204
|
+
XML
|
205
|
+
end
|
205
206
|
|
206
|
-
|
207
|
-
|
208
|
-
|
207
|
+
it "should have a list of previous versions" do
|
208
|
+
@datastream.versions.should have(2).items
|
209
|
+
end
|
209
210
|
|
210
|
-
|
211
|
-
|
211
|
+
it "should access versions as read-only copies" do
|
212
|
+
expect { @datastream.versions.first.label = "asdf" }.to raise_error
|
213
|
+
end
|
214
|
+
|
215
|
+
it "should lookup content of datastream using the asOfDateTime parameter" do
|
216
|
+
@mock_repository.should_receive(:datastream_dissemination).with(hash_including(:asOfDateTime => '2008-08-05T01:30:05.012Z'))
|
217
|
+
@datastream.versions.last.content
|
218
|
+
end
|
212
219
|
end
|
220
|
+
describe "when no versions are found" do
|
221
|
+
before(:each) do
|
222
|
+
@datastream = Rubydora::Datastream.new @mock_object, 'dsid'
|
223
|
+
@mock_repository.should_receive(:datastream_versions).any_number_of_times.and_return nil
|
224
|
+
end
|
225
|
+
|
226
|
+
it "should have an emptylist of previous versions" do
|
227
|
+
@datastream.versions.should be_empty
|
228
|
+
end
|
213
229
|
|
214
|
-
it "should lookup content of datastream using the asOfDateTime parameter" do
|
215
|
-
@mock_repository.should_receive(:datastream_dissemination).with(hash_including(:asOfDateTime => '2008-08-05T01:30:05.012Z'))
|
216
|
-
@datastream.versions.last.content
|
217
230
|
end
|
218
231
|
|
219
232
|
end
|
@@ -373,7 +386,62 @@ describe Rubydora::Datastream do
|
|
373
386
|
end
|
374
387
|
end
|
375
388
|
|
389
|
+
describe "profile=" do
|
390
|
+
before(:each) do
|
391
|
+
@datastream = Rubydora::Datastream.new @mock_object, 'dsid'
|
392
|
+
end
|
393
|
+
it "should set the profile" do
|
394
|
+
prof = <<-XML
|
395
|
+
<datastreamProfile>
|
396
|
+
<dsChecksumValid>true</dsChecksumValid>
|
397
|
+
</datastreamProfile>
|
398
|
+
XML
|
399
|
+
@datastream.profile = prof
|
400
|
+
@datastream.profile.should == {'dsChecksumValid' =>true}
|
401
|
+
end
|
402
|
+
end
|
403
|
+
|
376
404
|
describe "profile" do
|
405
|
+
before(:each) do
|
406
|
+
@datastream = Rubydora::Datastream.new @mock_object, 'dsid'
|
407
|
+
end
|
408
|
+
it "should accept a validateChecksum argument" do
|
409
|
+
@mock_repository.should_receive(:datastream).with(hash_including(:validateChecksum => true)).and_return <<-XML
|
410
|
+
<datastreamProfile>
|
411
|
+
<dsChecksumValid>true</dsChecksumValid>
|
412
|
+
</datastreamProfile>
|
413
|
+
XML
|
414
|
+
@datastream.profile(:validateChecksum=>true).should == {'dsChecksumValid' =>true}
|
415
|
+
end
|
416
|
+
describe "once it has a profile" do
|
417
|
+
it "should use the profile from cache" do
|
418
|
+
@mock_repository.should_receive(:datastream).once.and_return <<-XML
|
419
|
+
<datastreamProfile>
|
420
|
+
<dsChecksumValid>true</dsChecksumValid>
|
421
|
+
</datastreamProfile>
|
422
|
+
XML
|
423
|
+
@datastream.profile().should == {'dsChecksumValid' =>true}
|
424
|
+
#second time should not trigger the mock, which demonstrates that the profile is coming from cache.
|
425
|
+
@datastream.profile().should == {'dsChecksumValid' =>true}
|
426
|
+
end
|
427
|
+
it "should re-fetch and replace the profile when validateChecksum is passed in, and there is no dsChecksumValid in the existing profile" do
|
428
|
+
@mock_repository.should_receive(:datastream).once.and_return <<-XML
|
429
|
+
<datastreamProfile>
|
430
|
+
<dsLabel>The description of the content</dsLabel>
|
431
|
+
</datastreamProfile>
|
432
|
+
XML
|
433
|
+
@mock_repository.should_receive(:datastream).with(hash_including(:validateChecksum => true)).once.and_return <<-XML
|
434
|
+
<datastreamProfile>
|
435
|
+
<dsLabel>The description of the content</dsLabel>
|
436
|
+
<dsChecksumValid>true</dsChecksumValid>
|
437
|
+
</datastreamProfile>
|
438
|
+
XML
|
439
|
+
@datastream.profile().should == {"dsLabel"=>"The description of the content"}
|
440
|
+
@datastream.profile(:validateChecksum=>true).should == {"dsLabel"=>"The description of the content", 'dsChecksumValid' =>true}
|
441
|
+
## Third time should not trigger a mock, which demonstrates that the profile is coming from cache.
|
442
|
+
@datastream.profile(:validateChecksum=>true)
|
443
|
+
end
|
444
|
+
end
|
377
445
|
|
378
446
|
end
|
379
447
|
|
@@ -167,9 +167,15 @@ describe Rubydora::RestApiClient do
|
|
167
167
|
@mock_repository.set_datastream_options :pid => 'mypid', :dsid => 'aaa', :aparam => true
|
168
168
|
end
|
169
169
|
|
170
|
-
|
171
|
-
|
172
|
-
|
170
|
+
describe "datastream_versions" do
|
171
|
+
it "should be successful" do
|
172
|
+
RestClient::Request.should_receive(:execute).with(hash_including(:url => "http://example.org/objects/mypid/datastreams/aaa/history?format=xml")).and_return("expected result")
|
173
|
+
@mock_repository.datastream_versions(:pid => 'mypid', :dsid => 'aaa').should == 'expected result'
|
174
|
+
end
|
175
|
+
it "should not break when fedora doesn't have datastream history" do
|
176
|
+
RestClient::Request.should_receive(:execute).with(hash_including(:url => "http://example.org/objects/mypid/datastreams/aaa/history?format=xml")).and_raise(RestClient::ResourceNotFound)
|
177
|
+
@mock_repository.datastream_versions(:pid => 'mypid', :dsid => 'aaa').should be_nil
|
178
|
+
end
|
173
179
|
end
|
174
180
|
|
175
181
|
it "datastream_history" do
|
metadata
CHANGED
@@ -1,216 +1,166 @@
|
|
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
|
+
version: 0.5.2
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 5
|
9
|
-
- 1
|
10
|
-
version: 0.5.1
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Chris Beer
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
- !ruby/object:Gem::Dependency
|
21
|
-
version_requirements: &id001 !ruby/object:Gem::Requirement
|
22
|
-
none: false
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
hash: 3
|
27
|
-
segments:
|
28
|
-
- 0
|
29
|
-
version: "0"
|
30
|
-
prerelease: false
|
31
|
-
requirement: *id001
|
32
|
-
type: :runtime
|
12
|
+
date: 2012-02-06 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
33
15
|
name: fastercsv
|
34
|
-
|
35
|
-
version_requirements: &id002 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &70365343748360 !ruby/object:Gem::Requirement
|
36
17
|
none: false
|
37
|
-
requirements:
|
38
|
-
- -
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
|
41
|
-
segments:
|
42
|
-
- 0
|
43
|
-
version: "0"
|
44
|
-
prerelease: false
|
45
|
-
requirement: *id002
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
46
22
|
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *70365343748360
|
25
|
+
- !ruby/object:Gem::Dependency
|
47
26
|
name: rest-client
|
48
|
-
|
49
|
-
version_requirements: &id003 !ruby/object:Gem::Requirement
|
27
|
+
requirement: &70365343747580 !ruby/object:Gem::Requirement
|
50
28
|
none: false
|
51
|
-
requirements:
|
52
|
-
- -
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
|
55
|
-
segments:
|
56
|
-
- 0
|
57
|
-
version: "0"
|
58
|
-
prerelease: false
|
59
|
-
requirement: *id003
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
60
33
|
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *70365343747580
|
36
|
+
- !ruby/object:Gem::Dependency
|
61
37
|
name: nokogiri
|
62
|
-
|
63
|
-
version_requirements: &id004 !ruby/object:Gem::Requirement
|
38
|
+
requirement: &70365343746620 !ruby/object:Gem::Requirement
|
64
39
|
none: false
|
65
|
-
requirements:
|
66
|
-
- -
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
|
69
|
-
segments:
|
70
|
-
- 0
|
71
|
-
version: "0"
|
72
|
-
prerelease: false
|
73
|
-
requirement: *id004
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
74
44
|
type: :runtime
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *70365343746620
|
47
|
+
- !ruby/object:Gem::Dependency
|
75
48
|
name: mime-types
|
76
|
-
|
77
|
-
version_requirements: &id005 !ruby/object:Gem::Requirement
|
49
|
+
requirement: &70365343776580 !ruby/object:Gem::Requirement
|
78
50
|
none: false
|
79
|
-
requirements:
|
80
|
-
- -
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
|
83
|
-
segments:
|
84
|
-
- 0
|
85
|
-
version: "0"
|
86
|
-
prerelease: false
|
87
|
-
requirement: *id005
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
88
55
|
type: :runtime
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *70365343776580
|
58
|
+
- !ruby/object:Gem::Dependency
|
89
59
|
name: activesupport
|
90
|
-
|
91
|
-
version_requirements: &id006 !ruby/object:Gem::Requirement
|
60
|
+
requirement: &70365343776040 !ruby/object:Gem::Requirement
|
92
61
|
none: false
|
93
|
-
requirements:
|
94
|
-
- -
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
|
97
|
-
segments:
|
98
|
-
- 0
|
99
|
-
version: "0"
|
100
|
-
prerelease: false
|
101
|
-
requirement: *id006
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
102
66
|
type: :runtime
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *70365343776040
|
69
|
+
- !ruby/object:Gem::Dependency
|
103
70
|
name: activemodel
|
104
|
-
|
105
|
-
version_requirements: &id007 !ruby/object:Gem::Requirement
|
71
|
+
requirement: &70365343775300 !ruby/object:Gem::Requirement
|
106
72
|
none: false
|
107
|
-
requirements:
|
108
|
-
- -
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
|
111
|
-
segments:
|
112
|
-
- 0
|
113
|
-
version: "0"
|
114
|
-
prerelease: false
|
115
|
-
requirement: *id007
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
116
77
|
type: :runtime
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: *70365343775300
|
80
|
+
- !ruby/object:Gem::Dependency
|
117
81
|
name: savon
|
118
|
-
|
119
|
-
version_requirements: &id008 !ruby/object:Gem::Requirement
|
82
|
+
requirement: &70365343774660 !ruby/object:Gem::Requirement
|
120
83
|
none: false
|
121
|
-
requirements:
|
122
|
-
- -
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
|
125
|
-
|
126
|
-
- 0
|
127
|
-
version: "0"
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
88
|
+
type: :runtime
|
128
89
|
prerelease: false
|
129
|
-
|
130
|
-
|
90
|
+
version_requirements: *70365343774660
|
91
|
+
- !ruby/object:Gem::Dependency
|
131
92
|
name: rake
|
132
|
-
|
133
|
-
version_requirements: &id009 !ruby/object:Gem::Requirement
|
93
|
+
requirement: &70365343774200 !ruby/object:Gem::Requirement
|
134
94
|
none: false
|
135
|
-
requirements:
|
136
|
-
- -
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
|
139
|
-
segments:
|
140
|
-
- 0
|
141
|
-
version: "0"
|
142
|
-
prerelease: false
|
143
|
-
requirement: *id009
|
95
|
+
requirements:
|
96
|
+
- - ! '>='
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
144
99
|
type: :development
|
100
|
+
prerelease: false
|
101
|
+
version_requirements: *70365343774200
|
102
|
+
- !ruby/object:Gem::Dependency
|
145
103
|
name: shoulda
|
146
|
-
|
147
|
-
version_requirements: &id010 !ruby/object:Gem::Requirement
|
104
|
+
requirement: &70365343773680 !ruby/object:Gem::Requirement
|
148
105
|
none: false
|
149
|
-
requirements:
|
150
|
-
- -
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
|
153
|
-
segments:
|
154
|
-
- 1
|
155
|
-
- 0
|
156
|
-
- 14
|
157
|
-
version: 1.0.14
|
158
|
-
prerelease: false
|
159
|
-
requirement: *id010
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
160
110
|
type: :development
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: *70365343773680
|
113
|
+
- !ruby/object:Gem::Dependency
|
161
114
|
name: bundler
|
162
|
-
|
163
|
-
version_requirements: &id011 !ruby/object:Gem::Requirement
|
115
|
+
requirement: &70365343773080 !ruby/object:Gem::Requirement
|
164
116
|
none: false
|
165
|
-
requirements:
|
166
|
-
- -
|
167
|
-
- !ruby/object:Gem::Version
|
168
|
-
|
169
|
-
segments:
|
170
|
-
- 0
|
171
|
-
version: "0"
|
172
|
-
prerelease: false
|
173
|
-
requirement: *id011
|
117
|
+
requirements:
|
118
|
+
- - ! '>='
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: 1.0.14
|
174
121
|
type: :development
|
122
|
+
prerelease: false
|
123
|
+
version_requirements: *70365343773080
|
124
|
+
- !ruby/object:Gem::Dependency
|
175
125
|
name: rspec
|
176
|
-
|
177
|
-
version_requirements: &id012 !ruby/object:Gem::Requirement
|
126
|
+
requirement: &70365343772660 !ruby/object:Gem::Requirement
|
178
127
|
none: false
|
179
|
-
requirements:
|
180
|
-
- -
|
181
|
-
- !ruby/object:Gem::Version
|
182
|
-
|
183
|
-
segments:
|
184
|
-
- 0
|
185
|
-
version: "0"
|
186
|
-
prerelease: false
|
187
|
-
requirement: *id012
|
128
|
+
requirements:
|
129
|
+
- - ! '>='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
188
132
|
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: *70365343772660
|
135
|
+
- !ruby/object:Gem::Dependency
|
189
136
|
name: yard
|
190
|
-
|
191
|
-
version_requirements: &id013 !ruby/object:Gem::Requirement
|
137
|
+
requirement: &70365343772120 !ruby/object:Gem::Requirement
|
192
138
|
none: false
|
193
|
-
requirements:
|
194
|
-
- -
|
195
|
-
- !ruby/object:Gem::Version
|
196
|
-
|
197
|
-
segments:
|
198
|
-
- 0
|
199
|
-
version: "0"
|
200
|
-
prerelease: false
|
201
|
-
requirement: *id013
|
139
|
+
requirements:
|
140
|
+
- - ! '>='
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: '0'
|
202
143
|
type: :development
|
144
|
+
prerelease: false
|
145
|
+
version_requirements: *70365343772120
|
146
|
+
- !ruby/object:Gem::Dependency
|
203
147
|
name: jettywrapper
|
204
|
-
|
205
|
-
|
148
|
+
requirement: &70365343771420 !ruby/object:Gem::Requirement
|
149
|
+
none: false
|
150
|
+
requirements:
|
151
|
+
- - ! '>='
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: '0'
|
154
|
+
type: :development
|
155
|
+
prerelease: false
|
156
|
+
version_requirements: *70365343771420
|
157
|
+
description: ! 'Fedora Commons REST API ruby library : REQUIRES FCREPO 3.4+'
|
158
|
+
email:
|
206
159
|
- chris@cbeer.info
|
207
160
|
executables: []
|
208
|
-
|
209
161
|
extensions: []
|
210
|
-
|
211
162
|
extra_rdoc_files: []
|
212
|
-
|
213
|
-
files:
|
163
|
+
files:
|
214
164
|
- .gitignore
|
215
165
|
- .gitmodules
|
216
166
|
- Gemfile
|
@@ -251,38 +201,35 @@ files:
|
|
251
201
|
- spec/spec_helper.rb
|
252
202
|
homepage: http://github.com/cbeer/rubydora
|
253
203
|
licenses: []
|
254
|
-
|
255
204
|
post_install_message:
|
256
205
|
rdoc_options: []
|
257
|
-
|
258
|
-
require_paths:
|
206
|
+
require_paths:
|
259
207
|
- lib
|
260
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
208
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
261
209
|
none: false
|
262
|
-
requirements:
|
263
|
-
- -
|
264
|
-
- !ruby/object:Gem::Version
|
265
|
-
|
266
|
-
segments:
|
210
|
+
requirements:
|
211
|
+
- - ! '>='
|
212
|
+
- !ruby/object:Gem::Version
|
213
|
+
version: '0'
|
214
|
+
segments:
|
267
215
|
- 0
|
268
|
-
|
269
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
216
|
+
hash: -1071574168413423455
|
217
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
270
218
|
none: false
|
271
|
-
requirements:
|
272
|
-
- -
|
273
|
-
- !ruby/object:Gem::Version
|
274
|
-
|
275
|
-
segments:
|
219
|
+
requirements:
|
220
|
+
- - ! '>='
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '0'
|
223
|
+
segments:
|
276
224
|
- 0
|
277
|
-
|
225
|
+
hash: -1071574168413423455
|
278
226
|
requirements: []
|
279
|
-
|
280
227
|
rubyforge_project:
|
281
|
-
rubygems_version: 1.8.
|
228
|
+
rubygems_version: 1.8.10
|
282
229
|
signing_key:
|
283
230
|
specification_version: 3
|
284
231
|
summary: Fedora Commons REST API ruby library
|
285
|
-
test_files:
|
232
|
+
test_files:
|
286
233
|
- spec/lib/datastream_spec.rb
|
287
234
|
- spec/lib/digital_object_spec.rb
|
288
235
|
- spec/lib/ext_model_loader_spec.rb
|