holiday_japan 1.2.0 → 1.2.1
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/README.md +110 -23
- data/holiday_japan.gemspec +1 -1
- data/lib/holiday_japan.rb +6 -2
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0650c87bea53ac73b1402704ad3bc93ab5511dde
|
|
4
|
+
data.tar.gz: c164c4e3ccde9b0cb5738c20c9ff81844def9192
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 83ea48c7cc1bee4269902620886b8abd0d55668c03018ee08f2d1ec6ca829052989fec0f32de6efcc65e2920020d25177de8eaf33fa86c6b7c19824ba87be9cc
|
|
7
|
+
data.tar.gz: 8367d3a87e32f85f1dff35b819df907e0bcae539d3112867eff64bbe98704b2cea3a224f32251db72658c4f0447a0b802ec1e4718ef31d54fed0130217234e54
|
data/README.md
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
# 日本の祝日判定Rubyプログラム
|
|
2
2
|
|
|
3
|
+
([GitHub](https://github.com/masa16/holiday_japan)),
|
|
4
|
+
([RubyGems](https://rubygems.org/gems/holiday_japan))
|
|
5
|
+
|
|
3
6
|
## 特徴
|
|
4
|
-
* 1948年7月20
|
|
7
|
+
* 1948年7月20日以降の日本の国民の祝日、振替休日、および国民の休日を計算して判定する
|
|
5
8
|
|
|
6
9
|
(date2 の holiday.rb と比較して)
|
|
7
10
|
* 祝日をキャッシュすることにより、大量の日付について祝日判定する場合でも高速に動作
|
|
@@ -10,46 +13,130 @@
|
|
|
10
13
|
|
|
11
14
|
## インストール
|
|
12
15
|
|
|
13
|
-
|
|
16
|
+
* RubyGems によるインストール
|
|
17
|
+
```
|
|
18
|
+
gem install holiday_japan
|
|
19
|
+
```
|
|
14
20
|
|
|
15
|
-
|
|
21
|
+
* または、[holiday_japan.rb](https://github.com/masa16/holiday_japan/blob/master/lib/holiday_japan.rb)
|
|
22
|
+
のスクリプトファイルを ruby のライブラリパスに置く
|
|
16
23
|
|
|
17
|
-
|
|
18
|
-
のスクリプトファイルを ruby のライブラリパスに置く
|
|
24
|
+
## 使い方
|
|
19
25
|
|
|
20
|
-
|
|
21
|
-
* 自分のスクリプトの先頭に次のように書いて、 holiday_japan.rb をロードする
|
|
26
|
+
* holiday_japan.rb をロードする
|
|
22
27
|
|
|
23
|
-
|
|
28
|
+
```ruby
|
|
29
|
+
require 'holiday_japan'
|
|
30
|
+
```
|
|
24
31
|
|
|
25
|
-
|
|
26
|
-
#### モジュール関数
|
|
32
|
+
### HolidayJapan モジュール関数
|
|
27
33
|
|
|
28
34
|
* `check(date)` ― Dateクラスのオブジェクトによる祝日判定
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
35
|
+
```ruby
|
|
36
|
+
HolidayJapan.check(Date.new(2015,3,21))
|
|
37
|
+
=> true
|
|
38
|
+
```
|
|
32
39
|
|
|
33
40
|
* `name(date)` ― 日付が祝日の場合は祝日名を返し、祝日でなければ nil を返す。
|
|
34
|
-
|
|
35
|
-
|
|
41
|
+
```ruby
|
|
42
|
+
HolidayJapan.name(Date.new(2015,3,21))
|
|
43
|
+
=> "春分の日"
|
|
44
|
+
```
|
|
36
45
|
|
|
37
46
|
* `list_year(year)` ― ある年について、 [日付, 祝日名] のArrayを返す
|
|
38
47
|
|
|
39
|
-
|
|
48
|
+
```ruby
|
|
49
|
+
HolidayJapan.list_year(2015)
|
|
50
|
+
=> [[#<Date: 2015-01-01>, "元日"],
|
|
51
|
+
[#<Date: 2015-01-12>, "成人の日"],
|
|
52
|
+
[#<Date: 2015-02-11>, "建国記念の日"],
|
|
53
|
+
[#<Date: 2015-03-21>, "春分の日"],
|
|
54
|
+
[#<Date: 2015-04-29>, "昭和の日"],
|
|
55
|
+
[#<Date: 2015-05-03>, "憲法記念日"],
|
|
56
|
+
[#<Date: 2015-05-04>, "みどりの日"],
|
|
57
|
+
[#<Date: 2015-05-05>, "こどもの日"],
|
|
58
|
+
[#<Date: 2015-05-06>, "振替休日"],
|
|
59
|
+
[#<Date: 2015-07-20>, "海の日"],
|
|
60
|
+
[#<Date: 2015-09-21>, "敬老の日"],
|
|
61
|
+
[#<Date: 2015-09-22>, "国民の休日"],
|
|
62
|
+
[#<Date: 2015-09-23>, "秋分の日"],
|
|
63
|
+
[#<Date: 2015-10-12>, "体育の日"],
|
|
64
|
+
[#<Date: 2015-11-03>, "文化の日"],
|
|
65
|
+
[#<Date: 2015-11-23>, "勤労感謝の日"],
|
|
66
|
+
[#<Date: 2015-12-23>, "天皇誕生日"]]
|
|
67
|
+
```
|
|
40
68
|
|
|
41
69
|
* `hash_year(year)` ― ある年について、 {日付=>祝日名} のHashを返す
|
|
42
70
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
71
|
+
```ruby
|
|
72
|
+
HolidayJapan.hash_year(2015)
|
|
73
|
+
=> {#<Date: 2015-01-01>=>"元日",
|
|
74
|
+
#<Date: 2015-01-12>=>"成人の日",
|
|
75
|
+
#<Date: 2015-02-11>=>"建国記念の日",
|
|
76
|
+
#<Date: 2015-04-29>=>"昭和の日",
|
|
77
|
+
#<Date: 2015-05-03>=>"憲法記念日",
|
|
78
|
+
#<Date: 2015-05-04>=>"みどりの日",
|
|
79
|
+
#<Date: 2015-05-05>=>"こどもの日",
|
|
80
|
+
#<Date: 2015-07-20>=>"海の日",
|
|
81
|
+
#<Date: 2015-09-21>=>"敬老の日",
|
|
82
|
+
#<Date: 2015-10-12>=>"体育の日",
|
|
83
|
+
#<Date: 2015-11-03>=>"文化の日",
|
|
84
|
+
#<Date: 2015-11-23>=>"勤労感謝の日",
|
|
85
|
+
#<Date: 2015-12-23>=>"天皇誕生日",
|
|
86
|
+
#<Date: 2015-03-21>=>"春分の日",
|
|
87
|
+
#<Date: 2015-09-23>=>"秋分の日",
|
|
88
|
+
#<Date: 2015-05-06>=>"振替休日",
|
|
89
|
+
#<Date: 2015-09-22>=>"国民の休日"}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
* `between(from_date,to_date)` ― from_date から to_date までの祝日について、{日付=>祝日名}のHashを返す
|
|
93
|
+
|
|
94
|
+
```ruby
|
|
95
|
+
HolidayJapan.between(Date.new(2014,7,1),Date.new(2015,6,30))
|
|
96
|
+
=> {#<Date: 2014-07-21>=>"海の日",
|
|
97
|
+
#<Date: 2014-09-15>=>"敬老の日",
|
|
98
|
+
#<Date: 2014-10-13>=>"体育の日",
|
|
99
|
+
#<Date: 2014-11-03>=>"文化の日",
|
|
100
|
+
#<Date: 2014-11-23>=>"勤労感謝の日",
|
|
101
|
+
#<Date: 2014-12-23>=>"天皇誕生日",
|
|
102
|
+
#<Date: 2014-09-23>=>"秋分の日",
|
|
103
|
+
#<Date: 2014-11-24>=>"振替休日",
|
|
104
|
+
#<Date: 2015-01-01>=>"元日",
|
|
105
|
+
#<Date: 2015-01-12>=>"成人の日",
|
|
106
|
+
#<Date: 2015-02-11>=>"建国記念の日",
|
|
107
|
+
#<Date: 2015-04-29>=>"昭和の日",
|
|
108
|
+
#<Date: 2015-05-03>=>"憲法記念日",
|
|
109
|
+
#<Date: 2015-05-04>=>"みどりの日",
|
|
110
|
+
#<Date: 2015-05-05>=>"こどもの日",
|
|
111
|
+
#<Date: 2015-03-21>=>"春分の日",
|
|
112
|
+
#<Date: 2015-05-06>=>"振替休日"}
|
|
113
|
+
```
|
|
49
114
|
|
|
50
115
|
* `print_year(year)` ― ある年の祝日一覧をプリント
|
|
51
116
|
|
|
52
|
-
|
|
117
|
+
```ruby
|
|
118
|
+
HolidayJapan.print_year(2015)
|
|
119
|
+
```
|
|
120
|
+
```
|
|
121
|
+
listing year 2015...
|
|
122
|
+
2015-01-01 Thu 元日
|
|
123
|
+
2015-01-12 Mon 成人の日
|
|
124
|
+
2015-02-11 Wed 建国記念の日
|
|
125
|
+
2015-03-21 Sat 春分の日
|
|
126
|
+
2015-04-29 Wed 昭和の日
|
|
127
|
+
2015-05-03 Sun 憲法記念日
|
|
128
|
+
2015-05-04 Mon みどりの日
|
|
129
|
+
2015-05-05 Tue こどもの日
|
|
130
|
+
2015-05-06 Wed 振替休日
|
|
131
|
+
2015-07-20 Mon 海の日
|
|
132
|
+
2015-09-21 Mon 敬老の日
|
|
133
|
+
2015-09-22 Tue 国民の休日
|
|
134
|
+
2015-09-23 Wed 秋分の日
|
|
135
|
+
2015-10-12 Mon 体育の日
|
|
136
|
+
2015-11-03 Tue 文化の日
|
|
137
|
+
2015-11-23 Mon 勤労感謝の日
|
|
138
|
+
2015-12-23 Wed 天皇誕生日
|
|
139
|
+
```
|
|
53
140
|
|
|
54
141
|
## コマンドラインから祝日一覧を表示
|
|
55
142
|
|
data/holiday_japan.gemspec
CHANGED
|
@@ -10,7 +10,7 @@ Gem::Specification.new do |gem|
|
|
|
10
10
|
gem.email = ["masa16.tanaka@gmail.com"]
|
|
11
11
|
gem.description = %q{Calculate National Holidays of Japan}
|
|
12
12
|
gem.summary = %q{Calculate National Holidays of Japan}
|
|
13
|
-
gem.homepage = "
|
|
13
|
+
gem.homepage = "http://masa16.github.io/holiday_japan/"
|
|
14
14
|
gem.license = "MIT"
|
|
15
15
|
|
|
16
16
|
gem.files = `git ls-files`.split($/)
|
data/lib/holiday_japan.rb
CHANGED
|
@@ -6,14 +6,14 @@ require "date"
|
|
|
6
6
|
|
|
7
7
|
module HolidayJapan
|
|
8
8
|
|
|
9
|
-
VERSION = "1.2.
|
|
9
|
+
VERSION = "1.2.1"
|
|
10
10
|
|
|
11
11
|
WEEK1 = 1..7
|
|
12
12
|
WEEK2 = 8..14
|
|
13
13
|
WEEK3 = 15..21
|
|
14
14
|
WEEK4 = 22..28
|
|
15
15
|
SUN,MON,TUE,WED,THU,FRU,SAT = (0..6).to_a
|
|
16
|
-
INF =
|
|
16
|
+
INF = (defined? Float::INFINITYs) ? Float::INFINITY : 1e34
|
|
17
17
|
|
|
18
18
|
# 祝日データ: 1948年7月20日以降で有効
|
|
19
19
|
DATA = [
|
|
@@ -41,10 +41,14 @@ module HolidayJapan
|
|
|
41
41
|
proc{|y|Integer(20.8357+0.242194*(y-1980))-Integer((y-1983)/4.0)} ],
|
|
42
42
|
["春分の日", 1980..2099, 3,
|
|
43
43
|
proc{|y|Integer(20.8431+0.242194*(y-1980))-Integer((y-1980)/4.0)} ],
|
|
44
|
+
["春分の日", 2100..2150, 3,
|
|
45
|
+
proc{|y|Integer(21.8510+0.242194*(y-1980))-Integer((y-1980)/4.0)} ],
|
|
44
46
|
["秋分の日" , 1948..1979, 9,
|
|
45
47
|
proc{|y|Integer(23.2588+0.242194*(y-1980))-Integer((y-1983)/4.0)} ],
|
|
46
48
|
["秋分の日" , 1980..2099, 9,
|
|
47
49
|
proc{|y|Integer(23.2488+0.242194*(y-1980))-Integer((y-1980)/4.0)} ],
|
|
50
|
+
["秋分の日" , 2100..2150, 9,
|
|
51
|
+
proc{|y|Integer(24.2488+0.242194*(y-1980))-Integer((y-1980)/4.0)} ],
|
|
48
52
|
["皇太子明仁親王の結婚の儀", 1959..1959, 4, 10 ],
|
|
49
53
|
["昭和天皇の大喪の礼", 1989..1989, 2, 24 ],
|
|
50
54
|
["即位礼正殿の儀", 1990..1990, 11, 12 ],
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: holiday_japan
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.2.
|
|
4
|
+
version: 1.2.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Masahiro TANAKA
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2016-01-31 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: Calculate National Holidays of Japan
|
|
14
14
|
email:
|
|
@@ -24,7 +24,7 @@ files:
|
|
|
24
24
|
- Rakefile
|
|
25
25
|
- holiday_japan.gemspec
|
|
26
26
|
- lib/holiday_japan.rb
|
|
27
|
-
homepage:
|
|
27
|
+
homepage: http://masa16.github.io/holiday_japan/
|
|
28
28
|
licenses:
|
|
29
29
|
- MIT
|
|
30
30
|
metadata: {}
|
|
@@ -44,7 +44,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
44
44
|
version: '0'
|
|
45
45
|
requirements: []
|
|
46
46
|
rubyforge_project:
|
|
47
|
-
rubygems_version: 2.
|
|
47
|
+
rubygems_version: 2.5.1
|
|
48
48
|
signing_key:
|
|
49
49
|
specification_version: 4
|
|
50
50
|
summary: Calculate National Holidays of Japan
|