Module: Exlibris::Primo::WebService::Request::BaseElements

Included in:
Base
Defined in:
lib/exlibris/primo/web_service/request/base/base_elements.rb

Defined Under Namespace

Modules: ClassAttributes

Class Method Summary collapse

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args, &block) ⇒ Object

Dynamically sets attr_accessors for base_elements



52
53
54
55
56
57
58
59
# File 'lib/exlibris/primo/web_service/request/base/base_elements.rb', line 52

def method_missing(method, *args, &block)
  if base_elements.include?(attributize(method))
    self.class.send :attr_accessor, attributize(method)
    send method, *args, &block
  else
    super
  end
end

Class Method Details

.included(klass) ⇒ Object



6
7
8
9
10
# File 'lib/exlibris/primo/web_service/request/base/base_elements.rb', line 6

def self.included(klass)
  klass.class_eval do
    extend ClassAttributes
  end
end

Instance Method Details

#respond_to?(method, include_private = false) ⇒ Boolean

Tell users that we respond to base elements accessors.

Returns:

  • (Boolean)


64
65
66
# File 'lib/exlibris/primo/web_service/request/base/base_elements.rb', line 64

def respond_to?(method, include_private = false)
  (base_elements.include?(attributize method)) ? true : super
end