class Tracco::Tracking::EffortTracking
Public Instance Methods
add_to(card)
click to toggle source
# File lib/tracco/tracking/effort_tracking.rb, line 6 def add_to(card) card.efforts << effort unless card.contains_effort?(effort) end
effort()
click to toggle source
# File lib/tracco/tracking/effort_tracking.rb, line 10 def effort @effort ||= Effort.new(amount: total_effort_from(raw_effort), date: date, members: effort_members, tracking_notification_id: tracking_notification.id) end
Private Instance Methods
effort_members()
click to toggle source
# File lib/tracco/tracking/effort_tracking.rb, line 25 def effort_members @effort_members ||= members_involved_in_the_effort.map do |username| Member.build_from(Trello::Member.find(username)) end end
members_involved_in_the_effort()
click to toggle source
# File lib/tracco/tracking/effort_tracking.rb, line 31 def members_involved_in_the_effort members_involved_in_the_effort = raw_tracking.scan(/@(\w+)/).flatten members_involved_in_the_effort << notifier.username unless should_count_only_listed_members? members_involved_in_the_effort end
raw_effort()
click to toggle source
# File lib/tracco/tracking/effort_tracking.rb, line 21 def raw_effort extract_match_from_raw_tracking(/\+#{DURATION_REGEXP}/) end
should_count_only_listed_members?()
click to toggle source
# File lib/tracco/tracking/effort_tracking.rb, line 38 def should_count_only_listed_members? raw_tracking =~ /\((@\w+\W*\s*)+\)/ end
total_effort_from(raw_effort)
click to toggle source
# File lib/tracco/tracking/effort_tracking.rb, line 16 def total_effort_from(raw_effort) effort_amount = convert_to_hours(raw_effort) total_effort = effort_amount * effort_members.size end