Class: Arara::Tags::Label
- Inherits:
-
ActionView::Helpers::Tags::Base
- Object
- ActionView::Helpers::Tags::Base
- Arara::Tags::Label
- Defined in:
- app/components/arara/tags/label.rb
Overview
:nodoc:
Defined Under Namespace
Classes: LabelBuilder
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
Constructor Details
#initialize(object_name, method_name, template_object, content_or_options = nil, options = nil) ⇒ Label
Returns a new instance of Label.
29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'app/components/arara/tags/label.rb', line 29 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
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'app/components/arara/tags/label.rb', line 43 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 |