class Tracco::Member
Public Class Methods
build_from(trello_member)
click to toggle source
# File lib/tracco/models/member.rb, line 17 def self.build_from(trello_member) trello_member_id = trello_member.id trello_member.attributes.delete(:id) new(trello_member.attributes.merge(trello_id: trello_member_id)) end
Public Instance Methods
==(other)
click to toggle source
# File lib/tracco/models/member.rb, line 39 def ==(other) return true if other.equal?(self) return false unless other.kind_of?(self.class) username == other.username end
at_username()
click to toggle source
# File lib/tracco/models/member.rb, line 23 def at_username "@#{username}" end
avatar_url()
click to toggle source
# File lib/tracco/models/member.rb, line 27 def avatar_url trello_member.avatar_url(size: :small) end
effort_spent(from_date=nil)
click to toggle source
# File lib/tracco/models/member.rb, line 31 def effort_spent(from_date=nil) cards = TrackedCard.with_effort_spent_by(username) efforts = cards.map(&:efforts).compact.flatten efforts = efforts.select {|e| e.date >= from_date} if from_date efforts.select { |effort| effort.include?(self) }.inject(0) { |total, effort| total + effort.amount_per_member } end
Also aliased as: effort_spent_since
eql?(other)
click to toggle source
# File lib/tracco/models/member.rb, line 46 def eql?(other) return false unless other.instance_of?(self.class) username == other.username end
hash()
click to toggle source
# File lib/tracco/models/member.rb, line 51 def hash username.hash end
Private Instance Methods
trello_member()
click to toggle source
# File lib/tracco/models/member.rb, line 57 def trello_member @trello_member ||= Trello::Member.new("id" => trello_id, "fullName" => full_name, "username" => username, "avatarHash" => avatar_id, "bio" => bio, "url" => url) end