Commit f11e855bdb7f4026a4ec4c553ce7308b9bf71a0a

Authored by Sato Hiroyuki
1 parent aa36f07a

Finding free space from the way near commit which is downward

Showing 1 changed file with 6 additions and 6 deletions   Show diff stats
app/models/graph/json_builder.rb
@@ -136,9 +136,9 @@ module Graph @@ -136,9 +136,9 @@ module Graph
136 end 136 end
137 137
138 space = if commit.space >= parent.space then 138 space = if commit.space >= parent.space then
139 - find_free_parent_space(range, parent.space, 1, commit.space, times) 139 + find_free_parent_space(range, parent.space, -1, commit.space, times)
140 else 140 else
141 - find_free_parent_space(range, parent.space, -1, parent.space, times) 141 + find_free_parent_space(range, commit.space, -1, parent.space, times)
142 end 142 end
143 143
144 mark_reserved(range, space) 144 mark_reserved(range, space)
@@ -151,7 +151,7 @@ module Graph @@ -151,7 +151,7 @@ module Graph
151 151
152 def find_free_parent_space(range, space_base, space_step, space_default, times) 152 def find_free_parent_space(range, space_base, space_step, space_default, times)
153 if is_overlap?(range, times, space_default) then 153 if is_overlap?(range, times, space_default) then
154 - find_free_space(range, space_base, space_step) 154 + find_free_space(range, space_base, space_step, space_default)
155 else 155 else
156 space_default 156 space_default
157 end 157 end
@@ -221,17 +221,17 @@ module Graph @@ -221,17 +221,17 @@ module Graph
221 end 221 end
222 end 222 end
223 223
224 - def find_free_space(time_range, space_base, space_step) 224 + def find_free_space(time_range, space_base, space_step, space_default = 1)
225 reserved = [] 225 reserved = []
226 for day in time_range 226 for day in time_range
227 reserved += @_reserved[day] 227 reserved += @_reserved[day]
228 end 228 end
229 reserved.uniq! 229 reserved.uniq!
230 230
231 - space = space_base 231 + space = space_default
232 while reserved.include?(space) do 232 while reserved.include?(space) do
233 space += space_step 233 space += space_step
234 - if space <= 0 then 234 + if space < space_base then
235 space_step *= -1 235 space_step *= -1
236 space = space_base + space_step 236 space = space_base + space_step
237 end 237 end