holiday_jp 0.7.1 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +31 -0
- data/README.md +22 -2
- data/holiday_jp.gemspec +1 -1
- data/holidays.yml +10 -8
- data/lib/holiday_jp/holidays.rb +2 -2
- data/lib/holiday_jp/version.rb +1 -1
- data/test/test_holiday_jp.rb +30 -6
- data/test/test_holiday_jp_yaml.rb +5 -1
- metadata +8 -9
- data/.travis.yml +0 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 32d70e14a9053f50182b13a99e481431fd9180fb28b02fcd0ba042959fbb1819
|
4
|
+
data.tar.gz: 60d36bf1854b72e50e32fb1c61f71c5d23925f96bfbc81184c5c86b363190a2c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 032dbec25f732d8b880406cfb52c343ced173c0205e57c69d179c5be9e1b8af68b68c30b48ddab86b4585070b035047d63dcd446e3fe4ae492dcc414d5a9b879
|
7
|
+
data.tar.gz: 792dcf1441024706b7c41b879d1679d7e9b7bb2f7665ec477e44287da5698ed6af5adc1664b97085906a7687a55c90f2bb54fb2db14cd06932da2b670a236cbd
|
@@ -0,0 +1,31 @@
|
|
1
|
+
---
|
2
|
+
name: test
|
3
|
+
|
4
|
+
on:
|
5
|
+
push:
|
6
|
+
schedule:
|
7
|
+
- cron: '0 1 * * *'
|
8
|
+
|
9
|
+
jobs:
|
10
|
+
job-test:
|
11
|
+
name: Test
|
12
|
+
runs-on: ubuntu-latest
|
13
|
+
strategy:
|
14
|
+
matrix:
|
15
|
+
ruby-version: [ '2.4', '2.5', '2.6', '2.7' ]
|
16
|
+
steps:
|
17
|
+
- uses: actions/setup-ruby@v1
|
18
|
+
with:
|
19
|
+
ruby-version: ${{ matrix.ruby-version }}
|
20
|
+
|
21
|
+
- name: Check out source code
|
22
|
+
uses: actions/checkout@v2
|
23
|
+
|
24
|
+
- name: Setup
|
25
|
+
run: |
|
26
|
+
git submodule update --init
|
27
|
+
gem install bundler -v '~> 1.6'
|
28
|
+
bundle install
|
29
|
+
|
30
|
+
- name: Run test
|
31
|
+
run: bundle exec rake test
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# holiday_jp [![
|
1
|
+
# holiday_jp [![test](https://github.com/holiday-jp/holiday_jp-ruby/workflows/test/badge.svg)](https://github.com/holiday-jp/holiday_jp-ruby/actions)
|
2
2
|
|
3
3
|
Get holidays in Japan.
|
4
4
|
|
@@ -13,8 +13,28 @@ HolidayJp.holiday?(Date.new(2016, 8 ,11)) # true
|
|
13
13
|
## Supported Ruby Version
|
14
14
|
Ruby 1.9.3+
|
15
15
|
|
16
|
+
## Installation
|
17
|
+
|
18
|
+
Add this line to your application's Gemfile:
|
19
|
+
|
20
|
+
```ruby
|
21
|
+
gem 'holiday_jp'
|
22
|
+
```
|
23
|
+
|
24
|
+
And then execute:
|
25
|
+
|
26
|
+
```sh
|
27
|
+
$ bundle
|
28
|
+
```
|
29
|
+
|
30
|
+
Or install it yourself as:
|
31
|
+
|
32
|
+
```sh
|
33
|
+
$ gem install holiday_jp
|
34
|
+
```
|
35
|
+
|
16
36
|
## Note on Patches/Pull Requests
|
17
|
-
|
37
|
+
|
18
38
|
* Fork the project.
|
19
39
|
* Make your feature addition or bug fix.
|
20
40
|
* Add tests for it. This is important so I don't break it in a
|
data/holiday_jp.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
|
19
19
|
s.require_paths = ['lib']
|
20
20
|
|
21
|
-
s.add_development_dependency 'bundler', '
|
21
|
+
s.add_development_dependency 'bundler', '< 3.0'
|
22
22
|
s.add_development_dependency 'rake'
|
23
23
|
s.add_development_dependency 'test-unit', '3.0.9'
|
24
24
|
end
|
data/holidays.yml
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
---
|
1
2
|
1970-01-01: 元日
|
2
3
|
1970-01-15: 成人の日
|
3
4
|
1970-02-11: 建国記念の日
|
@@ -257,7 +258,7 @@
|
|
257
258
|
1989-01-15: 成人の日
|
258
259
|
1989-01-16: 振替休日
|
259
260
|
1989-02-11: 建国記念の日
|
260
|
-
1989-02-24:
|
261
|
+
1989-02-24: 大喪の礼
|
261
262
|
1989-03-21: 春分の日
|
262
263
|
1989-04-29: みどりの日
|
263
264
|
1989-05-03: 憲法記念日
|
@@ -327,7 +328,7 @@
|
|
327
328
|
1993-05-03: 憲法記念日
|
328
329
|
1993-05-04: 国民の休日
|
329
330
|
1993-05-05: こどもの日
|
330
|
-
1993-06-09:
|
331
|
+
1993-06-09: 結婚の儀
|
331
332
|
1993-09-15: 敬老の日
|
332
333
|
1993-09-23: 秋分の日
|
333
334
|
1993-10-10: 体育の日
|
@@ -758,9 +759,9 @@
|
|
758
759
|
2019-02-11: 建国記念の日
|
759
760
|
2019-03-21: 春分の日
|
760
761
|
2019-04-29: 昭和の日
|
761
|
-
2019-04-30:
|
762
|
+
2019-04-30: 国民の休日
|
762
763
|
2019-05-01: 休日(祝日扱い)
|
763
|
-
2019-05-02:
|
764
|
+
2019-05-02: 国民の休日
|
764
765
|
2019-05-03: 憲法記念日
|
765
766
|
2019-05-04: みどりの日
|
766
767
|
2019-05-05: こどもの日
|
@@ -770,7 +771,7 @@
|
|
770
771
|
2019-08-12: 振替休日
|
771
772
|
2019-09-16: 敬老の日
|
772
773
|
2019-09-23: 秋分の日
|
773
|
-
2019-10-14:
|
774
|
+
2019-10-14: 体育の日(スポーツの日)
|
774
775
|
2019-10-22: 休日(祝日扱い)
|
775
776
|
2019-11-03: 文化の日
|
776
777
|
2019-11-04: 振替休日
|
@@ -802,11 +803,12 @@
|
|
802
803
|
2021-05-03: 憲法記念日
|
803
804
|
2021-05-04: みどりの日
|
804
805
|
2021-05-05: こどもの日
|
805
|
-
2021-07-
|
806
|
-
2021-
|
806
|
+
2021-07-22: 海の日
|
807
|
+
2021-07-23: スポーツの日
|
808
|
+
2021-08-08: 山の日
|
809
|
+
2021-08-09: 振替休日
|
807
810
|
2021-09-20: 敬老の日
|
808
811
|
2021-09-23: 秋分の日
|
809
|
-
2021-10-11: スポーツの日
|
810
812
|
2021-11-03: 文化の日
|
811
813
|
2021-11-23: 勤労感謝の日
|
812
814
|
2022-01-01: 元日
|
data/lib/holiday_jp/holidays.rb
CHANGED
@@ -14,12 +14,12 @@ module HolidayJp
|
|
14
14
|
|
15
15
|
def between(start, last)
|
16
16
|
holidays.find_all do |date, _holiday|
|
17
|
-
start <= date && date <= last
|
17
|
+
start.to_date <= date && date <= last.to_date
|
18
18
|
end.map(&:last)
|
19
19
|
end
|
20
20
|
|
21
21
|
def holiday?(date)
|
22
|
-
holidays
|
22
|
+
holidays.has_key?(date.to_date)
|
23
23
|
end
|
24
24
|
end
|
25
25
|
end
|
data/lib/holiday_jp/version.rb
CHANGED
data/test/test_holiday_jp.rb
CHANGED
@@ -19,22 +19,46 @@ class TestHolidayJp < Test::Unit::TestCase
|
|
19
19
|
assert_equal holidays[2].date, Date.new(2009, 1, 12)
|
20
20
|
end
|
21
21
|
|
22
|
+
def test_between_accepts_datetime
|
23
|
+
holidays = HolidayJp.between(DateTime.new(2008, 12, 23), DateTime.new(2009, 1, 12))
|
24
|
+
assert_equal holidays[0].date, Date.new(2008, 12, 23)
|
25
|
+
assert_equal holidays[1].date, Date.new(2009, 1, 1)
|
26
|
+
assert_equal holidays[2].date, Date.new(2009, 1, 12)
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_between_accepts_time
|
30
|
+
holidays = HolidayJp.between(Time.new(2008, 12, 23), Time.new(2009, 1, 12))
|
31
|
+
assert_equal holidays[0].date, Date.new(2008, 12, 23)
|
32
|
+
assert_equal holidays[1].date, Date.new(2009, 1, 1)
|
33
|
+
assert_equal holidays[2].date, Date.new(2009, 1, 12)
|
34
|
+
end
|
35
|
+
|
22
36
|
def test_holiday?
|
23
|
-
|
24
|
-
|
37
|
+
assert_true HolidayJp.holiday?(Date.new(2011, 9, 19))
|
38
|
+
assert_false HolidayJp.holiday?(Date.new(2011, 9, 18))
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_holiday_p_accepts_datetime
|
42
|
+
assert_true HolidayJp.holiday?(DateTime.new(2011, 9, 19))
|
43
|
+
assert_false HolidayJp.holiday?(DateTime.new(2011, 9, 18))
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_holiday_p_accepts_time
|
47
|
+
assert_true HolidayJp.holiday?(Time.new(2011, 9, 19))
|
48
|
+
assert_false HolidayJp.holiday?(Time.new(2011, 9, 18))
|
25
49
|
end
|
26
50
|
|
27
51
|
def test_mountain_day_from_2016
|
28
|
-
|
52
|
+
assert_false HolidayJp.holiday?(Date.new(2015, 8, 11))
|
29
53
|
(2016..2050).each do |year|
|
30
|
-
next if year == 2020 # Tokyo Olympic year
|
31
|
-
|
54
|
+
next if year == 2020 || year == 2021 # Tokyo Olympic year
|
55
|
+
assert_true HolidayJp.holiday?(Date.new(year, 8, 11))
|
32
56
|
end
|
33
57
|
end
|
34
58
|
|
35
59
|
def test_emperors_birthday
|
36
60
|
1970.upto(1988) do |year|
|
37
|
-
|
61
|
+
assert_true HolidayJp.holiday?(Date.new(year, 4, 29))
|
38
62
|
end
|
39
63
|
|
40
64
|
1989.upto(2018) do |year|
|
@@ -1,11 +1,15 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
require 'test/unit'
|
3
|
+
require 'net/http'
|
3
4
|
require 'yaml'
|
4
5
|
|
5
6
|
class TestHolidayJpYaml < Test::Unit::TestCase
|
6
7
|
def test_yaml
|
7
8
|
yaml = YAML.load_file(File.expand_path('../../holidays.yml', __FILE__))
|
8
|
-
|
9
|
+
uri = URI.parse('https://raw.githubusercontent.com/holiday-jp/holiday_jp/v0.x/holidays.yml')
|
10
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
11
|
+
http.use_ssl = true
|
12
|
+
holiday_jp_yaml = YAML.load(http.get(uri.request_uri).body)
|
9
13
|
yaml.map do |date, name|
|
10
14
|
assert_equal holiday_jp_yaml[date], name
|
11
15
|
end
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: holiday_jp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Masaki Komagata
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-12-09 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
|
-
version: '
|
19
|
+
version: '3.0'
|
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
|
-
version: '
|
26
|
+
version: '3.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -61,9 +61,9 @@ extra_rdoc_files: []
|
|
61
61
|
files:
|
62
62
|
- ".document"
|
63
63
|
- ".gemtest"
|
64
|
+
- ".github/workflows/ci.yml"
|
64
65
|
- ".gitignore"
|
65
66
|
- ".gitmodules"
|
66
|
-
- ".travis.yml"
|
67
67
|
- CHANGELOG.md
|
68
68
|
- Gemfile
|
69
69
|
- LICENSE
|
@@ -96,8 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
96
96
|
- !ruby/object:Gem::Version
|
97
97
|
version: '0'
|
98
98
|
requirements: []
|
99
|
-
|
100
|
-
rubygems_version: 2.7.6
|
99
|
+
rubygems_version: 3.0.3
|
101
100
|
signing_key:
|
102
101
|
specification_version: 4
|
103
102
|
summary: Japanese Holidays.
|