HappyFriday 0.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3e6b34ad2bc4b4378d098ca54f8fb49f0dc0e3ecd054e9b7d4d6dd88e1999ddd
4
- data.tar.gz: eec247a173b8213e97dfedc8dc97cff02614068f93086f11fa08a1fa16b7a4ab
3
+ metadata.gz: bae7fcd3f539194b5a234f341885ac99c674e742f74ffc1181127cc047f89b49
4
+ data.tar.gz: '08da745d2b4cdc3b21f0e7fd7a94957c6e805bb7a8b6690825fd7ea9ff0bf5e7'
5
5
  SHA512:
6
- metadata.gz: 7f2a6d82e73eecb60d00134f3b0d56a9ca8673c60103eb92a37349c95ab4a138a5fb849d1eef1fe99a1b9e0b755a3fade5aede9acb13b7a348e43ad6ce66322d
7
- data.tar.gz: c42148a21bcbb7b9cb4e8b71e19465d00794746bc11cb75729171820977b28fdc03bae78ebc7f6524128170e12aca826fbb80c3e9a44c1c609ef3bfa54647cb1
6
+ metadata.gz: 77ade964d2f191705d50f1f7028edabb951ff2486051beedcc71aa1f895927551722ce776f178d46d2c888ad4db895bb18f9bb83e1268ee87885115abfbf46f1
7
+ data.tar.gz: 5b2c6b5dad43522d96a94936d4a0768389465385eef2de103ecc03f8a3b2c47cf96a1d42d6c42b6009b18762e56a29f161544b2d2c66128b44c915f590a18ac8
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
data/Gemfile CHANGED
@@ -6,7 +6,7 @@ source "https://rubygems.org"
6
6
  gemspec
7
7
 
8
8
  gem "rake", "~> 13.0"
9
+ gem 'rspec'
9
10
 
10
11
  gem 'holiday_jp', '~> 0.7.0'
11
-
12
12
  gem 'activesupport'
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # HappyFriday
2
2
 
3
- Gem that can determine HappyFriday.
3
+ This gem is capable of obtaining and determining HappyFriday.
4
4
 
5
5
  ## Installation
6
6
 
@@ -14,9 +14,27 @@ If bundler is not being used to manage dependencies, install the gem by executin
14
14
 
15
15
  ## Usage
16
16
 
17
+ ### HappyFriday decision
17
18
  ```rb
18
- HappyFriday.happyfriday?(Time.now)
19
- # => true or false returns
19
+ date = Date.new(2022, 5, 3)
20
+ HappyFriday.happyfriday?(date)
21
+ => false
22
+
23
+ date = Date.new(2022, 5, 27)
24
+ HappyFriday.happyfriday?(date)
25
+ => true
26
+ ```
27
+
28
+ ### Getting HappyFriday
29
+ You can get a HappyFriday for that month.
30
+ ```rb
31
+ date = Date.new(2022, 5, 1)
32
+ HappyFriday.get_happy_friday(date)
33
+ => 2022-05-27 00:00:00 +0900
34
+
35
+ date = Date.new(2022, 6, 1)
36
+ HappyFriday.get_happy_friday(date)
37
+ => 2022-06-24 00:00:00 +0900
20
38
  ```
21
39
 
22
40
  ## Development
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module HappyFriday
4
- VERSION = "0.2.0"
4
+ VERSION = "0.4.0"
5
5
  end
data/lib/HappyFriday.rb CHANGED
@@ -8,7 +8,7 @@ module HappyFriday
8
8
  class Error < StandardError; end
9
9
 
10
10
  def self.happyfriday?(target_date)
11
- target_date == HappyFriday.get_happy_friday(target_date)
11
+ target_date.strftime("%Y%m%d") == HappyFriday.get_happy_friday(target_date).strftime("%Y%m%d")
12
12
  end
13
13
 
14
14
  def self.get_happy_friday(date)
@@ -20,17 +20,19 @@ module HappyFriday
20
20
  when 5..6
21
21
  before_friday_days = last_of_month.wday - 5
22
22
  else
23
- raise 'ERR: Unpredictable day of the week.'
23
+ raise 'Unpredictable day of the week.'
24
24
  end
25
25
 
26
- last_friday = last_of_month.ago(before_friday_days.days)
26
+ last_friday = last_of_month - before_friday_days.days
27
27
 
28
- while HolidayJp.holiday?(last_friday)
29
- last_friday = last_friday.ago(1.week)
30
- end
28
+ raise 'err' unless last_friday.wday == 5
31
29
 
32
- if last_friday.month != last_of_month.month
33
- raise 'HappyFriday is no month!'
30
+ loop do
31
+ if HolidayJp.holiday?(last_friday)
32
+ last_friday -= 1
33
+ else
34
+ break
35
+ end
34
36
  end
35
37
 
36
38
  last_friday
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: HappyFriday
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - holasoynaoki
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-05-30 00:00:00.000000000 Z
11
+ date: 2022-06-03 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Determine if today is a HappyFriday.
14
14
  email:
@@ -17,6 +17,7 @@ executables: []
17
17
  extensions: []
18
18
  extra_rdoc_files: []
19
19
  files:
20
+ - ".rspec"
20
21
  - CHANGELOG.md
21
22
  - CODE_OF_CONDUCT.md
22
23
  - Gemfile
@@ -32,7 +33,7 @@ licenses:
32
33
  metadata:
33
34
  homepage_uri: https://github.com/holasoynaoki/HappyFriday
34
35
  source_code_uri: https://github.com/holasoynaoki/HappyFriday
35
- post_install_message:
36
+ post_install_message:
36
37
  rdoc_options: []
37
38
  require_paths:
38
39
  - lib
@@ -47,8 +48,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
47
48
  - !ruby/object:Gem::Version
48
49
  version: '0'
49
50
  requirements: []
50
- rubygems_version: 3.3.9
51
- signing_key:
51
+ rubygems_version: 3.2.3
52
+ signing_key:
52
53
  specification_version: 4
53
54
  summary: Determine if today is a HappyFriday.
54
55
  test_files: []