Class: Hatemile::Util::IDGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/hatemile/util/id_generator.rb

Overview

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

Instance Method Summary collapse

Constructor Details

#initialize(prefix_part = nil) ⇒ IDGenerator

Initializes a new object that generate ids for elements.

Parameters:

  • prefix_part (String) (defaults to: nil)

    A part of prefix id.



30
31
32
33
34
35
36
37
38
39
# 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

Instance Method Details

#generate_id(element) ⇒ Object

Generate a id for a element.

Parameters:



45
46
47
48
49
50
# 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