Module: Mystro::Plugin::Base

Defined in:
lib/mystro/plugin.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



108
109
110
# File 'lib/mystro/plugin.rb', line 108

def self.included(base)
  base.extend self
end

Instance Method Details

#command(name, desc, klass = nil, &block) ⇒ Object

def ui(path)

name = self.name.split('::').last
Mystro::Plugin.register_ui(name, path)

end



132
133
134
135
136
137
138
139
140
141
142
# File 'lib/mystro/plugin.rb', line 132

def command(name, desc, klass=nil, &block)
  on "commands:loaded" do |args|
    Mystro::Log.debug "loading commands for #{name}"
    command = args.shift
    if klass
      command.subcommand name, "#{desc} (#{self})", klass
    else
      command.subcommand name, "#{desc} (#{self})", &block
    end
  end
end

#config_for(klass) ⇒ Object



112
113
114
115
116
# File 'lib/mystro/plugin.rb', line 112

def config_for(klass)
  name = klass.name.split('::').last.downcase.to_sym
  return Mystro.organization.plugins[name] if Mystro.organization.plugins && Mystro.organization.plugins[name]
  { }
end

#on(event, &block) ⇒ Object



118
119
120
# File 'lib/mystro/plugin.rb', line 118

def on(event, &block)
  Mystro::Plugin.on(self, event, &block)
end

#register(opts = {}) ⇒ Object



122
123
124
125
# File 'lib/mystro/plugin.rb', line 122

def register(opts={})
  key = self.name.split('::').last.downcase.to_sym
  Mystro::Plugin.register(key, opts)
end