Sha256: b4c32351ae74d123a94884c6b54f78d54e64d66d541b36af405b9bc143a15bbe
Contents?: true
Size: 1.26 KB
Versions: 2
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.wait_for(: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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
evertils-0.3.22 | lib/evertils/controllers/log.rb |
evertils-0.3.21 | lib/evertils/controllers/log.rb |