class HALPresenter::Namespace::Executor

Attributes

curie[R]
presenter[R]

Public Class Methods

new(presenter, curie) click to toggle source
# File lib/hal_presenter/namespace.rb, line 6
def initialize(presenter, curie)
  @presenter = presenter
  @curie = curie
end

Public Instance Methods

run(block) click to toggle source
# File lib/hal_presenter/namespace.rb, line 11
def run(block)
  instance_exec(&block) if block
end

Private Instance Methods

add_curie!(rel, kwargs) click to toggle source
# File lib/hal_presenter/namespace.rb, line 31
def add_curie!(rel, kwargs)
  ns = kwargs.delete(:curie) { curie }
  "#{ns}:#{rel}"
end
add_property(method, rel, value, **kwargs, &block) click to toggle source
# File lib/hal_presenter/namespace.rb, line 25
def add_property(method, rel, value, **kwargs, &block)
  rel = add_curie!(rel, kwargs)
  kwargs[:context] = presenter
  presenter.public_send(method, rel, value, **kwargs, &block)
end
embed(rel, value = nil, **kwargs, &block) click to toggle source
# File lib/hal_presenter/namespace.rb, line 21
def embed(rel, value = nil, **kwargs, &block)
  add_property(:embed, rel, value, **kwargs, &block)
end