class Hatemile::Util::IDGenerator

The IDGenerator class generate ids for Hatemile::Util::Html::HTMLDOMElement.

Public Class Methods

new(prefix_part = nil) click to toggle source

Initializes a new object that generate ids for elements.

@param prefix_part [String] A part of prefix id.

# File lib/hatemile/util/id_generator.rb, line 30
def initialize(prefix_part = nil)
  Hatemile::Helper.require_valid_type(prefix_part, String)

  @prefix_id = if prefix_part.nil?
                 "id-hatemile-#{SecureRandom.hex}-"
               else
                 "id-hatemile-#{prefix_part}-#{SecureRandom.hex}-"
               end
  @count = 0
end

Public Instance Methods

generate_id(element) click to toggle source

Generate a id for a element.

@param element [Hatemile::Util::Html::HTMLDOMElement] The element.

# File lib/hatemile/util/id_generator.rb, line 45
def generate_id(element)
  return if element.has_attribute?('id')

  element.set_attribute('id', "#{@prefix_id}#{@count}")
  @count += 1
end