wareki 0.1.3 → 0.1.4
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/ChangeLog +5 -0
- data/lib/wareki/common.rb +2 -1
- data/lib/wareki/date.rb +7 -5
- data/lib/wareki/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9b36739d46cbd6fd70410c22e27494c22d4bb895
|
4
|
+
data.tar.gz: cff175bc8ba633cb0521eb0d2e330be0f7568c09
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d388a21610e1f9be78807c87898d4c9b6df93302f6d8b97a7590e35b81903d2c6a69dde21aacead7d3384622f8c84cdd55ddd96cad850c6a8fe7e2ffde2075ed
|
7
|
+
data.tar.gz: 3091f85bde645d4d34ba827bd8e94e3bf4e332dbdf265c9ab6702414746a283e029bc06c4e75da871b37fa82373b5fb0506e278af9f5b2f23c34c0300acc769a
|
data/ChangeLog
CHANGED
data/lib/wareki/common.rb
CHANGED
@@ -11,6 +11,7 @@ module Wareki
|
|
11
11
|
YEAR_BY_NUM = Hash[*YEAR_DEFS.map{|y| [y.year, y]}.flatten].freeze
|
12
12
|
ERA_BY_NAME = Hash[*(ERA_NORTH_DEFS + ERA_DEFS).map {|g| [g.name, g]}.flatten]
|
13
13
|
ERA_BY_NAME['皇紀'] = ERA_BY_NAME['神武天皇即位紀元'] = Era.new('皇紀', -660, 1480041, DATE_INFINITY.jd)
|
14
|
+
ERA_BY_NAME['西暦'] = ERA_BY_NAME[''] = Era.new('西暦', 1, 1721424, DATE_INFINITY.jd)
|
14
15
|
ERA_BY_NAME.keys.each do |era_name|
|
15
16
|
alt_era_name = era_name.tr("宝霊神応暦祥寿斎観寛徳禄万福禎国亀", "寳靈神應曆祥壽斉觀寬德祿萬福禎國龜")
|
16
17
|
alt_era_name == era_name and next
|
@@ -20,7 +21,7 @@ module Wareki
|
|
20
21
|
NUM_CHARS = "零〇一二三四五六七八九十卄廿卅丗卌肆百皕千万億兆01234567890123456789"
|
21
22
|
ALT_MONTH_NAME = %w(睦月 如月 弥生 卯月 皐月 水無月 文月 葉月 長月 神無月 霜月 師走).freeze
|
22
23
|
REGEX = %r{^
|
23
|
-
(?<era_name
|
24
|
+
(?<era_name>西暦|紀元前|#{ERA_BY_NAME.keys.join('|')})?
|
24
25
|
(?:(?<year>[元#{NUM_CHARS}]+)年)?
|
25
26
|
(?:(?<is_leap>閏|潤|うるう)?
|
26
27
|
(?:(?<month>[正#{NUM_CHARS}]+)月 |
|
data/lib/wareki/date.rb
CHANGED
@@ -18,7 +18,7 @@ module Wareki
|
|
18
18
|
month = 1
|
19
19
|
day = 1
|
20
20
|
|
21
|
-
if era.to_s != "" && !ERA_BY_NAME[era]
|
21
|
+
if era.to_s != "" && era.to_s != "紀元前" && !ERA_BY_NAME[era]
|
22
22
|
raise ArgumentError, "Date parse failed: Invalid era name '#{match[:era_name]}'"
|
23
23
|
end
|
24
24
|
|
@@ -73,7 +73,7 @@ module Wareki
|
|
73
73
|
end
|
74
74
|
|
75
75
|
def initialize(era_name, era_year, month = 1, day = 1, is_leap_month = false)
|
76
|
-
if era_name.to_s != "" && era_name != "
|
76
|
+
if era_name.to_s != "" && era_name != "紀元前" && !ERA_BY_NAME[era_name]
|
77
77
|
raise ArgumentError, "Undefined era '#{era_name}'"
|
78
78
|
end
|
79
79
|
@month = month
|
@@ -81,10 +81,12 @@ module Wareki
|
|
81
81
|
@is_leap_month = is_leap_month
|
82
82
|
@era_name = era_name
|
83
83
|
@era_year = era_year
|
84
|
-
if era_name.to_s == ""
|
84
|
+
if era_name.to_s == "" || era_name == "西暦"
|
85
85
|
@year = @era_year
|
86
86
|
elsif era_name == "皇紀" || era_name == "神武天皇即位紀元"
|
87
87
|
@year = era_year + IMPERIAL_START_YEAR
|
88
|
+
elsif era_name.to_s == "紀元前"
|
89
|
+
@year = -@era_year
|
88
90
|
else
|
89
91
|
@year = ERA_BY_NAME[era_name].year + era_year - 1
|
90
92
|
end
|
@@ -111,7 +113,7 @@ module Wareki
|
|
111
113
|
end
|
112
114
|
|
113
115
|
def month_index
|
114
|
-
if @era_name == "西暦" || @year >= GREGORIAN_START_YEAR
|
116
|
+
if @era_name == "" || @era_name == "西暦" || @era_name == "紀元前" || @year >= GREGORIAN_START_YEAR
|
115
117
|
return month -1
|
116
118
|
end
|
117
119
|
|
@@ -127,7 +129,7 @@ module Wareki
|
|
127
129
|
def jd
|
128
130
|
@jd and return @jd
|
129
131
|
|
130
|
-
if @era_name == "西暦"
|
132
|
+
if @era_name == "西暦" || @era_name == "" || @era_name == "紀元前"
|
131
133
|
return @jd = ::Date.new(@year, month, day, ::Date::ITALY).jd
|
132
134
|
elsif @year >= GREGORIAN_START_YEAR
|
133
135
|
return @jd = ::Date.new(@year, month, day, ::Date::GREGORIAN).jd
|
data/lib/wareki/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wareki
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tatsuki Sugiura
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-06-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -91,7 +91,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
91
91
|
version: '0'
|
92
92
|
requirements: []
|
93
93
|
rubyforge_project:
|
94
|
-
rubygems_version: 2.
|
94
|
+
rubygems_version: 2.2.2
|
95
95
|
signing_key:
|
96
96
|
specification_version: 4
|
97
97
|
summary: Pure ruby library of Wareki (Japanese calendar date)
|