Sha256: ef67c8677d13c37aafa403720d64b96dad3f5299f273cc18d0199180546b8390
Contents?: true
Size: 720 Bytes
Versions: 3
Compression:
Stored size: 720 Bytes
Contents
# frozen_string_literal: true module Motor module Notes module Persist TAG_REGEXP = /#\w+?\b/.freeze module_function def call(note, current_user) note.author ||= current_user tags = parse_tag_names(note) Motor::Notes::Tags.assign_tags(note, tags) note.save! broadcast_note(note) note end def broadcast_note(note) Motor::NotesChannel.broadcast_to( note.values_at(:record_type, :record_id).join(':'), ['update', note.as_json(include: %i[author tags reminders])] ) end def parse_tag_names(note) note.body.scan(TAG_REGEXP).map { |tag| tag[1..] } end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
motor-admin-0.4.3 | lib/motor/notes/persist.rb |
motor-admin-0.4.2 | lib/motor/notes/persist.rb |
motor-admin-0.4.0 | lib/motor/notes/persist.rb |