Sha256: 77838be2a44eb9fc6b8dd591a48c0e5e3b9bb58153bf5f391a3dd67cc89b13d7

Contents?: true

Size: 1.08 KB

Versions: 53

Compression:

Stored size: 1.08 KB

Contents

module Refinery
  class Plugins < Array

    def initialize
      @plugins = []
    end

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

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

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

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

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

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

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

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

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

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

  end
end

Version data entries

53 entries across 53 versions & 2 rubygems

Version Path
jacobat-refinerycms-0.9.6.14 vendor/plugins/refinery/lib/refinery/plugins.rb
refinerycms-0.9.6.34 vendor/plugins/refinery/lib/refinery/plugins.rb
refinerycms-0.9.6.33 vendor/plugins/refinery/lib/refinery/plugins.rb
refinerycms-0.9.6.32 vendor/plugins/refinery/lib/refinery/plugins.rb
refinerycms-0.9.6.31 vendor/plugins/refinery/lib/refinery/plugins.rb
refinerycms-0.9.6.30 vendor/plugins/refinery/lib/refinery/plugins.rb
refinerycms-0.9.6.29 vendor/plugins/refinery/lib/refinery/plugins.rb
refinerycms-0.9.6.28 vendor/plugins/refinery/lib/refinery/plugins.rb
refinerycms-0.9.6.27 vendor/plugins/refinery/lib/refinery/plugins.rb
refinerycms-0.9.6.26 vendor/plugins/refinery/lib/refinery/plugins.rb
refinerycms-0.9.6.25 vendor/plugins/refinery/lib/refinery/plugins.rb
refinerycms-0.9.6.24 vendor/plugins/refinery/lib/refinery/plugins.rb
refinerycms-0.9.6.23 vendor/plugins/refinery/lib/refinery/plugins.rb
refinerycms-0.9.6.22 vendor/plugins/refinery/lib/refinery/plugins.rb
refinerycms-0.9.6.21 vendor/plugins/refinery/lib/refinery/plugins.rb
refinerycms-0.9.6.19 vendor/plugins/refinery/lib/refinery/plugins.rb
refinerycms-0.9.6.18 vendor/plugins/refinery/lib/refinery/plugins.rb
refinerycms-0.9.6.17 vendor/plugins/refinery/lib/refinery/plugins.rb
refinerycms-0.9.6.16 vendor/plugins/refinery/lib/refinery/plugins.rb
refinerycms-0.9.6.15 vendor/plugins/refinery/lib/refinery/plugins.rb