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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3ab26b285d7aa330263fb086b0bc280448b9e7b0
4
- data.tar.gz: cbcd41fd1cf8a074c30a1a7c5ff1c48028b8aef6
3
+ metadata.gz: f98bb8113e7148bed0364b4a49a438d70a21ed83
4
+ data.tar.gz: ae8a740d87e58916eb53df0a5bf3897ade3dd7bc
5
5
  SHA512:
6
- metadata.gz: 36d568e724f9b87055c8ac453f64d25b57b0c221d478fce22ef03468b797d6758ed5ca0c571f627993eef923006b1d62a525e8a63f254c0a76a91dfd0914a20a
7
- data.tar.gz: 46403c9ec84143ec5ae66c3ba072a582858d9b493281ff502b208d8c72a30230205b40dd7e5d3e55e87341d3aaabc6674523a139debfe6fd5d1f7d96f4fb8945
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 {|minter|
42
- if minter.remote_service.name.to_s == remote_service_name.to_s
43
- yield(minter.remote_service)
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 mint_if_applicable(remote_service_name, target)
49
- remote_service = configuration.find_remote_service(remote_service_name)
50
- if target.public_send(remote_service.accessor_name).to_i != 0
51
- target.registered_remote_identifier_minters.each do |minter|
52
- minter.call(target) if minter.remote_service == remote_service
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 |minter|
71
- minter.call(target) if minter.remote_service == remote_service
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
@@ -1,5 +1,5 @@
1
1
  module Hydra
2
2
  module RemoteIdentifier
3
- VERSION = "0.3.0"
3
+ VERSION = "0.4.0"
4
4
  end
5
5
  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 '.mint_if_applicable' do
74
+ describe '.requested_remote_identifiers_for' do
75
75
 
76
- it 'does not mint if accessor is not set' do
77
- target.mint_doi = '0'
78
- expect {
79
- Hydra::RemoteIdentifier.mint_if_applicable(:doi, target)
80
- }.to_not change(target, :set_identifier)
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 'mints if accessor is set to non-zero', VCR::SpecSupport.merge(record: :new_episodes, cassette_name: 'doi-integration') do
84
- target.mint_doi = '1'
85
- expect {
86
- Hydra::RemoteIdentifier.mint_if_applicable(:doi, target)
87
- }.to change(target, :set_identifier).from(nil).to(expected_doi)
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hydra-remote_identifier
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Friesen