active_fedora-registered_attributes 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 391408142f61cbfc8e7a066c9679201590b6280f
|
4
|
+
data.tar.gz: aadb6192c4be35d014b382f527cee72ead010413
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1e8ce89fa90924ac1108905f79d1e28a6f6edbd4f2a95cef43aa99d3a051a0284621ace0e83cd19b26dc67d109923f9ac1a1fbad21349e08fb1055ec34b2af68
|
7
|
+
data.tar.gz: 9e419729a17762bf442afb7c54c3f604926415c2c372fd0a0ed1a0a1c9f8269396883f9a9e78516e2cdbe31b25b510c7328b1f481829b597e1ec372ab57a6b79
|
@@ -46,6 +46,10 @@ module ActiveFedora
|
|
46
46
|
@options[:form] ||= {}
|
47
47
|
end
|
48
48
|
|
49
|
+
def multiple?
|
50
|
+
options[:multiple]
|
51
|
+
end
|
52
|
+
|
49
53
|
def displayable?
|
50
54
|
@options.fetch(:displayable, true)
|
51
55
|
end
|
@@ -75,7 +79,7 @@ module ActiveFedora
|
|
75
79
|
options[:form].tap {|hash|
|
76
80
|
hash[:hint] ||= options[:hint] if options[:hint]
|
77
81
|
hash[:label] ||= options[:label] if options[:label]
|
78
|
-
if
|
82
|
+
if multiple?
|
79
83
|
hash[:as] = 'multi_value'
|
80
84
|
hash[:input_html] ||= {}
|
81
85
|
hash[:input_html][:multiple] = 'multiple'
|
@@ -118,22 +122,27 @@ module ActiveFedora
|
|
118
122
|
|
119
123
|
def options_for_delegation
|
120
124
|
if datastream.is_a?(Hash)
|
121
|
-
datastream.merge(unique: !
|
125
|
+
datastream.merge(unique: !multiple?)
|
122
126
|
else
|
123
127
|
{
|
124
128
|
to: datastream,
|
125
|
-
unique: !
|
129
|
+
unique: !multiple?
|
126
130
|
}
|
127
131
|
end
|
128
132
|
end
|
129
133
|
|
130
134
|
def with_writer_method_wrap
|
135
|
+
method_name = "#{name}=".to_sym
|
131
136
|
if writer = options[:writer]
|
132
|
-
method_name = "#{name}=".to_sym
|
133
137
|
proc = writer.respond_to?(:call) ?
|
134
138
|
writer :
|
135
139
|
lambda { |value| send(writer, value) }
|
136
140
|
yield(method_name, proc)
|
141
|
+
elsif multiple?
|
142
|
+
proc = lambda {|values|
|
143
|
+
values.select {|value| value.present? }
|
144
|
+
}
|
145
|
+
yield(method_name, proc)
|
137
146
|
end
|
138
147
|
end
|
139
148
|
|
@@ -145,6 +145,14 @@ describe 'ActiveFedora::RegisteredAttributes' do
|
|
145
145
|
expect(subject.file_names).to eq(values.reverse)
|
146
146
|
end
|
147
147
|
|
148
|
+
it "intercepts blanks and omits them" do
|
149
|
+
values = ['foo.rb', '', 'bar.rb', '']
|
150
|
+
expected_values = ['foo.rb', 'bar.rb']
|
151
|
+
subject.description = values
|
152
|
+
expect(subject.properties.description).to eq(expected_values)
|
153
|
+
expect(subject.description).to eq(expected_values)
|
154
|
+
end
|
155
|
+
|
148
156
|
it "allows for a writer that is a symbol" do
|
149
157
|
values = ['South Bend', 'State College', 'Minneapolis']
|
150
158
|
expected_values = values.dup
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_fedora-registered_attributes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy Friesen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-07-
|
11
|
+
date: 2013-07-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: active-fedora
|