rtime 0.1.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f9e2ae373791a67913f562e62be256fb232b6175
4
- data.tar.gz: 542f60fd6c9a6cfc3d58e8e9785598e806def02e
3
+ metadata.gz: 29e7070738d47b058a1a87cb0d474da0a35cf6ed
4
+ data.tar.gz: a1ac810a1e2fca23c7167d31b59b69046c0bab85
5
5
  SHA512:
6
- metadata.gz: 6c5c5152d50cfdd166463bbeefffb5401d77a1a5a7ee17159a4d4084d054a1cbabfd2d4d0d2c0a1b3683f06759140b40e4e23993937c780ca5fd33d0f9126f7e
7
- data.tar.gz: 7e1a8ae52c6dc57ed063d29408e65c8d852a7e7760006d68ae038f24fe1cf9490c117720e76f6c39908f10fafde769b65a0d6ab2c4dea4621b473f01401ea7f9
6
+ metadata.gz: 7435ae4e13f9b54e41579df1e712f463921d584c2458eaae36f698d344c57270e9beb8205f46b980245475282ed7e0eb4bd2d1151e67f2a8cb80fb6ef4caf5d5
7
+ data.tar.gz: b389061a8211ccb7d2e3dffc0c6ff3f2845dd024f54fe77794ee5d5cf8235cb04954e13ca05b657ee934c25a7b0b0fec8dbcf78722bfde5e3e80b57d5e6adb61
data/.reek ADDED
@@ -0,0 +1,5 @@
1
+ TooManyStatements:
2
+ max_statements: 10
3
+
4
+ exclude_paths:
5
+ - test
data/bin/rtime CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ require "bundler/setup"
2
3
  require "thor"
3
4
  require "rtime"
4
5
 
@@ -18,7 +19,9 @@ module RTime
18
19
 
19
20
  if date_matcher =~ date1 && date_matcher =~ date2 && coverage_match
20
21
  timestamps = RTime::RTS.timestamps(
21
- date1, date2, coverage_match[:coverage].to_f / 100, options
22
+ { start: date1, end: date2 },
23
+ coverage_match[:coverage].to_f / 100,
24
+ options
22
25
  )
23
26
  timestamps.each { |timestamp| puts "\n#{timestamp}" }
24
27
  else
@@ -12,8 +12,9 @@ module RTime
12
12
  (0..23).to_a.sample
13
13
  end
14
14
 
15
- minute = (0..59).to_a.sample
16
- second = (0..59).to_a.sample
15
+ time_unit_sample = (0..59).to_a.sample
16
+ minute = time_unit_sample
17
+ second = time_unit_sample
17
18
 
18
19
  [hour, minute, second]
19
20
  end
@@ -21,6 +22,8 @@ module RTime
21
22
  # Parses date from `YYYYMMDD` format
22
23
  #
23
24
  # Returns a time segment
25
+ #--
26
+ # TODO: investigate :reek:FeatureEnvy
24
27
  def _parse_date date
25
28
  match = /^(?<year>\d{4})(?<month>\d{2})(?<day>\d{2})$/.match date
26
29
 
@@ -42,19 +45,23 @@ module RTime
42
45
  end
43
46
 
44
47
  # Returns all the timestamp in a range
45
- def _timestamps_in_range date1, date2, options
46
- year, month, day = _parse_date date1
47
- date1 = Time.new year, month, day
48
- year, month, day = _parse_date date2
49
- date2 = Time.new year, month, day
50
- start_date, end_date = date1 < date2 ? [date1, date2] : [date2, date1]
48
+ #--
49
+ # TODO: investigate :reek:FeatureEnvy
50
+ def _timestamps_in_range date_range, options
51
+ start_date = Time.new(*_parse_date(date_range[:start]))
52
+ end_date = Time.new(*_parse_date(date_range[:end]))
53
+ start_date, end_date =
54
+ if start_date < end_date
55
+ [start_date, end_date]
56
+ else
57
+ [end_date, start_date]
58
+ end
51
59
  range = []
52
60
  tmp_date = start_date
53
- while tmp_date <= end_date
54
61
 
55
- hour, minute, second = _time_for(options)
62
+ while tmp_date <= end_date
56
63
  range.push Time.new(
57
- tmp_date.year, tmp_date.month, tmp_date.day, hour, minute, second
64
+ tmp_date.year, tmp_date.month, tmp_date.day, *_time_for(options)
58
65
  )
59
66
  tmp_date += 60 * 60 * 24 # 1 day
60
67
  end
@@ -63,8 +70,8 @@ module RTime
63
70
  end
64
71
 
65
72
  # Returns a specified percentage of random timestamp in a range
66
- def timestamps date1, date2, coverage, options = { night_only: false }
67
- all_timestamps = _timestamps_in_range date1, date2, options
73
+ def timestamps date_range, coverage, options = { night_only: false }
74
+ all_timestamps = _timestamps_in_range date_range, options
68
75
  selection_count =
69
76
  _selections_for_coverage all_timestamps.count, coverage
70
77
  all_timestamps.sample(selection_count).sort
@@ -1,4 +1,4 @@
1
1
  module RTime
2
2
  # Gem version specifier
3
- VERSION = "0.1.1".freeze
3
+ VERSION = "1.0.0".freeze
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rtime
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tahmid Shakil
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-15 00:00:00.000000000 Z
11
+ date: 2017-06-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -104,6 +104,7 @@ extra_rdoc_files: []
104
104
  files:
105
105
  - ".codeclimate.yml"
106
106
  - ".gitignore"
107
+ - ".reek"
107
108
  - ".rubocop.yml"
108
109
  - ".travis.yml"
109
110
  - Gemfile