termodoro 0.2.6 → 0.3.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/CHANGELOG.md +5 -1
- data/lib/termodoro/termodoro.rb +4 -4
- data/license.md +2 -2
- data/spec/spec_helper.rb +1 -1
- data/spec/termodoro_spec.rb +91 -8
- data/termodoro.gemspec +3 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f1b179dbc003a27c93f537e8a32f92319bc3e936
|
4
|
+
data.tar.gz: 849572b7195a5c66f6ead2cdd10ad4ed729cd1b3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3247afeda64d043008398073db375b3485618826ecc8d88594e02a1e3309e64bcf00ce1b9a66835d0f958fc30d01f8770896e5a816936ce543c30f8cb4482e74
|
7
|
+
data.tar.gz: 5b8014bdcb94f277f4a7facece051e3582b35e8931db0a1a95b7c1c478fa5690f4e73faabe1e57ff158a2e62f541856dc8b54de6a9e8de42d9d2da43d9335a0b
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,10 @@
|
|
1
|
+
### 0.3.0 (10/30/2013)
|
2
|
+
|
3
|
+
- Now with tests! - [@vcavallo](http://github.com/vcavallo)
|
4
|
+
|
1
5
|
### 0.2.6 (10/29/2013)
|
2
6
|
|
3
|
-
- Fully-document using YARD. Updated variable names (`time_part` --> `time_unit`, `number_part` --> `number_of_units`). Minor readme updates.
|
7
|
+
- Fully-document using YARD. Updated variable names (`time_part` --> `time_unit`, `number_part` --> `number_of_units`). Minor readme updates. - [@vcavallo](http://github.com/vcavallo)
|
4
8
|
|
5
9
|
### 0.2.5 (10/29/2013)
|
6
10
|
|
data/lib/termodoro/termodoro.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
|
2
|
-
|
3
2
|
# A new instance of this class takes user-input as command line arguments and
|
4
3
|
# prepares a string to be execute as a Bash system command. The user specifies an
|
5
4
|
# amount of time and an optional message to display. After the amount of time elapses
|
@@ -7,6 +6,7 @@
|
|
7
6
|
# the word "Termodoro" appears instead.
|
8
7
|
class Termodoro
|
9
8
|
attr_accessor :time_unit, :number_of_units, :message
|
9
|
+
attr_reader :arguments
|
10
10
|
# @!attribute time_unit
|
11
11
|
# @return [String] the unit of time specified by the user.
|
12
12
|
# @!attribute number_of_units
|
@@ -101,9 +101,9 @@ class Termodoro
|
|
101
101
|
# PENDING - will eventually be used to ensure user input is safe to run as terminal
|
102
102
|
# command. (i.e. remove special punctuation and the like).
|
103
103
|
# @return [String] sanitized message.
|
104
|
-
def clean_message
|
105
|
-
|
106
|
-
end
|
104
|
+
# def clean_message
|
105
|
+
# parse_message
|
106
|
+
# end
|
107
107
|
|
108
108
|
# Workhorse method: Runs #calculate_time and #parse_message, taking the results
|
109
109
|
# of those methods and creating the string to execute.
|
data/license.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
The MIT License (MIT)
|
2
2
|
|
3
|
-
Copyright (c) 2013 Vinney Cavallo
|
3
|
+
Copyright (c) 2013 Vinney Cavallo and Contributors
|
4
4
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
18
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
19
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
20
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
-
THE SOFTWARE.
|
21
|
+
THE SOFTWARE.
|
data/spec/spec_helper.rb
CHANGED
data/spec/termodoro_spec.rb
CHANGED
@@ -1,15 +1,98 @@
|
|
1
1
|
require_relative 'spec_helper'
|
2
2
|
|
3
3
|
describe "Termodoro" do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
let(:input) {"10 minutes show this message"}
|
5
|
+
let(:term) {Termodoro.new(input)}
|
6
|
+
|
7
|
+
it "can be initialized" do
|
8
|
+
expect(Termodoro.new("test")).to be_an_instance_of(Termodoro)
|
9
|
+
end
|
10
|
+
|
11
|
+
it "can accept user input" do
|
12
|
+
expect(term.arguments).to eq(input)
|
13
|
+
end
|
14
|
+
|
15
|
+
it "ends up with a well-formed string to be issued as a system command" do
|
16
|
+
expect(term.command).to be_an_instance_of(String)
|
17
|
+
end
|
18
|
+
|
19
|
+
describe "Constants" do
|
20
|
+
it "has a constant that represents number of seconds in a minute" do
|
21
|
+
expect(Termodoro::SECS_IN_MIN / 60).to eq(1)
|
22
|
+
end
|
23
|
+
|
24
|
+
it "has a constant that represents number of seconds in an hour" do
|
25
|
+
expect(Termodoro::SECS_IN_HOUR / 3600).to eq(1)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
describe "Methods on user input" do
|
30
|
+
|
31
|
+
it "can parse and retreive the decimal provided" do
|
32
|
+
expect(term.parse_number_of_units).to eq(10)
|
33
|
+
end
|
34
|
+
|
35
|
+
it "can parse and retreive the unti of time provided" do
|
36
|
+
expect(term.parse_time_unit).to eq("minutes")
|
37
|
+
end
|
38
|
+
|
39
|
+
it "can parse and retreive the message provided" do
|
40
|
+
expect(term.parse_message).to eq("show this message")
|
41
|
+
end
|
42
|
+
|
43
|
+
it "allows the message to be optional" do
|
44
|
+
no_message_arg = "10 seconds"
|
45
|
+
term_alt = Termodoro.new(no_message_arg)
|
46
|
+
expect(term_alt.command).to be_an_instance_of(String)
|
47
|
+
end
|
48
|
+
|
49
|
+
describe "Flexibility on wording of unit of time" do
|
50
|
+
it "will accept partial matches of 'seconds' (i.e. s sec secs second seconds)" do
|
51
|
+
weird_seconds = "10 s"
|
52
|
+
term_alt = Termodoro.new(weird_seconds)
|
53
|
+
expect(term_alt.calculate_time).to eq(10)
|
54
|
+
end
|
55
|
+
|
56
|
+
it "will accept partial matches of 'minutes' (i.e. m min mins minute minutes)" do
|
57
|
+
weird_minutes = "10 min"
|
58
|
+
term_alt = Termodoro.new(weird_minutes)
|
59
|
+
expect(term_alt.calculate_time).to eq(600)
|
60
|
+
end
|
61
|
+
|
62
|
+
it "will accept partial matches of 'hours' (i.e. h hr hrs hour hours)" do
|
63
|
+
weird_hours = "1 hr"
|
64
|
+
term_alt = Termodoro.new(weird_hours)
|
65
|
+
expect(term_alt.calculate_time).to eq(3600)
|
66
|
+
end
|
67
|
+
|
68
|
+
it "allows user to smush time unit directly onto decimal without a space (i.e. 10secs, 5minute, etc.)" do
|
69
|
+
spaceless_seconds = "10secs"
|
70
|
+
term_alt = Termodoro.new(spaceless_seconds)
|
71
|
+
expect(term_alt.calculate_time).to eq(10)
|
72
|
+
end
|
73
|
+
|
74
|
+
end
|
8
75
|
end
|
9
76
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
77
|
+
describe "Internal logic" do
|
78
|
+
it "can calculate the time given a unit of time" do
|
79
|
+
minute_message = "5 minutes"
|
80
|
+
term_alt = Termodoro.new(minute_message)
|
81
|
+
expect(term_alt.calculate_time).to eq(300)
|
82
|
+
end
|
83
|
+
|
84
|
+
it "can santize the message" do
|
85
|
+
pending "This feature needs to be built. Sort of important."
|
86
|
+
end
|
87
|
+
|
88
|
+
end
|
89
|
+
|
90
|
+
describe "Command line behavior and other shell support" do
|
91
|
+
it "Coming soon..." do
|
92
|
+
pending "This needs to be built and explored"
|
93
|
+
end
|
14
94
|
end
|
95
|
+
|
15
96
|
end
|
97
|
+
|
98
|
+
|
data/termodoro.gemspec
CHANGED
@@ -1,7 +1,8 @@
|
|
1
|
+
|
1
2
|
Gem::Specification.new do |s|
|
2
3
|
s.name = 'termodoro'
|
3
|
-
s.version = '0.
|
4
|
-
s.date = '2013-10-
|
4
|
+
s.version = '0.3.0'
|
5
|
+
s.date = '2013-10-30'
|
5
6
|
s.summary = "A lightweight CL reminder app"
|
6
7
|
s.description = "Use this little utility to set simple reminders from the command line. See the github page below for more information"
|
7
8
|
s.authors = ["Vinney Cavallo"]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: termodoro
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vinney Cavallo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-10-
|
11
|
+
date: 2013-10-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: terminal-notifier
|