Sha256: 1b5e316be7a6b58ad4619da610d70b2d9c213cb01f2e8343a00208f8bbb1ac67

Contents?: true

Size: 381 Bytes

Versions: 4

Compression:

Stored size: 381 Bytes

Contents

class Alerty
  class PluginFactory
    class << self
      def plugins
        @plugins ||= Config.plugins.map {|config| new_plugin(config) }
      end

      def new_plugin(config)
        require "alerty/plugin/#{config.type}"
        class_name = "Alerty::Plugin::#{StringUtil.camelize(config.type)}"
        Object.const_get(class_name).new(config)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
alerty-0.4.0 lib/alerty/plugin_factory.rb
alerty-0.3.0 lib/alerty/plugin_factory.rb
alerty-0.2.3 lib/alerty/plugin_factory.rb
alerty-0.2.2 lib/alerty/plugin_factory.rb