Sha256: 5ff2727f8cb4ca76a2becbe151ec52e96c5136deb77293d553a674cdbbb383a7

Contents?: true

Size: 1.5 KB

Versions: 7

Compression:

Stored size: 1.5 KB

Contents

DOOZER_GEM_VERSION='<%=@version%>'

require 'date'
require 'rubygems'

module Doozer
  class << self
    @@after_orm_plugins = []
    @@after_orm_gems = []
    def load!
      init_doozer
      init_plugins
    end
    def init_doozer
      path = "#{APP_PATH}/gems/doozer/doozer-#{DOOZER_GEM_VERSION}"
      if File.exist?(path)
        $:.unshift "#{path}/lib"
        require "#{path}/lib/doozer"
      else
        begin
          gem 'doozer', "= #{DOOZER_GEM_VERSION}"
          require 'doozer'
        rescue Gem::LoadError
          raise "doozer-#{DOOZER_GEM_VERSION} gem not installed"
        end
      end
    end
    def init_plugins
      begin
        require 'gems/plugins/init'
      rescue => e
      end
    end
    def init_after_orm_plugins
      @@after_orm_plugins.each { | p |
        plugin(p[:folder], p[:init_file])
      }
    end
    def init_after_orm_gems
      @@after_orm_gems.each { | g |
        require_gem(g[:name], g[:version])
      }
    end
    def require_gem(name, version=nil)
        gem name, version if not version.nil? 
        require name
    end
    def require_gem_after_orm(name, version=nil)
        @@after_orm_gems.push({:name=>name, :version=>version})
    end
    def plugin(folder, init_file)
      $:.unshift "#{APP_PATH}/gems/plugins/#{folder}/lib"
      require "#{APP_PATH}/gems/plugins/#{folder}/lib/#{init_file}"
    end
    def plugin_after_orm(folder, init_file)
      @@after_orm_plugins.push({:folder=>folder, :init_file=>init_file})
    end
  end
end
Doozer.load!

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
doozer-0.4.4 templates/skeleton/config/boot.erb
doozer-0.4.3 templates/skeleton/config/boot.erb
doozer-0.4.2 templates/skeleton/config/boot.erb
doozer-0.4.1 templates/skeleton/config/boot.erb
doozer-0.4.0 templates/skeleton/config/boot.erb
doozer-0.3.1 templates/skeleton/config/boot.erb
doozer-0.3.0 templates/skeleton/config/boot.erb