module Excom::Plugins
Public Instance Methods
fetch(name)
click to toggle source
# File lib/excom/plugins.rb, line 10 def fetch(name) require("excom/plugins/#{name}") unless plugins.key?(name) plugins[name] || raise("extension `#{name}` is not registered") end
plugins()
click to toggle source
# File lib/excom/plugins.rb, line 24 def plugins @plugins ||= {} end
register(name, extension, options = {})
click to toggle source
# File lib/excom/plugins.rb, line 16 def register(name, extension, options = {}) if plugins.key?(name) raise ArgumentError, "extension `#{name}` is already registered" end extension.singleton_class.send(:define_method, :excom_options) { options } plugins[name] = extension end