Sha256: b2d9c72c40fa86d93eaad17b045ed1b7388995401afcbbf185802f0c438488e5
Contents?: true
Size: 1.51 KB
Versions: 2
Compression:
Stored size: 1.51 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(: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("div:contains('#{conf[:search]}')").first.next_element return Notify.error('Unable to log message') 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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
evertils-0.4.0 | lib/evertils/controllers/log.rb |
evertils-0.3.27 | lib/evertils/controllers/log.rb |