timetrap 1.8.7 → 1.8.8
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/.gitignore +5 -0
- data/CONTRIBUTORS +1 -0
- data/Gemfile +1 -17
- data/Rakefile +0 -29
- data/lib/timetrap/cli.rb +1 -1
- data/lib/timetrap/formatters/text.rb +3 -6
- data/lib/timetrap/helpers.rb +2 -2
- data/lib/timetrap/version.rb +3 -0
- data/spec/timetrap_spec.rb +44 -21
- data/timetrap.gemspec +26 -93
- metadata +40 -66
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f3f6e4b5598e8b73553f5e620f9a0de7642c947b
|
4
|
+
data.tar.gz: f3d5a4da6f59af38a33b771c2cfa4936607cf699
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 758d71d46f72a54f3b0bd7bdfbc9659ef760156cedafbc1ea15d2c5be8d4c8eb1d8f2865c1720eaf1fecd336de7c205536cb7702a2f0f84b1d193ba4778c9907
|
7
|
+
data.tar.gz: 3a9bae2f61ba3c3c2a7bc5e7c93d36ab14fb19492eacdfb24c9193766d6d4a3a8d88aafb3cc3b467730ce35b11f7b68f501cf74b13fc13defa64798848a5e343
|
data/CONTRIBUTORS
CHANGED
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 <<
|
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 <<
|
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
|
data/lib/timetrap/helpers.rb
CHANGED
@@ -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(
|
89
|
-
DB[:entries].filter(
|
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
|
data/spec/timetrap_spec.rb
CHANGED
@@ -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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
-
|
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
|
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
|
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
|
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
|
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
|
-
#
|
2
|
-
|
3
|
-
|
4
|
-
|
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 |
|
7
|
-
|
8
|
-
|
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
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
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
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
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.
|
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-
|
11
|
+
date: 2013-07-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
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
|
34
|
-
type: :
|
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
|
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:
|
28
|
+
name: rake
|
57
29
|
requirement: !ruby/object:Gem::Requirement
|
58
30
|
requirements:
|
59
31
|
- - '>='
|
60
32
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
62
|
-
type: :
|
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:
|
40
|
+
version: '0'
|
69
41
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
42
|
+
name: rspec
|
71
43
|
requirement: !ruby/object:Gem::Requirement
|
72
44
|
requirements:
|
73
45
|
- - ~>
|
74
46
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
76
|
-
type: :
|
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:
|
54
|
+
version: '2.13'
|
83
55
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
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: :
|
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:
|
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: :
|
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:
|
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:
|
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:
|
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.
|
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.
|
138
|
+
version: 0.9.1
|
167
139
|
description: Command line time tracker
|
168
|
-
email:
|
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:
|
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.
|
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
|