class Everett::Observer
Public Class Methods
new()
click to toggle source
# File lib/everett/observer.rb, line 20 def initialize @observed_classes = ::Set.new end
Private Class Methods
observe(*models)
click to toggle source
# File lib/everett/observer.rb, line 15 def observe(*models) instance.observe(*models) end
Public Instance Methods
observe(*models)
click to toggle source
# File lib/everett/observer.rb, line 24 def observe(*models) models.map! { |model| constantize(model) }.compact! !!@observed_classes.merge(models) end
observed_classes()
click to toggle source
# File lib/everett/observer.rb, line 29 def observed_classes @observed_classes.empty? ? Array(default_class) : @observed_classes.to_a end
Private Instance Methods
default_class()
click to toggle source
# File lib/everett/observer.rb, line 35 def default_class md = /\A(?<class_name>.*)Observer\z/.match(self.class.name) md[:class_name].constantize if md rescue ::NameError nil end