class Pakyow::Plugin::Lookup

Public Class Methods

new(plugs) click to toggle source
# File lib/pakyow/plugin/lookup.rb, line 13
def initialize(plugs)
  @plugs = plugs
end

Public Instance Methods

finalize() click to toggle source
# File lib/pakyow/plugin/lookup.rb, line 17
def finalize
  @plugs.map { |plug|
    plug.class.plugin_name
  }.uniq.each do |plugin_name|
    define_singleton_method plugin_name do |plugin_instance_name = :default|
      plugin_instance_name = plugin_instance_name.to_sym

      @plugs.find { |plug|
        plug.class.plugin_name == plugin_name && plug.__object_name.namespace.parts.last == plugin_instance_name
      }
    end
  end
end