Sha256: 392f46ce4972c6cbe1e8440404e0ce2784e29572ed3673cc4a2018f7a4aa4ae9
Contents?: true
Size: 1.48 KB
Versions: 5
Compression:
Stored size: 1.48 KB
Contents
require 'taskwarrior-web/config' module TaskwarriorWeb class App < Sinatra::Base module Helpers def format_date(timestamp) format = TaskwarriorWeb::Config.dateformat || 'm/d/Y' subbed = format.gsub(/([a-zA-Z])/, '%\1') Time.parse(timestamp).strftime(subbed) end def colorize_date(timestamp) return if timestamp.nil? due_def = TaskwarriorWeb::Config.due.to_i || 5 time = Time.parse(timestamp) case true when Time.now.strftime('%D') == time.strftime('%D') then 'success' when Time.now.to_i > time.to_i then 'error' when (time.to_i - Time.now.to_i) < (due_def * 86400) then 'info' else 'regular' end end def linkify(item, method) return if item.nil? case method.to_s when 'project' item.gsub('.', '--') end end def auto_link(text) Rinku.auto_link(text, :all, 'target="_blank"') end def subnav(type) case type when 'tasks' then { '/tasks/pending' => "Pending <span class=\"badge\">#{TaskwarriorWeb::Task.count(:status => :pending)}</span>", '/tasks/waiting' => "Waiting", '/tasks/completed' => "Completed", '/tasks/deleted' => 'Deleted' } when 'projects' { '/projects/overview' => 'Overview' } else { } end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems