Sha256: 14f38e3a27396e6f6e079703921fa202b7369e3d4274d72b13e0150b85193e78
Contents?: true
Size: 1.26 KB
Versions: 3
Compression:
Stored size: 1.26 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', {}) end # Send arbitrary text to the daily log def message(text) Notify.error('Text argument is required', {}) if text.nil? note = @note_helper.find_note(:Daily) edit_conf = { search: 'Triage', append: text } 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 nearest_ul = target.search('ul') span = xml_helper.span("#{time} - #{conf[:append]}") li = xml_helper.li(span) if nearest_ul.empty? node = xml_helper.ul(li) target.children.before(node) else nearest_ul.children.after(li) 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-0.3.20 | lib/evertils/controllers/log.rb |
evertils-0.3.19 | lib/evertils/controllers/log.rb |
evertils-0.3.18 | lib/evertils/controllers/log.rb |