active_fedora-registered_attributes 0.0.2 → 0.0.3

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.
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