class CollectionSpace::Response

CollectionSpace response

Attributes

parsed[R]
result[R]
status_code[R]
xml[R]

Public Class Methods

new(result) click to toggle source
# File lib/collectionspace/client/response.rb, line 8
def initialize(result)
  @result = result
  @parsed = result.parsed_response
  @status_code = result.code.to_i
  body = result.body
  @xml = (@result.success? && body =~ /<?xml/) ? Nokogiri::XML(body) : nil
end

Public Instance Methods

find(list_type, item_type, property, value) click to toggle source
# File lib/collectionspace/client/response.rb, line 16
def find(list_type, item_type, property, value)
  total = parsed[list_type]["totalItems"].to_i
  return unless total.positive?

  list = parsed[list_type][item_type]
  list = [list] if total == 1 # wrap if single item
  list.find { |i| i[property] == value }
end