def row_unit(time_with_zone, exclusive = false, ceil = false)
          time = time_with_zone.to_datetime
          time = time - 1.minutes if exclusive && time.min == 0

          if ceil
            result = to_minutes(time).to_f / @options[:unit]
            result = result.ceil
          else
            result = to_minutes(time) / @options[:unit]
          end

          [[result, @_starting_row].max, @_ending_row].min # clamp value to [@_starting_row, @_ending_row]
        end
def row_unit(time_with_zone, exclusive = false, ceil = false)
          time = time_with_zone.to_datetime
          time = time - 1.minutes if exclusive && time.min == 0

          if ceil
            result = to_minutes(time).to_f / @options[:unit]
            result = result.ceil
          else
            result = to_minutes(time) / @options[:unit]
          end

          [[result, @_starting_row].max, @_ending_row].min # clamp value to [@_starting_row, @_ending_row]
        end
Get the row associated with the given time, in :units
 If exclusive is set to true, we remove 1 minute of times with 0 minutes (ex: 12:00 => 11:59)