hydra-remote_identifier 0.3.0 → 0.4.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 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