Prepare for authors & costs managements.
This commit is contained in:
parent
91b37ffaa5
commit
02010868fd
2 changed files with 18 additions and 2 deletions
|
@ -1,10 +1,15 @@
|
|||
|
||||
module TimeCost
|
||||
class Range
|
||||
attr_accessor :time_start, :time_stop, :commits
|
||||
attr_accessor :time_start, :time_stop, :commits, :author
|
||||
|
||||
def initialize config, commit
|
||||
@config = config
|
||||
|
||||
# FIXME: First approximation for users
|
||||
# later, we'll replace with @user = User.parse(commit.author)
|
||||
@author = commit.author
|
||||
|
||||
@time_stop = DateTime.parse(commit.date)
|
||||
@time_start = @time_stop - (@config[:range_granularity] * 3 / 24.0)
|
||||
@commits = [commit]
|
||||
|
@ -33,6 +38,9 @@ module TimeCost
|
|||
def overlap? range
|
||||
result = false
|
||||
|
||||
# return early result if ranges come from different authors
|
||||
return false if (@author != range.author)
|
||||
|
||||
# Ref ----[----]-----
|
||||
# overlapping :
|
||||
# A -[----]--------
|
||||
|
@ -53,7 +61,6 @@ module TimeCost
|
|||
stop_before_start = (range.time_stop < @time_start)
|
||||
stop_after_start = (range.time_stop >= @time_start)
|
||||
|
||||
|
||||
# A case
|
||||
if start_before_start and start_before_stop and
|
||||
stop_after_start and stop_before_stop then
|
||||
|
@ -105,3 +112,4 @@ module TimeCost
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
8
lib/timecost/user.rb
Normal file
8
lib/timecost/user.rb
Normal file
|
@ -0,0 +1,8 @@
|
|||
|
||||
module TimeCost
|
||||
class Range
|
||||
# Return local user id for git user
|
||||
def self.parse gituser
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue