class Pry::PluginManager::Plugin - pry-0.10.1 Documentation

# class Pry::PluginManager::Plugin

### Attributes

active[RW]
active?[RW]
enabled[RW]
enabled?[RW]
gem_name[RW]
name[RW]
spec[RW]

### Public Class Methods

new(name, gem_name, spec, enabled) click to toggle source

    # 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

### Public Instance Methods

activate!() click to toggle source

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.

    # 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!() click to toggle source

Disable a plugin. (prevents plugin from being loaded, cannot disable an already activated plugin)

    # File lib/pry/plugins.rb, line 25
    def disable!
      self.enabled = false
    end

enable!() click to toggle source

Enable a plugin. (does not load it immediately but puts on ‘white list’ to be loaded)

    # File lib/pry/plugins.rb, line 31
    def enable!
      self.enabled = true
    end

load_cli_options() click to toggle source

Load the Command line options defined by this plugin (if they exist)

    # File lib/pry/plugins.rb, line 36
    def load_cli_options
      cli_options_file = File.join(spec.full_gem_path, "lib/#{spec.name}/cli.rb")
      require cli_options_file if File.exist?(cli_options_file)
    end