Class: Refinery::Plugins

Inherits:
Array
  • Object
show all
Defined in:
vendor/plugins/refinery/lib/refinery/plugins.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializePlugins

Returns a new instance of Plugins.



4
5
6
# File 'vendor/plugins/refinery/lib/refinery/plugins.rb', line 4

def initialize
  @plugins = []
end

Class Method Details

.activeObject



37
38
39
# File 'vendor/plugins/refinery/lib/refinery/plugins.rb', line 37

def self.active
  @active_plugins ||= self.new
end

.always_allowedObject



41
42
43
# File 'vendor/plugins/refinery/lib/refinery/plugins.rb', line 41

def self.always_allowed
  registered.reject { |p| !p.always_allow_access }
end

.registeredObject



25
26
27
# File 'vendor/plugins/refinery/lib/refinery/plugins.rb', line 25

def self.registered
  @registered_plugins ||= self.new
end

.set_active(titles) ⇒ Object



45
46
47
48
49
50
# File 'vendor/plugins/refinery/lib/refinery/plugins.rb', line 45

def self.set_active(titles)
  active.clear
  titles.each do |title|
    active << registered[title] if registered[title]
  end
end

Instance Method Details

#[](title) ⇒ Object



21
22
23
# File 'vendor/plugins/refinery/lib/refinery/plugins.rb', line 21

def [](title)
  self.find { |plugin| plugin.title == title }
end

#find_activity_by_model(model) ⇒ Object



16
17
18
19
# File 'vendor/plugins/refinery/lib/refinery/plugins.rb', line 16

def find_activity_by_model(model)
  plugin = find_by_model(model)
  plugin.activity.reject {|activity| activity.class != model}.first unless plugin.nil?
end

#find_by_model(model) ⇒ Object



12
13
14
# File 'vendor/plugins/refinery/lib/refinery/plugins.rb', line 12

def find_by_model(model)
  self.reject { |plugin| plugin.activity.reject {|activity| activity.class != model }.empty? }.first
end

#find_by_title(title) ⇒ Object



8
9
10
# File 'vendor/plugins/refinery/lib/refinery/plugins.rb', line 8

def find_by_title(title)
  self.reject { |plugin| plugin.title != title }.first
end

#in_menuObject



33
34
35
# File 'vendor/plugins/refinery/lib/refinery/plugins.rb', line 33

def in_menu
  self.reject{ |p| p.hide_from_menu }
end

#titlesObject



29
30
31
# File 'vendor/plugins/refinery/lib/refinery/plugins.rb', line 29

def titles
  self.collect { |p| p.title }
end