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: 1f3ebbd73ebefa0ab6879e1c931ba1e910d57cc3
4
- data.tar.gz: 9f3e8bffeb4f9a856436ab3eeb14fc845481613e
3
+ metadata.gz: 391408142f61cbfc8e7a066c9679201590b6280f
4
+ data.tar.gz: aadb6192c4be35d014b382f527cee72ead010413
5
5
  SHA512:
6
- metadata.gz: 9f3dbba63bb918a6ba656116f3d04336ba738b1f7af4928bff84eb538c665d3d09fcefc4760e15b4331ac9404827197e4c4f87c3a5005b23cb18591071c6c37f
7
- data.tar.gz: be2a203b103986dc7ed68f03c6f2de2770be7719fc932c74bbfaa88de0c79033e7ca0b1cc9dff8c5020e77c68e9b6f7f75c69b0d20d29d65b6b5f1fbf67ea26f
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 options[:multiple]
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: !options[:multiple])
125
+ datastream.merge(unique: !multiple?)
122
126
  else
123
127
  {
124
128
  to: datastream,
125
- unique: !options[:multiple]
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
 
@@ -1,5 +1,5 @@
1
1
  module ActiveFedora
2
2
  module RegisteredAttributes
3
- VERSION = "0.0.2"
3
+ VERSION = "0.0.3"
4
4
  end
5
5
  end
@@ -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.2
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-19 00:00:00.000000000 Z
11
+ date: 2013-07-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active-fedora