rtime 0.1.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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