era_ja 0.5.3 → 1.0.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 +5 -5
- data/.travis.yml +5 -3
- data/lib/era_ja/conversion.rb +7 -4
- data/lib/era_ja/version.rb +1 -1
- data/spec/date_spec.rb +15 -0
- data/spec/spec_helper.rb +55 -0
- data/spec/time_spec.rb +15 -0
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 58f5955178ca4a898c771451e6b33345acf59352ae6d89a1fc1334da5b0e2e3a
|
4
|
+
data.tar.gz: baef3d1dcc782d26d062095479f6f6121941d2a258e3870dbecbc1080fa3eaba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a501415e87bc28d933553835d1baca333d5c67cd15becf01fca6cbe71ca662cf20e56e427e2bcbfb72dab2650026a1bdd96299ce37ca120614c4028420ac044b
|
7
|
+
data.tar.gz: f95522ba00aadfb7f3a97d3eaeb0b7a958f7817e20c3d0a76a618a9b34ef515022223792b794e04c568e8234c2d71607d3d237e7ba79ec203e9ffd91ce1760dd
|
data/.travis.yml
CHANGED
data/lib/era_ja/conversion.rb
CHANGED
@@ -7,7 +7,8 @@ module EraJa
|
|
7
7
|
meiji: ["M", "明治"],
|
8
8
|
taisho: ["T", "大正"],
|
9
9
|
showa: ["S", "昭和"],
|
10
|
-
heisei: ["H", "平成"]
|
10
|
+
heisei: ["H", "平成"],
|
11
|
+
reiwa: ["R", "令和"]
|
11
12
|
}.freeze
|
12
13
|
|
13
14
|
ERR_DATE_OUT_OF_RANGE = "#to_era only works on dates after 1868,9,8".freeze
|
@@ -22,7 +23,7 @@ module EraJa
|
|
22
23
|
# * %J - kanzi number
|
23
24
|
# @param [Hash] era_names
|
24
25
|
# If you want to convert custom to era strings (eg `平`, `h`), you can set this argument.
|
25
|
-
# key is `:meiji' or `:taisho' or `:showa` or `:heisei`.
|
26
|
+
# key is `:meiji' or `:taisho' or `:showa` or `:heisei` or `:reiwa`.
|
26
27
|
# value is ["alphabet era name"(ex `h`, `s`)(related to `%o`), "multibyte era name"(eg `平`, `昭`)(related to `%O`)].
|
27
28
|
# this argument is same as one element of ERA_NAME_DEFAULTS.
|
28
29
|
# @return [String]
|
@@ -39,8 +40,10 @@ module EraJa
|
|
39
40
|
str_time = era_year(year - 1911, :taisho, era_names)
|
40
41
|
when self.to_time < ::Time.mktime(1989,1,8)
|
41
42
|
str_time = era_year(year - 1925, :showa, era_names)
|
42
|
-
|
43
|
+
when self.to_time < ::Time.mktime(2019, 5, 1)
|
43
44
|
str_time = era_year(year - 1988, :heisei, era_names)
|
45
|
+
else
|
46
|
+
str_time = era_year(year - 2018, :reiwa, era_names)
|
44
47
|
end
|
45
48
|
end
|
46
49
|
str_time.gsub(/%J(\d+)/) { to_kanzi($1) }
|
@@ -73,7 +76,7 @@ module EraJa
|
|
73
76
|
def to_kanzi(numeric, kanzi = "")
|
74
77
|
figures = (10 ** numeric.to_s.size) / 10
|
75
78
|
numeric = numeric.to_i
|
76
|
-
kanzi_string = [
|
79
|
+
kanzi_string = ["", "一", "二", "三", "四", "五", "六", "七", "八", "九"]
|
77
80
|
figures_string = { 1000 => "千", 100 => "百", 10 => "十", 1 => "" }
|
78
81
|
return kanzi + kanzi_string[numeric] if figures == 1
|
79
82
|
|
data/lib/era_ja/version.rb
CHANGED
data/spec/date_spec.rb
CHANGED
@@ -5,6 +5,21 @@ require File.expand_path('spec_helper', File.dirname(__FILE__))
|
|
5
5
|
RSpec.describe Date do
|
6
6
|
describe "#to_era" do
|
7
7
|
|
8
|
+
context "date is 2019,7,2" do
|
9
|
+
subject { Date.new(2019,7,2) }
|
10
|
+
include_examples "2019,7,2"
|
11
|
+
end
|
12
|
+
|
13
|
+
context 'date is 2019,5,1' do
|
14
|
+
subject { Date.new(2019,5,1) }
|
15
|
+
include_examples "2019,5,1"
|
16
|
+
end
|
17
|
+
|
18
|
+
context 'date is 2019,4,30' do
|
19
|
+
subject { Date.new(2019,4,30) }
|
20
|
+
include_examples "2019,4,30"
|
21
|
+
end
|
22
|
+
|
8
23
|
context "date is 2012,4,29" do
|
9
24
|
subject { Date.new(2012,4,29) }
|
10
25
|
include_examples "2012,4,29"
|
data/spec/spec_helper.rb
CHANGED
@@ -1,6 +1,46 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
require 'rspec'
|
3
3
|
|
4
|
+
RSpec.shared_examples "should equal 'R01.07.02'" do
|
5
|
+
it { expect(subject.to_era).to eq "R01.07.02" }
|
6
|
+
|
7
|
+
context "with '%o%E.%m.%d'" do
|
8
|
+
it { expect(subject.to_era("%o%E.%m.%d")).to eq "R01.07.02" }
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
RSpec.shared_examples "should equal '令和01年07月02日'" do
|
13
|
+
context "with '%O%E年%m月%d日'" do
|
14
|
+
it { expect(subject.to_era("%O%E年%m月%d日")).to eq "令和01年07月02日" }
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
RSpec.shared_examples "should equal 'R01.05.01'" do
|
19
|
+
it { expect(subject.to_era).to eq "R01.05.01" }
|
20
|
+
|
21
|
+
context "with '%o%E.%m.%d'" do
|
22
|
+
it { expect(subject.to_era("%o%E.%m.%d")).to eq "R01.05.01" }
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
RSpec.shared_examples "should equal '令和01年05月01日'" do
|
27
|
+
context "with '%O%E年%m月%d日'" do
|
28
|
+
it { expect(subject.to_era("%O%E年%m月%d日")).to eq "令和01年05月01日" }
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
RSpec.shared_examples "should equal '平成三十一年四月三十日'" do
|
33
|
+
context "with '%O%JE年%Jm月%Jd日'" do
|
34
|
+
it { expect(subject.to_era("%O%JE年%Jm月%Jd日")).to eq "平成三十一年四月三十日" }
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
RSpec.shared_examples "should equal '二千十九年四月三十日'" do
|
39
|
+
context "with '%JY年%Jm月%Jd日'" do
|
40
|
+
it { expect(subject.to_era("%JY年%Jm月%Jd日")).to eq "二千十九年四月三十日" }
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
4
44
|
RSpec.shared_examples "should equal 'H24.04.29'" do
|
5
45
|
it { expect(subject.to_era).to eq "H24.04.29" }
|
6
46
|
|
@@ -172,6 +212,21 @@ RSpec.shared_examples "should raise error" do
|
|
172
212
|
it { expect {subject.to_era}.to raise_error(RuntimeError, EraJa::Conversion::ERR_DATE_OUT_OF_RANGE) }
|
173
213
|
end
|
174
214
|
|
215
|
+
RSpec.shared_examples "2019,7,2" do
|
216
|
+
include_examples "should equal 'R01.07.02'"
|
217
|
+
include_examples "should equal '令和01年07月02日'"
|
218
|
+
end
|
219
|
+
|
220
|
+
RSpec.shared_examples "2019,5,1" do
|
221
|
+
include_examples "should equal 'R01.05.01'"
|
222
|
+
include_examples "should equal '令和01年05月01日'"
|
223
|
+
end
|
224
|
+
|
225
|
+
RSpec.shared_examples "2019,4,30" do
|
226
|
+
include_examples "should equal '平成三十一年四月三十日'"
|
227
|
+
include_examples "should equal '二千十九年四月三十日'"
|
228
|
+
end
|
229
|
+
|
175
230
|
RSpec.shared_examples "2012,4,29" do
|
176
231
|
include_examples "should equal 'H24.04.29'"
|
177
232
|
include_examples "should equal 'h24.04.29'"
|
data/spec/time_spec.rb
CHANGED
@@ -5,6 +5,21 @@ require File.expand_path('spec_helper', File.dirname(__FILE__))
|
|
5
5
|
RSpec.describe Time do
|
6
6
|
describe "#to_era" do
|
7
7
|
|
8
|
+
context 'time is 2019,7,2' do
|
9
|
+
subject { Time.mktime(2019,7,2) }
|
10
|
+
include_examples "2019,7,2"
|
11
|
+
end
|
12
|
+
|
13
|
+
context 'time is 2019,5,1' do
|
14
|
+
subject { Time.mktime(2019,5,1) }
|
15
|
+
include_examples "2019,5,1"
|
16
|
+
end
|
17
|
+
|
18
|
+
context 'time is 2019,4,30' do
|
19
|
+
subject { Time.mktime(2019,4,30) }
|
20
|
+
include_examples "2019,4,30"
|
21
|
+
end
|
22
|
+
|
8
23
|
context "time is 2012,4,29" do
|
9
24
|
subject { Time.mktime(2012,4,29) }
|
10
25
|
include_examples "2012,4,29"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: era_ja
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- tomi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-04-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -139,8 +139,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
139
139
|
- !ruby/object:Gem::Version
|
140
140
|
version: '0'
|
141
141
|
requirements: []
|
142
|
-
|
143
|
-
rubygems_version: 2.4.5.1
|
142
|
+
rubygems_version: 3.0.3
|
144
143
|
signing_key:
|
145
144
|
specification_version: 4
|
146
145
|
summary: Convert Date or Time instance to String of Japanese era.
|