timetrap 1.8.7 → 1.8.8

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
  SHA1:
3
- metadata.gz: c32811275b37ebcba60073a41afb5581a0794a8e
4
- data.tar.gz: 52812648b7ffd27bd210e3b3a403b0ac0274eb08
3
+ metadata.gz: f3f6e4b5598e8b73553f5e620f9a0de7642c947b
4
+ data.tar.gz: f3d5a4da6f59af38a33b771c2cfa4936607cf699
5
5
  SHA512:
6
- metadata.gz: c1d402e8d431d03dfaa0c3cb7447838563e2b5a887a825326449ab4c83d24f7d355a5ade9f1a6c81f0762f4dc312226308b4271a2357b69afa3a0af2e49e89d3
7
- data.tar.gz: 904cb7d8f3b299df9528dfe5c14b7b98f15516a8e634ba6bbba1b37469ee6978e315b237da7ed76ca7667d6271ff78eeb30b835b28dc02b64d1a02a3efdf83c6
6
+ metadata.gz: 758d71d46f72a54f3b0bd7bdfbc9659ef760156cedafbc1ea15d2c5be8d4c8eb1d8f2865c1720eaf1fecd336de7c205536cb7702a2f0f84b1d193ba4778c9907
7
+ data.tar.gz: 3a9bae2f61ba3c3c2a7bc5e7c93d36ab14fb19492eacdfb24c9193766d6d4a3a8d88aafb3cc3b467730ce35b11f7b68f501cf74b13fc13defa64798848a5e343
data/.gitignore ADDED
@@ -0,0 +1,5 @@
1
+ tags
2
+ pkg
3
+ *.swp
4
+ Gemfile.lock
5
+ .bundle
data/CONTRIBUTORS CHANGED
@@ -8,3 +8,4 @@
8
8
  * Johan Venant
9
9
  * Steven Ghyselbrecht
10
10
  * Matthew M. Keeler
11
+ * Toby Foster
data/Gemfile CHANGED
@@ -1,18 +1,2 @@
1
1
  source 'http://rubygems.org'
2
-
3
- gem 'sequel', ">= 3.9.0"
4
- gem 'sqlite3', "~> 1.3.3"
5
- gem 'chronic', ">= 0.6.4"
6
- gem 'json', ">= 1.4.6"
7
- gem 'icalendar', "~>1.1.5"
8
- gem 'rake'
9
- gem 'rdoc'
10
-
11
- group :test do
12
- gem "rspec", "~>2"
13
- gem 'fakefs'
14
- end
15
-
16
- group :development do
17
- gem 'jeweler'
18
- end
2
+ gemspec
data/Rakefile CHANGED
@@ -1,4 +1,3 @@
1
- require 'rdoc/task'
2
1
  require 'rubygems/package_task'
3
2
  require 'rspec/core/rake_task'
4
3
  begin
@@ -17,33 +16,5 @@ RSpec::Core::RakeTask.new do |t|
17
16
  # Put spec opts in a file named .rspec in root
18
17
  end
19
18
 
20
- Rake::RDocTask.new do |rd|
21
- rd.main = "README"
22
- rd.rdoc_dir = 'doc'
23
- rd.rdoc_files.include("README", "**/*.rb")
24
- end
25
-
26
- begin
27
- require 'jeweler'
28
- Jeweler::Tasks.new do |s|
29
- s.name = %q{timetrap}
30
19
 
31
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
32
- s.authors = ["Sam Goldstein"]
33
- s.description = %q{Command line time tracker}
34
- s.email = %q{sgrock@gmail.com}
35
- s.has_rdoc = true
36
- s.homepage = "http://github.com/samg/timetrap/tree/master"
37
- s.rdoc_options = ["--inline-source", "--charset=UTF-8"]
38
- s.require_paths = ["lib"]
39
- s.bindir = "bin"
40
- s.executables = ['t']
41
- s.summary = %q{Command line time tracker}
42
- s.add_dependency("sequel", ">= 3.9.0")
43
- s.add_dependency("sqlite3", "~> 1.3.3")
44
- s.add_dependency("chronic", ">= 0.6.4")
45
- end
46
- rescue LoadError
47
- puts "Jeweler not available."
48
- end
49
20
 
data/lib/timetrap/cli.rb CHANGED
@@ -350,7 +350,7 @@ COMMAND is one of:
350
350
  width = 10 if width < 10
351
351
  puts " %-#{width}s%-12s%-12s%s" % ["Timesheet", "Running", "Today", "Total Time"]
352
352
  sheets.each do |sheet|
353
- star = sheet[:name] == Timer.current_sheet ? '*' : ' '
353
+ star = sheet[:name] == Timer.current_sheet ? '*' : sheet[:name] == Timer.last_sheet ? '-' : ' '
354
354
  puts "#{star}%-#{width}s%-12s%-12s%s" % [
355
355
  sheet[:running],
356
356
  sheet[:today],
@@ -11,6 +11,7 @@ module Timetrap
11
11
  h[e.sheet] << e
12
12
  h
13
13
  end
14
+ longest_note = entries.inject('Notes'.length) {|l, e| [e.note.rstrip.length, l].max}
14
15
  (sheet_names = sheets.keys.sort).each do |sheet|
15
16
  self.output << "Timesheet: #{sheet}\n"
16
17
  id_heading = Timetrap::CLI.args['-v'] ? 'Id' : ' '
@@ -36,16 +37,12 @@ module Timetrap
36
37
  end
37
38
  last_start = e.start
38
39
  end
39
- self.output << <<-OUT
40
- ---------------------------------------------------------
41
- OUT
40
+ self.output << " %s\n" % ('-'*(52+longest_note))
42
41
  self.output << " Total%43s\n" % format_total(sheets[sheet])
43
42
  self.output << "\n" unless sheet == sheet_names.last
44
43
  end
45
44
  if sheets.size > 1
46
- self.output << <<-OUT
47
- -------------------------------------------------------------
48
- OUT
45
+ self.output << "%s\n" % ('-'*(4+52+longest_note))
49
46
  self.output << "Grand Total%41s\n" % format_total(sheets.values.flatten)
50
47
  end
51
48
  end
@@ -85,8 +85,8 @@ module Timetrap
85
85
  when /^\W*full\W*$/ then "full"
86
86
  when /^$/ then Timer.current_sheet
87
87
  else
88
- entry = DB[:entries].filter(:sheet.like("#{string}")).first ||
89
- DB[:entries].filter(:sheet.like("#{string}%")).first
88
+ entry = DB[:entries].filter(Sequel.like(:sheet,string)).first ||
89
+ DB[:entries].filter(Sequel.like(:sheet, "#{string}%")).first
90
90
  if entry
91
91
  entry[:sheet]
92
92
  else
@@ -0,0 +1,3 @@
1
+ module Timetrap
2
+ VERSION = '1.8.8'
3
+ end
@@ -242,7 +242,7 @@ The "format" command is deprecated in favor of "display". Sorry for the inconven
242
242
  describe "text" do
243
243
  before do
244
244
  Timetrap::Entry.create( :sheet => 'another',
245
- :note => 'entry 4', :start => '2008-10-05 18:00:00'
245
+ :note => 'a long entry note', :start => '2008-10-05 18:00:00'
246
246
  )
247
247
  Timetrap::Entry.create( :sheet => 'SpecSheet',
248
248
  :note => 'entry 2', :start => '2008-10-03 16:00:00', :end => '2008-10-03 18:00:00'
@@ -257,7 +257,7 @@ The "format" command is deprecated in favor of "display". Sorry for the inconven
257
257
  :note => 'entry 4', :start => '2008-10-05 18:00:00'
258
258
  )
259
259
 
260
- Time.stub!(:now).and_return local_time('2008-10-05 20:00:00')
260
+ Time.stub(:now).and_return local_time('2008-10-05 20:00:00')
261
261
  @desired_output = <<-OUTPUT
262
262
  Timesheet: SpecSheet
263
263
  Day Start End Duration Notes
@@ -267,7 +267,7 @@ Timesheet: SpecSheet
267
267
  Sun Oct 05, 2008 16:00:00 - 18:00:00 2:00:00 entry 3
268
268
  18:00:00 - 2:00:00 entry 4
269
269
  4:00:00
270
- ---------------------------------------------------------
270
+ -----------------------------------------------------------
271
271
  Total 8:00:00
272
272
  OUTPUT
273
273
 
@@ -280,7 +280,7 @@ Id Day Start End Duration Notes
280
280
  4 Sun Oct 05, 2008 16:00:00 - 18:00:00 2:00:00 entry 3
281
281
  5 18:00:00 - 2:00:00 entry 4
282
282
  4:00:00
283
- ---------------------------------------------------------
283
+ -----------------------------------------------------------
284
284
  Total 8:00:00
285
285
  OUTPUT
286
286
 
@@ -293,16 +293,16 @@ Timesheet: SpecSheet
293
293
  Sun Oct 05, 2008 16:00:00 - 18:00:00 2:00:00 entry 3
294
294
  18:00:00 - 2:00:00 entry 4
295
295
  4:00:00
296
- ---------------------------------------------------------
296
+ ---------------------------------------------------------------------
297
297
  Total 8:00:00
298
298
 
299
299
  Timesheet: another
300
300
  Day Start End Duration Notes
301
- Sun Oct 05, 2008 18:00:00 - 2:00:00 entry 4
301
+ Sun Oct 05, 2008 18:00:00 - 2:00:00 a long entry note
302
302
  2:00:00
303
- ---------------------------------------------------------
303
+ ---------------------------------------------------------------------
304
304
  Total 2:00:00
305
- -------------------------------------------------------------
305
+ -------------------------------------------------------------------------
306
306
  Grand Total 10:00:00
307
307
  OUTPUT
308
308
  end
@@ -513,13 +513,13 @@ END:VCALENDAR
513
513
 
514
514
  it "should set the start when starting a new entry" do
515
515
  @time = Time.now
516
- Time.stub!(:now).and_return @time
516
+ Time.stub(:now).and_return @time
517
517
  invoke 'in working on something'
518
518
  Timetrap::Entry.order_by(:id).last.start.to_i.should == @time.to_i
519
519
  end
520
520
 
521
521
  it "should not start the time if the timetrap is running" do
522
- Timetrap::Timer.stub!(:running?).and_return true
522
+ Timetrap::Timer.stub(:running?).and_return true
523
523
  lambda do
524
524
  invoke 'in'
525
525
  end.should_not change(Timetrap::Entry, :count)
@@ -532,7 +532,7 @@ END:VCALENDAR
532
532
 
533
533
  it "should fail with a warning for misformatted cli options it can't parse" do
534
534
  now = Time.now
535
- Time.stub!(:now).and_return now
535
+ Time.stub(:now).and_return now
536
536
  invoke 'in work --at="18 minutes ago"'
537
537
  Timetrap::Entry.order_by(:id).last.should be_nil
538
538
  $stderr.string.should =~ /\w+/
@@ -540,7 +540,7 @@ END:VCALENDAR
540
540
 
541
541
  it "should fail with a time argurment of total garbage" do
542
542
  now = Time.now
543
- Time.stub!(:now).and_return now
543
+ Time.stub(:now).and_return now
544
544
  invoke 'in work --at "total garbage"'
545
545
  Timetrap::Entry.order_by(:id).last.should be_nil
546
546
  $stderr.string.should =~ /\w+/
@@ -700,7 +700,7 @@ END:VCALENDAR
700
700
 
701
701
  describe "with a numeric sheet name" do
702
702
  before do
703
- Time.stub!(:now).and_return local_time("2008-10-05 18:00:00")
703
+ Time.stub(:now).and_return local_time("2008-10-05 18:00:00")
704
704
  create_entry( :sheet => 1234, :start => local_time_cli('2008-10-03 12:00:00'),
705
705
  :end => local_time_cli('2008-10-03 14:00:00'))
706
706
  end
@@ -723,7 +723,7 @@ END:VCALENDAR
723
723
 
724
724
  describe "with a numeric sheet name" do
725
725
  before do
726
- Time.stub!(:now).and_return local_time("2008-10-05 18:00:00")
726
+ Time.stub(:now).and_return local_time("2008-10-05 18:00:00")
727
727
  create_entry( :sheet => '1234', :start => local_time_cli('2008-10-03 12:00:00'),
728
728
  :end => local_time_cli('2008-10-03 14:00:00'))
729
729
  end
@@ -746,8 +746,8 @@ END:VCALENDAR
746
746
  end
747
747
 
748
748
  describe "with sheets defined" do
749
- before do
750
- Time.stub!(:now).and_return local_time("2008-10-05 18:00:00")
749
+ before :each do
750
+ Time.stub(:now).and_return local_time("2008-10-05 18:00:00")
751
751
  create_entry( :sheet => 'A Longly Named Sheet 2', :start => local_time_cli('2008-10-03 12:00:00'),
752
752
  :end => local_time_cli('2008-10-03 14:00:00'))
753
753
  create_entry( :sheet => 'A Longly Named Sheet 2', :start => local_time_cli('2008-10-03 12:00:00'),
@@ -769,13 +769,36 @@ END:VCALENDAR
769
769
  OUTPUT
770
770
  end
771
771
 
772
+ it "should mark the last sheet with '-' if it exists" do
773
+ invoke 'sheet Sheet 1'
774
+ $stdout.string = ''
775
+ invoke 'list'
776
+ $stdout.string.should == <<-OUTPUT
777
+ Timesheet Running Today Total Time
778
+ -A Longly Named Sheet 2 4:00:00 6:00:00 10:00:00
779
+ *Sheet 1 0:00:00 0:00:00 2:00:00
780
+ OUTPUT
781
+ end
782
+
783
+ it "should not mark the last sheet with '-' if it doesn't exist" do
784
+ invoke 'sheet Non-existent'
785
+ invoke 'sheet Sheet 1'
786
+ $stdout.string = ''
787
+ invoke 'list'
788
+ $stdout.string.should == <<-OUTPUT
789
+ Timesheet Running Today Total Time
790
+ A Longly Named Sheet 2 4:00:00 6:00:00 10:00:00
791
+ *Sheet 1 0:00:00 0:00:00 2:00:00
792
+ OUTPUT
793
+ end
794
+
772
795
  it "should include the active timesheet even if it has no entries" do
773
796
  invoke 'sheet empty sheet'
774
797
  $stdout.string = ''
775
798
  invoke 'list'
776
799
  $stdout.string.should == <<-OUTPUT
777
800
  Timesheet Running Today Total Time
778
- A Longly Named Sheet 2 4:00:00 6:00:00 10:00:00
801
+ -A Longly Named Sheet 2 4:00:00 6:00:00 10:00:00
779
802
  *empty sheet 0:00:00 0:00:00 0:00:00
780
803
  Sheet 1 0:00:00 0:00:00 2:00:00
781
804
  OUTPUT
@@ -803,7 +826,7 @@ END:VCALENDAR
803
826
  @entry = Timetrap::Timer.active_entry
804
827
  @entry.start = Time.at(0)
805
828
  @entry.save
806
- Time.stub!(:now).and_return Time.at(60)
829
+ Time.stub(:now).and_return Time.at(60)
807
830
  end
808
831
 
809
832
  it "should show how long the current item is running for" do
@@ -820,7 +843,7 @@ END:VCALENDAR
820
843
  @entry = Timetrap::Timer.active_entry
821
844
  @entry.start = Time.at(0)
822
845
  @entry.save
823
- Time.stub!(:now).and_return Time.at(60)
846
+ Time.stub(:now).and_return Time.at(60)
824
847
  end
825
848
 
826
849
  it "should show both entries" do
@@ -839,7 +862,7 @@ END:VCALENDAR
839
862
  invoke 'in'
840
863
  @active = Timetrap::Timer.active_entry
841
864
  @now = Time.now
842
- Time.stub!(:now).and_return @now
865
+ Time.stub(:now).and_return @now
843
866
  end
844
867
  it "should set the stop for the running entry" do
845
868
  @active.refresh.end.should == nil
@@ -873,7 +896,7 @@ END:VCALENDAR
873
896
  describe "resume" do
874
897
  before :each do
875
898
  @time = Time.now
876
- Time.stub!(:now).and_return @time
899
+ Time.stub(:now).and_return @time
877
900
 
878
901
  invoke 'in Some strange task'
879
902
  @last_active = Timetrap::Timer.active_entry
data/timetrap.gemspec CHANGED
@@ -1,97 +1,30 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
- # -*- encoding: utf-8 -*-
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'timetrap/version'
5
5
 
6
- Gem::Specification.new do |s|
7
- s.name = "timetrap"
8
- s.version = "1.8.7"
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "timetrap"
8
+ spec.version = Timetrap::VERSION
9
+ spec.authors = ["Sam Goldstein"]
10
+ spec.email = ["sgrock@gmail.org"]
11
+ spec.description = "Command line time tracker"
12
+ spec.summary = "Command line time tracker"
13
+ spec.homepage = "https://github.com/samg/timetrap"
14
+ spec.license = "MIT"
9
15
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Sam Goldstein"]
12
- s.date = "2013-05-18"
13
- s.description = "Command line time tracker"
14
- s.email = "sgrock@gmail.com"
15
- s.executables = ["t"]
16
- s.extra_rdoc_files = [
17
- "LICENSE.txt",
18
- "README.md"
19
- ]
20
- s.files = [
21
- ".rspec",
22
- ".travis.yml",
23
- "CONTRIBUTORS",
24
- "Gemfile",
25
- "LICENSE.txt",
26
- "README.md",
27
- "Rakefile",
28
- "VERSION.yml",
29
- "bin/dev_t",
30
- "bin/t",
31
- "lib/Getopt/Declare.rb",
32
- "lib/Getopt/DelimScanner.rb",
33
- "lib/timetrap.rb",
34
- "lib/timetrap/cli.rb",
35
- "lib/timetrap/config.rb",
36
- "lib/timetrap/formatters.rb",
37
- "lib/timetrap/formatters/csv.rb",
38
- "lib/timetrap/formatters/factor.rb",
39
- "lib/timetrap/formatters/ical.rb",
40
- "lib/timetrap/formatters/ids.rb",
41
- "lib/timetrap/formatters/json.rb",
42
- "lib/timetrap/formatters/text.rb",
43
- "lib/timetrap/helpers.rb",
44
- "lib/timetrap/models.rb",
45
- "lib/timetrap/timer.rb",
46
- "spec/timetrap_spec.rb",
47
- "timetrap.gemspec"
48
- ]
49
- s.homepage = "http://github.com/samg/timetrap/tree/master"
50
- s.rdoc_options = ["--inline-source", "--charset=UTF-8"]
51
- s.require_paths = ["lib"]
52
- s.rubygems_version = "2.0.0"
53
- s.summary = "Command line time tracker"
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
54
20
 
55
- if s.respond_to? :specification_version then
56
- s.specification_version = 4
57
-
58
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
59
- s.add_runtime_dependency(%q<sequel>, [">= 3.9.0"])
60
- s.add_runtime_dependency(%q<sqlite3>, ["~> 1.3.3"])
61
- s.add_runtime_dependency(%q<chronic>, [">= 0.6.4"])
62
- s.add_runtime_dependency(%q<json>, [">= 1.4.6"])
63
- s.add_runtime_dependency(%q<icalendar>, ["~> 1.1.5"])
64
- s.add_runtime_dependency(%q<rake>, [">= 0"])
65
- s.add_runtime_dependency(%q<rdoc>, [">= 0"])
66
- s.add_development_dependency(%q<jeweler>, [">= 0"])
67
- s.add_runtime_dependency(%q<sequel>, [">= 3.9.0"])
68
- s.add_runtime_dependency(%q<sqlite3>, ["~> 1.3.3"])
69
- s.add_runtime_dependency(%q<chronic>, [">= 0.6.4"])
70
- else
71
- s.add_dependency(%q<sequel>, [">= 3.9.0"])
72
- s.add_dependency(%q<sqlite3>, ["~> 1.3.3"])
73
- s.add_dependency(%q<chronic>, [">= 0.6.4"])
74
- s.add_dependency(%q<json>, [">= 1.4.6"])
75
- s.add_dependency(%q<icalendar>, ["~> 1.1.5"])
76
- s.add_dependency(%q<rake>, [">= 0"])
77
- s.add_dependency(%q<rdoc>, [">= 0"])
78
- s.add_dependency(%q<jeweler>, [">= 0"])
79
- s.add_dependency(%q<sequel>, [">= 3.9.0"])
80
- s.add_dependency(%q<sqlite3>, ["~> 1.3.3"])
81
- s.add_dependency(%q<chronic>, [">= 0.6.4"])
82
- end
83
- else
84
- s.add_dependency(%q<sequel>, [">= 3.9.0"])
85
- s.add_dependency(%q<sqlite3>, ["~> 1.3.3"])
86
- s.add_dependency(%q<chronic>, [">= 0.6.4"])
87
- s.add_dependency(%q<json>, [">= 1.4.6"])
88
- s.add_dependency(%q<icalendar>, ["~> 1.1.5"])
89
- s.add_dependency(%q<rake>, [">= 0"])
90
- s.add_dependency(%q<rdoc>, [">= 0"])
91
- s.add_dependency(%q<jeweler>, [">= 0"])
92
- s.add_dependency(%q<sequel>, [">= 3.9.0"])
93
- s.add_dependency(%q<sqlite3>, ["~> 1.3.3"])
94
- s.add_dependency(%q<chronic>, [">= 0.6.4"])
95
- end
21
+ spec.add_development_dependency "bundler", "~> 1.3"
22
+ spec.add_development_dependency "rake"
23
+ spec.add_development_dependency "rspec", '~> 2.13'
24
+ spec.add_development_dependency "fakefs"
25
+ spec.add_development_dependency "icalendar"
26
+ spec.add_development_dependency "json"
27
+ spec.add_dependency "sequel", "~> 4.0.0"
28
+ spec.add_dependency "sqlite3", "~> 1.3.3"
29
+ spec.add_dependency "chronic", "~> 0.9.1"
96
30
  end
97
-
metadata CHANGED
@@ -1,93 +1,65 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: timetrap
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.7
4
+ version: 1.8.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Goldstein
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-05-18 00:00:00.000000000 Z
11
+ date: 2013-07-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: sequel
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - '>='
18
- - !ruby/object:Gem::Version
19
- version: 3.9.0
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - '>='
25
- - !ruby/object:Gem::Version
26
- version: 3.9.0
27
- - !ruby/object:Gem::Dependency
28
- name: sqlite3
14
+ name: bundler
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
17
  - - ~>
32
18
  - !ruby/object:Gem::Version
33
- version: 1.3.3
34
- type: :runtime
19
+ version: '1.3'
20
+ type: :development
35
21
  prerelease: false
36
22
  version_requirements: !ruby/object:Gem::Requirement
37
23
  requirements:
38
24
  - - ~>
39
25
  - !ruby/object:Gem::Version
40
- version: 1.3.3
41
- - !ruby/object:Gem::Dependency
42
- name: chronic
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - '>='
46
- - !ruby/object:Gem::Version
47
- version: 0.6.4
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - '>='
53
- - !ruby/object:Gem::Version
54
- version: 0.6.4
26
+ version: '1.3'
55
27
  - !ruby/object:Gem::Dependency
56
- name: json
28
+ name: rake
57
29
  requirement: !ruby/object:Gem::Requirement
58
30
  requirements:
59
31
  - - '>='
60
32
  - !ruby/object:Gem::Version
61
- version: 1.4.6
62
- type: :runtime
33
+ version: '0'
34
+ type: :development
63
35
  prerelease: false
64
36
  version_requirements: !ruby/object:Gem::Requirement
65
37
  requirements:
66
38
  - - '>='
67
39
  - !ruby/object:Gem::Version
68
- version: 1.4.6
40
+ version: '0'
69
41
  - !ruby/object:Gem::Dependency
70
- name: icalendar
42
+ name: rspec
71
43
  requirement: !ruby/object:Gem::Requirement
72
44
  requirements:
73
45
  - - ~>
74
46
  - !ruby/object:Gem::Version
75
- version: 1.1.5
76
- type: :runtime
47
+ version: '2.13'
48
+ type: :development
77
49
  prerelease: false
78
50
  version_requirements: !ruby/object:Gem::Requirement
79
51
  requirements:
80
52
  - - ~>
81
53
  - !ruby/object:Gem::Version
82
- version: 1.1.5
54
+ version: '2.13'
83
55
  - !ruby/object:Gem::Dependency
84
- name: rake
56
+ name: fakefs
85
57
  requirement: !ruby/object:Gem::Requirement
86
58
  requirements:
87
59
  - - '>='
88
60
  - !ruby/object:Gem::Version
89
61
  version: '0'
90
- type: :runtime
62
+ type: :development
91
63
  prerelease: false
92
64
  version_requirements: !ruby/object:Gem::Requirement
93
65
  requirements:
@@ -95,13 +67,13 @@ dependencies:
95
67
  - !ruby/object:Gem::Version
96
68
  version: '0'
97
69
  - !ruby/object:Gem::Dependency
98
- name: rdoc
70
+ name: icalendar
99
71
  requirement: !ruby/object:Gem::Requirement
100
72
  requirements:
101
73
  - - '>='
102
74
  - !ruby/object:Gem::Version
103
75
  version: '0'
104
- type: :runtime
76
+ type: :development
105
77
  prerelease: false
106
78
  version_requirements: !ruby/object:Gem::Requirement
107
79
  requirements:
@@ -109,7 +81,7 @@ dependencies:
109
81
  - !ruby/object:Gem::Version
110
82
  version: '0'
111
83
  - !ruby/object:Gem::Dependency
112
- name: jeweler
84
+ name: json
113
85
  requirement: !ruby/object:Gem::Requirement
114
86
  requirements:
115
87
  - - '>='
@@ -126,16 +98,16 @@ dependencies:
126
98
  name: sequel
127
99
  requirement: !ruby/object:Gem::Requirement
128
100
  requirements:
129
- - - '>='
101
+ - - ~>
130
102
  - !ruby/object:Gem::Version
131
- version: 3.9.0
103
+ version: 4.0.0
132
104
  type: :runtime
133
105
  prerelease: false
134
106
  version_requirements: !ruby/object:Gem::Requirement
135
107
  requirements:
136
- - - '>='
108
+ - - ~>
137
109
  - !ruby/object:Gem::Version
138
- version: 3.9.0
110
+ version: 4.0.0
139
111
  - !ruby/object:Gem::Dependency
140
112
  name: sqlite3
141
113
  requirement: !ruby/object:Gem::Requirement
@@ -154,25 +126,26 @@ dependencies:
154
126
  name: chronic
155
127
  requirement: !ruby/object:Gem::Requirement
156
128
  requirements:
157
- - - '>='
129
+ - - ~>
158
130
  - !ruby/object:Gem::Version
159
- version: 0.6.4
131
+ version: 0.9.1
160
132
  type: :runtime
161
133
  prerelease: false
162
134
  version_requirements: !ruby/object:Gem::Requirement
163
135
  requirements:
164
- - - '>='
136
+ - - ~>
165
137
  - !ruby/object:Gem::Version
166
- version: 0.6.4
138
+ version: 0.9.1
167
139
  description: Command line time tracker
168
- email: sgrock@gmail.com
140
+ email:
141
+ - sgrock@gmail.org
169
142
  executables:
143
+ - dev_t
170
144
  - t
171
145
  extensions: []
172
- extra_rdoc_files:
173
- - LICENSE.txt
174
- - README.md
146
+ extra_rdoc_files: []
175
147
  files:
148
+ - .gitignore
176
149
  - .rspec
177
150
  - .travis.yml
178
151
  - CONTRIBUTORS
@@ -198,15 +171,15 @@ files:
198
171
  - lib/timetrap/helpers.rb
199
172
  - lib/timetrap/models.rb
200
173
  - lib/timetrap/timer.rb
174
+ - lib/timetrap/version.rb
201
175
  - spec/timetrap_spec.rb
202
176
  - timetrap.gemspec
203
- homepage: http://github.com/samg/timetrap/tree/master
204
- licenses: []
177
+ homepage: https://github.com/samg/timetrap
178
+ licenses:
179
+ - MIT
205
180
  metadata: {}
206
181
  post_install_message:
207
- rdoc_options:
208
- - --inline-source
209
- - --charset=UTF-8
182
+ rdoc_options: []
210
183
  require_paths:
211
184
  - lib
212
185
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -221,8 +194,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
221
194
  version: '0'
222
195
  requirements: []
223
196
  rubyforge_project:
224
- rubygems_version: 2.0.0
197
+ rubygems_version: 2.0.2
225
198
  signing_key:
226
199
  specification_version: 4
227
200
  summary: Command line time tracker
228
- test_files: []
201
+ test_files:
202
+ - spec/timetrap_spec.rb