Sha256: 77762a58e07477a7fb714bebea92f7e703a1012f036fdc861e3feab6ee10de6a
Contents?: true
Size: 1.02 KB
Versions: 2
Compression:
Stored size: 1.02 KB
Contents
# -*- encoding: utf-8 -*- module TTY # A class responsible for plugin loading class Plugin attr_reader :name attr_reader :gem attr_reader :gem_name attr_accessor :enabled # Initialize a Plugin # # @param [String] name # the plugin name # # @param [Gem::Specification] gem # the rubygems gem # # @api public def initialize(name, gem) @name = name @gem = gem @gem_name = "tty-#{name}" @enabled = false end # Check if this plugin has been enabled # # @return [Boolean] # # @api public def enabled? !!enabled end # Load the plugin (require the gem) # # @api public def load! begin require gem_name unless enabled? rescue LoadError => error TTY.shell.error("Unable to load plugin #{gem_name}.") rescue => error TTY.shell.error("require '#{gem_name}' failed with #{error}") end self.enabled = true end end # Plugin end # TTY
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
tty-0.0.11 | lib/tty/plugins/plugin.rb |
tty-0.0.10 | lib/tty/plugins/plugin.rb |