time-sheet 0.11.0 → 0.13.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
2
  SHA256:
3
- metadata.gz: c1f3f57a31269c965756a1eb5f00eccd8c831ab69bcd2f71cc65ca9242e54dcc
4
- data.tar.gz: b5e121a0c379450019c7606ee994c5ea5ebdb5e5cef8afcb3f33f5fe864b8a6f
3
+ metadata.gz: f9adeab367eb0148cb4955998b48150ee01572c73bb10dae433f06c070522751
4
+ data.tar.gz: e0574ef0e9cd16b10bea3aed8de0aea289e7e9255211236a30e91ae49fef6b99
5
5
  SHA512:
6
- metadata.gz: c31004116f099381d80021a34d04c541bc13b221e0d980c9f073f28150dd8843fb837022670ff46015ddc1dd62c9d294d9847b9e4d5207d45249ca8ebf720389
7
- data.tar.gz: a7f08110118e2aaacb4569e6d3835b4c40660a0561318490edef9b0023a6c33061bc2ff3c068062ce7d9bfb382926aaae44448e36715ab68988dc6b4d7aeb270
6
+ metadata.gz: 75e6ea96de075b554cf181d5298fb1527380d6aa3c7e0d982afe0e596849cd521b102add3d1f2e1ad2e45e0fef8ab76effb1815fc9ab8f03d2cc66c825dd0ca6
7
+ data.tar.gz: 441d49f696d8afc564ff6baf409895f33192c8dd232f4d34c9eb2d11e5fee6eb13d703feeb7f9971a0299fde5ebacfc64ee43d924ca4e77baa2ec07cebe2afac
@@ -117,7 +117,7 @@ class TimeSheet::Time::Cmd
117
117
  o.string '-t', '--to', 'ignore entries more recent than the date given'
118
118
  o.string '-p', '--project', 'take only entries of this project into account'
119
119
  o.string '-a', '--activity', 'take only entries of this activity into account'
120
- o.string '--tags', 'take only entries with these tags into account (comma separated, not case sensitive)'
120
+ o.string '--tags', 'filter by tag (comma separated, not case sensitive, prefix tag with ! to exclude)'
121
121
  o.string '-d', '--description', 'consider only entries matching this description'
122
122
  o.string '-e', '--employee', 'consider only entries for this employee'
123
123
  o.float '-r', '--rate', 'use an alternative hourly rate (default: 80.0)', default: 80.00
@@ -156,11 +156,15 @@ class TimeSheet::Time::Cmd
156
156
  end
157
157
 
158
158
  if options[:package]
159
- package = data.last.map{|entry| entry[1]}.sum
159
+ package = (data.last.nil? ? 0 : data.last.map{|entry| entry[1]}.sum)
160
160
  total = options[:package] * 60
161
161
  percent = (package / total.to_f * 100)
162
162
 
163
- puts "last package duration: #{package}/#{total} (#{percent.round 2}%)"
163
+ puts [
164
+ "current package: #{package}/#{total}",
165
+ "(#{(package / 60.0).round(2)}/#{(total / 60.0).round(2)} hours,",
166
+ "#{percent.round 2}%)"
167
+ ].join(' ')
164
168
  end
165
169
  end
166
170
 
@@ -78,7 +78,6 @@ class TimeSheet::Time::Entry
78
78
  end
79
79
 
80
80
  def tags
81
- binding.pry if @data['tags'] == 86
82
81
  self.class.parse_tags(@data['tags'])
83
82
  end
84
83
 
@@ -106,7 +105,12 @@ class TimeSheet::Time::Entry
106
105
  return true if tags.empty?
107
106
 
108
107
  tags.all? do |tag|
109
- self.tags.include?(tag)
108
+ if tag.match?(/^\!/)
109
+ t = tag.gsub(/\!/, '')
110
+ !self.tags.include?(t)
111
+ else
112
+ self.tags.include?(tag)
113
+ end
110
114
  end
111
115
  end
112
116
 
@@ -1,3 +1,3 @@
1
1
  module TimeSheet
2
- VERSION = "0.11.0"
2
+ VERSION = "0.13.0"
3
3
  end
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.11.0
4
+ version: 0.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Moritz Schepp
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-06-25 00:00:00.000000000 Z
11
+ date: 2021-10-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: spreadsheet