Class: Lotus::Helpers::HtmlHelper::HtmlNode Private

Inherits:
EmptyHtmlNode show all
Defined in:
lib/lotus/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 = {}) ⇒ Lotus::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, Lotus::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


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

def initialize(name, content, attributes, options = {})
  @builder = HtmlBuilder.new
  @name    = name
  @content = case content
             when Hash
               @attributes = content
               nil
             else
               @attributes = attributes.to_h if attributes.respond_to?(:to_h)
               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


42
43
44
# File 'lib/lotus/helpers/html_helper/html_node.rb', line 42

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