Sha256: ff31f54811bc4eeba71eceb9325719bae92b267b09ee2089cdfeded7aefa13ab

Contents?: true

Size: 1.07 KB

Versions: 27

Compression:

Stored size: 1.07 KB

Contents

module Refinery
  class Plugin

    def self.register(&block)
      yield self.new
    end

    attr_accessor :title, :version, :description, :url, :menu_match, :plugin_activity, :directory, :hide_from_menu, :always_allow_access

    def initialize
      Refinery::Plugins.registered << self # add me to the collection of registered plugins
    end

    def highlighted?(params)
      params[:controller] =~ self.menu_match
    end

    def activity
      self.plugin_activity ||= []
    end

    def activity=(activities)
      [activities].flatten.each { |activity| add_activity(activity) }
    end

    def add_activity(options)
      (self.plugin_activity ||= []) << Activity::new(options)
    end

    def url
      @url ||= {:controller => "admin/#{self.directory.blank? ? self.title.gsub(" ", "_").downcase : self.directory.split('/').pop}"}
    end

    def menu_match
      @menu_match ||= /admin\/#{self.title.gsub(" ", "_").downcase}$/
    end

    def hide_from_menu
      @hide_from_menu
    end

    def always_allow_access
      @always_allow_access ||= false
    end

  end
end

Version data entries

27 entries across 27 versions & 2 rubygems

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