Sha256: bf2333f0302a7c5ae40c03052be6e5c93c34fb5e5f54284503e8aa2ebc8919f5

Contents?: true

Size: 1.47 KB

Versions: 1

Compression:

Stored size: 1.47 KB

Contents

require 'rails'
require 'active_support/dependencies'
require 'set'

require 'motr/forms'
require 'motr/modding'
require 'motr/mods'
require 'motr/dash'

module Motr

  module Controller #:nodoc:
    autoload :Helpers,    'motr/controller/helpers'
    autoload :Responder,  'motr/controller/responder'
  end

  module Helpers #:nodoc:
    autoload :LayoutHelpers, 'motr/helpers/layout_helpers'
    autoload :Navigation,    'motr/helpers/navigation'
    autoload :Elements,      'motr/helpers/elements'
  end
  
  module Errors #:nodoc:
    autoload :MotrError,      'motr/errors/motr_error'
    autoload :InvalidOptions, 'motr/errors/invalid_options'
    autoload :ModuleMissing,  'motr/errors/module_missing'
  end
  
  
  ##
  # 
  # Enable autoloading of mods
  # 
  # @param [Symbol] module_name The name of the module to be added (underscored)
  # @param [Hash] options Hash including options for the mod
  # 
  # @option options [String, Boolean] :autoload The path to autoload the module from (optional)
  # 
  # 
  def self.add_mod(module_name, options = {})
    
    const_name = ActiveSupport::Inflector.camelize(module_name.to_s)

    if autoload_path = options.delete(:autoload)
      path = (autoload_path == true ? "motr/mods/#{module_name.to_s}" : autoload_path)
      Motr::Mods.send(:autoload, const_name, path)
    end
    
  end
  
  # Support initializer configuration
  # @private
  # 
  def self.configure #:nodoc:
    yield self
  end
  
end

require 'motr/defaults'
require 'motr/rails'

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
motr-0.0.6 lib/motr.rb