Module: StealthDomId::Core

Defined in:
lib/stealth_dom_id/core.rb

Instance Method Summary collapse

Instance Method Details

#dom_id(record_or_class, prefix = nil, attribute: nil) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/stealth_dom_id/core.rb', line 5

def dom_id(record_or_class, prefix = nil, attribute: nil)
  unless record_or_class.is_a?(Class)
    record_id = if attribute
      record_key_for_dom_id_by_attribute(record_or_class, attribute: attribute)
    else
      record_key_for_dom_id(record_or_class)
    end
  end

  if record_id
    "#{dom_class(record_or_class, prefix)}#{JOIN}#{record_id}"
  else
    dom_class(record_or_class, prefix || NEW)
  end
end