class Troo::Decorators::Resource
Attributes
klass[R]
options[R]
Public Class Methods
new(klass, options = {})
click to toggle source
@param [] @param [Hash] @return [Troo::Decorators::Resource]
# File lib/troo/decorators/resource.rb, line 9 def initialize(klass, options = {}) @klass, @options = klass, options end
Public Instance Methods
as_view()
click to toggle source
@return [String]
# File lib/troo/decorators/resource.rb, line 101 def as_view Template.parse(self, '/../views/' + type + '.erb') end
board()
click to toggle source
@return [Troo::Decorators::Resource]
# File lib/troo/decorators/resource.rb, line 65 def board klass.board.decorator end
comments()
click to toggle source
@return [String]
# File lib/troo/decorators/resource.rb, line 75 def comments if klass.comments.any? && klass.comments.size > 3 msg = '(There are more comments, use: ' \ "'troo show comments #{klass.short_id}' to view " \ ' all comments.)' [decorated_recent_comments, msg].join("\n") elsif klass.comments.any? decorated_all_comments else 'No comments have been left.' end end
date()
click to toggle source
@return [String]
# File lib/troo/decorators/resource.rb, line 120 def date Time.parse(klass.date).strftime('%a, %b %d at %H:%M') end
default()
click to toggle source
@return [String, NilClass]
# File lib/troo/decorators/resource.rb, line 55 def default klass.default? ? '*' : nil end
description()
click to toggle source
@return [String]
# File lib/troo/decorators/resource.rb, line 48 def description return 'N/A' if klass.description.nil? || klass.description.empty? Troo::Formatter.wordwrap(klass.description) end
id()
click to toggle source
@return [Fixnum]
# File lib/troo/decorators/resource.rb, line 43 def id (klass.type == :card) ? klass.short_id : klass.id end
last_activity_date()
click to toggle source
@return [String]
# File lib/troo/decorators/resource.rb, line 94 def last_activity_date return 'N/A' unless klass.last_activity_date Time.parse(klass.last_activity_date) .strftime('%a, %b %d at %H:%M') end
list()
click to toggle source
@return [Troo::Decorators::Resource]
# File lib/troo/decorators/resource.rb, line 70 def list klass.list.decorator end
members()
click to toggle source
@return [String]
# File lib/troo/decorators/resource.rb, line 89 def members Presenters::Member.new(klass).show end
name()
click to toggle source
@return [String]
# File lib/troo/decorators/resource.rb, line 60 def name (klass.name && klass.name.chomp) || 'N/A' end
resource_id()
click to toggle source
@return [String]
# File lib/troo/decorators/resource.rb, line 33 def resource_id if klass.type == :card brackets(Troo::Formatter.highlight( Troo::Wordwrap.this(id), options)) else brackets(id) end end
resource_title()
click to toggle source
@return [String]
# File lib/troo/decorators/resource.rb, line 23 def resource_title if klass.type == :card Troo::Wordwrap.this(name, prune: true) else Troo::Formatter.highlight( Troo::Wordwrap.this(name, prune: true), options) end end
text()
click to toggle source
@return [String]
# File lib/troo/decorators/resource.rb, line 115 def text Troo::Formatter.wordwrap(klass.text) end
title()
click to toggle source
@return [String]
# File lib/troo/decorators/resource.rb, line 14 def title [ resource_id, resource_title, default ].compact.join(' ') + "\n" end
username()
click to toggle source
@return [String]
# File lib/troo/decorators/resource.rb, line 106 def username if klass.type == :member ['@', klass.username].join else ['@', klass.member.username].join end end
Private Instance Methods
colour()
click to toggle source
# File lib/troo/decorators/resource.rb, line 156 def colour { board: Esc.blue, card: Esc.magenta, list: Esc.green, comments: Esc.cyan, member: Esc.white } end
decorated_all_comments()
click to toggle source
# File lib/troo/decorators/resource.rb, line 138 def decorated_all_comments klass.comments.map do |comment| comment.decorator.as_view end.join end
decorated_recent_comments()
click to toggle source
# File lib/troo/decorators/resource.rb, line 132 def decorated_recent_comments klass.recent_comments.map do |comment| comment.decorator.as_view end.join end
defaults()
click to toggle source
# File lib/troo/decorators/resource.rb, line 148 def defaults { ansicolor: true, colour: colour.fetch(klass.type, nil), underline: true } end
type()
click to toggle source
# File lib/troo/decorators/resource.rb, line 128 def type klass.type.to_s end