hubot-note
Version:
hubot note taking script
96 lines (73 loc) • 2.3 kB
text/coffeescript
Note = require('./note.coffee').Note
class NoteManager
constructor: () ->
= {}
= []
.brain.on 'loaded', ->
if .brain.data.all_note
= .brain.data.all_note
saveNote: ->
.brain.data.all_note =
executeStartNote: (room_name, note_title) ->
# already started
if
return false
note =
if note == null
note =
if note == null
return false
.push(note)
return true
createNewNote: (room_name, note_title) ->
note_dict = [room_name]
if !note_dict
note_dict= {}
[room_name] = note_dict
note = note_dict[note_title]
if !note
note = new Note(note_title, new Date())
note_dict[note_title] = note
return note
executeNoteStop: (room_name, note_list_name) ->
note =
if note
note.setEnd(new Date())
i = .length - 1
while i >= 0
if [i].title == note_list_name
.splice i, 1
i--
return true
return false
executeGetStartedNote: (room_name, note_title = null) ->
return null if .length == 0
if note_title == null
return [.length - 1]
for index in [0...length-1]
note = [index]
if note.title == note_title
return note
return null
executeNoteShow: (room_name, note_title, line_num) ->
note =
if note
return note.getText(line_num)
return null
getNote: (room_name, note_title) ->
note_dict = [room_name]
if note_dict
note = note_dict[note_title]
if note
return note
return null
# write text to newest note
writeTextToNewestNoteInRoom: (room_name, text) ->
if text
note =
if note
note.addLine text
module.exports.NoteManager = NoteManager