xoggl 1.2.0 → 1.4.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
- SHA1:
3
- metadata.gz: be8b9ab30bce7f035c70a3929495943ad549e0d5
4
- data.tar.gz: 1f1ce7378b30bee853abb3c33dbe19563193fac7
2
+ SHA256:
3
+ metadata.gz: 51dcb1a9e27c52da3b210c80ef818c0d57f41ed33b85d859a2dde57c2b03e0bf
4
+ data.tar.gz: a0b4eb51f895ceacbb6e75f42edbd0dc7f1800537c0e7ac1a0a8cc9cdbc211a4
5
5
  SHA512:
6
- metadata.gz: f10f9dee4f42c14be00edc573d73bfaeea94ec13b10afe189a0c46109a3ec12df689e2e701818fa07e191ea4b91f19beaff5cfc93086e1b663b3a41e8b576e6d
7
- data.tar.gz: a5cd959a91021972083af124b1ef371ac7c7916bf37b5c3e550d25722efc62a525310143199b308d237408640615f75f8994bdd5765bc76e6b2bad33a72f70de
6
+ metadata.gz: ff7ebd260227702e81508afc2df57c54c5b35dee565afda39a973ad96d879b235f25818106c82d6253becdc4d98619977ebe774f9d2ba5a87b2d03a42b38904b
7
+ data.tar.gz: 2c3f1e55057aa5ed247c96647c0098a19178ecf07c49ef0dfeb99a8d78d31d13705f90f515975a84ae14fa626a86072ce4364882c91f22c46762ba7acc0a0fc5
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- xoggl (1.2.0)
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.13.1)
15
+ faraday (0.15.4)
16
16
  multipart-post (>= 1.2, < 3)
17
- gli (2.16.1)
18
- holidays (6.1.0)
19
- logger (1.2.8)
20
- multipart-post (2.0.0)
21
- oj (3.3.5)
22
- rake (12.0.0)
23
- rspec (3.6.0)
24
- rspec-core (~> 3.6.0)
25
- rspec-expectations (~> 3.6.0)
26
- rspec-mocks (~> 3.6.0)
27
- rspec-core (3.6.0)
28
- rspec-support (~> 3.6.0)
29
- rspec-expectations (3.6.0)
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.6.0)
32
- rspec-mocks (3.6.0)
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.6.0)
35
- rspec-support (3.6.0)
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
- 1.15.4
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)
@@ -15,13 +15,21 @@ module Xoggl
15
15
  end
16
16
 
17
17
  def log_vacation(start_isodate, end_isodate)
18
- do_between(start_isodate, end_isodate) do |date|
19
- log_vacation_day(date) unless to_skip?(date)
20
- end
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 log_vacation_day(date)
48
- create_vacation_entry(date_time_from(date, 9))
49
- create_vacation_entry(date_time_from(date, 14))
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 create_vacation_entry(start_time)
71
+ def create_leave_entry(start_time, type)
64
72
  @toggl.create_time_entry(
65
73
  'billable' => false,
66
- 'description' => 'Ferie',
67
- 'tags' => ['Ferie'],
68
- 'pid' => vacation_project_id,
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 vacation_project_id
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']
@@ -1,3 +1,3 @@
1
1
  module Xoggl
2
- VERSION = '1.2.0'
2
+ VERSION = '1.4.0'
3
3
  end
@@ -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
@@ -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.2.0
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: 2017-08-24 00:00:00.000000000 Z
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
- rubyforge_project:
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