simple_calendar 3.1.0 → 3.1.1

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: 6648d821f8f764b1abac6ece0cdbe575a53696cb85c8057977505f3c61b26aa5
4
- data.tar.gz: dacfc17b693c75f56cf9d104cc827ef9026980356a803c287931158816b1d510
3
+ metadata.gz: 3df222c3d574cf3bbba06405c5552970bae59906ac0c791d97cc8f34fbe163ae
4
+ data.tar.gz: d07dcabf52be54fbfef5044f2b7f18cf67775927ca093d6dd24fe51cdbc6bb87
5
5
  SHA512:
6
- metadata.gz: 9050ae89085e40c8b3bb7af30c93ff913ea0cc5a6a1d07e1bee28c3126857c40b7ef28b58e1f8529e6712d941af4dba9aa73cf56d9b400bde172cf4b684e958a
7
- data.tar.gz: d71601a640b7bcc4bba127b7b5ec3fa17ced71a481e15e280e2a39ed1f7306a535adfecd6fdabdb1ec4b74e5045828d55e637216043b1d08062bc07a9f63be6f
6
+ metadata.gz: bdae22824856309b506f53182bc7763ca58328622b67635d157154dec4e2c31538225cb990509f59f8535a5a141a7c813a3b455b9b9d72b91d815cc268d0b861
7
+ data.tar.gz: 379e36d12c03683e64eed2e6e0e3d4a65629ce111776cbd0738724022c98c20b21347d90a271bb3da1d608d35dbc1e5635c6bced2c5d19c029330dc23a3aac14
@@ -125,7 +125,7 @@ module SimpleCalendar
125
125
  if options.has_key?(:start_date)
126
126
  options.fetch(:start_date).to_date
127
127
  else
128
- view_context.params.fetch(start_date_param, Date.current).to_date
128
+ start_date_from_params || Date.current
129
129
  end
130
130
  end
131
131
 
@@ -136,5 +136,13 @@ module SimpleCalendar
136
136
  def additional_days
137
137
  options.fetch(:number_of_days, 4) - 1
138
138
  end
139
+
140
+ private
141
+
142
+ def start_date_from_params
143
+ view_context.params[start_date_param].try(:to_date)
144
+ rescue ArgumentError # Date::Error inherits from ArgumentError
145
+ nil
146
+ end
139
147
  end
140
148
  end
@@ -1,3 +1,3 @@
1
1
  module SimpleCalendar
2
- VERSION = "3.1.0"
2
+ VERSION = "3.1.1"
3
3
  end
@@ -1,16 +1,16 @@
1
1
  module SimpleCalendar
2
2
  class WeekCalendar < SimpleCalendar::Calendar
3
3
  def week_number
4
- format = (Date.beginning_of_week == :sunday) ? "%U" : "%V"
5
- start_date.beginning_of_week.strftime(format).to_i
4
+ week_number_for(start_date)
6
5
  end
7
6
 
8
7
  def number_of_weeks
9
8
  options.fetch(:number_of_weeks, 1)
10
9
  end
11
10
 
11
+ # Computed from the date, not week_number + n, so it wraps across a year boundary.
12
12
  def end_week
13
- week_number + number_of_weeks - 1
13
+ week_number_for(date_range.last)
14
14
  end
15
15
 
16
16
  def date_range
@@ -23,5 +23,12 @@ module SimpleCalendar
23
23
  def url_for_previous_view
24
24
  view_context.url_for(@params.merge(start_date_param => (date_range.first - 1.day).iso8601))
25
25
  end
26
+
27
+ private
28
+
29
+ def week_number_for(date)
30
+ format = (Date.beginning_of_week == :sunday) ? "%U" : "%V"
31
+ date.beginning_of_week.strftime(format).to_i
32
+ end
26
33
  end
27
34
  end
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_calendar
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Oliver
8
+ autorequire:
8
9
  bindir: bin
9
10
  cert_chain: []
10
- date: 2025-01-09 00:00:00.000000000 Z
11
+ date: 2026-10-12 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
14
  name: rails
@@ -51,6 +52,7 @@ metadata:
51
52
  homepage_uri: https://github.com/excid3/simple_calendar
52
53
  source_code_uri: https://github.com/excid3/simple_calendar
53
54
  changelog_uri: https://github.com/excid3/simple_calendar/blob/main/CHANGELOG.md
55
+ post_install_message:
54
56
  rdoc_options: []
55
57
  require_paths:
56
58
  - lib
@@ -65,7 +67,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
65
67
  - !ruby/object:Gem::Version
66
68
  version: '0'
67
69
  requirements: []
68
- rubygems_version: 3.6.2
70
+ rubygems_version: 3.5.22
71
+ signing_key:
69
72
  specification_version: 4
70
73
  summary: A simple Rails calendar
71
74
  test_files: []