This is the base module for the plugin. It has some constants that can be changed:
-
TEMPLATE_DIR - the directory with the scaffold templates
-
DEFAULT_METHODS - the default methods added by the scaffolding
If you include the contents of auto_complete.css in your stylesheet, set “auto_complete_skip_style = true”, so the stylesheet isn't added for every autocompleting text box.
Scaffolding Extensions attempts to determine which framework/ORM you are using and load the support for it (if it is supported).
Methods
Public Class
Public Instance
Classes and Modules
- ScaffoldingExtensions::ActionController
- ScaffoldingExtensions::ActionControllerHelper
- ScaffoldingExtensions::ActiveRecord
- ScaffoldingExtensions::CampingController
- ScaffoldingExtensions::CampingHelper
- ScaffoldingExtensions::Controller
- ScaffoldingExtensions::DataMapper
- ScaffoldingExtensions::Helper
- ScaffoldingExtensions::JQueryHelper
- ScaffoldingExtensions::MetaActionController
- ScaffoldingExtensions::MetaActiveRecord
- ScaffoldingExtensions::MetaCampingController
- ScaffoldingExtensions::MetaController
- ScaffoldingExtensions::MetaDataMapper
- ScaffoldingExtensions::MetaModel
- ScaffoldingExtensions::MetaOverridable
- ScaffoldingExtensions::MetaRamazeController
- ScaffoldingExtensions::MetaSequel
- ScaffoldingExtensions::MetaSinatraController
- ScaffoldingExtensions::Model
- ScaffoldingExtensions::Overridable
- ScaffoldingExtensions::PrototypeHelper
- ScaffoldingExtensions::RamazeController
- ScaffoldingExtensions::Sequel
- ScaffoldingExtensions::SinatraController
- ScaffoldingExtensions::SinatraHelper
- ScaffoldingExtensions::RackController
Constants
AUTO_COMPLETE_CSS | = | <<-END END | ||
DEFAULT_ACTION | = | :browse | ||
DEFAULT_METHODS | = | [:manage, :show, :delete, :edit, :new, :search, :merge, :browse] | ||
MODEL_SUPERCLASSES | = | [] | ||
ROOT | = | File.dirname(File.dirname(__FILE__)) | ||
TEMPLATE_DIR | = | File.join(ROOT, "scaffolds") |
Attributes
all_models | [W] | |
auto_complete_skip_style | [RW] | |
model_files | [W] |
Public Instance methods
Takes two options, :only and :except. If :only is given, :except is ignored. Either can contain model classes or underscored model name strings.
# File lib/scaffolding_extensions.rb, line 57 def all_models(options={}) return @all_models if @all_models if options[:only] Array(options[:only]).collect{|f| f.is_a?(String) ? f.camelize.constantize : f} else string_except, except = Array(options[:except]).partition{|f| f.is_a?(String)} model_files.collect{|file|File.basename(file).sub(/\.rb\z/, '')}. reject{|f| string_except.include?(f)}. map{|f| f.camelize.constantize}. reject{|m| except.include?(m) || !MODEL_SUPERCLASSES.any?{|klass| m.ancestors.include?(klass)}} end end
The stylesheet for the autocompleting text box, or the empty string if ::auto_complete_skip_style is true.
# File lib/scaffolding_extensions.rb, line 72 def auto_complete_css auto_complete_skip_style ? '' : AUTO_COMPLETE_CSS end
The javascript library to use (defaults to JQuery, can be set to 'Prototype')
# File lib/scaffolding_extensions.rb, line 77 def javascript_library=(jslib) require "scaffolding_extensions/#{jslib.downcase}_helper" ScaffoldingExtensions::Helper.send(:include, const_get("#{jslib}Helper")) end