class Agris::Api::DocumentQueryResponse
Public Class Methods
new(output_hash, resource_type = nil)
click to toggle source
# File lib/agris/api/document_query_response.rb, line 5 def initialize(output_hash, resource_type = nil) @output_hash = output_hash @documents = nil @resource_type = resource_type if resource_type end
Public Instance Methods
documents()
click to toggle source
# File lib/agris/api/document_query_response.rb, line 19 def documents @documents ||= parse end
last_request_date_time()
click to toggle source
# File lib/agris/api/document_query_response.rb, line 11 def last_request_date_time Time.parse( @output_hash[pluralized_resource_name] \ ['system'] \ ['lastrequestdatetime'] ) end
remarks()
click to toggle source
# File lib/agris/api/document_query_response.rb, line 23 def remarks resources.map { |r| r['remarks'] } end
Protected Instance Methods
parse()
click to toggle source
# File lib/agris/api/document_query_response.rb, line 29 def parse resources .map do |order_hash| resource_type.from_xml_hash(order_hash) end end
pluralized_resource_name()
click to toggle source
# File lib/agris/api/document_query_response.rb, line 44 def pluralized_resource_name resource_type.pluralized_name end
resource_name()
click to toggle source
# File lib/agris/api/document_query_response.rb, line 36 def resource_name @resource_name ||= resource_type .name .split('::') .last .downcase end
resource_type()
click to toggle source
# File lib/agris/api/document_query_response.rb, line 48 def resource_type @resource_type ||= Object.const_get( self .class .name .split('::') .last .chomp('ExtractResponse') ) end
resources()
click to toggle source
# File lib/agris/api/document_query_response.rb, line 59 def resources # Wrap and flatten for single responses [@output_hash[pluralized_resource_name][resource_name]] .compact .flatten end