active_fedora-registered_attributes 0.1.0 → 0.2.0
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 +4 -4
- data/.travis.yml +6 -3
- data/Guardfile +1 -1
- data/README.md +1 -0
- data/active_fedora-registered_attributes.gemspec +1 -1
- data/lib/active_fedora/registered_attributes.rb +1 -1
- data/lib/active_fedora/registered_attributes/attribute.rb +7 -2
- data/lib/active_fedora/registered_attributes/attribute_registry.rb +12 -6
- data/lib/active_fedora/registered_attributes/version.rb +1 -1
- data/spec/{active_fedora → lib/active_fedora}/registered_attributes/attribute_registry_spec.rb +1 -1
- data/spec/{active_fedora → lib/active_fedora}/registered_attributes/attribute_spec.rb +2 -2
- data/spec/{active_fedora → lib/active_fedora}/registered_attributes_spec.rb +0 -0
- metadata +11 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4dc9320ae00b5cf5bb2128d3d6174300ea078e14
|
4
|
+
data.tar.gz: 669c91334c14819d2c81d2bca307330f9d225b7f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2abaf01c420893621250fc64e6f2de6b8dad920611c72ed17824ccb64821689a6c907371602fc486075e2afd900cb37122176c468380985dff90bc6dd3157889
|
7
|
+
data.tar.gz: 72631225b897f31797a2c1cb3abf1084a473e318a47d6ed79f0bd0bb67f341a3ccd70da18fac29ee8084b918fdd9ac9ec358354e9fc06cc3b01cbc4528fa0ff0
|
data/.travis.yml
CHANGED
@@ -3,10 +3,13 @@ rvm:
|
|
3
3
|
- "1.9.3"
|
4
4
|
- "2.0.0"
|
5
5
|
|
6
|
-
script: "rspec"
|
6
|
+
script: "bundle exec rspec"
|
7
|
+
|
8
|
+
env:
|
9
|
+
global:
|
10
|
+
- NOKOGIRI_USE_SYSTEM_LIBRARIES=true
|
7
11
|
|
8
12
|
notifications:
|
9
13
|
irc: "irc.freenode.org#ndlib"
|
10
14
|
|
11
|
-
|
12
|
-
- gem install bundler
|
15
|
+
cache: bundler
|
data/Guardfile
CHANGED
data/README.md
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# ActiveFedora::RegisteredAttributes
|
2
2
|
|
3
|
+
[](http://badge.fury.io/rb/active_fedora-registered_attributes)
|
3
4
|
[](https://travis-ci.org/projecthydra/active_fedora-registered_attributes)
|
4
5
|
|
5
6
|
An ActiveFedora extension for consolidating the attribute definitions for an object.
|
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.add_dependency "active-fedora", ">= 6.
|
21
|
+
spec.add_dependency "active-fedora", ">= 6.7.0"
|
22
22
|
spec.add_dependency "active_attr", "~> 0.8.2"
|
23
23
|
|
24
24
|
spec.add_development_dependency "bundler", "~> 1.3"
|
@@ -2,6 +2,11 @@ module ActiveFedora
|
|
2
2
|
module RegisteredAttributes
|
3
3
|
class Attribute
|
4
4
|
|
5
|
+
VALID_ATTRIBUTE_OPTIONS = [
|
6
|
+
:default, :displayable, :editable, :form, :datastream, :validates,
|
7
|
+
:multiple, :writer, :reader, :label, :hint, :skip_accessor
|
8
|
+
].freeze
|
9
|
+
|
5
10
|
attr_reader :context_class, :name, :datastream
|
6
11
|
private :context_class
|
7
12
|
|
@@ -40,7 +45,7 @@ module ActiveFedora
|
|
40
45
|
# A supplement to the Attribute's :label
|
41
46
|
def initialize(context_class, name, options = {})
|
42
47
|
@options = options.symbolize_keys
|
43
|
-
@options.assert_valid_keys(
|
48
|
+
@options.assert_valid_keys(VALID_ATTRIBUTE_OPTIONS)
|
44
49
|
@context_class = context_class
|
45
50
|
@datastream = @options.fetch(:datastream, false)
|
46
51
|
@name = name
|
@@ -136,7 +141,7 @@ module ActiveFedora
|
|
136
141
|
datastream.merge(multiple: multiple?)
|
137
142
|
else
|
138
143
|
{
|
139
|
-
|
144
|
+
datastream: datastream,
|
140
145
|
multiple: multiple?
|
141
146
|
}
|
142
147
|
end
|
@@ -20,16 +20,14 @@ module ActiveFedora
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def editable_attributes
|
23
|
-
@editable_attributes ||=
|
24
|
-
|
25
|
-
m
|
23
|
+
@editable_attributes ||= select_matching_attributes { |attribute|
|
24
|
+
attribute.editable?
|
26
25
|
}
|
27
26
|
end
|
28
27
|
|
29
28
|
def displayable_attributes
|
30
|
-
@displayable_attributes ||=
|
31
|
-
|
32
|
-
m
|
29
|
+
@displayable_attributes ||= select_matching_attributes { |attribute|
|
30
|
+
attribute.displayable?
|
33
31
|
}
|
34
32
|
end
|
35
33
|
|
@@ -51,6 +49,14 @@ module ActiveFedora
|
|
51
49
|
rescue KeyError
|
52
50
|
name.to_s.titleize
|
53
51
|
end
|
52
|
+
|
53
|
+
private
|
54
|
+
def select_matching_attributes
|
55
|
+
each_with_object([]) do |(name, attribute),m|
|
56
|
+
m << attribute if yield(attribute)
|
57
|
+
m
|
58
|
+
end
|
59
|
+
end
|
54
60
|
end
|
55
61
|
|
56
62
|
end
|
data/spec/{active_fedora → lib/active_fedora}/registered_attributes/attribute_registry_spec.rb
RENAMED
@@ -5,7 +5,7 @@ describe ActiveFedora::RegisteredAttributes::AttributeRegistry do
|
|
5
5
|
let(:context) { Book }
|
6
6
|
let(:name) { "My Name" }
|
7
7
|
let(:options) { {} }
|
8
|
-
subject {
|
8
|
+
subject { described_class.new(context) }
|
9
9
|
|
10
10
|
describe '#register' do
|
11
11
|
it 'yields an attribute' do
|
@@ -21,7 +21,7 @@ describe ActiveFedora::RegisteredAttributes::Attribute do
|
|
21
21
|
let(:displayable) { true }
|
22
22
|
let(:editable) { true }
|
23
23
|
let(:default_value) { nil }
|
24
|
-
subject {
|
24
|
+
subject { described_class.new(context, field_name, options) }
|
25
25
|
|
26
26
|
describe '#displayable?' do
|
27
27
|
its (:displayable?) { should == displayable }
|
@@ -60,7 +60,7 @@ describe ActiveFedora::RegisteredAttributes::Attribute do
|
|
60
60
|
subject.with_delegation_options {|name,opts|
|
61
61
|
@yielded = true
|
62
62
|
expect(name).to eq(field_name)
|
63
|
-
expect(opts).to eq(
|
63
|
+
expect(opts).to eq(datastream: datastream, multiple: true)
|
64
64
|
}
|
65
65
|
expect(@yielded).to eq(true)
|
66
66
|
end
|
File without changes
|
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.
|
4
|
+
version: 0.2.0
|
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-10-
|
11
|
+
date: 2013-10-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: active-fedora
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 6.
|
19
|
+
version: 6.7.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 6.
|
26
|
+
version: 6.7.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: active_attr
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -102,9 +102,9 @@ files:
|
|
102
102
|
- lib/active_fedora/registered_attributes/attribute.rb
|
103
103
|
- lib/active_fedora/registered_attributes/attribute_registry.rb
|
104
104
|
- lib/active_fedora/registered_attributes/version.rb
|
105
|
-
- spec/active_fedora/registered_attributes/attribute_registry_spec.rb
|
106
|
-
- spec/active_fedora/registered_attributes/attribute_spec.rb
|
107
|
-
- spec/active_fedora/registered_attributes_spec.rb
|
105
|
+
- spec/lib/active_fedora/registered_attributes/attribute_registry_spec.rb
|
106
|
+
- spec/lib/active_fedora/registered_attributes/attribute_spec.rb
|
107
|
+
- spec/lib/active_fedora/registered_attributes_spec.rb
|
108
108
|
- spec/spec_helper.rb
|
109
109
|
- spec/support/book.rb
|
110
110
|
homepage: http://github.com/projecthydra/active_fedora-registered_attributes
|
@@ -127,14 +127,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
127
127
|
version: '0'
|
128
128
|
requirements: []
|
129
129
|
rubyforge_project:
|
130
|
-
rubygems_version: 2.0.
|
130
|
+
rubygems_version: 2.0.3
|
131
131
|
signing_key:
|
132
132
|
specification_version: 4
|
133
133
|
summary: An ActiveFedora extension for registring attributes
|
134
134
|
test_files:
|
135
|
-
- spec/active_fedora/registered_attributes/attribute_registry_spec.rb
|
136
|
-
- spec/active_fedora/registered_attributes/attribute_spec.rb
|
137
|
-
- spec/active_fedora/registered_attributes_spec.rb
|
135
|
+
- spec/lib/active_fedora/registered_attributes/attribute_registry_spec.rb
|
136
|
+
- spec/lib/active_fedora/registered_attributes/attribute_spec.rb
|
137
|
+
- spec/lib/active_fedora/registered_attributes_spec.rb
|
138
138
|
- spec/spec_helper.rb
|
139
139
|
- spec/support/book.rb
|
140
140
|
has_rdoc:
|