Sha256: 7a4d41e3c61b4418632db09a82d3f741f477dcb945c5896019e2981869552e81

Contents?: true

Size: 1.03 KB

Versions: 3

Compression:

Stored size: 1.03 KB

Contents

module Yodel
  def self.db
    @db ||= Mongo::Connection.new(Yodel.config.database_hostname, Yodel.config.database_port).db(Yodel.config.database)
  end
  
  def self.extensions
    @extensions ||= {}
  end
  
  def self.load_extensions
    if Yodel.config.extensions_folder
      Dir[File.join(Yodel.config.extensions_folder, '/*')].each do |path|
        next unless File.directory?(path) && File.basename(path).start_with?('yodel_')
        extension = FolderExtension.new(path)
        extension.load!
      end
    else
      # find the latest version of each yodel extension
      latest_gem_version = {}
      Gem::Specification.find_all do |gem|
        next unless gem.name.start_with?('yodel_')
        if !latest_gem_version.key?(gem.name) || gem.version > latest_gem_version[gem.name].version
          latest_gem_version[gem.name] = gem
        end
      end
      
      # only load the latest versions
      latest_gem_version.each_value do |gem|
        extension = GemExtension.new(gem)
        extension.load!
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
yodel-0.0.7 lib/yodel/application/yodel.rb
yodel-0.0.4 lib/yodel/application/yodel.rb
yodel-0.0.3 lib/yodel/application/yodel.rb