HappyFriday 0.2.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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: []