hydra-remote_identifier 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/hydra/remote_identifier.rb +10 -10
- data/lib/hydra/remote_identifier/remote_service.rb +0 -8
- data/lib/hydra/remote_identifier/version.rb +1 -1
- data/spec/lib/hydra/remote_identifier/remote_service_spec.rb +0 -14
- data/spec/lib/hydra/remote_identifier_spec.rb +11 -11
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f98bb8113e7148bed0364b4a49a438d70a21ed83
|
4
|
+
data.tar.gz: ae8a740d87e58916eb53df0a5bf3897ade3dd7bc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8c2e8a60049fddab49d180ee6e9f142553f0b113b0669dae6acc9e84ba0e6ae8f9c8427d8840cab30bf08496efe77cb4de0bf169a0b240151c30e5372530e4c7
|
7
|
+
data.tar.gz: 1a354e9bd6b9d793b621c607bf9f0d2eb1c045a94f3cd534f1bd369beb4c19d69a0093047ea279bec8a61afce4c7351280cfbb6502ab4e32d6d81a0b2fb55ffb
|
@@ -38,18 +38,18 @@ module Hydra::RemoteIdentifier
|
|
38
38
|
def with_registered_remote_service(remote_service_name, target)
|
39
39
|
# @TODO - the registered remote identifier is more than a bit off;
|
40
40
|
# but it continues to work
|
41
|
-
target.registered_remote_identifier_minters.each {|
|
42
|
-
if
|
43
|
-
yield(
|
41
|
+
target.registered_remote_identifier_minters.each {|coordinator|
|
42
|
+
if coordinator.remote_service.name.to_s == remote_service_name.to_s
|
43
|
+
yield(coordinator.remote_service)
|
44
44
|
end
|
45
45
|
}
|
46
46
|
end
|
47
47
|
|
48
|
-
def
|
49
|
-
|
50
|
-
|
51
|
-
target.
|
52
|
-
|
48
|
+
def requested_remote_identifiers_for(target)
|
49
|
+
target.registered_remote_identifier_minters.each do |coordinator|
|
50
|
+
remote_service = coordinator.remote_service
|
51
|
+
if target.public_send(remote_service.accessor_name).to_i != 0
|
52
|
+
yield(remote_service.name)
|
53
53
|
end
|
54
54
|
end
|
55
55
|
end
|
@@ -67,8 +67,8 @@ module Hydra::RemoteIdentifier
|
|
67
67
|
def mint(remote_service_name, target)
|
68
68
|
# @TODO - there is a better way to do this but this is "complete/correct"
|
69
69
|
remote_service = configuration.find_remote_service(remote_service_name)
|
70
|
-
target.registered_remote_identifier_minters.each do |
|
71
|
-
|
70
|
+
target.registered_remote_identifier_minters.each do |coordinator|
|
71
|
+
coordinator.call(target) if coordinator.remote_service == remote_service
|
72
72
|
end
|
73
73
|
end
|
74
74
|
|
@@ -12,14 +12,6 @@ module Hydra::RemoteIdentifier
|
|
12
12
|
self.class.to_s.demodulize.underscore.to_sym
|
13
13
|
end
|
14
14
|
|
15
|
-
def mint(target)
|
16
|
-
Hydra::RemoteIdentifier.mint(name, target)
|
17
|
-
end
|
18
|
-
|
19
|
-
def mint_if_applicable(target)
|
20
|
-
Hydra::RemoteIdentifier.mint_if_applicable(name, target)
|
21
|
-
end
|
22
|
-
|
23
15
|
def accessor_name
|
24
16
|
"mint_#{name}".to_sym
|
25
17
|
end
|
@@ -18,20 +18,6 @@ module Hydra::RemoteIdentifier
|
|
18
18
|
it { expect { subject.valid_attribute?(:attribute_name) }.to raise_error NotImplementedError }
|
19
19
|
end
|
20
20
|
|
21
|
-
context '#mint' do
|
22
|
-
it {
|
23
|
-
Hydra::RemoteIdentifier.should_receive(:mint).with(:remote_service, :target)
|
24
|
-
subject.mint(:target)
|
25
|
-
}
|
26
|
-
end
|
27
|
-
|
28
|
-
context '#mint_if_applicable' do
|
29
|
-
it {
|
30
|
-
Hydra::RemoteIdentifier.should_receive(:mint_if_applicable).with(:remote_service, :target)
|
31
|
-
subject.mint_if_applicable(:target)
|
32
|
-
}
|
33
|
-
end
|
34
|
-
|
35
21
|
end
|
36
22
|
|
37
23
|
end
|
@@ -71,20 +71,20 @@ module Hydra::RemoteIdentifier
|
|
71
71
|
|
72
72
|
end
|
73
73
|
|
74
|
-
describe '.
|
74
|
+
describe '.requested_remote_identifiers_for' do
|
75
75
|
|
76
|
-
it '
|
77
|
-
target.mint_doi = '
|
78
|
-
expect {
|
79
|
-
Hydra::RemoteIdentifier.
|
80
|
-
}.
|
76
|
+
it 'should yield when the remote identifier was requested' do
|
77
|
+
target.mint_doi = '1'
|
78
|
+
expect { |block|
|
79
|
+
Hydra::RemoteIdentifier.requested_remote_identifiers_for(target, &block)
|
80
|
+
}.to yield_with_args(:doi)
|
81
81
|
end
|
82
82
|
|
83
|
-
it '
|
84
|
-
target.mint_doi = '
|
85
|
-
expect {
|
86
|
-
Hydra::RemoteIdentifier.
|
87
|
-
}.
|
83
|
+
it 'should not yield when the remote identifier was not requested' do
|
84
|
+
target.mint_doi = '0'
|
85
|
+
expect { |block|
|
86
|
+
Hydra::RemoteIdentifier.requested_remote_identifiers_for(target, &block)
|
87
|
+
}.to_not yield_control
|
88
88
|
end
|
89
89
|
|
90
90
|
end
|