module ShafClient::ResourceExtension

Public Class Methods

for(profile, base, link_relations, client) click to toggle source
# File lib/shaf_client/resource_extension.rb, line 14
def for(profile, base, link_relations, client)
  link_relations = remove_curies(link_relations)
  extenders.map { |extender| extender.call(profile, base, link_relations, client) }
    .compact
end
register(extender) click to toggle source
# File lib/shaf_client/resource_extension.rb, line 6
def register(extender)
  extenders << extender
end
unregister(extender) click to toggle source
# File lib/shaf_client/resource_extension.rb, line 10
def unregister(extender)
  extenders.delete(extender)
end

Private Class Methods

extenders() click to toggle source
# File lib/shaf_client/resource_extension.rb, line 22
def extenders
  @extenders ||= Set.new
end
remove_curies(link_relations) click to toggle source
# File lib/shaf_client/resource_extension.rb, line 26
def remove_curies(link_relations)
  Array(link_relations).map do |rel|
    rel.to_s.sub(/[^:]*:/, '').to_sym
  end
end