Class: Pry::PluginManager::Plugin
Instance Attribute Summary collapse
-
#active ⇒ Object
(also: #active?)
Returns the value of attribute active.
-
#enabled ⇒ Object
(also: #enabled?)
Returns the value of attribute enabled.
-
#gem_name ⇒ Object
Returns the value of attribute gem_name.
-
#name ⇒ Object
Returns the value of attribute name.
-
#spec ⇒ Object
Returns the value of attribute spec.
Instance Method Summary collapse
-
#activate! ⇒ Object
Activate the plugin (require the gem - enables/loads the plugin immediately at point of call, even if plugin is disabled) Does not reload plugin if it’s already active.
-
#disable! ⇒ Object
Disable a plugin.
-
#enable! ⇒ Object
Enable a plugin.
-
#initialize(name, gem_name, spec, enabled) ⇒ Plugin
constructor
A new instance of Plugin.
-
#load_cli_options ⇒ Object
Load the Command line options defined by this plugin (if they exist).
Constructor Details
#initialize(name, gem_name, spec, enabled) ⇒ Plugin
Returns a new instance of Plugin.
19 20 21 |
# File 'lib/pry/plugins.rb', line 19 def initialize(name, gem_name, spec, enabled) @name, @gem_name, @enabled, @spec = name, gem_name, enabled, spec end |
Instance Attribute Details
#active ⇒ Object Also known as: active?
Returns the value of attribute active.
17 18 19 |
# File 'lib/pry/plugins.rb', line 17 def active @active end |
#enabled ⇒ Object Also known as: enabled?
Returns the value of attribute enabled.
17 18 19 |
# File 'lib/pry/plugins.rb', line 17 def enabled @enabled end |
#gem_name ⇒ Object
Returns the value of attribute gem_name.
17 18 19 |
# File 'lib/pry/plugins.rb', line 17 def gem_name @gem_name end |
#name ⇒ Object
Returns the value of attribute name.
17 18 19 |
# File 'lib/pry/plugins.rb', line 17 def name @name end |
#spec ⇒ Object
Returns the value of attribute spec.
17 18 19 |
# File 'lib/pry/plugins.rb', line 17 def spec @spec end |
Instance Method Details
#activate! ⇒ Object
Activate the plugin (require the gem - enables/loads the plugin immediately at point of call, even if plugin is disabled) Does not reload plugin if it’s already active.
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/pry/plugins.rb', line 44 def activate! # Create the configuration object for the plugin. Pry.config.send("#{gem_name.gsub('-', '_')}=", Pry::Config.from_hash({})) begin require gem_name if !active? rescue LoadError => e warn "Found plugin #{gem_name}, but could not require '#{gem_name}'" warn e rescue => e warn "require '#{gem_name}' # Failed, saying: #{e}" end self.active = true self.enabled = true end |
#disable! ⇒ Object
Disable a plugin. (prevents plugin from being loaded, cannot disable an already activated plugin)
25 26 27 |
# File 'lib/pry/plugins.rb', line 25 def disable! self.enabled = false end |
#enable! ⇒ Object
Enable a plugin. (does not load it immediately but puts on ‘white list’ to be loaded)
31 32 33 |
# File 'lib/pry/plugins.rb', line 31 def enable! self.enabled = true end |
#load_cli_options ⇒ Object
Load the Command line options defined by this plugin (if they exist)
36 37 38 39 |
# File 'lib/pry/plugins.rb', line 36 def = File.join(spec.full_gem_path, "lib/#{spec.name}/cli.rb") require if File.exist?() end |