Class: DisplayCase::NameClassComparator

Inherits:
Object
  • Object
show all
Defined in:
lib/display_case/name_class_comparator.rb

Overview

What with Rails development mode reloading making class matching unreliable, plus wanting to avoid adding dependencies to external class definitions if we can avoid it, this class just matches against class/module name strings rather than the actual class objects.

Defined Under Namespace

Classes: ClassNameTracker

Instance Method Summary collapse

Instance Method Details

#call(object, *classes) ⇒ Object



8
9
10
11
# File 'lib/display_case/name_class_comparator.rb', line 8

def call(object, *classes)
  # Note that '&' is the set intersection operator for Arrays.
  (classes.map(&:to_s) & object.class.ancestors.map {|c| name_for(c)}).any?
end