Sha256: 5c738007477094502225ad15f0863d1fa622a14f80224cb49a736dd877e3c117

Contents?: true

Size: 1.94 KB

Versions: 25

Compression:

Stored size: 1.94 KB

Contents

module Merb

  module Plugins

    # Returns the configuration settings hash for plugins. This is prepopulated from
    # Merb.root / "config/plugins.yml" if it is present.
    #
    # ==== Returns
    # Hash::
    #   The configuration loaded from Merb.root / "config/plugins.yml" or, if
    #   the load fails, an empty hash whose default value is another Hash.
    #
    # :api: plugin
    def self.config
      @config ||= begin
        # this is so you can do Merb.plugins.config[:helpers][:awesome] = "bar"
        config_hash = Hash.new {|h,k| h[k] = {}}
        file = Merb.root / "config" / "plugins.yml"

        if File.exists?(file)
          require 'yaml'
          to_merge = YAML.load_file(file)
        else
          to_merge = {}
        end
        
        config_hash.merge(to_merge)
      end
    end

    # ==== Returns
    # Array(String):: All Rakefile load paths Merb uses for plugins.
    #
    # :api: plugin
    def self.rakefiles
      Merb.rakefiles
    end
    
    # ==== Returns
    # Array(String):: All Generator load paths Merb uses for plugins.
    #
    # :api: plugin
    def self.generators
      Merb.generators
    end

    # ==== Parameters
    # *rakefiles:: Rakefiles to add to the list of plugin Rakefiles.
    #
    # ==== Notes
    #
    # This is a recommended way to register your plugin's Raketasks
    # in Merb.
    #
    # ==== Examples
    # From merb_sequel plugin:
    #
    # if defined(Merb::Plugins)
    #   Merb::Plugins.add_rakefiles "merb_sequel" / "merbtasks"
    # end
    #
    # :api: plugin
    def self.add_rakefiles(*rakefiles)
      Merb.add_rakefiles(*rakefiles)
    end
    
    # ==== Parameters
    # *generators:: Generator paths to add to the list of plugin generators.
    #
    # ==== Notes
    #
    # This is the recommended way to register your plugin's generators
    # in Merb.
    #
    # :api: plugin
    def self.add_generators(*generators)
      Merb.add_generators(*generators)
    end
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
merb-core-1.1.3 lib/merb-core/plugins.rb
merb-core-1.1.2 lib/merb-core/plugins.rb
merb-core-1.1.1 lib/merb-core/plugins.rb
merb-core-1.1.0 lib/merb-core/plugins.rb
merb-core-1.1.0.rc1 lib/merb-core/plugins.rb
merb-core-1.1.0.pre lib/merb-core/plugins.rb
merb-core-1.0.15 lib/merb-core/plugins.rb
merb-core-1.0.14 lib/merb-core/plugins.rb
merb-core-1.0.13 lib/merb-core/plugins.rb
merb-core-1.0.12 lib/merb-core/plugins.rb
merb-core-1.0.11 lib/merb-core/plugins.rb
merb-core-1.0.1 lib/merb-core/plugins.rb
merb-core-1.0.2 lib/merb-core/plugins.rb
merb-core-1.0.10 lib/merb-core/plugins.rb
merb-core-1.0.3 lib/merb-core/plugins.rb
merb-core-1.0.6.1 lib/merb-core/plugins.rb
merb-core-1.0.4 lib/merb-core/plugins.rb
merb-core-1.0.5 lib/merb-core/plugins.rb
merb-core-1.0.8.1 lib/merb-core/plugins.rb
merb-core-1.0.7 lib/merb-core/plugins.rb