puree 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 92900cf287eee283a00fc51d36aacdf62b6c0ef7
4
- data.tar.gz: b3a7ea09d42501087a1bb86cd019d1ccbc6e0971
3
+ metadata.gz: 5aa6af3718ebb33cd7b19ef9142cb73b4a5d0f5c
4
+ data.tar.gz: b0c01d0104f64d84b9b28a8fca142d9c6fec9165
5
5
  SHA512:
6
- metadata.gz: e0950129f4825a69f43286e5b6a933e0213e7ac48a99dfcd9cb8305d7c88f464b56472fad809d0b8eee68847d8b5b3decd16bdf4a911f3c23b037e51abff40f0
7
- data.tar.gz: b61ec2735dc14cbdc196ad5049e4293f4f4972d5a5d0dac27d257af868ac20178be9e2e8682fd19bdcbbdafd7b60214bfecf9a0726cfe149454463f5d7fc9c4c
6
+ metadata.gz: a3772603849fb583fcbcc48b9d2343d06c64d17fc2d239d687556e7579804704e1b498cf568285ac49d3bd96669077644a80df3725fae21ed6a39a9fe2b4d85f
7
+ data.tar.gz: f5906459dedcc2ce1693e6d33d862b300196c4bc551c9bfec2e24b946fae4eacd2ac494e7a7ee8f918a3892708e317ab0ff4ee160496d4f5e30915aa21ed573c
@@ -5,13 +5,17 @@ This project adheres to [Semantic Versioning](http://semver.org/).
5
5
  ## Unreleased
6
6
  - Metadata: activity?, clipping?, externalPerson?
7
7
 
8
+ ## 1.3.0 - 2017-04-03
9
+ ### Added
10
+ - Publication type - JournalArticle, Paper, ConferencePaper.
11
+
8
12
  ## 1.2.0 - 2017-03-31
9
13
  ### Added
10
14
  - Publication - language, owner, translated_title, translated_subtitle.
11
15
  - Publication types - Doctoral Thesis and Master's Thesis.
12
16
 
13
17
  ### Changed
14
- - Publication - common attribute set established. doi, event, pages become mixins
18
+ - Publication - common attributes established. doi, event, pages become mixins
15
19
  for publication types.
16
20
 
17
21
  ## 1.1.0 - 2017-03-24
@@ -17,13 +17,21 @@ require 'puree/xml_extractor/journal'
17
17
  require 'puree/xml_extractor/organisation'
18
18
  require 'puree/xml_extractor/person'
19
19
  require 'puree/xml_extractor/project'
20
- require 'puree/xml_extractor/publication'
20
+
21
21
  require 'puree/xml_extractor/mixins/doi_mixin'
22
22
  require 'puree/xml_extractor/mixins/event_mixin'
23
23
  require 'puree/xml_extractor/mixins/pages_mixin'
24
+ require 'puree/xml_extractor/mixins/page_range_mixin'
25
+ require 'puree/xml_extractor/mixins/peer_reviewed_mixin'
26
+ require 'puree/xml_extractor/publication'
24
27
  require 'puree/xml_extractor/thesis'
25
28
  require 'puree/xml_extractor/doctoral_thesis'
26
29
  require 'puree/xml_extractor/masters_thesis'
30
+ require 'puree/xml_extractor/journal_article'
31
+ require 'puree/xml_extractor/paper_base'
32
+ require 'puree/xml_extractor/conference_paper'
33
+ require 'puree/xml_extractor/paper'
34
+
27
35
  require 'puree/xml_extractor/publisher'
28
36
  require 'puree/xml_extractor/server'
29
37
 
@@ -41,14 +49,21 @@ require 'puree/model/download_header'
41
49
  require 'puree/model/event'
42
50
  require 'puree/model/event_header'
43
51
  require 'puree/model/journal'
52
+ require 'puree/model/journal_header'
44
53
  require 'puree/model/link'
45
54
  require 'puree/model/organisation'
46
55
  require 'puree/model/person'
47
56
  require 'puree/model/project'
57
+
48
58
  require 'puree/model/publication'
49
59
  require 'puree/model/thesis'
50
60
  require 'puree/model/doctoral_thesis'
51
61
  require 'puree/model/masters_thesis'
62
+ require 'puree/model/journal_article'
63
+ require 'puree/model/paper_base'
64
+ require 'puree/model/conference_paper'
65
+ require 'puree/model/paper'
66
+
52
67
  require 'puree/model/publisher'
53
68
  require 'puree/model/related_content_header'
54
69
  require 'puree/model/spatial_point'
@@ -72,10 +87,16 @@ require 'puree/extractor/journal'
72
87
  require 'puree/extractor/organisation'
73
88
  require 'puree/extractor/person'
74
89
  require 'puree/extractor/project'
90
+
75
91
  require 'puree/extractor/publication'
76
92
  require 'puree/extractor/thesis'
77
93
  require 'puree/extractor/doctoral_thesis'
78
94
  require 'puree/extractor/masters_thesis'
95
+ require 'puree/extractor/journal_article'
96
+ require 'puree/extractor/paper_base'
97
+ require 'puree/extractor/conference_paper'
98
+ require 'puree/extractor/paper'
99
+
79
100
  require 'puree/extractor/publisher'
80
101
  require 'puree/extractor/collection'
81
102
  require 'puree/extractor/download'
@@ -0,0 +1,26 @@
1
+ module Puree
2
+ module Extractor
3
+
4
+ # Conference paper extractor.
5
+ #
6
+ class ConferencePaper < Puree::Extractor::PaperBase
7
+
8
+ # @option (see Puree::Extractor::Resource#initialize)
9
+ def initialize(config)
10
+ set_model_type 'conference_paper'
11
+ super
12
+ end
13
+
14
+ private
15
+
16
+ def combine_metadata
17
+ super
18
+
19
+ @model.event = @extractor.event
20
+ @model
21
+ end
22
+
23
+ end
24
+
25
+ end
26
+ end
@@ -0,0 +1,32 @@
1
+ module Puree
2
+ module Extractor
3
+
4
+ # Journal article extractor.
5
+ #
6
+ class JournalArticle < Puree::Extractor::Publication
7
+
8
+ # @option (see Puree::Extractor::Resource#initialize)
9
+ def initialize(config)
10
+ set_model_type 'journal_article'
11
+ super
12
+ end
13
+
14
+ private
15
+
16
+ def combine_metadata
17
+ super
18
+
19
+ @model.article_number = @extractor.article_number
20
+ @model.issue = @extractor.issue
21
+ @model.journal = @extractor.journal
22
+ @model.pages = @extractor.pages
23
+ @model.page_range = @extractor.page_range
24
+ @model.peer_reviewed = @extractor.peer_reviewed
25
+ @model.volume = @extractor.volume
26
+ @model
27
+ end
28
+
29
+ end
30
+
31
+ end
32
+ end
@@ -0,0 +1,23 @@
1
+ module Puree
2
+ module Extractor
3
+
4
+ # Paper extractor.
5
+ #
6
+ class Paper < Puree::Extractor::PaperBase
7
+
8
+ # @option (see Puree::Extractor::Resource#initialize)
9
+ def initialize(config)
10
+ set_model_type 'paper'
11
+ super
12
+ end
13
+
14
+ private
15
+
16
+ def combine_metadata
17
+ super
18
+ end
19
+
20
+ end
21
+
22
+ end
23
+ end
@@ -0,0 +1,28 @@
1
+ module Puree
2
+ module Extractor
3
+
4
+ # Paper base extractor.
5
+ # Do not use directly.
6
+ #
7
+ class PaperBase < Puree::Extractor::Publication
8
+
9
+ # @option (see Puree::Extractor::Resource#initialize)
10
+ def initialize(config)
11
+ super
12
+ end
13
+
14
+ private
15
+
16
+ def combine_metadata
17
+ super
18
+
19
+ @model.pages = @extractor.pages
20
+ @model.page_range = @extractor.page_range
21
+ @model.peer_reviewed = @extractor.peer_reviewed
22
+ @model
23
+ end
24
+
25
+ end
26
+
27
+ end
28
+ end
@@ -17,16 +17,20 @@ module Puree
17
17
  def combine_metadata
18
18
  super
19
19
 
20
+ @model.bibliographical_note = @extractor.bibliographical_note
20
21
  @model.category = @extractor.category
21
22
  @model.description = @extractor.description
23
+ @model.dois = @extractor.dois
22
24
  @model.files = @extractor.files
23
25
  @model.keywords = @extractor.keywords
24
26
  @model.language = @extractor.language
27
+ @model.links = @extractor.links
25
28
  @model.organisations = @extractor.organisations
26
29
  @model.owner = @extractor.owner
27
30
  @model.persons_internal = @extractor.persons_internal
28
31
  @model.persons_external = @extractor.persons_external
29
32
  @model.persons_other = @extractor.persons_other
33
+ @model.publication_place = @extractor.publication_place
30
34
  @model.publisher = @extractor.publisher
31
35
  @model.statuses = @extractor.statuses
32
36
  @model.subtitle = @extractor.subtitle
@@ -0,0 +1,13 @@
1
+ module Puree
2
+ module Model
3
+
4
+ # A conference paper.
5
+ #
6
+ class ConferencePaper < Puree::Model::PaperBase
7
+
8
+ # @return [Puree::Model::EventHeader, nil]
9
+ attr_accessor :event
10
+
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,31 @@
1
+ module Puree
2
+ module Model
3
+
4
+ # A journal article.
5
+ #
6
+ class JournalArticle < Puree::Model::Publication
7
+
8
+ # @return [Fixnum, nil]
9
+ attr_accessor :article_number
10
+
11
+ # @return [Puree::Model::JournalHeader, nil]
12
+ attr_accessor :journal
13
+
14
+ # @return [Fixnum, nil]
15
+ attr_accessor :issue
16
+
17
+ # @return [Fixnum, nil]
18
+ attr_accessor :pages
19
+
20
+ # @return [String, nil]
21
+ attr_accessor :page_range
22
+
23
+ # @return [Boolean, nil]
24
+ attr_accessor :peer_reviewed
25
+
26
+ # @return [Fixnum, nil]
27
+ attr_accessor :volume
28
+
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,34 @@
1
+ module Puree
2
+ module Model
3
+
4
+ # A minimal representation of a journal.
5
+ #
6
+ class JournalHeader < Puree::Model::Structure
7
+
8
+ # @return [String, nil]
9
+ attr_reader :uuid
10
+
11
+ # @return [String, nil]
12
+ attr_reader :title
13
+
14
+ # @return [String, nil]
15
+ attr_reader :type
16
+
17
+ # @param v [String]
18
+ def uuid=(v)
19
+ @uuid = v if v && !v.empty?
20
+ end
21
+
22
+ # @param v [String]
23
+ def title=(v)
24
+ @title = v if v && !v.empty?
25
+ end
26
+
27
+ # @param v [String]
28
+ def type=(v)
29
+ @type = v if v && !v.empty?
30
+ end
31
+
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,10 @@
1
+ module Puree
2
+ module Model
3
+
4
+ # A paper.
5
+ #
6
+ class Paper < Puree::Model::PaperBase
7
+
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,19 @@
1
+ module Puree
2
+ module Model
3
+
4
+ # A base paper.
5
+ #
6
+ class PaperBase < Puree::Model::Publication
7
+
8
+ # @return [Fixnum, nil]
9
+ attr_accessor :pages
10
+
11
+ # @return [String, nil]
12
+ attr_accessor :page_range
13
+
14
+ # @return [Boolean, nil]
15
+ attr_accessor :peer_reviewed
16
+
17
+ end
18
+ end
19
+ end
@@ -5,12 +5,18 @@ module Puree
5
5
  #
6
6
  class Publication < Resource
7
7
 
8
+ # @return [String, nil]
9
+ attr_accessor :bibliographical_note
10
+
8
11
  # @return [String, nil]
9
12
  attr_accessor :category
10
13
 
11
14
  # @return [String, nil]
12
15
  attr_accessor :description
13
16
 
17
+ # @return [Array<String>]
18
+ attr_accessor :dois
19
+
14
20
  # @return [Array<Puree::Model::File>]
15
21
  attr_accessor :files
16
22
 
@@ -20,6 +26,9 @@ module Puree
20
26
  # @return [String, nil]
21
27
  attr_accessor :language
22
28
 
29
+ # @return [Array<String>]
30
+ attr_accessor :links
31
+
23
32
  # @return [Array<Puree::Model::OrganisationHeader>]
24
33
  attr_accessor :organisations
25
34
 
@@ -35,6 +44,9 @@ module Puree
35
44
  # @return [Array<Puree::Model::EndeavourPerson>]
36
45
  attr_accessor :persons_other
37
46
 
47
+ # @return [String, nil]
48
+ attr_accessor :publication_place
49
+
38
50
  # @return [String, nil]
39
51
  attr_accessor :publisher
40
52
 
@@ -14,7 +14,7 @@ module Puree
14
14
  # @return [String, nil]
15
15
  attr_accessor :doi
16
16
 
17
- # # @return [Fixnum, nil]
17
+ # @return [Fixnum, nil]
18
18
  attr_accessor :pages
19
19
 
20
20
  # @return [String, nil]
@@ -1,5 +1,5 @@
1
1
  module Puree
2
2
  # Semantic version number
3
3
  #
4
- VERSION = "1.2.0"
4
+ VERSION = "1.3.0"
5
5
  end
@@ -0,0 +1,15 @@
1
+ module Puree
2
+ module XMLExtractor
3
+
4
+ # Conference paper XML extractor.
5
+ #
6
+ class ConferencePaper < Puree::XMLExtractor::PaperBase
7
+ include Puree::XMLExtractor::EventMixin
8
+
9
+ def initialize(xml:)
10
+ super
11
+ end
12
+
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,48 @@
1
+ module Puree
2
+ module XMLExtractor
3
+
4
+ # Journal article XML extractor.
5
+ #
6
+ class JournalArticle < Puree::XMLExtractor::Publication
7
+ include Puree::XMLExtractor::PagesMixin
8
+ include Puree::XMLExtractor::PageRangeMixin
9
+ include Puree::XMLExtractor::PeerReviewedMixin
10
+
11
+ def initialize(xml:)
12
+ super
13
+ end
14
+
15
+ # @return [Fixnum, nil]
16
+ def article_number
17
+ xpath_query_for_single_value('/articleNumber')
18
+ end
19
+
20
+ # @return [Fixnum, nil]
21
+ def issue
22
+ xpath_result = xpath_query_for_single_value('/journalNumber')
23
+ xpath_result ? xpath_result.to_i : nil
24
+ end
25
+
26
+ # @return [Puree::Model::JournalHeader, nil]
27
+ def journal
28
+ xpath_result = xpath_query '/journal'
29
+ if !xpath_result.empty?
30
+ header = Puree::Model::JournalHeader.new
31
+ header.title = xpath_result.xpath('title').text.strip
32
+ journal = xpath_result.xpath('journal')
33
+ header.type = journal.xpath('typeClassification/term/localizedString').text.strip
34
+ header.uuid = journal.attr('uuid').text.strip
35
+ return header
36
+ end
37
+ nil
38
+ end
39
+
40
+ # @return [Fixnum, nil]
41
+ def volume
42
+ xpath_result = xpath_query_for_single_value('/volume')
43
+ xpath_result ? xpath_result.to_i : nil
44
+ end
45
+
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,18 @@
1
+ module Puree
2
+
3
+ module XMLExtractor
4
+
5
+ # Page range mixin.
6
+ #
7
+ module PageRangeMixin
8
+
9
+ # @return [String, nil]
10
+ def page_range
11
+ xpath_result = xpath_query_for_single_value('/pages')
12
+ xpath_result ? xpath_result : nil
13
+ end
14
+
15
+ end
16
+
17
+ end
18
+ end
@@ -0,0 +1,20 @@
1
+ module Puree
2
+
3
+ module XMLExtractor
4
+
5
+ # Peer reviewed extractor mixin.
6
+ #
7
+ module PeerReviewedMixin
8
+
9
+ # @return [Boolean, nil]
10
+ def peer_reviewed
11
+ xpath_result = xpath_query_for_single_value('/peerReview/peerReviewed')
12
+ return true if xpath_result === 'true'
13
+ return false if xpath_result === 'false'
14
+ nil
15
+ end
16
+
17
+ end
18
+
19
+ end
20
+ end
@@ -0,0 +1,14 @@
1
+ module Puree
2
+ module XMLExtractor
3
+
4
+ # Paper XML extractor.
5
+ #
6
+ class Paper < Puree::XMLExtractor::PaperBase
7
+
8
+ def initialize(xml:)
9
+ super
10
+ end
11
+
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,17 @@
1
+ module Puree
2
+ module XMLExtractor
3
+
4
+ # Paper base XML extractor.
5
+ #
6
+ class PaperBase < Puree::XMLExtractor::Publication
7
+ include Puree::XMLExtractor::PagesMixin
8
+ include Puree::XMLExtractor::PageRangeMixin
9
+ include Puree::XMLExtractor::PeerReviewedMixin
10
+
11
+ def initialize(xml:)
12
+ super
13
+ end
14
+
15
+ end
16
+ end
17
+ end
@@ -11,6 +11,11 @@ module Puree
11
11
  super
12
12
  end
13
13
 
14
+ # @return [String, nil]
15
+ def bibliographical_note
16
+ xpath_query_for_single_value('/bibliographicalNote')
17
+ end
18
+
14
19
  # @return [String, nil]
15
20
  def category
16
21
  xpath_query_for_single_value '/publicationCategory/publicationCategory/term/localizedString'
@@ -21,6 +26,11 @@ module Puree
21
26
  xpath_query_for_single_value '/abstract/localizedString'
22
27
  end
23
28
 
29
+ # @return [Array<String>, nil]
30
+ def dois
31
+ xpath_query_for_multi_value '/electronicVersionAssociations/electronicVersionDOIAssociations/electronicVersionDOIAssociation/doi'
32
+ end
33
+
24
34
  # @return [Array<Puree::Model::File>]
25
35
  def files
26
36
  xpath_result = xpath_query '/electronicVersionAssociations/electronicVersionFileAssociations/electronicVersionFileAssociation'
@@ -55,6 +65,11 @@ module Puree
55
65
  xpath_query_for_single_value '/language/term/localizedString'
56
66
  end
57
67
 
68
+ # @return [Array<String>, nil]
69
+ def links
70
+ xpath_query_for_multi_value '/electronicVersionAssociations/electronicVersionLinkAssociations/electronicVersionLinkAssociation/link'
71
+ end
72
+
58
73
  # @return [Array<Puree::Model::OrganisationHeader>]
59
74
  def organisations
60
75
  xpath_result = xpath_query '/organisations/association/organisation'
@@ -82,9 +97,20 @@ module Puree
82
97
  persons 'other'
83
98
  end
84
99
 
100
+ # @return [String, nil]
101
+ def publication_place
102
+ # handles variations in path
103
+ xpath_result = xpath_query_for_single_value '/associatedPublisher/placeOfPublication'
104
+ xpath_result = xpath_query_for_single_value '/associatedPublishers/placeOfPublication' if !xpath_result
105
+ xpath_result
106
+ end
107
+
85
108
  # @return [String, nil]
86
109
  def publisher
87
- xpath_query_for_single_value '/associatedPublisher/publisher/name'
110
+ # handles variations in path
111
+ xpath_result = xpath_query_for_single_value '/associatedPublisher/publisher/name'
112
+ xpath_result = xpath_query_for_single_value '/associatedPublishers/publisher/name' if !xpath_result
113
+ xpath_result
88
114
  end
89
115
 
90
116
  # @return [Array<Puree::Model::PublicationStatus>]
@@ -55,6 +55,10 @@ describe 'Dataset' do
55
55
  expect(@p.links).to all( be_a Puree::Model::Link )
56
56
  end
57
57
 
58
+ it '#owner' do
59
+ expect(@p.owner).to be_a Puree::Model::OrganisationHeader if @p.owner
60
+ end
61
+
58
62
  it '#persons_internal' do
59
63
  expect(@p.persons_internal).to all( be_a Puree::Model::EndeavourPerson )
60
64
  end
@@ -25,14 +25,6 @@ describe 'Publication' do
25
25
  expect(@p.description).to be_a String if @p.description
26
26
  end
27
27
 
28
- it '#doi' do
29
- expect(@p.doi).to be_a String if @p.doi
30
- end
31
-
32
- it '#event' do
33
- expect(@p.event).to be_a Puree::Model::EventHeader if @p.event
34
- end
35
-
36
28
  it '#files' do
37
29
  expect(@p.files).to all( be_a Puree::Model::File )
38
30
  end
@@ -41,8 +33,8 @@ describe 'Publication' do
41
33
  expect(@p.organisations).to all( be_a Puree::Model::OrganisationHeader )
42
34
  end
43
35
 
44
- it '#pages' do
45
- expect(@p.pages).to be_a Fixnum if @p.pages
36
+ it '#owner' do
37
+ expect(@p.owner).to be_a Puree::Model::OrganisationHeader if @p.owner
46
38
  end
47
39
 
48
40
  it '#persons_internal' do
@@ -69,6 +61,14 @@ describe 'Publication' do
69
61
  expect(@p.title).to be_a String if @p.title
70
62
  end
71
63
 
64
+ it '#translated_title' do
65
+ expect(@p.translated_title).to be_a String if @p.translated_title
66
+ end
67
+
68
+ it '#translated_subtitle' do
69
+ expect(@p.translated_subtitle).to be_a String if @p.translated_subtitle
70
+ end
71
+
72
72
  it '#type' do
73
73
  expect(@p.type).to be_a String if @p.type
74
74
  end
@@ -17,7 +17,21 @@ require 'puree/xml_extractor/journal'
17
17
  require 'puree/xml_extractor/organisation'
18
18
  require 'puree/xml_extractor/person'
19
19
  require 'puree/xml_extractor/project'
20
+
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/mixins/page_range_mixin'
25
+ require 'puree/xml_extractor/mixins/peer_reviewed_mixin'
20
26
  require 'puree/xml_extractor/publication'
27
+ require 'puree/xml_extractor/thesis'
28
+ require 'puree/xml_extractor/doctoral_thesis'
29
+ require 'puree/xml_extractor/masters_thesis'
30
+ require 'puree/xml_extractor/journal_article'
31
+ require 'puree/xml_extractor/paper_base'
32
+ require 'puree/xml_extractor/conference_paper'
33
+ require 'puree/xml_extractor/paper'
34
+
21
35
  require 'puree/xml_extractor/publisher'
22
36
  require 'puree/xml_extractor/server'
23
37
 
@@ -26,19 +40,30 @@ require 'puree/api/request'
26
40
  require 'puree/api/configuration'
27
41
  require 'puree/api/authentication'
28
42
 
43
+ require 'puree/model/helper/validation'
29
44
  require 'puree/model/structure'
30
45
 
31
46
  require 'puree/model/resource'
32
47
  require 'puree/model/dataset'
33
48
  require 'puree/model/download_header'
34
49
  require 'puree/model/event'
35
- require 'puree/model/event'
50
+ require 'puree/model/event_header'
36
51
  require 'puree/model/journal'
52
+ require 'puree/model/journal_header'
37
53
  require 'puree/model/link'
38
54
  require 'puree/model/organisation'
39
55
  require 'puree/model/person'
40
56
  require 'puree/model/project'
57
+
41
58
  require 'puree/model/publication'
59
+ require 'puree/model/thesis'
60
+ require 'puree/model/doctoral_thesis'
61
+ require 'puree/model/masters_thesis'
62
+ require 'puree/model/journal_article'
63
+ require 'puree/model/paper_base'
64
+ require 'puree/model/conference_paper'
65
+ require 'puree/model/paper'
66
+
42
67
  require 'puree/model/publisher'
43
68
  require 'puree/model/related_content_header'
44
69
  require 'puree/model/spatial_point'
@@ -62,7 +87,16 @@ require 'puree/extractor/journal'
62
87
  require 'puree/extractor/organisation'
63
88
  require 'puree/extractor/person'
64
89
  require 'puree/extractor/project'
90
+
65
91
  require 'puree/extractor/publication'
92
+ require 'puree/extractor/thesis'
93
+ require 'puree/extractor/doctoral_thesis'
94
+ require 'puree/extractor/masters_thesis'
95
+ require 'puree/extractor/journal_article'
96
+ require 'puree/extractor/paper_base'
97
+ require 'puree/extractor/conference_paper'
98
+ require 'puree/extractor/paper'
99
+
66
100
  require 'puree/extractor/publisher'
67
101
  require 'puree/extractor/collection'
68
102
  require 'puree/extractor/download'
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.2.0
4
+ version: 1.3.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-31 00:00:00.000000000 Z
11
+ date: 2017-04-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http
@@ -72,14 +72,18 @@ files:
72
72
  - lib/puree/api/map.rb
73
73
  - lib/puree/api/request.rb
74
74
  - lib/puree/extractor/collection.rb
75
+ - lib/puree/extractor/conference_paper.rb
75
76
  - lib/puree/extractor/dataset.rb
76
77
  - lib/puree/extractor/doctoral_thesis.rb
77
78
  - lib/puree/extractor/download.rb
78
79
  - lib/puree/extractor/event.rb
79
80
  - lib/puree/extractor/extractor.rb
80
81
  - lib/puree/extractor/journal.rb
82
+ - lib/puree/extractor/journal_article.rb
81
83
  - lib/puree/extractor/masters_thesis.rb
82
84
  - lib/puree/extractor/organisation.rb
85
+ - lib/puree/extractor/paper.rb
86
+ - lib/puree/extractor/paper_base.rb
83
87
  - lib/puree/extractor/person.rb
84
88
  - lib/puree/extractor/project.rb
85
89
  - lib/puree/extractor/publication.rb
@@ -88,6 +92,7 @@ files:
88
92
  - lib/puree/extractor/server.rb
89
93
  - lib/puree/extractor/thesis.rb
90
94
  - lib/puree/model/address.rb
95
+ - lib/puree/model/conference_paper.rb
91
96
  - lib/puree/model/copyright_license.rb
92
97
  - lib/puree/model/dataset.rb
93
98
  - lib/puree/model/doctoral_thesis.rb
@@ -98,12 +103,16 @@ files:
98
103
  - lib/puree/model/file.rb
99
104
  - lib/puree/model/helper/validation.rb
100
105
  - lib/puree/model/journal.rb
106
+ - lib/puree/model/journal_article.rb
107
+ - lib/puree/model/journal_header.rb
101
108
  - lib/puree/model/legal_condition.rb
102
109
  - lib/puree/model/link.rb
103
110
  - lib/puree/model/masters_thesis.rb
104
111
  - lib/puree/model/model.rb
105
112
  - lib/puree/model/organisation.rb
106
113
  - lib/puree/model/organisation_header.rb
114
+ - lib/puree/model/paper.rb
115
+ - lib/puree/model/paper_base.rb
107
116
  - lib/puree/model/person.rb
108
117
  - lib/puree/model/person_name.rb
109
118
  - lib/puree/model/project.rb
@@ -123,16 +132,22 @@ files:
123
132
  - lib/puree/version.rb
124
133
  - lib/puree/xml_extractor/base.rb
125
134
  - lib/puree/xml_extractor/collection.rb
135
+ - lib/puree/xml_extractor/conference_paper.rb
126
136
  - lib/puree/xml_extractor/dataset.rb
127
137
  - lib/puree/xml_extractor/doctoral_thesis.rb
128
138
  - lib/puree/xml_extractor/download.rb
129
139
  - lib/puree/xml_extractor/event.rb
130
140
  - lib/puree/xml_extractor/journal.rb
141
+ - lib/puree/xml_extractor/journal_article.rb
131
142
  - lib/puree/xml_extractor/masters_thesis.rb
132
143
  - lib/puree/xml_extractor/mixins/doi_mixin.rb
133
144
  - lib/puree/xml_extractor/mixins/event_mixin.rb
145
+ - lib/puree/xml_extractor/mixins/page_range_mixin.rb
134
146
  - lib/puree/xml_extractor/mixins/pages_mixin.rb
147
+ - lib/puree/xml_extractor/mixins/peer_reviewed_mixin.rb
135
148
  - lib/puree/xml_extractor/organisation.rb
149
+ - lib/puree/xml_extractor/paper.rb
150
+ - lib/puree/xml_extractor/paper_base.rb
136
151
  - lib/puree/xml_extractor/person.rb
137
152
  - lib/puree/xml_extractor/project.rb
138
153
  - lib/puree/xml_extractor/publication.rb