puree 1.2.0 → 1.3.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 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