Class: Vedeu::Plugin
- Inherits:
-
Object
- Object
- Vedeu::Plugin
- Defined in:
- lib/vedeu/plugins/plugin.rb
Overview
A class responsible for plugin loading.
Instance Attribute Summary collapse
- #enabled ⇒ Boolean (also: #enabled?)
- #gem ⇒ String readonly
- #gem_name ⇒ String readonly
- #name ⇒ String readonly
Instance Method Summary collapse
-
#initialize(name, gem) ⇒ Vedeu::Plugin
constructor
Returns a new instance of Vedeu::Plugin.
-
#load! ⇒ void
Load the plugin (require the gem).
Constructor Details
#initialize(name, gem) ⇒ Vedeu::Plugin
Returns a new instance of Vedeu::Plugin.
29 30 31 32 33 34 |
# File 'lib/vedeu/plugins/plugin.rb', line 29 def initialize(name, gem) @name = name @gem = gem @gem_name = "vedeu_#{name}".freeze @enabled = false end |
Instance Attribute Details
#enabled ⇒ Boolean Also known as: enabled?
21 22 23 |
# File 'lib/vedeu/plugins/plugin.rb', line 21 def enabled @enabled end |
#gem ⇒ String (readonly)
13 14 15 |
# File 'lib/vedeu/plugins/plugin.rb', line 13 def gem @gem end |
#gem_name ⇒ String (readonly)
17 18 19 |
# File 'lib/vedeu/plugins/plugin.rb', line 17 def gem_name @gem_name end |
#name ⇒ String (readonly)
9 10 11 |
# File 'lib/vedeu/plugins/plugin.rb', line 9 def name @name end |
Instance Method Details
#load! ⇒ void
This method returns an undefined value.
Load the plugin (require the gem).
39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/vedeu/plugins/plugin.rb', line 39 def load! begin require gem_name unless enabled? rescue LoadError => error raise Vedeu::Error::Fatal, "Unable to load plugin #{gem_name} due to #{error}.".freeze rescue => error raise Vedeu::Error::Fatal, "require '#{gem_name}' failed with #{error}.".freeze end @enabled = true end |