class Geoblacklight::Relation::RelationResponse
Attributes
link_id[R]
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