fat_period 1.4.0 → 2.0.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: 8592241a9f75949afa4df46469ff74029aa57ad67ac46234717aa751ba4cfef8
4
- data.tar.gz: 26658db3f5a219236ae9bc9132cafa58850051fdf5d67c389c51306bcd4cd748
3
+ metadata.gz: 5742b6c1b70e7477cb2b8e077c3b1e5d96fc417858f618a12ad64a457df692e4
4
+ data.tar.gz: 7965192d8da3ea88002089c52dc9344cae1f75e7fab28739185b5f290c3f1bc9
5
5
  SHA512:
6
- metadata.gz: 48f7404be05db83ec57ceb7c2b4e75f584920422067bfc1600163cc58253db0ff3856201df4b6265145a5cbceee534e9d380b1ee44953fbb5fad0ffc772fa0df
7
- data.tar.gz: 2ac2dcdb14642e774826f18b6ba7a5bd157fc067bc55495480b7ac91e7e95a21a30217725c4decf5e333e2b8b2cef581df72ee76afa5d18c459b510134c322b1
6
+ metadata.gz: 78bf26849daf793f3b2115e136599178817fd43a1a03bc2882eea408bd7995c44feb94998f22bb220afeb3c2b8270770aa7dc586736849af5f5506f6f7e1123b
7
+ data.tar.gz: dc0b08cb99a577a8fe11827e96ef1c9473a4536fe4ae0e7dd483fc7a1d1d0493a333eecbbcc8a2cd9f710d03489bc32aa4c8695b9787007dc51efddb9805e14b
data/.envrc ADDED
@@ -0,0 +1,7 @@
1
+ PATH_add .bundle/bin
2
+ PATH_add ./scripts
3
+ # Ensure that we use the development DB when in the src dir.
4
+ export DB=development
5
+ export COMPOSE_FILE=.devcontainer/docker-compose.yml
6
+ export COMPOSE_PROJECT_NAME=byr
7
+ export BOOTSNAP_CACHE_DIR=tmp/cache
@@ -0,0 +1,48 @@
1
+ name: Ruby Gem
2
+
3
+ on:
4
+ push:
5
+ branches: [ "master" ]
6
+ pull_request:
7
+ branches: [ "master" ]
8
+
9
+ jobs:
10
+ build:
11
+ name: Build + Publish
12
+ runs-on: ubuntu-latest
13
+ permissions:
14
+ contents: read
15
+ packages: write
16
+
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+ - name: Set up Ruby 2.6
20
+ # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
21
+ # change this to (see https://github.com/ruby/setup-ruby#versioning):
22
+ # uses: ruby/setup-ruby@v1
23
+ uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0
24
+ with:
25
+ ruby-version: 2.6.x
26
+
27
+ - name: Publish to GPR
28
+ run: |
29
+ mkdir -p $HOME/.gem
30
+ touch $HOME/.gem/credentials
31
+ chmod 0600 $HOME/.gem/credentials
32
+ printf -- "---\n:github: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
33
+ gem build *.gemspec
34
+ gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem
35
+ env:
36
+ GEM_HOST_API_KEY: "Bearer ${{secrets.GITHUB_TOKEN}}"
37
+ OWNER: ${{ github.repository_owner }}
38
+
39
+ - name: Publish to RubyGems
40
+ run: |
41
+ mkdir -p $HOME/.gem
42
+ touch $HOME/.gem/credentials
43
+ chmod 0600 $HOME/.gem/credentials
44
+ printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
45
+ gem build *.gemspec
46
+ gem push *.gem
47
+ env:
48
+ GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
data/Gemfile CHANGED
@@ -2,3 +2,15 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in fat_period.gemspec
4
4
  gemspec
5
+
6
+ gem 'bundler'
7
+ gem 'debug'
8
+ gem 'pry'
9
+ gem 'pry-doc'
10
+ gem 'rake'
11
+ gem 'rspec'
12
+ gem 'rubocop'
13
+ gem 'rubocop-rspec'
14
+ gem 'rubocop-performance'
15
+ gem 'rubocop-rake'
16
+ gem 'rubocop-shopify'
data/Rakefile CHANGED
@@ -1,6 +1,9 @@
1
1
  require "bundler/gem_tasks"
2
2
  require "rspec/core/rake_task"
3
3
 
4
+ require 'rubocop/rake_task'
5
+
6
+ RuboCop::RakeTask.new
4
7
  RSpec::Core::RakeTask.new(:spec)
5
8
 
6
- task :default => :spec
9
+ task :default => [:spec, :rubocop]
data/fat_period.gemspec CHANGED
@@ -1,4 +1,5 @@
1
1
  # coding: utf-8
2
+
2
3
  lib = File.expand_path('../lib', __FILE__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
5
  require 'fat_period/version'
@@ -7,12 +8,12 @@ Gem::Specification.new do |spec|
7
8
  spec.name = 'fat_period'
8
9
  spec.version = FatPeriod::VERSION
9
10
  spec.authors = ['Daniel E. Doherty']
10
- spec.email = ['ded-law@ddoherty.net']
11
+ spec.email = ['ded@ddoherty.net']
11
12
 
12
- spec.summary = %q{Implements a Period class as a Range of Dates.}
13
+ spec.summary = 'Implements a Period class as a Range of Dates.'
13
14
  spec.homepage = 'https://github.com/ddoherty03/fat_period'
14
15
 
15
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
16
+ spec.files = %x(git ls-files -z).split("\x0").reject do |f|
16
17
  f.match(%r{^(test|spec|features)/})
17
18
  end
18
19
  # Don't install any executables.
@@ -20,13 +21,5 @@ Gem::Specification.new do |spec|
20
21
  # spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
21
22
  spec.require_paths = ['lib']
22
23
 
23
- spec.add_development_dependency 'bundler'
24
- spec.add_development_dependency 'rake'
25
- spec.add_development_dependency 'rspec'
26
- spec.add_development_dependency 'debug', '>= 1.0.0'
27
- spec.add_development_dependency 'pry'
28
- spec.add_development_dependency 'pry-doc'
29
- spec.add_development_dependency 'simplecov'
30
-
31
- spec.add_runtime_dependency 'fat_core', '>= 4.8.3'
24
+ spec.add_dependency 'fat_core', '>= 5.4'
32
25
  end
@@ -1,5 +1,3 @@
1
- require 'date'
2
-
3
1
  module FatPeriod
4
2
  # An extension of Date for methods useful with respect to FatPeriod::Periods.
5
3
  module Date
@@ -20,53 +18,6 @@ module FatPeriod
20
18
  require 'fat_period'
21
19
  Period.new(beginning_of_chunk(chunk), end_of_chunk(chunk))
22
20
  end
23
-
24
- # Return a period representing a chunk containing a given Date.
25
- def day_containing
26
- Period.new(self, self)
27
- end
28
-
29
- def week_containing
30
- Period.new(self.beginning_of_week, self.end_of_week)
31
- end
32
-
33
- def biweek_containing
34
- Period.new(self.beginning_of_biweek, self.end_of_biweek)
35
- end
36
-
37
- def semimonth_containing
38
- Period.new(self.beginning_of_semimonth, self.end_of_semimonth)
39
- end
40
-
41
- def month_containing
42
- Period.new(self.beginning_of_month, self.end_of_month)
43
- end
44
-
45
- def bimonth_containing
46
- Period.new(self.beginning_of_bimonth, self.end_of_bimonth)
47
- end
48
-
49
- def quarter_containing
50
- Period.new(self.beginning_of_quarter, self.end_of_quarter)
51
- end
52
-
53
- def half_containing
54
- Period.new(self.beginning_of_half, self.end_of_half)
55
- end
56
-
57
- def year_containing
58
- Period.new(self.beginning_of_year, self.end_of_year)
59
- end
60
-
61
- def chunk_containing(chunk)
62
- raise ArgumentError, 'chunk is nil' unless chunk
63
-
64
- chunk = chunk.to_sym
65
- raise ArgumentError, "unknown chunk name: #{chunk}" unless CHUNKS.include?(chunk)
66
-
67
- method = "#{chunk}_containing".to_sym
68
- send(method, self)
69
- end
70
21
  end
71
22
  end
72
23
 
@@ -1,6 +1,5 @@
1
+ require 'active_support'
1
2
  require 'fat_core/date'
2
- require 'fat_core/range'
3
- require 'fat_core/string'
4
3
 
5
4
  # The Period class represents a range of Dates and supports a variety of
6
5
  # operations on those ranges.
@@ -31,14 +30,13 @@ class Period
31
30
  @last = Date.ensure_date(last).freeze
32
31
  freeze
33
32
 
34
- raise ArgumentError, "Period's first date is later than its last date" if @first > @last
33
+ return unless @first > @last
34
+
35
+ raise ArgumentError, "Period's first date is later than its last date"
35
36
  end
36
37
 
37
38
  # These need to come after initialize is defined
38
39
 
39
- # Period from commercial beginning of time to today
40
- TO_DATE = Period.new(Date::BOT, Date.current)
41
-
42
40
  # Period from commercial beginning of time to commercial end of time.
43
41
  FOREVER = Period.new(Date::BOT, Date::EOT)
44
42
 
@@ -68,60 +66,35 @@ class Period
68
66
  Period.new(first, second) if first && second
69
67
  end
70
68
 
71
- PHRASE_RE = %r{\A
72
- # One or both of from and to parts
73
- (((from)?\s+(?<from_part>[-_a-z0-9]+)\s*)?
74
- (to\s+(?<to_part>[-_a-z0-9]+))?)
75
- # Wholly optional chunk part
76
- (\s+per\s+(?<chunk_part>\w+))?\z}xi
77
-
78
- private_constant :PHRASE_RE
79
-
80
- # Return an array of periods, either a single period as in `Period.parse`
81
- # from a String phrase in which a `from spec` is introduced with 'from' and,
82
- # optionally, a `to spec` is introduced with 'to', or a number of periods if
83
- # there is a 'per <chunk>' modifier. A phrase with only a `to spec` is
84
- # treated the same as one with only a from spec. If neither 'from' nor 'to'
85
- # appear in phrase, treat the whole string as a from spec.
69
+ # Return a period as in `Period.parse` from a String phrase in which the from
70
+ # spec is introduced with 'from' and, optionally, the to spec is introduced
71
+ # with 'to'. A phrase with only a to spec is treated the same as one with
72
+ # only a from spec. If neither 'from' nor 'to' appear in phrase, treat the
73
+ # whole string as a from spec.
86
74
  #
87
75
  # @example
88
- # Period.parse_phrase('from 2014-11 to 2015-3Q') #=> [Period('2014-11-01..2015-09-30')]
89
- # Period.parse_phrase('from 2014-11') #=> [Period('2014-11-01..2014-11-30')]
90
- # Period.parse_phrase('from 2015-3Q') #=> [Period('2015-09-01..2015-12-31')]
91
- # Period.parse_phrase('to 2015-3Q') #=> [Period('2015-09-01..2015-12-31')]
92
- # Period.parse_phrase('from 2015-3Q') #=> [Period('2015-09-01..2015-12-31')]
93
- # Period.parse_phrase('from 2015 per month') #=> [
94
- # Period('2015-01-01..2015-01-31'),
95
- # Period('2015-02-01..2015-02-28'),
96
- # ...
97
- # Period('2015-12-01..2015-12-31')
98
- # ]
99
- #
100
- # @param phrase [String] with 'from <spec> to <spec> [per <chunk>]'
101
- # @return [Array<Period>] translated from phrase
102
- def self.parse_phrase(phrase, partial_first: false, partial_last: false, round_up_last: false)
103
- phrase = phrase.downcase.clean
104
- mm = phrase.match(PHRASE_RE)
105
- raise ArgumentError, "invalid period phrase: `#{phrase}`" unless mm
106
-
107
- if mm[:from_part] && mm[:to_part].nil?
108
- from_part = mm[:from_part]
109
- to_part = nil
110
- elsif mm[:from_part].nil? && mm[:to_part]
111
- from_part = mm[:to_part]
112
- to_part = nil
113
- else
114
- from_part = mm[:from_part]
115
- to_part = mm[:to_part]
116
- end
117
-
118
- whole_period = parse(from_part, to_part)
119
- if mm[:chunk_part].nil?
120
- [whole_period]
76
+ # Period.parse_phrase('from 2014-11 to 2015-3Q') #=> Period('2014-11-01..2015-09-30')
77
+ # Period.parse_phrase('from 2014-11') #=> Period('2014-11-01..2014-11-30')
78
+ # Period.parse_phrase('from 2015-3Q') #=> Period('2015-09-01..2015-12-31')
79
+ # Period.parse_phrase('to 2015-3Q') #=> Period('2015-09-01..2015-12-31')
80
+ # Period.parse_phrase('2015-3Q') #=> Period('2015-09-01..2015-12-31')
81
+ #
82
+ # @param phrase [String] with 'from <spec> to <spec>'
83
+ # @return [Period] translated from phrase
84
+ def self.parse_phrase(phrase)
85
+ phrase = phrase.clean
86
+ case phrase
87
+ when /\Afrom (.*) to (.*)\z/
88
+ from_phrase = $1
89
+ to_phrase = $2
90
+ when /\Afrom (.*)\z/, /\Ato (.*)\z/
91
+ from_phrase = $1
92
+ to_phrase = nil
121
93
  else
122
- whole_period.chunks(size: mm[:chunk_part], partial_first: partial_first,
123
- partial_last: partial_last, round_up_last: round_up_last)
94
+ from_phrase = phrase
95
+ to_phrase = nil
124
96
  end
97
+ parse(from_phrase, to_phrase)
125
98
  end
126
99
 
127
100
  # @group Conversion
@@ -191,7 +164,7 @@ class Period
191
164
  # @param other [Period] @return [Integer] -1 if self < other; 0 if self ==
192
165
  # other; 1 if self > other
193
166
  def <=>(other)
194
- return nil unless other.is_a?(Period)
167
+ return unless other.is_a?(Period)
195
168
 
196
169
  [first, last] <=> [other.first, other.last]
197
170
  end
@@ -210,7 +183,7 @@ class Period
210
183
  end
211
184
 
212
185
  def eql?(other)
213
- return nil unless other.is_a?(Period)
186
+ return unless other.is_a?(Period)
214
187
 
215
188
  hash == other.hash
216
189
  end
@@ -225,7 +198,7 @@ class Period
225
198
 
226
199
  to_range.cover?(date)
227
200
  end
228
- alias === contains?
201
+ alias_method :===, :contains?
229
202
 
230
203
  include Enumerable
231
204
 
@@ -233,15 +206,10 @@ class Period
233
206
 
234
207
  # Yield each day in this Period.
235
208
  def each
236
- if block_given?
237
- d = first
238
- while d <= last
239
- yield d
240
- d += 1.day
241
- end
242
- self
243
- else
244
- to_enum(:each)
209
+ d = first
210
+ while d <= last
211
+ yield d
212
+ d += 1.day
245
213
  end
246
214
  end
247
215
 
@@ -259,8 +227,8 @@ class Period
259
227
  def size
260
228
  (last - first + 1).to_i
261
229
  end
262
- alias length size
263
- alias days size
230
+ alias_method :length, :size
231
+ alias_method :days, :size
264
232
 
265
233
  # Return the fractional number of months in the period. By default, use the
266
234
  # average number of days in a month, but allow the user to override the
@@ -306,8 +274,18 @@ class Period
306
274
 
307
275
  # An Array of the valid Symbols for calendar chunks plus the Symbol :irregular
308
276
  # for other periods.
309
- CHUNKS = %i[day week biweek semimonth month bimonth quarter
310
- half year irregular].freeze
277
+ CHUNKS = %i[
278
+ day
279
+ week
280
+ biweek
281
+ semimonth
282
+ month
283
+ bimonth
284
+ quarter
285
+ half
286
+ year
287
+ irregular
288
+ ].freeze
311
289
 
312
290
  CHUNK_ORDER = {}
313
291
  CHUNKS.each_with_index do |c, i|
@@ -317,13 +295,17 @@ class Period
317
295
 
318
296
  # An Array of Ranges for the number of days that can be covered by each chunk.
319
297
  CHUNK_RANGE = {
320
- day: (1..1), week: (7..7), biweek: (14..14), semimonth: (15..16),
321
- month: (28..31), bimonth: (59..62), quarter: (90..92),
322
- half: (180..183), year: (365..366)
298
+ day: (1..1),
299
+ week: (7..7),
300
+ biweek: (14..14),
301
+ semimonth: (15..16),
302
+ month: (28..31),
303
+ bimonth: (59..62),
304
+ quarter: (90..92),
305
+ half: (180..183),
306
+ year: (365..366)
323
307
  }.freeze
324
308
 
325
- private_constant :CHUNK_ORDER, :CHUNK_RANGE
326
-
327
309
  def self.chunk_cmp(chunk1, chunk2)
328
310
  CHUNK_ORDER[chunk1] <=> CHUNK_ORDER[chunk2]
329
311
  end
@@ -611,8 +593,8 @@ class Period
611
593
  # @param round_up_last [Boolean] allow the last period in the returned array
612
594
  # to extend beyond the end of self.
613
595
  # @return [Array<Period>] periods that subdivide self into chunks of size, `size`
614
- def chunks(size: :month, partial_first: false, partial_last: false,
615
- round_up_last: false)
596
+ def chunks(size: :month, partial_first: true, partial_last: true,
597
+ round_up_last: false)
616
598
  chunk_size = size.to_sym
617
599
  raise ArgumentError, "unknown chunk size '#{chunk_size}'" unless CHUNKS.include?(chunk_size)
618
600
 
@@ -636,7 +618,6 @@ class Period
636
618
  return result
637
619
  end
638
620
 
639
- # The first chunk
640
621
  chunk_start = first.dup
641
622
  chunk_end = chunk_start.end_of_chunk(chunk_size)
642
623
  if chunk_start.beginning_of_chunk?(chunk_size) || partial_first
@@ -645,16 +626,14 @@ class Period
645
626
  end
646
627
  chunk_start = chunk_end + 1.day
647
628
  chunk_end = chunk_start.end_of_chunk(chunk_size)
648
-
649
629
  # Add Whole chunks
650
630
  while chunk_end <= last
651
631
  result << Period.new(chunk_start, chunk_end)
652
632
  chunk_start = chunk_end + 1.day
653
633
  chunk_end = chunk_start.end_of_chunk(chunk_size)
654
634
  end
655
-
656
635
  # Possibly append the final chunk to result
657
- if chunk_start <= last
636
+ if chunk_start < last
658
637
  if round_up_last
659
638
  result << Period.new(chunk_start, chunk_end)
660
639
  elsif partial_last
@@ -747,8 +726,8 @@ class Period
747
726
  Period.new(result.first, result.last)
748
727
  end
749
728
  end
750
- alias & intersection
751
- alias narrow_to intersection
729
+ alias_method :&, :intersection
730
+ alias_method :narrow_to, :intersection
752
731
 
753
732
  # Return the Period that is the union of self with `other` or nil if
754
733
  # they neither overlap nor are contiguous
@@ -765,11 +744,11 @@ class Period
765
744
  # @return [Period, nil] self union `other`?
766
745
  def union(other)
767
746
  result = to_range.union(other.to_range)
768
- return nil if result.nil?
747
+ return if result.nil?
769
748
 
770
749
  Period.new(result.first, result.last)
771
750
  end
772
- alias + union
751
+ alias_method :+, :union
773
752
 
774
753
  # Return an array of periods that are this period excluding any overlap with
775
754
  # other. If there is no overlap, return an array with a period equal to self
@@ -787,7 +766,7 @@ class Period
787
766
  ranges = to_range.difference(other.to_range)
788
767
  ranges.each.map { |r| Period.new(r.first, r.last) }
789
768
  end
790
- alias - difference
769
+ alias_method :-, :difference
791
770
 
792
771
  # Return whether this period overlaps the `other` period. To overlap, the
793
772
  # periods must have at least one day in common.
@@ -1,3 +1,3 @@
1
1
  module FatPeriod
2
- VERSION = '1.4.0'.freeze
2
+ VERSION = '2.0.0'.freeze
3
3
  end
data/lib/fat_period.rb CHANGED
@@ -1,3 +1,9 @@
1
+ require 'date'
2
+
1
3
  require 'fat_period/version'
2
4
  require 'fat_period/date'
3
5
  require 'fat_period/period'
6
+
7
+ require 'fat_core/date'
8
+ require 'fat_core/range'
9
+ require 'fat_core/string'
metadata CHANGED
@@ -1,137 +1,40 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fat_period
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel E. Doherty
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-14 00:00:00.000000000 Z
11
+ date: 2024-11-12 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: rspec
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: debug
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: 1.0.0
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: 1.0.0
69
- - !ruby/object:Gem::Dependency
70
- name: pry
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: pry-doc
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: simplecov
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
13
  - !ruby/object:Gem::Dependency
112
14
  name: fat_core
113
15
  requirement: !ruby/object:Gem::Requirement
114
16
  requirements:
115
17
  - - ">="
116
18
  - !ruby/object:Gem::Version
117
- version: 4.8.3
19
+ version: '5.4'
118
20
  type: :runtime
119
21
  prerelease: false
120
22
  version_requirements: !ruby/object:Gem::Requirement
121
23
  requirements:
122
24
  - - ">="
123
25
  - !ruby/object:Gem::Version
124
- version: 4.8.3
125
- description:
26
+ version: '5.4'
27
+ description:
126
28
  email:
127
- - ded-law@ddoherty.net
29
+ - ded@ddoherty.net
128
30
  executables: []
129
31
  extensions: []
130
32
  extra_rdoc_files: []
131
33
  files:
34
+ - ".envrc"
35
+ - ".github/workflows/gem-push.yml"
132
36
  - ".gitignore"
133
37
  - ".rspec"
134
- - ".simplecov"
135
38
  - ".travis.yml"
136
39
  - Gemfile
137
40
  - LICENSE.txt
@@ -147,7 +50,7 @@ files:
147
50
  homepage: https://github.com/ddoherty03/fat_period
148
51
  licenses: []
149
52
  metadata: {}
150
- post_install_message:
53
+ post_install_message:
151
54
  rdoc_options: []
152
55
  require_paths:
153
56
  - lib
@@ -162,8 +65,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
162
65
  - !ruby/object:Gem::Version
163
66
  version: '0'
164
67
  requirements: []
165
- rubygems_version: 3.4.14
166
- signing_key:
68
+ rubygems_version: 3.5.22
69
+ signing_key:
167
70
  specification_version: 4
168
71
  summary: Implements a Period class as a Range of Dates.
169
72
  test_files: []
data/.simplecov DELETED
@@ -1,18 +0,0 @@
1
- # -*- mode: ruby -*-
2
-
3
- SimpleCov.start do
4
- # any custom configs like groups and filters can be here at a central place
5
- add_filter '/spec/'
6
- add_filter '/tmp/'
7
- add_group "Models", "lib/fat_period"
8
- # add_group "Core Extension", "lib/ext"
9
- # After this many seconds between runs, old coverage stats are thrown out,
10
- # so 3600 => 1 hour
11
- merge_timeout 3600
12
- # Make this true to merge rspec and cucumber coverage together
13
- use_merging false
14
- command_name 'Rspec'
15
- nocov_token 'no_cover'
16
- # Branch coverage
17
- enable_coverage :branch
18
- end