Class: Hanami::Helpers::HtmlHelper::HtmlNode Private

Inherits:
EmptyHtmlNode show all
Defined in:
lib/hanami/helpers/html_helper/html_node.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

HTML node

See Also:

Since:

  • 0.1.0

Direct Known Subclasses

FormHelper::HtmlNode

Constant Summary

Constants inherited from EmptyHtmlNode

EmptyHtmlNode::ATTRIBUTES_SEPARATOR, EmptyHtmlNode::BOOLEAN_ATTRIBUTES

Instance Method Summary collapse

Constructor Details

#initialize(name, content, attributes, _options = {}) ⇒ Hanami::Helpers::HtmlHelper::HtmlNode

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Initialize a new HTML node

Parameters:

  • name (Symbol, String)

    the name of the tag

  • content (String, Proc, Hanami::Helpers::HtmlHelper::HtmlBuilder, NilClass)

    the optional content

  • attributes (Hash, NilClass)

    the optional tag attributes

  • _options (Hash) (defaults to: {})

    a optional set of data

Since:

  • 0.1.0



22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/hanami/helpers/html_helper/html_node.rb', line 22

def initialize(name, content, attributes, _options = {})
  @builder = HtmlBuilder.new
  @name    = name
  @content = if content.is_a?(Hash)
               @attributes = content
               nil
             else
               attributes_hash = attributes.to_h if attributes.respond_to?(:to_h)
               @attributes = prepare_html_attributes(attributes_hash)
               content
             end
end

Instance Method Details

#to_sString

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Resolve and return the output

Returns:

  • (String)

    the output

See Also:

Since:

  • 0.1.0



43
44
45
# File 'lib/hanami/helpers/html_helper/html_node.rb', line 43

def to_s
  %(#{super}#{content}</#{@name}>)
end