nickel 0.1.0 → 0.1.1
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/README.md +2 -2
- data/lib/nickel/occurrence.rb +1 -11
- data/lib/nickel/version.rb +1 -1
- data/lib/nickel/zdate.rb +13 -14
- data/lib/nickel/ztime.rb +12 -15
- data/spec/lib/nickel/occurrence_spec.rb +8 -0
- data/spec/lib/nickel/zdate_spec.rb +4 -0
- data/spec/lib/nickel/ztime_spec.rb +18 -26
- 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: 4749a62cf4e0593e14a0add9a87e83ab42c0e22a
|
4
|
+
data.tar.gz: 89f4306d7c4600d52ef806ef776dc2ebfaba4880
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a679225d669ab812a0c260f8bef2012047aa24a709838b869228ab32eff4db78c1f65d81903b046a23746410542e2d563d03cb88077f24ec7d3c0af3c9d9c2b0
|
7
|
+
data.tar.gz: b9febf74771b71217f1ce05148bd17dd4939c3eb60b7d8f51856ddd9f30d221cd0fcf18d80bf7f9323a31a1f3d9f67d8dac36b2d9180dbf2e5fd8299c4dbc0f7
|
data/README.md
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
Nickel
|
2
2
|
======
|
3
3
|
|
4
|
-
Nickel extracts date, time, and message information from naturally worded text.
|
5
|
-
|
6
4
|
[](http://rubygems.org/gems/nickel)
|
7
5
|
[](https://travis-ci.org/iainbeeston/nickel)
|
8
6
|
[](https://coveralls.io/r/iainbeeston/nickel)
|
9
7
|
[](https://codeclimate.com/github/iainbeeston/nickel)
|
10
8
|
|
9
|
+
Nickel extracts date, time, and message information from naturally worded text.
|
10
|
+
|
11
11
|
Install
|
12
12
|
-------
|
13
13
|
|
data/lib/nickel/occurrence.rb
CHANGED
@@ -9,17 +9,7 @@ module Nickel
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def inspect
|
12
|
-
|
13
|
-
str << %(, start_date: "#{start_date}") if start_date
|
14
|
-
str << %(, end_date: "#{end_date}") if end_date
|
15
|
-
str << %(, start_time: "#{start_time}") if start_time
|
16
|
-
str << %(, end_time: "#{end_time}") if end_time
|
17
|
-
str << %(, interval: #{interval}) if interval
|
18
|
-
str << %(, day_of_week: #{day_of_week}) if day_of_week
|
19
|
-
str << %(, week_of_month: #{week_of_month}) if week_of_month
|
20
|
-
str << %(, date_of_month: #{date_of_month}) if date_of_month
|
21
|
-
str << ">"
|
22
|
-
str
|
12
|
+
"#<Occurrence " + members.select{|m| self[m]}.map{|m| %(#{m}: #{self[m]})}.join(", ") + ">"
|
23
13
|
end
|
24
14
|
|
25
15
|
def finalize(cur_date)
|
data/lib/nickel/version.rb
CHANGED
data/lib/nickel/zdate.rb
CHANGED
@@ -75,22 +75,12 @@ module Nickel
|
|
75
75
|
txt.gsub!(/%d/, self.day_str)
|
76
76
|
end
|
77
77
|
|
78
|
-
def before(d2)
|
79
|
-
d2.respond_to?(:year) && (year < d2.year) ||
|
80
|
-
d2.respond_to?(:month) && (year == d2.year && (month < d2.month ||
|
81
|
-
d2.respond_to?(:day) && (month == d2.month && day < d2.day)))
|
82
|
-
end
|
83
|
-
|
84
|
-
def after(d2)
|
85
|
-
d2.respond_to?(:year) && (year > d2.year) ||
|
86
|
-
d2.respond_to?(:month) && (year == d2.year && (month > d2.month ||
|
87
|
-
d2.respond_to?(:day) && (month == d2.month && day > d2.day)))
|
88
|
-
end
|
89
|
-
|
90
78
|
def <=>(d2)
|
91
|
-
|
79
|
+
return nil unless [:year, :month, :day].all?{|m| d2.respond_to?(m)}
|
80
|
+
|
81
|
+
if before?(d2)
|
92
82
|
-1
|
93
|
-
elsif after(d2)
|
83
|
+
elsif after?(d2)
|
94
84
|
1
|
95
85
|
else
|
96
86
|
0
|
@@ -555,6 +545,15 @@ module Nickel
|
|
555
545
|
end
|
556
546
|
|
557
547
|
private
|
548
|
+
|
549
|
+
def before?(d2)
|
550
|
+
(year < d2.year) || (year == d2.year && (month < d2.month || (month == d2.month && day < d2.day)))
|
551
|
+
end
|
552
|
+
|
553
|
+
def after?(d2)
|
554
|
+
(year > d2.year) || (year == d2.year && (month > d2.month || (month == d2.month && day > d2.day)))
|
555
|
+
end
|
556
|
+
|
558
557
|
def validate
|
559
558
|
raise "ZDate says: invalid date" if !valid
|
560
559
|
end
|
data/lib/nickel/ztime.rb
CHANGED
@@ -139,23 +139,12 @@ module Nickel
|
|
139
139
|
is_am? ? "am" : "pm"
|
140
140
|
end
|
141
141
|
|
142
|
-
|
143
|
-
def before(t2)
|
144
|
-
(t2.respond_to? :hour) && (hour < t2.hour) ||
|
145
|
-
(t2.respond_to? :min) && (hour == t2.hour && (min < t2.min ||
|
146
|
-
(t2.respond_to? :sec) && (min == t2.min && sec < t2.sec)))
|
147
|
-
end
|
148
|
-
|
149
|
-
def after(t2)
|
150
|
-
(t2.respond_to? :hour) && (hour > t2.hour) ||
|
151
|
-
(t2.respond_to? :min) && (hour == t2.hour && (min > t2.min ||
|
152
|
-
(t2.respond_to? :sec) && (min == t2.min && sec > t2.sec)))
|
153
|
-
end
|
154
|
-
|
155
142
|
def <=>(t2)
|
156
|
-
|
143
|
+
return nil unless [:hour, :min, :sec].all?{|m| t2.respond_to?(m)}
|
144
|
+
|
145
|
+
if before?(t2)
|
157
146
|
-1
|
158
|
-
elsif after(t2)
|
147
|
+
elsif after?(t2)
|
159
148
|
1
|
160
149
|
else
|
161
150
|
0
|
@@ -352,6 +341,14 @@ module Nickel
|
|
352
341
|
|
353
342
|
private
|
354
343
|
|
344
|
+
def before?(t2)
|
345
|
+
(hour < t2.hour) || (hour == t2.hour && (min < t2.min || (min == t2.min && sec < t2.sec)))
|
346
|
+
end
|
347
|
+
|
348
|
+
def after?(t2)
|
349
|
+
(hour > t2.hour) || (hour == t2.hour && (min > t2.min || (min == t2.min && sec > t2.sec)))
|
350
|
+
end
|
351
|
+
|
355
352
|
def adjust_for(am_pm)
|
356
353
|
# how does validation work? Well, we already know that @time is valid, and once we modify we call time= which will
|
357
354
|
# perform validation on the new time. That won't catch something like this though: ZTime.new("2215", :am)
|
@@ -35,6 +35,14 @@ module Nickel
|
|
35
35
|
expect(occ).to eq Occurrence.new(type: :daily, start_date: ZDate.new("20140128"))
|
36
36
|
end
|
37
37
|
end
|
38
|
+
|
39
|
+
describe "#inspect" do
|
40
|
+
let(:occ) { Occurrence.new(type: :daily, start_date: ZDate.new("20140128"), end_date: ZDate.new("20140209"), interval: 2) }
|
41
|
+
|
42
|
+
it "shows only members that have been set" do
|
43
|
+
expect(occ.inspect).to eq '#<Occurrence type: daily, start_date: 20140128, end_date: 20140209, interval: 2>'
|
44
|
+
end
|
45
|
+
end
|
38
46
|
end
|
39
47
|
end
|
40
48
|
|
@@ -89,6 +89,10 @@ module Nickel
|
|
89
89
|
it "is false when the other object is a Date for any other day" do
|
90
90
|
expect(d1).to_not eq Date.new(2010, 9, 27)
|
91
91
|
end
|
92
|
+
|
93
|
+
it "is false when the other object is a String" do
|
94
|
+
expect(d1).to_not eq '20090927'
|
95
|
+
end
|
92
96
|
end
|
93
97
|
end
|
94
98
|
end
|
@@ -254,77 +254,69 @@ module Nickel
|
|
254
254
|
it "is false when the other object is a Time for any other time" do
|
255
255
|
expect(t1).to_not eq Time.parse("17:18:19")
|
256
256
|
end
|
257
|
+
|
258
|
+
it "is false when the other object is a String" do
|
259
|
+
expect(t1).to_not eq "161718"
|
260
|
+
end
|
257
261
|
end
|
258
262
|
|
259
263
|
describe "#hour_str" do
|
260
264
|
it "is the hour in the day as a string" do
|
261
|
-
expect(ZTime.new("161718").hour_str).to
|
265
|
+
expect(ZTime.new("161718").hour_str).to eq("16")
|
262
266
|
end
|
263
267
|
end
|
264
268
|
|
265
269
|
describe "#min_str" do
|
266
270
|
it "is the minutes past the hour as a string" do
|
267
|
-
expect(ZTime.new("161718").min_str).to
|
271
|
+
expect(ZTime.new("161718").min_str).to eq("17")
|
268
272
|
end
|
269
273
|
end
|
270
274
|
|
271
275
|
describe "#sec_str" do
|
272
276
|
it "is the seconds into the minute as a string" do
|
273
|
-
expect(ZTime.new("161718").sec_str).to
|
277
|
+
expect(ZTime.new("161718").sec_str).to eq("18")
|
274
278
|
end
|
275
279
|
end
|
276
280
|
|
277
281
|
describe "#minute_str", :deprecated do
|
278
|
-
|
279
|
-
|
280
|
-
it "delegates to #min_str" do
|
281
|
-
expect(t1).to receive(:min_str)
|
282
|
-
t1.minute_str
|
282
|
+
it "is the minutes past the hour as a string" do
|
283
|
+
expect(ZTime.new("161718").min_str).to eq("17")
|
283
284
|
end
|
284
285
|
end
|
285
286
|
|
286
287
|
describe "#second_str", :deprecated do
|
287
|
-
|
288
|
-
|
289
|
-
it "delegates to #sec_str" do
|
290
|
-
expect(t1).to receive(:sec_str)
|
291
|
-
t1.second_str
|
288
|
+
it "is the seconds into the minute as a string" do
|
289
|
+
expect(ZTime.new("161718").sec_str).to eq("18")
|
292
290
|
end
|
293
291
|
end
|
294
292
|
|
295
293
|
describe "#hour" do
|
296
294
|
it "is the hour in the day" do
|
297
|
-
expect(ZTime.new("161718").hour).to
|
295
|
+
expect(ZTime.new("161718").hour).to eq(16)
|
298
296
|
end
|
299
297
|
end
|
300
298
|
|
301
299
|
describe "#min" do
|
302
300
|
it "is the minutes past the hour" do
|
303
|
-
expect(ZTime.new("161718").min).to
|
301
|
+
expect(ZTime.new("161718").min).to eq(17)
|
304
302
|
end
|
305
303
|
end
|
306
304
|
|
307
305
|
describe "#sec" do
|
308
306
|
it "is the seconds into the minute" do
|
309
|
-
expect(ZTime.new("161718").sec).to
|
307
|
+
expect(ZTime.new("161718").sec).to eq(18)
|
310
308
|
end
|
311
309
|
end
|
312
310
|
|
313
311
|
describe "#minute", :deprecated do
|
314
|
-
|
315
|
-
|
316
|
-
it "delegates to #min" do
|
317
|
-
expect(t1).to receive(:min)
|
318
|
-
t1.minute
|
312
|
+
it "is the minutes past the hour" do
|
313
|
+
expect(ZTime.new("161718").min).to eq(17)
|
319
314
|
end
|
320
315
|
end
|
321
316
|
|
322
317
|
describe "#second", :deprecated do
|
323
|
-
|
324
|
-
|
325
|
-
it "delegates to #sec" do
|
326
|
-
expect(t1).to receive(:sec)
|
327
|
-
t1.second
|
318
|
+
it "is the seconds into the minute" do
|
319
|
+
expect(ZTime.new("161718").sec).to eq(18)
|
328
320
|
end
|
329
321
|
end
|
330
322
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nickel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lou Zell
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-03-
|
12
|
+
date: 2014-03-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|