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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7235f35a33ef41c4c321e5b1c6474b366dc52523
4
- data.tar.gz: cd51c67628ce7ea70154a706ee263a8cee09f036
3
+ metadata.gz: 0650c87bea53ac73b1402704ad3bc93ab5511dde
4
+ data.tar.gz: c164c4e3ccde9b0cb5738c20c9ff81844def9192
5
5
  SHA512:
6
- metadata.gz: 794471013ddaa254b4198254655b931af967262bd89cab8c72d7578f6d06acbac4cda960e64462665635fe5e76848a16acec09f99a426e6fac13e53245ac629b
7
- data.tar.gz: 02ac427351b1556ec49ed032e392be247819a38d3176b0ef16d7c5b024ff17936557007b61d422f06bc2342dfd514e20d697b64ff6b9ed4ddc01610c21913db8
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
- * RubyGems によるインストール
16
+ * RubyGems によるインストール
17
+ ```
18
+ gem install holiday_japan
19
+ ```
14
20
 
15
- gem install holiday_japan
21
+ * または、[holiday_japan.rb](https://github.com/masa16/holiday_japan/blob/master/lib/holiday_japan.rb)
22
+ のスクリプトファイルを ruby のライブラリパスに置く
16
23
 
17
- * または、[holiday_japan.rb](https://github.com/masa16/holiday_japan/blob/master/lib/holiday_japan.rb)
18
- のスクリプトファイルを ruby のライブラリパスに置く
24
+ ## 使い方
19
25
 
20
- ## プログラムの読み込み
21
- * 自分のスクリプトの先頭に次のように書いて、 holiday_japan.rb をロードする
26
+ * holiday_japan.rb をロードする
22
27
 
23
- require 'holiday_japan'
28
+ ```ruby
29
+ require 'holiday_japan'
30
+ ```
24
31
 
25
- ## module HolidayJapan
26
- #### モジュール関数
32
+ ### HolidayJapan モジュール関数
27
33
 
28
34
  * `check(date)` ― Dateクラスのオブジェクトによる祝日判定
29
-
30
- if HolidayJapan.check(Date.today)
31
- ...
35
+ ```ruby
36
+ HolidayJapan.check(Date.new(2015,3,21))
37
+ => true
38
+ ```
32
39
 
33
40
  * `name(date)` ― 日付が祝日の場合は祝日名を返し、祝日でなければ nil を返す。
34
-
35
- name = HolidayJapan.name(Date.new(2007,3,22))
41
+ ```ruby
42
+ HolidayJapan.name(Date.new(2015,3,21))
43
+ => "春分の日"
44
+ ```
36
45
 
37
46
  * `list_year(year)` ― ある年について、 [日付, 祝日名] のArrayを返す
38
47
 
39
- list = HolidayJapan.list_year(2007)
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
- list = HolidayJapan.hash_year(2007)
44
-
45
- * `between(from_date,to_date)` ― from_date から to_date までの祝日について、
46
- {日付=>祝日名}のHashを返す
47
-
48
- hash = HolidayJapan.hash_between(Date.new(2014,7,1),Date.new(2015,6,30))
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
- HolidayJapan.print_year(2007)
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
 
@@ -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 = "https://github.com/masa16/holiday_japan"
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.0"
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 = 1.0/0.0
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.0
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: 2015-04-11 00:00:00.000000000 Z
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: https://github.com/masa16/holiday_japan
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.4.5
47
+ rubygems_version: 2.5.1
48
48
  signing_key:
49
49
  specification_version: 4
50
50
  summary: Calculate National Holidays of Japan