rif-cs 1.0.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.
@@ -0,0 +1,40 @@
1
+ module RIFCS
2
+ module Service
3
+ include RIFCS
4
+ require 'nokogiri'
5
+
6
+ def to_rifcs(encoding='UTF-8')
7
+ Nokogiri::XML::Builder.new(:encoding => encoding) do |xml|
8
+ xml.registryObject_(:group => service_group) do
9
+ xml.key_ service_key
10
+ xml.originatingSource_ service_originating_source if respond_to?(:service_originating_source)
11
+
12
+ xml.service_(:dateModified => service_root[:date_modified], :type => service_root[:type]) do
13
+ RIFCS::list_of(service_identifiers, :identifiers, xml) if respond_to?(:service_identifiers)
14
+
15
+ RIFCS::names(service_names, xml) if respond_to?(:service_names)
16
+
17
+ RIFCS::locations(service_locations, xml) if respond_to?(:service_locations)
18
+
19
+ RIFCS::coverage(service_coverage, xml) if respond_to?(:service_coverage)
20
+
21
+ RIFCS::related_objects(service_related_objects, xml) if respond_to?(:service_related_objects)
22
+
23
+ RIFCS::subjects(service_subjects, xml) if respond_to?(:service_subjects)
24
+
25
+ RIFCS::list_of(service_descriptions, :descriptions, xml) if respond_to?(:service_descriptions)
26
+
27
+ RIFCS::list_of(service_access_policies, :access_policies, xml) if respond_to?(:service_access_policies)
28
+
29
+ RIFCS::rights(service_rights, xml) if respond_to?(:service_rights)
30
+
31
+ RIFCS::existence_dates(service_existence_dates, xml) if respond_to?(:service_existence_dates)
32
+
33
+ RIFCS::related_info(service_related_info, xml) if respond_to?(:service_related_info)
34
+ end # service
35
+ end
36
+ end
37
+ end
38
+
39
+ end
40
+ end
data/rif-cs.gemspec ADDED
@@ -0,0 +1,75 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "rif-cs"
8
+ s.version = "1.0.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Sean McCarthy"]
12
+ s.date = "2012-06-25"
13
+ s.description = "Instrument your class to return RIF-CS"
14
+ s.email = "sean@intersect.org.au"
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ ".rspec",
22
+ "Gemfile",
23
+ "Gemfile.lock",
24
+ "LICENSE.txt",
25
+ "README.rdoc",
26
+ "Rakefile",
27
+ "VERSION",
28
+ "lib/rif-cs.rb",
29
+ "lib/rif-cs/activity.rb",
30
+ "lib/rif-cs/collection.rb",
31
+ "lib/rif-cs/party.rb",
32
+ "lib/rif-cs/service.rb",
33
+ "rif-cs.gemspec",
34
+ "spec/files/activity.xml",
35
+ "spec/files/collection.xml",
36
+ "spec/files/party.xml",
37
+ "spec/files/service.xml",
38
+ "spec/rif-cs_activity_spec.rb",
39
+ "spec/rif-cs_collection_spec.rb",
40
+ "spec/rif-cs_party_spec.rb",
41
+ "spec/rif-cs_service_spec.rb",
42
+ "spec/rif-cs_spec.rb",
43
+ "spec/spec_helper.rb"
44
+ ]
45
+ s.homepage = "http://github.com/IntersectAustralia/ruby_rif-cs"
46
+ s.licenses = ["MIT"]
47
+ s.require_paths = ["lib"]
48
+ s.rubygems_version = "1.8.15"
49
+ s.summary = "Instrument your class to return RIF-CS"
50
+
51
+ if s.respond_to? :specification_version then
52
+ s.specification_version = 3
53
+
54
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
55
+ s.add_runtime_dependency(%q<nokogiri>, [">= 0"])
56
+ s.add_development_dependency(%q<rspec>, [">= 0"])
57
+ s.add_development_dependency(%q<rdoc>, [">= 0"])
58
+ s.add_development_dependency(%q<bundler>, ["~> 1.1.0"])
59
+ s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
60
+ else
61
+ s.add_dependency(%q<nokogiri>, [">= 0"])
62
+ s.add_dependency(%q<rspec>, [">= 0"])
63
+ s.add_dependency(%q<rdoc>, [">= 0"])
64
+ s.add_dependency(%q<bundler>, ["~> 1.1.0"])
65
+ s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
66
+ end
67
+ else
68
+ s.add_dependency(%q<nokogiri>, [">= 0"])
69
+ s.add_dependency(%q<rspec>, [">= 0"])
70
+ s.add_dependency(%q<rdoc>, [">= 0"])
71
+ s.add_dependency(%q<bundler>, ["~> 1.1.0"])
72
+ s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
73
+ end
74
+ end
75
+
@@ -0,0 +1,59 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <registryObject group="test group">
3
+ <key>a key</key>
4
+ <originatingSource>tomato</originatingSource>
5
+ <activity dateModified="2012-06-13 14:00:00 UTC" type="program">
6
+ <identifiers type="uri">http://example.com</identifiers>
7
+ <identifiers type="local">123</identifiers>
8
+ <name dateFrom="" dateTo="" type="primary" xml:lang="">
9
+ <namePart type="">Testing of software</namePart>
10
+ </name>
11
+ <location dateFrom="2012-06-13 14:00:00 UTC" dateTo="" type="">
12
+ <address>
13
+ <electronic type="email">
14
+ <value>joe@example.com</value>
15
+ </electronic>
16
+ <electronic type="uri">
17
+ <value>http://example.com/people/a key</value>
18
+ <arg required="false" type="" use="">placeholder</arg>
19
+ </electronic>
20
+ <physical type="postalAddress" xml:lang="">
21
+ <addressPart type="country">Austrlia</addressPart>
22
+ </physical>
23
+ <physical type="" xml:lang="">
24
+ <addressPart type="telephoneNumber">+61 2 9123 4567</addressPart>
25
+ </physical>
26
+ </address>
27
+ </location>
28
+ <coverage>
29
+ <spatial type="gml" xml:lang="">&lt;gmlPoint gmlid="p21" srsName="http://www.opengis.net/def/crs/EPSG/0/4326"&gt;&lt;gmlcoordinates&gt;45.67, 88.56&lt;/gmlcoordinates&gt;&lt;/gmlPoint&gt;</spatial>
30
+ <temporal>
31
+ <date dateFormat="UTC" type="dateFrom">2012-06-13 14:00:00 UTC</date>
32
+ <date dateFormat="UTC" type="dateTo">2013-06-13 14:00:00 UTC</date>
33
+ <text>Self destructs in 1 year</text>
34
+ </temporal>
35
+ </coverage>
36
+ <descriptions type="brief" xmllang="">An activity</descriptions>
37
+ <descriptions type="full">Not just any activity</descriptions>
38
+ <existenceDates>
39
+ <startDate dateFormat="UTC">2012-06-13 14:00:00 UTC</startDate>
40
+ <endDate dateFormat=""></endDate>
41
+ </existenceDates>
42
+ <relatedObject>
43
+ <key>b party</key>
44
+ <relation type="hasAssociationWith">
45
+ <description>Supervisor</description>
46
+ </relation>
47
+ </relatedObject>
48
+ <relatedObject>
49
+ <key>some group</key>
50
+ <relation type="isMemberOf"/>
51
+ </relatedObject>
52
+ <rights>
53
+ <rightsStatement rightsUri="http://www.intersect.org.au/policies">Copyright 2012 Intersect Australia Ltd.</rightsStatement>
54
+ <licence rightsUri="http://creativecommons.org/licenses/by/3.0">Attribution (CC BY)</licence>
55
+ <accessRights rightsUri="">Available to all without restriction</accessRights>
56
+ </rights>
57
+ <subject termIdentifier="" type="anzsrc-for" xml:lang="">123456</subject>
58
+ </activity>
59
+ </registryObject>
@@ -0,0 +1,73 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <registryObject group="test group">
3
+ <key>a key</key>
4
+ <originatingSource>tomato</originatingSource>
5
+ <collection dateModified="2012-06-13 14:00:00 UTC" type="dataset" dateAccessioned="2012-06-13 14:00:00 UTC">
6
+ <identifiers type="uri">http://example.com</identifiers>
7
+ <identifiers type="local">123</identifiers>
8
+ <name dateFrom="" dateTo="" type="primary" xml:lang="">
9
+ <namePart type="title">Dr</namePart>
10
+ <namePart type="given">John</namePart>
11
+ <namePart type="family">Doe</namePart>
12
+ </name>
13
+ <location dateFrom="2012-06-13 14:00:00 UTC" dateTo="" type="">
14
+ <address>
15
+ <electronic type="email">
16
+ <value>joe@example.com</value>
17
+ </electronic>
18
+ <electronic type="uri">
19
+ <value>http://example.com/people/a key</value>
20
+ <arg required="false" type="" use="">placeholder</arg>
21
+ </electronic>
22
+ <physical type="postalAddress" xml:lang="">
23
+ <addressPart type="country">Austrlia</addressPart>
24
+ </physical>
25
+ <physical type="" xml:lang="">
26
+ <addressPart type="telephoneNumber">+61 2 9123 4567</addressPart>
27
+ </physical>
28
+ </address>
29
+ </location>
30
+ <coverage>
31
+ <spatial type="gml" xml:lang="">&lt;gmlPoint gmlid="p21" srsName="http://www.opengis.net/def/crs/EPSG/0/4326"&gt;&lt;gmlcoordinates&gt;45.67, 88.56&lt;/gmlcoordinates&gt;&lt;/gmlPoint&gt;</spatial>
32
+ <temporal>
33
+ <date dateFormat="UTC" type="dateFrom">2012-06-13 14:00:00 UTC</date>
34
+ <date dateFormat="UTC" type="dateTo">2013-06-13 14:00:00 UTC</date>
35
+ <text>Self destructs in 1 year</text>
36
+ </temporal>
37
+ </coverage>
38
+ <relatedObject>
39
+ <key>b party</key>
40
+ <relation type="hasAssociationWith">
41
+ <description>owner</description>
42
+ </relation>
43
+ </relatedObject>
44
+ <relatedObject>
45
+ <key>some group</key>
46
+ <relation type="isMemberOf"/>
47
+ </relatedObject>
48
+ <subject termIdentifier="" type="anzsrc-for" xml:lang="">123456</subject>
49
+ <descriptions type="brief" xmllang="">A researcher</descriptions>
50
+ <descriptions type="full">Not just any researcher</descriptions>
51
+ <rights>
52
+ <rightsStatement rightsUri="http://www.intersect.org.au/policies">Copyright 2012 Intersect Australia Ltd.</rightsStatement>
53
+ <licence rightsUri="http://creativecommons.org/licenses/by/3.0">Attribution (CC BY)</licence>
54
+ <accessRights rightsUri="">Available to all without restriction</accessRights>
55
+ </rights>
56
+ <fullCitation style="Harvard">Australian Bureau of Agricultural and Resource Economics 2001, Aquaculture development in Australia: a review of key economic issues, ABARE, Canberra.</fullCitation>
57
+ <citationMetadata>
58
+ <identifier type="isbn">1234</identifier>
59
+ <contributor seq="">
60
+ <namePart type="title">Dr</namePart>
61
+ <namePart type="given">Jane</namePart>
62
+ <namePart type="family">Doe</namePart>
63
+ </contributor>
64
+ <title>Aquaculture development in Australia: a review of key economic issues</title>
65
+ <edition>1st</edition>
66
+ <publisher>ABARE</publisher>
67
+ <placePublished>Canberra</placePublished>
68
+ <date type="publicationDate">2012-06-14</date>
69
+ <url>http://example.com</url>
70
+ <context>local</context>
71
+ </citationMetadata>
72
+ </collection>
73
+ </registryObject>
@@ -0,0 +1,61 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <registryObject group="test group">
3
+ <key>a key</key>
4
+ <originatingSource>tomato</originatingSource>
5
+ <party dateModified="2012-06-13 14:00:00 UTC" type="person">
6
+ <identifiers type="uri">http://example.com</identifiers>
7
+ <identifiers type="local">123</identifiers>
8
+ <name dateFrom="" dateTo="" type="primary" xml:lang="">
9
+ <namePart type="title">Dr</namePart>
10
+ <namePart type="given">John</namePart>
11
+ <namePart type="family">Doe</namePart>
12
+ </name>
13
+ <location dateFrom="2012-06-13 14:00:00 UTC" dateTo="" type="">
14
+ <address>
15
+ <electronic type="email">
16
+ <value>joe@example.com</value>
17
+ </electronic>
18
+ <electronic type="uri">
19
+ <value>http://example.com/people/a key</value>
20
+ <arg required="false" type="" use="">placeholder</arg>
21
+ </electronic>
22
+ <physical type="postalAddress" xml:lang="">
23
+ <addressPart type="country">Austrlia</addressPart>
24
+ </physical>
25
+ <physical type="" xml:lang="">
26
+ <addressPart type="telephoneNumber">+61 2 9123 4567</addressPart>
27
+ </physical>
28
+ </address>
29
+ </location>
30
+ <coverage>
31
+ <spatial type="gml" xml:lang="">&lt;gmlPoint gmlid="p21" srsName="http://www.opengis.net/def/crs/EPSG/0/4326"&gt;&lt;gmlcoordinates&gt;45.67, 88.56&lt;/gmlcoordinates&gt;&lt;/gmlPoint&gt;</spatial>
32
+ <temporal>
33
+ <date dateFormat="UTC" type="dateFrom">2012-06-13 14:00:00 UTC</date>
34
+ <date dateFormat="UTC" type="dateTo">2013-06-13 14:00:00 UTC</date>
35
+ <text>Self destructs in 1 year</text>
36
+ </temporal>
37
+ </coverage>
38
+ <descriptions type="brief" xmllang="">A researcher</descriptions>
39
+ <descriptions type="full">Not just any researcher</descriptions>
40
+ <existenceDates>
41
+ <startDate dateFormat="UTC">2012-06-13 14:00:00 UTC</startDate>
42
+ <endDate dateFormat=""></endDate>
43
+ </existenceDates>
44
+ <relatedObject>
45
+ <key>b party</key>
46
+ <relation type="hasAssociationWith">
47
+ <description>Supervisor</description>
48
+ </relation>
49
+ </relatedObject>
50
+ <relatedObject>
51
+ <key>some group</key>
52
+ <relation type="isMemberOf"/>
53
+ </relatedObject>
54
+ <rights>
55
+ <rightsStatement rightsUri="http://www.intersect.org.au/policies">Copyright 2012 Intersect Australia Ltd.</rightsStatement>
56
+ <licence rightsUri="http://creativecommons.org/licenses/by/3.0">Attribution (CC BY)</licence>
57
+ <accessRights rightsUri="">Available to all without restriction</accessRights>
58
+ </rights>
59
+ <subject termIdentifier="" type="anzsrc-for" xml:lang="">123456</subject>
60
+ </party>
61
+ </registryObject>
@@ -0,0 +1,63 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <registryObject group="Intersect Australia">
3
+ <key>service key</key>
4
+ <originatingSource>http://www.intersect.org.au</originatingSource>
5
+ <service dateModified="2012-06-13 14:00:00 UTC" type="create">
6
+ <identifiers type="local">hdl:1959.4/004_311</identifiers>
7
+ <name dateFrom="2012-06-14 00:00:00 +1000" dateTo="2013-06-14 00:00:00 +1000" type="create" xml:lang="">
8
+ <namePart type="">Autolab PGSTAT 12 Potentiostat</namePart>
9
+ </name>
10
+ <location dateFrom="" dateTo="" type="">
11
+ <address>
12
+ <electronic type="email">
13
+ <value>joe@example.com</value>
14
+ </electronic>
15
+ <physical type="postalAddress" xml:lang="">
16
+ <addressPart type="country">Austrlia</addressPart>
17
+ </physical>
18
+ <physical type="" xml:lang="">
19
+ <addressPart type="telephoneNumber">+61 2 9123 4567</addressPart>
20
+ </physical>
21
+ </address>
22
+ <spatial type="gml" xml:lang="">&lt;gmlPoint gmlid="p21" srsName="http://www.opengis.net/def/crs/EPSG/0/4326"&gt;&lt;gmlcoordinates&gt;45.67, 88.56&lt;/gmlcoordinates&gt;&lt;/gmlPoint&gt;</spatial>
23
+ </location>
24
+ <coverage>
25
+ <spatial type="gml" xml:lang="">&lt;gmlPoint gmlid="p21" srsName="http://www.opengis.net/def/crs/EPSG/0/4326"&gt;&lt;gmlcoordinates&gt;45.67, 88.56&lt;/gmlcoordinates&gt;&lt;/gmlPoint&gt;</spatial>
26
+ <temporal>
27
+ <date dateFormat="UTC" type="dateFrom">2012-06-13 14:00:00 UTC</date>
28
+ <date dateFormat="UTC" type="dateTo">2013-06-13 14:00:00 UTC</date>
29
+ <text>Self destructs in 1 year</text>
30
+ </temporal>
31
+ </coverage>
32
+ <relatedObject>
33
+ <key>http://nla.gov.au/nla.party-593921</key>
34
+ <relation type="hasAssociationWith"/>
35
+ </relatedObject>
36
+ <relatedObject>
37
+ <key>some group</key>
38
+ <relation type="isPresentedBy"/>
39
+ </relatedObject>
40
+ <descriptions type="deliverymethod">offline</descriptions>
41
+ <descriptions type="full">General-purpose potentiostat.</descriptions>
42
+ <accessPolicies>http://example.com/policy</accessPolicies>
43
+ <rights>
44
+ <rightsStatement rightsUri="http://www.intersect.org.au/policies">Copyright 2012 Intersect Australia Ltd.</rightsStatement>
45
+ <licence rightsUri="http://creativecommons.org/licenses/by/3.0">Attribution (CC BY)</licence>
46
+ <accessRights rightsUri="">Available to all without restriction</accessRights>
47
+ </rights>
48
+ <existenceDates>
49
+ <startDate dateFormat="UTC">2012-06-13 14:00:00 UTC</startDate>
50
+ <endDate dateFormat=""></endDate>
51
+ </existenceDates>
52
+ <relatedInfo type="website">
53
+ <identifier type="uri">http://example.com/personalsites/foo</identifier>
54
+ <title>This person's blog</title>
55
+ <notes>Another blog</notes>
56
+ </relatedInfo>
57
+ <relatedInfo type="publication">
58
+ <identifier type="isbn">111</identifier>
59
+ <title>The Ordering of Things</title>
60
+ <notes>Not available</notes>
61
+ </relatedInfo>
62
+ </service>
63
+ </registryObject>
@@ -0,0 +1,217 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe "RIFCS::Activity" do
4
+ class ActivityExample
5
+ require 'date'
6
+ include RIFCS::Activity
7
+
8
+ attr_reader :activity_key
9
+
10
+ def initialize(key='a key')
11
+ @activity_key = key
12
+ end
13
+
14
+ def activity_group
15
+ 'test group'
16
+ end
17
+
18
+ def activity_originating_source
19
+ 'tomato'
20
+ end
21
+
22
+ def activity_type
23
+ 'program'
24
+ end
25
+
26
+ def activity_date_modified
27
+ Time.new(2012, 6, 14).utc
28
+ end
29
+
30
+ def activity_identifiers
31
+ [
32
+ { value: 'http://example.com', type: 'uri' },
33
+ { value: '123', type: 'local' }
34
+ ]
35
+ end
36
+
37
+ def activity_names
38
+ [
39
+ {
40
+ type: 'primary',
41
+ name_parts: [
42
+ { value: 'Testing of software' },
43
+ ]
44
+ },
45
+ ]
46
+ end
47
+
48
+ def activity_related_info
49
+ [
50
+ {
51
+ type: 'publication',
52
+ identifier: {
53
+ value: '111',
54
+ type: 'isbn'
55
+ },
56
+ title: 'The Ordering of Things',
57
+ notes: 'Not available'
58
+ }
59
+ ]
60
+ end
61
+
62
+ def activity_related_objects
63
+ {
64
+ has_association_with: [
65
+ {
66
+ key: 'b party',
67
+ relation: {
68
+ description: 'Supervisor'
69
+ }
70
+ }
71
+ ],
72
+ is_member_of: [
73
+ {
74
+ key: 'some group'
75
+ }
76
+ ]
77
+ }
78
+ end
79
+
80
+ def activity_locations
81
+ [
82
+ {
83
+ date_from: Time.new(2012, 6, 14).utc,
84
+ addresses: [
85
+ {
86
+ electronic: [
87
+ {
88
+ type: 'email',
89
+ value: 'joe@example.com'
90
+ },
91
+ {
92
+ type: 'uri',
93
+ value: "http://example.com/people/#{@activity_key}",
94
+ args: [
95
+ { value: 'placeholder', required: 'false' }
96
+ ]
97
+ }
98
+ ],
99
+ physical: [
100
+ {
101
+ type: 'postalAddress',
102
+ address_parts: [
103
+ {
104
+ type: 'country',
105
+ value: 'Austrlia'
106
+ },
107
+ ]
108
+ },
109
+ {
110
+ address_parts: [
111
+ {
112
+ type: 'telephoneNumber',
113
+ value: '+61 2 9123 4567'
114
+ }
115
+ ]
116
+ }
117
+ ]
118
+ }
119
+ ]
120
+ }
121
+ ]
122
+ end
123
+
124
+ def activity_coverage
125
+ [
126
+ {
127
+ spatials: [
128
+ {
129
+ value: '<gmlPoint gmlid="p21" srsName="http://www.opengis.net/def/crs/EPSG/0/4326"><gmlcoordinates>45.67, 88.56</gmlcoordinates></gmlPoint>',
130
+ type: 'gml'
131
+ }
132
+ ],
133
+ temporals: [
134
+ {
135
+ dates: [
136
+ {
137
+ value: Time.new(2012, 6, 14).utc,
138
+ date_format: 'UTC',
139
+ type: 'dateFrom'
140
+ },
141
+ {
142
+ value: Time.new(2013, 6, 14).utc,
143
+ date_format: 'UTC',
144
+ type: 'dateTo'
145
+ },
146
+ ],
147
+ text: ['Self destructs in 1 year']
148
+ }
149
+ ]
150
+ }
151
+ ]
152
+ end
153
+
154
+ def activity_descriptions
155
+ [
156
+ {
157
+ value: 'An activity',
158
+ type: 'brief',
159
+ 'xmllang' => nil
160
+ },
161
+ {
162
+ value: 'Not just any activity',
163
+ type: 'full'
164
+ }
165
+ ]
166
+ end
167
+
168
+ def activity_existence_dates
169
+ [
170
+ {
171
+ start_date: {
172
+ value: Time.new(2012, 6, 14).utc,
173
+ date_format: 'UTC'
174
+ },
175
+ end_date: {
176
+ }
177
+ }
178
+ ]
179
+ end
180
+
181
+ def activity_rights
182
+ [
183
+ {
184
+ rights_statement: {
185
+ rights_uri: 'http://www.intersect.org.au/policies',
186
+ value: 'Copyright 2012 Intersect Australia Ltd.'
187
+ },
188
+ licence: {
189
+ value: 'Attribution (CC BY)',
190
+ rights_uri: 'http://creativecommons.org/licenses/by/3.0',
191
+ type: ''
192
+ },
193
+ access_rights: {
194
+ value: 'Available to all without restriction'
195
+ }
196
+ }
197
+ ]
198
+ end
199
+
200
+ def activity_subjects
201
+ [
202
+ {
203
+ value: '123456',
204
+ type: 'anzsrc-for'
205
+ }
206
+ ]
207
+ end
208
+
209
+ end
210
+
211
+ it "should give a RIF-CS XML Activity record for a model" do
212
+ expected = IO.read(File.join(File.dirname(__FILE__), 'files', 'activity.xml'))
213
+ activity = ActivityExample.new
214
+ activity.to_rifcs.to_xml.should eq(expected)
215
+ end
216
+
217
+ end