hydra-access-controls 6.4.0.rc3 → 6.4.0.rc4
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b88206682c3c647370e3ad2a69f8f6c6966e8be1
|
4
|
+
data.tar.gz: 9e41bdafc97dc0fdf4a537a885562de12dc3ec07
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1b5464365e2272eecad05fa91e5c2038413cb36c770552e609f6a4a556d192922c944bfb97ea7abba1b795b97928cc295d9a22d98c27fa2a7c1ccd7ed388f7d2
|
7
|
+
data.tar.gz: 8053315e645d78d4dc8de1868273cad335b7a2767a9911f0cefce3f9faa60898de4846578411822a4c5839af8388b53568f146560dd94c80eca4503e0c1c1bcd
|
@@ -2,12 +2,18 @@ module Hydra
|
|
2
2
|
module AccessControls
|
3
3
|
module Permissions
|
4
4
|
extend ActiveSupport::Concern
|
5
|
+
extend Deprecation
|
5
6
|
include Hydra::AccessControls::Visibility
|
6
7
|
|
7
8
|
included do
|
8
9
|
has_metadata "rightsMetadata", type: Hydra::Datastream::RightsMetadata
|
9
10
|
end
|
10
11
|
|
12
|
+
# permissions= added for backward compatibility of Hydra::AdminPolicy for hydra-head < 6.4
|
13
|
+
def permissions= attributes_collection
|
14
|
+
Deprecation.warn(Permissions, "The permissions= method is deprecated and will be removed from Hydra::AccessControls::Permissions in hydra-head 7.0", caller)
|
15
|
+
self.permissions_attributes = attributes_collection
|
16
|
+
end
|
11
17
|
|
12
18
|
## Updates those permissions that are provided to it. Does not replace any permissions unless they are provided
|
13
19
|
# @example
|
@@ -9,29 +9,6 @@ module Hydra
|
|
9
9
|
Deprecation.warn(RightsMetadata, "Hydra::ModelMixins::RightsMetadata has been deprecated and will be removed in hydra-head 7.0. Use Hydra::AccessControls::Permissions instead", caller(3));
|
10
10
|
end
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
## Updates those permissions that are provided to it. Does not replace any permissions unless they are provided
|
15
|
-
# @example
|
16
|
-
# obj.permissions= [{:name=>"group1", :access=>"discover", :type=>'group'},
|
17
|
-
# {:name=>"group2", :access=>"discover", :type=>'group'}]
|
18
|
-
def permissions=(params)
|
19
|
-
perm_hash = {'person' => rightsMetadata.individuals, 'group'=> rightsMetadata.groups}
|
20
|
-
|
21
|
-
params.each do |row|
|
22
|
-
if row[:type] == 'user' || row[:type] == 'person'
|
23
|
-
perm_hash['person'][row[:name]] = row[:access]
|
24
|
-
elsif row[:type] == 'group'
|
25
|
-
perm_hash['group'][row[:name]] = row[:access]
|
26
|
-
else
|
27
|
-
raise ArgumentError, "Permission type must be 'user', 'person' (alias for 'user'), or 'group'"
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
rightsMetadata.update_permissions(perm_hash)
|
32
|
-
end
|
33
|
-
|
34
|
-
|
35
12
|
## Returns a list with all the permissions on the object.
|
36
13
|
# @example
|
37
14
|
# [{:name=>"group1", :access=>"discover", :type=>'group'},
|
@@ -111,4 +111,13 @@ describe Hydra::AccessControls::Permissions do
|
|
111
111
|
subject.rightsMetadata.individuals.should == {"person1"=>"read","person2"=>"discover"}
|
112
112
|
end
|
113
113
|
end
|
114
|
+
describe "#permissions=" do
|
115
|
+
it "should behave like #permissions_attributes=" do
|
116
|
+
foo1 = Foo.new
|
117
|
+
foo2 = Foo.new
|
118
|
+
foo1.permissions = [{type: "user", access: "edit", name: "editor"}]
|
119
|
+
foo2.permissions_attributes = [{type: "user", access: "edit", name: "editor"}]
|
120
|
+
foo1.permissions.should == foo2.permissions
|
121
|
+
end
|
122
|
+
end
|
114
123
|
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.0.
|
4
|
+
version: 6.4.0.rc4
|
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: 2013-10-
|
13
|
+
date: 2013-10-04 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|