class Arcane::Finder
Attributes
object[R]
Public Class Methods
new(object)
click to toggle source
# File lib/arcane/finder.rb, line 7 def initialize(object) @object = object end
object_name(object)
click to toggle source
# File lib/arcane/finder.rb, line 19 def self.object_name(object) klass = if object.respond_to?(:model_name) object.model_name elsif object.class.respond_to?(:model_name) object.class.model_name elsif object.is_a?(Class) object else object.class end klass.to_s end
Public Instance Methods
refinery()
click to toggle source
# File lib/arcane/finder.rb, line 11 def refinery klass = find klass = klass.constantize if klass.is_a?(String) klass rescue NameError Arcane::Refinery end
Private Instance Methods
find()
click to toggle source
# File lib/arcane/finder.rb, line 34 def find if object.respond_to?(:arcane_class) object.refinery_class elsif object.class.respond_to?(:arcane_class) object.class.refinery_class else klass = self.class.object_name(object) "#{klass}Refinery" end end