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
link(rel, value = nil, **kwargs, &block)
click to toggle source
# File lib/hal_presenter/namespace.rb, line 17 def link(rel, value = nil, **kwargs, &block) add_property(:link, rel, value, **kwargs, &block) end