Module: HalApi::Representer::LinkSerialize::ClassMethods
- Defined in:
- lib/hal_api/representer/link_serialize.rb
Instance Method Summary collapse
Instance Method Details
#link(options, &block) ⇒ Object
9 10 11 12 |
# File 'lib/hal_api/representer/link_serialize.rb', line 9 def link(, &block) set_link_property() super(, &block) end |
#set_link_property(options) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/hal_api/representer/link_serialize.rb', line 14 def set_link_property() if .is_a?(Hash) && (.delete(:writeable) || [:reader]) name = [:rel].to_s.split(':').last.split('/').last pname = "set_#{name}_uri" reader = .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 |