Class: Puree::Query::Person

Inherits:
Object
  • Object
show all
Defined in:
lib/puree/query/person.rb

Overview

For querying information about a person.

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Person

Returns a new instance of Person.



9
10
11
12
13
14
15
# File 'lib/puree/query/person.rb', line 9

def initialize(config)
  @url = config[:url]
  @headers = {}
  basic_auth username: config[:username],
             password: config[:password]
  @config = config
end

Instance Method Details

#publication_count(uuid:) ⇒ Fixnum

Count of publications available for a person.

Parameters:

  • uuid (String)

    person UUID.

Returns:

  • (Fixnum)


21
22
23
24
25
26
27
28
29
30
# File 'lib/puree/query/person.rb', line 21

def publication_count(uuid:)
  params = {}
  params['associatedPersonUuids.uuid'] = uuid
  params['rendering'] = :system
  params['window.size'] = 0
  headers
  response = @req.get(build_publication_url, params: params)
  doc = make_doc response.body
  extract_publication_count doc
end

#publications(uuid:, limit:, offset: 0, published_start: nil, published_end: nil) ⇒ Array<Puree::Model::Publication>

Publications for a person.

Parameters:

  • uuid (String)

    person UUID.

  • limit (Fixnum)
  • offset (Fixnum) (defaults to: 0)
  • published_start (String) (defaults to: nil)

    using format YYYY-MM-DD

  • published_end (String) (defaults to: nil)

    using format YYYY-MM-DD

Returns:



40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/puree/query/person.rb', line 40

def publications(uuid:, limit:, offset: 0, published_start: nil, published_end: nil)
  uuids = publication_uuids(uuid: uuid,
                            limit: limit,
                            offset: offset,
                            published_start: published_start,
                            published_end: published_end)
  publications = []
  uuids.each do |uuid|
    publication_extractor = Puree::Extractor::Publication.new @config
    publication = publication_extractor.find uuid: uuid
    publications << publication if publication
  end
  publications
end