module Exlibris::Primo::WebService::Request::SearchElements
Public Class Methods
included(klass)
click to toggle source
# File lib/exlibris/primo/web_service/request/search/search_elements.rb, line 6 def self.included(klass) klass.class_eval do extend ClassAttributes end end
Public Instance Methods
method_missing(method, *args, &block)
click to toggle source
Dynamically sets attr_accessors for search_elements
Calls superclass method
# File lib/exlibris/primo/web_service/request/search/search_elements.rb, line 78 def method_missing(method, *args, &block) if search_elements.include?(attributize(method)) self.class.send :attr_accessor, attributize(method) send method, *args, &block else super end end
respond_to?(method, include_private = false)
click to toggle source
Tell users that we respond to search elements accessors.
Calls superclass method
# File lib/exlibris/primo/web_service/request/search/search_elements.rb, line 90 def respond_to?(method, include_private = false) (search_elements.include?(attributize method)) ? true : super end
Protected Instance Methods
default_search_elements()
click to toggle source
# File lib/exlibris/primo/web_service/request/search/search_elements.rb, line 55 def default_search_elements @default_search_elements ||= self.class.default_search_elements end
search_elements()
click to toggle source
# File lib/exlibris/primo/web_service/request/search/search_elements.rb, line 50 def search_elements @search_elements ||= self.class.search_elements end
search_elements_xml()
click to toggle source
Returns a lambda that takes a Nokogiri::XML::Builder as an argument and appends search elements XML to it.
# File lib/exlibris/primo/web_service/request/search/search_elements.rb, line 64 def search_elements_xml lambda { |xml| search_elements.each do |element| value = (send element) ? (send element) : default_search_elements[element] name = element.id2name.camelize xml.send(name, value) unless value.nil? end } end