toggl-jobcan 0.6.0 → 0.7.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 +4 -4
- data/lib/toggl/jobcan/cli.rb +18 -5
- data/lib/toggl/jobcan/toggl_support.rb +5 -3
- data/lib/toggl/jobcan/version.rb +1 -1
- data/toggl-jobcan.gemspec +2 -1
- metadata +20 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7d97f44c04aaab1de12ddf25087a02b870db237b7926db2a760f6d93888a1eff
|
|
4
|
+
data.tar.gz: 7b5833d24e69598835625fd86e2e12063053ea4ca358f835f27eaf27f8711d62
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8d5b2f45ee2502f36d4e4e6ca82c31d425a1efd511d2f49fec521d4af2eaf370b529bf4d129c91d9ba3de75102b166318b0220b81d1366e242defbd124cfa94d
|
|
7
|
+
data.tar.gz: 6fdeff1edb4f8cde58487cff610cfd4a7e845aef732e2e2775ae887fae3037c04bddd2aeb94a474f59bc8de986e5f9e058dc4d67e736259faf0c0adbc3d3aa81
|
data/lib/toggl/jobcan/cli.rb
CHANGED
|
@@ -104,27 +104,40 @@ module Toggl
|
|
|
104
104
|
end
|
|
105
105
|
end
|
|
106
106
|
|
|
107
|
+
# To collect time entries in an API call, target days must be in a single month
|
|
108
|
+
def validate_days_in_a_month
|
|
109
|
+
day = @target_days.first
|
|
110
|
+
y = day.year
|
|
111
|
+
m = day.month
|
|
112
|
+
unless @target_days.all? { |d| d.year == y and d.month == m }
|
|
113
|
+
raise DifferentYearMonthError, "Different year/month=#{d.year}/#{d.month}"
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
|
|
107
117
|
def register_days
|
|
118
|
+
validate_days_in_a_month
|
|
119
|
+
working_times_map = jobcan.fetch_toggl_worktime(@target_days)
|
|
108
120
|
@target_days.each do |date|
|
|
109
|
-
register_day(date)
|
|
121
|
+
register_day(working_times_map, date)
|
|
110
122
|
end
|
|
111
123
|
end
|
|
112
124
|
|
|
113
|
-
def register_day(date)
|
|
125
|
+
def register_day(working_times_map, date)
|
|
114
126
|
puts "Input date: #{date}"
|
|
115
|
-
working_times =
|
|
116
|
-
if working_times.any?(&:nil?)
|
|
127
|
+
working_times = working_times_map[date.day]&.flatten
|
|
128
|
+
if working_times.nil? || working_times.any?(&:nil?)
|
|
117
129
|
puts 'Includes nil data: skip'
|
|
118
130
|
return
|
|
119
131
|
end
|
|
120
132
|
jobcan.navigate_to_attendance_modify_day(date)
|
|
121
133
|
jobcan.input_day_worktime(date, working_times)
|
|
122
134
|
sleep 1
|
|
123
|
-
puts " - Finish: #{date}; Total time: #{jobcan.toggl.total_time}"
|
|
135
|
+
puts " - Finish: #{date}; Total time: #{jobcan.toggl.total_time(day: date.day)}"
|
|
124
136
|
end
|
|
125
137
|
end
|
|
126
138
|
end
|
|
127
139
|
|
|
128
140
|
class NoDayGivenError < StandardError; end
|
|
141
|
+
class DifferentYearMonthError < StandardError; end
|
|
129
142
|
end
|
|
130
143
|
end
|
|
@@ -4,9 +4,11 @@ module Toggl
|
|
|
4
4
|
module Jobcan
|
|
5
5
|
# Provides support methods for Toggl
|
|
6
6
|
module TogglSupport
|
|
7
|
-
def fetch_toggl_worktime(
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
def fetch_toggl_worktime(dates)
|
|
8
|
+
first_day = dates.sort.first
|
|
9
|
+
last_day = dates.sort.last
|
|
10
|
+
@toggl.merge_multi!(first_day.year, first_day.month, first_day.day, last_day.day)
|
|
11
|
+
@toggl.work_time_map
|
|
10
12
|
end
|
|
11
13
|
|
|
12
14
|
def toggl_time_format(date, timestamp)
|
data/lib/toggl/jobcan/version.rb
CHANGED
data/toggl-jobcan.gemspec
CHANGED
|
@@ -24,9 +24,10 @@ Gem::Specification.new do |spec|
|
|
|
24
24
|
|
|
25
25
|
spec.add_dependency 'selenium-webdriver'
|
|
26
26
|
spec.add_dependency 'thor'
|
|
27
|
-
spec.add_dependency 'toggl-worktime', '~> 0.
|
|
27
|
+
spec.add_dependency 'toggl-worktime', '~> 0.7.0', '>= 0.7.0'
|
|
28
28
|
spec.add_dependency 'webdrivers'
|
|
29
29
|
spec.add_development_dependency 'bundler'
|
|
30
|
+
spec.add_development_dependency 'gem-release'
|
|
30
31
|
spec.add_development_dependency 'github_changelog_generator'
|
|
31
32
|
spec.add_development_dependency 'pry'
|
|
32
33
|
spec.add_development_dependency 'pry-byebug'
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: toggl-jobcan
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.7.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Tomoya Kabe
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2025-
|
|
11
|
+
date: 2025-12-31 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: selenium-webdriver
|
|
@@ -44,20 +44,20 @@ dependencies:
|
|
|
44
44
|
requirements:
|
|
45
45
|
- - "~>"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: 0.
|
|
47
|
+
version: 0.7.0
|
|
48
48
|
- - ">="
|
|
49
49
|
- !ruby/object:Gem::Version
|
|
50
|
-
version: 0.
|
|
50
|
+
version: 0.7.0
|
|
51
51
|
type: :runtime
|
|
52
52
|
prerelease: false
|
|
53
53
|
version_requirements: !ruby/object:Gem::Requirement
|
|
54
54
|
requirements:
|
|
55
55
|
- - "~>"
|
|
56
56
|
- !ruby/object:Gem::Version
|
|
57
|
-
version: 0.
|
|
57
|
+
version: 0.7.0
|
|
58
58
|
- - ">="
|
|
59
59
|
- !ruby/object:Gem::Version
|
|
60
|
-
version: 0.
|
|
60
|
+
version: 0.7.0
|
|
61
61
|
- !ruby/object:Gem::Dependency
|
|
62
62
|
name: webdrivers
|
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -86,6 +86,20 @@ dependencies:
|
|
|
86
86
|
- - ">="
|
|
87
87
|
- !ruby/object:Gem::Version
|
|
88
88
|
version: '0'
|
|
89
|
+
- !ruby/object:Gem::Dependency
|
|
90
|
+
name: gem-release
|
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
|
92
|
+
requirements:
|
|
93
|
+
- - ">="
|
|
94
|
+
- !ruby/object:Gem::Version
|
|
95
|
+
version: '0'
|
|
96
|
+
type: :development
|
|
97
|
+
prerelease: false
|
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
99
|
+
requirements:
|
|
100
|
+
- - ">="
|
|
101
|
+
- !ruby/object:Gem::Version
|
|
102
|
+
version: '0'
|
|
89
103
|
- !ruby/object:Gem::Dependency
|
|
90
104
|
name: github_changelog_generator
|
|
91
105
|
requirement: !ruby/object:Gem::Requirement
|