Sha256: 469ab9600ab74f06bb4957530206177e047f5e3738c51c93c6704ccc27da3c46
Contents?: true
Size: 1.53 KB
Versions: 3
Compression:
Stored size: 1.53 KB
Contents
module Evertils module Controller class Log < Controller::Base def pre_exec super @note_helper = Evertils::Helper.load('Note') @api_helper = Evertils::Helper.load('ApiEnmlHandler', @config) end # Send arbitrary text to the daily log def message(text = nil) return Notify.error('A message is required', {}) if text.nil? note = @note_helper.wait_for_by_notebook(:Daily) edit_conf = { search: 'Triage', append: text } return Notify.error('Note not found') if note.entity.nil? modify(note, edit_conf) end private # Update a note with content def modify(note, conf) xml = @api_helper.from_str(note.entity.content) xml_helper = Evertils::Helper.load('Xml', xml) time = Time.now.strftime('%I:%M') target = xml.search("h2:contains('#{conf[:search]}')").first return Notify.error('Unable to log message, triage section not found') if target.nil? log_message_txt = xml_helper.span("#{time} - #{conf[:append]}") log_message_el = xml_helper.li(log_message_txt) # append the log message to the target target.add_child(log_message_el) # remove XML processing definition if it is the second element if xml.children[1].is_a?(Nokogiri::XML::ProcessingInstruction) xml.children[1].remove end note.entity.content = xml.to_s Notify.success("Item logged at #{time}") if note.update end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
evertils-1.0.3 | lib/evertils/controllers/log.rb |
evertils-1.0.2 | lib/evertils/controllers/log.rb |
evertils-1.0.1 | lib/evertils/controllers/log.rb |