time-sheet 0.6.0 → 0.6.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/time_sheet/time/entry.rb +20 -4
- data/lib/time_sheet/time/parser.rb +6 -1
- data/lib/time_sheet/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0dcc4d06773fec0e5b25f70420d655de6fdd663600737706792fc6a544d02830
|
4
|
+
data.tar.gz: ae0ebb5d103910f4da1e1e438a91d22d09acf5749ce51914cf5cef06845621d5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6aaa1db33009cba4d3d2e6b72117e893b40f0603864beb89046aa4da122c5f3c01ec5096d5ddeb1edde7e9fc7a7659df4285fe75ba267494f56bd685927c3a68
|
7
|
+
data.tar.gz: 6880e21f5ce5a904d59d7101406463432e4ec7f4c67776c9fcc5fbfdb69de6e9456987449aa876e4559ad1c18712409d970aeed0a88d2e6f35ecf3fc5353af62
|
@@ -7,7 +7,7 @@ class TimeSheet::Time::Entry
|
|
7
7
|
@data = data
|
8
8
|
end
|
9
9
|
|
10
|
-
attr_accessor :prev, :next
|
10
|
+
attr_accessor :prev, :next, :exception, :data
|
11
11
|
|
12
12
|
def project
|
13
13
|
@data['project'] ||= self.prev.project
|
@@ -32,7 +32,6 @@ class TimeSheet::Time::Entry
|
|
32
32
|
)
|
33
33
|
end
|
34
34
|
|
35
|
-
|
36
35
|
def end
|
37
36
|
ends_at = @data['end'] || (self.next ? self.next.start : self.class.now)
|
38
37
|
|
@@ -96,8 +95,25 @@ class TimeSheet::Time::Entry
|
|
96
95
|
end
|
97
96
|
|
98
97
|
def valid?
|
99
|
-
|
100
|
-
|
98
|
+
valid!
|
99
|
+
true
|
100
|
+
rescue TimeSheet::Time::Exception => e
|
101
|
+
self.exception = e
|
102
|
+
false
|
103
|
+
end
|
104
|
+
|
105
|
+
def valid!
|
106
|
+
if !@data['start']
|
107
|
+
raise TimeSheet::Time::Exception.new('time entry has no start')
|
108
|
+
end
|
109
|
+
|
110
|
+
if duration <= 0
|
111
|
+
raise TimeSheet::Time::Exception.new('time entry duration is 0 or less')
|
112
|
+
end
|
113
|
+
|
114
|
+
if (self.start >= self.end) && self.next
|
115
|
+
raise TimeSheet::Time::Exception.new('time entry has no end')
|
116
|
+
end
|
101
117
|
end
|
102
118
|
|
103
119
|
def to_row
|
@@ -37,7 +37,12 @@ class TimeSheet::Time::Parser
|
|
37
37
|
results.each do |r|
|
38
38
|
unless r.valid?
|
39
39
|
# byebug
|
40
|
-
raise
|
40
|
+
raise r.exception, [
|
41
|
+
r.exception.message, ': ',
|
42
|
+
r.data.inspect,
|
43
|
+
', preceeding entry: ',
|
44
|
+
r.prev
|
45
|
+
].join
|
41
46
|
end
|
42
47
|
end
|
43
48
|
results
|
data/lib/time_sheet/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: time-sheet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Moritz Schepp
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-04-
|
11
|
+
date: 2019-04-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: spreadsheet
|