Class: ActionView::Helpers::Tags::Label
- Defined in:
- lib/action_view/helpers/tags/label.rb
Overview
:nodoc:
Defined Under Namespace
Classes: LabelBuilder
Constant Summary
Constants included from ActionView::Helpers::TagHelper
ActionView::Helpers::TagHelper::ARIA_PREFIXES, ActionView::Helpers::TagHelper::BOOLEAN_ATTRIBUTES, ActionView::Helpers::TagHelper::DATA_PREFIXES, ActionView::Helpers::TagHelper::PRE_CONTENT_STRINGS, ActionView::Helpers::TagHelper::TAG_TYPES
Constants included from ContentExfiltrationPreventionHelper
ContentExfiltrationPreventionHelper::CLOSE_CDATA_COMMENT, ContentExfiltrationPreventionHelper::CLOSE_FORM_TAG, ContentExfiltrationPreventionHelper::CLOSE_OPTION_TAG, ContentExfiltrationPreventionHelper::CLOSE_QUOTES_COMMENT, ContentExfiltrationPreventionHelper::CONTENT_EXFILTRATION_PREVENTION_MARKUP
Constants included from UrlHelper
UrlHelper::BUTTON_TAG_METHOD_VERBS
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
-
#initialize(object_name, method_name, template_object, content_or_options = nil, options = nil) ⇒ Label
constructor
A new instance of Label.
- #render(&block) ⇒ Object
Methods included from ActiveModelInstanceTag
#content_tag, #error_message, #error_wrapping, #object, #tag
Methods included from ActionView::Helpers::TagHelper
build_tag_values, #cdata_section, #content_tag, ensure_valid_html5_tag_name, #escape_once, #tag, #token_list
Methods included from OutputSafetyHelper
#raw, #safe_join, #to_sentence
Methods included from CaptureHelper
#capture, #content_for, #content_for?, #provide, #with_output_buffer
Methods included from FormTagHelper
#button_tag, #checkbox_tag, #color_field_tag, #date_field_tag, #datetime_field_tag, #email_field_tag, #field_id, #field_name, #field_set_tag, #file_field_tag, #form_tag, #hidden_field_tag, #image_submit_tag, #label_tag, #month_field_tag, #number_field_tag, #password_field_tag, #radio_button_tag, #range_field_tag, #search_field_tag, #select_tag, #submit_tag, #telephone_field_tag, #text_field_tag, #textarea_tag, #time_field_tag, #url_field_tag, #utf8_enforcer_tag, #week_field_tag
Methods included from ContentExfiltrationPreventionHelper
Methods included from ActionView::Helpers::TextHelper
#concat, #current_cycle, #cycle, #excerpt, #highlight, #pluralize, #reset_cycle, #safe_concat, #simple_format, #truncate, #word_wrap
Methods included from SanitizeHelper
#sanitize, #sanitize_css, #strip_links, #strip_tags
Methods included from UrlHelper
#button_to, #current_page?, #link_to, #link_to_if, #link_to_unless, #link_to_unless_current, #mail_to, #phone_to, #sms_to, #url_for
Constructor Details
#initialize(object_name, method_name, template_object, content_or_options = nil, options = nil) ⇒ Label
Returns a new instance of Label.
34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/action_view/helpers/tags/label.rb', line 34 def initialize(object_name, method_name, template_object, = nil, = nil) ||= {} = .is_a?(Hash) if .merge! @content = nil else @content = end super(object_name, method_name, template_object, ) end |
Instance Method Details
#render(&block) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/action_view/helpers/tags/label.rb', line 48 def render(&block) = @options.stringify_keys tag_value = .delete("value") name_and_id = .dup if name_and_id["for"] name_and_id["id"] = name_and_id["for"] else name_and_id.delete("id") end add_default_name_and_id_for_value(tag_value, name_and_id) .delete("index") .delete("namespace") ["for"] = name_and_id["id"] unless .key?("for") builder = LabelBuilder.new(@template_object, @object_name, @method_name, @object, tag_value) content = if block_given? @template_object.capture(builder, &block) elsif @content.present? @content.to_s else render_component(builder) end label_tag(name_and_id["id"], content, ) end |