module Toji::Product
Public Instance Methods
compact()
click to toggle source
# File lib/toji/product.rb, line 41 def compact Utils.check_dup(self) dst = self.dup dst.compact! end
compact!()
click to toggle source
@dynamic koji_schedules @dynamic kake_schedules @dynamic action_schedules @dynamic rice_schedules @dynamic schedules
# File lib/toji/product.rb, line 16 def compact! recipe&.compact! min_interval_days = [ recipe&.steps&.map(&:interval_days)&.min, recipe&.steps&.flat_map{|step| step.rices.to_a}&.map(&:interval_days)&.min, recipe&.actions&.map(&:interval_days)&.min, ].compact.min if min_interval_days && min_interval_days!=0 recipe&.steps&.each {|step| step.interval_days -= min_interval_days step.rices {|rice| rice.interval_days -= min_interval_days } } recipe&.actions&.each {|action| action.interval_days -= min_interval_days } self.base_date = base_date.since(min_interval_days.days) end self end