Module: ActiveForm::Element
Defined Under Namespace
Classes: Base, Builder, CollectionOption, CollectionOptionGroup, MismatchException, NoElemException, Section, SelectDate, SelectDatetime, SelectTime, SelectTimebased
Class Method Summary
collapse
included
Class Method Details
.base_load_paths ⇒ Object
24
25
26
|
# File 'lib/active_form/element.rb', line 24
def base_load_paths
[ ::File.join(ActiveForm::BASE_PATH, 'elements'), ::File.join(ActiveForm::BASE_PATH, 'facets') ]
end
|
.create(definition_name, &block) ⇒ Object
35
36
37
|
# File 'lib/active_form/element.rb', line 35
def create(definition_name, &block)
ActiveForm::Element::Base::create(definition_name, &block)
end
|
.element?(klass) ⇒ Boolean
13
14
15
|
# File 'lib/active_form/element.rb', line 13
def element?(klass)
klass.respond_to?(:element?) && klass.element?
end
|
.instance(definition_name, klass, *args, &block) ⇒ Object
28
29
30
31
32
33
|
# File 'lib/active_form/element.rb', line 28
def instance(definition_name, klass, *args, &block)
args.unshift(definition_name) if args.empty? || args.first.kind_of?(Hash)
item = klass.new(*args)
item.accept_block(&block) if block_given?
item
end
|
.load_paths ⇒ Object
19
20
21
22
|
# File 'lib/active_form/element.rb', line 19
def load_paths
@@load_paths ||= [*base_load_paths]
@@load_paths
end
|
.register(elem_class) ⇒ Object
39
40
41
42
43
44
45
46
|
# File 'lib/active_form/element.rb', line 39
def register(elem_class)
if element?(elem_class) && !self.methods.include?("#{elem_class.loadable_type}_element")
self.module_eval("
def #{elem_class.loadable_type}_element(*args, &block)
define_element(:#{elem_class.loadable_type}, *args, &block)
end")
end
end
|