module Zen::Service::Plugins::Plugin

Public Class Methods

extended(plugin) click to toggle source
# File lib/zen/service/plugins/plugin.rb, line 6
def self.extended(plugin)
  name = plugin.name.sub(/^.*::/, "").gsub(/([a-z\d])([A-Z])/, '\1_\2').downcase.to_sym

  Service::Plugins.register(name, plugin)
end

Public Instance Methods

config() click to toggle source
# File lib/zen/service/plugins/plugin.rb, line 24
def config
  @config ||= {}
end
default_options(options) click to toggle source
# File lib/zen/service/plugins/plugin.rb, line 16
def default_options(options)
  config[:default_options] = options
end
register_as(name) click to toggle source
# File lib/zen/service/plugins/plugin.rb, line 12
def register_as(name)
  Service::Plugins.register(name, self)
end
service_extension(extension) click to toggle source
# File lib/zen/service/plugins/plugin.rb, line 20
def service_extension(extension)
  ::Zen::Service.send(:extend, extension)
end