lib/guilded.rb in guilded-1.1.0 vs lib/guilded.rb in guilded-2.0.0.pre

- old
+ new

@@ -1,79 +1,29 @@ -$:.unshift(File.dirname(__FILE__)) unless - $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__))) +require "guilded/version" -require 'guilded/component_def' -require 'guilded/guilder' -require 'guilded/exceptions' -require 'guilded/rails/controller_actions' -require 'guilded/rails/helpers' -require 'guilded/rails/view_helpers' -require 'guilded/rails/active_record/human_attribute_hint' -require 'guilded/rails/inactive_record/human_attribute_hint' +begin + require "guilded/engine" +rescue NameError + # do nothing on purpose +end -# Guilded is a framework for creating reusable UI components for web applications. Guilded provides the facilities to -# easily add components and all of their required assets to a page. -# -# A Guilded component is a set of XHTML, CSS and JavaScript that combine to create a rich UI. The Guilded component should be -# authored using progressive enhancement to enable users without CSS or JavaScript enabled to utilize the essential functionality -# of the component. The easiest way to accomplish this requirement is to write your behavior code as a jQuery plugin. Doing -# so will naturally guide your behavior code to be applied through progrssive enhancement and also allow your behavior code -# to be used without Guilded. -# -# To create a Guilded component at least four things must occur: writing a view helper, writing a JavaScript initialization -# function, writing a default stylesheet and writing either a rake task or generator to place these assets into a project's -# public directory. It is also probable that a jQuery plugin with the behavior code will need to be authored. If this is the -# case, then the JavaScript initialization function will most likely just call the jQuery plugin on the DOM element(s) that should -# have the behavior applied. -# -# The view helper should output the HTML necessary for the component. It must also add the component to a collection so that -# Guilded can collect its assets and add them to the page. This is accomplished through a call to the Guilder.add() method. -# The Guilder is a singleton, so you must access it like: Guilded::Guilder.instance.add( ... ). The Guilder.add() method adds -# element to a collection with it's options. Guilded automatically looks for CSS assets that obey the naming convention -# {component_name}/default.css. Guilded also automatically looks for a JavaScript asset named: guilded.{component_name}.js. -# This asset should at least include the initComponentName( options ). The Guilded.add() method can also add additional CSS and -# JavaScript assets necessary for a component. An example of an additional JavaScript asset is the jQuery plugin authored to -# contain the behavior of a component. The view helper must be called with an :id option as it is used to differentiate different -# instances of the same component on a single page from each other. It will also be used as the DOM element's id. A Guilded view -# helper should have a g_ appended to the beginning of it to help differentiate from normal view helepr sin a project. -# -# The JavaScript initialization function should be named init{ComponentName}( options ). The options hash from the view helper -# will automatically be passed to this function. The function should handle a before and after init callback to enable the user -# to set up anything necessary for the component and perform additional tasks. This function must also perform any other code -# necessary to set up the behavior for a compnent. An example fo this would be adding behavior to events or simply calling -# a jQuery plugin on element(s) of the component. Remember that any JavaScript relating to Guilded should be placed in the 'g' -# namespace that Guilded creates on every page. An example init function for a g_load_alerter would be: -# -# g.initLoadAlerter = function( options ) -# { -# if( g.beforeInitLoadAlerter ) -# g.beforeInitLoadAlerter( options ); -# -# // Initialization code here... -# -# if( g.afterInitLoadAlerter ) -# g.afterInitLoadAlerter( options ); -# }; -# -# For a user to implement these callback functions, they should create a JavaScript file with the functions and call it on -# any page they need it on utilizing Guilded's JavaScript include helper g_javascript_include_tag. This helper will add the -# JavaScript files after the jQuery and Guilded framework files, but within the component files in the order they were added. -# This will make the 'g' namespace available for use. Obviously this file must be included prior to calling the component's helper, -# or the callback functions will not be defined for use. -# -# The default stylesheet for a Guilded component should be the minimum amount of CSS for the component to function. When no :skin -# option is passed to the view helper when a component is added, Guilded will look for the default stylesheet. The assets -# used within the stylesheet (images) should be placed in a folder named default that is in the same directory as the default.css -# file. All asssets used in the stylesheet should use an absolute reference from the public directory: /stylesheets/guilded/{component_name}/default/{asset_name}. -# -# In order to create another skin for a component, simply create a {skin_name}.css file and a {skin_name} directory with the style -# assets in it. Be sure to reference the style assets with absolute paths from teh public directory so that the skin will work in -# all cases. Then call the component's view helper and use the :skin option: -# -# <%= g_load_alerter :skin => 'blueish', :id => 'load_alerter' %> -# + module Guilded - VERSION = '1.0.13' + + autoload :Component, 'guilded/component' + autoload :Configuration, 'guilded/configuration' + autoload :Data, 'guilded/data' + autoload :Guilder, 'guilded/guilder' + autoload :Rails, 'guilded/rails' + + def self.configuration + @configuration ||= Guilded::Configuration.new + end + + def self.configure + yield( configuration ) if block_given? + end + end ActionView::Base.send( :include, Guilded::Rails::ViewHelpers ) if defined?( ActionView ) -ActionController::Base.send( :include, Guilded::Rails::ControllerActions ) if defined?( ActionController::Base ) \ No newline at end of file +ActionController::Base.send( :include, Guilded::Rails::Controller ) if defined?( ActionController::Base )