fiscal_year 0.5.0 → 0.6.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: b2a44c87e166920493e3723924cdf5c0a20cbdca0f148fb87e32a69aee645267
4
- data.tar.gz: c6a17528d17f0cb3de8143a01227b06c7e8e527eee3a7ccc5677b637b7b3c41a
3
+ metadata.gz: '0917960fc403b45d283863bad77ac8e35fc8b5a3c216a13f1ca2cdb68c95410a'
4
+ data.tar.gz: 68506d80a59973356f41d5bd1c55af3164542378ec8d9bea7d31be14bd90e302
5
5
  SHA512:
6
- metadata.gz: 5ade0c96554bc2670317108bb74851ccfd485cf4932709eafe479de937db7fab43c864a8372d895b99d774cebe6bb08520191e5015ca4ef38eb1a85a19f3d8f4
7
- data.tar.gz: ca421f4b2fa6fd74c319bab2eb739203391f3c71d0fcd592e78018a62900e72edfcc838e7480e1d2a80af1256266c9863e014ec2873f6e8169e1a52dfbe8d1c8
6
+ metadata.gz: 74e0c8c7ddff795d9c64754dde60b462073f45afd04892dcad3e1595970d1bc2a7ac4ebf3bc464ccc112f10bfe33393023bf008cf08b349c27839994a00c4199
7
+ data.tar.gz: 50c1f1e00478c28ee72bc301ab8ab5fe42c1d142e822cc2d8747ff25f631ff62aff2e3e457e8bb852cde09676b38c0826057f8dedd503e5ad8ad2c3ad37a7e90
data/.rubocop.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.6
2
+ TargetRubyVersion: 3.1
3
3
  Exclude:
4
4
  - 'Steepfile'
5
5
  - 'vendor/**/*'
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## [0.6.0] - 2024-05-15
2
+ - [BREAK] Ruby 3.0.x, 2.7.x and 2.6.x has no longer support.
3
+ - add `FiscalYear.range_by` method
4
+
1
5
  ## [0.5.0] - 2024-03-18
2
6
  - [BREAK] rename and move `FiscalYear::Half.normalize_year_by_month` to `FiscalYear.increase_year_by_month`
3
7
  - add `FiscalYear.decrease_year_by_month` method
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FiscalYear
4
- VERSION = "0.5.0"
4
+ VERSION = "0.6.0"
5
5
  end
@@ -21,16 +21,13 @@ module FiscalYear
21
21
  months = FiscalYear.months[(0..month_index)]
22
22
  raise StandardError if months.nil?
23
23
 
24
- pair = []
25
- [date.year].product(months).each do |e|
26
- pair << if FiscalYear.cross_year_month?(month)
27
- (FiscalYear.cross_year_month?(e.second) ? e : [e.first - 1, e.second])
28
- else
29
- e
30
- end
24
+ [date.year].product(months).map do |e|
25
+ if FiscalYear.cross_year_month?(month)
26
+ (FiscalYear.cross_year_month?(e.second) ? e : [e.first - 1, e.second])
27
+ else
28
+ e
29
+ end
31
30
  end
32
-
33
- pair
34
31
  end
35
32
 
36
33
  # TODO: fit to Abc size
data/lib/fiscal_year.rb CHANGED
@@ -68,5 +68,13 @@ module FiscalYear
68
68
  year
69
69
  end
70
70
  end
71
+
72
+ def range_by(date)
73
+ year = date.year
74
+ month = date.month
75
+ normalized_year = decrease_year_by_month(year, month)
76
+
77
+ FiscalYear::Half.first_range_by(normalized_year).first..FiscalYear::Half.second_range_by(normalized_year).last
78
+ end
71
79
  end
72
80
  end
@@ -1,5 +1,6 @@
1
1
  module FiscalYear
2
2
  class Config
3
3
  attr_reader start_month: Integer
4
+ def initialize: -> Integer
4
5
  end
5
6
  end
data/sig/fiscal_year.rbs CHANGED
@@ -12,4 +12,5 @@ module FiscalYear
12
12
  def self.quarters: () -> [Array[Integer], Array[Integer], Array[Integer], Array[Integer]]
13
13
  def self.increase_year_by_month: (Integer, Integer) -> Integer
14
14
  def self.decrease_year_by_month: (Integer, Integer) -> Integer
15
+ def self.range_by: (Date) -> Range
15
16
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fiscal_year
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tsubasa Kawajiri
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-03-18 00:00:00.000000000 Z
11
+ date: 2024-05-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -70,7 +70,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
70
70
  requirements:
71
71
  - - ">="
72
72
  - !ruby/object:Gem::Version
73
- version: 2.6.0
73
+ version: 3.1.0
74
74
  required_rubygems_version: !ruby/object:Gem::Requirement
75
75
  requirements:
76
76
  - - ">="