class Geoblacklight::Relation::RelationResponse

Attributes

search_id[R]

Public Class Methods

new(id, repository) click to toggle source
# File lib/geoblacklight/relation/relation_response.rb, line 7
def initialize(id, repository)
  @link_id = id
  @search_id = RSolr.solr_escape(id)
  @repository = repository
end

Public Instance Methods

method_missing(method, *args, &block) click to toggle source
Calls superclass method
# File lib/geoblacklight/relation/relation_response.rb, line 13
def method_missing(method, *args, &block)
  if Settings.RELATIONSHIPS_SHOWN.key?(method)
    field = Settings.RELATIONSHIPS_SHOWN[method].field
    query_type = query_type(Settings.RELATIONSHIPS_SHOWN[method])
    @results = query_type.new(@search_id, field, @repository).results
  else
    super
  end
end
respond_to_missing?(method_name, *args) click to toggle source
Calls superclass method
# File lib/geoblacklight/relation/relation_response.rb, line 23
def respond_to_missing?(method_name, *args)
  Settings.RELATIONSHIPS_SHOWN.key?(method_name) or super
end

Private Instance Methods

query_type(option) click to toggle source
# File lib/geoblacklight/relation/relation_response.rb, line 29
def query_type(option)
  case option.query_type
  when "ancestors"
    Geoblacklight::Relation::Ancestors
  when "descendants"
    Geoblacklight::Relation::Descendants
  else
    fail ArgumentError, "Bad RelationResponse query_type: #{option.query_type}. Only 'ancestors' or 'descendants' is allowed."
  end
end