rubydora 0.5.7 → 0.5.8

Sign up to get free protection for your applications and to get access to all the features.
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