Class: Puree::Query::Person
- Inherits:
-
Object
- Object
- Puree::Query::Person
- Defined in:
- lib/puree/query/person.rb
Overview
For querying information about a person.
Instance Method Summary collapse
-
#initialize(config) ⇒ Person
constructor
A new instance of Person.
-
#publication_count(uuid:) ⇒ Fixnum
Count of publications available for a person.
-
#publications(uuid:, limit:, offset: 0, published_start: nil, published_end: nil) ⇒ Array<Puree::Model::Publication>
Publications for a person.
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.
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.
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 |