age_jp 0.0.6 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c6e5f82f1001e56b0520f64d3c9ccf71eb1f52d0
4
- data.tar.gz: 85bb623b269d19d63e48852e3f2df65d38c04f54
3
+ metadata.gz: af033357d3a9ea266f503d39bdc810eaa7e09945
4
+ data.tar.gz: 2de6d0ea776b76b9712283e0cd19cbf7d79a1016
5
5
  SHA512:
6
- metadata.gz: bc08771533fb350e0e8b007fae3243ebf892dd358cbc85092ad4e369daa03f384d7aca3b3a64fa5d40f8971c8419f79b9a1b8c5c7906f49c6641ac31b0ab946b
7
- data.tar.gz: 3c5f3c2d95fb7a547767db168b9f0e00c13676cacacff78c166dcdf814b3fab67ec19043b7a3dc069a6701b4eff1238a2df0588001c7dad451192743ef25ac3c
6
+ metadata.gz: e8f403ea6dc966834c8f2866c18ae4881f817f1975c41199fcd38eed53037d0ae8e93c4fad728cfda2d49ea82c1a80bbdadb08be64fa24be272e90283c41efd7
7
+ data.tar.gz: eadb95a34a6164e41bf5294af1eaf85964fdf4a0095231f888940c874c93e8feb658626c5051282603c09aa1b824fa234e4a3bd1d855c18db1cc5d4431073754
@@ -18,10 +18,9 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency "activesupport", '>= 3.2'
21
+ spec.add_dependency "activesupport", '>= 4.1'
22
22
 
23
23
  spec.add_development_dependency "bundler", ">= 1.0"
24
24
  spec.add_development_dependency "rake", ">= 10.0"
25
25
  spec.add_development_dependency "rspec", '~> 3.0'
26
- spec.add_development_dependency "timecop"
27
26
  end
@@ -1,3 +1,3 @@
1
1
  module AgeJp
2
- VERSION = "0.0.6"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -3,221 +3,205 @@ require 'spec_helper'
3
3
  describe AgeJp do
4
4
  describe '#age' do
5
5
  context "birthday is 2000/01/01. " do
6
+ around do |example|
7
+ travel_to(current_date) { example.run }
8
+ end
9
+
6
10
  let(:birthday) { Date.new(2000, 1, 1) }
7
- subject(:age) { birthday.age }
11
+ subject { birthday.age }
8
12
 
9
13
  context 'when today is 2014/12/30' do
10
- before { Timecop.freeze(Date.new(2014, 12, 30)) }
11
-
12
- it { expect(age).to eq 14 }
14
+ let(:current_date) { Date.new(2014, 12, 30) }
15
+ it { is_expected.to eq 14 }
13
16
  end
14
17
 
15
18
  context 'when today is 2014/12/31' do
16
- before { Timecop.freeze(Date.new(2014, 12, 31)) }
17
-
18
- it { expect(age).to eq 14 }
19
+ let(:current_date) { Date.new(2014, 12, 31) }
20
+ it { is_expected.to eq 14 }
19
21
  end
20
22
 
21
23
  context 'when today is 2015/1/1' do
22
- before { Timecop.freeze(Date.new(2015, 1, 1)) }
23
-
24
- it { expect(age).to eq 15 }
24
+ let(:current_date) { Date.new(2015, 1, 1) }
25
+ it { is_expected.to eq 15 }
25
26
  end
26
-
27
- after { Timecop.return }
28
27
  end
29
28
 
30
29
  context "birthday is 2000/02/29. " do
30
+ around do |example|
31
+ travel_to(current_date) { example.run }
32
+ end
33
+
31
34
  let(:birthday) { Date.new(2000, 2, 29) }
32
- subject(:age) { birthday.age }
35
+ subject { birthday.age }
33
36
 
34
37
  context 'when today is 2015/02/28' do
35
- before { Timecop.freeze(Date.new(2015, 2, 28)) }
36
-
37
- it { expect(age).to eq 15 }
38
+ let(:current_date) { Date.new(2015, 2, 28) }
39
+ it { is_expected.to eq 15 }
38
40
  end
39
41
 
40
42
  context 'when today is 2016/02/28' do
41
- before { Timecop.freeze(Date.new(2016, 2, 28)) }
42
-
43
- it { expect(age).to eq 15 }
43
+ let(:current_date) { Date.new(2016, 2, 28) }
44
+ it { is_expected.to eq 15 }
44
45
  end
45
46
 
46
47
  context 'when today is 2016/2/29' do
47
- before { Timecop.freeze(Date.new(2016, 2, 29)) }
48
-
49
- it { expect(age).to eq 16 }
48
+ let(:current_date) { Date.new(2016, 2, 29) }
49
+ it { is_expected.to eq 16 }
50
50
  end
51
-
52
- after { Timecop.return }
53
51
  end
54
52
  end
55
53
 
56
54
  describe '#age_at' do
57
55
  context "birthday is 2000/01/01. " do
58
56
  let(:birthday) { Date.new(2000, 1, 1) }
59
- subject(:age_at) { birthday.age_at(today) }
57
+ subject { birthday.age_at(today) }
60
58
 
61
59
  context 'when date is 2016/12/30' do
62
60
  let(:today) { Date.new(2016, 12, 30) }
63
-
64
- it { expect(age_at).to eq 16 }
61
+ it { is_expected.to eq 16 }
65
62
  end
66
63
 
67
64
  context 'when date is 2016/12/31' do
68
65
  let(:today) { Date.new(2016, 12, 31) }
69
-
70
- it { expect(age_at).to eq 16 }
66
+ it { is_expected.to eq 16 }
71
67
  end
72
68
 
73
69
  context 'when date is 2017/1/1' do
74
70
  let(:today) { Date.new(2017, 1, 1) }
75
-
76
- it { expect(age_at).to eq 17 }
71
+ it { is_expected.to eq 17 }
77
72
  end
78
73
  end
79
74
 
80
75
  context 'invalid date' do
81
76
  let(:birthday) { Date.new(2000, 1, 1) }
82
77
  let(:invalid_date) { 'String' }
83
- subject(:age_at) { birthday.age_at(invalid_date) }
78
+ subject { birthday.age_at(invalid_date) }
84
79
 
85
- it { expect { subject }.to raise_error(/invalid date/) }
80
+ it { expect { subject }.to raise_error(ArgumentError, /invalid date/) }
86
81
  end
87
82
  end
88
83
 
89
84
  describe '#age_jp' do
90
85
  context "birthday is 2000/01/01. " do
86
+ around do |example|
87
+ travel_to(current_date) { example.run }
88
+ end
89
+
91
90
  let(:birthday) { Date.new(2000, 1, 1) }
92
- subject(:age_jp) { birthday.age_jp }
91
+ subject { birthday.age_jp }
93
92
 
94
93
  context 'when today is 2014/12/30' do
95
- before { Timecop.freeze(Date.new(2014, 12, 30)) }
96
-
97
- it { expect(age_jp).to eq 14 }
94
+ let(:current_date) { Date.new(2014, 12, 30) }
95
+ it { is_expected.to eq 14 }
98
96
  end
99
97
 
100
98
  context 'when today is 2014/12/31' do
101
- before { Timecop.freeze(Date.new(2014, 12, 31)) }
102
-
103
- it { expect(age_jp).to eq 15 }
99
+ let(:current_date) { Date.new(2014, 12, 31) }
100
+ it { is_expected.to eq 15 }
104
101
  end
105
102
 
106
103
  context 'when today is 2015/1/1' do
107
- before { Timecop.freeze(Date.new(2015, 1, 1)) }
108
-
109
- it { expect(age_jp).to eq 15 }
104
+ let(:current_date) { Date.new(2015, 1, 1) }
105
+ it { is_expected.to eq 15 }
110
106
  end
111
-
112
- after { Timecop.return }
113
107
  end
114
108
 
115
109
  context "birthday is 2000/02/29. " do
110
+ around do |example|
111
+ travel_to(current_date) { example.run }
112
+ end
113
+
116
114
  let(:birthday) { Date.new(2000, 2, 29) }
117
- subject(:age_jp) { birthday.age_jp }
115
+ subject { birthday.age_jp }
118
116
 
119
117
  context 'when today is 2015/02/27' do
120
- before { Timecop.freeze(Date.new(2015, 2, 27)) }
121
-
122
- it { expect(age_jp).to eq 14 }
118
+ let(:current_date) { Date.new(2015, 2, 27) }
119
+ it { is_expected.to eq 14 }
123
120
  end
124
121
 
125
122
  context 'when today is 2015/02/28' do
126
- before { Timecop.freeze(Date.new(2015, 2, 28)) }
127
-
128
- it { expect(age_jp).to eq 15 }
123
+ let(:current_date) { Date.new(2015, 2, 28) }
124
+ it { is_expected.to eq 15 }
129
125
  end
130
126
 
131
127
  context 'when today is 2016/02/28' do
132
- before { Timecop.freeze(Date.new(2016, 2, 28)) }
133
-
134
- it { expect(age_jp).to eq 16 }
128
+ let(:current_date) { Date.new(2016, 2, 28) }
129
+ it { is_expected.to eq 16 }
135
130
  end
136
131
 
137
132
  context 'when today is 2016/2/29' do
138
- before { Timecop.freeze(Date.new(2016, 2, 29)) }
139
-
140
- it { expect(age_jp).to eq 16 }
133
+ let(:current_date) { Date.new(2016, 2, 29) }
134
+ it { is_expected.to eq 16 }
141
135
  end
142
-
143
- after { Timecop.return }
144
136
  end
145
137
  end
146
138
 
147
139
  describe '#age_jp_at' do
148
140
  context "birthday is 2000/01/01. " do
149
141
  let(:birthday) { Date.new(2000, 1, 1) }
150
- subject(:age_jp_at) { birthday.age_jp_at(today) }
142
+ subject { birthday.age_jp_at(today) }
151
143
 
152
144
  context 'when date is 2016/12/30' do
153
145
  let(:today) { Date.new(2016, 12, 30) }
154
-
155
- it { expect(age_jp_at).to eq 16 }
146
+ it { is_expected.to eq 16 }
156
147
  end
157
148
 
158
149
  context 'when date is 2016/12/31' do
159
150
  let(:today) { Date.new(2016, 12, 31) }
160
-
161
- it { expect(age_jp_at).to eq 17 }
151
+ it { is_expected.to eq 17 }
162
152
  end
163
153
 
164
154
  context 'when date is 2017/1/1' do
165
155
  let(:today) { Date.new(2017, 1, 1) }
166
-
167
- it { expect(age_jp_at).to eq 17 }
156
+ it { is_expected.to eq 17 }
168
157
  end
169
158
  end
170
159
  end
171
160
 
172
161
  describe '#east_asian_age_reckoning' do
173
162
  context "birthday is 1999/12/31. " do
174
- let(:birthday) { Date.new(1999, 12, 31) }
163
+ around do |example|
164
+ travel_to(current_date) { example.run }
165
+ end
175
166
 
176
- subject(:east_asian_age_reckoning) { birthday.east_asian_age_reckoning }
167
+ let(:birthday) { Date.new(1999, 12, 31) }
168
+ subject { birthday.east_asian_age_reckoning }
177
169
 
178
170
  context 'when today is 1999/12/31' do
179
- before { Timecop.freeze(Date.new(1999, 12, 31)) }
180
-
181
- it { expect(east_asian_age_reckoning).to eq 1 }
171
+ let(:current_date) { Date.new(1999, 12, 31) }
172
+ it { is_expected.to eq 1 }
182
173
  end
183
174
 
184
175
  context 'when today is 2000/01/01' do
185
- before { Timecop.freeze(Date.new(2000, 1, 1)) }
186
-
187
- it { expect(east_asian_age_reckoning).to eq 2 }
176
+ let(:current_date) { Date.new(2000, 1, 1) }
177
+ it { is_expected.to eq 2 }
188
178
  end
189
179
 
190
180
  context 'when today is 2000/12/31' do
191
- before { Timecop.freeze(Date.new(2000, 12, 31)) }
192
-
193
- it { expect(east_asian_age_reckoning).to eq 2 }
181
+ let(:current_date) { Date.new(2000, 12, 31) }
182
+ it { is_expected.to eq 2 }
194
183
  end
195
-
196
- after { Timecop.return }
197
184
  end
198
185
  end
199
186
 
200
187
  describe '#east_asian_age_reckoning_at' do
201
188
  context "birthday is 1999/12/31. " do
202
189
  let(:birthday) { Date.new(1999, 12, 31) }
203
- subject(:east_asian_age_reckoning_at) { birthday.east_asian_age_reckoning_at(today) }
190
+ subject { birthday.east_asian_age_reckoning_at(today) }
204
191
 
205
192
  context 'when date is 2016/12/31' do
206
193
  let(:today) { Date.new(2016, 12, 31) }
207
-
208
- it { expect(east_asian_age_reckoning_at).to eq 18 }
194
+ it { is_expected.to eq 18 }
209
195
  end
210
196
 
211
197
  context 'when date is 2017/01/01' do
212
198
  let(:today) { Date.new(2017, 1, 1) }
213
-
214
- it { expect(east_asian_age_reckoning_at).to eq 19 }
199
+ it { is_expected.to eq 19 }
215
200
  end
216
201
 
217
202
  context 'when date is 2017/12/31' do
218
203
  let(:today) { Date.new(2017, 12, 31) }
219
-
220
- it { expect(east_asian_age_reckoning_at).to eq 19 }
204
+ it { is_expected.to eq 19 }
221
205
  end
222
206
  end
223
207
  end
@@ -230,13 +214,11 @@ describe AgeJp do
230
214
 
231
215
  context 'with year is 16' do
232
216
  let(:year) { 16 }
233
-
234
217
  it { is_expected.to eq Date.new(2016, 1, 1) }
235
218
  end
236
219
 
237
220
  context 'with year is 17' do
238
221
  let(:year) { 17 }
239
-
240
222
  it { is_expected.to eq Date.new(2017, 1, 1) }
241
223
  end
242
224
  end
@@ -246,13 +228,11 @@ describe AgeJp do
246
228
 
247
229
  context 'with year is 16' do
248
230
  let(:year) { 16 }
249
-
250
231
  it { is_expected.to eq Date.new(2016, 2, 29) }
251
232
  end
252
233
 
253
234
  context 'with year is 17' do
254
235
  let(:year) { 17 }
255
-
256
236
  it { is_expected.to eq Date.new(2017, 2, 28) }
257
237
  end
258
238
  end
@@ -266,13 +246,11 @@ describe AgeJp do
266
246
 
267
247
  context 'with year is 16' do
268
248
  let(:year) { 16 }
269
-
270
249
  it { is_expected.to eq Date.new(2015, 12, 31) }
271
250
  end
272
251
 
273
252
  context 'with year is 17' do
274
253
  let(:year) { 17 }
275
-
276
254
  it { is_expected.to eq Date.new(2016, 12, 31) }
277
255
  end
278
256
  end
@@ -282,13 +260,11 @@ describe AgeJp do
282
260
 
283
261
  context 'with year is 16' do
284
262
  let(:year) { 16 }
285
-
286
263
  it { is_expected.to eq Date.new(2016, 2, 28) }
287
264
  end
288
265
 
289
266
  context 'with year is 17' do
290
267
  let(:year) { 17 }
291
-
292
268
  it { is_expected.to eq Date.new(2017, 2, 28) }
293
269
  end
294
270
  end
@@ -296,53 +272,51 @@ describe AgeJp do
296
272
 
297
273
  describe '#insurance_age' do
298
274
  context "birthday is 2000/01/01. " do
275
+ around do |example|
276
+ travel_to(current_date) { example.run }
277
+ end
278
+
299
279
  let(:birthday) { Date.new(2000, 1, 1) }
300
- subject(:insurance_age) { birthday.insurance_age }
280
+ subject { birthday.insurance_age }
301
281
 
302
282
  context 'when today is 2015/01/01' do
303
- before { Timecop.freeze(Date.new(2015, 1, 1)) }
304
-
305
- it { expect(insurance_age).to eq 15 }
283
+ let(:current_date) { Date.new(2015, 1, 1) }
284
+ it { is_expected.to eq 15 }
306
285
  end
307
286
 
308
287
  context 'when today is 2015/07/31' do
309
- before { Timecop.freeze(Date.new(2015, 7, 31)) }
310
-
311
- it { expect(insurance_age).to eq 15 }
288
+ let(:current_date) { Date.new(2015, 7, 31) }
289
+ it { is_expected.to eq 15 }
312
290
  end
313
291
 
314
292
  context 'when today is 2015/08/01' do
315
- before { Timecop.freeze(Date.new(2015, 8, 1)) }
316
-
317
- it { expect(insurance_age).to eq 16 }
293
+ let(:current_date) { Date.new(2015, 8, 1) }
294
+ it { is_expected.to eq 16 }
318
295
  end
319
-
320
- after { Timecop.return }
321
296
  end
322
297
 
323
298
  context "birthday is 2000/07/31. " do
299
+ around do |example|
300
+ travel_to(current_date) { example.run }
301
+ end
302
+
324
303
  let(:birthday) { Date.new(2000, 7, 31) }
325
- subject(:insurance_age) { birthday.insurance_age }
304
+ subject { birthday.insurance_age }
326
305
 
327
306
  context 'when today is 2016/02/28' do
328
- before { Timecop.freeze(Date.new(2016, 2, 28)) }
329
-
330
- it { expect(insurance_age).to eq 15 }
307
+ let(:current_date) { Date.new(2016, 2, 28) }
308
+ it { is_expected.to eq 15 }
331
309
  end
332
310
 
333
311
  context 'when today is 2016/02/29' do
334
- before { Timecop.freeze(Date.new(2016, 2, 29)) }
335
-
336
- it { expect(insurance_age).to eq 16 }
312
+ let(:current_date) { Date.new(2016, 2, 29) }
313
+ it { is_expected.to eq 16 }
337
314
  end
338
315
 
339
316
  context 'when today is 2016/03/01' do
340
- before { Timecop.freeze(Date.new(2016, 3, 1)) }
341
-
342
- it { expect(insurance_age).to eq 16 }
317
+ let(:current_date) { Date.new(2016, 3, 1) }
318
+ it { is_expected.to eq 16 }
343
319
  end
344
-
345
- after { Timecop.return }
346
320
  end
347
321
  end
348
322
  end
@@ -1,3 +1,7 @@
1
1
  require 'rubygems'
2
2
  require 'age_jp'
3
- require 'timecop'
3
+ require "active_support/testing/time_helpers"
4
+
5
+ RSpec.configure do |config|
6
+ config.include ActiveSupport::Testing::TimeHelpers
7
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: age_jp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ryoff
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '3.2'
19
+ version: '4.1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '3.2'
26
+ version: '4.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -66,20 +66,6 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '3.0'
69
- - !ruby/object:Gem::Dependency
70
- name: timecop
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
69
  description: A simpel age calculator for a law of Japan.
84
70
  email:
85
71
  - ryoffes@gmail.com