Method: Maintain::Backend.detect

Defined in:
lib/maintain/backend.rb

.detect(owner) ⇒ Object

Detect if we’ve loaded a backend for this class - that means if its ancestors or parent classes include any of our back-end classes.



53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/maintain/backend.rb', line 53

def detect(owner)
  ancestors = owner.ancestors.map(&:to_s)
  # While owner does not refer to "Object"
  while owner.superclass
    ancestors.push(owner.to_s)
    owner = owner.superclass
  end
  classes.each do |back_end, class_name|
    if ancestors.include? class_name
      return back_end
    end
  end
  nil
end