class Puree::Extractor::ResearchOutput
Research output extractor.
Public Instance Methods
count(params = {})
click to toggle source
Count of records available.
@param params [Hash] Combined GET and POST parameters for all records @return [Integer]
# File lib/puree/extractor/research_output.rb, line 21 def count(params = {}) record_count :research_output, params end
find(id)
click to toggle source
@param id [String] @return [Puree::Model::ResearchOutput, nil]
Calls superclass method
Puree::Extractor::Resource#find
# File lib/puree/extractor/research_output.rb, line 11 def find(id) super id: id, api_resource_type: :research_output, xml_extractor_resource_type: :research_output end
random(params = {})
click to toggle source
Random record. Includes the metadata from Puree::Model::ResearchOutput
as a minimum.
@param params [Hash] Combined GET and POST parameters for all records @return [Puree::Model::ResearchOutput or subclass, nil]
# File lib/puree/extractor/research_output.rb, line 29 def random(params = {}) client = Puree::REST::Client.new @config offset = rand(0..count(params)-1) params[:size] = 1 params[:offset] = offset response = client.research_outputs.all_complex params: params research_outputs_hash = Puree::XMLExtractor::Collection.research_outputs response.to_s research_outputs_array = [] research_outputs_hash.each do |k, v| research_outputs_array += v end return nil if research_outputs_array.empty? research_outputs_array[0] end