wareki 0.3.0 → 0.4.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/ChangeLog +6 -0
- data/README.rdoc +2 -2
- data/lib/wareki.rb +1 -0
- data/lib/wareki/calendar_def.rb +1 -0
- data/lib/wareki/common.rb +3 -1
- data/lib/wareki/date.rb +8 -2
- data/lib/wareki/era_def.rb +6 -2
- data/lib/wareki/kansuji.rb +2 -0
- data/lib/wareki/utils.rb +2 -0
- data/lib/wareki/version.rb +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 1b97e0db45629f26f18ac0248bf9607823d956157cd3d3fac9ae29df4192f7c1
|
4
|
+
data.tar.gz: dfe01af9cad263a2dc429e1b9f220d9a66c111ff030214aaae3e5ea1199bb858
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cbc653ad671c59142a02f83d972c75519ec0d63c8fb77f1179be4b2d27e938dd2a3341f2be35b2143f26ad524d542293c2379a70baebf5a79c7d4d132509d888
|
7
|
+
data.tar.gz: d9a1b4dd4ae9e882dd4a330a3c566da85b52988716ec481f4c906c364855f92cadebe3d4a8ca064689c0abfa4e8f48bc64e206ac9175c1d25366a1684c9aa686
|
data/ChangeLog
CHANGED
data/README.rdoc
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
= ruby 和暦ライブラリ
|
1
|
+
= wareki - ruby 和暦ライブラリ
|
2
2
|
|
3
3
|
{<img src="https://badge.fury.io/rb/wareki.svg" alt="Gem Version" />}[https://badge.fury.io/rb/wareki]
|
4
4
|
{<img src="https://travis-ci.org/sugi/wareki.svg?branch=master" alt="Build Status" />}[https://travis-ci.org/sugi/wareki]
|
@@ -15,7 +15,7 @@
|
|
15
15
|
|
16
16
|
* 和暦文字列のパース
|
17
17
|
* 旧字体、1文字元号のサポート (慶應、萬延、㍻ など)
|
18
|
-
*
|
18
|
+
* 全角数字、漢数字、全角ゼロ、大字のサポート (10月、十月、一〇月、拾月、什月)
|
19
19
|
* 閏月サポート
|
20
20
|
* 月の別名のサポート (如月、弥生、師走など)
|
21
21
|
* 元年、正月、朔日、晦日、廿一日、卅日 などの特殊な表記の日付サポート
|
data/lib/wareki.rb
CHANGED
data/lib/wareki/calendar_def.rb
CHANGED
data/lib/wareki/common.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'wareki/calendar_def'
|
2
4
|
require 'wareki/era_def'
|
3
5
|
require 'date'
|
@@ -29,7 +31,7 @@ module Wareki
|
|
29
31
|
(?:(?<is_leap>閏|潤|うるう)?
|
30
32
|
(?:(?<month>[正#{NUM_CHARS}]+)月 |
|
31
33
|
(?<alt_month>#{ALT_MONTH_NAME.join('|')})))?
|
32
|
-
(?:(?<day>[元朔晦#{NUM_CHARS}]+)
|
34
|
+
(?:(?<day>[元朔晦#{NUM_CHARS}]+)日|元旦)?
|
33
35
|
$}x.freeze
|
34
36
|
|
35
37
|
class UnsupportedDateRange < StandardError; end
|
data/lib/wareki/date.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'date'
|
2
4
|
require 'wareki/common'
|
3
5
|
require 'wareki/utils'
|
@@ -25,8 +27,12 @@ module Wareki
|
|
25
27
|
match = REGEX.match(str.to_s.gsub(/[[:space:]]/, '')) or
|
26
28
|
raise ArgumentError, "Invaild Date: #{str}"
|
27
29
|
era = match[:era_name]
|
28
|
-
(
|
29
|
-
|
30
|
+
if (era.nil? || era == '') && match[:year].nil?
|
31
|
+
year = Date.today.year
|
32
|
+
else
|
33
|
+
(year = Kansuji.k2i(match[:year])) > 0 or
|
34
|
+
raise ArgumentError, "Invalid year: #{str}"
|
35
|
+
end
|
30
36
|
month = day = 1
|
31
37
|
|
32
38
|
era.to_s != '' && era.to_s != '紀元前' && !ERA_BY_NAME[era] and
|
data/lib/wareki/era_def.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
# coding: utf-8
|
2
3
|
module Wareki
|
4
|
+
DAY_MAX = 1684383730585466947585
|
3
5
|
Era = Struct.new(:name, :year, :start, :end)
|
4
6
|
ERA_DEFS = [
|
5
7
|
Era.new("大化", 645, 1956842, 1958551),
|
@@ -248,7 +250,8 @@ module Wareki
|
|
248
250
|
Era.new("明治", 1868, 2403357, 2419613),
|
249
251
|
Era.new("大正", 1912, 2419614, 2424874),
|
250
252
|
Era.new("昭和", 1926, 2424875, 2447534),
|
251
|
-
Era.new("平成", 1989, 2447535,
|
253
|
+
Era.new("平成", 1989, 2447535, 2458604),
|
254
|
+
Era.new("令和", 2019, 2458605, DAY_MAX),
|
252
255
|
].freeze
|
253
256
|
ERA_NORTH_DEFS = [
|
254
257
|
Era.new("大化", 645, 1956842, 1958551),
|
@@ -497,6 +500,7 @@ module Wareki
|
|
497
500
|
Era.new("明治", 1868, 2403357, 2419613),
|
498
501
|
Era.new("大正", 1912, 2419614, 2424874),
|
499
502
|
Era.new("昭和", 1926, 2424875, 2447534),
|
500
|
-
Era.new("平成", 1989, 2447535,
|
503
|
+
Era.new("平成", 1989, 2447535, 2458604),
|
504
|
+
Era.new("令和", 2019, 2458605, DAY_MAX),
|
501
505
|
].freeze
|
502
506
|
end
|
data/lib/wareki/kansuji.rb
CHANGED
data/lib/wareki/utils.rb
CHANGED
data/lib/wareki/version.rb
CHANGED
metadata
CHANGED
@@ -1,41 +1,41 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wareki
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tatsuki Sugiura
|
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: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.9'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.9'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '10.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '10.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
@@ -93,7 +93,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
93
93
|
version: '0'
|
94
94
|
requirements: []
|
95
95
|
rubyforge_project:
|
96
|
-
rubygems_version: 2.
|
96
|
+
rubygems_version: 2.7.6.2
|
97
97
|
signing_key:
|
98
98
|
specification_version: 4
|
99
99
|
summary: Pure ruby library of Wareki (Japanese calendar date)
|