GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Completed
Pull Request — master (#3)
by Ronald
03:53
created

EventInterval   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Importance

Changes 2
Bugs 0 Features 0
Metric Value
wmc 1
c 2
b 0
f 0
lcom 0
cbo 0
dl 0
loc 26
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A divide() 0 12 1
1
<?php
2
3
/**
4
 * @file
5
 * Class EventInterval
6
 */
7
8
namespace Roomify\Bat\Event;
9
10
/**
11
 * Class EventInterval
12
 *
13
 * A utility class that brings togehter functions we end up using often across Bat to hand Event Intervals.
14
 *
15
 * @package Roomify\Bat\Event
16
 */
17
class EventInterval {
18
19
	/**
20
	 * Return the number of times a duration fits into the start and end date taking into account
21
	 * BAT's consideration that the end time for a BAT event includes that last minute.
22
	 *
23
	 * @param \DateTime $start_date
24
	 * @param \DateTime $end_date
25
	 * @param \DateInterval $duration
26
	 *
27
	 * @return float
28
	 */
29
	public static function divide(\DateTime $start_date, \DateTime $end_date, \DateInterval $duration) {
30
		// Clone so that we don't change the original object. We are not using ImmutableDateTime to support PHP5.4
31
		$temp_end_date = clone($end_date);
32
33
		// Add a minute to deal with the fact that BAT considers the last minute included
34
		$temp_end_date->add(new \DateInterval('PT1M'));
35
36
		// Convert everything to seconds and calculate exactly how many times the duration fits in our event length
37
		$duration_seconds = $duration->d * 86400 + $duration->h * 3600 + $duration->i * 60 + $duration->s;
38
39
		return ($temp_end_date->getTimestamp() - $start_date->getTimestamp()) / $duration_seconds;
40
	}
41
42
}
43