Sha256: 9ba7eb3b6b48c600ef60b0e82effb216e19b6be71c1405d92771d19ca1afed82
Contents?: true
Size: 748 Bytes
Versions: 4
Compression:
Stored size: 748 Bytes
Contents
module PushType module Fields module Relations def json_key suffix = multiple? ? '_ids' : '_id' (name.singularize + suffix).to_sym end def relation_class (@opts[:class] || name).to_s.classify.constantize end def relation_root relation_class end def relation_tree flatten_tree relation_root.hash_tree end private def flatten_tree(hash_tree, d = 0) hash_tree.flat_map do |parent, children| [ { value: parent.id, text: parent.title, depth: d }, flatten_tree(children, d+1) ] end.flatten end end end end
Version data entries
4 entries across 4 versions & 1 rubygems