hydra-mods 0.0.1 → 0.0.2
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.
- data/Gemfile +7 -0
- data/hydra-mods.gemspec +6 -2
- data/spec/fixtures/example_mods.xml +37 -0
- data/spec/fixtures/mods_article.xml +99 -0
- data/spec/internal/config/database.yml +3 -0
- data/spec/internal/config/routes.rb +3 -0
- data/spec/internal/db/combustion_test.sqlite +0 -0
- data/spec/internal/db/schema.rb +3 -0
- data/spec/internal/log/.gitignore +1 -0
- data/spec/internal/public/favicon.ico +0 -0
- data/spec/models/common_mods_index_methods_spec.rb +29 -0
- data/spec/models/mods_basic_ds_spec.rb +104 -0
- data/spec/spec_helper.rb +49 -0
- metadata +79 -5
- data/app/models/mods_asset.rb +0 -24
data/Gemfile
CHANGED
data/hydra-mods.gemspec
CHANGED
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = 'hydra-mods'
|
6
|
-
s.version = '0.0.
|
6
|
+
s.version = '0.0.2'
|
7
7
|
s.platform = Gem::Platform::RUBY
|
8
8
|
s.authors = ["Matt Zumwalt, Bess Sadler, Julie Meloni, Naomi Dushay, Jessie Keck, John Scofield, Justin Coyne & many more. See https://github.com/projecthydra/hydra-head/contributors"]
|
9
9
|
s.email = ["hydra-tech@googlegroups.com"]
|
@@ -11,7 +11,11 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.summary = "Hydra MODS components split out from hydra-head"
|
12
12
|
s.description = "Hydra MODS components split out from hydra-head"
|
13
13
|
|
14
|
-
s.add_dependency
|
14
|
+
s.add_dependency 'active-fedora', "~>4.1"
|
15
|
+
s.add_development_dependency "rspec"
|
16
|
+
s.add_development_dependency "mocha"
|
17
|
+
s.add_development_dependency "rspec-rails"
|
18
|
+
s.add_development_dependency "cucumber"
|
15
19
|
|
16
20
|
s.files = `git ls-files`.split("\n")
|
17
21
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
@@ -0,0 +1,37 @@
|
|
1
|
+
<mods version="3.4" xsi:schemaLocation="http://www.loc.gov/mods/v3
|
2
|
+
http://www.loc.gov/standards/mods/v3/mods-3-4.xsd" xmlns="http://www.loc.gov/mods/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
3
|
+
<!-- this is meant to be a fairly simple MODS example. -->
|
4
|
+
<titleInfo>
|
5
|
+
<title>main title</title>
|
6
|
+
<subTitle>subtitle</subTitle>
|
7
|
+
</titleInfo>
|
8
|
+
|
9
|
+
<name type="personal">
|
10
|
+
<namePart type="family">Hydra</namePart>
|
11
|
+
<namePart type="given">Hubert</namePart>
|
12
|
+
<affiliation>Project Hydra</affiliation>
|
13
|
+
<role>
|
14
|
+
<roleTerm authority="marcrelator" type="text">Creator</roleTerm>
|
15
|
+
</role>
|
16
|
+
</name>
|
17
|
+
<name type="conference">
|
18
|
+
<namePart>some conference</namePart>
|
19
|
+
<role>
|
20
|
+
<roleTerm authority="marcrelator" type="text">Host</roleTerm>
|
21
|
+
</role>
|
22
|
+
</name>
|
23
|
+
|
24
|
+
<abstract>abstract</abstract>
|
25
|
+
|
26
|
+
<subject>
|
27
|
+
<topic>topic 1</topic>
|
28
|
+
<topic>topic 2</topic>
|
29
|
+
</subject>
|
30
|
+
<subject authority="authority source (RFCD, LCSH)">
|
31
|
+
<topic>authority controlled topic</topic>
|
32
|
+
</subject>
|
33
|
+
|
34
|
+
<identifier type="uri">http://projecthydra.org/testdata/</identifier>
|
35
|
+
<identifier type="doi">doi:10.1006/jmbi.1995.0238</identifier>
|
36
|
+
|
37
|
+
</mods>
|
@@ -0,0 +1,99 @@
|
|
1
|
+
<mods version="3.0" xsi:schemaLocation="http://www.loc.gov/mods/v3
|
2
|
+
http://www.loc.gov/standards/mods/v3/mods-3-0.xsd" xmlns="http://www.loc.gov/mods/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
3
|
+
|
4
|
+
<titleInfo>
|
5
|
+
<nonSort>THE</nonSort>
|
6
|
+
<title>ARTICLE TITLE</title>
|
7
|
+
<subTitle>SUBTITLE</subTitle>
|
8
|
+
</titleInfo>
|
9
|
+
<titleInfo type="alternative">
|
10
|
+
<title>VARYING FORM OF TITLE</title>
|
11
|
+
</titleInfo>
|
12
|
+
|
13
|
+
<name type="personal">
|
14
|
+
<namePart type="family">FAMILY NAME</namePart>
|
15
|
+
<namePart type="given">GIVEN NAMES</namePart>
|
16
|
+
<namePart type="termsOfAddress">DR.</namePart>
|
17
|
+
<displayForm>NAME AS IT APPEARS</displayForm>
|
18
|
+
<affiliation>FACULTY, UNIVERSITY</affiliation>
|
19
|
+
<role>
|
20
|
+
<roleTerm authority="marcrelator" type="text">Creator</roleTerm>
|
21
|
+
</role>
|
22
|
+
</name>
|
23
|
+
<name type="personal">
|
24
|
+
<namePart type="family">Lacks</namePart>
|
25
|
+
<namePart type="given">Henrietta</namePart>
|
26
|
+
<displayForm>HeLa</displayForm>
|
27
|
+
<affiliation>Baltimore</affiliation>
|
28
|
+
<role>
|
29
|
+
<roleTerm authority="marcrelator" type="text">Contributor</roleTerm>
|
30
|
+
</role>
|
31
|
+
</name>
|
32
|
+
<name type="corporate">
|
33
|
+
<namePart>NSF</namePart>
|
34
|
+
<role>
|
35
|
+
<roleTerm authority="marcrelator" type="text">Funder</roleTerm>
|
36
|
+
</role>
|
37
|
+
</name>
|
38
|
+
<name type="conference">
|
39
|
+
<namePart>some conference</namePart>
|
40
|
+
<role>
|
41
|
+
<roleTerm authority="marcrelator" type="text">Host</roleTerm>
|
42
|
+
</role>
|
43
|
+
</name>
|
44
|
+
|
45
|
+
<typeOfResource>text</typeOfResource>
|
46
|
+
<genre authority="local">journal article</genre>
|
47
|
+
|
48
|
+
<abstract>ABSTRACT</abstract>
|
49
|
+
<subject>
|
50
|
+
<topic>TOPIC 1</topic>
|
51
|
+
<topic>TOPIC 2</topic>
|
52
|
+
</subject>
|
53
|
+
<subject authority="AUTHORITY SOURCE (RFCD, LCSH)">
|
54
|
+
<topic>CONTROLLED TERM</topic>
|
55
|
+
</subject>
|
56
|
+
|
57
|
+
<language>
|
58
|
+
<languageTerm authority="iso639-2b" type="code">en-aus </languageTerm>
|
59
|
+
</language>
|
60
|
+
|
61
|
+
<physicalDescription>
|
62
|
+
<internetMediaType>application/pdf</internetMediaType>
|
63
|
+
<extent>36 p.</extent>
|
64
|
+
</physicalDescription>
|
65
|
+
|
66
|
+
<relatedItem type="host">
|
67
|
+
<titleInfo>
|
68
|
+
<title>TITLE OF HOST JOURNAL</title>
|
69
|
+
</titleInfo>
|
70
|
+
<originInfo>
|
71
|
+
<publisher>PUBLISHER</publisher>
|
72
|
+
<dateIssued>DATE</dateIssued>
|
73
|
+
</originInfo>
|
74
|
+
<identifier type="issn">0013-8908</identifier>
|
75
|
+
<part>
|
76
|
+
<detail type="volume">
|
77
|
+
<number>2</number>
|
78
|
+
</detail>
|
79
|
+
<detail type="level">
|
80
|
+
<number>2</number>
|
81
|
+
</detail>
|
82
|
+
<extent unit="pages">
|
83
|
+
<start>195</start>
|
84
|
+
<end>230</end>
|
85
|
+
</extent>
|
86
|
+
<date>FEB. 2007</date>
|
87
|
+
</part>
|
88
|
+
</relatedItem>
|
89
|
+
|
90
|
+
<identifier type="uri">http://URL.edu.au/</identifier>
|
91
|
+
<identifier type="doi">doi:10.1006/jmbi.1995.0238</identifier>
|
92
|
+
<location>
|
93
|
+
<url>http://URL.edu.au/</url>
|
94
|
+
</location>
|
95
|
+
<accessCondition type="restrictionOnAccess">EMBARGO NOTE</accessCondition>
|
96
|
+
<accessCondition type="use and reproduction">OPEN ACCESS</accessCondition>
|
97
|
+
|
98
|
+
</mods>
|
99
|
+
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
*.log
|
File without changes
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# Need way to find way to stub current_user and RoleMapper in order to run these tests
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
|
5
|
+
require 'hydra/datastream/mods_article'
|
6
|
+
describe Hydra::Datastream::CommonModsIndexMethods do
|
7
|
+
|
8
|
+
subject { Hydra::Datastream::ModsArticle.from_xml(fixture("mods_article.xml")) }
|
9
|
+
|
10
|
+
describe "extract_person_full_names" do
|
11
|
+
it "should return an array of Solr::Field objects for :person_full_name_facet" do
|
12
|
+
full_names = subject.extract_person_full_names
|
13
|
+
full_names.should be_kind_of Hash
|
14
|
+
full_names["person_full_name_facet"].should == ["FAMILY NAME, GIVEN NAMES", "Lacks, Henrietta"]
|
15
|
+
end
|
16
|
+
end
|
17
|
+
describe "extract_person_organizations" do
|
18
|
+
it "should return an array of Solr::Field objects for :mods_organization_facet" do
|
19
|
+
orgs = subject.extract_person_organizations
|
20
|
+
orgs.should be_kind_of Hash
|
21
|
+
orgs["mods_organization_facet"].should be_kind_of Array
|
22
|
+
orgs["mods_organization_facet"].length.should == 2
|
23
|
+
orgs["mods_organization_facet"].first.should == "FACULTY, UNIVERSITY"
|
24
|
+
orgs["mods_organization_facet"].last.should == "Baltimore"
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
|
@@ -0,0 +1,104 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require "nokogiri"
|
3
|
+
|
4
|
+
describe Hydra::Datastream::ModsBasic do
|
5
|
+
|
6
|
+
context "general behaviors" do
|
7
|
+
subject { Hydra::Datastream::ModsBasic.new(nil, nil) }
|
8
|
+
|
9
|
+
it "should be a kind of ActiveFedora::NokogiriDatastream" do
|
10
|
+
subject.should be_kind_of(ActiveFedora::NokogiriDatastream)
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should include mods name behaviors" do
|
14
|
+
subject.class.included_modules.should include(Hydra::Datastream::CommonModsIndexMethods)
|
15
|
+
subject.should respond_to(:extract_person_full_names)
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should have relator terms translation methods specific to this model" do
|
19
|
+
subject.class.should respond_to(:person_relator_terms)
|
20
|
+
subject.class.should respond_to(:conference_relator_terms)
|
21
|
+
subject.class.should respond_to(:organization_relator_terms)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
MODS_NS = 'http://www.loc.gov/mods/v3'
|
26
|
+
|
27
|
+
context "creating new mods xml" do
|
28
|
+
subject { Hydra::Datastream::ModsBasic.new(nil, nil) }
|
29
|
+
|
30
|
+
it "should have an xml_template method returning desired xml" do
|
31
|
+
empty_xml = subject.class.xml_template
|
32
|
+
empty_xml.should be_a_kind_of(Nokogiri::XML::Document)
|
33
|
+
root = empty_xml.root
|
34
|
+
root.namespace.href.should == MODS_NS
|
35
|
+
root.get_attribute("version").should == "3.4"
|
36
|
+
# Ruby 1.8.7:
|
37
|
+
# root.get_attribute("xsi:schemaLocation").end_with?("http://www.loc.gov/standards/mods/v3/mods-3-4.xsd").should be_true
|
38
|
+
# Ruby 1.9.3:
|
39
|
+
#root.get_attribute("schemaLocation").end_with?("http://www.loc.gov/standards/mods/v3/mods-3-4.xsd").should be_true
|
40
|
+
|
41
|
+
# check some descendant nodes
|
42
|
+
title_node = root.at_xpath('mods:titleInfo/mods:title', {'mods' => MODS_NS} )
|
43
|
+
title_node.should_not be_nil
|
44
|
+
title_node.text.should == ""
|
45
|
+
personal_name_node = root.at_xpath("mods:name[@type='personal']", {'mods' => MODS_NS} )
|
46
|
+
personal_name_node.should_not be_nil
|
47
|
+
personal_name_node.text.should == ""
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
|
52
|
+
context "reading existing Mods xml" do
|
53
|
+
subject { Hydra::Datastream::ModsBasic.from_xml(fixture("example_mods.xml")) }
|
54
|
+
|
55
|
+
it "should get correct values from OM terminology" do
|
56
|
+
tests = [
|
57
|
+
[:main_title, 'main title'],
|
58
|
+
[[:title_info, :subtitle], 'subtitle'],
|
59
|
+
|
60
|
+
[:abstract, 'abstract'],
|
61
|
+
|
62
|
+
# FIXME: whitespace issues
|
63
|
+
# [[:subject, :topic], ['topic 1', 'topic 2', 'authority controlled topic']],
|
64
|
+
# [:topic_tag, ['topic 1', 'topic 2', 'authority controlled topic']],
|
65
|
+
|
66
|
+
[:identifier, ['http://projecthydra.org/testdata/', 'doi:10.1006/jmbi.1995.0238']],
|
67
|
+
[:doi, 'doi:10.1006/jmbi.1995.0238'],
|
68
|
+
[:uri, 'http://projecthydra.org/testdata/'],
|
69
|
+
|
70
|
+
[[:name, :namePart], ['Hydra', 'Hubert', 'some conference']],
|
71
|
+
[[:name, :last_name], 'Hydra'],
|
72
|
+
[[:person, :last_name], 'Hydra'],
|
73
|
+
[[:name, :first_name], 'Hubert'],
|
74
|
+
[[:person, :first_name], 'Hubert'],
|
75
|
+
# FIXME: whitespace issues
|
76
|
+
# [:role, ['Creator', 'Host']],
|
77
|
+
# [:person, 'Hydra Hubert Project Hydra Creator'],
|
78
|
+
# [:conference, 'some conference Host'],
|
79
|
+
]
|
80
|
+
|
81
|
+
tests.each do |terms, exp|
|
82
|
+
terms = [terms] unless terms.class == Array
|
83
|
+
exp = [exp] unless exp.class == Array
|
84
|
+
subject.term_values(*terms).should == exp
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
=begin
|
89
|
+
context "updating Mods xml" do
|
90
|
+
it "should do something" do
|
91
|
+
pending "to be implemented"
|
92
|
+
end
|
93
|
+
it "should be able to insert new name nodes" do
|
94
|
+
pending "test to be implemented"
|
95
|
+
end
|
96
|
+
it "should be able to add additional topics" do
|
97
|
+
pending "to be implemented"
|
98
|
+
end
|
99
|
+
it "should be able to remove nodes, including the last of a node" do
|
100
|
+
pending "to be implemented"
|
101
|
+
end
|
102
|
+
end
|
103
|
+
=end
|
104
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
# This file is copied to spec/ when you run 'rails generate rspec:install'
|
3
|
+
# Has been customized by Blacklight to work when application is in one place,
|
4
|
+
# and actual spec/ stuff is in another (the blacklight gem checkout).
|
5
|
+
|
6
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
7
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'app', 'models'))
|
8
|
+
|
9
|
+
ENV["RAILS_ENV"] ||= 'test'
|
10
|
+
|
11
|
+
|
12
|
+
if ENV['COVERAGE'] and RUBY_VERSION =~ /^1.9/
|
13
|
+
require 'simplecov'
|
14
|
+
require 'simplecov-rcov'
|
15
|
+
|
16
|
+
SimpleCov.formatter = SimpleCov::Formatter::RcovFormatter
|
17
|
+
SimpleCov.start do
|
18
|
+
add_filter "/test_support/"
|
19
|
+
add_filter "/tmp/"
|
20
|
+
|
21
|
+
add_filter do |source_file|
|
22
|
+
source_file.lines.count < 5
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
require 'combustion'
|
28
|
+
Combustion.initialize!
|
29
|
+
require 'rspec/rails'
|
30
|
+
require 'hydra/mods'
|
31
|
+
require 'hydra/datastream/common_mods_index_methods'
|
32
|
+
require 'hydra/datastream/mods_basic'
|
33
|
+
|
34
|
+
RSpec.configure do |config|
|
35
|
+
# == Mock Framework
|
36
|
+
#
|
37
|
+
# If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
|
38
|
+
#
|
39
|
+
config.mock_with :mocha
|
40
|
+
|
41
|
+
config.color_enabled = true
|
42
|
+
|
43
|
+
end
|
44
|
+
|
45
|
+
def fixture(file)
|
46
|
+
File.new(File.join(File.dirname(__FILE__), 'fixtures', file))
|
47
|
+
end
|
48
|
+
|
49
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hydra-mods
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,17 +10,81 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-06-
|
13
|
+
date: 2012-06-08 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
|
-
name:
|
16
|
+
name: active-fedora
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
19
|
+
requirements:
|
20
|
+
- - ~>
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '4.1'
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
27
|
+
requirements:
|
28
|
+
- - ~>
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: '4.1'
|
31
|
+
- !ruby/object:Gem::Dependency
|
32
|
+
name: rspec
|
17
33
|
requirement: !ruby/object:Gem::Requirement
|
18
34
|
none: false
|
19
35
|
requirements:
|
20
36
|
- - ! '>='
|
21
37
|
- !ruby/object:Gem::Version
|
22
38
|
version: '0'
|
23
|
-
type: :
|
39
|
+
type: :development
|
40
|
+
prerelease: false
|
41
|
+
version_requirements: !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ! '>='
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: mocha
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
type: :development
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - ! '>='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
- !ruby/object:Gem::Dependency
|
64
|
+
name: rspec-rails
|
65
|
+
requirement: !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
67
|
+
requirements:
|
68
|
+
- - ! '>='
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '0'
|
71
|
+
type: :development
|
72
|
+
prerelease: false
|
73
|
+
version_requirements: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
75
|
+
requirements:
|
76
|
+
- - ! '>='
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: '0'
|
79
|
+
- !ruby/object:Gem::Dependency
|
80
|
+
name: cucumber
|
81
|
+
requirement: !ruby/object:Gem::Requirement
|
82
|
+
none: false
|
83
|
+
requirements:
|
84
|
+
- - ! '>='
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: '0'
|
87
|
+
type: :development
|
24
88
|
prerelease: false
|
25
89
|
version_requirements: !ruby/object:Gem::Requirement
|
26
90
|
none: false
|
@@ -43,7 +107,6 @@ files:
|
|
43
107
|
- app/models/hydra/datastream/mods_dataset.rb
|
44
108
|
- app/models/hydra/datastream/mods_generic_content.rb
|
45
109
|
- app/models/hydra/datastream/mods_image.rb
|
46
|
-
- app/models/mods_asset.rb
|
47
110
|
- hydra-mods.gemspec
|
48
111
|
- lib/hydra-mods.rb
|
49
112
|
- lib/hydra/common_mods_index_methods.rb
|
@@ -54,6 +117,17 @@ files:
|
|
54
117
|
- lib/hydra/mods_generic_content.rb
|
55
118
|
- lib/hydra/mods_image.rb
|
56
119
|
- lib/uva/mods_index_methods.rb
|
120
|
+
- spec/fixtures/example_mods.xml
|
121
|
+
- spec/fixtures/mods_article.xml
|
122
|
+
- spec/internal/config/database.yml
|
123
|
+
- spec/internal/config/routes.rb
|
124
|
+
- spec/internal/db/combustion_test.sqlite
|
125
|
+
- spec/internal/db/schema.rb
|
126
|
+
- spec/internal/log/.gitignore
|
127
|
+
- spec/internal/public/favicon.ico
|
128
|
+
- spec/models/common_mods_index_methods_spec.rb
|
129
|
+
- spec/models/mods_basic_ds_spec.rb
|
130
|
+
- spec/spec_helper.rb
|
57
131
|
homepage: http://projecthydra.org
|
58
132
|
licenses: []
|
59
133
|
post_install_message:
|
data/app/models/mods_asset.rb
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
# An EXAMPLE Basic Model for Assets that conform to Hydra commonMetadata cModel and have basic MODS metadata (currently "Article" is the MODS exemplar)
|
2
|
-
class ModsAsset < ActiveFedora::Base
|
3
|
-
|
4
|
-
# declares a rightsMetadata datastream with type Hydra::Datastream::RightsMetadata
|
5
|
-
# basically, it is another expression of
|
6
|
-
# has_metadata :name => "rightsMetadata", :type => Hydra::Datastream::RightsMetadata
|
7
|
-
include Hydra::ModelMixins::CommonMetadata
|
8
|
-
|
9
|
-
## Convenience methods for manipulating the rights metadata datastream
|
10
|
-
include Hydra::ModelMixins::RightsMetadata
|
11
|
-
|
12
|
-
# declares a descMetadata datastream with type Hydra::Datastream::ModsArticle
|
13
|
-
# basically, it is another expression of
|
14
|
-
# has_metadata :name => "descMetadata", :type => Hydra::Datastream::ModsArticle
|
15
|
-
include Hydra::ModelMixins::ModsObject
|
16
|
-
|
17
|
-
# adds helpful methods for basic hydra objects
|
18
|
-
include Hydra::ModelMethods
|
19
|
-
|
20
|
-
# adds file_objects methods
|
21
|
-
include ActiveFedora::FileManagement
|
22
|
-
|
23
|
-
|
24
|
-
end
|