Module: Zena::Use

Defined in:
lib/zena/use.rb,
lib/zena/use/ajax.rb,
lib/zena/use/grid.rb,
lib/zena/use/i18n.rb,
lib/zena/use/urls.rb,
lib/zena/use/dates.rb,
lib/zena/use/forms.rb,
lib/zena/use/kpath.rb,
lib/zena/use/zazen.rb,
lib/zena/use/action.rb,
lib/zena/use/search.rb,
lib/zena/use/upload.rb,
lib/zena/use/context.rb,
lib/zena/use/display.rb,
lib/zena/use/ancestry.rb,
lib/zena/use/calendar.rb,
lib/zena/use/fixtures.rb,
lib/zena/use/fulltext.rb,
lib/zena/use/ml_index.rb,
lib/zena/use/refactor.rb,
lib/zena/use/workflow.rb,
lib/zena/use/authlogic.rb,
lib/zena/use/html_tags.rb,
lib/zena/use/prop_eval.rb,
lib/zena/use/recursion.rb,
lib/zena/use/relations.rb,
lib/zena/use/rendering.rb,
lib/zena/use/zafu_eval.rb,
lib/zena/use/query_node.rb,
lib/zena/use/field_index.rb,
lib/zena/use/scope_index.rb,
lib/zena/use/test_helper.rb,
lib/zena/use/node_context.rb,
lib/zena/use/version_hash.rb,
lib/zena/use/image_builder.rb,
lib/zena/use/query_builder.rb,
lib/zena/use/query_comment.rb,
lib/zena/use/dyn_attributes.rb,
lib/zena/use/zafu_templates.rb,
lib/zena/use/error_rendering.rb,
lib/zena/use/zafu_attributes.rb,
lib/zena/use/zafu_safe_definitions.rb,
lib/zena/use/nested_attributes_alias.rb

Overview

This module is used to declare and manage the list of features used by Zena.

Defined Under Namespace

Modules: Action, Ajax, Ancestry, Authlogic, Calendar, Conditional, Context, Dates, Display, DynAttributes, ErrorRendering, FieldIndex, Fixtures, Forms, Fulltext, Grid, HtmlTags, I18n, Kpath, MLIndex, NestedAttributesAlias, PropEval, QueryBuilder, QueryNode, Recursion, Refactor, Relations, Rendering, ScopeIndex, Search, TestHelper, Upload, Urls, VersionHash, Workflow, ZafuAttributes, ZafuEval, ZafuSafeDefinitions, ZafuTemplates, Zazen Classes: ImageBuilder, NodeContext, QueryComment

Constant Summary collapse

SUFFIX_NAME =
'Methods'
MODULE_NAMES =
%w{Controller View Zafu User Site Skin}
MODULE_NAME =

“Controller” => “ControllerMethods”

Hash[*MODULE_NAMES.map {|n| [n, "#{n}#{SUFFIX_NAME}"]

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.modulesObject

Returns the value of attribute modules.



10
11
12
# File 'lib/zena/use.rb', line 10

def modules
  @modules
end

Class Method Details

.each_module_for(name) ⇒ Object



29
30
31
32
33
34
# File 'lib/zena/use.rb', line 29

def each_module_for(name)
  create_module_hash
  modules_for(name).each do |mod|
    yield(mod)
  end
end

.module(*modules) ⇒ Object

Declare a module (or list of modules) that should be used in Zena. The module should implement sub-modules named ControllerMethods, ViewMethods or ZafuMethods in order to add features to the controller, view or zafu compiler respectively.



15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/zena/use.rb', line 15

def module(*modules)
  create_module_hash

  modules.flatten.each do |mod|
    MODULE_NAME.each do |key, sub_module_name|
      begin
        self.modules[key] << mod.const_get(sub_module_name)
      rescue NameError
        # ignore
      end
    end
  end
end

.modules_for(name) ⇒ Object



36
37
38
39
# File 'lib/zena/use.rb', line 36

def modules_for(name)
  create_module_hash
  self.modules[name] || []
end