module HalApi::Representer::LinkSerialize::ClassMethods
Public Instance Methods
link(options, &block)
click to toggle source
Calls superclass method
# File lib/hal_api/representer/link_serialize.rb, line 9 def link(options, &block) set_link_property(options) super(options, &block) end
set_link_property(options)
click to toggle source
# File lib/hal_api/representer/link_serialize.rb, line 14 def set_link_property(options) if options.is_a?(Hash) && (options.delete(:writeable) || options[:reader]) name = options[:rel].to_s.split(':').last.split('/').last pname = "set_#{name}_uri" reader = options.delete(:reader) || ->(obj) do doc = obj[:doc] try("#{name}_id=", id_from_url(doc[pname])) if doc[pname] Representable::Pipeline::Stop end property(pname, readable: false, reader: reader) end end