xoggl 1.2.0 → 1.4.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 +5 -5
- data/Gemfile.lock +20 -21
- data/bin/xoggl +10 -0
- data/lib/xoggl/client.rb +19 -11
- data/lib/xoggl/version.rb +1 -1
- data/spec/lib/xoggl/client_spec.rb +12 -0
- data/xoggl.gemspec +0 -1
- metadata +3 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 51dcb1a9e27c52da3b210c80ef818c0d57f41ed33b85d859a2dde57c2b03e0bf
|
4
|
+
data.tar.gz: a0b4eb51f895ceacbb6e75f42edbd0dc7f1800537c0e7ac1a0a8cc9cdbc211a4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ff7ebd260227702e81508afc2df57c54c5b35dee565afda39a973ad96d879b235f25818106c82d6253becdc4d98619977ebe774f9d2ba5a87b2d03a42b38904b
|
7
|
+
data.tar.gz: 2c3f1e55057aa5ed247c96647c0098a19178ecf07c49ef0dfeb99a8d78d31d13705f90f515975a84ae14fa626a86072ce4364882c91f22c46762ba7acc0a0fc5
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
xoggl (1.
|
4
|
+
xoggl (1.4.0)
|
5
5
|
awesome_print
|
6
6
|
gli
|
7
7
|
holidays
|
@@ -12,27 +12,27 @@ GEM
|
|
12
12
|
specs:
|
13
13
|
awesome_print (1.8.0)
|
14
14
|
diff-lcs (1.3)
|
15
|
-
faraday (0.
|
15
|
+
faraday (0.15.4)
|
16
16
|
multipart-post (>= 1.2, < 3)
|
17
|
-
gli (2.
|
18
|
-
holidays (
|
19
|
-
logger (1.
|
20
|
-
multipart-post (2.
|
21
|
-
oj (3.
|
22
|
-
rake (12.
|
23
|
-
rspec (3.
|
24
|
-
rspec-core (~> 3.
|
25
|
-
rspec-expectations (~> 3.
|
26
|
-
rspec-mocks (~> 3.
|
27
|
-
rspec-core (3.
|
28
|
-
rspec-support (~> 3.
|
29
|
-
rspec-expectations (3.
|
17
|
+
gli (2.18.0)
|
18
|
+
holidays (7.1.0)
|
19
|
+
logger (1.3.0)
|
20
|
+
multipart-post (2.1.1)
|
21
|
+
oj (3.7.12)
|
22
|
+
rake (12.3.2)
|
23
|
+
rspec (3.8.0)
|
24
|
+
rspec-core (~> 3.8.0)
|
25
|
+
rspec-expectations (~> 3.8.0)
|
26
|
+
rspec-mocks (~> 3.8.0)
|
27
|
+
rspec-core (3.8.0)
|
28
|
+
rspec-support (~> 3.8.0)
|
29
|
+
rspec-expectations (3.8.3)
|
30
30
|
diff-lcs (>= 1.2.0, < 2.0)
|
31
|
-
rspec-support (~> 3.
|
32
|
-
rspec-mocks (3.
|
31
|
+
rspec-support (~> 3.8.0)
|
32
|
+
rspec-mocks (3.8.0)
|
33
33
|
diff-lcs (>= 1.2.0, < 2.0)
|
34
|
-
rspec-support (~> 3.
|
35
|
-
rspec-support (3.
|
34
|
+
rspec-support (~> 3.8.0)
|
35
|
+
rspec-support (3.8.0)
|
36
36
|
togglv8 (1.2.1)
|
37
37
|
faraday
|
38
38
|
logger
|
@@ -42,11 +42,10 @@ PLATFORMS
|
|
42
42
|
ruby
|
43
43
|
|
44
44
|
DEPENDENCIES
|
45
|
-
bundler
|
46
45
|
rake
|
47
46
|
rspec
|
48
47
|
rspec-mocks
|
49
48
|
xoggl!
|
50
49
|
|
51
50
|
BUNDLED WITH
|
52
|
-
|
51
|
+
2.0.1
|
data/bin/xoggl
CHANGED
@@ -38,4 +38,14 @@ command :vacation do |c|
|
|
38
38
|
end
|
39
39
|
end
|
40
40
|
|
41
|
+
desc 'Track days entries for sick leave'
|
42
|
+
long_desc 'Example: xoggl sick 2017-02-03 2017-02-15'
|
43
|
+
arg '<start_date>'
|
44
|
+
arg '<end_date>'
|
45
|
+
command :sick do |c|
|
46
|
+
c.action do |_, _, args|
|
47
|
+
@xoggl.log_sick_leave(args[0], args[1])
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
41
51
|
exit run(ARGV)
|
data/lib/xoggl/client.rb
CHANGED
@@ -15,13 +15,21 @@ module Xoggl
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def log_vacation(start_isodate, end_isodate)
|
18
|
-
|
19
|
-
|
20
|
-
|
18
|
+
log_leave(start_isodate, end_isodate, 'Ferie')
|
19
|
+
end
|
20
|
+
|
21
|
+
def log_sick_leave(start_isodate, end_isodate)
|
22
|
+
log_leave(start_isodate, end_isodate, 'Malattia')
|
21
23
|
end
|
22
24
|
|
23
25
|
private
|
24
26
|
|
27
|
+
def log_leave(start_isodate, end_isodate, type)
|
28
|
+
do_between(start_isodate, end_isodate) do |date|
|
29
|
+
log_leave_day(date, type) unless to_skip?(date)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
25
33
|
def do_between(start_isodate, end_isodate)
|
26
34
|
date = DateTime.iso8601(start_isodate)
|
27
35
|
end_date = DateTime.iso8601(end_isodate)
|
@@ -44,9 +52,9 @@ module Xoggl
|
|
44
52
|
create_work_entry(date_time_from(date, 14), project_name)
|
45
53
|
end
|
46
54
|
|
47
|
-
def
|
48
|
-
|
49
|
-
|
55
|
+
def log_leave_day(date, type)
|
56
|
+
create_leave_entry(date_time_from(date, 9), type)
|
57
|
+
create_leave_entry(date_time_from(date, 14), type)
|
50
58
|
end
|
51
59
|
|
52
60
|
def create_work_entry(start_time, project_name)
|
@@ -60,12 +68,12 @@ module Xoggl
|
|
60
68
|
)
|
61
69
|
end
|
62
70
|
|
63
|
-
def
|
71
|
+
def create_leave_entry(start_time, type)
|
64
72
|
@toggl.create_time_entry(
|
65
73
|
'billable' => false,
|
66
|
-
'description' =>
|
67
|
-
'tags' => [
|
68
|
-
'pid' =>
|
74
|
+
'description' => type,
|
75
|
+
'tags' => [type],
|
76
|
+
'pid' => leave_project_id,
|
69
77
|
'duration' => 14_400,
|
70
78
|
'start' => @toggl.iso8601(start_time)
|
71
79
|
)
|
@@ -79,7 +87,7 @@ module Xoggl
|
|
79
87
|
@workspace_id ||= @toggl.my_workspaces.first['id']
|
80
88
|
end
|
81
89
|
|
82
|
-
def
|
90
|
+
def leave_project_id
|
83
91
|
@vacation_project_id ||= @toggl.my_projects.select do |project|
|
84
92
|
project['name'] == 'Assenza'
|
85
93
|
end.first['id']
|
data/lib/xoggl/version.rb
CHANGED
@@ -69,6 +69,18 @@ describe Xoggl::Client do
|
|
69
69
|
end
|
70
70
|
end
|
71
71
|
|
72
|
+
context 'sick leave' do
|
73
|
+
it 'creates an entry' do
|
74
|
+
start_date = '2016-01-04'
|
75
|
+
end_date = '2016-01-04'
|
76
|
+
|
77
|
+
@client.log_sick_leave(start_date, end_date)
|
78
|
+
|
79
|
+
expect(entries.count).to eq(2)
|
80
|
+
expect(entries.first).to include('description' => 'Malattia')
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
72
84
|
private
|
73
85
|
|
74
86
|
def delete_entries
|
data/xoggl.gemspec
CHANGED
@@ -19,7 +19,6 @@ Gem::Specification.new do |spec|
|
|
19
19
|
|
20
20
|
spec.requirements << 'A Toggl account (https://toggl.com/)'
|
21
21
|
|
22
|
-
spec.add_development_dependency 'bundler'
|
23
22
|
spec.add_development_dependency 'rake'
|
24
23
|
spec.add_development_dependency 'rspec'
|
25
24
|
spec.add_development_dependency 'rspec-mocks'
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xoggl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Filippo Liverani
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-05-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: bundler
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: rake
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -162,8 +148,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
162
148
|
version: '0'
|
163
149
|
requirements:
|
164
150
|
- A Toggl account (https://toggl.com/)
|
165
|
-
|
166
|
-
rubygems_version: 2.6.12
|
151
|
+
rubygems_version: 3.0.3
|
167
152
|
signing_key:
|
168
153
|
specification_version: 4
|
169
154
|
summary: Simple Toggl cli
|