active_fedora-noid 2.1.0 → 2.2.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 +4 -4
- data/README.md +2 -14
- data/lib/active_fedora/noid.rb +1 -0
- data/lib/active_fedora/noid/model.rb +21 -0
- data/lib/active_fedora/noid/version.rb +1 -1
- data/spec/models/active_fedora/noid/model_spec.rb +22 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b77c4228633cc511a2c5b40bcf7846c5bdb6072a
|
4
|
+
data.tar.gz: 9c55bcce4630ec410ee377aaa3ad850b879a31a4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bc8379b41b735e0ba4836b006d6f53ef7f000c4f186ff2d949042784b7cf2cba4e77cd1c62bc9de7452c5dc306d9ae4cc8ad347a6b4313fa29e3a1aa9d017df0
|
7
|
+
data.tar.gz: e5c79c8c42dab66dffa09ff5f01418177e7d7ec58d73b587434f7add3397f26dc167c38301010223618f7fac9dca3487b3257b1d652f4813c3348b9201ffe56c
|
data/README.md
CHANGED
@@ -63,26 +63,14 @@ noid_service.valid? 'xyz123foobar'
|
|
63
63
|
|
64
64
|
## ActiveFedora integration
|
65
65
|
|
66
|
-
To get ActiveFedora to automatically call your Noid service whenever a new ActiveFedora object is saved,
|
66
|
+
To get ActiveFedora to automatically call your Noid service whenever a new ActiveFedora object is saved, include the `ActiveFedora::Noid::Model`, e.g.:
|
67
67
|
|
68
68
|
```ruby
|
69
69
|
# app/models/my_object.rb
|
70
70
|
require 'active_fedora/noid'
|
71
71
|
|
72
72
|
class MyObject < ActiveFedora::Base
|
73
|
-
|
74
|
-
|
75
|
-
def assign_id
|
76
|
-
noid_service.mint
|
77
|
-
end
|
78
|
-
|
79
|
-
# ...
|
80
|
-
|
81
|
-
private
|
82
|
-
|
83
|
-
def noid_service
|
84
|
-
@noid_service ||= ActiveFedora::Noid::Service.new
|
85
|
-
end
|
73
|
+
include ActiveFedora::Noid::Model
|
86
74
|
end
|
87
75
|
```
|
88
76
|
|
data/lib/active_fedora/noid.rb
CHANGED
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ActiveFedora
|
4
|
+
module Noid
|
5
|
+
# Mix this class into an ActiveFedora:Base model in order to have you new objects
|
6
|
+
# created with a noid id.
|
7
|
+
module Model
|
8
|
+
## This overrides the default behavior, which is to ask Fedora for an id
|
9
|
+
# @see ActiveFedora::Persistence.assign_id
|
10
|
+
def assign_id
|
11
|
+
service.mint
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
def service
|
17
|
+
@service ||= ActiveFedora::Noid::Service.new
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
RSpec.describe ActiveFedora::Noid::Model do
|
5
|
+
let(:sample_class) do
|
6
|
+
Class.new(ActiveFedora::Base) do
|
7
|
+
include ActiveFedora::Noid::Model
|
8
|
+
end
|
9
|
+
end
|
10
|
+
let(:instance) { sample_class.new }
|
11
|
+
let(:service) { instance_double(ActiveFedora::Noid::Service, mint: '1234') }
|
12
|
+
|
13
|
+
before do
|
14
|
+
allow(ActiveFedora::Noid::Service).to receive(:new).and_return(service)
|
15
|
+
end
|
16
|
+
|
17
|
+
describe '#assign_id' do
|
18
|
+
it 'returns the id from the noid service' do
|
19
|
+
expect(instance.assign_id).to eq '1234'
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_fedora-noid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael J. Giarlo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-05-
|
11
|
+
date: 2017-05-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: active-fedora
|
@@ -190,12 +190,14 @@ files:
|
|
190
190
|
- lib/active_fedora/noid/minter/base.rb
|
191
191
|
- lib/active_fedora/noid/minter/db.rb
|
192
192
|
- lib/active_fedora/noid/minter/file.rb
|
193
|
+
- lib/active_fedora/noid/model.rb
|
193
194
|
- lib/active_fedora/noid/rspec.rb
|
194
195
|
- lib/active_fedora/noid/service.rb
|
195
196
|
- lib/active_fedora/noid/version.rb
|
196
197
|
- lib/generators/active_fedora/noid/install_generator.rb
|
197
198
|
- lib/generators/active_fedora/noid/seed_generator.rb
|
198
199
|
- lib/tasks/noid_tasks.rake
|
200
|
+
- spec/models/active_fedora/noid/model_spec.rb
|
199
201
|
- spec/models/minter_state_spec.rb
|
200
202
|
- spec/spec_helper.rb
|
201
203
|
- spec/support/minterstate_table.rb
|
@@ -232,6 +234,7 @@ signing_key:
|
|
232
234
|
specification_version: 4
|
233
235
|
summary: Noid identifier services for ActiveFedora-based applications
|
234
236
|
test_files:
|
237
|
+
- spec/models/active_fedora/noid/model_spec.rb
|
235
238
|
- spec/models/minter_state_spec.rb
|
236
239
|
- spec/spec_helper.rb
|
237
240
|
- spec/support/minterstate_table.rb
|