Commit 00d0e57e859454c62084893a74fad71c26d5c50c

Authored by Sato Hiroyuki
1 parent 14c2a37d

Commits are arranged below their first parent.

Showing 1 changed file with 19 additions and 2 deletions   Show diff stats
app/models/graph/json_builder.rb
... ... @@ -181,7 +181,8 @@ module Graph
181 181 end
182 182  
183 183 time_range = leaves.last.time..leaves.first.time
184   - space = find_free_space(time_range, 2)
  184 + space_base = get_space_base(leaves, map)
  185 + space = find_free_space(time_range, 2, space_base)
185 186 leaves.each do |l|
186 187 l.spaces << space
187 188 # Also add space to parent
... ... @@ -223,13 +224,29 @@ module Graph
223 224 end
224 225 end
225 226  
  227 + def get_space_base(leaves, map)
  228 + space_base = 1
  229 + if leaves.last.parents.size > 0
  230 + first_parent = leaves.last.parents.first
  231 + if map.include?(first_parent.id)
  232 + first_p = map[first_parent.id]
  233 + if first_p.space > 0
  234 + space_base = first_p.space
  235 + end
  236 + end
  237 + end
  238 + space_base
  239 + end
  240 +
226 241 def mark_reserved(time_range, space)
227 242 for day in time_range
228 243 @_reserved[day].push(space)
229 244 end
230 245 end
231 246  
232   - def find_free_space(time_range, space_step, space_base = 1, space_default = 1)
  247 + def find_free_space(time_range, space_step, space_base = 1, space_default = nil)
  248 + space_default ||= space_base
  249 +
233 250 reserved = []
234 251 for day in time_range
235 252 reserved += @_reserved[day]
... ...