elapsed_watch 1.0.0 → 1.1.0
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/Gemfile +3 -1
- data/Gemfile.lock +33 -24
- data/Guardfile +3 -1
- data/elapsed_watch.gemspec +1 -1
- data/lib/elapsed_watch/event.rb +24 -19
- data/lib/elapsed_watch/version.rb +1 -1
- data/spec/lib/elapsed_watch/event_spec.rb +12 -5
- data/spec/spec_helper.rb +4 -0
- metadata +16 -16
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d4a32dc7d72d3da2e5f898dd7167393eb989124f
|
|
4
|
+
data.tar.gz: 244caddcbfb97fa2bf71a2d3203d523c2c6e2c58
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 30b7fe96c6a571346591741588b6973967b01f7b390fb958d2fbe92a1e463e79bd8b59690c9118ac824531eb06276183eeda0d3a03e592ad2a200a5f26ba1e7b
|
|
7
|
+
data.tar.gz: 4d5a7a90df196c3690ecced7da3db2bafd4fe0cdf6d10272525abf7be06e4b2a0c99a82bc57265f1999cc607517c3bf629563087fe244ea3bc00283bccced8e7
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
elapsed_watch (1.
|
|
4
|
+
elapsed_watch (1.1.0)
|
|
5
|
+
chronic
|
|
5
6
|
chronic_duration
|
|
6
7
|
methadone (~> 1.3.0)
|
|
7
8
|
|
|
@@ -13,8 +14,11 @@ GEM
|
|
|
13
14
|
cucumber (>= 1.1.1)
|
|
14
15
|
rspec-expectations (>= 2.7.0)
|
|
15
16
|
builder (3.2.2)
|
|
17
|
+
celluloid (0.15.2)
|
|
18
|
+
timers (~> 1.1.0)
|
|
16
19
|
childprocess (0.3.9)
|
|
17
20
|
ffi (~> 1.0, >= 1.0.11)
|
|
21
|
+
chronic (0.10.2)
|
|
18
22
|
chronic_duration (0.10.2)
|
|
19
23
|
numerizer (~> 0.1.1)
|
|
20
24
|
coderay (1.0.9)
|
|
@@ -27,33 +31,36 @@ GEM
|
|
|
27
31
|
diff-lcs (1.2.4)
|
|
28
32
|
ffi (1.9.0)
|
|
29
33
|
formatador (0.2.4)
|
|
30
|
-
gherkin (2.12.
|
|
34
|
+
gherkin (2.12.2)
|
|
31
35
|
multi_json (~> 1.3)
|
|
32
|
-
|
|
36
|
+
growl (1.0.3)
|
|
37
|
+
growl_notify (0.0.3)
|
|
38
|
+
rb-appscript
|
|
39
|
+
guard (2.2.2)
|
|
33
40
|
formatador (>= 0.2.4)
|
|
34
|
-
listen (
|
|
35
|
-
lumberjack (
|
|
36
|
-
pry (>= 0.9.
|
|
37
|
-
thor (>= 0.
|
|
38
|
-
guard-bundler (1.
|
|
39
|
-
bundler (
|
|
40
|
-
guard (
|
|
41
|
+
listen (~> 2.1)
|
|
42
|
+
lumberjack (~> 1.0)
|
|
43
|
+
pry (>= 0.9.12)
|
|
44
|
+
thor (>= 0.18.1)
|
|
45
|
+
guard-bundler (0.1.3)
|
|
46
|
+
bundler (>= 1.0.0)
|
|
47
|
+
guard (>= 0.2.2)
|
|
41
48
|
guard-cucumber (1.4.0)
|
|
42
49
|
cucumber (>= 1.2.0)
|
|
43
50
|
guard (>= 1.1.0)
|
|
44
|
-
guard-rspec (
|
|
45
|
-
guard (>= 1.
|
|
46
|
-
rspec (~> 2.
|
|
47
|
-
json (1.8.
|
|
48
|
-
listen (1.
|
|
51
|
+
guard-rspec (4.0.3)
|
|
52
|
+
guard (>= 2.1.1)
|
|
53
|
+
rspec (~> 2.14)
|
|
54
|
+
json (1.8.1)
|
|
55
|
+
listen (2.1.1)
|
|
56
|
+
celluloid (>= 0.15.2)
|
|
49
57
|
rb-fsevent (>= 0.9.3)
|
|
50
58
|
rb-inotify (>= 0.9)
|
|
51
|
-
rb-kqueue (>= 0.2)
|
|
52
59
|
lumberjack (1.0.4)
|
|
53
60
|
methadone (1.3.0)
|
|
54
61
|
bundler
|
|
55
62
|
method_source (0.8.2)
|
|
56
|
-
multi_json (1.8.
|
|
63
|
+
multi_json (1.8.2)
|
|
57
64
|
multi_test (0.0.2)
|
|
58
65
|
numerizer (0.1.1)
|
|
59
66
|
pry (0.9.12.2)
|
|
@@ -61,24 +68,24 @@ GEM
|
|
|
61
68
|
method_source (~> 0.8)
|
|
62
69
|
slop (~> 3.4)
|
|
63
70
|
rake (0.9.6)
|
|
71
|
+
rb-appscript (0.6.1)
|
|
64
72
|
rb-fsevent (0.9.3)
|
|
65
73
|
rb-inotify (0.9.2)
|
|
66
74
|
ffi (>= 0.5.0)
|
|
67
|
-
rb-kqueue (0.2.0)
|
|
68
|
-
ffi (>= 0.5.0)
|
|
69
75
|
rdoc (4.0.1)
|
|
70
76
|
json (~> 1.4)
|
|
71
77
|
rspec (2.14.1)
|
|
72
78
|
rspec-core (~> 2.14.0)
|
|
73
79
|
rspec-expectations (~> 2.14.0)
|
|
74
80
|
rspec-mocks (~> 2.14.0)
|
|
75
|
-
rspec-core (2.14.
|
|
76
|
-
rspec-expectations (2.14.
|
|
81
|
+
rspec-core (2.14.6)
|
|
82
|
+
rspec-expectations (2.14.3)
|
|
77
83
|
diff-lcs (>= 1.1.3, < 2.0)
|
|
78
|
-
rspec-mocks (2.14.
|
|
84
|
+
rspec-mocks (2.14.4)
|
|
79
85
|
slop (3.4.6)
|
|
80
86
|
thor (0.18.1)
|
|
81
87
|
timecop (0.6.3)
|
|
88
|
+
timers (1.1.0)
|
|
82
89
|
|
|
83
90
|
PLATFORMS
|
|
84
91
|
ruby
|
|
@@ -87,11 +94,13 @@ DEPENDENCIES
|
|
|
87
94
|
aruba
|
|
88
95
|
bundler (~> 1.3)
|
|
89
96
|
elapsed_watch!
|
|
90
|
-
|
|
97
|
+
growl
|
|
98
|
+
growl_notify
|
|
99
|
+
guard (~> 2)
|
|
91
100
|
guard-bundler
|
|
92
101
|
guard-cucumber
|
|
93
102
|
guard-rspec
|
|
94
|
-
rake
|
|
103
|
+
rake
|
|
95
104
|
rdoc
|
|
96
105
|
rspec
|
|
97
106
|
timecop
|
data/Guardfile
CHANGED
|
@@ -6,7 +6,7 @@ guard 'cucumber', :cli => '--color --format pretty' do
|
|
|
6
6
|
watch('bin/elapsed_watch') { 'features' }
|
|
7
7
|
end
|
|
8
8
|
|
|
9
|
-
guard :rspec, :
|
|
9
|
+
guard :rspec, :cmd => 'bundle exec rspec --color --format documentation', all_on_start: true do
|
|
10
10
|
watch(%r{^spec/.+_spec\.rb$})
|
|
11
11
|
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
|
12
12
|
watch('spec/spec_helper.rb') { "spec" }
|
|
@@ -17,3 +17,5 @@ guard 'bundler' do
|
|
|
17
17
|
watch('Gemfile')
|
|
18
18
|
watch(/^.+\.gemspec/)
|
|
19
19
|
end
|
|
20
|
+
|
|
21
|
+
|
data/elapsed_watch.gemspec
CHANGED
|
@@ -22,11 +22,11 @@ Gem::Specification.new do |spec|
|
|
|
22
22
|
spec.add_development_dependency "rake"
|
|
23
23
|
spec.add_development_dependency('rdoc')
|
|
24
24
|
spec.add_development_dependency('aruba')
|
|
25
|
-
spec.add_development_dependency('rake', '~> 0.9.2')
|
|
26
25
|
spec.add_development_dependency('rspec')
|
|
27
26
|
spec.add_development_dependency('timecop')
|
|
28
27
|
|
|
29
28
|
spec.add_dependency('methadone', '~> 1.3.0')
|
|
29
|
+
spec.add_dependency('chronic')
|
|
30
30
|
spec.add_dependency('chronic_duration')
|
|
31
31
|
|
|
32
32
|
end
|
data/lib/elapsed_watch/event.rb
CHANGED
|
@@ -1,7 +1,21 @@
|
|
|
1
|
+
=begin rdoc
|
|
2
|
+
|
|
3
|
+
event.rb -- defines the Class ElapsedWatch::Event for holding events
|
|
4
|
+
|
|
5
|
+
* Time-stamp: <2013-11-04 06:26:02 tamara>
|
|
6
|
+
* Copyright (C) 2013 Tamara Temple Web Development
|
|
7
|
+
* Author: Tamara Temple <tamouse@gmail.com>
|
|
8
|
+
* License: MIT
|
|
9
|
+
|
|
10
|
+
=end
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
require 'chronic'
|
|
1
14
|
require 'chronic_duration'
|
|
2
15
|
require 'yaml'
|
|
3
16
|
require 'erb'
|
|
4
17
|
require 'time'
|
|
18
|
+
require 'methadone'
|
|
5
19
|
|
|
6
20
|
module ElapsedWatch
|
|
7
21
|
|
|
@@ -11,31 +25,22 @@ module ElapsedWatch
|
|
|
11
25
|
# The format for events occuring in the future
|
|
12
26
|
FUTURE_EVENT_FORMAT = "%s in %s"
|
|
13
27
|
|
|
14
|
-
=begin rdoc
|
|
15
|
-
|
|
16
|
-
event.rb -- Class for holding events
|
|
17
|
-
|
|
18
|
-
* Time-stamp: <2013-09-13 01:42:22 tamara>
|
|
19
|
-
* Copyright (C) 2013 Tamara Temple Web Development
|
|
20
|
-
* Author: Tamara Temple <tamouse@gmail.com>
|
|
21
|
-
* License: MIT
|
|
22
|
-
|
|
23
|
-
== Description
|
|
24
|
-
|
|
25
|
-
Defines an object class that deals with individual events.
|
|
26
|
-
|
|
27
|
-
Events have a name and a time.
|
|
28
|
-
|
|
29
|
-
=end
|
|
30
28
|
|
|
29
|
+
# == Description
|
|
30
|
+
#
|
|
31
|
+
# Defines an object class that deals with individual events.
|
|
32
|
+
#
|
|
33
|
+
# Events have a name and a time.
|
|
31
34
|
class Event
|
|
32
35
|
|
|
36
|
+
include Methadone::CLILogging
|
|
37
|
+
|
|
33
38
|
# Instantiates a new Event object.
|
|
34
39
|
#
|
|
35
40
|
# The event_string consists of a tiny piece of YAML that defines
|
|
36
41
|
# the event. The format is:
|
|
37
42
|
#
|
|
38
|
-
# Event Name: YYYY-MM-DD HH:MM (anything parsable by
|
|
43
|
+
# Event Name: YYYY-MM-DD HH:MM (anything parsable by Chronic.parse)
|
|
39
44
|
def initialize(event_string)
|
|
40
45
|
raise "event_string is empty" if event_string.nil? or event_string.empty?
|
|
41
46
|
ev_yaml = YAML.load(ERB.new(event_string).result)
|
|
@@ -45,7 +50,7 @@ Events have a name and a time.
|
|
|
45
50
|
case @event_time
|
|
46
51
|
when String
|
|
47
52
|
raise "No event time spec: #{event_string}" if @event_time.empty?
|
|
48
|
-
@event_time =
|
|
53
|
+
@event_time = Chronic.parse(@event_time)
|
|
49
54
|
when Date
|
|
50
55
|
@event_time = @event_time.to_time
|
|
51
56
|
when DateTime
|
|
@@ -95,7 +100,7 @@ Events have a name and a time.
|
|
|
95
100
|
|
|
96
101
|
# Memoizes now
|
|
97
102
|
def now(use_time=nil)
|
|
98
|
-
@now ||=
|
|
103
|
+
@now ||= use_time ||= Time.now
|
|
99
104
|
end
|
|
100
105
|
|
|
101
106
|
end
|
|
@@ -41,10 +41,16 @@ describe ElapsedWatch do
|
|
|
41
41
|
it{event3.instance_variable_get("@event_time").should eq Time.new(1957)}
|
|
42
42
|
end
|
|
43
43
|
|
|
44
|
+
context "events with only MM-DD given" do
|
|
45
|
+
let(:event4) {ElapsedWatch::Event.new("Birthday: 10-12")}
|
|
46
|
+
it{event4.instance_variable_get("@event_name").should eq "Birthday"}
|
|
47
|
+
it{event4.instance_variable_get("@event_time").should eq Chronic.parse("10-12")}
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
44
53
|
context "sad paths" do
|
|
45
|
-
it "event without a day should fail" do
|
|
46
|
-
expect {ElapsedWatch::Event.new("No day: 2013-09")}.to raise_error ArgumentError
|
|
47
|
-
end
|
|
48
54
|
it "event without a date should fail" do
|
|
49
55
|
expect {ElapsedWatch::Event.new("No date:")}.to raise_error RuntimeError
|
|
50
56
|
end
|
|
@@ -54,8 +60,9 @@ describe ElapsedWatch do
|
|
|
54
60
|
it "event with empty name should fail" do
|
|
55
61
|
expect {ElapsedWatch::Event.new(": 2013-09-01")}.to raise_error Psych::SyntaxError
|
|
56
62
|
end
|
|
57
|
-
it "event with unparsable time spec should
|
|
58
|
-
|
|
63
|
+
it "event with unparsable time spec should have nil time" do
|
|
64
|
+
event5 = ElapsedWatch::Event.new("Bad spec: another fine mess")
|
|
65
|
+
event5.instance_variable_get("@event_time").should be_nil
|
|
59
66
|
end
|
|
60
67
|
|
|
61
68
|
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: elapsed_watch
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Tamara Temple
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2013-
|
|
11
|
+
date: 2013-11-04 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -66,20 +66,6 @@ dependencies:
|
|
|
66
66
|
- - '>='
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
68
|
version: '0'
|
|
69
|
-
- !ruby/object:Gem::Dependency
|
|
70
|
-
name: rake
|
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
|
72
|
-
requirements:
|
|
73
|
-
- - ~>
|
|
74
|
-
- !ruby/object:Gem::Version
|
|
75
|
-
version: 0.9.2
|
|
76
|
-
type: :development
|
|
77
|
-
prerelease: false
|
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
-
requirements:
|
|
80
|
-
- - ~>
|
|
81
|
-
- !ruby/object:Gem::Version
|
|
82
|
-
version: 0.9.2
|
|
83
69
|
- !ruby/object:Gem::Dependency
|
|
84
70
|
name: rspec
|
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -122,6 +108,20 @@ dependencies:
|
|
|
122
108
|
- - ~>
|
|
123
109
|
- !ruby/object:Gem::Version
|
|
124
110
|
version: 1.3.0
|
|
111
|
+
- !ruby/object:Gem::Dependency
|
|
112
|
+
name: chronic
|
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
|
114
|
+
requirements:
|
|
115
|
+
- - '>='
|
|
116
|
+
- !ruby/object:Gem::Version
|
|
117
|
+
version: '0'
|
|
118
|
+
type: :runtime
|
|
119
|
+
prerelease: false
|
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
+
requirements:
|
|
122
|
+
- - '>='
|
|
123
|
+
- !ruby/object:Gem::Version
|
|
124
|
+
version: '0'
|
|
125
125
|
- !ruby/object:Gem::Dependency
|
|
126
126
|
name: chronic_duration
|
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|