class Answers::Plugins

Attributes

plugins[R]

Public Class Methods

activate(name) click to toggle source
# File lib/answers/plugins.rb, line 52
def activate(name)
  active << registered[name] if registered[name] && !active[name]
end
active() click to toggle source
# File lib/answers/plugins.rb, line 40
def active
  @active_plugins ||= new
end
always_allowed() click to toggle source
# File lib/answers/plugins.rb, line 44
def always_allowed
  new registered.select(&:always_allow_access)
end
deactivate(name) click to toggle source
# File lib/answers/plugins.rb, line 56
def deactivate(name)
  active.delete_if {|p| p.name == name}
end
new(*args) click to toggle source
# File lib/answers/plugins.rb, line 8
def initialize(*args)
  @plugins = Array.new(*args)
end
registered() click to toggle source
# File lib/answers/plugins.rb, line 48
def registered
  @registered_plugins ||= new
end
set_active(names) click to toggle source
# File lib/answers/plugins.rb, line 60
def set_active(names)
  @active_plugins = new

  names.each do |name|
    activate(name)
  end
end

Public Instance Methods

[](name)
Alias for: find_by_name
find_by_name(name) click to toggle source
# File lib/answers/plugins.rb, line 14
def find_by_name(name)
  detect { |plugin| plugin.name == name }
end
Also aliased as: []
find_by_title(title) click to toggle source
# File lib/answers/plugins.rb, line 19
def find_by_title(title)
  detect { |plugin| plugin.title == title }
end
in_menu() click to toggle source
# File lib/answers/plugins.rb, line 23
def in_menu
  self.class.new(reject(&:hide_from_menu))
end
names() click to toggle source
# File lib/answers/plugins.rb, line 27
def names
  map(&:name)
end
pathnames() click to toggle source
# File lib/answers/plugins.rb, line 31
def pathnames
  map(&:pathname).compact.uniq
end
titles() click to toggle source
# File lib/answers/plugins.rb, line 35
def titles
  map(&:title)
end