Sha256: f986abe8e6018585a0b3996d7de177fdaffb177935a9e96257ebdf5b48284f78
Contents?: true
Size: 1.66 KB
Versions: 15
Compression:
Stored size: 1.66 KB
Contents
require_all File.dirname(__FILE__) + '/directory' require 'rails3_assist/artifact' module Rails3::Assist module Directory class << self attr_accessor :rails_root def method_missing(sym, *args, &block) Rails3::Assist::Artifact::Directory.send sym end end include Root extend Root include App extend App include Container extend Container # dir_for helpers # ------------------- module Methods DIR = Rails3::Assist::Artifact::Directory # :app, :config, :db, :public, :lib, :log, :doc, :test, :spec # # app_dir, config_dir ... Rails3::Assist::Directory::Root.root_directories.each do |name| class_eval %{ def #{name}_dir options={} ::File.join(Rails3::Assist::Directory::Root.root_dir(options), '#{name}') end } end def rails_dir_for type, options={} raise ArgumentError, '#rails_dir_for takes a dir type argument' if !type dir_method = "#{type}_dir" return send(dir_method, options) if respond_to?(dir_method) DIR.send(dir_method, options) if DIR.respond_to?(dir_method) end def app_dir_for type, options={} ::File.join(app_dir(options), type.to_s.pluralize) end def config_dir_for type, options={} ::File.join(config_dir(options), type.to_s.pluralize) end def public_dir_for type, options={} ::File.join(public_dir(options), type.to_s.pluralize) end end include Methods extend Methods end # Directories end
Version data entries
15 entries across 15 versions & 1 rubygems