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