Class: ActiveForm::Element::Base
Constant Summary
collapse
- @@default_timezone =
:local
Class Method Summary
collapse
Instance Method Summary
collapse
#accept_block, #contained?, #default_value, #define_formatting_filter, #define_freeze_filter, #description, #disabled?, #element_attributes, #element_binding, #element_binding_key, #element_name, #element_type, #element_value, #element_value=, #export_value, #fallback_value, #fallback_value=, #format_value, #formatted_value, #freeze_element, #freeze_value, #frozen?, #frozen_value, #frozen_value=, #hidden?, #hide_element, #identifier, included, #initialize_element, #label, #labelled?, #localize, #localized?, #readonly?, #register_container, #required=, #required?, #reset_formatting_filter, #reset_freeze_filter, #revert_value, #title, #update_options_and_attributes
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, *args, &block) ⇒ Object
41
42
43
44
45
46
47
|
# File 'lib/active_form/elements/base.rb', line 41
def method_missing(method, *args, &block)
if (match = /^validates_(with_|within_|as_)?(.*)$/.match(method.to_s)) && ActiveForm::Validator::exists?(match.captures[1])
define_validator(match.captures[1], *args, &block)
else
super
end
end
|
Class Method Details
.create(definition_name, &block) ⇒ Object
54
55
56
57
58
59
60
61
62
63
64
65
|
# File 'lib/active_form/elements/base.rb', line 54
def self.create(definition_name, &block)
class_name = type_classname(definition_name)
if !ActiveForm::Element.const_defined?(class_name)
ActiveForm::Element.const_set(class_name, Class.new(self))
if klass = ActiveForm::Element.const_get(class_name)
klass.module_eval(&block) if block_given?
ActiveForm::Element::register(klass)
return klass
end
end
nil
end
|
.inherited(derivative) ⇒ Object
Instance Method Details
#default_attributes ⇒ Object
29
30
31
|
# File 'lib/active_form/elements/base.rb', line 29
def default_attributes
{ :name => element_name, :id => identifier, :class => css }
end
|
#default_css_class ⇒ Object
37
38
39
|
# File 'lib/active_form/elements/base.rb', line 37
def default_css_class
"elem_#{element_type}"
end
|
#label_attributes ⇒ Object
33
34
35
|
# File 'lib/active_form/elements/base.rb', line 33
def label_attributes
{ :for => identifier, :class => label_css }
end
|
#render_element(builder = create_builder) ⇒ Object
25
26
27
|
# File 'lib/active_form/elements/base.rb', line 25
def render_element(builder = create_builder)
builder.span(label, { :id => identifier, :class => css })
end
|
#render_frozen(builder = create_builder) ⇒ Object
20
21
22
23
|
# File 'lib/active_form/elements/base.rb', line 20
def render_frozen(builder = create_builder)
return builder.span('-', :class => 'blank') if formatted_value.blank?
builder.text!(formatted_value)
end
|
#render_label(builder = create_builder) ⇒ Object
Also known as:
to_label
15
16
17
|
# File 'lib/active_form/elements/base.rb', line 15
def render_label(builder = create_builder)
builder.label(label, label_attributes) if labelled?
end
|