nickel 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/nickel/construct_finder.rb +1 -1
- data/lib/nickel/version.rb +1 -1
- data/spec/lib/nickel_spec.rb +313 -3
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2e909e04e9f8d28d66830424a835382cbd8f1e19
|
4
|
+
data.tar.gz: 22837b6f669097bf247375947ffd8dc3c9a83c91
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: be9d1aa084a9a31d440e60885e5db535eeb28d5c1ca1e1e1863d0cc4c1b811f56123c8f0beabf63622811cdee20b4774c686617b2e9bc2e3ed3d6070a333a8e6
|
7
|
+
data.tar.gz: c610292f6fae975fbd54d7741cc031eb8e04b0034e9020517b41d270025a5dabad6b2b832c079f579d4ce4eac4239cda089b6b81e727370dd1db7ed27d20acd6
|
data/CHANGELOG.md
CHANGED
@@ -1011,7 +1011,7 @@ module Nickel
|
|
1011
1011
|
end
|
1012
1012
|
|
1013
1013
|
def found_all_day
|
1014
|
-
@constructs << TimeConstruct.new(time: nil, comp_start: @pos, comp_end: @pos += 1, found_in: __method__)
|
1014
|
+
# @constructs << TimeConstruct.new(time: nil, comp_start: @pos, comp_end: @pos += 1, found_in: __method__)
|
1015
1015
|
end
|
1016
1016
|
|
1017
1017
|
def match_tomorrow
|
data/lib/nickel/version.rb
CHANGED
data/spec/lib/nickel_spec.rb
CHANGED
@@ -968,12 +968,13 @@ describe Nickel do
|
|
968
968
|
end
|
969
969
|
end
|
970
970
|
|
971
|
-
context "when the query is '6 days from tomorrow'", broken
|
971
|
+
context "when the query is '6 days from tomorrow'", :broken do
|
972
972
|
let(:query) { '6 days from tomorrow' }
|
973
973
|
let(:run_date) { Time.local(2014, 2, 12) }
|
974
974
|
|
975
975
|
describe '#occurrences' do
|
976
976
|
it 'is 7 days from now' do
|
977
|
+
# returns only tomorrow, with the message '6 days'
|
977
978
|
expect(n.occurrences).to match_array [
|
978
979
|
Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140218'))
|
979
980
|
]
|
@@ -1360,13 +1361,13 @@ describe Nickel do
|
|
1360
1361
|
end
|
1361
1362
|
end
|
1362
1363
|
|
1363
|
-
context "when the query is 'every monday at 2pm and wednesday at 4pm'", broken
|
1364
|
-
# FIXME: this spec should have two occurrences
|
1364
|
+
context "when the query is 'every monday at 2pm and wednesday at 4pm'", :broken do
|
1365
1365
|
let(:query) { 'every monday at 2pm and wednesday at 4pm' }
|
1366
1366
|
let(:run_date) { Time.local(2008, 9, 18) }
|
1367
1367
|
|
1368
1368
|
describe '#occurrences' do
|
1369
1369
|
it 'is every Monday at 2:00pm and every Wednesday at 4:00pm' do
|
1370
|
+
# returns only monday at 2pm
|
1370
1371
|
expect(n.occurrences).to match_array [
|
1371
1372
|
Nickel::Occurrence.new(type: :weekly, day_of_week: 0, interval: 1, start_date: Nickel::ZDate.new('20080922'), start_time: Nickel::ZTime.new('14')),
|
1372
1373
|
Nickel::Occurrence.new(type: :weekly, day_of_week: 2, interval: 1, start_date: Nickel::ZDate.new('20080924'), start_time: Nickel::ZTime.new('16'))
|
@@ -1933,5 +1934,314 @@ describe Nickel do
|
|
1933
1934
|
end
|
1934
1935
|
end
|
1935
1936
|
end
|
1937
|
+
|
1938
|
+
context "when the query is 'meeting with Jimmy at 7am'", :broken do
|
1939
|
+
let(:query) { 'meeting with Jimmy at 7am' }
|
1940
|
+
let(:run_date) { Time.local(2014, 4, 18) }
|
1941
|
+
|
1942
|
+
describe '#message' do
|
1943
|
+
it "is 'meeting with Jimmy'" do
|
1944
|
+
expect(n.message).to eq 'meeting with Jimmy'
|
1945
|
+
end
|
1946
|
+
end
|
1947
|
+
|
1948
|
+
describe '#occurrences' do
|
1949
|
+
it 'is 7am today' do
|
1950
|
+
# returns no occurrences at all
|
1951
|
+
expect(n.occurrences).to match_array [
|
1952
|
+
Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140418'), start_time: Nickel::ZTime.new('7'))
|
1953
|
+
]
|
1954
|
+
end
|
1955
|
+
end
|
1956
|
+
end
|
1957
|
+
|
1958
|
+
context "when the query is 'meeting at 8 o'clock'", :broken do
|
1959
|
+
let(:query) { "meeting at 8 o'clock" }
|
1960
|
+
let(:run_date) { Time.local(2014, 4, 18, 12, 0) }
|
1961
|
+
|
1962
|
+
describe '#message' do
|
1963
|
+
it "is 'meeting'" do
|
1964
|
+
expect(n.message).to eq 'meeting'
|
1965
|
+
end
|
1966
|
+
end
|
1967
|
+
|
1968
|
+
describe '#occurrences' do
|
1969
|
+
it "is the next 8 o'clock" do
|
1970
|
+
# returns no occurrences
|
1971
|
+
expect(n.occurrences).to match_array [
|
1972
|
+
Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140418'), start_time: Nickel::ZTime.new('20'))
|
1973
|
+
]
|
1974
|
+
end
|
1975
|
+
end
|
1976
|
+
end
|
1977
|
+
|
1978
|
+
context "when the query is 'let's do it today'", :broken do
|
1979
|
+
let(:query) { "let's do it today" }
|
1980
|
+
let(:run_date) { Time.local(2014, 4, 18) }
|
1981
|
+
|
1982
|
+
describe '#message' do
|
1983
|
+
it "is 'let's do it'" do
|
1984
|
+
# returns "lets do it" (no apostrophe)
|
1985
|
+
expect(n.message).to eq "let's do it"
|
1986
|
+
end
|
1987
|
+
end
|
1988
|
+
|
1989
|
+
describe '#occurrences' do
|
1990
|
+
it 'is today' do
|
1991
|
+
expect(n.occurrences).to match_array [
|
1992
|
+
Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140418'))
|
1993
|
+
]
|
1994
|
+
end
|
1995
|
+
end
|
1996
|
+
end
|
1997
|
+
|
1998
|
+
context "when the query is 'let us do it today'" do
|
1999
|
+
let(:query) { 'let us do it today' }
|
2000
|
+
let(:run_date) { Time.local(2014, 4, 18) }
|
2001
|
+
|
2002
|
+
describe '#message' do
|
2003
|
+
it "is 'let us do it'" do
|
2004
|
+
expect(n.message).to eq "let us do it"
|
2005
|
+
end
|
2006
|
+
end
|
2007
|
+
|
2008
|
+
describe '#occurrences' do
|
2009
|
+
it 'is today' do
|
2010
|
+
expect(n.occurrences).to match_array [
|
2011
|
+
Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140418'))
|
2012
|
+
]
|
2013
|
+
end
|
2014
|
+
end
|
2015
|
+
end
|
2016
|
+
|
2017
|
+
context "when the query is 'let us do it today!'", :broken do
|
2018
|
+
let(:query) { 'let us do it today!' }
|
2019
|
+
let(:run_date) { Time.local(2014, 4, 18) }
|
2020
|
+
|
2021
|
+
describe '#message' do
|
2022
|
+
it "is 'let us do it!'" do
|
2023
|
+
# returns "let us do it today!"
|
2024
|
+
expect(n.message).to eq 'let us do it!'
|
2025
|
+
end
|
2026
|
+
end
|
2027
|
+
|
2028
|
+
describe '#occurrences' do
|
2029
|
+
it 'is today' do
|
2030
|
+
# returns no occurrences
|
2031
|
+
expect(n.occurrences).to match_array [
|
2032
|
+
Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140418'))
|
2033
|
+
]
|
2034
|
+
end
|
2035
|
+
end
|
2036
|
+
end
|
2037
|
+
|
2038
|
+
context "when the query is 'tomorrow morning'", :broken do
|
2039
|
+
let(:query) { 'tomorrow morning' }
|
2040
|
+
let(:run_date) { Time.local(2014, 4, 18) }
|
2041
|
+
|
2042
|
+
describe '#occurrences' do
|
2043
|
+
it 'is 3am to 12pm tomorrow' do
|
2044
|
+
# returns tomorrow
|
2045
|
+
expect(n.occurrences).to match_array [
|
2046
|
+
Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140419'), start_time: Nickel::ZTime.new('3'), end_time: Nickel::ZTime.new('12'))
|
2047
|
+
]
|
2048
|
+
end
|
2049
|
+
end
|
2050
|
+
end
|
2051
|
+
|
2052
|
+
context "when the query is 'tomorrow afternoon'", :broken do
|
2053
|
+
let(:query) { 'tomorrow afternoon' }
|
2054
|
+
let(:run_date) { Time.local(2014, 4, 18) }
|
2055
|
+
|
2056
|
+
describe '#occurrences' do
|
2057
|
+
it 'is 12pm to 6pm tomorrow' do
|
2058
|
+
# returns tomorrow at 12pm
|
2059
|
+
expect(n.occurrences).to match_array [
|
2060
|
+
Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140419'), start_time: Nickel::ZTime.new('12'), end_time: Nickel::ZTime.new('18'))
|
2061
|
+
]
|
2062
|
+
end
|
2063
|
+
end
|
2064
|
+
end
|
2065
|
+
|
2066
|
+
context "when the query is 'tomorrow evening'", :broken do
|
2067
|
+
let(:query) { 'tomorrow evening' }
|
2068
|
+
let(:run_date) { Time.local(2014, 4, 18) }
|
2069
|
+
|
2070
|
+
describe '#occurrences' do
|
2071
|
+
it 'is 6pm to 9pm tomorrow' do
|
2072
|
+
# returns tomorrow
|
2073
|
+
expect(n.occurrences).to match_array [
|
2074
|
+
Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140419'), start_time: Nickel::ZTime.new('18'), end_time: Nickel::ZTime.new('21'))
|
2075
|
+
]
|
2076
|
+
end
|
2077
|
+
end
|
2078
|
+
end
|
2079
|
+
|
2080
|
+
context "when the query is 'tomorrow night'", :broken do
|
2081
|
+
let(:query) { 'tomorrow night' }
|
2082
|
+
let(:run_date) { Time.local(2014, 4, 18) }
|
2083
|
+
|
2084
|
+
describe '#occurrences' do
|
2085
|
+
it 'is 9pm tomorrow to 3am the day after tomorrow' do
|
2086
|
+
# returns tomorrow
|
2087
|
+
expect(n.occurrences).to match_array [
|
2088
|
+
Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140419'), start_time: Nickel::ZTime.new('9'), end_date: Nickel::ZDate.new('20140420'), end_time: Nickel::ZTime.new('3'))
|
2089
|
+
]
|
2090
|
+
end
|
2091
|
+
end
|
2092
|
+
end
|
2093
|
+
|
2094
|
+
context "when the query is 'let us go dancing at 3 in the morning'", :broken do
|
2095
|
+
let(:query) { 'let us go dancing at 3 in the morning' }
|
2096
|
+
let(:run_date) { Time.local(2014, 4, 18) }
|
2097
|
+
|
2098
|
+
describe '#message' do
|
2099
|
+
it "is 'let us go dancing'" do
|
2100
|
+
expect(n.message).to eq 'let us go dancing'
|
2101
|
+
end
|
2102
|
+
end
|
2103
|
+
|
2104
|
+
describe '#occurrences' do
|
2105
|
+
it 'is 3am' do
|
2106
|
+
# returns no occurrences
|
2107
|
+
expect(n.occurrences).to match_array [
|
2108
|
+
Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140419'), start_time: Nickel::ZTime.new('3'))
|
2109
|
+
]
|
2110
|
+
end
|
2111
|
+
end
|
2112
|
+
end
|
2113
|
+
|
2114
|
+
context "when the query is 'let us go dancing on 12/07/2014'" do
|
2115
|
+
let(:query) { 'let us go dancing on 12/07/2014' }
|
2116
|
+
|
2117
|
+
describe '#message' do
|
2118
|
+
it "is 'let us go dancing'" do
|
2119
|
+
expect(n.message).to eq 'let us go dancing'
|
2120
|
+
|
2121
|
+
end
|
2122
|
+
end
|
2123
|
+
|
2124
|
+
describe '#occurrences' do
|
2125
|
+
it 'is 7th of December 2014' do
|
2126
|
+
expect(n.occurrences).to match_array [
|
2127
|
+
Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20141207'))
|
2128
|
+
]
|
2129
|
+
end
|
2130
|
+
end
|
2131
|
+
end
|
2132
|
+
|
2133
|
+
context "when the query is 'every sunday until 2015", :broken do
|
2134
|
+
let(:query) { 'every sunday until 2015' }
|
2135
|
+
let(:run_date) { Time.local(2014, 4, 18) }
|
2136
|
+
|
2137
|
+
describe '#occurrences' do
|
2138
|
+
it 'every sunday until the last sunday of 2014' do
|
2139
|
+
expect(n.occurrences).to match_array [
|
2140
|
+
Nickel::Occurrence.new(type: :weekly, interval: 1, day_of_week: 6, start_date: Nickel::ZDate.new('20140420'), end_date: Nickel::ZDate.new('20141228'))
|
2141
|
+
]
|
2142
|
+
end
|
2143
|
+
end
|
2144
|
+
end
|
2145
|
+
|
2146
|
+
context "when the query is 'give me two cents in 5 minutes'", :broken do
|
2147
|
+
let(:query) { 'give me two cents in 5 minutes' }
|
2148
|
+
let(:run_date) { Time.local(2014, 4, 18, 12, 0) }
|
2149
|
+
|
2150
|
+
describe '#message' do
|
2151
|
+
it "is 'give me two cents'" do
|
2152
|
+
# returns give me cents
|
2153
|
+
expect(n.message).to eq 'give me two cents'
|
2154
|
+
end
|
2155
|
+
end
|
2156
|
+
|
2157
|
+
describe '#occurrences' do
|
2158
|
+
it 'is 12:05pm' do
|
2159
|
+
# returns 2am
|
2160
|
+
expect(n.occurrences).to match_array [
|
2161
|
+
Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140418'), start_time: Nickel::ZTime.new('1205'))
|
2162
|
+
]
|
2163
|
+
end
|
2164
|
+
end
|
2165
|
+
end
|
2166
|
+
|
2167
|
+
context "when the query is 'give me two cents in 3 days'", :broken do
|
2168
|
+
let(:query) { 'give me two cents in 3 days' }
|
2169
|
+
let(:run_date) { Time.local(2014, 4, 18) }
|
2170
|
+
|
2171
|
+
describe '#message' do
|
2172
|
+
it "is 'give me two cents'" do
|
2173
|
+
# returns give me cents
|
2174
|
+
expect(n.message).to eq 'give me two cents'
|
2175
|
+
end
|
2176
|
+
end
|
2177
|
+
|
2178
|
+
describe '#occurrences' do
|
2179
|
+
it 'is two days from now' do
|
2180
|
+
# returns 2am 3 days from now
|
2181
|
+
expect(n.occurrences).to match_array [
|
2182
|
+
Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140421'))
|
2183
|
+
]
|
2184
|
+
end
|
2185
|
+
end
|
2186
|
+
end
|
2187
|
+
|
2188
|
+
context "when the query is 'tomorrow anytime'" do
|
2189
|
+
let(:query) { 'tomorrow anytime' }
|
2190
|
+
let(:run_date) { Time.local(2014, 4, 18) }
|
2191
|
+
|
2192
|
+
describe '#occurrences' do
|
2193
|
+
it 'is tomorrow' do
|
2194
|
+
expect(n.occurrences).to match_array [
|
2195
|
+
Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140419'))
|
2196
|
+
]
|
2197
|
+
end
|
2198
|
+
end
|
2199
|
+
end
|
2200
|
+
|
2201
|
+
context "when the query is 'all day tomorrow'" do
|
2202
|
+
let(:query) { 'all day tomorrow' }
|
2203
|
+
let(:run_date) { Time.local(2014, 4, 18) }
|
2204
|
+
|
2205
|
+
describe '#occurrences' do
|
2206
|
+
it 'is tomorrow' do
|
2207
|
+
expect(n.occurrences).to match_array [
|
2208
|
+
Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140419'))
|
2209
|
+
]
|
2210
|
+
end
|
2211
|
+
end
|
2212
|
+
end
|
2213
|
+
|
2214
|
+
context "when the query is 'job search apply at virgin intergalactic'" do
|
2215
|
+
let(:query) { 'job search apply at virgin intergalactic' }
|
2216
|
+
|
2217
|
+
describe '#message' do
|
2218
|
+
it "is 'job search apply at virgin intergalactic'" do
|
2219
|
+
expect(n.message).to eq 'job search apply at virgin intergalactic'
|
2220
|
+
end
|
2221
|
+
end
|
2222
|
+
|
2223
|
+
describe '#occurrences' do
|
2224
|
+
it 'is an empty array' do
|
2225
|
+
expect(n.occurrences).to be_empty
|
2226
|
+
end
|
2227
|
+
end
|
2228
|
+
end
|
2229
|
+
|
2230
|
+
context "when the query is 'job search - apply at virgin intergalactic'", :broken do
|
2231
|
+
let(:query) { 'job search - apply at virgin intergalactic' }
|
2232
|
+
|
2233
|
+
describe '#message' do
|
2234
|
+
it "is 'job search - apply at virgin intergalactic'" do
|
2235
|
+
expect(n.message).to eq 'job search - apply at virgin intergalactic'
|
2236
|
+
end
|
2237
|
+
end
|
2238
|
+
|
2239
|
+
describe '#occurrences' do
|
2240
|
+
it 'is an empty array' do
|
2241
|
+
# returns every day from today
|
2242
|
+
expect(n.occurrences).to be_empty
|
2243
|
+
end
|
2244
|
+
end
|
2245
|
+
end
|
1936
2246
|
end
|
1937
2247
|
end
|