class FeduxOrgStdlib::GemPlugins::Plugin
Attributes
homepage[R]
name[R]
version[R]
Public Class Methods
new(spec:)
click to toggle source
# File lib/fedux_org_stdlib/gem_plugins/plugin.rb, line 14 def initialize(spec:) @name = spec.name @author = Array(spec.authors).zip(Array(spec.email)).map { |a, e| format('%s (%s)', a, e) }.to_list @version = spec.version @homagepage = spec.homepage @active = false end
Public Instance Methods
<=>(other)
click to toggle source
@private
# File lib/fedux_org_stdlib/gem_plugins/plugin.rb, line 57 def <=>(other) name <=> other.name end
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/fedux_org_stdlib/gem_plugins/plugin.rb, line 26 def activate return if active? begin require name rescue LoadError => e warn "Found plugin \"#{name}\", but could not require \"#{require_file}\"" warn e rescue StandardError => e warn "Require plugin \"#{name}\" failed, saying: #{e}\n#{e.backtrace.join("\n")}" end @active = true end
active?()
click to toggle source
Is plugin active?
# File lib/fedux_org_stdlib/gem_plugins/plugin.rb, line 42 def active? @active == true end
blank?()
click to toggle source
Is an existing plugin
# File lib/fedux_org_stdlib/gem_plugins/plugin.rb, line 47 def blank? false end
require_file()
click to toggle source
Path of require file
# File lib/fedux_org_stdlib/gem_plugins/plugin.rb, line 52 def require_file "#{name}.rb" end