hydra-access-controls 6.4.1 → 6.4.2
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/hydra-access-controls.gemspec +1 -1
- data/lib/hydra/access_controls/permission.rb +6 -1
- data/lib/hydra/admin_policy.rb +4 -4
- data/lib/hydra/datastream/rights_metadata.rb +1 -1
- data/spec/unit/hydra_rights_metadata_spec.rb +5 -0
- data/spec/unit/permission.rb +28 -0
- metadata +7 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d210d30d1d16eaf9fd257ca3e3f4a62ff3366842
|
4
|
+
data.tar.gz: 77eb224f39e50722244cf75fc32c95ad07546208
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 073cfb5759b3d8be62cbf3f27804d66279920de562655a2ad94d89136f74cc9134a334bef828837db602e71680a852b79f9d9c5a5400f91d9f6ac1b986305f0c
|
7
|
+
data.tar.gz: d1e6d9284a74f9776c544060ceb8b401a9f705ad02aabc68d689cad00b0bff4733f403bf01ce16177e5164ff2096ea1fea05f2228d4e66955591aac2845ef30c
|
@@ -19,7 +19,7 @@ Gem::Specification.new do |gem|
|
|
19
19
|
gem.required_ruby_version = '>= 1.9.3'
|
20
20
|
|
21
21
|
gem.add_dependency 'activesupport'
|
22
|
-
gem.add_dependency "active-fedora", '~> 6.
|
22
|
+
gem.add_dependency "active-fedora", '~> 6.7'
|
23
23
|
gem.add_dependency 'cancan'
|
24
24
|
gem.add_dependency 'deprecation'
|
25
25
|
gem.add_dependency 'blacklight', '~> 4.0'
|
@@ -1,5 +1,6 @@
|
|
1
1
|
module Hydra::AccessControls
|
2
2
|
class Permission
|
3
|
+
|
3
4
|
def initialize(args)
|
4
5
|
@vals = {name: args[:name], access: args[:access], type: args[:type]}
|
5
6
|
end
|
@@ -8,8 +9,12 @@ module Hydra::AccessControls
|
|
8
9
|
false
|
9
10
|
end
|
10
11
|
|
12
|
+
def to_hash
|
13
|
+
@vals
|
14
|
+
end
|
15
|
+
|
11
16
|
def [] var
|
12
|
-
|
17
|
+
to_hash[var]
|
13
18
|
end
|
14
19
|
|
15
20
|
def name
|
data/lib/hydra/admin_policy.rb
CHANGED
@@ -14,10 +14,10 @@ class Hydra::AdminPolicy < ActiveFedora::Base
|
|
14
14
|
|
15
15
|
end
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
17
|
+
has_attributes :title, :description, datastream: :descMetadata, multiple: false
|
18
|
+
has_attributes :license_title, datastream: 'rightsMetadata', at: [:license, :title], multiple: false
|
19
|
+
has_attributes :license_description, datastream: 'rightsMetadata', at: [:license, :description], multiple: false
|
20
|
+
has_attributes :license_url, datastream: 'rightsMetadata', at: [:license, :url], multiple: false
|
21
21
|
|
22
22
|
# easy access to edit_groups, etc
|
23
23
|
include Hydra::AccessControls::Permissions
|
@@ -170,7 +170,7 @@ module Hydra
|
|
170
170
|
def embargo_release_date=(release_date)
|
171
171
|
release_date = release_date.to_s if release_date.is_a? Date
|
172
172
|
begin
|
173
|
-
Date.parse(release_date)
|
173
|
+
release_date.nil? || Date.parse(release_date)
|
174
174
|
rescue
|
175
175
|
return "INVALID DATE"
|
176
176
|
end
|
@@ -176,6 +176,11 @@ describe Hydra::Datastream::RightsMetadata do
|
|
176
176
|
it "should only accept valid date values" do
|
177
177
|
|
178
178
|
end
|
179
|
+
it "should accept a nil value after having a date value" do
|
180
|
+
@sample.embargo_release_date=("2010-12-01")
|
181
|
+
@sample.embargo_release_date=(nil)
|
182
|
+
@sample.embargo_release_date.should == nil
|
183
|
+
end
|
179
184
|
end
|
180
185
|
describe "embargo_release_date" do
|
181
186
|
it "should return solr formatted date" do
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Hydra::AccessControls::Permission do
|
4
|
+
describe "hash-like key access" do
|
5
|
+
let(:perm) { described_class.new(type: 'user', name: 'bob', access: 'read') }
|
6
|
+
it "should return values" do
|
7
|
+
perm[:type].should == 'user'
|
8
|
+
perm[:name].should == 'bob'
|
9
|
+
perm[:access].should == 'read'
|
10
|
+
end
|
11
|
+
end
|
12
|
+
describe "#to_hash" do
|
13
|
+
subject { described_class.new(type: 'user', name: 'bob', access: 'read') }
|
14
|
+
its(:to_hash) { should == {type: 'user', name: 'bob', access: 'read'} }
|
15
|
+
end
|
16
|
+
describe "equality comparison" do
|
17
|
+
let(:perm1) { described_class.new(type: 'user', name: 'bob', access: 'read') }
|
18
|
+
let(:perm2) { described_class.new(type: 'user', name: 'bob', access: 'read') }
|
19
|
+
let(:perm3) { described_class.new(type: 'user', name: 'jane', access: 'read') }
|
20
|
+
it "should be equal if all values are equal" do
|
21
|
+
perm1.should == perm2
|
22
|
+
end
|
23
|
+
it "should be unequal if some values are unequal" do
|
24
|
+
perm1.should_not == perm3
|
25
|
+
perm2.should_not == perm3
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hydra-access-controls
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.4.
|
4
|
+
version: 6.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Beer
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2014-05-05 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|
@@ -32,14 +32,14 @@ dependencies:
|
|
32
32
|
requirements:
|
33
33
|
- - ~>
|
34
34
|
- !ruby/object:Gem::Version
|
35
|
-
version: '6.
|
35
|
+
version: '6.7'
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
40
|
- - ~>
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: '6.
|
42
|
+
version: '6.7'
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: cancan
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
@@ -163,6 +163,7 @@ files:
|
|
163
163
|
- spec/unit/hydra_rights_metadata_persistence_spec.rb
|
164
164
|
- spec/unit/hydra_rights_metadata_spec.rb
|
165
165
|
- spec/unit/inheritable_rights_metadata_spec.rb
|
166
|
+
- spec/unit/permission.rb
|
166
167
|
- spec/unit/permissions_spec.rb
|
167
168
|
- spec/unit/policy_aware_ability_spec.rb
|
168
169
|
- spec/unit/policy_aware_access_controls_enforcement_spec.rb
|
@@ -191,7 +192,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
191
192
|
version: '0'
|
192
193
|
requirements: []
|
193
194
|
rubyforge_project:
|
194
|
-
rubygems_version: 2.0.
|
195
|
+
rubygems_version: 2.0.14
|
195
196
|
signing_key:
|
196
197
|
specification_version: 4
|
197
198
|
summary: Access controls for project hydra
|
@@ -212,6 +213,7 @@ test_files:
|
|
212
213
|
- spec/unit/hydra_rights_metadata_persistence_spec.rb
|
213
214
|
- spec/unit/hydra_rights_metadata_spec.rb
|
214
215
|
- spec/unit/inheritable_rights_metadata_spec.rb
|
216
|
+
- spec/unit/permission.rb
|
215
217
|
- spec/unit/permissions_spec.rb
|
216
218
|
- spec/unit/policy_aware_ability_spec.rb
|
217
219
|
- spec/unit/policy_aware_access_controls_enforcement_spec.rb
|