puree 1.1.0 → 1.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/CHANGELOG.md +13 -0
- data/lib/puree.rb +13 -0
- data/lib/puree/extractor/collection.rb +4 -4
- data/lib/puree/extractor/doctoral_thesis.rb +24 -0
- data/lib/puree/extractor/masters_thesis.rb +24 -0
- data/lib/puree/extractor/publication.rb +5 -3
- data/lib/puree/extractor/resource.rb +15 -2
- data/lib/puree/extractor/thesis.rb +34 -0
- data/lib/puree/model/doctoral_thesis.rb +10 -0
- data/lib/puree/model/masters_thesis.rb +10 -0
- data/lib/puree/model/publication.rb +11 -8
- data/lib/puree/model/thesis.rb +28 -0
- data/lib/puree/util/date.rb +1 -3
- data/lib/puree/util/string.rb +19 -0
- data/lib/puree/version.rb +1 -1
- data/lib/puree/xml_extractor/doctoral_thesis.rb +14 -0
- data/lib/puree/xml_extractor/masters_thesis.rb +14 -0
- data/lib/puree/xml_extractor/mixins/doi_mixin.rb +17 -0
- data/lib/puree/xml_extractor/mixins/event_mixin.rb +24 -0
- data/lib/puree/xml_extractor/mixins/pages_mixin.rb +18 -0
- data/lib/puree/xml_extractor/publication.rb +25 -23
- data/lib/puree/xml_extractor/thesis.rb +44 -0
- data/spec/spec_helper.rb +1 -0
- metadata +15 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 92900cf287eee283a00fc51d36aacdf62b6c0ef7
|
4
|
+
data.tar.gz: b3a7ea09d42501087a1bb86cd019d1ccbc6e0971
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e0950129f4825a69f43286e5b6a933e0213e7ac48a99dfcd9cb8305d7c88f464b56472fad809d0b8eee68847d8b5b3decd16bdf4a911f3c23b037e51abff40f0
|
7
|
+
data.tar.gz: b61ec2735dc14cbdc196ad5049e4293f4f4972d5a5d0dac27d257af868ac20178be9e2e8682fd19bdcbbdafd7b60214bfecf9a0726cfe149454463f5d7fc9c4c
|
data/CHANGELOG.md
CHANGED
@@ -5,6 +5,19 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
5
5
|
## Unreleased
|
6
6
|
- Metadata: activity?, clipping?, externalPerson?
|
7
7
|
|
8
|
+
## 1.2.0 - 2017-03-31
|
9
|
+
### Added
|
10
|
+
- Publication - language, owner, translated_title, translated_subtitle.
|
11
|
+
- Publication types - Doctoral Thesis and Master's Thesis.
|
12
|
+
|
13
|
+
### Changed
|
14
|
+
- Publication - common attribute set established. doi, event, pages become mixins
|
15
|
+
for publication types.
|
16
|
+
|
17
|
+
## 1.1.0 - 2017-03-24
|
18
|
+
### Added
|
19
|
+
- Publication - keywords, publisher.
|
20
|
+
|
8
21
|
## 1.0.0 - 2017-03-15
|
9
22
|
### Added
|
10
23
|
- Dataset - legal conditions.
|
data/lib/puree.rb
CHANGED
@@ -4,6 +4,7 @@ require 'nokogiri'
|
|
4
4
|
require 'puree/version'
|
5
5
|
|
6
6
|
require 'puree/util/date'
|
7
|
+
require 'puree/util/string'
|
7
8
|
|
8
9
|
require 'puree/xml_extractor/shared'
|
9
10
|
require 'puree/xml_extractor/base'
|
@@ -17,6 +18,12 @@ require 'puree/xml_extractor/organisation'
|
|
17
18
|
require 'puree/xml_extractor/person'
|
18
19
|
require 'puree/xml_extractor/project'
|
19
20
|
require 'puree/xml_extractor/publication'
|
21
|
+
require 'puree/xml_extractor/mixins/doi_mixin'
|
22
|
+
require 'puree/xml_extractor/mixins/event_mixin'
|
23
|
+
require 'puree/xml_extractor/mixins/pages_mixin'
|
24
|
+
require 'puree/xml_extractor/thesis'
|
25
|
+
require 'puree/xml_extractor/doctoral_thesis'
|
26
|
+
require 'puree/xml_extractor/masters_thesis'
|
20
27
|
require 'puree/xml_extractor/publisher'
|
21
28
|
require 'puree/xml_extractor/server'
|
22
29
|
|
@@ -39,6 +46,9 @@ require 'puree/model/organisation'
|
|
39
46
|
require 'puree/model/person'
|
40
47
|
require 'puree/model/project'
|
41
48
|
require 'puree/model/publication'
|
49
|
+
require 'puree/model/thesis'
|
50
|
+
require 'puree/model/doctoral_thesis'
|
51
|
+
require 'puree/model/masters_thesis'
|
42
52
|
require 'puree/model/publisher'
|
43
53
|
require 'puree/model/related_content_header'
|
44
54
|
require 'puree/model/spatial_point'
|
@@ -63,6 +73,9 @@ require 'puree/extractor/organisation'
|
|
63
73
|
require 'puree/extractor/person'
|
64
74
|
require 'puree/extractor/project'
|
65
75
|
require 'puree/extractor/publication'
|
76
|
+
require 'puree/extractor/thesis'
|
77
|
+
require 'puree/extractor/doctoral_thesis'
|
78
|
+
require 'puree/extractor/masters_thesis'
|
66
79
|
require 'puree/extractor/publisher'
|
67
80
|
require 'puree/extractor/collection'
|
68
81
|
require 'puree/extractor/download'
|
@@ -19,10 +19,10 @@ module Puree
|
|
19
19
|
#
|
20
20
|
# @param limit [Fixnum]
|
21
21
|
# @param offset [Fixnum]
|
22
|
-
# @param created_start [String]
|
23
|
-
# @param created_end [String]
|
24
|
-
# @param modified_start [String]
|
25
|
-
# @param modified_end [String]
|
22
|
+
# @param created_start [String] using format YYYY-MM-DD
|
23
|
+
# @param created_end [String] using format YYYY-MM-DD
|
24
|
+
# @param modified_start [String] using format YYYY-MM-DD
|
25
|
+
# @param modified_end [String] using format YYYY-MM-DD
|
26
26
|
# @return [Array<Puree::Model::Resource subclass>] Resource metadata e.g. Puree::Model::Dataset.
|
27
27
|
def get(
|
28
28
|
limit: 0,
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Puree
|
2
|
+
module Extractor
|
3
|
+
|
4
|
+
# Doctoral thesis extractor.
|
5
|
+
#
|
6
|
+
class DoctoralThesis < Puree::Extractor::Thesis
|
7
|
+
|
8
|
+
# @option (see Puree::Extractor::Resource#initialize)
|
9
|
+
def initialize(config)
|
10
|
+
set_model_type 'doctoral_thesis'
|
11
|
+
super
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
def combine_metadata
|
17
|
+
super
|
18
|
+
@model.type === 'Doctoral Thesis' ? @model : nil
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Puree
|
2
|
+
module Extractor
|
3
|
+
|
4
|
+
# Master's thesis extractor.
|
5
|
+
#
|
6
|
+
class MastersThesis < Puree::Extractor::Thesis
|
7
|
+
|
8
|
+
# @option (see Puree::Extractor::Resource#initialize)
|
9
|
+
def initialize(config)
|
10
|
+
set_model_type 'masters_thesis'
|
11
|
+
super
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
def combine_metadata
|
17
|
+
super
|
18
|
+
@model.type === "Master's Thesis" ? @model : nil
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
@@ -16,14 +16,14 @@ module Puree
|
|
16
16
|
|
17
17
|
def combine_metadata
|
18
18
|
super
|
19
|
+
|
19
20
|
@model.category = @extractor.category
|
20
21
|
@model.description = @extractor.description
|
21
|
-
@model.doi = @extractor.doi
|
22
|
-
@model.event = @extractor.event
|
23
22
|
@model.files = @extractor.files
|
24
23
|
@model.keywords = @extractor.keywords
|
24
|
+
@model.language = @extractor.language
|
25
25
|
@model.organisations = @extractor.organisations
|
26
|
-
@model.
|
26
|
+
@model.owner = @extractor.owner
|
27
27
|
@model.persons_internal = @extractor.persons_internal
|
28
28
|
@model.persons_external = @extractor.persons_external
|
29
29
|
@model.persons_other = @extractor.persons_other
|
@@ -31,6 +31,8 @@ module Puree
|
|
31
31
|
@model.statuses = @extractor.statuses
|
32
32
|
@model.subtitle = @extractor.subtitle
|
33
33
|
@model.title = @extractor.title
|
34
|
+
@model.translated_subtitle = @extractor.translated_subtitle
|
35
|
+
@model.translated_title = @extractor.translated_title
|
34
36
|
@model.type = @extractor.type
|
35
37
|
@model
|
36
38
|
end
|
@@ -30,6 +30,11 @@ module Puree
|
|
30
30
|
|
31
31
|
private
|
32
32
|
|
33
|
+
# For specialised extraction such as Publication subtypes e.g. doctoral_thesis
|
34
|
+
def set_model_type(type)
|
35
|
+
@model_type = type
|
36
|
+
end
|
37
|
+
|
33
38
|
# Set content from XML.
|
34
39
|
#
|
35
40
|
# @param xml [String]
|
@@ -42,12 +47,20 @@ module Puree
|
|
42
47
|
|
43
48
|
def setup(resource)
|
44
49
|
@resource_type = resource
|
45
|
-
|
50
|
+
if @model_type
|
51
|
+
resource_class = "Puree::Model::#{Puree::Util::String.titleize(@model_type.to_s)}"
|
52
|
+
else
|
53
|
+
resource_class = "Puree::Model::#{resource.to_s.capitalize}"
|
54
|
+
end
|
46
55
|
@model = Object.const_get(resource_class).new
|
47
56
|
end
|
48
57
|
|
49
58
|
def make_xml_extractor xml
|
50
|
-
|
59
|
+
if @model_type
|
60
|
+
resource_class = "Puree::XMLExtractor::#{Puree::Util::String.titleize(@model_type.to_s)}"
|
61
|
+
else
|
62
|
+
resource_class = "Puree::XMLExtractor::#{@resource_type.to_s.capitalize}"
|
63
|
+
end
|
51
64
|
@extractor = Object.const_get(resource_class).new xml: xml
|
52
65
|
end
|
53
66
|
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Puree
|
2
|
+
module Extractor
|
3
|
+
|
4
|
+
# Thesis extractor.
|
5
|
+
#
|
6
|
+
class Thesis < Puree::Extractor::Publication
|
7
|
+
|
8
|
+
# @option (see Puree::Extractor::Resource#initialize)
|
9
|
+
def initialize(config)
|
10
|
+
set_model_type 'thesis'
|
11
|
+
super
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
def combine_metadata
|
17
|
+
super
|
18
|
+
|
19
|
+
thesis_types = ["Master's Thesis", 'Doctoral Thesis']
|
20
|
+
return nil if !thesis_types.include? @model.type
|
21
|
+
|
22
|
+
@model.award_date = @extractor.award_date
|
23
|
+
@model.awarding_institution = @extractor.awarding_institution
|
24
|
+
@model.doi = @extractor.doi
|
25
|
+
@model.pages = @extractor.pages
|
26
|
+
@model.qualification = @extractor.qualification
|
27
|
+
@model.sponsors = @extractor.sponsors
|
28
|
+
@model
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
end
|
@@ -11,23 +11,20 @@ module Puree
|
|
11
11
|
# @return [String, nil]
|
12
12
|
attr_accessor :description
|
13
13
|
|
14
|
-
# @return [String, nil]
|
15
|
-
attr_accessor :doi
|
16
|
-
|
17
|
-
# @return [Puree::Model::EventHeader, nil]
|
18
|
-
attr_accessor :event
|
19
|
-
|
20
14
|
# @return [Array<Puree::Model::File>]
|
21
15
|
attr_accessor :files
|
22
16
|
|
23
17
|
# @return [Array<String>]
|
24
18
|
attr_accessor :keywords
|
25
19
|
|
20
|
+
# @return [String, nil]
|
21
|
+
attr_accessor :language
|
22
|
+
|
26
23
|
# @return [Array<Puree::Model::OrganisationHeader>]
|
27
24
|
attr_accessor :organisations
|
28
25
|
|
29
|
-
# @return [
|
30
|
-
attr_accessor :
|
26
|
+
# @return [Puree::Model::OrganisationHeader, nil]
|
27
|
+
attr_accessor :owner
|
31
28
|
|
32
29
|
# @return [Array<Puree::Model::EndeavourPerson>]
|
33
30
|
attr_accessor :persons_internal
|
@@ -50,6 +47,12 @@ module Puree
|
|
50
47
|
# @return [String, nil]
|
51
48
|
attr_accessor :title
|
52
49
|
|
50
|
+
# @return [String, nil]
|
51
|
+
attr_accessor :translated_subtitle
|
52
|
+
|
53
|
+
# @return [String, nil]
|
54
|
+
attr_accessor :translated_title
|
55
|
+
|
53
56
|
# @return [String, nil]
|
54
57
|
attr_accessor :type
|
55
58
|
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Puree
|
2
|
+
module Model
|
3
|
+
|
4
|
+
# A thesis.
|
5
|
+
#
|
6
|
+
class Thesis < Puree::Model::Publication
|
7
|
+
|
8
|
+
# @return [Time, nil]
|
9
|
+
attr_accessor :award_date
|
10
|
+
|
11
|
+
# @return [Puree::Model::OrganisationHeader, nil]
|
12
|
+
attr_accessor :awarding_institution
|
13
|
+
|
14
|
+
# @return [String, nil]
|
15
|
+
attr_accessor :doi
|
16
|
+
|
17
|
+
# # @return [Fixnum, nil]
|
18
|
+
attr_accessor :pages
|
19
|
+
|
20
|
+
# @return [String, nil]
|
21
|
+
attr_accessor :qualification
|
22
|
+
|
23
|
+
# @return [Array<String>, nil]
|
24
|
+
attr_accessor :sponsors
|
25
|
+
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/lib/puree/util/date.rb
CHANGED
@@ -0,0 +1,19 @@
|
|
1
|
+
module Puree
|
2
|
+
module Util
|
3
|
+
|
4
|
+
# String utilities.
|
5
|
+
module String
|
6
|
+
|
7
|
+
# Titleize
|
8
|
+
# Assumes underscore as separator.
|
9
|
+
# e.g. foo_bar becomes FooBar
|
10
|
+
#
|
11
|
+
def self.titleize(x)
|
12
|
+
arr = "#{x}".split('_')
|
13
|
+
caps = arr.map { |i| i.capitalize }
|
14
|
+
caps.join
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/puree/version.rb
CHANGED
@@ -0,0 +1,24 @@
|
|
1
|
+
module Puree
|
2
|
+
|
3
|
+
module XMLExtractor
|
4
|
+
|
5
|
+
# Event extractor mixin.
|
6
|
+
#
|
7
|
+
module EventMixin
|
8
|
+
|
9
|
+
# @return [Puree::Model::EventHeader, nil]
|
10
|
+
def event
|
11
|
+
xpath_result = xpath_query '/event'
|
12
|
+
if !xpath_result.empty?
|
13
|
+
header = Puree::Model::EventHeader.new
|
14
|
+
header.uuid = xpath_result.xpath('@uuid').text.strip
|
15
|
+
header.title = xpath_result.xpath('title/localizedString').text.strip
|
16
|
+
return header if header.data?
|
17
|
+
end
|
18
|
+
nil
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Puree
|
2
|
+
|
3
|
+
module XMLExtractor
|
4
|
+
|
5
|
+
# Pages extractor mixin.
|
6
|
+
#
|
7
|
+
module PagesMixin
|
8
|
+
|
9
|
+
# @return [Fixnum, nil]
|
10
|
+
def pages
|
11
|
+
xpath_result = xpath_query_for_single_value('/numberOfPages')
|
12
|
+
xpath_result ? xpath_result.to_i : nil
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
end
|
@@ -2,7 +2,7 @@ module Puree
|
|
2
2
|
|
3
3
|
module XMLExtractor
|
4
4
|
|
5
|
-
# Publication
|
5
|
+
# Publication XML extractor.
|
6
6
|
#
|
7
7
|
class Publication < Puree::XMLExtractor::Resource
|
8
8
|
|
@@ -21,23 +21,6 @@ module Puree
|
|
21
21
|
xpath_query_for_single_value '/abstract/localizedString'
|
22
22
|
end
|
23
23
|
|
24
|
-
# @return [String, nil]
|
25
|
-
def doi
|
26
|
-
xpath_query_for_single_value '//doi'
|
27
|
-
end
|
28
|
-
|
29
|
-
# @return [Puree::Model::EventHeader, nil]
|
30
|
-
def event
|
31
|
-
xpath_result = xpath_query '/event'
|
32
|
-
if !xpath_result.empty?
|
33
|
-
header = Puree::Model::EventHeader.new
|
34
|
-
header.uuid = xpath_result.xpath('@uuid').text.strip
|
35
|
-
header.title = xpath_result.xpath('title/localizedString').text.strip
|
36
|
-
return header if header.data?
|
37
|
-
end
|
38
|
-
nil
|
39
|
-
end
|
40
|
-
|
41
24
|
# @return [Array<Puree::Model::File>]
|
42
25
|
def files
|
43
26
|
xpath_result = xpath_query '/electronicVersionAssociations/electronicVersionFileAssociations/electronicVersionFileAssociation'
|
@@ -67,16 +50,21 @@ module Puree
|
|
67
50
|
data_arr.uniq
|
68
51
|
end
|
69
52
|
|
53
|
+
# @return [String, nil]
|
54
|
+
def language
|
55
|
+
xpath_query_for_single_value '/language/term/localizedString'
|
56
|
+
end
|
57
|
+
|
70
58
|
# @return [Array<Puree::Model::OrganisationHeader>]
|
71
59
|
def organisations
|
72
60
|
xpath_result = xpath_query '/organisations/association/organisation'
|
73
61
|
Puree::XMLExtractor::Shared.organisation_multi_header xpath_result
|
74
62
|
end
|
75
63
|
|
76
|
-
# @return [
|
77
|
-
def
|
78
|
-
xpath_result =
|
79
|
-
|
64
|
+
# @return [Puree::Model::OrganisationHeader, nil]
|
65
|
+
def owner
|
66
|
+
xpath_result = xpath_query '/owner'
|
67
|
+
Puree::XMLExtractor::Shared.organisation_header xpath_result
|
80
68
|
end
|
81
69
|
|
82
70
|
# @return [Array<Puree::Model::EndeavourPerson>]
|
@@ -129,6 +117,16 @@ module Puree
|
|
129
117
|
xpath_query_for_single_value '/title'
|
130
118
|
end
|
131
119
|
|
120
|
+
# @return [String, nil]
|
121
|
+
def translated_subtitle
|
122
|
+
xpath_query_for_single_value '/translatedSubtitle/localizedString'
|
123
|
+
end
|
124
|
+
|
125
|
+
# @return [String, nil]
|
126
|
+
def translated_title
|
127
|
+
xpath_query_for_single_value '/translatedTitle/localizedString'
|
128
|
+
end
|
129
|
+
|
132
130
|
# @return [String, nil]
|
133
131
|
def type
|
134
132
|
xpath_query_for_single_value '/typeClassification/term/localizedString'
|
@@ -187,7 +185,11 @@ module Puree
|
|
187
185
|
# Author
|
188
186
|
# Illustrator
|
189
187
|
# Editor
|
190
|
-
# Translator
|
188
|
+
# Translator # # @return [Fixnum, nil]
|
189
|
+
# def pages
|
190
|
+
# xpath_result = xpath_query_for_single_value('/numberOfPages')
|
191
|
+
# xpath_result ? xpath_result.to_i : nil
|
192
|
+
# end
|
191
193
|
# Publisher
|
192
194
|
|
193
195
|
# ... many, many more research output types ...
|
@@ -0,0 +1,44 @@
|
|
1
|
+
module Puree
|
2
|
+
module XMLExtractor
|
3
|
+
|
4
|
+
# Thesis XML extractor.
|
5
|
+
#
|
6
|
+
class Thesis < Puree::XMLExtractor::Publication
|
7
|
+
include Puree::XMLExtractor::DoiMixin
|
8
|
+
include Puree::XMLExtractor::PagesMixin
|
9
|
+
|
10
|
+
def initialize(xml:)
|
11
|
+
super
|
12
|
+
end
|
13
|
+
|
14
|
+
# @return [Time, nil]
|
15
|
+
def award_date
|
16
|
+
xpath_result = xpath_query_for_single_value('/awardDate')
|
17
|
+
Time.parse xpath_result if xpath_result
|
18
|
+
end
|
19
|
+
|
20
|
+
# @return [Puree::Model::OrganisationHeader, nil]
|
21
|
+
def awarding_institution
|
22
|
+
xpath_result = xpath_query '/awardingInstitution/internalExternalOrganisationAssociation/organisation'
|
23
|
+
Puree::XMLExtractor::Shared.organisation_header xpath_result
|
24
|
+
end
|
25
|
+
|
26
|
+
# @return [String, nil]
|
27
|
+
def qualification
|
28
|
+
types = {
|
29
|
+
'/dk/atira/pure/thesis/qualification/mphil' => 'MPhil',
|
30
|
+
'/dk/atira/pure/thesis/qualification/phd' => 'PhD',
|
31
|
+
'/dk/atira/pure/thesis/qualification/masters_by_research' => 'Masters by Research'
|
32
|
+
}
|
33
|
+
xpath_result = xpath_query_for_single_value '/qualification/uri'
|
34
|
+
types[xpath_result]
|
35
|
+
end
|
36
|
+
|
37
|
+
# @return [Array<String>]
|
38
|
+
def sponsors
|
39
|
+
xpath_query_for_multi_value '/sponsors/externalOrganisation/name'
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puree
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adrian Albin-Clark
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-03-
|
11
|
+
date: 2017-03-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: http
|
@@ -73,10 +73,12 @@ files:
|
|
73
73
|
- lib/puree/api/request.rb
|
74
74
|
- lib/puree/extractor/collection.rb
|
75
75
|
- lib/puree/extractor/dataset.rb
|
76
|
+
- lib/puree/extractor/doctoral_thesis.rb
|
76
77
|
- lib/puree/extractor/download.rb
|
77
78
|
- lib/puree/extractor/event.rb
|
78
79
|
- lib/puree/extractor/extractor.rb
|
79
80
|
- lib/puree/extractor/journal.rb
|
81
|
+
- lib/puree/extractor/masters_thesis.rb
|
80
82
|
- lib/puree/extractor/organisation.rb
|
81
83
|
- lib/puree/extractor/person.rb
|
82
84
|
- lib/puree/extractor/project.rb
|
@@ -84,9 +86,11 @@ files:
|
|
84
86
|
- lib/puree/extractor/publisher.rb
|
85
87
|
- lib/puree/extractor/resource.rb
|
86
88
|
- lib/puree/extractor/server.rb
|
89
|
+
- lib/puree/extractor/thesis.rb
|
87
90
|
- lib/puree/model/address.rb
|
88
91
|
- lib/puree/model/copyright_license.rb
|
89
92
|
- lib/puree/model/dataset.rb
|
93
|
+
- lib/puree/model/doctoral_thesis.rb
|
90
94
|
- lib/puree/model/download_header.rb
|
91
95
|
- lib/puree/model/endeavour_person.rb
|
92
96
|
- lib/puree/model/event.rb
|
@@ -96,6 +100,7 @@ files:
|
|
96
100
|
- lib/puree/model/journal.rb
|
97
101
|
- lib/puree/model/legal_condition.rb
|
98
102
|
- lib/puree/model/link.rb
|
103
|
+
- lib/puree/model/masters_thesis.rb
|
99
104
|
- lib/puree/model/model.rb
|
100
105
|
- lib/puree/model/organisation.rb
|
101
106
|
- lib/puree/model/organisation_header.rb
|
@@ -111,15 +116,22 @@ files:
|
|
111
116
|
- lib/puree/model/spatial_point.rb
|
112
117
|
- lib/puree/model/structure.rb
|
113
118
|
- lib/puree/model/temporal_range.rb
|
119
|
+
- lib/puree/model/thesis.rb
|
114
120
|
- lib/puree/util/date.rb
|
121
|
+
- lib/puree/util/string.rb
|
115
122
|
- lib/puree/util/util.rb
|
116
123
|
- lib/puree/version.rb
|
117
124
|
- lib/puree/xml_extractor/base.rb
|
118
125
|
- lib/puree/xml_extractor/collection.rb
|
119
126
|
- lib/puree/xml_extractor/dataset.rb
|
127
|
+
- lib/puree/xml_extractor/doctoral_thesis.rb
|
120
128
|
- lib/puree/xml_extractor/download.rb
|
121
129
|
- lib/puree/xml_extractor/event.rb
|
122
130
|
- lib/puree/xml_extractor/journal.rb
|
131
|
+
- lib/puree/xml_extractor/masters_thesis.rb
|
132
|
+
- lib/puree/xml_extractor/mixins/doi_mixin.rb
|
133
|
+
- lib/puree/xml_extractor/mixins/event_mixin.rb
|
134
|
+
- lib/puree/xml_extractor/mixins/pages_mixin.rb
|
123
135
|
- lib/puree/xml_extractor/organisation.rb
|
124
136
|
- lib/puree/xml_extractor/person.rb
|
125
137
|
- lib/puree/xml_extractor/project.rb
|
@@ -128,6 +140,7 @@ files:
|
|
128
140
|
- lib/puree/xml_extractor/resource.rb
|
129
141
|
- lib/puree/xml_extractor/server.rb
|
130
142
|
- lib/puree/xml_extractor/shared.rb
|
143
|
+
- lib/puree/xml_extractor/thesis.rb
|
131
144
|
- lib/puree/xml_extractor/xml_extractor.rb
|
132
145
|
- puree.gemspec
|
133
146
|
- spec/download_http_spec.rb
|