Skip to content

Commit 17c9ace

Browse files
authored
Merge pull request #23 from schwern/feat/raise_no_by
feat: Raise gracefully if #by is not set.
2 parents 5599300 + cc44ba8 commit 17c9ace

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

lib/time_range/time.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ def initialize(time, by = nil)
1515
end
1616

1717
def succ
18+
raise ArgumentError, 'by() not set for this TimeRange' if !@by || @by.empty?
19+
1820
next_time = Advancer.advance_time(@time, @by)
1921
return self.class.new(next_time, @by)
2022
end

spec/time_range_spec.rb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,13 @@
9292
end
9393

9494
shared_examples 'it has a begin' do
95+
it 'raises gracefully if #by is not called' do
96+
range = described_class.new(first, last)
97+
expect {
98+
range.first(1)
99+
}.to raise_error ArgumentError, /by\(\) not set for this TimeRange/
100+
end
101+
95102
describe '#begin' do
96103
it 'has a begin' do
97104
expect(range.begin).to eq first

0 commit comments

Comments
 (0)