ddr-models 1.4.0 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -20,6 +20,8 @@ module Ddr
20
20
 
21
21
  RSpec.describe PermanentIdentification, type: :model do
22
22
 
23
+ before { skip }
24
+
23
25
  before(:all) do
24
26
  class PermanentlyIdentifiable < ActiveFedora::Base
25
27
  include Ddr::Models::Describable
@@ -103,7 +103,6 @@ RSpec.configure do |config|
103
103
  Ddr::Models.configure do |config|
104
104
  config.external_file_store = Dir.mktmpdir
105
105
  config.external_file_subpath_pattern = "--"
106
- config.minter_statefile = Tempfile.new("minter_statefile").path
107
106
  end
108
107
  end
109
108
 
@@ -111,9 +110,6 @@ RSpec.configure do |config|
111
110
  if Ddr::Models.external_file_store && Dir.exist?(Ddr::Models.external_file_store)
112
111
  FileUtils.remove_entry_secure(Ddr::Models.external_file_store)
113
112
  end
114
- if Ddr::Models.minter_statefile && File.exist?(Ddr::Models.minter_statefile)
115
- FileUtils.remove_entry_secure(Ddr::Models.minter_statefile)
116
- end
117
113
  end
118
114
 
119
115
  config.after(:each) do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ddr-models
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Coble
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-12-01 00:00:00.000000000 Z
12
+ date: 2014-12-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -320,8 +320,6 @@ files:
320
320
  - lib/ddr/models/solr_document.rb
321
321
  - lib/ddr/models/version.rb
322
322
  - lib/ddr/notifications.rb
323
- - lib/ddr/services.rb
324
- - lib/ddr/services/id_service.rb
325
323
  - lib/ddr/utils.rb
326
324
  - lib/ddr/workflow.rb
327
325
  - lib/ddr/workflow/workflow_state.rb
@@ -399,7 +397,6 @@ files:
399
397
  - spec/models/target_spec.rb
400
398
  - spec/models/user_spec.rb
401
399
  - spec/services/group_service_spec.rb
402
- - spec/services/id_service_spec.rb
403
400
  - spec/spec_helper.rb
404
401
  - spec/support/shared_examples_for_access_controllables.rb
405
402
  - spec/support/shared_examples_for_associations.rb
@@ -512,7 +509,6 @@ test_files:
512
509
  - spec/models/target_spec.rb
513
510
  - spec/models/user_spec.rb
514
511
  - spec/services/group_service_spec.rb
515
- - spec/services/id_service_spec.rb
516
512
  - spec/spec_helper.rb
517
513
  - spec/support/shared_examples_for_access_controllables.rb
518
514
  - spec/support/shared_examples_for_associations.rb
@@ -1,8 +0,0 @@
1
- module Ddr
2
- module Services
3
- extend ActiveSupport::Autoload
4
-
5
- autoload :IdService
6
-
7
- end
8
- end
@@ -1,50 +0,0 @@
1
- require 'noid'
2
-
3
- module Ddr
4
- module Services
5
- module IdService
6
-
7
- NOID_TEMPLATE = "2.reeddeeddk"
8
-
9
- def self.noid_template
10
- NOID_TEMPLATE
11
- end
12
-
13
- @minter = ::Noid::Minter.new(template: noid_template)
14
- @semaphore = Mutex.new
15
-
16
- def self.valid? noid
17
- @minter.valid? noid
18
- end
19
-
20
- def self.mint
21
- @semaphore.synchronize do
22
- while true
23
- minted = Ddr::Models::MintedId.new(minted_id: self.next_id)
24
- return minted.minted_id if minted.save
25
- end
26
- end
27
- end
28
-
29
- protected
30
-
31
- def self.next_id
32
- noid = ''
33
- File.open(Ddr::Models.minter_statefile, File::RDWR|File::CREAT, 0644) do |f|
34
- f.flock(File::LOCK_EX)
35
- yaml = YAML::load(f.read)
36
- yaml = {template: noid_template} unless yaml
37
- minter = ::Noid::Minter.new(yaml)
38
- noid = minter.mint
39
- f.rewind
40
- yaml = YAML::dump(minter.dump)
41
- f.write yaml
42
- f.flush
43
- f.truncate(f.pos)
44
- end
45
- noid
46
- end
47
-
48
- end
49
- end
50
- end
@@ -1,33 +0,0 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe Ddr::Services::IdService do
4
-
5
- before { FileUtils.rm(Ddr::Models.minter_statefile) if File.exists?(Ddr::Models.minter_statefile)}
6
- after { FileUtils.rm(Ddr::Models.minter_statefile) }
7
-
8
- context "identifier format" do
9
- before { allow(Ddr::Services::IdService).to receive(:noid_template).and_return("x.rddeeddeek") }
10
- it "should mint identifiers of the appropriate format" do
11
- expect(Ddr::Services::IdService.mint).to match(/x\d\d\w\w\d\d\w\w\w/)
12
- end
13
- end
14
-
15
- context "duplicate identifiers" do
16
- before do
17
- allow(Ddr::Services::IdService).to receive(:noid_template).and_return(".rd")
18
- Ddr::Models::MintedId.create(minted_id: '0')
19
- Ddr::Models::MintedId.create(minted_id: '1')
20
- Ddr::Models::MintedId.create(minted_id: '2')
21
- Ddr::Models::MintedId.create(minted_id: '3')
22
- Ddr::Models::MintedId.create(minted_id: '4')
23
- Ddr::Models::MintedId.create(minted_id: '6')
24
- Ddr::Models::MintedId.create(minted_id: '7')
25
- Ddr::Models::MintedId.create(minted_id: '8')
26
- Ddr::Models::MintedId.create(minted_id: '9')
27
- end
28
- it "should not mint an already existing identifier" do
29
- expect(Ddr::Services::IdService.mint).to eq('5')
30
- end
31
- end
32
-
33
- end