wareki 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- 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)
|