Module: HALPresenter::Curies

Includes:
SuperInit
Included in:
HALPresenter, HALPresenter::Collection::Properties
Defined in:
lib/hal_presenter/curies.rb

Defined Under Namespace

Classes: Curie

Instance Method Summary collapse

Instance Method Details

#curie(rel, value = nil, **kwargs, &block) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
# File 'lib/hal_presenter/curies.rb', line 21

def curie(rel, value = nil, **kwargs, &block)
  if value.nil? && !block_given?
    raise 'curie must be called with non nil value or be given a block'
  end

  kwargs[:context] ||= self
  curies.delete_if { |curie| curie.name == rel }
  Curie.new(rel, value, **kwargs, &block).tap do |curie|
    curies << curie
  end
end