time-sheet 0.6.0 → 0.6.1
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/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
|