Module: Observed::Pluggable::ClassMethods

Defined in:
lib/observed/pluggable.rb

Instance Method Summary collapse

Instance Method Details

#find_plugin_named(plugin_name) ⇒ Object



29
30
31
# File 'lib/observed/pluggable.rb', line 29

def find_plugin_named(plugin_name)
  plugins.find { |plugin| plugin.plugin_name == plugin_name }
end

#inherited(klass) ⇒ Object



19
20
21
22
# File 'lib/observed/pluggable.rb', line 19

def inherited(klass)
  super if defined? super
  plugins << klass
end

#plugin_name(plugin_name = nil) ⇒ Object



24
25
26
27
# File 'lib/observed/pluggable.rb', line 24

def plugin_name(plugin_name=nil)
  @plugin_name = plugin_name if plugin_name
  @plugin_name
end

#pluginsObject



15
16
17
# File 'lib/observed/pluggable.rb', line 15

def plugins
  @plugins ||= []
end

#select_named_pluginsObject



33
34
35
# File 'lib/observed/pluggable.rb', line 33

def select_named_plugins
  plugins.select(&:plugin_name)
end