rubydora 0.5.7 → 0.5.8

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.7
1
+ 0.5.8
@@ -180,9 +180,9 @@ module Rubydora
180
180
  sum[node.name] ||= []
181
181
  sum[node.name] << node.text
182
182
  sum
183
- end
184
- h.select { |key, value| value.length == 1 }.each do |key, value|
185
- h[key] = value.first
183
+ end.reject { |key, values| values.empty? }
184
+ h.select { |key, values| values.length == 1 }.each do |key, values|
185
+ h[key] = values.reject { |x| x.empty? }.first
186
186
  end
187
187
 
188
188
  h['dsSize'] &&= h['dsSize'].to_i rescue h['dsSize']
@@ -245,7 +245,7 @@ module Rubydora
245
245
  valid_changed_attributes = changes.keys.map { |x| x.to_sym }.select { |x| DS_ATTRIBUTES.key? x }
246
246
  ## if we don't provide a mimeType, application/octet-stream will be used instead
247
247
  (valid_changed_attributes | [:mimeType]).each do |attribute|
248
- h[attribute] = send(attribute) if send(attribute)
248
+ h[attribute.to_sym] = send(attribute) unless send(attribute).nil?
249
249
  end
250
250
 
251
251
  h
@@ -125,10 +125,11 @@ module Rubydora
125
125
  end
126
126
 
127
127
  sum
128
- end
129
- h.select { |key, value| value.length == 1 }.each do |key, value|
128
+ end.reject { |key, values| values.empty? }
129
+
130
+ h.select { |key, values| values.length == 1 }.each do |key, values|
130
131
  next if key == "objModels"
131
- h[key] = value.first
132
+ h[key] = values.reject { |x| x.empty? }.first
132
133
  end
133
134
  @new = false
134
135
 
@@ -56,7 +56,7 @@ describe Rubydora::Datastream do
56
56
  before(:each) do
57
57
  @datastream = Rubydora::Datastream.new @mock_object, 'dsid'
58
58
  end
59
- it "should be nil when it hasn't been set" do
59
+ it "should be true by default" do
60
60
  @mock_repository.should_receive(:datastream).and_return <<-XML
61
61
  <datastreamProfile>
62
62
  </datastreamProfile>
@@ -33,7 +33,11 @@ describe Rubydora::DigitalObject do
33
33
  h = @object.profile
34
34
 
35
35
  expect { h['asdf'] = 'asdf' }.to raise_error
36
+ end
36
37
 
38
+ it "should return nil for empty profile fields" do
39
+ @mock_repository.should_receive(:object).with(:pid => 'pid').and_return("<objectProfile><a></a></objectProfile>")
40
+ @object.profile['a'].should be_nil
37
41
  end
38
42
  end
39
43
 
@@ -200,6 +200,27 @@ describe "Integration testing against a live Fedora repository", :integration =>
200
200
  versions = obj.datastreams["my_ds"].versions
201
201
  versions.map { |x| x.content }.should include("XXX", "YYY")
202
202
  end
203
+
204
+ it "should allow the user to go from a versioned datastream to an unversioned datastream" do
205
+ obj = @repository.find('test:1')
206
+ versions_count = obj.datastreams["my_ds"].versions.length
207
+
208
+ obj.datastreams["my_ds"].versionable.should be_true
209
+
210
+ obj.datastreams["my_ds"].versionable = false
211
+ obj.datastreams["my_ds"].content = "ZZZ"
212
+ obj.datastreams["my_ds"].save
213
+
214
+ obj.datastreams["my_ds"].content = "111"
215
+ obj.datastreams["my_ds"].save
216
+
217
+ obj.datastreams["my_ds"].content = "222"
218
+ obj.datastreams["my_ds"].save
219
+
220
+ obj = @repository.find('test:1')
221
+ obj.datastreams["my_ds"].versionable.should be_false
222
+ obj.datastreams["my_ds"].versions.length.should == (versions_count + 1)
223
+ end
203
224
  end
204
225
 
205
226
  context "mime types" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubydora
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.7
4
+ version: 0.5.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-14 00:00:00.000000000 Z
12
+ date: 2012-04-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fastercsv
16
- requirement: &70357365893180 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70357365893180
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: rest-client
27
- requirement: &70357365887520 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: '0'
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *70357365887520
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: nokogiri
38
- requirement: &70357365901640 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ! '>='
@@ -43,10 +53,15 @@ dependencies:
43
53
  version: '0'
44
54
  type: :runtime
45
55
  prerelease: false
46
- version_requirements: *70357365901640
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: mime-types
49
- requirement: &70357365901000 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ! '>='
@@ -54,10 +69,15 @@ dependencies:
54
69
  version: '0'
55
70
  type: :runtime
56
71
  prerelease: false
57
- version_requirements: *70357365901000
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: activesupport
60
- requirement: &70357365900400 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
83
  - - ! '>='
@@ -65,10 +85,15 @@ dependencies:
65
85
  version: '0'
66
86
  type: :runtime
67
87
  prerelease: false
68
- version_requirements: *70357365900400
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
69
94
  - !ruby/object:Gem::Dependency
70
95
  name: activemodel
71
- requirement: &70357365899700 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
72
97
  none: false
73
98
  requirements:
74
99
  - - ! '>='
@@ -76,10 +101,15 @@ dependencies:
76
101
  version: '0'
77
102
  type: :runtime
78
103
  prerelease: false
79
- version_requirements: *70357365899700
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
80
110
  - !ruby/object:Gem::Dependency
81
111
  name: savon
82
- requirement: &70357365897940 !ruby/object:Gem::Requirement
112
+ requirement: !ruby/object:Gem::Requirement
83
113
  none: false
84
114
  requirements:
85
115
  - - ! '>='
@@ -87,10 +117,15 @@ dependencies:
87
117
  version: '0'
88
118
  type: :runtime
89
119
  prerelease: false
90
- version_requirements: *70357365897940
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
91
126
  - !ruby/object:Gem::Dependency
92
127
  name: rake
93
- requirement: &70357365895460 !ruby/object:Gem::Requirement
128
+ requirement: !ruby/object:Gem::Requirement
94
129
  none: false
95
130
  requirements:
96
131
  - - ! '>='
@@ -98,10 +133,15 @@ dependencies:
98
133
  version: '0'
99
134
  type: :development
100
135
  prerelease: false
101
- version_requirements: *70357365895460
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
102
142
  - !ruby/object:Gem::Dependency
103
143
  name: shoulda
104
- requirement: &70357365893860 !ruby/object:Gem::Requirement
144
+ requirement: !ruby/object:Gem::Requirement
105
145
  none: false
106
146
  requirements:
107
147
  - - ! '>='
@@ -109,10 +149,15 @@ dependencies:
109
149
  version: '0'
110
150
  type: :development
111
151
  prerelease: false
112
- version_requirements: *70357365893860
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
113
158
  - !ruby/object:Gem::Dependency
114
159
  name: bundler
115
- requirement: &70357365920960 !ruby/object:Gem::Requirement
160
+ requirement: !ruby/object:Gem::Requirement
116
161
  none: false
117
162
  requirements:
118
163
  - - ! '>='
@@ -120,10 +165,15 @@ dependencies:
120
165
  version: 1.0.14
121
166
  type: :development
122
167
  prerelease: false
123
- version_requirements: *70357365920960
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: 1.0.14
124
174
  - !ruby/object:Gem::Dependency
125
175
  name: rspec
126
- requirement: &70357365914820 !ruby/object:Gem::Requirement
176
+ requirement: !ruby/object:Gem::Requirement
127
177
  none: false
128
178
  requirements:
129
179
  - - ! '>='
@@ -131,10 +181,15 @@ dependencies:
131
181
  version: '0'
132
182
  type: :development
133
183
  prerelease: false
134
- version_requirements: *70357365914820
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ! '>='
188
+ - !ruby/object:Gem::Version
189
+ version: '0'
135
190
  - !ruby/object:Gem::Dependency
136
191
  name: yard
137
- requirement: &70357365934120 !ruby/object:Gem::Requirement
192
+ requirement: !ruby/object:Gem::Requirement
138
193
  none: false
139
194
  requirements:
140
195
  - - ! '>='
@@ -142,10 +197,15 @@ dependencies:
142
197
  version: '0'
143
198
  type: :development
144
199
  prerelease: false
145
- version_requirements: *70357365934120
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - ! '>='
204
+ - !ruby/object:Gem::Version
205
+ version: '0'
146
206
  - !ruby/object:Gem::Dependency
147
207
  name: jettywrapper
148
- requirement: &70357365933200 !ruby/object:Gem::Requirement
208
+ requirement: !ruby/object:Gem::Requirement
149
209
  none: false
150
210
  requirements:
151
211
  - - ! '>='
@@ -153,7 +213,12 @@ dependencies:
153
213
  version: '0'
154
214
  type: :development
155
215
  prerelease: false
156
- version_requirements: *70357365933200
216
+ version_requirements: !ruby/object:Gem::Requirement
217
+ none: false
218
+ requirements:
219
+ - - ! '>='
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
157
222
  description: ! 'Fedora Commons REST API ruby library : REQUIRES FCREPO 3.4+'
158
223
  email:
159
224
  - chris@cbeer.info
@@ -213,7 +278,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
213
278
  version: '0'
214
279
  segments:
215
280
  - 0
216
- hash: -4514414545578735851
281
+ hash: -1624989278098246824
217
282
  required_rubygems_version: !ruby/object:Gem::Requirement
218
283
  none: false
219
284
  requirements:
@@ -222,10 +287,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
222
287
  version: '0'
223
288
  segments:
224
289
  - 0
225
- hash: -4514414545578735851
290
+ hash: -1624989278098246824
226
291
  requirements: []
227
292
  rubyforge_project:
228
- rubygems_version: 1.8.15
293
+ rubygems_version: 1.8.21
229
294
  signing_key:
230
295
  specification_version: 3
231
296
  summary: Fedora Commons REST API ruby library