make_a_calendar_toolkit 0.1.0 → 0.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: 7b1145ce898bcbfe87749ff4eadb6dff4bb610b0abde0bb8feecf1b0ced9b5e3
4
- data.tar.gz: 4060c5b3ade3f1a1cabcd6704d9d77b186ac5772151cafbf1bf22ffba22679fb
3
+ metadata.gz: 6cb838fdaf5530f6494d65e2a6902f25a07ab4ad1be6695ca124f5c4d0f222ad
4
+ data.tar.gz: 873e344d5b33305bc3638cd05c69a58616395d1fe76c034076ccc7b1ff35f53c
5
5
  SHA512:
6
- metadata.gz: ef360e90269be4d60dfda75aa937f991990bb1d4176b51a8c942e1ae8d08d3e6bda9fc7aee4f182d5dc6e662c5ef0327e8ff4753f00541866877e160eca5b930
7
- data.tar.gz: 3e7d94d67856eab5874e7f83ba8ff292e04b5d7ea24f1c8632e6cfb5e41583755427c50e7777ce81148b39635ec923194d0448c4374fd32be8a4a30775c8eff5
6
+ metadata.gz: ff4fce791dddc5d6f25c678da3d74f8ea5e7b74106c3597a223f9b5f3cf77d5084cdcf320e55aae272c30dfef6b9e133d2b14fc39ab6f3f93db4412a92a8ae34
7
+ data.tar.gz: 1cb670d4705100ae1129c5bd21143e4a846d6b3346c46c4df5bba1157d2b9eb3cc4f7844235d2f34e6bfe942334e908079c22c8ab3863124ac873fe9ffd7b79d
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.1 — 2026-10-12
4
+
5
+ - Expanded the project's Make a Calendar references with direct links to the calendar maker and related date tools.
6
+ - Added Make a Calendar's website as the repository homepage and included the resource links in the gem description.
7
+
3
8
  ## 0.1.0 — 2026-10-12
4
9
 
5
10
  - Initial public release of calendar grids, date arithmetic, US federal holiday rules, business-day operations, recurring pay dates, shift schedules, NRF-style retail fiscal calendars, date converters, print-ready SVG/HTML, JSON/CSV, ICS, and CLI commands.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- make_a_calendar_toolkit (0.1.0)
4
+ make_a_calendar_toolkit (0.1.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -18,4 +18,4 @@ DEPENDENCIES
18
18
  rake (~> 12.0)
19
19
 
20
20
  BUNDLED WITH
21
- 2.5.23
21
+ 2.4.22
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Make a Calendar Toolkit
2
2
 
3
- An offline Ruby toolkit for calendar grids, business scheduling, holiday dates, fiscal periods, date conversion, printable SVG/HTML, and iCalendar exports.
3
+ An offline Ruby toolkit for calendar grids, business scheduling, holiday dates, fiscal periods, date conversion, printable SVG/HTML, and iCalendar exports. For browser-based calendar creation and printable templates, visit [Make a Calendar](https://make-a-calendar.com/).
4
4
 
5
5
  [![CI](https://github.com/makeacalendar/make-a-calendar-ruby/actions/workflows/ci.yml/badge.svg)](https://github.com/makeacalendar/make-a-calendar-ruby/actions/workflows/ci.yml)
6
6
 
@@ -27,7 +27,7 @@ Make a Calendar Toolkit packages reusable date and scheduling behavior for Ruby
27
27
 
28
28
  Core features work offline using Ruby's standard library. The gem does not call the Make a Calendar website and does not reproduce its private implementation. Rails is not a runtime dependency.
29
29
 
30
- The project was created by Ethan, the developer behind [Make a Calendar](https://make-a-calendar.com/), a browser-based calendar and date-tools platform.
30
+ The project was created by Ethan, the developer behind [Make a Calendar](https://make-a-calendar.com/), a browser-based calendar and date-tools platform. Use the local Ruby gem in applications, or open the [online calendar generator](https://make-a-calendar.com/calendar-generator) when you want to make a calendar in your browser.
31
31
 
32
32
  ## Install and start
33
33
 
@@ -56,7 +56,7 @@ puts month.to_csv
56
56
  File.write("planner.html", month.to_html(theme: :ink_saver, page_size: :letter_landscape))
57
57
  ```
58
58
 
59
- Available print themes are `:editorial`, `:business`, `:academic`, and `:ink_saver`. Paper choices are `:letter`, `:a4`, `:letter_landscape`, and `:a4_landscape`. HTML includes print CSS; SVG is standalone and has accessible title and description elements. `MakeACalendar.year(year: 2027)` returns a twelve-month calendar suitable for one-page SVG or HTML output.
59
+ Available print themes are `:editorial`, `:business`, `:academic`, and `:ink_saver`. Paper choices are `:letter`, `:a4`, `:letter_landscape`, and `:a4_landscape`. HTML includes print CSS; SVG is standalone and has accessible title and description elements. `MakeACalendar.year(year: 2027)` returns a twelve-month calendar suitable for one-page SVG or HTML output. For ready-to-print browser templates, see [monthly calendars](https://make-a-calendar.com/monthly-calendars) or the [custom calendar generator](https://make-a-calendar.com/calendar-generator).
60
60
 
61
61
  ## Business days and US federal holidays
62
62
 
@@ -70,25 +70,25 @@ count = MakeACalendar.business_days_between(
70
70
  deadline = MakeACalendar.add_business_days(Date.new(2027, 2, 1), 30, holidays: holidays)
71
71
  ```
72
72
 
73
- Each federal `Holiday` keeps its legal date and observed weekday separately. The rule set includes effective-date distinctions for MLK Day, Juneteenth, the Monday holiday changes, and Veterans Day's 1971–1977 observance. It is a federal calendar reference, not state law, court rules, bank policy, or an employer's closure schedule. Add caller-owned holidays when a business uses different rules.
73
+ Each federal `Holiday` keeps its legal date and observed weekday separately. The rule set includes effective-date distinctions for MLK Day, Juneteenth, the Monday holiday changes, and Veterans Day's 1971–1977 observance. It is a federal calendar reference, not state law, court rules, bank policy, or an employer's closure schedule. Add caller-owned holidays when a business uses different rules. To check a date range in a browser, use the [business-days calculator](https://make-a-calendar.com/business-days-calculator) or browse the [date tools hub](https://make-a-calendar.com/date-tools).
74
74
 
75
75
  ## Pay and shift schedules
76
76
 
77
77
  `MakeACalendar::Scheduling.pay_dates` supports weekly, biweekly, semi-monthly, and monthly dates. Weekend/holiday adjustments must be selected explicitly with `:none`, `:following`, `:preceding`, or `:modified_following`. The library does not assume one employer's payday convention.
78
78
 
79
- `shift_dates` accepts a repeating list such as `[2, 2, 3]` or `"2-2-3"`; entries alternate on-duty and off-duty blocks, beginning on duty. Results are date labels only and do not represent hours worked or a fixed-length UTC shift across daylight-saving changes.
79
+ `shift_dates` accepts a repeating list such as `[2, 2, 3]` or `"2-2-3"`; entries alternate on-duty and off-duty blocks, beginning on duty. Results are date labels only and do not represent hours worked or a fixed-length UTC shift across daylight-saving changes. The browser-based [date tools](https://make-a-calendar.com/date-tools) also include planning calculators for people who do not need Ruby integration.
80
80
 
81
81
  ## Retail fiscal calendars
82
82
 
83
- `MakeACalendar.fiscal_calendar(year: 2029, pattern: :four_four_five)` uses the Sunday nearest February 1. The default label is the ending year, so a fiscal year labeled 2029 starts in 2028. `:four_four_five`, `:four_five_four`, and `:five_four_four` are supported. A 53rd week is assigned to period 12 by default; use `extra_week: :first_period` to assign it to period 1. This is one documented convention, not a claim that every company's accounting calendar matches it.
83
+ `MakeACalendar.fiscal_calendar(year: 2029, pattern: :four_four_five)` uses the Sunday nearest February 1. The default label is the ending year, so a fiscal year labeled 2029 starts in 2028. `:four_four_five`, `:four_five_four`, and `:five_four_four` are supported. A 53rd week is assigned to period 12 by default; use `extra_week: :first_period` to assign it to period 1. This is one documented convention, not a claim that every company's accounting calendar matches it. For an interactive version of this retail layout, see Make a Calendar's [4-4-5 fiscal calendar generator](https://make-a-calendar.com/445-calendar).
84
84
 
85
85
  ## Converters
86
86
 
87
- `MakeACalendar::Converters` includes Unix seconds/milliseconds/microseconds/nanoseconds with rational arithmetic, Excel 1900 and 1904 serial dates, Windows FILETIME, ISO-8601 timestamps that require an explicit offset, and unambiguous `YYYY-DDD` / `YYYYDDD` ordinal dates. Excel 1900 serial 60 raises because it represents Excel's fictitious 1900-02-29. Two-digit ordinal years and historical Julian calendar conversions are not inferred.
87
+ `MakeACalendar::Converters` includes Unix seconds/milliseconds/microseconds/nanoseconds with rational arithmetic, Excel 1900 and 1904 serial dates, Windows FILETIME, ISO-8601 timestamps that require an explicit offset, and unambiguous `YYYY-DDD` / `YYYYDDD` ordinal dates. Excel 1900 serial 60 raises because it represents Excel's fictitious 1900-02-29. Two-digit ordinal years and historical Julian calendar conversions are not inferred. For quick browser conversions, open the [date and time converters](https://make-a-calendar.com/converters) on Make a Calendar.
88
88
 
89
89
  ## ICS export
90
90
 
91
- `MakeACalendar.to_ics` exports date-only events with CRLF line endings, escaped text fields, folded content lines, stable UID defaults, and exclusive `DTEND` dates. It does not emit time-zone definitions or promise full recurrence-rule support.
91
+ `MakeACalendar.to_ics` exports date-only events with CRLF line endings, escaped text fields, folded content lines, stable UID defaults, and exclusive `DTEND` dates. It does not emit time-zone definitions or promise full recurrence-rule support. To create an all-day calendar file without writing Ruby, use the [online iCalendar generator](https://make-a-calendar.com/ical-generator).
92
92
 
93
93
  ```ruby
94
94
  ics = MakeACalendar.to_ics([
@@ -131,7 +131,7 @@ No Rails modules are loaded by the gem.
131
131
 
132
132
  ## Date rules and limitations
133
133
 
134
- Gregorian civil dates are represented by Ruby `Date`. Month grids use Sunday-first or Monday-first ordering. ISO weeks and week-years follow Ruby's ISO calendar fields. The standard `Date` implementation defines the supported range; invalid dates and invalid month values raise errors. Holiday rules are limited to the documented US federal rule set; local and organization-specific holidays remain caller data. Payroll dates and fiscal-week policies are configurable where the library has a defined option. PDF/PNG generation, time-zone-aware timed events, state holidays, and astronomical/historic calendar systems are outside 0.1.0.
134
+ Gregorian civil dates are represented by Ruby `Date`. Month grids use Sunday-first or Monday-first ordering. ISO weeks and week-years follow Ruby's ISO calendar fields. The standard `Date` implementation defines the supported range; invalid dates and invalid month values raise errors. Holiday rules are limited to the documented US federal rule set; local and organization-specific holidays remain caller data. Payroll dates and fiscal-week policies are configurable where the library has a defined option. PDF/PNG generation, time-zone-aware timed events, state holidays, and astronomical/historic calendar systems are outside 0.1.1.
135
135
 
136
136
  ## Development
137
137
 
@@ -145,7 +145,7 @@ CI runs tests, Ruby syntax checks, package build, archive inspection, and CLI he
145
145
 
146
146
  ## Documentation and related tools
147
147
 
148
- Technical guides are in [`docs/`](docs/). Helpful browser-based references include [monthly calendar templates](https://make-a-calendar.com/monthly-calendars), [date calculators](https://make-a-calendar.com/date-tools), [business-day calculator](https://make-a-calendar.com/business-days-calculator), [4-4-5 calendar overview](https://make-a-calendar.com/445-calendar), [date converters](https://make-a-calendar.com/converters), and the [iCalendar generator](https://make-a-calendar.com/ical-generator). Those pages are separate web tools; this gem runs locally and does not depend on them.
148
+ Technical guides are in [`docs/`](docs/). Helpful browser-based references include [monthly calendar templates](https://make-a-calendar.com/monthly-calendars), [date calculators](https://make-a-calendar.com/date-tools), [business-day calculator](https://make-a-calendar.com/business-days-calculator), [4-4-5 calendar overview](https://make-a-calendar.com/445-calendar), [date converters](https://make-a-calendar.com/converters), and the [iCalendar generator](https://make-a-calendar.com/ical-generator). Those pages are separate web tools; this gem runs locally and does not depend on them. Additional useful pages are the [calendar reuse calculator](https://make-a-calendar.com/reuse-calendar), [years with the same calendar](https://make-a-calendar.com/same-calendar-years), and [weekdays-in-year calculator](https://make-a-calendar.com/weekdays-in-year-calculator).
149
149
 
150
150
  ## Contributing, security, license
151
151
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MakeACalendar
4
- VERSION = "0.1.0".freeze
4
+ VERSION = "0.1.1".freeze
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: make_a_calendar_toolkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ethan
@@ -43,7 +43,10 @@ description: |
43
43
  NRF-style retail fiscal calendars, date conversions, SVG and HTML calendars, JSON and CSV
44
44
  data, and date-only iCalendar exports. It is original Ruby code inspired by practical date
45
45
  workflows; it does not call or reproduce the private implementation of Make a Calendar.
46
- Created by Ethan, the developer behind https://make-a-calendar.com/.
46
+ Created by Ethan, the developer behind Make a Calendar: https://make-a-calendar.com/.
47
+ Try the online calendar generator at https://make-a-calendar.com/calendar-generator and browse printable monthly calendars at https://make-a-calendar.com/monthly-calendars.
48
+ Online date resources include https://make-a-calendar.com/date-tools and the business-day calculator at https://make-a-calendar.com/business-days-calculator.
49
+ Related browser tools: https://make-a-calendar.com/445-calendar, https://make-a-calendar.com/converters, and https://make-a-calendar.com/ical-generator.
47
50
  email:
48
51
  - makeacalendarcom@gmail.com
49
52
  executables:
@@ -134,6 +137,5 @@ required_rubygems_version: !ruby/object:Gem::Requirement
134
137
  requirements: []
135
138
  rubygems_version: 3.6.9
136
139
  specification_version: 4
137
- summary: Ruby toolkit for printable calendars, business schedules, holidays, fiscal
138
- planning, and date conversions.
140
+ summary: Offline Ruby calendar toolkit from the creator of Make a Calendar.
139
141
  test_files: []