class ThinkingSphinx::Search::Glaze

Public Class Methods

new(context, object, raw = {}, pane_classes = []) click to toggle source
# File lib/thinking_sphinx/search/glaze.rb, line 2
def initialize(context, object, raw = {}, pane_classes = [])
  @object, @raw = object, raw

  @panes = pane_classes.collect { |klass|
    klass.new context, object, @raw
  }
end

Public Instance Methods

==(object) click to toggle source
Calls superclass method
# File lib/thinking_sphinx/search/glaze.rb, line 10
def ==(object)
  (@object == object) || super
end
equal?(object) click to toggle source
# File lib/thinking_sphinx/search/glaze.rb, line 14
def equal?(object)
  @object.equal? object
end
respond_to?(method, include_private = false) click to toggle source
# File lib/thinking_sphinx/search/glaze.rb, line 18
def respond_to?(method, include_private = false)
  @object.respond_to?(method, include_private) ||
  @panes.any? { |pane| pane.respond_to?(method, include_private) }
end
unglazed() click to toggle source
# File lib/thinking_sphinx/search/glaze.rb, line 23
def unglazed
  @object
end

Private Instance Methods

method_missing(method, *args, &block) click to toggle source
# File lib/thinking_sphinx/search/glaze.rb, line 29
def method_missing(method, *args, &block)
  pane = @panes.detect { |pane| pane.respond_to?(method) }
  if @object.respond_to?(method) || pane.nil?
    @object.send(method, *args, &block)
  else
    pane.send(method, *args, &block)
  end
end