diff --git a/.github/ISSUE_TEMPLATE/Code.yml b/.github/ISSUE_TEMPLATE/Code.yml index 421dee7c1..f87f66b73 100644 --- a/.github/ISSUE_TEMPLATE/Code.yml +++ b/.github/ISSUE_TEMPLATE/Code.yml @@ -19,7 +19,7 @@ body: attributes: label: 👀 Before submitting... options: - - label: I upgraded to pagy version 8.4.5 + - label: I upgraded to pagy version 8.5.0 required: true - label: I searched through the [Documentation](https://ddnexus.github.io/pagy/) required: true diff --git a/.github/latest_release_body.md b/.github/latest_release_body.md index 4618dffc8..214f06549 100644 --- a/.github/latest_release_body.md +++ b/.github/latest_release_body.md @@ -6,15 +6,18 @@ - The `foundation`, `materialize`, `semantic` and `uikit` CSS extras have been discontinued and will be removed in v9 (See the [details](https://github.com/ddnexus/pagy/discussions/672#discussioncomment-9212328)) - See the [CHANGELOG](https://ddnexus.github.io/pagy/changelog) for possible breaking changes -### Changes in 8.4.5 +### Changes in 8.5.0 -- Fix pluralization rule link on locale files (#716) -- Install gems in pagy CI -- Indentation changes -- Remove :cycle false default -- Fill aria_label.nav ca pluralized entry (#715) (Fixes #581) -- Fix typos (#710) +- Improve pagy playground launcher +- Refactor calendar class structure +- Remove automatic skipping of bundle install in playground apps +- Update ruby calendar test +- Update cypress calendar test +- Refactor calendar test environment to use activerecord +- Add code for calendar counts +- Remove redundant Warning +- Convert calendar.ru to calendar_rails.ru [CHANGELOG](https://ddnexus.github.io/pagy/changelog) diff --git a/.github/workflows/e2e-test.yml b/.github/workflows/e2e-test.yml index 6e4f57737..12cedce0a 100644 --- a/.github/workflows/e2e-test.yml +++ b/.github/workflows/e2e-test.yml @@ -52,7 +52,7 @@ jobs: ruby-version: '3.3' bundler-cache: true - name: Install bun - uses: oven-sh/setup-bun@v1 + uses: oven-sh/setup-bun@v2 with: bun-version: latest - name: Install Dependencies diff --git a/.idea/runConfigurations/Calendar.xml b/.idea/runConfigurations/Calendar.xml index 3b8d997c0..f3948c2c4 100644 --- a/.idea/runConfigurations/Calendar.xml +++ b/.idea/runConfigurations/Calendar.xml @@ -8,7 +8,11 @@ - + + + + + - + - + \ No newline at end of file diff --git a/.idea/runConfigurations/Demo.xml b/.idea/runConfigurations/Demo.xml index bc5b6e1c0..29881e6d7 100644 --- a/.idea/runConfigurations/Demo.xml +++ b/.idea/runConfigurations/Demo.xml @@ -8,7 +8,11 @@ - + + + + + - + - + \ No newline at end of file diff --git a/.idea/runConfigurations/Rails.xml b/.idea/runConfigurations/Rails.xml index 754552ee0..dc224aa04 100644 --- a/.idea/runConfigurations/Rails.xml +++ b/.idea/runConfigurations/Rails.xml @@ -8,7 +8,11 @@ - + + + + + - + - + \ No newline at end of file diff --git a/.idea/runConfigurations/Repro.xml b/.idea/runConfigurations/Repro.xml index 3aea09b40..5992b1d51 100644 --- a/.idea/runConfigurations/Repro.xml +++ b/.idea/runConfigurations/Repro.xml @@ -8,7 +8,11 @@ - + + + + + - + - + \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index f1ec8cba3..a86595524 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,18 @@ If you upgrade from version `< 8.0.0` see the following: - `pagy-module.d.ts`: use `pagy.d.ts`
+## Version 8.5.0 + +- Improve pagy playground launcher +- Refactor calendar class structure +- Remove automatic skipping of bundle install in playground apps +- Update ruby calendar test +- Update cypress calendar test +- Refactor calendar test environment to use activerecord +- Add code for calendar counts +- Remove redundant Warning +- Convert calendar.ru to calendar_rails.ru + ## Version 8.4.5 - Fix pluralization rule link on locale files (#716) diff --git a/Gemfile b/Gemfile index 6d31d0db0..ce6e0d2b3 100644 --- a/Gemfile +++ b/Gemfile @@ -24,6 +24,7 @@ group :test do end group :playground do + gem 'groupdate' gem 'puma' gem 'rackup' gem 'rails' @@ -31,7 +32,9 @@ group :playground do gem 'rouge' gem 'sinatra' gem 'sinatra-contrib' - gem 'sqlite3', '~> 1.4.0' # actierecord/sqlite3_adapter.rb constraint !!! + # activerecord/sqlite3_adapter.rb probably useless) constraint !!! + # https://github.com/rails/rails/blame/v7.1.3.4/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb#L14 + gem 'sqlite3', '~> 1.4.0' end # group :performance do diff --git a/Gemfile.lock b/Gemfile.lock index 01dfc03b1..cfed56709 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: gem specs: - pagy (8.4.5) + pagy (8.5.0) GEM remote: https://rubygems.org/ @@ -80,8 +80,8 @@ GEM minitest (>= 5.1) mutex_m tzinfo (~> 2.0) - addressable (2.8.6) - public_suffix (>= 2.0.2, < 6.0) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) ansi (1.5.0) ast (2.4.2) base64 (0.2.0) @@ -102,6 +102,8 @@ GEM rake globalid (1.2.1) activesupport (>= 6.1) + groupdate (6.4.0) + activesupport (>= 6.1) http (5.2.0) addressable (~> 2.8) base64 (~> 0.1) @@ -135,8 +137,8 @@ GEM net-smtp marcel (1.0.4) mini_mime (1.1.5) - minitest (5.23.1) - minitest-reporters (1.6.1) + minitest (5.24.0) + minitest-reporters (1.7.1) ansi builder minitest (>= 5.0) @@ -145,7 +147,7 @@ GEM mustermann (3.0.0) ruby2_keywords (~> 0.0.1) mutex_m (0.2.0) - net-imap (0.4.13) + net-imap (0.4.14) date net-protocol net-pop (0.1.2) @@ -167,11 +169,11 @@ GEM racc psych (5.1.2) stringio - public_suffix (5.1.1) + public_suffix (6.0.0) puma (6.4.2) nio4r (~> 2.0) racc (1.8.0) - rack (3.1.3) + rack (3.1.4) rack-protection (4.0.0) base64 (>= 0.1.0) rack (>= 3.0.0, < 4) @@ -291,6 +293,7 @@ PLATFORMS DEPENDENCIES activesupport + groupdate http i18n minitest diff --git a/README.md b/README.md index 2b14a3fc2..d4b403d81 100644 --- a/README.md +++ b/README.md @@ -362,7 +362,7 @@ See also the [How To Page](https://ddnexus.github.io/pagy/docs/how-to) ## Top 💯 Contributors -[](https://github.com/ddnexus/pagy/commits?author=ddnexus)[](https://github.com/ddnexus/pagy/commits?author=benkoshy)[](https://github.com/ddnexus/pagy/commits?author=grosser)[](https://github.com/ddnexus/pagy/commits?author=Earlopain)[](https://github.com/ddnexus/pagy/commits?author=workgena)[](https://github.com/ddnexus/pagy/commits?author=djpremier)[](https://github.com/ddnexus/pagy/commits?author=bquorning)[](https://github.com/ddnexus/pagy/commits?author=molfar)[](https://github.com/ddnexus/pagy/commits?author=sunny)[](https://github.com/ddnexus/pagy/commits?author=enzinia)[](https://github.com/ddnexus/pagy/commits?author=espen)[](https://github.com/ddnexus/pagy/commits?author=berniechiu)[](https://github.com/ddnexus/pagy/commits?author=renshuki)[](https://github.com/ddnexus/pagy/commits?author=wimdavies)[](https://github.com/ddnexus/pagy/commits?author=tiagotex)[](https://github.com/ddnexus/pagy/commits?author=gamafranco)[](https://github.com/ddnexus/pagy/commits?author=thomasklemm)[](https://github.com/ddnexus/pagy/commits?author=tersor)[](https://github.com/ddnexus/pagy/commits?author=747)[](https://github.com/ddnexus/pagy/commits?author=ashmaroli)[](https://github.com/ddnexus/pagy/commits?author=cseelus)[](https://github.com/ddnexus/pagy/commits?author=sabljak)[](https://github.com/ddnexus/pagy/commits?author=petergoldstein)[](https://github.com/ddnexus/pagy/commits?author=rainerborene)[](https://github.com/ddnexus/pagy/commits?author=simonneutert)[](https://github.com/ddnexus/pagy/commits?author=artplan1)[](https://github.com/ddnexus/pagy/commits?author=serghost)[](https://github.com/ddnexus/pagy/commits?author=Tolchi)[](https://github.com/ddnexus/pagy/commits?author=yenshirak)[](https://github.com/ddnexus/pagy/commits?author=rafaelmontas)[](https://github.com/ddnexus/pagy/commits?author=rafaeelaudibert)[](https://github.com/ddnexus/pagy/commits?author=pedrocarmona)[](https://github.com/ddnexus/pagy/commits?author=olleolleolle)[](https://github.com/ddnexus/pagy/commits?author=okuramasafumi)[](https://github.com/ddnexus/pagy/commits?author=WilliamHorel)[](https://github.com/ddnexus/pagy/commits?author=woller)[](https://github.com/ddnexus/pagy/commits?author=sk8higher)[](https://github.com/ddnexus/pagy/commits?author=muhammadnawzad)[](https://github.com/ddnexus/pagy/commits?author=ronald)[](https://github.com/ddnexus/pagy/commits?author=achmiral)[](https://github.com/ddnexus/pagy/commits?author=mauro-ni)[](https://github.com/ddnexus/pagy/commits?author=borama)[](https://github.com/ddnexus/pagy/commits?author=creativetags)[](https://github.com/ddnexus/pagy/commits?author=mcary)[](https://github.com/ddnexus/pagy/commits?author=marckohlbrugge)[](https://github.com/ddnexus/pagy/commits?author=fluser)[](https://github.com/ddnexus/pagy/commits?author=maful)[](https://github.com/ddnexus/pagy/commits?author=tr4b4nt)[](https://github.com/ddnexus/pagy/commits?author=tiejianluo)[](https://github.com/ddnexus/pagy/commits?author=szTheory)[](https://github.com/ddnexus/pagy/commits?author=smoothdvd)[](https://github.com/ddnexus/pagy/commits?author=rhodes-david)[](https://github.com/ddnexus/pagy/commits?author=radinreth)[](https://github.com/ddnexus/pagy/commits?author=okliv)[](https://github.com/ddnexus/pagy/commits?author=nedimdz)[](https://github.com/ddnexus/pagy/commits?author=msdundar)[](https://github.com/ddnexus/pagy/commits?author=m-abdurrehman)[](https://github.com/ddnexus/pagy/commits?author=dwieringa)[](https://github.com/ddnexus/pagy/commits?author=jyuvaraj03)[](https://github.com/ddnexus/pagy/commits?author=YutoYasunaga)[](https://github.com/ddnexus/pagy/commits?author=iamyujinwon)[](https://github.com/ddnexus/pagy/commits?author=yhk1038)[](https://github.com/ddnexus/pagy/commits?author=ya-s-u)[](https://github.com/ddnexus/pagy/commits?author=yshmarov)[](https://github.com/ddnexus/pagy/commits?author=thattimc)[](https://github.com/ddnexus/pagy/commits?author=thomaschauffour)[](https://github.com/ddnexus/pagy/commits?author=snkashis)[](https://github.com/ddnexus/pagy/commits?author=sliminas)[](https://github.com/ddnexus/pagy/commits?author=Federico-G)[](https://github.com/ddnexus/pagy/commits?author=egimenos)[](https://github.com/ddnexus/pagy/commits?author=elliotlarson)[](https://github.com/ddnexus/pagy/commits?author=hungdiep97)[](https://github.com/ddnexus/pagy/commits?author=davidwessman)[](https://github.com/ddnexus/pagy/commits?author=david-a-wheeler)[](https://github.com/ddnexus/pagy/commits?author=daniel-rikowski)[](https://github.com/ddnexus/pagy/commits?author=connie-feng)[](https://github.com/ddnexus/pagy/commits?author=MrMoins)[](https://github.com/ddnexus/pagy/commits?author=excid3)[](https://github.com/ddnexus/pagy/commits?author=cellvinchung)[](https://github.com/ddnexus/pagy/commits?author=brunoocasali)[](https://github.com/ddnexus/pagy/commits?author=BrandonKlotz)[](https://github.com/ddnexus/pagy/commits?author=Atul9)[](https://github.com/ddnexus/pagy/commits?author=amenon)[](https://github.com/ddnexus/pagy/commits?author=artinboghosian)[](https://github.com/ddnexus/pagy/commits?author=antonzaharia)[](https://github.com/ddnexus/pagy/commits?author=PyrinAndrii)[](https://github.com/ddnexus/pagy/commits?author=andrew)[](https://github.com/ddnexus/pagy/commits?author=AliOsm)[](https://github.com/ddnexus/pagy/commits?author=AbelToy)[](https://github.com/ddnexus/pagy/commits?author=loed-idzinga)[](https://github.com/ddnexus/pagy/commits?author=epeirce)[](https://github.com/ddnexus/pagy/commits?author=kobusjoubert)[](https://github.com/ddnexus/pagy/commits?author=KevinColemanInc)[](https://github.com/ddnexus/pagy/commits?author=neontuna)[](https://github.com/ddnexus/pagy/commits?author=xuanxu)[](https://github.com/ddnexus/pagy/commits?author=jpgarritano)[](https://github.com/ddnexus/pagy/commits?author=archonic)[](https://github.com/ddnexus/pagy/commits?author=jonasMirendo)[](https://github.com/ddnexus/pagy/commits?author=lostapathy)[](https://github.com/ddnexus/pagy/commits?author=jivko-chobanov) +[](https://github.com/ddnexus/pagy/commits?author=ddnexus)[](https://github.com/ddnexus/pagy/commits?author=benkoshy)[](https://github.com/ddnexus/pagy/commits?author=grosser)[](https://github.com/ddnexus/pagy/commits?author=Earlopain)[](https://github.com/ddnexus/pagy/commits?author=workgena)[](https://github.com/ddnexus/pagy/commits?author=espen)[](https://github.com/ddnexus/pagy/commits?author=enzinia)[](https://github.com/ddnexus/pagy/commits?author=sunny)[](https://github.com/ddnexus/pagy/commits?author=molfar)[](https://github.com/ddnexus/pagy/commits?author=bquorning)[](https://github.com/ddnexus/pagy/commits?author=djpremier)[](https://github.com/ddnexus/pagy/commits?author=747)[](https://github.com/ddnexus/pagy/commits?author=tersor)[](https://github.com/ddnexus/pagy/commits?author=thomasklemm)[](https://github.com/ddnexus/pagy/commits?author=gamafranco)[](https://github.com/ddnexus/pagy/commits?author=tiagotex)[](https://github.com/ddnexus/pagy/commits?author=wimdavies)[](https://github.com/ddnexus/pagy/commits?author=renshuki)[](https://github.com/ddnexus/pagy/commits?author=berniechiu)[](https://github.com/ddnexus/pagy/commits?author=ashmaroli)[](https://github.com/ddnexus/pagy/commits?author=cseelus)[](https://github.com/ddnexus/pagy/commits?author=sabljak)[](https://github.com/ddnexus/pagy/commits?author=petergoldstein)[](https://github.com/ddnexus/pagy/commits?author=rainerborene)[](https://github.com/ddnexus/pagy/commits?author=rbngzlv)[](https://github.com/ddnexus/pagy/commits?author=simonneutert)[](https://github.com/ddnexus/pagy/commits?author=artplan1)[](https://github.com/ddnexus/pagy/commits?author=serghost)[](https://github.com/ddnexus/pagy/commits?author=Tolchi)[](https://github.com/ddnexus/pagy/commits?author=rogermarlow)[](https://github.com/ddnexus/pagy/commits?author=yenshirak)[](https://github.com/ddnexus/pagy/commits?author=rafaelmontas)[](https://github.com/ddnexus/pagy/commits?author=rafaeelaudibert)[](https://github.com/ddnexus/pagy/commits?author=pedrocarmona)[](https://github.com/ddnexus/pagy/commits?author=olleolleolle)[](https://github.com/ddnexus/pagy/commits?author=okuramasafumi)[](https://github.com/ddnexus/pagy/commits?author=WilliamHorel)[](https://github.com/ddnexus/pagy/commits?author=woller)[](https://github.com/ddnexus/pagy/commits?author=sk8higher)[](https://github.com/ddnexus/pagy/commits?author=muhammadnawzad)[](https://github.com/ddnexus/pagy/commits?author=ronald)[](https://github.com/ddnexus/pagy/commits?author=achmiral)[](https://github.com/ddnexus/pagy/commits?author=mauro-ni)[](https://github.com/ddnexus/pagy/commits?author=borama)[](https://github.com/ddnexus/pagy/commits?author=creativetags)[](https://github.com/ddnexus/pagy/commits?author=mcary)[](https://github.com/ddnexus/pagy/commits?author=marckohlbrugge)[](https://github.com/ddnexus/pagy/commits?author=fluser)[](https://github.com/ddnexus/pagy/commits?author=tr4b4nt)[](https://github.com/ddnexus/pagy/commits?author=tiejianluo)[](https://github.com/ddnexus/pagy/commits?author=szTheory)[](https://github.com/ddnexus/pagy/commits?author=smoothdvd)[](https://github.com/ddnexus/pagy/commits?author=rhodes-david)[](https://github.com/ddnexus/pagy/commits?author=radinreth)[](https://github.com/ddnexus/pagy/commits?author=okliv)[](https://github.com/ddnexus/pagy/commits?author=nedimdz)[](https://github.com/ddnexus/pagy/commits?author=msdundar)[](https://github.com/ddnexus/pagy/commits?author=m-abdurrehman)[](https://github.com/ddnexus/pagy/commits?author=dwieringa)[](https://github.com/ddnexus/pagy/commits?author=jyuvaraj03)[](https://github.com/ddnexus/pagy/commits?author=YutoYasunaga)[](https://github.com/ddnexus/pagy/commits?author=iamyujinwon)[](https://github.com/ddnexus/pagy/commits?author=yhk1038)[](https://github.com/ddnexus/pagy/commits?author=ya-s-u)[](https://github.com/ddnexus/pagy/commits?author=yshmarov)[](https://github.com/ddnexus/pagy/commits?author=thattimc)[](https://github.com/ddnexus/pagy/commits?author=thomaschauffour)[](https://github.com/ddnexus/pagy/commits?author=snkashis)[](https://github.com/ddnexus/pagy/commits?author=sliminas)[](https://github.com/ddnexus/pagy/commits?author=maful)[](https://github.com/ddnexus/pagy/commits?author=Federico-G)[](https://github.com/ddnexus/pagy/commits?author=egimenos)[](https://github.com/ddnexus/pagy/commits?author=elliotlarson)[](https://github.com/ddnexus/pagy/commits?author=hungdiep97)[](https://github.com/ddnexus/pagy/commits?author=davidwessman)[](https://github.com/ddnexus/pagy/commits?author=david-a-wheeler)[](https://github.com/ddnexus/pagy/commits?author=daniel-rikowski)[](https://github.com/ddnexus/pagy/commits?author=connie-feng)[](https://github.com/ddnexus/pagy/commits?author=MrMoins)[](https://github.com/ddnexus/pagy/commits?author=excid3)[](https://github.com/ddnexus/pagy/commits?author=cellvinchung)[](https://github.com/ddnexus/pagy/commits?author=brunoocasali)[](https://github.com/ddnexus/pagy/commits?author=BrandonKlotz)[](https://github.com/ddnexus/pagy/commits?author=Atul9)[](https://github.com/ddnexus/pagy/commits?author=amenon)[](https://github.com/ddnexus/pagy/commits?author=artinboghosian)[](https://github.com/ddnexus/pagy/commits?author=antonzaharia)[](https://github.com/ddnexus/pagy/commits?author=PyrinAndrii)[](https://github.com/ddnexus/pagy/commits?author=andrew)[](https://github.com/ddnexus/pagy/commits?author=AliOsm)[](https://github.com/ddnexus/pagy/commits?author=AbelToy)[](https://github.com/ddnexus/pagy/commits?author=loed-idzinga)[](https://github.com/ddnexus/pagy/commits?author=epeirce)[](https://github.com/ddnexus/pagy/commits?author=kobusjoubert)[](https://github.com/ddnexus/pagy/commits?author=KevinColemanInc)[](https://github.com/ddnexus/pagy/commits?author=neontuna)[](https://github.com/ddnexus/pagy/commits?author=xuanxu)[](https://github.com/ddnexus/pagy/commits?author=jpgarritano)[](https://github.com/ddnexus/pagy/commits?author=archonic)[](https://github.com/ddnexus/pagy/commits?author=jonasMirendo)
diff --git a/bun.lockb b/bun.lockb index ae74249dd..ab8cab475 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/docs/api/calendar.md b/docs/api/calendar.md index c23efd1f5..5df158ade 100644 --- a/docs/api/calendar.md +++ b/docs/api/calendar.md @@ -8,114 +8,23 @@ image: "none" # Pagy::Calendar -This is a `Pagy` subclass that provides pagination filtering by time in order to support -the [Calendar extra](/docs/extras/calendar.md). +This is a `Hash` subclass that organizes and tracks the `Calendar::Units` of the calendar system. It is used internally by the [Calendar extra](/docs/extras/calendar.md) that provides the high level API and returns the `calendar` hash (an instance of this class). !!!warning Active Support Required It requires the `activesupport` gem, which you have to require in your Gemfile only if your app does not use Rails. !!! + +The `Pagy::Calendar` instance is a hash containing a certain number of time units objects, keyed by their unit symbol. -!!!primary Module to be used with `pagy` classes -The `Pagy::Calendar::*` subclasses provide support for the [calendar extra](/docs/extras/calendar.md) and are meant to be used -with standard, non-calendar Pagy classes and never alone (because they could generate a very high number of items per page). The -class APIs are documented here, however you should not need to use them directly because they are required and used internally by -the extra. -!!! - -## Overview - -The pagy `Pagy::Calendar::*` instances split a time period into pages of equal time unit. For example: with `Pagy::Calendar::Year` -you will have one page per each different calendar year so each page can be filtered to contain all the records that fall into the -specific page/year. The `Pagy::Calendar::Quarter`, `Pagy::Calendar::Month`, `Pagy::Calendar::Week` and `Pagy::Calendar::Day` -classes have the same functions for their respective time units. - -Each page is also conveniently labeled in the navigation bar with the specific `Time` period it refers to. - -!!!primary Natural Calendar Unit Respected -This classes respects the natural calendar units, not the duration of a unit. If you paginate by year, each page will be a -calendar year starting January 1st and ending December 31st, not a period starting and ending at two arbitrary dates one year -apart. All the classes follow the same principle. Time units with no records are displayed as empty pages. -!!! - -## Variables - -Being subclasses of `Pagy`, the `Pagy::Calendar::*` classes share most of their superclass infrastructure and variables, however -they use a completely different way to paginate (e.g.: no `:count` nor `:items` variables) and they have a few extra core -variables. - -The following variables are specific to `Pagy::Calendar::*` instances: - -| Variable | Description | Default | -|:----------|:----------------------------------------------------------------------------------------------------------|:--------| -| `:period` | Required two items Array with the calendar starting and ending local `TimeWithZone` objects | `nil` | -| `:order` | Order of pagination: it can be`:asc` or `:desc` | `:asc` | -| `:format` | String containing the `strftime` extendable format used for labelling (each subclass has its own default) | | - -**Notice**: For the `Pagy::Calendar::Quarter` the `:format` variable can contain a non-standard `%q` format which is substituted -with the quarter (1-4). - -## DEFAULT variables - -The calendar defaults are not part of the `Pagy::DEFAULT` variables. Each subclass has its own `Pagy::Calendar::*::DEFAULT` -variable hash that you can set independently. See the pagy initializer file for details. - -## Attribute Readers - -| Reader | Description | -|:--------|:----------------------------------------------------------| -| `from` | The local `TimeWithZone` of the start of the current page | -| `to` | The local `TimeWithZone` of the end of the current page | -| `order` | The `:order` variable | - -### About from and to objects - -- The `from` is the beginning of the current time unit. Notice that for the first page it falls BEFORE the starting of - the `:period`. -- The `to` is the beginning of the next time unit. Notice that for the last page it falls AFTER the ending of the `:period`. - -The cases for first and last pages have no effect when you use the `from`/`to` as a collection filter, since the collection is -already filtered by the `:period` so there are no records outside it. - -### Time conversions - -This classes can use the recommended `ActiveSupport::TimeWithZone` class or the ruby `Time` class for all their time calculations. +## Methods -Since they are meant to be used in the UI, they use the user/server local time in order to make sense for the UI. For that reason -their input (the `:period` variable) and output (the `from` and `to` accessors) are always local time. +=== `showtime` -If you use `ActiveRecord`, your app should set the `Time.zone` for your user or your server. Then you can convert an UTC time from -the storage to a local `TimeWithZone` object for the calendar very easily with: +This method returns the current time of the smallest time unit shown. You can store it and retrieve the same calendar at a +later time using the `pagy_calendar_url_at` ```ruby -utc_time.in_time_zone +pagy_calendar_url_at(@calendar, retrived_calendar_showtime) ``` -You can also convert from local to UTC time with `local_time.utc`, however, when you use it as an argument in a -scope, `ActiveRecord` converts it for you. - -### First weekday - -Set the `Date.beginning_of_week` toto the symbol of the first day of the week (e.g. `Date.beginning_of_week = :sunday`). Notice -the default is `:monday` consistently with the ISO-8601 standard (and Rails). - -## Methods - -==- `label(opts = {})` - -This method uses the `:format` variable to generate the current page label with the specific `TimeWithZone` period it refers to. It accepts an optional `:format` keyword argument for overriding. -=== - -==- `label_for(page, opts = {})` - -This method takes a page number argument (`Integer` or `String`) and uses the `:format` variable to generate its label with the specific `Time` period it refers to. It accepts an optional `:format` keyword argument for overriding. === - -## Custom units - -You can define your own custom unit of any time length. For example you may want to add a unit of 2 months (i.e. a "bimester" -unit), which should define a `Pagy::Calendar::Bimester` class. - -In order to allow its full integration, you should also insert your `:bimester` unit symbol in the `Pagy::Calendar::UNITS` list, -between `:quarter` and `:month`, which will keep the list in desc order of duration. - -You can also implement your own custom substitution formats for your custom units, by overriding the `label_for(page, opts)`. diff --git a/docs/api/calendar/index.yml b/docs/api/calendar/index.yml new file mode 100644 index 000000000..b2c0be95a --- /dev/null +++ b/docs/api/calendar/index.yml @@ -0,0 +1,2 @@ +order: -10 +image: none diff --git a/docs/api/calendar/units.md b/docs/api/calendar/units.md new file mode 100644 index 000000000..bd12bfd5c --- /dev/null +++ b/docs/api/calendar/units.md @@ -0,0 +1,116 @@ +--- +title: Pagy::Calendar::Unit +category: + - Feature + - Class +image: "none" +--- + +# Pagy::Calendar::Unit + +This is the base class inherited by all the calendar `units`. This page documents the API for the units, however you should not need to use them directly because they are required and used internally by the extra. + +The `Pagy::Calendar::*` subclasses provide time unit filters for the [calendar extra](/docs/extras/calendar.md) + +!!!warning Warning +This classes provide time filtering for the collection, not items filtering. That's why they require a regular pagy object for +the final items pagination. +!!! + +## Overview + +The pagy `Pagy::Calendar::*` instances split a time period into pages of equal time unit. For example: with `Pagy::Calendar::Year` +you will have one page per each different calendar year so each page can be filtered to contain all the records that fall into the +specific page/year. The `Pagy::Calendar::Quarter`, `Pagy::Calendar::Month`, `Pagy::Calendar::Week` and `Pagy::Calendar::Day` +classes have the same functions for their respective time units. + +Each page is also conveniently labeled in the navigation bar with the specific `Time` period it refers to. + +!!!primary Natural Calendar Unit Respected +This classes respects the natural calendar units, not the duration of a unit. If you paginate by year, each page will be a +calendar year starting January 1st and ending December 31st, not a period starting and ending at two arbitrary dates one year +apart. All the classes follow the same principle. Time units with no records are displayed as empty pages. +!!! + +## Variables + +Being subclasses of `Pagy`, the `Pagy::Calendar::*` classes share most of their superclass infrastructure and variables, however +they use a completely different way to paginate (e.g.: no `:count` nor `:items` variables) and they have a few extra core +variables. + +The following variables are specific to `Pagy::Calendar::*` instances: + +| Variable | Description | Default | +|:----------|:----------------------------------------------------------------------------------------------------------|:--------| +| `:period` | Required two items Array with the calendar starting and ending local `TimeWithZone` objects | `nil` | +| `:order` | Order of pagination: it can be`:asc` or `:desc` | `:asc` | +| `:format` | String containing the `strftime` extendable format used for labelling (each subclass has its own default) | | + +**Notice**: For the `Pagy::Calendar::Quarter` the `:format` variable can contain a non-standard `%q` format which is substituted +with the quarter (1-4). + +## DEFAULT variables + +The calendar defaults are not part of the `Pagy::DEFAULT` variables. Each subclass has its own `Pagy::Calendar::*::DEFAULT` +variable hash that you can set independently. See the pagy initializer file for details. + +## Attribute Readers + +| Reader | Description | +|:--------|:----------------------------------------------------------| +| `from` | The local `TimeWithZone` of the start of the current page | +| `to` | The local `TimeWithZone` of the end of the current page | +| `order` | The `:order` variable | + +### About from and to objects + +- The `from` is the beginning of the current time unit. Notice that for the first page it falls BEFORE the starting of + the `:period`. +- The `to` is the beginning of the next time unit. Notice that for the last page it falls AFTER the ending of the `:period`. + +The cases for first and last pages have no effect when you use the `from`/`to` as a collection filter, since the collection is +already filtered by the `:period` so there are no records outside it. + +### Time conversions + +This classes can use the recommended `ActiveSupport::TimeWithZone` class or the ruby `Time` class for all their time calculations. + +Since they are meant to be used in the UI, they use the user/server local time in order to make sense for the UI. For that reason +their input (the `:period` variable) and output (the `from` and `to` accessors) are always local time. + +If you use `ActiveRecord`, your app should set the `Time.zone` for your user or your server. Then you can convert an UTC time from +the storage to a local `TimeWithZone` object for the calendar very easily with: + +```ruby +utc_time.in_time_zone +``` + +You can also convert from local to UTC time with `local_time.utc`, however, when you use it as an argument in a +scope, `ActiveRecord` converts it for you. + +### First weekday + +Set the `Date.beginning_of_week` toto the symbol of the first day of the week (e.g. `Date.beginning_of_week = :sunday`). Notice +the default is `:monday` consistently with the ISO-8601 standard (and Rails). + +## Methods + +==- `label(opts = {})` + +This method uses the `:format` variable to generate the current page label with the specific `TimeWithZone` period it refers to. It accepts an optional `:format` keyword argument for overriding. +=== + +==- `label_for(page, opts = {})` + +This method takes a page number argument (`Integer` or `String`) and uses the `:format` variable to generate its label with the specific `Time` period it refers to. It accepts an optional `:format` keyword argument for overriding. +=== + +## Custom units + +You can define your own custom unit of any time length. For example you may want to add a unit of 2 months (i.e. a "bimester" +unit), which should define a `Pagy::Calendar::Bimester` class. + +In order to allow its full integration, you should also insert your `:bimester` unit symbol in the `Pagy::Calendar::UNITS` list, +between `:quarter` and `:month`, which will keep the list in desc order of duration. + +You can also implement your own custom substitution formats for your custom units, by overriding the `label_for(page, opts)`. diff --git a/docs/extras/calendar.md b/docs/extras/calendar.md index 1a6a67f28..67d087d14 100644 --- a/docs/extras/calendar.md +++ b/docs/extras/calendar.md @@ -35,21 +35,29 @@ require 'pagy/extras/calendar' ``` ```ruby controller -# e.g. application_controller.rb +# REQUIRED: return the start and end limits of the collection as a 2 items array def pagy_calendar_period(collection) - return_period_array_using(collection) + starting = collection.minimum(:created_at) + ending = collection.maximum(:created_at) + [starting.in_time_zone, ending.in_time_zone] end -# e.g. application_controller.rb +# REQUIRED: return the collection filtered by a time period def pagy_calendar_filter(collection, from, to) - return_filtered_collection_using(collection, from, to) + collection.where(created_at: from...to) +end + +# OPTIONAL: return the array counts per time +def pagy_calendar_counts(collection, unit, from, to) + collection.group_by_period(unit, :created_at, range: from...to).count.values end -# some action: +# Example of usage def index - @calendar, @pagy, @records = pagy_calendar(collection, year: { size: [1, 1, 1, 1], ... }, - month: { size: [0, 12, 12, 0], ... }, - pagy: { items: 10, ... }) + @calendar, @pagy, @records = pagy_calendar(collection, + year: {}, + month: {}, + pagy: {}) end ``` @@ -77,10 +85,11 @@ couple of simple methods in your app and configure the objects that it creates a The whole usage boils down to these steps: -1. Configure the [pagy_calendar](#pagy-calendar-collection-configuration) method in your action +1. Configure the [pagy_calendar](#pagy-calendar-collection-configuration) in your action 2. Define the [pagy_calendar_period](#pagy-calendar-period-collection) method in your controller 3. Define the [pagy_calendar_filter](#pagy-calendar-filter-collection-from-to) method in your controller -4. Use it in your UI +4. Optionally define the [pagy_calendar_counts](#pagy-calendar-counts-collection-unit-from-to) in your controller +5. Use it in your UI [!button corners="pill" variant="success" text=":icon-play: Try it now!"](/playground.md#4-calendar-app) @@ -242,8 +251,7 @@ Depending on the type of storage, the `collection` argument can contain a differ If you use `ActiveRecord` the `collection` is going to be an `ActiveRecord::Relation` object that you can easily filter. Here is an example with the `created_at` field again (but you can use anything, of course): -```ruby controller - +```ruby Controller def pagy_calendar_filter(collection, from, to) collection.where(created_at: from...to) # 3-dots range excluding the end value end @@ -258,6 +266,41 @@ arguments that you passed to the `Model.pagy_search` method. That array is what passing it to the standard `Model.search` method to do the actual search._ So in order to filter the actual search with the `from` and `to` local `TimeWithZone` objects, you should simply return the same array with the filtering added to its relevant item. Pagy will use it to do the actual (filtered) search. + +==- `pagy_calendar_counts(collection, unit, from, to)` + +!!!primary Optional implementation +This method can be implemented by the application in order to add some UI feedback to the pagy nav links +!!! + +If this method is defined, pagy will run it for each used calendar unit and will add an extra `empty-page` +CSS class to the links to empty pages (that can be targeted to give a visual UI feedback). Pagy will also add a `title` +attribute to display a tooltip info for each page link. + +The method receives the main `collection`, the `unit` symbol, and must return the array of the counts grouped by unit using the +`from` and `to` **local Time** objects. + +If your collection is an `ActiveRecord::Relation` object you won't have to do much: just add the +[groupdate gem](https://github.com/ankane/groupdate) to your bundle and use the following one liner (just change the +`:created_at` to the time field you need): + +```ruby +def pagy_calendar_counts(collection, unit, from, to) + collection.group_by_period(unit, :created_at, range: from...to).count.values +end +``` + +For other types of collection you should override the method. + +!!!warning Extra queries required + +The extra feedback triggered by this method executes one extra count query per unit, (e.g. with a year + month calendar +there are 2 extra queries). That is usually OK for most environments, but it might be slow on others, so check +it on your actual DB in order to evaluate the performance. + +If you want to use it dynamically, you can skip the extra query and the relative feedback by returning `nil` when you need it. +!!! + === ## Customization diff --git a/e2e/cy/open b/e2e/cy/open index a1c21d583..9ae47830b 100755 --- a/e2e/cy/open +++ b/e2e/cy/open @@ -9,4 +9,4 @@ root="$(git rev-parse --show-toplevel)" . "$root/scripts/cd-and-back.sh" cd "$root/e2e" -start-test "bundle exec pagy $app -p $port" http://0.0.0.0:$port "cypress open" +start-test "bundle exec pagy $app -p $port" http://0.0.0.0:$port --no-install "cypress open" diff --git a/e2e/cy/reconcile b/e2e/cy/reconcile index 71c939a79..bd681ed41 100755 --- a/e2e/cy/reconcile +++ b/e2e/cy/reconcile @@ -2,10 +2,23 @@ set -e +port=8080 + root="$(git rev-parse --show-toplevel)" . "$root/scripts/cd-and-back.sh" cd "$root/e2e" echo "Reconciling the test snapshots..." echo > snapshots.js -./cy-test + +test () { + NODE_NO_WARNINGS=1 \ + start-test "bundle exec pagy $app -p $port -q --no-install > /dev/null" "http://0.0.0.0:$port" \ + "cypress run --quiet --config baseUrl=http://0.0.0.0:$port --spec cypress/e2e/$app.cy.ts" +} + +for app in demo repro rails calendar +do + port=$((port+1)) + test +done diff --git a/e2e/cy/test b/e2e/cy/test index 09e066631..96d171349 100755 --- a/e2e/cy/test +++ b/e2e/cy/test @@ -11,7 +11,7 @@ cd "$root/e2e" test () { NODE_NO_WARNINGS=1 \ - start-test "bundle exec pagy $app -p $port -q > /dev/null" "http://0.0.0.0:$port" \ + start-test "bundle exec pagy $app -p $port -q --no-install > /dev/null" "http://0.0.0.0:$port" \ "cypress run --quiet --config baseUrl=http://0.0.0.0:$port --spec cypress/e2e/$app.cy.ts" } diff --git a/e2e/cypress/e2e/calendar.cy.ts b/e2e/cypress/e2e/calendar.cy.ts index ede9ce347..64815afad 100644 --- a/e2e/cypress/e2e/calendar.cy.ts +++ b/e2e/cypress/e2e/calendar.cy.ts @@ -1,13 +1,38 @@ import {snapIds} from "../support/test-helper.ts"; -const app = "calendar"; -const calIds = ["#year-nav", "#month-nav", "#day-nav", "#pagy-info"]; +const app = "calendar"; +const calIds = ["#year-nav", "#month-nav", "#day-nav", "#pagy-info"]; +const envVals = ["true", "false"]; -describe(`[${app}] Test helpers`, () => { +envVals.forEach((val) => { + + describe(`[${app}] Test helpers (skip ${val})`, () => { + beforeEach(() => { + cy.visit("/", {qs: { skip_counts: val }}); + }); + + it(`[${app}] Test #go-to-day`, () => { + cy.get("#go-to-day").click(); + snapIds(calIds); + }); + + it(`[${app}] Test calendar navs`, () => { + cy.get("#year-nav").contains("2022").click(); + snapIds(calIds); + cy.get("#month-nav").contains("Apr").click(); + snapIds(calIds); + cy.get("#day-nav").contains("05").click(); + snapIds(calIds); + cy.get("#day-nav").contains("06").click(); + snapIds(calIds); + }); + }); +}); + +describe(`[${app}] Test app`, () => { beforeEach(() => { cy.visit("/"); }); - it(`[${app}] Test #toggle`, () => { snapIds(calIds); cy.get("#toggle").click(); @@ -15,22 +40,4 @@ describe(`[${app}] Test helpers`, () => { cy.get("#toggle").click(); snapIds(calIds); }); - - it(`[${app}] Test #go-to-day`, () => { - cy.get("#go-to-day").click(); - snapIds(calIds); - }); - - it(`[${app}] Test calendar navs`, () => { - cy.get("#year-nav").contains("2022").click(); - snapIds(calIds); - cy.get("#month-nav").contains("Apr").click(); - snapIds(calIds); - cy.get("#day-nav").contains("05").click(); - snapIds(calIds); - cy.get("#day-nav").contains("06").click(); - snapIds(calIds); - }); - - }); diff --git a/e2e/snapshots.js b/e2e/snapshots.js index 6a45bd52b..6d760717a 100644 --- a/e2e/snapshots.js +++ b/e2e/snapshots.js @@ -313,5 +313,269 @@ module.exports = { "6": "Displaying items 981-1000 of 1000 in total" } }, - "__version": "13.12.0" + "__version": "13.12.0", + "[repro] Test helpers": { + "[repro] Test #nav": { + "1": "

@records: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20

", + "2": "", + "3": "

@records:\n 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40

", + "4": "", + "5": "

@records:\n 41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60

", + "6": "", + "7": "

@records:\n 981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000\n

", + "8": "", + "9": "

@records:\n 961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980\n

", + "10": "" + }, + "[repro] Test #nav-js": { + "1": "

@records: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20

", + "2": "", + "3": "

@records:\n 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40

", + "4": "", + "5": "

@records:\n 41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60

", + "6": "", + "7": "

@records:\n 981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000\n

", + "8": "", + "9": "

@records:\n 961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980\n

", + "10": "" + }, + "[repro] Test #nav-js-responsive": { + "1": "

@records: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20

", + "2": "", + "3": "

@records:\n 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40

", + "4": "", + "5": "

@records:\n 41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60

", + "6": "", + "7": "

@records:\n 981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000\n

", + "8": "", + "9": "

@records:\n 961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980\n

", + "10": "", + "11": "

@records: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20

", + "12": "", + "13": "

@records:\n 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40

", + "14": "", + "15": "

@records:\n 41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60

", + "16": "", + "17": "

@records:\n 981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000\n

", + "18": "", + "19": "

@records:\n 961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980\n

", + "20": "", + "21": "

@records: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20

", + "22": "", + "23": "

@records:\n 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40

", + "24": "", + "25": "

@records:\n 41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60

", + "26": "", + "27": "

@records:\n 981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000\n

", + "28": "", + "29": "

@records:\n 961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980\n

", + "30": "", + "31": "

@records: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20

", + "32": "", + "33": "

@records:\n 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40

", + "34": "", + "35": "

@records:\n 41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60

", + "36": "", + "37": "

@records:\n 981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000\n

", + "38": "", + "39": "

@records:\n 961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980\n

", + "40": "" + }, + "[repro] Test #combo-nav-js": { + "1": "

@records: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20

", + "2": "", + "3": "

@records:\n 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40

", + "4": "", + "5": "

@records:\n 41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60

", + "6": "", + "7": "

@records:\n 981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000\n

", + "8": "", + "9": "

@records:\n 961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980\n

", + "10": "", + "11": "

@records:\n 941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960\n

", + "12": "" + }, + "[repro] Test #pagy-info": { + "1": "

@records: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20

", + "2": "Displaying items 1-20 of 1000 in total", + "3": "

@records:\n 701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720\n

", + "4": "Displaying items 701-720 of 1000 in total", + "5": "

@records:\n 981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000\n

", + "6": "Displaying items 981-1000 of 1000 in total" + }, + "[repro] Test #items-selector-js": { + "1": "

@records: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20

", + "2": "", + "3": "

@records: 1,2,3,4,5,6,7,8,9,10

", + "4": "", + "5": "

@records: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17

", + "6": "", + "7": "

@records: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18

", + "8": "", + "9": "

@records:\n 701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720\n

", + "10": "", + "11": "

@records: 701,702,703,704,705,706,707,708,709,710

", + "12": "", + "13": "

@records:\n 698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714

", + "14": "", + "15": "

@records:\n 685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702

", + "16": "", + "17": "

@records:\n 981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000\n

", + "18": "", + "19": "

@records: 981,982,983,984,985,986,987,988,989,990

", + "20": "", + "21": "

@records:\n 970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986

", + "22": "", + "23": "

@records:\n 955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972

", + "24": "" + } + }, + "[rails] Test helpers": { + "[rails] Test #nav": { + "1": "
\n

Comment 1 to Post 1

\n

Comment 2 to Post 1

\n

Comment 1 to Post 2

\n

Comment 2 to Post 2

\n

Comment 1 to Post 3

\n

Comment 2 to Post 3

\n

Comment 1 to Post 4

\n

Comment 2 to Post 4

\n

Comment 1 to Post 5

\n

Comment 2 to Post 5

\n
", + "2": "", + "3": "
\n

Comment 1 to Post 6

\n

Comment 2 to Post 6

\n

Comment 1 to Post 7

\n

Comment 2 to Post 7

\n

Comment 1 to Post 8

\n

Comment 2 to Post 8

\n

Comment 1 to Post 9

\n

Comment 2 to Post 9

\n

Comment 1 to Post 10

\n

Comment 2 to Post 10

\n
", + "4": "", + "5": "
\n

Comment 1 to Post 11

\n

Comment 2 to Post 11

\n
", + "6": "", + "7": "
\n

Comment 1 to Post 6

\n

Comment 2 to Post 6

\n

Comment 1 to Post 7

\n

Comment 2 to Post 7

\n

Comment 1 to Post 8

\n

Comment 2 to Post 8

\n

Comment 1 to Post 9

\n

Comment 2 to Post 9

\n

Comment 1 to Post 10

\n

Comment 2 to Post 10

\n
", + "8": "" + }, + "[rails] Test #nav-js": { + "1": "
\n

Comment 1 to Post 1

\n

Comment 2 to Post 1

\n

Comment 1 to Post 2

\n

Comment 2 to Post 2

\n

Comment 1 to Post 3

\n

Comment 2 to Post 3

\n

Comment 1 to Post 4

\n

Comment 2 to Post 4

\n

Comment 1 to Post 5

\n

Comment 2 to Post 5

\n
", + "2": "", + "3": "
\n

Comment 1 to Post 6

\n

Comment 2 to Post 6

\n

Comment 1 to Post 7

\n

Comment 2 to Post 7

\n

Comment 1 to Post 8

\n

Comment 2 to Post 8

\n

Comment 1 to Post 9

\n

Comment 2 to Post 9

\n

Comment 1 to Post 10

\n

Comment 2 to Post 10

\n
", + "4": "", + "5": "
\n

Comment 1 to Post 11

\n

Comment 2 to Post 11

\n
", + "6": "", + "7": "
\n

Comment 1 to Post 6

\n

Comment 2 to Post 6

\n

Comment 1 to Post 7

\n

Comment 2 to Post 7

\n

Comment 1 to Post 8

\n

Comment 2 to Post 8

\n

Comment 1 to Post 9

\n

Comment 2 to Post 9

\n

Comment 1 to Post 10

\n

Comment 2 to Post 10

\n
", + "8": "" + }, + "[rails] Test #combo-nav-js": { + "1": "
\n

Comment 1 to Post 1

\n

Comment 2 to Post 1

\n

Comment 1 to Post 2

\n

Comment 2 to Post 2

\n

Comment 1 to Post 3

\n

Comment 2 to Post 3

\n

Comment 1 to Post 4

\n

Comment 2 to Post 4

\n

Comment 1 to Post 5

\n

Comment 2 to Post 5

\n
", + "2": "", + "3": "
\n

Comment 1 to Post 6

\n

Comment 2 to Post 6

\n

Comment 1 to Post 7

\n

Comment 2 to Post 7

\n

Comment 1 to Post 8

\n

Comment 2 to Post 8

\n

Comment 1 to Post 9

\n

Comment 2 to Post 9

\n

Comment 1 to Post 10

\n

Comment 2 to Post 10

\n
", + "4": "", + "5": "
\n

Comment 1 to Post 11

\n

Comment 2 to Post 11

\n
", + "6": "", + "7": "
\n

Comment 1 to Post 11

\n

Comment 2 to Post 11

\n
", + "8": "", + "9": "
\n

Comment 1 to Post 6

\n

Comment 2 to Post 6

\n

Comment 1 to Post 7

\n

Comment 2 to Post 7

\n

Comment 1 to Post 8

\n

Comment 2 to Post 8

\n

Comment 1 to Post 9

\n

Comment 2 to Post 9

\n

Comment 1 to Post 10

\n

Comment 2 to Post 10

\n
", + "10": "", + "11": "
\n

Comment 1 to Post 1

\n

Comment 2 to Post 1

\n

Comment 1 to Post 2

\n

Comment 2 to Post 2

\n

Comment 1 to Post 3

\n

Comment 2 to Post 3

\n

Comment 1 to Post 4

\n

Comment 2 to Post 4

\n

Comment 1 to Post 5

\n

Comment 2 to Post 5

\n
", + "12": "" + }, + "[rails] Test #items-selector-js": { + "1": "
\n

Comment 1 to Post 1

\n

Comment 2 to Post 1

\n

Comment 1 to Post 2

\n

Comment 2 to Post 2

\n

Comment 1 to Post 3

\n

Comment 2 to Post 3

\n

Comment 1 to Post 4

\n

Comment 2 to Post 4

\n

Comment 1 to Post 5

\n

Comment 2 to Post 5

\n
", + "2": "", + "3": "
\n

Comment 1 to Post 1

\n

Comment 2 to Post 1

\n

Comment 1 to Post 2

\n

Comment 2 to Post 2

\n

Comment 1 to Post 3

\n

Comment 2 to Post 3

\n

Comment 1 to Post 4

\n

Comment 2 to Post 4

\n

Comment 1 to Post 5

\n

Comment 2 to Post 5

\n
", + "4": "", + "5": "
\n

Comment 1 to Post 1

\n

Comment 2 to Post 1

\n

Comment 1 to Post 2

\n

Comment 2 to Post 2

\n

Comment 1 to Post 3

\n

Comment 2 to Post 3

\n

Comment 1 to Post 4

\n

Comment 2 to Post 4

\n

Comment 1 to Post 5

\n

Comment 2 to Post 5

\n
", + "6": "", + "7": "
\n

Comment 1 to Post 1

\n

Comment 2 to Post 1

\n

Comment 1 to Post 2

\n

Comment 2 to Post 2

\n

Comment 1 to Post 3

\n

Comment 2 to Post 3

\n

Comment 1 to Post 4

\n

Comment 2 to Post 4

\n

Comment 1 to Post 5

\n

Comment 2 to Post 5

\n

Comment 1 to Post 6

\n
", + "8": "", + "9": "
\n
", + "10": "", + "11": "
\n
", + "12": "", + "13": "
\n
", + "14": "", + "15": "
\n

Comment 1 to Post 1

\n

Comment 2 to Post 1

\n

Comment 1 to Post 2

\n

Comment 2 to Post 2

\n

Comment 1 to Post 3

\n

Comment 2 to Post 3

\n

Comment 1 to Post 4

\n

Comment 2 to Post 4

\n

Comment 1 to Post 5

\n

Comment 2 to Post 5

\n

Comment 1 to Post 6

\n
", + "16": "", + "17": "
\n
", + "18": "", + "19": "
\n
", + "20": "", + "21": "
\n
", + "22": "", + "23": "
\n

Comment 1 to Post 1

\n

Comment 2 to Post 1

\n

Comment 1 to Post 2

\n

Comment 2 to Post 2

\n

Comment 1 to Post 3

\n

Comment 2 to Post 3

\n

Comment 1 to Post 4

\n

Comment 2 to Post 4

\n

Comment 1 to Post 5

\n

Comment 2 to Post 5

\n

Comment 1 to Post 6

\n
", + "24": "" + }, + "[rails] Test #pagy-info": { + "1": "
\n

Comment 1 to Post 1

\n

Comment 2 to Post 1

\n

Comment 1 to Post 2

\n

Comment 2 to Post 2

\n

Comment 1 to Post 3

\n

Comment 2 to Post 3

\n

Comment 1 to Post 4

\n

Comment 2 to Post 4

\n

Comment 1 to Post 5

\n

Comment 2 to Post 5

\n
", + "2": "Displaying items 1-10 of 22 in total", + "3": "
\n
", + "4": "Displaying items 0-0 of 22 in total", + "5": "
\n
", + "6": "Displaying items 0-0 of 22 in total" + } + }, + "[calendar] Test helpers (skip true)": { + "[calendar] Test #go-to-day": { + "1": "
\n

Event #86 - 2022-03-02 23:35:41 UTC

\n
", + "2": "", + "3": "", + "4": "", + "5": "Displaying 1 item" + }, + "[calendar] Test calendar navs": { + "1": "
\n

Event #51 - 2022-01-01 19:18:06 UTC

\n
", + "2": "", + "3": "", + "4": "", + "5": "Displaying 1 item", + "6": "
\n

Event #106 - 2022-04-01 15:35:47 UTC

\n
", + "7": "", + "8": "", + "9": "", + "10": "Displaying 1 item", + "11": "
\n
", + "12": "", + "13": "", + "14": "", + "15": "No items found", + "16": "
\n

Event #110 - 2022-04-06 10:59:32 UTC

\n
", + "17": "", + "18": "", + "19": "", + "20": "Displaying 1 item" + } + }, + "[calendar] Test helpers (skip false)": { + "[calendar] Test #go-to-day": { + "1": "
\n

Event #86 - 2022-03-02 23:35:41 UTC

\n
", + "2": "", + "3": "", + "4": "", + "5": "Displaying 1 item" + }, + "[calendar] Test calendar navs": { + "1": "
\n

Event #51 - 2022-01-01 19:18:06 UTC

\n
", + "2": "", + "3": "", + "4": "", + "5": "Displaying 1 item", + "6": "
\n

Event #106 - 2022-04-01 15:35:47 UTC

\n
", + "7": "", + "8": "", + "9": "", + "10": "Displaying 1 item", + "11": "
\n
", + "12": "", + "13": "", + "14": "", + "15": "No items found", + "16": "
\n

Event #110 - 2022-04-06 10:59:32 UTC

\n
", + "17": "", + "18": "", + "19": "", + "20": "Displaying 1 item" + } + }, + "[calendar] Test app": { + "[calendar] Test #toggle": { + "1": "
\n

Event #1 - 2021-10-21 13:18:23 UTC

\n

Event #2 - 2021-10-21 23:14:50 UTC

\n
", + "2": "", + "3": "", + "4": "", + "5": "Displaying 2 items", + "6": "
\n

Event #1 - 2021-10-21 13:18:23 UTC

\n

Event #2 - 2021-10-21 23:14:50 UTC

\n

Event #3 - 2021-10-23 01:06:02 UTC

\n

Event #4 - 2021-10-25 18:54:35 UTC

\n

Event #5 - 2021-10-26 02:22:17 UTC

\n

Event #6 - 2021-10-28 22:59:49 UTC

\n

Event #7 - 2021-10-30 15:02:25 UTC

\n

Event #8 - 2021-11-02 04:03:39 UTC

\n

Event #9 - 2021-11-04 22:41:23 UTC

\n

Event #10 - 2021-11-06 00:34:29 UTC

\n

Event #11 - 2021-11-06 23:56:16 UTC

\n

Event #12 - 2021-11-07 06:22:04 UTC

\n

Event #13 - 2021-11-07 19:46:08 UTC

\n

Event #14 - 2021-11-08 09:31:13 UTC

\n

Event #15 - 2021-11-09 17:22:03 UTC

\n

Event #16 - 2021-11-11 05:29:54 UTC

\n

Event #17 - 2021-11-13 09:41:04 UTC

\n

Event #18 - 2021-11-16 07:48:22 UTC

\n

Event #19 - 2021-11-16 12:43:44 UTC

\n

Event #20 - 2021-11-17 16:03:07 UTC

\n
", + "7": "", + "8": "
\n

Event #1 - 2021-10-21 13:18:23 UTC

\n

Event #2 - 2021-10-21 23:14:50 UTC

\n
", + "9": "", + "10": "", + "11": "", + "12": "Displaying 2 items" + } + } } diff --git a/gem/apps/calendar.ru b/gem/apps/calendar.ru index 72fc77937..29ee7fef0 100644 --- a/gem/apps/calendar.ru +++ b/gem/apps/calendar.ru @@ -2,9 +2,6 @@ # Interactive showcase for the pagy calendar extra (https://ddnexus.github.io/pagy/docs/extras/calendar) -# DEMO USAGE -# pagy calendar - # DEV USAGE # pagy clone calendar # pagy ./calendar.ru @@ -16,2185 +13,733 @@ # pagy -h # DOC -# https://ddnexus.github.io/pagy/playground/#4-calendar-app +# https://ddnexus.github.io/pagy/playground/#5-calendar-app -VERSION = '8.4.5' +VERSION = '8.5.0' +# Gemfile require 'bundler/inline' require 'bundler' Bundler.configure gemfile(ENV['PAGY_INSTALL_BUNDLE'] == 'true') do source 'https://rubygems.org' - gem 'activesupport' - gem 'oj' + gem 'groupdate' gem 'puma' - gem 'sinatra' - gem 'sinatra-contrib' + gem 'rails' + # activerecord/sqlite3_adapter.rb probably useless) constraint !!! + # https://github.com/rails/rails/blame/v7.1.3.4/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb#L14 + gem 'sqlite3', '~> 1.4.0' end -# pagy initializer +# require 'rails/all' # too much stuff +require 'action_controller/railtie' +require 'active_record' + +OUTPUT = Rails.env.showcase? ? IO::NULL : $stdout + +# Rails config +class Calendar < Rails::Application # :nodoc: + config.root = __dir__ + config.session_store :cookie_store, key: 'cookie_store_key' + Rails.application.credentials.secret_key_base = 'absolute_secret' + + config.logger = Logger.new(OUTPUT) + Rails.logger = config.logger + + routes.draw do + root to: 'events#index' + end +end + +# AR config +dir = Rails.env.development? ? '.' : Dir.pwd # app dir in dev or pwd otherwise +unless File.writable?(dir) + warn "ERROR: directory #{dir.inspect} is not writable (the calendar-app needs to create DB files)" + exit 1 +end + +# Pagy initializer require 'pagy/extras/calendar' require 'pagy/extras/bootstrap' Pagy::DEFAULT.freeze -require 'sinatra/base' -# Sinatra application -class PagyCalendar < Sinatra::Base - configure do - enable :inline_templates - end - include Pagy::Backend +# Groupdate initializer (https://github.com/ankane/groupdate) +# Groupdate does not support the time zone with sqlite, so for this demo we can live with UTC +Groupdate.time_zone = false +# Groupdate week_start default is :sunday, while rails and pagy default to :monday +Groupdate.week_start = :monday - # Edit this section adding your own helpers as needed - helpers do - include Pagy::Frontend +# Activerecord initializer +ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database: "#{dir}/tmp/calendar.sqlite3") +ActiveRecord::Schema.define do + create_table :events, force: true do |t| + t.string :title + t.timestamp :time end +end + +# Models +class Event < ActiveRecord::Base +end + +# Helpers +module EventsHelper + include Pagy::Frontend +end + +# Controllers +class EventsController < ActionController::Base + include Rails.application.routes.url_helpers + include Pagy::Backend # This method must be implemented by the application. # It must return the starting and ending local Time objects array defining the calendar :period def pagy_calendar_period(collection) - collection.minmax.map(&:in_time_zone) + starting = collection.minimum('time') + ending = collection.maximum('time') + [starting.in_time_zone, ending.in_time_zone] end # This method must be implemented by the application. # It receives the main collection and must return a filtered version of it. # The filter logic must be equivalent to {storage_time >= from && storage_time < to} def pagy_calendar_filter(collection, from, to) - collection.select_page_of_records(from.utc, to.utc) # storage in UTC + collection.where(time: from...to) end - # Controller action - get '/' do - Time.zone = 'EST' # convert the UTC storage time to time with zone 'EST' - yaml = settings.templates[:yaml_collection].first - array = YAML.load(yaml, permitted_classes: [ActiveSupport::TimeWithZone, ActiveSupport::TimeZone, Time], aliases: ['1']) - collection = CalendarCollection.new(array) + # This method may optionally be implemented by the application. + # It must return an array of counts grouped by unit or nil/false to skip the counts. + # If the counts are returned, pagy adds the "empty-page" CSS class to the empty page links + # and the tooltip feedback with the count to each page link. + def pagy_calendar_counts(collection, unit, from, to) + # The group_by_period method is provided by the groupdate gem + # We use the :skip_counts param for testing the output in cypress + collection.group_by_period(unit, :time, range: from...to).count.values \ + unless params[:skip_counts] == 'true' + end + + def index + # We need UTC to work with the limitation of groupdate with sqlite + Time.zone = 'UTC' # Default calendar # The conf Hash defines the pagy objects variables keyed by calendar unit and the final pagy standard object # The :skip is an optional and arbitrarily named param that skips the calendar pagination and uses only the pagy # object to paginate the unfiltered collection. (It's active by default even without a :skip param). # You way want to invert the logic (also in the view) with something like `active: params[:active]`, # which would be inactive by default and only active on demand. - @calendar, @pagy, @records = pagy_calendar(collection, year: {}, - month: {}, - day: {}, - active: !params[:skip]) - Time.now.to_s - erb :pagy_demo # template available in the __END__ section as @@ pagy_demo + @calendar, @pagy, @events = pagy_calendar(Event.all, + year: {}, + month: {}, + day: {}, + active: !params[:skip]) + render inline: TEMPLATE end end -run PagyCalendar - -# Simple array-based collection that acts as a standard DB collection. -class CalendarCollection < Array - def initialize(...) - super - @collection = clone - end - - def offset(value) - @collection = self[value..] - self - end - - def limit(value) - @collection[0, value] - end - - def count(*) - size - end +TEMPLATE = <<~ERB + + + + + Pagy Calendar App + + - # Select days from the beginning of start_day to the end of end_day - # Accepts strings or DateTime args - def select_page_of_records(start_date, end_date) - paged = select { |date| date >= start_date && date < end_date } - # mock AR scope, returning the same type of object - self.class.new(paged) - end -end + + -__END__ + -@@ layout - - - - Pagy Calendar App - - - - <%= yield %> - - +
+

Pagy Calendar App

+

Self-contained, standalone Rails app implementing nested calendar pagination for year, month, day units.

+

See the Pagy Calendar Extra for details.

+

Please, report the following versions in any new issue.

+

Versions

+
    +
  • Ruby: <%== RUBY_VERSION %>
  • +
  • Rack: <%== Rack::RELEASE %>
  • +
  • Rails: <%== Rails.version %>
  • +
  • Pagy: <%== Pagy::VERSION %>
  • +
+
-@@ pagy_demo -
+ +

+ <% if params[:skip] %> + Show Calendar + <% else %> + Hide Calendar +
+ Go to the 2022-03-02 Page + + <% end %> +

-

Pagy Calendar App

-

Self-contained, standalone Sinatra app implementing nested calendar pagination for year, month, day units.

-

See the Pagy Calendar Extra for details.

-
+ + <% if @calendar %> +

Showtime: <%= @calendar.showtime %>

+ <%== pagy_bootstrap_nav(@calendar[:year], id: "year-nav", aria_label: "Years") %> + <%== pagy_bootstrap_nav(@calendar[:month], id: "month-nav", aria_label: "Months") %> + <%== pagy_bootstrap_nav(@calendar[:day], id: "day-nav", aria_label: "Days") %> + <% end %> - -

- <% if params[:skip] %> - Show Calendar - <% else %> - Hide Calendar -
- Go to the 2022-03-02 Page - - <% end %> -

+ + - - <% if @calendar %> -

Showtime: <%= @calendar.showtime %>

- <%= pagy_bootstrap_nav(@calendar[:year], id: "year-nav", aria_label: "Years") %> - <%= pagy_bootstrap_nav(@calendar[:month], id: "month-nav", aria_label: "Months") %> - <%= pagy_bootstrap_nav(@calendar[:day], id: "day-nav", aria_label: "Days") %> - <% end %> + +
+ <% @events.each do |event| %> +

<%= event.title %> - <%= event.time.to_s %>

+ <% end %> +
- - + +

<%== pagy_bootstrap_nav(@pagy, id: 'pages-nav', aria_label: 'Pages') if @pagy.pages > 1 %>

+

+ + +ERB - -
- <% @records.each do |record| %> -

<%= record.in_time_zone.to_s %>

- <% end %> -
+TIMES = <<~TIMES + 2021-10-21 13:18:23 +0000 + 2021-10-21 23:14:50 +0000 + 2021-10-23 01:06:02 +0000 + 2021-10-25 18:54:35 +0000 + 2021-10-26 02:22:17 +0000 + 2021-10-28 22:59:49 +0000 + 2021-10-30 15:02:25 +0000 + 2021-11-02 04:03:39 +0000 + 2021-11-04 22:41:23 +0000 + 2021-11-06 00:34:29 +0000 + 2021-11-06 23:56:16 +0000 + 2021-11-07 06:22:04 +0000 + 2021-11-07 19:46:08 +0000 + 2021-11-08 09:31:13 +0000 + 2021-11-09 17:22:03 +0000 + 2021-11-11 05:29:54 +0000 + 2021-11-13 09:41:04 +0000 + 2021-11-16 07:48:22 +0000 + 2021-11-16 12:43:44 +0000 + 2021-11-17 16:03:07 +0000 + 2021-11-20 02:39:01 +0000 + 2021-11-21 02:01:24 +0000 + 2021-11-23 19:24:43 +0000 + 2021-11-26 11:47:22 +0000 + 2021-11-28 06:30:04 +0000 + 2021-12-01 00:13:55 +0000 + 2021-12-03 19:10:16 +0000 + 2021-12-04 00:43:47 +0000 + 2021-12-06 20:15:35 +0000 + 2021-12-09 16:27:07 +0000 + 2021-12-10 15:28:48 +0000 + 2021-12-10 23:08:16 +0000 + 2021-12-11 23:09:08 +0000 + 2021-12-14 04:56:58 +0000 + 2021-12-14 14:00:56 +0000 + 2021-12-15 22:58:51 +0000 + 2021-12-16 01:28:21 +0000 + 2021-12-16 20:16:54 +0000 + 2021-12-19 00:34:04 +0000 + 2021-12-19 06:58:41 +0000 + 2021-12-21 11:13:53 +0000 + 2021-12-23 07:28:50 +0000 + 2021-12-23 07:57:58 +0000 + 2021-12-23 18:32:13 +0000 + 2021-12-24 01:17:51 +0000 + 2021-12-25 05:36:16 +0000 + 2021-12-25 23:21:57 +0000 + 2021-12-27 12:18:57 +0000 + 2021-12-28 16:59:57 +0000 + 2021-12-31 15:10:23 +0000 + 2022-01-01 19:18:06 +0000 + 2022-01-03 08:36:27 +0000 + 2022-01-03 23:31:01 +0000 + 2022-01-05 02:14:57 +0000 + 2022-01-06 09:26:03 +0000 + 2022-01-07 20:22:22 +0000 + 2022-01-10 04:04:28 +0000 + 2022-01-11 17:17:55 +0000 + 2022-01-14 05:21:54 +0000 + 2022-01-16 01:18:58 +0000 + 2022-01-18 08:42:56 +0000 + 2022-01-19 00:45:04 +0000 + 2022-01-20 08:18:54 +0000 + 2022-01-22 05:26:38 +0000 + 2022-01-24 10:57:50 +0000 + 2022-01-26 09:47:02 +0000 + 2022-01-28 20:44:30 +0000 + 2022-01-31 16:19:50 +0000 + 2022-02-01 21:23:58 +0000 + 2022-02-04 14:41:57 +0000 + 2022-02-06 20:40:06 +0000 + 2022-02-07 23:03:50 +0000 + 2022-02-09 05:28:08 +0000 + 2022-02-10 02:19:12 +0000 + 2022-02-11 07:51:30 +0000 + 2022-02-12 13:46:16 +0000 + 2022-02-13 21:06:40 +0000 + 2022-02-15 11:37:50 +0000 + 2022-02-18 11:23:15 +0000 + 2022-02-20 08:01:49 +0000 + 2022-02-23 03:00:30 +0000 + 2022-02-24 21:52:25 +0000 + 2022-02-25 12:07:56 +0000 + 2022-02-27 04:20:20 +0000 + 2022-02-28 21:09:42 +0000 + 2022-03-02 23:35:41 +0000 + 2022-03-04 00:42:10 +0000 + 2022-03-05 00:59:10 +0000 + 2022-03-06 19:58:01 +0000 + 2022-03-07 07:48:09 +0000 + 2022-03-09 06:08:00 +0000 + 2022-03-10 05:45:08 +0000 + 2022-03-12 21:16:31 +0000 + 2022-03-15 08:17:44 +0000 + 2022-03-16 03:37:03 +0000 + 2022-03-18 05:07:54 +0000 + 2022-03-20 04:05:26 +0000 + 2022-03-22 10:52:33 +0000 + 2022-03-23 15:26:54 +0000 + 2022-03-24 09:01:04 +0000 + 2022-03-24 23:53:07 +0000 + 2022-03-27 13:45:17 +0000 + 2022-03-28 19:57:00 +0000 + 2022-03-29 15:42:35 +0000 + 2022-03-29 18:20:32 +0000 + 2022-04-01 15:35:47 +0000 + 2022-04-02 06:33:31 +0000 + 2022-04-03 18:27:19 +0000 + 2022-04-03 23:44:08 +0000 + 2022-04-06 10:59:32 +0000 + 2022-04-07 01:33:53 +0000 + 2022-04-08 10:26:34 +0000 + 2022-04-10 19:21:08 +0000 + 2022-04-12 01:50:04 +0000 + 2022-04-14 19:56:29 +0000 + 2022-04-15 09:08:22 +0000 + 2022-04-16 07:58:47 +0000 + 2022-04-17 16:31:40 +0000 + 2022-04-20 09:50:22 +0000 + 2022-04-23 04:24:22 +0000 + 2022-04-25 07:18:04 +0000 + 2022-04-27 16:57:48 +0000 + 2022-04-29 18:48:09 +0000 + 2022-04-29 20:30:25 +0000 + 2022-05-02 03:44:25 +0000 + 2022-05-03 15:27:57 +0000 + 2022-05-04 08:11:15 +0000 + 2022-05-07 00:42:14 +0000 + 2022-05-09 15:23:31 +0000 + 2022-05-10 19:11:49 +0000 + 2022-05-11 14:04:17 +0000 + 2022-05-14 12:09:34 +0000 + 2022-05-15 13:31:54 +0000 + 2022-05-17 21:21:37 +0000 + 2022-05-19 01:27:43 +0000 + 2022-05-21 04:34:59 +0000 + 2022-05-23 11:05:18 +0000 + 2022-05-23 19:14:50 +0000 + 2022-05-26 13:16:18 +0000 + 2022-05-27 11:39:35 +0000 + 2022-05-29 07:09:07 +0000 + 2022-05-30 15:13:23 +0000 + 2022-06-01 04:18:40 +0000 + 2022-06-01 11:11:51 +0000 + 2022-06-01 12:45:06 +0000 + 2022-06-03 07:08:31 +0000 + 2022-06-04 23:28:11 +0000 + 2022-06-07 12:14:01 +0000 + 2022-06-08 13:32:22 +0000 + 2022-06-10 18:56:37 +0000 + 2022-06-12 16:00:09 +0000 + 2022-06-15 13:28:55 +0000 + 2022-06-16 18:42:37 +0000 + 2022-06-17 00:36:21 +0000 + 2022-06-18 16:21:27 +0000 + 2022-06-20 13:50:27 +0000 + 2022-06-22 09:43:55 +0000 + 2022-06-25 09:43:17 +0000 + 2022-06-27 06:51:01 +0000 + 2022-06-28 09:10:53 +0000 + 2022-06-30 18:46:16 +0000 + 2022-07-01 16:05:14 +0000 + 2022-07-02 14:02:12 +0000 + 2022-07-05 11:08:11 +0000 + 2022-07-05 12:44:38 +0000 + 2022-07-08 03:55:17 +0000 + 2022-07-08 18:02:14 +0000 + 2022-07-09 09:41:17 +0000 + 2022-07-11 07:34:51 +0000 + 2022-07-13 05:11:19 +0000 + 2022-07-15 02:46:56 +0000 + 2022-07-16 15:40:39 +0000 + 2022-07-17 19:44:15 +0000 + 2022-07-19 00:31:12 +0000 + 2022-07-21 21:58:24 +0000 + 2022-07-22 05:25:48 +0000 + 2022-07-22 18:33:04 +0000 + 2022-07-24 07:42:24 +0000 + 2022-07-25 07:21:20 +0000 + 2022-07-27 12:02:44 +0000 + 2022-07-29 03:29:28 +0000 + 2022-07-29 11:35:43 +0000 + 2022-07-30 05:25:21 +0000 + 2022-07-30 19:39:10 +0000 + 2022-07-31 18:54:58 +0000 + 2022-08-03 11:18:44 +0000 + 2022-08-05 00:37:47 +0000 + 2022-08-05 12:08:08 +0000 + 2022-08-07 14:39:19 +0000 + 2022-08-08 09:52:59 +0000 + 2022-08-09 13:48:29 +0000 + 2022-08-11 19:03:04 +0000 + 2022-08-13 01:56:49 +0000 + 2022-08-15 11:33:09 +0000 + 2022-08-17 23:37:45 +0000 + 2022-08-19 00:47:19 +0000 + 2022-08-19 01:01:12 +0000 + 2022-08-21 07:37:55 +0000 + 2022-08-21 21:42:15 +0000 + 2022-08-23 10:55:39 +0000 + 2022-08-25 16:20:29 +0000 + 2022-08-27 06:28:14 +0000 + 2022-08-27 13:12:57 +0000 + 2022-08-28 23:00:13 +0000 + 2022-08-31 05:19:56 +0000 + 2022-09-02 18:00:18 +0000 + 2022-09-04 12:02:47 +0000 + 2022-09-06 00:57:21 +0000 + 2022-09-08 04:26:01 +0000 + 2022-09-09 04:55:45 +0000 + 2022-09-11 22:59:36 +0000 + 2022-09-12 00:54:25 +0000 + 2022-09-12 17:44:24 +0000 + 2022-09-12 20:47:30 +0000 + 2022-09-15 11:39:20 +0000 + 2022-09-16 07:54:15 +0000 + 2022-09-17 08:06:29 +0000 + 2022-09-18 07:17:17 +0000 + 2022-09-19 08:39:55 +0000 + 2022-09-22 06:32:56 +0000 + 2022-09-22 21:26:29 +0000 + 2022-09-24 16:06:50 +0000 + 2022-09-27 05:50:18 +0000 + 2022-09-28 12:12:13 +0000 + 2022-09-29 21:13:01 +0000 + 2022-09-30 00:09:29 +0000 + 2022-10-02 04:35:07 +0000 + 2022-10-02 16:30:20 +0000 + 2022-10-04 10:35:59 +0000 + 2022-10-04 23:39:37 +0000 + 2022-10-07 23:25:10 +0000 + 2022-10-08 20:31:14 +0000 + 2022-10-09 07:30:41 +0000 + 2022-10-11 07:29:41 +0000 + 2022-10-11 08:00:58 +0000 + 2022-10-14 03:22:26 +0000 + 2022-10-16 14:47:54 +0000 + 2022-10-17 00:28:32 +0000 + 2022-10-19 10:46:33 +0000 + 2022-10-21 02:39:31 +0000 + 2022-10-21 19:24:24 +0000 + 2022-10-23 05:38:26 +0000 + 2022-10-25 13:28:28 +0000 + 2022-10-26 20:26:31 +0000 + 2022-10-29 12:43:40 +0000 + 2022-10-31 11:21:43 +0000 + 2022-11-03 04:42:32 +0000 + 2022-11-04 20:26:28 +0000 + 2022-11-05 15:08:01 +0000 + 2022-11-06 10:55:38 +0000 + 2022-11-07 04:13:28 +0000 + 2022-11-08 03:42:59 +0000 + 2022-11-10 13:56:10 +0000 + 2022-11-13 13:01:38 +0000 + 2022-11-15 02:04:32 +0000 + 2022-11-17 09:10:48 +0000 + 2022-11-19 11:37:01 +0000 + 2022-11-20 06:15:33 +0000 + 2022-11-22 08:35:41 +0000 + 2022-11-24 20:42:50 +0000 + 2022-11-25 17:45:48 +0000 + 2022-11-28 06:16:15 +0000 + 2022-11-28 18:12:24 +0000 + 2022-11-30 20:09:46 +0000 + 2022-12-01 03:29:43 +0000 + 2022-12-02 03:58:02 +0000 + 2022-12-02 19:47:06 +0000 + 2022-12-04 14:54:02 +0000 + 2022-12-06 02:22:58 +0000 + 2022-12-06 09:29:06 +0000 + 2022-12-06 17:16:19 +0000 + 2022-12-09 14:10:12 +0000 + 2022-12-11 19:54:41 +0000 + 2022-12-11 23:48:45 +0000 + 2022-12-12 12:05:28 +0000 + 2022-12-12 21:37:48 +0000 + 2022-12-15 05:08:10 +0000 + 2022-12-16 19:06:39 +0000 + 2022-12-18 21:49:36 +0000 + 2022-12-20 00:54:09 +0000 + 2022-12-22 21:51:31 +0000 + 2022-12-25 08:40:02 +0000 + 2022-12-26 22:01:45 +0000 + 2022-12-29 18:46:07 +0000 + 2023-01-01 01:55:31 +0000 + 2023-01-01 17:34:53 +0000 + 2023-01-04 09:05:13 +0000 + 2023-01-05 01:57:33 +0000 + 2023-01-06 08:56:47 +0000 + 2023-01-07 18:52:12 +0000 + 2023-01-08 00:43:40 +0000 + 2023-01-10 13:28:23 +0000 + 2023-01-13 10:22:38 +0000 + 2023-01-15 01:43:06 +0000 + 2023-01-15 04:30:52 +0000 + 2023-01-16 23:13:04 +0000 + 2023-01-19 17:16:31 +0000 + 2023-01-21 09:25:58 +0000 + 2023-01-23 09:42:42 +0000 + 2023-01-24 11:13:59 +0000 + 2023-01-25 00:57:26 +0000 + 2023-01-27 10:31:18 +0000 + 2023-01-28 07:08:54 +0000 + 2023-01-28 09:46:16 +0000 + 2023-01-30 04:34:32 +0000 + 2023-01-30 05:30:26 +0000 + 2023-01-31 08:08:44 +0000 + 2023-02-03 01:02:02 +0000 + 2023-02-03 10:02:38 +0000 + 2023-02-05 02:22:53 +0000 + 2023-02-05 05:55:46 +0000 + 2023-02-07 06:18:28 +0000 + 2023-02-08 13:57:28 +0000 + 2023-02-08 17:53:12 +0000 + 2023-02-10 08:40:27 +0000 + 2023-02-10 10:28:23 +0000 + 2023-02-12 15:42:42 +0000 + 2023-02-14 06:11:35 +0000 + 2023-02-14 12:22:06 +0000 + 2023-02-16 14:43:29 +0000 + 2023-02-16 15:58:19 +0000 + 2023-02-17 08:36:37 +0000 + 2023-02-19 04:20:36 +0000 + 2023-02-21 03:27:07 +0000 + 2023-02-22 09:09:23 +0000 + 2023-02-24 10:19:14 +0000 + 2023-02-26 13:28:50 +0000 + 2023-02-27 15:33:38 +0000 + 2023-03-01 14:48:42 +0000 + 2023-03-02 19:17:52 +0000 + 2023-03-03 09:48:41 +0000 + 2023-03-04 12:44:18 +0000 + 2023-03-06 18:24:47 +0000 + 2023-03-09 13:55:36 +0000 + 2023-03-11 13:50:26 +0000 + 2023-03-14 05:57:47 +0000 + 2023-03-14 09:16:38 +0000 + 2023-03-14 12:34:22 +0000 + 2023-03-14 15:15:53 +0000 + 2023-03-16 18:34:04 +0000 + 2023-03-19 13:01:38 +0000 + 2023-03-19 15:24:32 +0000 + 2023-03-20 14:56:28 +0000 + 2023-03-21 12:32:45 +0000 + 2023-03-23 22:16:22 +0000 + 2023-03-24 01:05:24 +0000 + 2023-03-26 12:01:36 +0000 + 2023-03-29 07:45:17 +0000 + 2023-04-01 06:03:31 +0000 + 2023-04-02 20:45:43 +0000 + 2023-04-03 05:33:10 +0000 + 2023-04-03 16:15:11 +0000 + 2023-04-05 14:56:49 +0000 + 2023-04-06 22:21:46 +0000 + 2023-04-08 19:50:51 +0000 + 2023-04-09 06:14:30 +0000 + 2023-04-09 11:26:27 +0000 + 2023-04-11 21:34:04 +0000 + 2023-04-14 08:51:06 +0000 + 2023-04-16 15:58:05 +0000 + 2023-04-17 03:06:43 +0000 + 2023-04-18 16:28:30 +0000 + 2023-04-18 17:32:38 +0000 + 2023-04-19 20:34:45 +0000 + 2023-04-22 06:16:01 +0000 + 2023-04-22 12:00:25 +0000 + 2023-04-24 21:12:27 +0000 + 2023-04-27 15:19:36 +0000 + 2023-04-29 00:43:46 +0000 + 2023-04-29 17:50:02 +0000 + 2023-04-30 05:22:14 +0000 + 2023-05-01 07:20:17 +0000 + 2023-05-03 05:11:16 +0000 + 2023-05-05 00:13:31 +0000 + 2023-05-05 12:08:33 +0000 + 2023-05-05 16:26:19 +0000 + 2023-05-07 23:53:00 +0000 + 2023-05-10 17:41:27 +0000 + 2023-05-12 01:37:24 +0000 + 2023-05-14 08:18:36 +0000 + 2023-05-16 15:17:43 +0000 + 2023-05-16 18:24:55 +0000 + 2023-05-19 16:16:45 +0000 + 2023-05-21 00:48:36 +0000 + 2023-05-22 00:54:41 +0000 + 2023-05-24 05:36:25 +0000 + 2023-05-25 10:05:39 +0000 + 2023-05-26 16:09:51 +0000 + 2023-05-29 12:40:29 +0000 + 2023-05-29 13:15:05 +0000 + 2023-05-31 15:28:14 +0000 + 2023-06-02 02:05:21 +0000 + 2023-06-02 13:05:50 +0000 + 2023-06-04 11:12:19 +0000 + 2023-06-05 10:04:34 +0000 + 2023-06-06 02:47:22 +0000 + 2023-06-07 04:35:17 +0000 + 2023-06-07 16:20:27 +0000 + 2023-06-08 07:43:14 +0000 + 2023-06-10 17:55:59 +0000 + 2023-06-12 17:00:02 +0000 + 2023-06-14 08:37:14 +0000 + 2023-06-14 18:07:30 +0000 + 2023-06-16 12:07:26 +0000 + 2023-06-18 22:29:39 +0000 + 2023-06-19 02:32:54 +0000 + 2023-06-20 14:24:40 +0000 + 2023-06-22 09:27:59 +0000 + 2023-06-23 07:31:20 +0000 + 2023-06-23 21:06:55 +0000 + 2023-06-26 06:57:28 +0000 + 2023-06-28 17:08:12 +0000 + 2023-06-29 03:06:47 +0000 + 2023-06-30 12:25:41 +0000 + 2023-07-02 08:49:42 +0000 + 2023-07-03 20:09:26 +0000 + 2023-07-06 17:39:13 +0000 + 2023-07-09 00:18:52 +0000 + 2023-07-11 03:58:21 +0000 + 2023-07-12 22:37:00 +0000 + 2023-07-14 01:58:44 +0000 + 2023-07-16 20:21:13 +0000 + 2023-07-17 01:41:47 +0000 + 2023-07-19 10:06:35 +0000 + 2023-07-21 17:44:16 +0000 + 2023-07-22 02:46:04 +0000 + 2023-07-22 06:52:04 +0000 + 2023-07-23 04:53:49 +0000 + 2023-07-25 16:37:24 +0000 + 2023-07-27 18:34:33 +0000 + 2023-07-28 02:34:02 +0000 + 2023-07-29 19:53:32 +0000 + 2023-07-30 23:30:11 +0000 + 2023-08-02 17:46:22 +0000 + 2023-08-03 00:01:21 +0000 + 2023-08-03 03:57:56 +0000 + 2023-08-03 21:41:28 +0000 + 2023-08-04 23:37:31 +0000 + 2023-08-05 08:20:42 +0000 + 2023-08-07 21:01:55 +0000 + 2023-08-10 17:03:47 +0000 + 2023-08-11 21:06:31 +0000 + 2023-08-12 08:45:08 +0000 + 2023-08-13 07:09:39 +0000 + 2023-08-14 11:15:10 +0000 + 2023-08-16 04:15:48 +0000 + 2023-08-19 04:11:43 +0000 + 2023-08-19 10:10:27 +0000 + 2023-08-22 09:41:20 +0000 + 2023-08-24 10:27:08 +0000 + 2023-08-24 18:16:12 +0000 + 2023-08-25 17:02:28 +0000 + 2023-08-27 15:58:52 +0000 + 2023-08-27 23:29:53 +0000 + 2023-08-28 21:31:27 +0000 + 2023-08-29 03:35:29 +0000 + 2023-08-31 06:15:19 +0000 + 2023-09-01 21:56:52 +0000 + 2023-09-02 22:57:53 +0000 + 2023-09-05 03:28:30 +0000 + 2023-09-07 04:57:12 +0000 + 2023-09-09 19:16:05 +0000 + 2023-09-09 20:01:39 +0000 + 2023-09-11 03:23:22 +0000 + 2023-09-12 15:18:29 +0000 + 2023-09-13 14:14:43 +0000 + 2023-09-13 17:37:25 +0000 + 2023-09-14 18:17:49 +0000 + 2023-09-16 19:56:55 +0000 + 2023-09-18 14:21:02 +0000 + 2023-09-21 00:34:13 +0000 + 2023-09-23 07:14:06 +0000 + 2023-09-24 17:22:22 +0000 + 2023-09-27 12:42:54 +0000 + 2023-09-28 14:48:45 +0000 + 2023-10-01 11:54:24 +0000 + 2023-10-03 07:36:32 +0000 + 2023-10-05 05:13:57 +0000 + 2023-10-06 16:07:06 +0000 + 2023-10-09 00:03:52 +0000 + 2023-10-09 02:32:01 +0000 + 2023-10-10 16:39:07 +0000 + 2023-10-12 13:28:16 +0000 + 2023-10-14 04:29:14 +0000 + 2023-10-17 03:30:24 +0000 + 2023-10-20 03:13:15 +0000 + 2023-10-20 20:47:06 +0000 + 2023-10-21 13:59:34 +0000 + 2023-10-23 21:38:48 +0000 + 2023-10-24 06:07:13 +0000 + 2023-10-25 22:51:17 +0000 + 2023-10-26 21:12:50 +0000 + 2023-10-28 05:52:20 +0000 + 2023-10-29 22:11:01 +0000 + 2023-10-30 12:29:25 +0000 + 2023-11-02 02:52:55 +0000 + 2023-11-02 06:00:32 +0000 + 2023-11-03 08:39:06 +0000 + 2023-11-04 23:51:22 +0000 + 2023-11-07 16:11:33 +0000 + 2023-11-10 10:55:29 +0000 + 2023-11-12 01:20:18 +0000 + 2023-11-12 04:22:50 +0000 + 2023-11-12 08:38:58 +0000 + 2023-11-13 15:43:40 +0000 +TIMES - -

<%= pagy_bootstrap_nav(@pagy, id: 'pages-nav', aria_label: 'Pages') if @pagy.pages > 1 %>

+# DB seed +TIMES.each_line(chomp: true).with_index do |time, i| + Event.create(title: "Event ##{i + 1}", time:) +end -

+# Down here to avoid logging the DB seed above at each restart +ActiveRecord::Base.logger = Logger.new(OUTPUT) -@@ yaml_collection ---- -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-21 13:18:23.000000000 Z - zone: &1 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2021-10-21 13:18:23.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-21 23:14:50.000000000 Z - zone: *1 - time: 2021-10-21 23:14:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-23 01:06:02.000000000 Z - zone: *1 - time: 2021-10-23 01:06:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-25 18:54:35.000000000 Z - zone: *1 - time: 2021-10-25 18:54:35.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-26 02:22:17.000000000 Z - zone: *1 - time: 2021-10-26 02:22:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-28 22:59:49.000000000 Z - zone: *1 - time: 2021-10-28 22:59:49.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-30 15:02:25.000000000 Z - zone: *1 - time: 2021-10-30 15:02:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-02 04:03:39.000000000 Z - zone: *1 - time: 2021-11-02 04:03:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-04 22:41:23.000000000 Z - zone: *1 - time: 2021-11-04 22:41:23.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-06 00:34:29.000000000 Z - zone: *1 - time: 2021-11-06 00:34:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-06 23:56:16.000000000 Z - zone: *1 - time: 2021-11-06 23:56:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-07 06:22:04.000000000 Z - zone: *1 - time: 2021-11-07 06:22:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-07 19:46:08.000000000 Z - zone: *1 - time: 2021-11-07 19:46:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-08 09:31:13.000000000 Z - zone: *1 - time: 2021-11-08 09:31:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-09 17:22:03.000000000 Z - zone: *1 - time: 2021-11-09 17:22:03.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-11 05:29:54.000000000 Z - zone: *1 - time: 2021-11-11 05:29:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-13 09:41:04.000000000 Z - zone: *1 - time: 2021-11-13 09:41:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-16 07:48:22.000000000 Z - zone: *1 - time: 2021-11-16 07:48:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-16 12:43:44.000000000 Z - zone: *1 - time: 2021-11-16 12:43:44.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-17 16:03:07.000000000 Z - zone: *1 - time: 2021-11-17 16:03:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-20 02:39:01.000000000 Z - zone: *1 - time: 2021-11-20 02:39:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-21 02:01:24.000000000 Z - zone: *1 - time: 2021-11-21 02:01:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-23 19:24:43.000000000 Z - zone: *1 - time: 2021-11-23 19:24:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-26 11:47:22.000000000 Z - zone: *1 - time: 2021-11-26 11:47:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-28 06:30:04.000000000 Z - zone: *1 - time: 2021-11-28 06:30:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-01 00:13:55.000000000 Z - zone: *1 - time: 2021-12-01 00:13:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-03 19:10:16.000000000 Z - zone: *1 - time: 2021-12-03 19:10:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-04 00:43:47.000000000 Z - zone: *1 - time: 2021-12-04 00:43:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-06 20:15:35.000000000 Z - zone: *1 - time: 2021-12-06 20:15:35.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-09 16:27:07.000000000 Z - zone: *1 - time: 2021-12-09 16:27:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-10 15:28:48.000000000 Z - zone: *1 - time: 2021-12-10 15:28:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-10 23:08:16.000000000 Z - zone: *1 - time: 2021-12-10 23:08:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-11 23:09:08.000000000 Z - zone: *1 - time: 2021-12-11 23:09:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-14 04:56:58.000000000 Z - zone: *1 - time: 2021-12-14 04:56:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-14 14:00:56.000000000 Z - zone: *1 - time: 2021-12-14 14:00:56.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-15 22:58:51.000000000 Z - zone: *1 - time: 2021-12-15 22:58:51.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-16 01:28:21.000000000 Z - zone: *1 - time: 2021-12-16 01:28:21.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-16 20:16:54.000000000 Z - zone: *1 - time: 2021-12-16 20:16:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-19 00:34:04.000000000 Z - zone: *1 - time: 2021-12-19 00:34:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-19 06:58:41.000000000 Z - zone: *1 - time: 2021-12-19 06:58:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-21 11:13:53.000000000 Z - zone: *1 - time: 2021-12-21 11:13:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-23 07:28:50.000000000 Z - zone: *1 - time: 2021-12-23 07:28:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-23 07:57:58.000000000 Z - zone: *1 - time: 2021-12-23 07:57:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-23 18:32:13.000000000 Z - zone: *1 - time: 2021-12-23 18:32:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-24 01:17:51.000000000 Z - zone: *1 - time: 2021-12-24 01:17:51.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-25 05:36:16.000000000 Z - zone: *1 - time: 2021-12-25 05:36:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-25 23:21:57.000000000 Z - zone: *1 - time: 2021-12-25 23:21:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-27 12:18:57.000000000 Z - zone: *1 - time: 2021-12-27 12:18:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-28 16:59:57.000000000 Z - zone: *1 - time: 2021-12-28 16:59:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-31 15:10:23.000000000 Z - zone: *1 - time: 2021-12-31 15:10:23.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-01 19:18:06.000000000 Z - zone: *1 - time: 2022-01-01 19:18:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-03 08:36:27.000000000 Z - zone: *1 - time: 2022-01-03 08:36:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-03 23:31:01.000000000 Z - zone: *1 - time: 2022-01-03 23:31:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-05 02:14:57.000000000 Z - zone: *1 - time: 2022-01-05 02:14:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-06 09:26:03.000000000 Z - zone: *1 - time: 2022-01-06 09:26:03.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-07 20:22:22.000000000 Z - zone: *1 - time: 2022-01-07 20:22:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-10 04:04:28.000000000 Z - zone: *1 - time: 2022-01-10 04:04:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-11 17:17:55.000000000 Z - zone: *1 - time: 2022-01-11 17:17:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-14 05:21:54.000000000 Z - zone: *1 - time: 2022-01-14 05:21:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-16 01:18:58.000000000 Z - zone: *1 - time: 2022-01-16 01:18:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-18 08:42:56.000000000 Z - zone: *1 - time: 2022-01-18 08:42:56.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-19 00:45:04.000000000 Z - zone: *1 - time: 2022-01-19 00:45:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-20 08:18:54.000000000 Z - zone: *1 - time: 2022-01-20 08:18:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-22 05:26:38.000000000 Z - zone: *1 - time: 2022-01-22 05:26:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-24 10:57:50.000000000 Z - zone: *1 - time: 2022-01-24 10:57:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-26 09:47:02.000000000 Z - zone: *1 - time: 2022-01-26 09:47:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-28 20:44:30.000000000 Z - zone: *1 - time: 2022-01-28 20:44:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-31 16:19:50.000000000 Z - zone: *1 - time: 2022-01-31 16:19:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-01 21:23:58.000000000 Z - zone: *1 - time: 2022-02-01 21:23:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-04 14:41:57.000000000 Z - zone: *1 - time: 2022-02-04 14:41:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-06 20:40:06.000000000 Z - zone: *1 - time: 2022-02-06 20:40:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-07 23:03:50.000000000 Z - zone: *1 - time: 2022-02-07 23:03:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-09 05:28:08.000000000 Z - zone: *1 - time: 2022-02-09 05:28:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-10 02:19:12.000000000 Z - zone: *1 - time: 2022-02-10 02:19:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-11 07:51:30.000000000 Z - zone: *1 - time: 2022-02-11 07:51:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-12 13:46:16.000000000 Z - zone: *1 - time: 2022-02-12 13:46:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-13 21:06:40.000000000 Z - zone: *1 - time: 2022-02-13 21:06:40.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-15 11:37:50.000000000 Z - zone: *1 - time: 2022-02-15 11:37:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-18 11:23:15.000000000 Z - zone: *1 - time: 2022-02-18 11:23:15.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-20 08:01:49.000000000 Z - zone: *1 - time: 2022-02-20 08:01:49.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-23 03:00:30.000000000 Z - zone: *1 - time: 2022-02-23 03:00:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-24 21:52:25.000000000 Z - zone: *1 - time: 2022-02-24 21:52:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-25 12:07:56.000000000 Z - zone: *1 - time: 2022-02-25 12:07:56.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-27 04:20:20.000000000 Z - zone: *1 - time: 2022-02-27 04:20:20.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-28 21:09:42.000000000 Z - zone: *1 - time: 2022-02-28 21:09:42.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-02 23:35:41.000000000 Z - zone: *1 - time: 2022-03-02 23:35:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-04 00:42:10.000000000 Z - zone: *1 - time: 2022-03-04 00:42:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-05 00:59:10.000000000 Z - zone: *1 - time: 2022-03-05 00:59:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-06 19:58:01.000000000 Z - zone: *1 - time: 2022-03-06 19:58:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-07 07:48:09.000000000 Z - zone: *1 - time: 2022-03-07 07:48:09.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-09 06:08:00.000000000 Z - zone: *1 - time: 2022-03-09 06:08:00.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-10 05:45:08.000000000 Z - zone: *1 - time: 2022-03-10 05:45:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-12 21:16:31.000000000 Z - zone: *1 - time: 2022-03-12 21:16:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-15 08:17:44.000000000 Z - zone: *1 - time: 2022-03-15 08:17:44.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-16 03:37:03.000000000 Z - zone: *1 - time: 2022-03-16 03:37:03.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-18 05:07:54.000000000 Z - zone: *1 - time: 2022-03-18 05:07:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-20 04:05:26.000000000 Z - zone: *1 - time: 2022-03-20 04:05:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-22 10:52:33.000000000 Z - zone: *1 - time: 2022-03-22 10:52:33.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-23 15:26:54.000000000 Z - zone: *1 - time: 2022-03-23 15:26:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-24 09:01:04.000000000 Z - zone: *1 - time: 2022-03-24 09:01:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-24 23:53:07.000000000 Z - zone: *1 - time: 2022-03-24 23:53:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-27 13:45:17.000000000 Z - zone: *1 - time: 2022-03-27 13:45:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-28 19:57:00.000000000 Z - zone: *1 - time: 2022-03-28 19:57:00.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-29 15:42:35.000000000 Z - zone: *1 - time: 2022-03-29 15:42:35.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-29 18:20:32.000000000 Z - zone: *1 - time: 2022-03-29 18:20:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-01 15:35:47.000000000 Z - zone: *1 - time: 2022-04-01 15:35:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-02 06:33:31.000000000 Z - zone: *1 - time: 2022-04-02 06:33:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-03 18:27:19.000000000 Z - zone: *1 - time: 2022-04-03 18:27:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-03 23:44:08.000000000 Z - zone: *1 - time: 2022-04-03 23:44:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-06 10:59:32.000000000 Z - zone: *1 - time: 2022-04-06 10:59:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-07 01:33:53.000000000 Z - zone: *1 - time: 2022-04-07 01:33:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-08 10:26:34.000000000 Z - zone: *1 - time: 2022-04-08 10:26:34.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-10 19:21:08.000000000 Z - zone: *1 - time: 2022-04-10 19:21:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-12 01:50:04.000000000 Z - zone: *1 - time: 2022-04-12 01:50:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-14 19:56:29.000000000 Z - zone: *1 - time: 2022-04-14 19:56:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-15 09:08:22.000000000 Z - zone: *1 - time: 2022-04-15 09:08:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-16 07:58:47.000000000 Z - zone: *1 - time: 2022-04-16 07:58:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-17 16:31:40.000000000 Z - zone: *1 - time: 2022-04-17 16:31:40.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-20 09:50:22.000000000 Z - zone: *1 - time: 2022-04-20 09:50:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-23 04:24:22.000000000 Z - zone: *1 - time: 2022-04-23 04:24:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-25 07:18:04.000000000 Z - zone: *1 - time: 2022-04-25 07:18:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-27 16:57:48.000000000 Z - zone: *1 - time: 2022-04-27 16:57:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-29 18:48:09.000000000 Z - zone: *1 - time: 2022-04-29 18:48:09.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-29 20:30:25.000000000 Z - zone: *1 - time: 2022-04-29 20:30:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-02 03:44:25.000000000 Z - zone: *1 - time: 2022-05-02 03:44:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-03 15:27:57.000000000 Z - zone: *1 - time: 2022-05-03 15:27:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-04 08:11:15.000000000 Z - zone: *1 - time: 2022-05-04 08:11:15.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-07 00:42:14.000000000 Z - zone: *1 - time: 2022-05-07 00:42:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-09 15:23:31.000000000 Z - zone: *1 - time: 2022-05-09 15:23:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-10 19:11:49.000000000 Z - zone: *1 - time: 2022-05-10 19:11:49.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-11 14:04:17.000000000 Z - zone: *1 - time: 2022-05-11 14:04:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-14 12:09:34.000000000 Z - zone: *1 - time: 2022-05-14 12:09:34.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-15 13:31:54.000000000 Z - zone: *1 - time: 2022-05-15 13:31:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-17 21:21:37.000000000 Z - zone: *1 - time: 2022-05-17 21:21:37.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-19 01:27:43.000000000 Z - zone: *1 - time: 2022-05-19 01:27:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-21 04:34:59.000000000 Z - zone: *1 - time: 2022-05-21 04:34:59.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-23 11:05:18.000000000 Z - zone: *1 - time: 2022-05-23 11:05:18.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-23 19:14:50.000000000 Z - zone: *1 - time: 2022-05-23 19:14:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-26 13:16:18.000000000 Z - zone: *1 - time: 2022-05-26 13:16:18.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-27 11:39:35.000000000 Z - zone: *1 - time: 2022-05-27 11:39:35.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-29 07:09:07.000000000 Z - zone: *1 - time: 2022-05-29 07:09:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-30 15:13:23.000000000 Z - zone: *1 - time: 2022-05-30 15:13:23.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-01 04:18:40.000000000 Z - zone: *1 - time: 2022-06-01 04:18:40.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-01 11:11:51.000000000 Z - zone: *1 - time: 2022-06-01 11:11:51.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-01 12:45:06.000000000 Z - zone: *1 - time: 2022-06-01 12:45:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-03 07:08:31.000000000 Z - zone: *1 - time: 2022-06-03 07:08:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-04 23:28:11.000000000 Z - zone: *1 - time: 2022-06-04 23:28:11.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-07 12:14:01.000000000 Z - zone: *1 - time: 2022-06-07 12:14:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-08 13:32:22.000000000 Z - zone: *1 - time: 2022-06-08 13:32:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-10 18:56:37.000000000 Z - zone: *1 - time: 2022-06-10 18:56:37.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-12 16:00:09.000000000 Z - zone: *1 - time: 2022-06-12 16:00:09.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-15 13:28:55.000000000 Z - zone: *1 - time: 2022-06-15 13:28:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-16 18:42:37.000000000 Z - zone: *1 - time: 2022-06-16 18:42:37.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-17 00:36:21.000000000 Z - zone: *1 - time: 2022-06-17 00:36:21.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-18 16:21:27.000000000 Z - zone: *1 - time: 2022-06-18 16:21:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-20 13:50:27.000000000 Z - zone: *1 - time: 2022-06-20 13:50:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-22 09:43:55.000000000 Z - zone: *1 - time: 2022-06-22 09:43:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-25 09:43:17.000000000 Z - zone: *1 - time: 2022-06-25 09:43:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-27 06:51:01.000000000 Z - zone: *1 - time: 2022-06-27 06:51:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-28 09:10:53.000000000 Z - zone: *1 - time: 2022-06-28 09:10:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-30 18:46:16.000000000 Z - zone: *1 - time: 2022-06-30 18:46:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-01 16:05:14.000000000 Z - zone: *1 - time: 2022-07-01 16:05:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-02 14:02:12.000000000 Z - zone: *1 - time: 2022-07-02 14:02:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-05 11:08:11.000000000 Z - zone: *1 - time: 2022-07-05 11:08:11.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-05 12:44:38.000000000 Z - zone: *1 - time: 2022-07-05 12:44:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-08 03:55:17.000000000 Z - zone: *1 - time: 2022-07-08 03:55:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-08 18:02:14.000000000 Z - zone: *1 - time: 2022-07-08 18:02:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-09 09:41:17.000000000 Z - zone: *1 - time: 2022-07-09 09:41:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-11 07:34:51.000000000 Z - zone: *1 - time: 2022-07-11 07:34:51.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-13 05:11:19.000000000 Z - zone: *1 - time: 2022-07-13 05:11:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-15 02:46:56.000000000 Z - zone: *1 - time: 2022-07-15 02:46:56.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-16 15:40:39.000000000 Z - zone: *1 - time: 2022-07-16 15:40:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-17 19:44:15.000000000 Z - zone: *1 - time: 2022-07-17 19:44:15.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-19 00:31:12.000000000 Z - zone: *1 - time: 2022-07-19 00:31:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-21 21:58:24.000000000 Z - zone: *1 - time: 2022-07-21 21:58:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-22 05:25:48.000000000 Z - zone: *1 - time: 2022-07-22 05:25:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-22 18:33:04.000000000 Z - zone: *1 - time: 2022-07-22 18:33:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-24 07:42:24.000000000 Z - zone: *1 - time: 2022-07-24 07:42:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-25 07:21:20.000000000 Z - zone: *1 - time: 2022-07-25 07:21:20.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-27 12:02:44.000000000 Z - zone: *1 - time: 2022-07-27 12:02:44.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-29 03:29:28.000000000 Z - zone: *1 - time: 2022-07-29 03:29:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-29 11:35:43.000000000 Z - zone: *1 - time: 2022-07-29 11:35:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-30 05:25:21.000000000 Z - zone: *1 - time: 2022-07-30 05:25:21.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-30 19:39:10.000000000 Z - zone: *1 - time: 2022-07-30 19:39:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-31 18:54:58.000000000 Z - zone: *1 - time: 2022-07-31 18:54:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-03 11:18:44.000000000 Z - zone: *1 - time: 2022-08-03 11:18:44.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-05 00:37:47.000000000 Z - zone: *1 - time: 2022-08-05 00:37:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-05 12:08:08.000000000 Z - zone: *1 - time: 2022-08-05 12:08:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-07 14:39:19.000000000 Z - zone: *1 - time: 2022-08-07 14:39:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-08 09:52:59.000000000 Z - zone: *1 - time: 2022-08-08 09:52:59.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-09 13:48:29.000000000 Z - zone: *1 - time: 2022-08-09 13:48:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-11 19:03:04.000000000 Z - zone: *1 - time: 2022-08-11 19:03:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-13 01:56:49.000000000 Z - zone: *1 - time: 2022-08-13 01:56:49.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-15 11:33:09.000000000 Z - zone: *1 - time: 2022-08-15 11:33:09.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-17 23:37:45.000000000 Z - zone: *1 - time: 2022-08-17 23:37:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-19 00:47:19.000000000 Z - zone: *1 - time: 2022-08-19 00:47:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-19 01:01:12.000000000 Z - zone: *1 - time: 2022-08-19 01:01:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-21 07:37:55.000000000 Z - zone: *1 - time: 2022-08-21 07:37:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-21 21:42:15.000000000 Z - zone: *1 - time: 2022-08-21 21:42:15.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-23 10:55:39.000000000 Z - zone: *1 - time: 2022-08-23 10:55:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-25 16:20:29.000000000 Z - zone: *1 - time: 2022-08-25 16:20:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-27 06:28:14.000000000 Z - zone: *1 - time: 2022-08-27 06:28:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-27 13:12:57.000000000 Z - zone: *1 - time: 2022-08-27 13:12:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-28 23:00:13.000000000 Z - zone: *1 - time: 2022-08-28 23:00:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-31 05:19:56.000000000 Z - zone: *1 - time: 2022-08-31 05:19:56.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-02 18:00:18.000000000 Z - zone: *1 - time: 2022-09-02 18:00:18.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-04 12:02:47.000000000 Z - zone: *1 - time: 2022-09-04 12:02:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-06 00:57:21.000000000 Z - zone: *1 - time: 2022-09-06 00:57:21.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-08 04:26:01.000000000 Z - zone: *1 - time: 2022-09-08 04:26:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-09 04:55:45.000000000 Z - zone: *1 - time: 2022-09-09 04:55:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-11 22:59:36.000000000 Z - zone: *1 - time: 2022-09-11 22:59:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-12 00:54:25.000000000 Z - zone: *1 - time: 2022-09-12 00:54:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-12 17:44:24.000000000 Z - zone: *1 - time: 2022-09-12 17:44:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-12 20:47:30.000000000 Z - zone: *1 - time: 2022-09-12 20:47:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-15 11:39:20.000000000 Z - zone: *1 - time: 2022-09-15 11:39:20.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-16 07:54:15.000000000 Z - zone: *1 - time: 2022-09-16 07:54:15.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-17 08:06:29.000000000 Z - zone: *1 - time: 2022-09-17 08:06:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-18 07:17:17.000000000 Z - zone: *1 - time: 2022-09-18 07:17:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-19 08:39:55.000000000 Z - zone: *1 - time: 2022-09-19 08:39:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-22 06:32:56.000000000 Z - zone: *1 - time: 2022-09-22 06:32:56.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-22 21:26:29.000000000 Z - zone: *1 - time: 2022-09-22 21:26:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-24 16:06:50.000000000 Z - zone: *1 - time: 2022-09-24 16:06:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-27 05:50:18.000000000 Z - zone: *1 - time: 2022-09-27 05:50:18.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-28 12:12:13.000000000 Z - zone: *1 - time: 2022-09-28 12:12:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-29 21:13:01.000000000 Z - zone: *1 - time: 2022-09-29 21:13:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-30 00:09:29.000000000 Z - zone: *1 - time: 2022-09-30 00:09:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-02 04:35:07.000000000 Z - zone: *1 - time: 2022-10-02 04:35:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-02 16:30:20.000000000 Z - zone: *1 - time: 2022-10-02 16:30:20.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-04 10:35:59.000000000 Z - zone: *1 - time: 2022-10-04 10:35:59.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-04 23:39:37.000000000 Z - zone: *1 - time: 2022-10-04 23:39:37.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-07 23:25:10.000000000 Z - zone: *1 - time: 2022-10-07 23:25:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-08 20:31:14.000000000 Z - zone: *1 - time: 2022-10-08 20:31:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-09 07:30:41.000000000 Z - zone: *1 - time: 2022-10-09 07:30:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-11 07:29:41.000000000 Z - zone: *1 - time: 2022-10-11 07:29:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-11 08:00:58.000000000 Z - zone: *1 - time: 2022-10-11 08:00:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-14 03:22:26.000000000 Z - zone: *1 - time: 2022-10-14 03:22:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-16 14:47:54.000000000 Z - zone: *1 - time: 2022-10-16 14:47:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-17 00:28:32.000000000 Z - zone: *1 - time: 2022-10-17 00:28:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-19 10:46:33.000000000 Z - zone: *1 - time: 2022-10-19 10:46:33.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-21 02:39:31.000000000 Z - zone: *1 - time: 2022-10-21 02:39:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-21 19:24:24.000000000 Z - zone: *1 - time: 2022-10-21 19:24:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-23 05:38:26.000000000 Z - zone: *1 - time: 2022-10-23 05:38:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-25 13:28:28.000000000 Z - zone: *1 - time: 2022-10-25 13:28:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-26 20:26:31.000000000 Z - zone: *1 - time: 2022-10-26 20:26:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-29 12:43:40.000000000 Z - zone: *1 - time: 2022-10-29 12:43:40.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-31 11:21:43.000000000 Z - zone: *1 - time: 2022-10-31 11:21:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-03 04:42:32.000000000 Z - zone: *1 - time: 2022-11-03 04:42:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-04 20:26:28.000000000 Z - zone: *1 - time: 2022-11-04 20:26:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-05 15:08:01.000000000 Z - zone: *1 - time: 2022-11-05 15:08:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-06 10:55:38.000000000 Z - zone: *1 - time: 2022-11-06 10:55:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-07 04:13:28.000000000 Z - zone: *1 - time: 2022-11-07 04:13:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-08 03:42:59.000000000 Z - zone: *1 - time: 2022-11-08 03:42:59.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-10 13:56:10.000000000 Z - zone: *1 - time: 2022-11-10 13:56:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-13 13:01:38.000000000 Z - zone: *1 - time: 2022-11-13 13:01:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-15 02:04:32.000000000 Z - zone: *1 - time: 2022-11-15 02:04:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-17 09:10:48.000000000 Z - zone: *1 - time: 2022-11-17 09:10:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-19 11:37:01.000000000 Z - zone: *1 - time: 2022-11-19 11:37:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-20 06:15:33.000000000 Z - zone: *1 - time: 2022-11-20 06:15:33.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-22 08:35:41.000000000 Z - zone: *1 - time: 2022-11-22 08:35:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-24 20:42:50.000000000 Z - zone: *1 - time: 2022-11-24 20:42:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-25 17:45:48.000000000 Z - zone: *1 - time: 2022-11-25 17:45:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-28 06:16:15.000000000 Z - zone: *1 - time: 2022-11-28 06:16:15.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-28 18:12:24.000000000 Z - zone: *1 - time: 2022-11-28 18:12:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-30 20:09:46.000000000 Z - zone: *1 - time: 2022-11-30 20:09:46.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-01 03:29:43.000000000 Z - zone: *1 - time: 2022-12-01 03:29:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-02 03:58:02.000000000 Z - zone: *1 - time: 2022-12-02 03:58:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-02 19:47:06.000000000 Z - zone: *1 - time: 2022-12-02 19:47:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-04 14:54:02.000000000 Z - zone: *1 - time: 2022-12-04 14:54:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-06 02:22:58.000000000 Z - zone: *1 - time: 2022-12-06 02:22:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-06 09:29:06.000000000 Z - zone: *1 - time: 2022-12-06 09:29:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-06 17:16:19.000000000 Z - zone: *1 - time: 2022-12-06 17:16:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-09 14:10:12.000000000 Z - zone: *1 - time: 2022-12-09 14:10:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-11 19:54:41.000000000 Z - zone: *1 - time: 2022-12-11 19:54:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-11 23:48:45.000000000 Z - zone: *1 - time: 2022-12-11 23:48:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-12 12:05:28.000000000 Z - zone: *1 - time: 2022-12-12 12:05:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-12 21:37:48.000000000 Z - zone: *1 - time: 2022-12-12 21:37:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-15 05:08:10.000000000 Z - zone: *1 - time: 2022-12-15 05:08:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-16 19:06:39.000000000 Z - zone: *1 - time: 2022-12-16 19:06:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-18 21:49:36.000000000 Z - zone: *1 - time: 2022-12-18 21:49:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-20 00:54:09.000000000 Z - zone: *1 - time: 2022-12-20 00:54:09.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-22 21:51:31.000000000 Z - zone: *1 - time: 2022-12-22 21:51:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-25 08:40:02.000000000 Z - zone: *1 - time: 2022-12-25 08:40:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-26 22:01:45.000000000 Z - zone: *1 - time: 2022-12-26 22:01:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-29 18:46:07.000000000 Z - zone: *1 - time: 2022-12-29 18:46:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-01 01:55:31.000000000 Z - zone: *1 - time: 2023-01-01 01:55:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-01 17:34:53.000000000 Z - zone: *1 - time: 2023-01-01 17:34:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-04 09:05:13.000000000 Z - zone: *1 - time: 2023-01-04 09:05:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-05 01:57:33.000000000 Z - zone: *1 - time: 2023-01-05 01:57:33.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-06 08:56:47.000000000 Z - zone: *1 - time: 2023-01-06 08:56:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-07 18:52:12.000000000 Z - zone: *1 - time: 2023-01-07 18:52:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-08 00:43:40.000000000 Z - zone: *1 - time: 2023-01-08 00:43:40.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-10 13:28:23.000000000 Z - zone: *1 - time: 2023-01-10 13:28:23.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-13 10:22:38.000000000 Z - zone: *1 - time: 2023-01-13 10:22:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-15 01:43:06.000000000 Z - zone: *1 - time: 2023-01-15 01:43:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-15 04:30:52.000000000 Z - zone: *1 - time: 2023-01-15 04:30:52.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-16 23:13:04.000000000 Z - zone: *1 - time: 2023-01-16 23:13:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-19 17:16:31.000000000 Z - zone: *1 - time: 2023-01-19 17:16:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-21 09:25:58.000000000 Z - zone: *1 - time: 2023-01-21 09:25:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-23 09:42:42.000000000 Z - zone: *1 - time: 2023-01-23 09:42:42.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-24 11:13:59.000000000 Z - zone: *1 - time: 2023-01-24 11:13:59.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-25 00:57:26.000000000 Z - zone: *1 - time: 2023-01-25 00:57:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-27 10:31:18.000000000 Z - zone: *1 - time: 2023-01-27 10:31:18.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-28 07:08:54.000000000 Z - zone: *1 - time: 2023-01-28 07:08:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-28 09:46:16.000000000 Z - zone: *1 - time: 2023-01-28 09:46:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-30 04:34:32.000000000 Z - zone: *1 - time: 2023-01-30 04:34:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-30 05:30:26.000000000 Z - zone: *1 - time: 2023-01-30 05:30:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-31 08:08:44.000000000 Z - zone: *1 - time: 2023-01-31 08:08:44.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-03 01:02:02.000000000 Z - zone: *1 - time: 2023-02-03 01:02:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-03 10:02:38.000000000 Z - zone: *1 - time: 2023-02-03 10:02:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-05 02:22:53.000000000 Z - zone: *1 - time: 2023-02-05 02:22:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-05 05:55:46.000000000 Z - zone: *1 - time: 2023-02-05 05:55:46.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-07 06:18:28.000000000 Z - zone: *1 - time: 2023-02-07 06:18:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-08 13:57:28.000000000 Z - zone: *1 - time: 2023-02-08 13:57:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-08 17:53:12.000000000 Z - zone: *1 - time: 2023-02-08 17:53:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-10 08:40:27.000000000 Z - zone: *1 - time: 2023-02-10 08:40:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-10 10:28:23.000000000 Z - zone: *1 - time: 2023-02-10 10:28:23.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-12 15:42:42.000000000 Z - zone: *1 - time: 2023-02-12 15:42:42.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-14 06:11:35.000000000 Z - zone: *1 - time: 2023-02-14 06:11:35.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-14 12:22:06.000000000 Z - zone: *1 - time: 2023-02-14 12:22:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-16 14:43:29.000000000 Z - zone: *1 - time: 2023-02-16 14:43:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-16 15:58:19.000000000 Z - zone: *1 - time: 2023-02-16 15:58:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-17 08:36:37.000000000 Z - zone: *1 - time: 2023-02-17 08:36:37.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-19 04:20:36.000000000 Z - zone: *1 - time: 2023-02-19 04:20:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-21 03:27:07.000000000 Z - zone: *1 - time: 2023-02-21 03:27:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-22 09:09:23.000000000 Z - zone: *1 - time: 2023-02-22 09:09:23.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-24 10:19:14.000000000 Z - zone: *1 - time: 2023-02-24 10:19:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-26 13:28:50.000000000 Z - zone: *1 - time: 2023-02-26 13:28:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-27 15:33:38.000000000 Z - zone: *1 - time: 2023-02-27 15:33:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-01 14:48:42.000000000 Z - zone: *1 - time: 2023-03-01 14:48:42.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-02 19:17:52.000000000 Z - zone: *1 - time: 2023-03-02 19:17:52.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-03 09:48:41.000000000 Z - zone: *1 - time: 2023-03-03 09:48:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-04 12:44:18.000000000 Z - zone: *1 - time: 2023-03-04 12:44:18.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-06 18:24:47.000000000 Z - zone: *1 - time: 2023-03-06 18:24:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-09 13:55:36.000000000 Z - zone: *1 - time: 2023-03-09 13:55:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-11 13:50:26.000000000 Z - zone: *1 - time: 2023-03-11 13:50:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-14 05:57:47.000000000 Z - zone: *1 - time: 2023-03-14 05:57:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-14 09:16:38.000000000 Z - zone: *1 - time: 2023-03-14 09:16:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-14 12:34:22.000000000 Z - zone: *1 - time: 2023-03-14 12:34:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-14 15:15:53.000000000 Z - zone: *1 - time: 2023-03-14 15:15:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-16 18:34:04.000000000 Z - zone: *1 - time: 2023-03-16 18:34:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-19 13:01:38.000000000 Z - zone: *1 - time: 2023-03-19 13:01:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-19 15:24:32.000000000 Z - zone: *1 - time: 2023-03-19 15:24:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-20 14:56:28.000000000 Z - zone: *1 - time: 2023-03-20 14:56:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-21 12:32:45.000000000 Z - zone: *1 - time: 2023-03-21 12:32:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-23 22:16:22.000000000 Z - zone: *1 - time: 2023-03-23 22:16:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-24 01:05:24.000000000 Z - zone: *1 - time: 2023-03-24 01:05:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-26 12:01:36.000000000 Z - zone: *1 - time: 2023-03-26 12:01:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-29 07:45:17.000000000 Z - zone: *1 - time: 2023-03-29 07:45:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-01 06:03:31.000000000 Z - zone: *1 - time: 2023-04-01 06:03:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-02 20:45:43.000000000 Z - zone: *1 - time: 2023-04-02 20:45:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-03 05:33:10.000000000 Z - zone: *1 - time: 2023-04-03 05:33:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-03 16:15:11.000000000 Z - zone: *1 - time: 2023-04-03 16:15:11.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-05 14:56:49.000000000 Z - zone: *1 - time: 2023-04-05 14:56:49.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-06 22:21:46.000000000 Z - zone: *1 - time: 2023-04-06 22:21:46.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-08 19:50:51.000000000 Z - zone: *1 - time: 2023-04-08 19:50:51.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-09 06:14:30.000000000 Z - zone: *1 - time: 2023-04-09 06:14:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-09 11:26:27.000000000 Z - zone: *1 - time: 2023-04-09 11:26:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-11 21:34:04.000000000 Z - zone: *1 - time: 2023-04-11 21:34:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-14 08:51:06.000000000 Z - zone: *1 - time: 2023-04-14 08:51:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-16 15:58:05.000000000 Z - zone: *1 - time: 2023-04-16 15:58:05.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-17 03:06:43.000000000 Z - zone: *1 - time: 2023-04-17 03:06:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-18 16:28:30.000000000 Z - zone: *1 - time: 2023-04-18 16:28:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-18 17:32:38.000000000 Z - zone: *1 - time: 2023-04-18 17:32:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-19 20:34:45.000000000 Z - zone: *1 - time: 2023-04-19 20:34:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-22 06:16:01.000000000 Z - zone: *1 - time: 2023-04-22 06:16:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-22 12:00:25.000000000 Z - zone: *1 - time: 2023-04-22 12:00:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-24 21:12:27.000000000 Z - zone: *1 - time: 2023-04-24 21:12:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-27 15:19:36.000000000 Z - zone: *1 - time: 2023-04-27 15:19:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-29 00:43:46.000000000 Z - zone: *1 - time: 2023-04-29 00:43:46.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-29 17:50:02.000000000 Z - zone: *1 - time: 2023-04-29 17:50:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-30 05:22:14.000000000 Z - zone: *1 - time: 2023-04-30 05:22:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-01 07:20:17.000000000 Z - zone: *1 - time: 2023-05-01 07:20:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-03 05:11:16.000000000 Z - zone: *1 - time: 2023-05-03 05:11:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-05 00:13:31.000000000 Z - zone: *1 - time: 2023-05-05 00:13:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-05 12:08:33.000000000 Z - zone: *1 - time: 2023-05-05 12:08:33.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-05 16:26:19.000000000 Z - zone: *1 - time: 2023-05-05 16:26:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-07 23:53:00.000000000 Z - zone: *1 - time: 2023-05-07 23:53:00.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-10 17:41:27.000000000 Z - zone: *1 - time: 2023-05-10 17:41:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-12 01:37:24.000000000 Z - zone: *1 - time: 2023-05-12 01:37:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-14 08:18:36.000000000 Z - zone: *1 - time: 2023-05-14 08:18:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-16 15:17:43.000000000 Z - zone: *1 - time: 2023-05-16 15:17:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-16 18:24:55.000000000 Z - zone: *1 - time: 2023-05-16 18:24:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-19 16:16:45.000000000 Z - zone: *1 - time: 2023-05-19 16:16:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-21 00:48:36.000000000 Z - zone: *1 - time: 2023-05-21 00:48:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-22 00:54:41.000000000 Z - zone: *1 - time: 2023-05-22 00:54:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-24 05:36:25.000000000 Z - zone: *1 - time: 2023-05-24 05:36:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-25 10:05:39.000000000 Z - zone: *1 - time: 2023-05-25 10:05:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-26 16:09:51.000000000 Z - zone: *1 - time: 2023-05-26 16:09:51.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-29 12:40:29.000000000 Z - zone: *1 - time: 2023-05-29 12:40:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-29 13:15:05.000000000 Z - zone: *1 - time: 2023-05-29 13:15:05.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-31 15:28:14.000000000 Z - zone: *1 - time: 2023-05-31 15:28:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-02 02:05:21.000000000 Z - zone: *1 - time: 2023-06-02 02:05:21.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-02 13:05:50.000000000 Z - zone: *1 - time: 2023-06-02 13:05:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-04 11:12:19.000000000 Z - zone: *1 - time: 2023-06-04 11:12:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-05 10:04:34.000000000 Z - zone: *1 - time: 2023-06-05 10:04:34.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-06 02:47:22.000000000 Z - zone: *1 - time: 2023-06-06 02:47:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-07 04:35:17.000000000 Z - zone: *1 - time: 2023-06-07 04:35:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-07 16:20:27.000000000 Z - zone: *1 - time: 2023-06-07 16:20:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-08 07:43:14.000000000 Z - zone: *1 - time: 2023-06-08 07:43:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-10 17:55:59.000000000 Z - zone: *1 - time: 2023-06-10 17:55:59.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-12 17:00:02.000000000 Z - zone: *1 - time: 2023-06-12 17:00:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-14 08:37:14.000000000 Z - zone: *1 - time: 2023-06-14 08:37:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-14 18:07:30.000000000 Z - zone: *1 - time: 2023-06-14 18:07:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-16 12:07:26.000000000 Z - zone: *1 - time: 2023-06-16 12:07:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-18 22:29:39.000000000 Z - zone: *1 - time: 2023-06-18 22:29:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-19 02:32:54.000000000 Z - zone: *1 - time: 2023-06-19 02:32:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-20 14:24:40.000000000 Z - zone: *1 - time: 2023-06-20 14:24:40.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-22 09:27:59.000000000 Z - zone: *1 - time: 2023-06-22 09:27:59.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-23 07:31:20.000000000 Z - zone: *1 - time: 2023-06-23 07:31:20.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-23 21:06:55.000000000 Z - zone: *1 - time: 2023-06-23 21:06:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-26 06:57:28.000000000 Z - zone: *1 - time: 2023-06-26 06:57:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-28 17:08:12.000000000 Z - zone: *1 - time: 2023-06-28 17:08:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-29 03:06:47.000000000 Z - zone: *1 - time: 2023-06-29 03:06:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-30 12:25:41.000000000 Z - zone: *1 - time: 2023-06-30 12:25:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-02 08:49:42.000000000 Z - zone: *1 - time: 2023-07-02 08:49:42.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-03 20:09:26.000000000 Z - zone: *1 - time: 2023-07-03 20:09:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-06 17:39:13.000000000 Z - zone: *1 - time: 2023-07-06 17:39:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-09 00:18:52.000000000 Z - zone: *1 - time: 2023-07-09 00:18:52.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-11 03:58:21.000000000 Z - zone: *1 - time: 2023-07-11 03:58:21.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-12 22:37:00.000000000 Z - zone: *1 - time: 2023-07-12 22:37:00.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-14 01:58:44.000000000 Z - zone: *1 - time: 2023-07-14 01:58:44.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-16 20:21:13.000000000 Z - zone: *1 - time: 2023-07-16 20:21:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-17 01:41:47.000000000 Z - zone: *1 - time: 2023-07-17 01:41:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-19 10:06:35.000000000 Z - zone: *1 - time: 2023-07-19 10:06:35.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-21 17:44:16.000000000 Z - zone: *1 - time: 2023-07-21 17:44:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-22 02:46:04.000000000 Z - zone: *1 - time: 2023-07-22 02:46:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-22 06:52:04.000000000 Z - zone: *1 - time: 2023-07-22 06:52:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-23 04:53:49.000000000 Z - zone: *1 - time: 2023-07-23 04:53:49.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-25 16:37:24.000000000 Z - zone: *1 - time: 2023-07-25 16:37:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-27 18:34:33.000000000 Z - zone: *1 - time: 2023-07-27 18:34:33.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-28 02:34:02.000000000 Z - zone: *1 - time: 2023-07-28 02:34:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-29 19:53:32.000000000 Z - zone: *1 - time: 2023-07-29 19:53:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-30 23:30:11.000000000 Z - zone: *1 - time: 2023-07-30 23:30:11.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-02 17:46:22.000000000 Z - zone: *1 - time: 2023-08-02 17:46:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-03 00:01:21.000000000 Z - zone: *1 - time: 2023-08-03 00:01:21.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-03 03:57:56.000000000 Z - zone: *1 - time: 2023-08-03 03:57:56.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-03 21:41:28.000000000 Z - zone: *1 - time: 2023-08-03 21:41:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-04 23:37:31.000000000 Z - zone: *1 - time: 2023-08-04 23:37:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-05 08:20:42.000000000 Z - zone: *1 - time: 2023-08-05 08:20:42.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-07 21:01:55.000000000 Z - zone: *1 - time: 2023-08-07 21:01:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-10 17:03:47.000000000 Z - zone: *1 - time: 2023-08-10 17:03:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-11 21:06:31.000000000 Z - zone: *1 - time: 2023-08-11 21:06:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-12 08:45:08.000000000 Z - zone: *1 - time: 2023-08-12 08:45:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-13 07:09:39.000000000 Z - zone: *1 - time: 2023-08-13 07:09:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-14 11:15:10.000000000 Z - zone: *1 - time: 2023-08-14 11:15:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-16 04:15:48.000000000 Z - zone: *1 - time: 2023-08-16 04:15:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-19 04:11:43.000000000 Z - zone: *1 - time: 2023-08-19 04:11:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-19 10:10:27.000000000 Z - zone: *1 - time: 2023-08-19 10:10:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-22 09:41:20.000000000 Z - zone: *1 - time: 2023-08-22 09:41:20.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-24 10:27:08.000000000 Z - zone: *1 - time: 2023-08-24 10:27:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-24 18:16:12.000000000 Z - zone: *1 - time: 2023-08-24 18:16:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-25 17:02:28.000000000 Z - zone: *1 - time: 2023-08-25 17:02:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-27 15:58:52.000000000 Z - zone: *1 - time: 2023-08-27 15:58:52.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-27 23:29:53.000000000 Z - zone: *1 - time: 2023-08-27 23:29:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-28 21:31:27.000000000 Z - zone: *1 - time: 2023-08-28 21:31:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-29 03:35:29.000000000 Z - zone: *1 - time: 2023-08-29 03:35:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-31 06:15:19.000000000 Z - zone: *1 - time: 2023-08-31 06:15:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-01 21:56:52.000000000 Z - zone: *1 - time: 2023-09-01 21:56:52.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-02 22:57:53.000000000 Z - zone: *1 - time: 2023-09-02 22:57:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-05 03:28:30.000000000 Z - zone: *1 - time: 2023-09-05 03:28:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-07 04:57:12.000000000 Z - zone: *1 - time: 2023-09-07 04:57:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-09 19:16:05.000000000 Z - zone: *1 - time: 2023-09-09 19:16:05.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-09 20:01:39.000000000 Z - zone: *1 - time: 2023-09-09 20:01:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-11 03:23:22.000000000 Z - zone: *1 - time: 2023-09-11 03:23:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-12 15:18:29.000000000 Z - zone: *1 - time: 2023-09-12 15:18:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-13 14:14:43.000000000 Z - zone: *1 - time: 2023-09-13 14:14:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-13 17:37:25.000000000 Z - zone: *1 - time: 2023-09-13 17:37:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-14 18:17:49.000000000 Z - zone: *1 - time: 2023-09-14 18:17:49.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-16 19:56:55.000000000 Z - zone: *1 - time: 2023-09-16 19:56:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-18 14:21:02.000000000 Z - zone: *1 - time: 2023-09-18 14:21:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-21 00:34:13.000000000 Z - zone: *1 - time: 2023-09-21 00:34:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-23 07:14:06.000000000 Z - zone: *1 - time: 2023-09-23 07:14:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-24 17:22:22.000000000 Z - zone: *1 - time: 2023-09-24 17:22:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-27 12:42:54.000000000 Z - zone: *1 - time: 2023-09-27 12:42:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-28 14:48:45.000000000 Z - zone: *1 - time: 2023-09-28 14:48:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-01 11:54:24.000000000 Z - zone: *1 - time: 2023-10-01 11:54:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-03 07:36:32.000000000 Z - zone: *1 - time: 2023-10-03 07:36:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-05 05:13:57.000000000 Z - zone: *1 - time: 2023-10-05 05:13:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-06 16:07:06.000000000 Z - zone: *1 - time: 2023-10-06 16:07:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-09 00:03:52.000000000 Z - zone: *1 - time: 2023-10-09 00:03:52.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-09 02:32:01.000000000 Z - zone: *1 - time: 2023-10-09 02:32:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-10 16:39:07.000000000 Z - zone: *1 - time: 2023-10-10 16:39:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-12 13:28:16.000000000 Z - zone: *1 - time: 2023-10-12 13:28:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-14 04:29:14.000000000 Z - zone: *1 - time: 2023-10-14 04:29:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-17 03:30:24.000000000 Z - zone: *1 - time: 2023-10-17 03:30:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-20 03:13:15.000000000 Z - zone: *1 - time: 2023-10-20 03:13:15.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-20 20:47:06.000000000 Z - zone: *1 - time: 2023-10-20 20:47:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-21 13:59:34.000000000 Z - zone: *1 - time: 2023-10-21 13:59:34.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-23 21:38:48.000000000 Z - zone: *1 - time: 2023-10-23 21:38:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-24 06:07:13.000000000 Z - zone: *1 - time: 2023-10-24 06:07:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-25 22:51:17.000000000 Z - zone: *1 - time: 2023-10-25 22:51:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-26 21:12:50.000000000 Z - zone: *1 - time: 2023-10-26 21:12:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-28 05:52:20.000000000 Z - zone: *1 - time: 2023-10-28 05:52:20.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-29 22:11:01.000000000 Z - zone: *1 - time: 2023-10-29 22:11:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-30 12:29:25.000000000 Z - zone: *1 - time: 2023-10-30 12:29:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-02 02:52:55.000000000 Z - zone: *1 - time: 2023-11-02 02:52:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-02 06:00:32.000000000 Z - zone: *1 - time: 2023-11-02 06:00:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-03 08:39:06.000000000 Z - zone: *1 - time: 2023-11-03 08:39:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-04 23:51:22.000000000 Z - zone: *1 - time: 2023-11-04 23:51:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-07 16:11:33.000000000 Z - zone: *1 - time: 2023-11-07 16:11:33.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-10 10:55:29.000000000 Z - zone: *1 - time: 2023-11-10 10:55:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 01:20:18.000000000 Z - zone: *1 - time: 2023-11-12 01:20:18.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 04:22:50.000000000 Z - zone: *1 - time: 2023-11-12 04:22:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 08:38:58.000000000 Z - zone: *1 - time: 2023-11-12 08:38:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-13 15:43:40.000000000 Z - zone: *1 - time: 2023-11-13 15:43:40.000000000 Z +run Calendar diff --git a/gem/apps/demo.ru b/gem/apps/demo.ru index 54c6c35fa..bdd1a3f27 100644 --- a/gem/apps/demo.ru +++ b/gem/apps/demo.ru @@ -18,7 +18,7 @@ # DOC # https://ddnexus.github.io/pagy/playground/#3-demo-app -VERSION = '8.4.5' +VERSION = '8.5.0' require 'bundler/inline' require 'bundler' diff --git a/gem/apps/rails.ru b/gem/apps/rails.ru index f6267ae8d..49d4a02da 100644 --- a/gem/apps/rails.ru +++ b/gem/apps/rails.ru @@ -15,7 +15,7 @@ # DOC # https://ddnexus.github.io/pagy/playground/#2-rails-app -VERSION = '8.4.5' +VERSION = '8.5.0' # Gemfile require 'bundler/inline' @@ -26,6 +26,8 @@ gemfile(ENV['PAGY_INSTALL_BUNDLE'] == 'true') do gem 'oj' gem 'puma' gem 'rails' + # activerecord/sqlite3_adapter.rb probably useless) constraint !!! + # https://github.com/rails/rails/blame/v7.1.3.4/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb#L14 gem 'sqlite3', '~> 1.4.0' end diff --git a/gem/apps/repro.ru b/gem/apps/repro.ru index f7a024182..f3d2cee65 100644 --- a/gem/apps/repro.ru +++ b/gem/apps/repro.ru @@ -15,7 +15,7 @@ # DOC # https://ddnexus.github.io/pagy/playground/#1-repro-app -VERSION = '8.4.5' +VERSION = '8.5.0' require 'bundler/inline' require 'bundler' diff --git a/gem/bin/pagy b/gem/bin/pagy index 96bc7642c..2ca6d1711 100755 --- a/gem/bin/pagy +++ b/gem/bin/pagy @@ -1,10 +1,11 @@ #!/usr/bin/env ruby # frozen_string_literal: true -VERSION = '8.4.5' +VERSION = '8.5.0' APPS = %w[repro rails demo calendar].freeze LINUX = RbConfig::CONFIG['host_os'].include?('linux') -DIR = __dir__ || '' +HOST = '0.0.0.0' +PORT = '8000' require_relative '../lib/optimist' opts = Optimist.options do @@ -21,19 +22,19 @@ opts = Optimist.options do pagy clone APP Clone APP to the current dir pagy APPFILE [options] Develop APPFILE from local path EXAMPLES - pagy demo Showcase demo at http://0.0.0.0:8000 + pagy demo Showcase demo at http://#{HOST}:#{PORT} pagy clone repro Clone repro to ./repro.ru - pagy ~/my-repro.ru Develop ~/my-repro.ru at http://0.0.0.0:8000 + pagy ~/my-repro.ru Develop ~/my-repro.ru at#{HOST}:#{PORT} HEAD text 'Rackup options' opt :env, 'Environment', default: 'development' - opt :host, 'Host', default: '0.0.0.0', short: :o - opt :port, 'Port', default: 8000 + opt :host, 'Host', default: HOST, short: :o + opt :port, 'Port', default: PORT opt :install, 'Install bundle for users', default: true if LINUX text 'Rerun options' - opt :rerun, 'Enable rerun for development', default: true - opt :clear, 'Clear screen before each rerun' + opt :rerun, 'Enable rerun for development', default: true + opt :clear, 'Clear screen before each rerun' end text 'Other options' opt :quiet, 'Quiet mode for development' @@ -41,9 +42,7 @@ opts = Optimist.options do end Optimist.educate if ARGV.empty? -run_from_repo = File.exist?(File.expand_path('../pagy.gemspec', DIR)) -# Never install if run from pagy repo (for pagy devs) -opts[:install] = false if run_from_repo && !ENV['CI'] +run_from_repo = File.exist?(File.expand_path('../pagy.gemspec', __dir__)) # Handles gems require 'bundler/inline' @@ -55,7 +54,7 @@ gemfile(opts[:install]) do gem 'rerun' if LINUX end -path = ->(app) { File.expand_path("../apps/#{app}.ru", DIR) } +path = ->(app) { File.expand_path("../apps/#{app}.ru", __dir__) } arg = ARGV.shift if arg.eql?('clone') arg = ARGV.shift @@ -82,7 +81,7 @@ else end Optimist.die("#{file.inspect} app not found") unless File.exist?(file) # Run command - gem_dir = File.expand_path('..', DIR) + gem_dir = File.expand_path('..', __dir__) rackup = "rackup -I #{gem_dir}/lib -r pagy -o #{opts[:host]} -p #{opts[:port]} -E #{opts[:env]} #{file}" rackup << ' -q' if opts[:quiet] if opts[:rerun] diff --git a/gem/config/pagy.rb b/gem/config/pagy.rb index a3e5e2d82..ded88909a 100644 --- a/gem/config/pagy.rb +++ b/gem/config/pagy.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -# Pagy initializer file (8.4.5) +# Pagy initializer file (8.5.0) # Customize only what you really need and notice that the core Pagy works also without any of the following lines. # Should you just cherry pick part of this file, please maintain the require-order of the extras diff --git a/gem/javascripts/pagy-module.js b/gem/javascripts/pagy-module.js index 8f1c60fdd..2fbe08c0b 100644 --- a/gem/javascripts/pagy-module.js +++ b/gem/javascripts/pagy-module.js @@ -73,7 +73,7 @@ const Pagy = (() => { }; const trim = (a, param) => a.replace(new RegExp(`[?&]${param}=1\\b(?!&)|\\b${param}=1&`), ""); return { - version: "8.4.5", + version: "8.5.0", init(arg) { const target = arg instanceof Element ? arg : document; const elements = target.querySelectorAll("[data-pagy]"); diff --git a/gem/javascripts/pagy.js b/gem/javascripts/pagy.js index 5ed15e796..d8478c695 100644 --- a/gem/javascripts/pagy.js +++ b/gem/javascripts/pagy.js @@ -1,4 +1,4 @@ -window.Pagy=(()=>{const j=new ResizeObserver((B)=>B.forEach((D)=>D.target.querySelectorAll(".pagy-rjs").forEach((E)=>E.pagyRender()))),x=(B,[D,E,z,G])=>{const F=B.parentElement??B,K=Object.keys(E).map((H)=>parseInt(H)).sort((H,M)=>M-H);let L=-1;const T=(H,M,R)=>H.replace(/__pagy_page__/g,M).replace(/__pagy_label__/g,R);if((B.pagyRender=function(){const H=K.find((Q)=>QQ.toString());R.forEach((Q,J)=>{const $=X[J];let U;if(typeof Q==="number")U=T(D.a,Q.toString(),$);else if(Q==="gap")U=D.gap;else U=T(D.current,Q,$);M+=typeof G==="string"&&Q==1?Z(U,G):U}),M+=D.after,B.innerHTML="",B.insertAdjacentHTML("afterbegin",M),L=H})(),B.classList.contains("pagy-rjs"))j.observe(F)},A=(B,[D,E])=>Y(B,(z)=>[z,D.replace(/__pagy_page__/,z)],E),C=(B,[D,E,z])=>{Y(B,(G)=>{const F=Math.max(Math.ceil(D/parseInt(G)),1).toString(),K=E.replace(/__pagy_page__/,F).replace(/__pagy_items__/,G);return[F,K]},z)},Y=(B,D,E)=>{const z=B.querySelector("input"),G=B.querySelector("a"),F=z.value,K=function(){if(z.value===F)return;const[L,T,H]=[z.min,z.value,z.max].map((X)=>parseInt(X)||0);if(TH){z.value=F,z.select();return}let[M,R]=D(z.value);if(typeof E==="string"&&M==="1")R=Z(R,E);G.href=R,G.click()};["change","focus"].forEach((L)=>z.addEventListener(L,()=>z.select())),z.addEventListener("focusout",K),z.addEventListener("keypress",(L)=>{if(L.key==="Enter")K()})},Z=(B,D)=>B.replace(new RegExp(`[?&]${D}=1\\b(?!&)|\\b${D}=1&`),"");return{version:"8.4.5",init(B){const E=(B instanceof Element?B:document).querySelectorAll("[data-pagy]");for(let z of E)try{const G=Uint8Array.from(atob(z.getAttribute("data-pagy")),(L)=>L.charCodeAt(0)),[F,...K]=JSON.parse((new TextDecoder()).decode(G));if(F==="nav")x(z,K);else if(F==="combo")A(z,K);else if(F==="selector")C(z,K);else console.warn("Skipped Pagy.init() for: %o\nUnknown keyword '%s'",z,F)}catch(G){console.warn("Skipped Pagy.init() for: %o\n%s",z,G)}}}})(); +window.Pagy=(()=>{const j=new ResizeObserver((B)=>B.forEach((D)=>D.target.querySelectorAll(".pagy-rjs").forEach((E)=>E.pagyRender()))),x=(B,[D,E,z,G])=>{const F=B.parentElement??B,K=Object.keys(E).map((H)=>parseInt(H)).sort((H,M)=>M-H);let L=-1;const T=(H,M,R)=>H.replace(/__pagy_page__/g,M).replace(/__pagy_label__/g,R);if((B.pagyRender=function(){const H=K.find((Q)=>QQ.toString());R.forEach((Q,J)=>{const $=X[J];let U;if(typeof Q==="number")U=T(D.a,Q.toString(),$);else if(Q==="gap")U=D.gap;else U=T(D.current,Q,$);M+=typeof G==="string"&&Q==1?Z(U,G):U}),M+=D.after,B.innerHTML="",B.insertAdjacentHTML("afterbegin",M),L=H})(),B.classList.contains("pagy-rjs"))j.observe(F)},A=(B,[D,E])=>Y(B,(z)=>[z,D.replace(/__pagy_page__/,z)],E),C=(B,[D,E,z])=>{Y(B,(G)=>{const F=Math.max(Math.ceil(D/parseInt(G)),1).toString(),K=E.replace(/__pagy_page__/,F).replace(/__pagy_items__/,G);return[F,K]},z)},Y=(B,D,E)=>{const z=B.querySelector("input"),G=B.querySelector("a"),F=z.value,K=function(){if(z.value===F)return;const[L,T,H]=[z.min,z.value,z.max].map((X)=>parseInt(X)||0);if(TH){z.value=F,z.select();return}let[M,R]=D(z.value);if(typeof E==="string"&&M==="1")R=Z(R,E);G.href=R,G.click()};["change","focus"].forEach((L)=>z.addEventListener(L,()=>z.select())),z.addEventListener("focusout",K),z.addEventListener("keypress",(L)=>{if(L.key==="Enter")K()})},Z=(B,D)=>B.replace(new RegExp(`[?&]${D}=1\\b(?!&)|\\b${D}=1&`),"");return{version:"8.5.0",init(B){const E=(B instanceof Element?B:document).querySelectorAll("[data-pagy]");for(let z of E)try{const G=Uint8Array.from(atob(z.getAttribute("data-pagy")),(L)=>L.charCodeAt(0)),[F,...K]=JSON.parse((new TextDecoder()).decode(G));if(F==="nav")x(z,K);else if(F==="combo")A(z,K);else if(F==="selector")C(z,K);else console.warn("Skipped Pagy.init() for: %o\nUnknown keyword '%s'",z,F)}catch(G){console.warn("Skipped Pagy.init() for: %o\n%s",z,G)}}}})(); -//# debugId=4ED4DF80C65A3E2164756e2164756e21 +//# debugId=20862703AA72E11D64756e2164756e21 //# sourceMappingURL=pagy.min.js.map diff --git a/gem/javascripts/pagy.min.js b/gem/javascripts/pagy.min.js index 5ed15e796..d8478c695 100644 --- a/gem/javascripts/pagy.min.js +++ b/gem/javascripts/pagy.min.js @@ -1,4 +1,4 @@ -window.Pagy=(()=>{const j=new ResizeObserver((B)=>B.forEach((D)=>D.target.querySelectorAll(".pagy-rjs").forEach((E)=>E.pagyRender()))),x=(B,[D,E,z,G])=>{const F=B.parentElement??B,K=Object.keys(E).map((H)=>parseInt(H)).sort((H,M)=>M-H);let L=-1;const T=(H,M,R)=>H.replace(/__pagy_page__/g,M).replace(/__pagy_label__/g,R);if((B.pagyRender=function(){const H=K.find((Q)=>QQ.toString());R.forEach((Q,J)=>{const $=X[J];let U;if(typeof Q==="number")U=T(D.a,Q.toString(),$);else if(Q==="gap")U=D.gap;else U=T(D.current,Q,$);M+=typeof G==="string"&&Q==1?Z(U,G):U}),M+=D.after,B.innerHTML="",B.insertAdjacentHTML("afterbegin",M),L=H})(),B.classList.contains("pagy-rjs"))j.observe(F)},A=(B,[D,E])=>Y(B,(z)=>[z,D.replace(/__pagy_page__/,z)],E),C=(B,[D,E,z])=>{Y(B,(G)=>{const F=Math.max(Math.ceil(D/parseInt(G)),1).toString(),K=E.replace(/__pagy_page__/,F).replace(/__pagy_items__/,G);return[F,K]},z)},Y=(B,D,E)=>{const z=B.querySelector("input"),G=B.querySelector("a"),F=z.value,K=function(){if(z.value===F)return;const[L,T,H]=[z.min,z.value,z.max].map((X)=>parseInt(X)||0);if(TH){z.value=F,z.select();return}let[M,R]=D(z.value);if(typeof E==="string"&&M==="1")R=Z(R,E);G.href=R,G.click()};["change","focus"].forEach((L)=>z.addEventListener(L,()=>z.select())),z.addEventListener("focusout",K),z.addEventListener("keypress",(L)=>{if(L.key==="Enter")K()})},Z=(B,D)=>B.replace(new RegExp(`[?&]${D}=1\\b(?!&)|\\b${D}=1&`),"");return{version:"8.4.5",init(B){const E=(B instanceof Element?B:document).querySelectorAll("[data-pagy]");for(let z of E)try{const G=Uint8Array.from(atob(z.getAttribute("data-pagy")),(L)=>L.charCodeAt(0)),[F,...K]=JSON.parse((new TextDecoder()).decode(G));if(F==="nav")x(z,K);else if(F==="combo")A(z,K);else if(F==="selector")C(z,K);else console.warn("Skipped Pagy.init() for: %o\nUnknown keyword '%s'",z,F)}catch(G){console.warn("Skipped Pagy.init() for: %o\n%s",z,G)}}}})(); +window.Pagy=(()=>{const j=new ResizeObserver((B)=>B.forEach((D)=>D.target.querySelectorAll(".pagy-rjs").forEach((E)=>E.pagyRender()))),x=(B,[D,E,z,G])=>{const F=B.parentElement??B,K=Object.keys(E).map((H)=>parseInt(H)).sort((H,M)=>M-H);let L=-1;const T=(H,M,R)=>H.replace(/__pagy_page__/g,M).replace(/__pagy_label__/g,R);if((B.pagyRender=function(){const H=K.find((Q)=>QQ.toString());R.forEach((Q,J)=>{const $=X[J];let U;if(typeof Q==="number")U=T(D.a,Q.toString(),$);else if(Q==="gap")U=D.gap;else U=T(D.current,Q,$);M+=typeof G==="string"&&Q==1?Z(U,G):U}),M+=D.after,B.innerHTML="",B.insertAdjacentHTML("afterbegin",M),L=H})(),B.classList.contains("pagy-rjs"))j.observe(F)},A=(B,[D,E])=>Y(B,(z)=>[z,D.replace(/__pagy_page__/,z)],E),C=(B,[D,E,z])=>{Y(B,(G)=>{const F=Math.max(Math.ceil(D/parseInt(G)),1).toString(),K=E.replace(/__pagy_page__/,F).replace(/__pagy_items__/,G);return[F,K]},z)},Y=(B,D,E)=>{const z=B.querySelector("input"),G=B.querySelector("a"),F=z.value,K=function(){if(z.value===F)return;const[L,T,H]=[z.min,z.value,z.max].map((X)=>parseInt(X)||0);if(TH){z.value=F,z.select();return}let[M,R]=D(z.value);if(typeof E==="string"&&M==="1")R=Z(R,E);G.href=R,G.click()};["change","focus"].forEach((L)=>z.addEventListener(L,()=>z.select())),z.addEventListener("focusout",K),z.addEventListener("keypress",(L)=>{if(L.key==="Enter")K()})},Z=(B,D)=>B.replace(new RegExp(`[?&]${D}=1\\b(?!&)|\\b${D}=1&`),"");return{version:"8.5.0",init(B){const E=(B instanceof Element?B:document).querySelectorAll("[data-pagy]");for(let z of E)try{const G=Uint8Array.from(atob(z.getAttribute("data-pagy")),(L)=>L.charCodeAt(0)),[F,...K]=JSON.parse((new TextDecoder()).decode(G));if(F==="nav")x(z,K);else if(F==="combo")A(z,K);else if(F==="selector")C(z,K);else console.warn("Skipped Pagy.init() for: %o\nUnknown keyword '%s'",z,F)}catch(G){console.warn("Skipped Pagy.init() for: %o\n%s",z,G)}}}})(); -//# debugId=4ED4DF80C65A3E2164756e2164756e21 +//# debugId=20862703AA72E11D64756e2164756e21 //# sourceMappingURL=pagy.min.js.map diff --git a/gem/javascripts/pagy.min.js.map b/gem/javascripts/pagy.min.js.map index 456175356..dbffab845 100644 --- a/gem/javascripts/pagy.min.js.map +++ b/gem/javascripts/pagy.min.js.map @@ -2,9 +2,9 @@ "version": 3, "sources": ["../../src/pagy.ts"], "sourcesContent": [ - "type NavArgs = readonly [Tokens, Sequels, null | LabelSequels, string?]\ntype ComboArgs = readonly [string, string?]\ntype SelectorArgs = readonly [number, string, string?]\ntype JsonArgs = ['nav', NavArgs] | ['combo', ComboArgs] | ['selector', SelectorArgs]\n\ninterface Tokens {\n readonly before:string\n readonly a:string\n readonly current:string\n readonly gap:string\n readonly after:string\n}\ninterface Sequels {readonly [width:string]:(string | number)[]}\ninterface LabelSequels {readonly [width:string]:string[]}\ninterface NavElement extends Element {pagyRender():void}\n\nconst Pagy = (() => {\n // The observer instance for responsive navs\n const rjsObserver = new ResizeObserver(\n entries => entries.forEach(e => e.target.querySelectorAll(\".pagy-rjs\")\n .forEach(el => el.pagyRender())));\n // Init the *_nav_js helpers\n const initNav = (el:NavElement, [tokens, sequels, labelSequels, trimParam]:NavArgs) => {\n const container = el.parentElement ?? el;\n const widths = Object.keys(sequels).map(w => parseInt(w)).sort((a, b) => b - a);\n let lastWidth = -1;\n const fillIn = (a:string, page:string, label:string):string =>\n a.replace(/__pagy_page__/g, page).replace(/__pagy_label__/g, label);\n (el.pagyRender = function () {\n const width = widths.find(w => w < container.clientWidth) || 0;\n if (width === lastWidth) { return } // no change: abort\n let html = tokens.before; // already trimmed in html\n const series = sequels[width.toString()];\n const labels = labelSequels?.[width.toString()] ?? series.map(l => l.toString());\n series.forEach((item, i) => {\n const label = labels[i];\n let filled;\n if (typeof item === \"number\") {\n filled = fillIn(tokens.a, item.toString(), label);\n } else if (item === \"gap\") {\n filled = tokens.gap;\n } else { // active page\n filled = fillIn(tokens.current, item, label);\n }\n html += (typeof trimParam === \"string\" && item == 1) ? trim(filled, trimParam) : filled;\n });\n html += tokens.after;\n el.innerHTML = \"\";\n el.insertAdjacentHTML(\"afterbegin\", html);\n lastWidth = width;\n })();\n if (el.classList.contains(\"pagy-rjs\")) { rjsObserver.observe(container) }\n };\n\n // Init the *_combo_nav_js helpers\n const initCombo = (el:Element, [url_token, trimParam]:ComboArgs) =>\n initInput(el, inputValue => [inputValue, url_token.replace(/__pagy_page__/, inputValue)], trimParam);\n\n // Init the items_selector_js helper\n const initSelector = (el:Element, [from, url_token, trimParam]:SelectorArgs) => {\n initInput(el, inputValue => {\n const page = Math.max(Math.ceil(from / parseInt(inputValue)), 1).toString();\n const url = url_token.replace(/__pagy_page__/, page).replace(/__pagy_items__/, inputValue);\n return [page, url];\n }, trimParam);\n };\n\n // Init the input element\n const initInput = (el:Element, getVars:(v:string) => [string, string], trimParam?:string) => {\n const input = el.querySelector(\"input\") as HTMLInputElement;\n const link = el.querySelector(\"a\") as HTMLAnchorElement;\n const initial = input.value;\n const action = function () {\n if (input.value === initial) { return } // not changed\n const [min, val, max] = [input.min, input.value, input.max].map(n => parseInt(n) || 0);\n if (val < min || val > max) { // reset invalid/out-of-range\n input.value = initial;\n input.select();\n return;\n }\n let [page, url] = getVars(input.value); // eslint-disable-line prefer-const\n if (typeof trimParam === \"string\" && page === \"1\") { url = trim(url, trimParam) }\n link.href = url;\n link.click();\n };\n [\"change\", \"focus\"].forEach(e => input.addEventListener(e, () => input.select())); // auto-select\n input.addEventListener(\"focusout\", action); // trigger action\n input.addEventListener(\"keypress\", e => { if (e.key === \"Enter\") { action() } }); // trigger action\n };\n\n // Trim the ${page-param}=1 params in links\n const trim = (a:string, param:string) =>\n a.replace(new RegExp(`[?&]${param}=1\\\\b(?!&)|\\\\b${param}=1&`), \"\");\n\n // Public interface\n return {\n version: \"8.4.5\",\n\n // Scan for elements with a \"data-pagy\" attribute and call their init functions with the decoded args\n init(arg?:Element) {\n const target = arg instanceof Element ? arg : document;\n const elements = target.querySelectorAll(\"[data-pagy]\");\n for (const el of elements) {\n try {\n const uint8array = Uint8Array.from(atob(el.getAttribute(\"data-pagy\") as string), c => c.charCodeAt(0));\n const [keyword, ...args] = JSON.parse((new TextDecoder()).decode(uint8array)) as JsonArgs; // base64-utf8 -> JSON -> Array\n if (keyword === \"nav\") {\n initNav(el as NavElement, args as unknown as NavArgs);\n } else if (keyword === \"combo\") {\n initCombo(el, args as unknown as ComboArgs);\n } else if (keyword === \"selector\") {\n initSelector(el, args as unknown as SelectorArgs);\n } else {\n console.warn(\"Skipped Pagy.init() for: %o\\nUnknown keyword '%s'\", el, keyword);\n }\n } catch (err) { console.warn(\"Skipped Pagy.init() for: %o\\n%s\", el, err) }\n }\n }\n };\n})();\n\nexport default Pagy;\n" + "type NavArgs = readonly [Tokens, Sequels, null | LabelSequels, string?]\ntype ComboArgs = readonly [string, string?]\ntype SelectorArgs = readonly [number, string, string?]\ntype JsonArgs = ['nav', NavArgs] | ['combo', ComboArgs] | ['selector', SelectorArgs]\n\ninterface Tokens {\n readonly before:string\n readonly a:string\n readonly current:string\n readonly gap:string\n readonly after:string\n}\ninterface Sequels {readonly [width:string]:(string | number)[]}\ninterface LabelSequels {readonly [width:string]:string[]}\ninterface NavElement extends Element {pagyRender():void}\n\nconst Pagy = (() => {\n // The observer instance for responsive navs\n const rjsObserver = new ResizeObserver(\n entries => entries.forEach(e => e.target.querySelectorAll(\".pagy-rjs\")\n .forEach(el => el.pagyRender())));\n // Init the *_nav_js helpers\n const initNav = (el:NavElement, [tokens, sequels, labelSequels, trimParam]:NavArgs) => {\n const container = el.parentElement ?? el;\n const widths = Object.keys(sequels).map(w => parseInt(w)).sort((a, b) => b - a);\n let lastWidth = -1;\n const fillIn = (a:string, page:string, label:string):string =>\n a.replace(/__pagy_page__/g, page).replace(/__pagy_label__/g, label);\n (el.pagyRender = function () {\n const width = widths.find(w => w < container.clientWidth) || 0;\n if (width === lastWidth) { return } // no change: abort\n let html = tokens.before; // already trimmed in html\n const series = sequels[width.toString()];\n const labels = labelSequels?.[width.toString()] ?? series.map(l => l.toString());\n series.forEach((item, i) => {\n const label = labels[i];\n let filled;\n if (typeof item === \"number\") {\n filled = fillIn(tokens.a, item.toString(), label);\n } else if (item === \"gap\") {\n filled = tokens.gap;\n } else { // active page\n filled = fillIn(tokens.current, item, label);\n }\n html += (typeof trimParam === \"string\" && item == 1) ? trim(filled, trimParam) : filled;\n });\n html += tokens.after;\n el.innerHTML = \"\";\n el.insertAdjacentHTML(\"afterbegin\", html);\n lastWidth = width;\n })();\n if (el.classList.contains(\"pagy-rjs\")) { rjsObserver.observe(container) }\n };\n\n // Init the *_combo_nav_js helpers\n const initCombo = (el:Element, [url_token, trimParam]:ComboArgs) =>\n initInput(el, inputValue => [inputValue, url_token.replace(/__pagy_page__/, inputValue)], trimParam);\n\n // Init the items_selector_js helper\n const initSelector = (el:Element, [from, url_token, trimParam]:SelectorArgs) => {\n initInput(el, inputValue => {\n const page = Math.max(Math.ceil(from / parseInt(inputValue)), 1).toString();\n const url = url_token.replace(/__pagy_page__/, page).replace(/__pagy_items__/, inputValue);\n return [page, url];\n }, trimParam);\n };\n\n // Init the input element\n const initInput = (el:Element, getVars:(v:string) => [string, string], trimParam?:string) => {\n const input = el.querySelector(\"input\") as HTMLInputElement;\n const link = el.querySelector(\"a\") as HTMLAnchorElement;\n const initial = input.value;\n const action = function () {\n if (input.value === initial) { return } // not changed\n const [min, val, max] = [input.min, input.value, input.max].map(n => parseInt(n) || 0);\n if (val < min || val > max) { // reset invalid/out-of-range\n input.value = initial;\n input.select();\n return;\n }\n let [page, url] = getVars(input.value); // eslint-disable-line prefer-const\n if (typeof trimParam === \"string\" && page === \"1\") { url = trim(url, trimParam) }\n link.href = url;\n link.click();\n };\n [\"change\", \"focus\"].forEach(e => input.addEventListener(e, () => input.select())); // auto-select\n input.addEventListener(\"focusout\", action); // trigger action\n input.addEventListener(\"keypress\", e => { if (e.key === \"Enter\") { action() } }); // trigger action\n };\n\n // Trim the ${page-param}=1 params in links\n const trim = (a:string, param:string) =>\n a.replace(new RegExp(`[?&]${param}=1\\\\b(?!&)|\\\\b${param}=1&`), \"\");\n\n // Public interface\n return {\n version: \"8.5.0\",\n\n // Scan for elements with a \"data-pagy\" attribute and call their init functions with the decoded args\n init(arg?:Element) {\n const target = arg instanceof Element ? arg : document;\n const elements = target.querySelectorAll(\"[data-pagy]\");\n for (const el of elements) {\n try {\n const uint8array = Uint8Array.from(atob(el.getAttribute(\"data-pagy\") as string), c => c.charCodeAt(0));\n const [keyword, ...args] = JSON.parse((new TextDecoder()).decode(uint8array)) as JsonArgs; // base64-utf8 -> JSON -> Array\n if (keyword === \"nav\") {\n initNav(el as NavElement, args as unknown as NavArgs);\n } else if (keyword === \"combo\") {\n initCombo(el, args as unknown as ComboArgs);\n } else if (keyword === \"selector\") {\n initSelector(el, args as unknown as SelectorArgs);\n } else {\n console.warn(\"Skipped Pagy.init() for: %o\\nUnknown keyword '%s'\", el, keyword);\n }\n } catch (err) { console.warn(\"Skipped Pagy.init() for: %o\\n%s\", el, err) }\n }\n }\n };\n})();\n\nexport default Pagy;\n" ], "mappings": "AAgBA,IAAM,GAAQ,IAAM,CAElB,MAAM,EAAc,IAAI,eACpB,KAAW,EAAQ,QAAQ,KAAK,EAAE,OAAO,iBAA6B,WAAW,EAC/C,QAAQ,KAAM,EAAG,WAAW,CAAC,CAAC,CAAC,EAE/D,EAAU,CAAC,GAAgB,EAAQ,EAAS,EAAc,KAAuB,CACrF,MAAM,EAAY,EAAG,eAAiB,EAChC,EAAY,OAAO,KAAK,CAAO,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,EAAG,IAAM,EAAI,CAAC,EACjF,IAAI,GAAc,EAClB,MAAM,EAAY,CAAC,EAAU,EAAa,IACtC,EAAE,QAAQ,iBAAkB,CAAI,EAAE,QAAQ,kBAAmB,CAAK,EAwBtE,IAvBC,EAAG,mBAAsB,EAAG,CAC3B,MAAM,EAAQ,EAAO,KAAK,KAAK,EAAI,EAAU,WAAW,GAAK,EAC7D,GAAI,IAAU,EAAa,OAC3B,IAAI,EAAW,EAAO,OACtB,MAAM,EAAS,EAAQ,EAAM,SAAS,GAChC,EAAS,IAAe,EAAM,SAAS,IAAM,EAAO,IAAI,KAAK,EAAE,SAAS,CAAC,EAC/E,EAAO,QAAQ,CAAC,EAAM,IAAM,CAC1B,MAAM,EAAQ,EAAO,GACrB,IAAI,EACJ,UAAW,IAAS,SAClB,EAAS,EAAO,EAAO,EAAG,EAAK,SAAS,EAAG,CAAK,UACvC,IAAS,MAClB,EAAS,EAAO,QAEhB,GAAS,EAAO,EAAO,QAAS,EAAM,CAAK,EAE7C,UAAgB,IAAc,UAAY,GAAQ,EAAK,EAAK,EAAQ,CAAS,EAAI,EAClF,EACD,GAAe,EAAO,MACtB,EAAG,UAAY,GACf,EAAG,mBAAmB,aAAc,CAAI,EACxC,EAAY,IACX,EACC,EAAG,UAAU,SAAS,UAAU,EAAK,EAAY,QAAQ,CAAS,GAIlE,EAAY,CAAC,GAAa,EAAW,KACvC,EAAU,EAAI,KAAc,CAAC,EAAY,EAAU,QAAQ,gBAAiB,CAAU,CAAC,EAAG,CAAS,EAGjG,EAAe,CAAC,GAAa,EAAM,EAAW,KAA4B,CAC9E,EAAU,EAAI,KAAc,CAC1B,MAAM,EAAO,KAAK,IAAI,KAAK,KAAK,EAAO,SAAS,CAAU,CAAC,EAAG,CAAC,EAAE,SAAS,EACpE,EAAO,EAAU,QAAQ,gBAAiB,CAAI,EAAE,QAAQ,iBAAkB,CAAU,EAC1F,MAAO,CAAC,EAAM,CAAG,GAChB,CAAS,GAIR,EAAY,CAAC,EAAY,EAAwC,IAAsB,CAC3F,MAAM,EAAU,EAAG,cAAc,OAAO,EAClC,EAAU,EAAG,cAAc,GAAG,EAC9B,EAAU,EAAM,MAChB,UAAmB,EAAG,CAC1B,GAAI,EAAM,QAAU,EAAW,OAC/B,MAAO,EAAK,EAAK,GAAO,CAAC,EAAM,IAAK,EAAM,MAAO,EAAM,GAAG,EAAE,IAAI,KAAK,SAAS,CAAC,GAAK,CAAC,EACrF,GAAI,EAAM,GAAO,EAAM,EAAK,CAC1B,EAAM,MAAQ,EACd,EAAM,OAAO,EACb,OAEF,IAAK,EAAM,GAAO,EAAQ,EAAM,KAAK,EACrC,UAAW,IAAc,UAAY,IAAS,IAAO,EAAM,EAAK,EAAK,CAAS,EAC9E,EAAK,KAAO,EACZ,EAAK,MAAM,GAEb,CAAC,SAAU,OAAO,EAAE,QAAQ,KAAK,EAAM,iBAAiB,EAAG,IAAM,EAAM,OAAO,CAAC,CAAC,EAChF,EAAM,iBAAiB,WAAY,CAAM,EACzC,EAAM,iBAAiB,WAAY,KAAK,CAAE,GAAI,EAAE,MAAQ,QAAW,EAAO,EAAK,GAI3E,EAAO,CAAC,EAAU,IACpB,EAAE,QAAQ,IAAI,OAAO,OAAO,kBAAsB,MAAU,EAAG,EAAE,EAGrE,MAAO,CACL,QAAS,QAGT,IAAI,CAAC,EAAc,CAEjB,MAAM,GADW,aAAe,QAAU,EAAM,UACxB,iBAAiB,aAAa,EACtD,QAAW,KAAM,EACf,GAAI,CACF,MAAM,EAAqB,WAAW,KAAK,KAAK,EAAG,aAAa,WAAW,CAAW,EAAG,KAAK,EAAE,WAAW,CAAC,CAAC,GACtG,KAAY,GAAQ,KAAK,OAAO,IAAI,YAAY,GAAG,OAAO,CAAU,CAAC,EAC5E,GAAI,IAAY,MACd,EAAQ,EAAkB,CAA0B,UAC3C,IAAY,QACrB,EAAU,EAAI,CAA4B,UACjC,IAAY,WACrB,EAAa,EAAI,CAA+B,MAEhD,SAAQ,KAAK,oDAAqD,EAAI,CAAO,QAExE,EAAP,CAAc,QAAQ,KAAK,kCAAmC,EAAI,CAAG,GAG7E,IACC", - "debugId": "4ED4DF80C65A3E2164756e2164756e21", + "debugId": "20862703AA72E11D64756e2164756e21", "names": [] } \ No newline at end of file diff --git a/gem/javascripts/pagy.mjs b/gem/javascripts/pagy.mjs index 8f1c60fdd..2fbe08c0b 100644 --- a/gem/javascripts/pagy.mjs +++ b/gem/javascripts/pagy.mjs @@ -73,7 +73,7 @@ const Pagy = (() => { }; const trim = (a, param) => a.replace(new RegExp(`[?&]${param}=1\\b(?!&)|\\b${param}=1&`), ""); return { - version: "8.4.5", + version: "8.5.0", init(arg) { const target = arg instanceof Element ? arg : document; const elements = target.querySelectorAll("[data-pagy]"); diff --git a/gem/lib/pagy.rb b/gem/lib/pagy.rb index 6143b146e..c20cfae32 100644 --- a/gem/lib/pagy.rb +++ b/gem/lib/pagy.rb @@ -5,7 +5,7 @@ # Core class class Pagy - VERSION = '8.4.5' + VERSION = '8.5.0' # Gem root pathname to get the path of Pagy files stylesheets, javascripts, apps, locales, etc. def self.root diff --git a/gem/lib/pagy/calendar.rb b/gem/lib/pagy/calendar.rb index 29fee04a6..27adb69bf 100644 --- a/gem/lib/pagy/calendar.rb +++ b/gem/lib/pagy/calendar.rb @@ -1,122 +1,79 @@ # See Pagy::Countless API documentation: https://ddnexus.github.io/pagy/docs/api/calendar # frozen_string_literal: true -require 'active_support' -require 'active_support/core_ext/time' -require 'active_support/core_ext/date_and_time/calculations' -require 'active_support/core_ext/numeric/time' -require 'active_support/core_ext/integer/time' - require_relative '../pagy' +require_relative 'calendar/unit' class Pagy # :nodoc: - # Base class for time units subclasses (Year, Quarter, Month, Week, Day) - class Calendar < Pagy + # Calendar class + class Calendar < Hash # Specific out of range error class OutOfRangeError < VariableError; end # List of units in desc order of duration. It can be used for custom units. UNITS = %i[year quarter month week day] # rubocop:disable Style/MutableConstant - attr_reader :order, :from, :to - - # Merge and validate the options, do some simple arithmetic and set a few instance variables - def initialize(vars) # rubocop:disable Lint/MissingSuper - raise InternalError, 'Pagy::Calendar is a base class; use one of its subclasses' if instance_of?(Pagy::Calendar) - - vars = self.class::DEFAULT.merge(vars) # subclass specific default - normalize_vars(vars) # general default - setup_vars(page: 1) - setup_unit_vars - raise OverflowError.new(self, :page, "in 1..#{@last}", @page) if @page > @last - - @prev = (@page - 1 unless @page == 1) - @next = @page == @last ? (1 if @vars[:cycle]) : @page + 1 - end - - # The label for the current page (it can pass along the I18n gem opts when it's used with the i18n extra) - def label(opts = {}) - label_for(@page, opts) - end - - # The label for any page (it can pass along the I18n gem opts when it's used with the i18n extra) - def label_for(page, opts = {}) - opts[:format] ||= @vars[:format] - localize(starting_time_for(page.to_i), opts) # page could be a string - end - - protected + class << self + private - # The page that includes time - # In case of out of range time, the :fit_time option avoids the outOfRangeError - # and returns the closest page to the passed time argument (first or last page) - def page_at(time, **opts) - fit_time = time - fit_final = @final - 1 - unless time.between?(@initial, fit_final) - raise OutOfRangeError.new(self, :time, "between #{@initial} and #{fit_final}", time) unless opts[:fit_time] + # Create a unit subclass instance by using the unit name (internal use) + def create(unit, vars) + raise InternalError, "unit must be in #{UNITS.inspect}; got #{unit}" unless UNITS.include?(unit) - if time < @final - fit_time = @initial - ordinal = 'first' - else - fit_time = fit_final - ordinal = 'last' - end - Warning.warn "Pagy::Calendar#page_at: Rescued #{time} out of range by returning the #{ordinal} page." + name = unit.to_s + name[0] = name[0].capitalize + Object.const_get("Pagy::Calendar::#{name}").new(vars) end - offset = page_offset_at(fit_time) # offset starts from 0 - @order == :asc ? offset + 1 : @last - offset - end - # Base class method for the setup of the unit variables (subclasses must implement it and call super) - def setup_unit_vars - raise VariableError.new(self, :format, 'to be a strftime format', @vars[:format]) unless @vars[:format].is_a?(String) - raise VariableError.new(self, :order, 'to be in [:asc, :desc]', @order) \ - unless %i[asc desc].include?(@order = @vars[:order]) - - @starting, @ending = @vars[:period] - raise VariableError.new(self, :period, 'to be a an Array of min and max TimeWithZone instances', @vars[:period]) \ - unless @starting.is_a?(ActiveSupport::TimeWithZone) \ - && @ending.is_a?(ActiveSupport::TimeWithZone) && @starting <= @ending - end - - # Apply the strftime format to the time (overridden by the i18n extra when localization is required) - def localize(time, opts) - time.strftime(opts[:format]) - end - - # Number of time units to offset from the @initial time, in order to get the ordered starting time for the page. - # Used in starting_time_for(page) where page starts from 1 (e.g. page to starting_time means subtracting 1) - def time_offset_for(page) - @order == :asc ? page - 1 : @last - page - end - - # Period of the active page (used internally for nested units) - def active_period - [[@starting, @from].max, [@to - 1, @ending].min] # -1 sec: include only last unit day + # Return calendar, from, to + def init(conf, period, params) + new.send(:init, conf, period, params) + end end - # :nocov: - # This method must be implemented by the unit subclass - def starting_time_for(*) - raise NoMethodError, 'the starting_time_for method must be implemented by the unit subclass' + # Return the current time of the smallest time unit shown + def showtime + self[@units.last].from end - # This method must be implemented by the unit subclass - def page_offset_at(*) - raise NoMethodError, 'the page_offset_at method must be implemented by the unit subclass' + private + + # Create the calendar + def init(conf, period, params) + @conf = Marshal.load(Marshal.dump(conf)) # store a copy + @units = Calendar::UNITS & @conf.keys # get the units in time length desc order + raise ArgumentError, 'no calendar unit found in pagy_calendar @configuration' if @units.empty? + + @period = period + @params = params + @page_param = conf[:pagy][:page_param] || DEFAULT[:page_param] + @units.each do |unit| # set all the :page_param vars for later deletion + unit_page_param = :"#{unit}_#{@page_param}" + conf[unit][:page_param] = unit_page_param + conf[unit][:page] = @params[unit_page_param] + end + calendar = {} + object = nil + @units.each_with_index do |unit, index| + params_to_delete = @units[(index + 1), @units.size].map { |sub| conf[sub][:page_param] } + [@page_param] + conf[unit][:params] = lambda { |up| up.except(*params_to_delete.map(&:to_s)) } # rubocop:disable Style/Lambda + conf[unit][:period] = object&.send(:active_period) || @period + calendar[unit] = object = Calendar.send(:create, unit, conf[unit]) + end + [replace(calendar), object.from, object.to] end - # :nocov: - - class << self - # Create a subclass instance by unit name (internal use) - def create(unit, vars) - raise InternalError, "unit must be in #{UNITS.inspect}; got #{unit}" unless UNITS.include?(unit) - name = unit.to_s - name[0] = name[0].capitalize - Object.const_get("Pagy::Calendar::#{name}").new(vars) + # Return the calendar object at time + def calendar_at(time, **opts) + conf = Marshal.load(Marshal.dump(@conf)) + page_params = {} + @units.inject(nil) do |object, unit| + conf[unit][:period] = object&.send(:active_period) || @period + conf[unit][:page] = page_params[:"#{unit}_#{@page_param}"] \ + = Calendar.send(:create, unit, conf[unit]).send(:page_at, time, **opts) + conf[unit][:params] ||= {} + conf[unit][:params].merge!(page_params) + Calendar.send(:create, unit, conf[unit]) end end end diff --git a/gem/lib/pagy/calendar/day.rb b/gem/lib/pagy/calendar/day.rb index 34575e705..d384d0e43 100644 --- a/gem/lib/pagy/calendar/day.rb +++ b/gem/lib/pagy/calendar/day.rb @@ -3,8 +3,8 @@ class Pagy # :nodoc: class Calendar # :nodoc: - # Calendar day subclass - class Day < Calendar + # Day unit subclass + class Day < Unit DEFAULT = { size: 31, # rubocop:disable Style/MutableConstant order: :asc, format: '%d' } diff --git a/gem/lib/pagy/calendar/helper.rb b/gem/lib/pagy/calendar/helper.rb deleted file mode 100644 index 8103f8b2f..000000000 --- a/gem/lib/pagy/calendar/helper.rb +++ /dev/null @@ -1,65 +0,0 @@ -# frozen_string_literal: true - -class Pagy # :nodoc: - class Calendar # :nodoc: - # Initializes the calendar objects, reducing complexity in the extra - # The returned calendar is a simple hash of units/objects - class Helper < Hash - class << self - private - - def init(conf, period, params) - new.send(:init, conf, period, params) - end - end - - private - - # Create the calendar - def init(conf, period, params) - @conf = Marshal.load(Marshal.dump(conf)) # store a copy - @units = Calendar::UNITS & @conf.keys # get the units in time length desc order - raise ArgumentError, 'no calendar unit found in pagy_calendar @configuration' if @units.empty? - - @period = period - @params = params - @page_param = conf[:pagy][:page_param] || DEFAULT[:page_param] - @units.each do |unit| # set all the :page_param vars for later deletion - unit_page_param = :"#{unit}_#{@page_param}" - conf[unit][:page_param] = unit_page_param - conf[unit][:page] = @params[unit_page_param] - end - calendar = {} - object = nil - @units.each_with_index do |unit, index| - params_to_delete = @units[(index + 1), @units.size].map { |sub| conf[sub][:page_param] } + [@page_param] - conf[unit][:params] = lambda { |up| up.except(*params_to_delete.map(&:to_s)) } # rubocop:disable Style/Lambda - conf[unit][:period] = object&.send(:active_period) || @period - calendar[unit] = object = Calendar.send(:create, unit, conf[unit]) - end - [replace(calendar), object.from, object.to] - end - - # Return the calendar object at time - def calendar_at(time, **opts) - conf = Marshal.load(Marshal.dump(@conf)) - page_params = {} - @units.inject(nil) do |object, unit| - conf[unit][:period] = object&.send(:active_period) || @period - conf[unit][:page] = page_params[:"#{unit}_#{@page_param}"] \ - = Calendar.send(:create, unit, conf[unit]).send(:page_at, time, **opts) - conf[unit][:params] ||= {} - conf[unit][:params].merge!(page_params) - Calendar.send(:create, unit, conf[unit]) - end - end - - public - - # Return the current time of the smallest time unit shown - def showtime - self[@units.last].from - end - end - end -end diff --git a/gem/lib/pagy/calendar/month.rb b/gem/lib/pagy/calendar/month.rb index 7761b88be..b10716862 100644 --- a/gem/lib/pagy/calendar/month.rb +++ b/gem/lib/pagy/calendar/month.rb @@ -3,8 +3,8 @@ class Pagy # :nodoc: class Calendar # :nodoc: - # Calendar month subclass - class Month < Calendar + # Month unit subclass + class Month < Unit DEFAULT = { size: 12, # rubocop:disable Style/MutableConstant order: :asc, format: '%b' } diff --git a/gem/lib/pagy/calendar/quarter.rb b/gem/lib/pagy/calendar/quarter.rb index 135fbcb87..84d21f6eb 100644 --- a/gem/lib/pagy/calendar/quarter.rb +++ b/gem/lib/pagy/calendar/quarter.rb @@ -3,8 +3,8 @@ class Pagy # :nodoc: class Calendar # :nodoc: - # Calendar quarter subclass - class Quarter < Calendar + # Quarter unit subclass + class Quarter < Unit DEFAULT = { size: 4, # rubocop:disable Style/MutableConstant order: :asc, format: 'Q%q' } # '%q' token diff --git a/gem/lib/pagy/calendar/unit.rb b/gem/lib/pagy/calendar/unit.rb new file mode 100644 index 000000000..c22ea79c6 --- /dev/null +++ b/gem/lib/pagy/calendar/unit.rb @@ -0,0 +1,106 @@ +# frozen_string_literal: true + +require 'active_support' +require 'active_support/core_ext/time' +require 'active_support/core_ext/date_and_time/calculations' +require 'active_support/core_ext/numeric/time' +require 'active_support/core_ext/integer/time' + +class Pagy # :nodoc: + class Calendar < Hash # :nodoc: + # Base class for time units subclasses (Year, Quarter, Month, Week, Day) + class Unit < Pagy + attr_reader :order, :from, :to + + # Merge and validate the options, do some simple arithmetic and set a few instance variables + def initialize(vars) # rubocop:disable Lint/MissingSuper + raise InternalError, 'Pagy::Calendar::Unit is a base class; use one of its subclasses' \ + if instance_of?(Pagy::Calendar::Unit) + + vars = self.class::DEFAULT.merge(vars) # subclass specific default + normalize_vars(vars) # general default + setup_vars(page: 1) + setup_unit_vars + raise OverflowError.new(self, :page, "in 1..#{@last}", @page) if @page > @last + + @prev = (@page - 1 unless @page == 1) + @next = @page == @last ? (1 if @vars[:cycle]) : @page + 1 + end + + # The label for the current page (it can pass along the I18n gem opts when it's used with the i18n extra) + def label(opts = {}) + label_for(@page, opts) + end + + # The label for any page (it can pass along the I18n gem opts when it's used with the i18n extra) + def label_for(page, opts = {}) + opts[:format] ||= @vars[:format] + localize(starting_time_for(page.to_i), opts) # page could be a string + end + + protected + + # The page that includes time + # In case of out of range time, the :fit_time option avoids the outOfRangeError + # and returns the closest page to the passed time argument (first or last page) + def page_at(time, **opts) + fit_time = time + fit_final = @final - 1 + unless time.between?(@initial, fit_final) + raise OutOfRangeError.new(self, :time, "between #{@initial} and #{fit_final}", time) unless opts[:fit_time] + + if time < @final + fit_time = @initial + ordinal = 'first' + else + fit_time = fit_final + ordinal = 'last' + end + warn "Pagy::Calendar#page_at: Rescued #{time} out of range by returning the #{ordinal} page." + end + offset = page_offset_at(fit_time) # offset starts from 0 + @order == :asc ? offset + 1 : @last - offset + end + + # Base class method for the setup of the unit variables (subclasses must implement it and call super) + def setup_unit_vars + raise VariableError.new(self, :format, 'to be a strftime format', @vars[:format]) unless @vars[:format].is_a?(String) + raise VariableError.new(self, :order, 'to be in [:asc, :desc]', @order) \ + unless %i[asc desc].include?(@order = @vars[:order]) + + @starting, @ending = @vars[:period] + raise VariableError.new(self, :period, 'to be a an Array of min and max TimeWithZone instances', @vars[:period]) \ + unless @starting.is_a?(ActiveSupport::TimeWithZone) \ + && @ending.is_a?(ActiveSupport::TimeWithZone) && @starting <= @ending + end + + # Apply the strftime format to the time (overridden by the i18n extra when localization is required) + def localize(time, opts) + time.strftime(opts[:format]) + end + + # Number of time units to offset from the @initial time, in order to get the ordered starting time for the page. + # Used in starting_time_for(page) where page starts from 1 (e.g. page to starting_time means subtracting 1) + def time_offset_for(page) + @order == :asc ? page - 1 : @last - page + end + + # Period of the active page (used internally for nested units) + def active_period + [[@starting, @from].max, [@to - 1, @ending].min] # -1 sec: include only last unit day + end + + # :nocov: + # This method must be implemented by the unit subclass + def starting_time_for(*) + raise NoMethodError, 'the starting_time_for method must be implemented by the unit subclass' + end + + # This method must be implemented by the unit subclass + def page_offset_at(*) + raise NoMethodError, 'the page_offset_at method must be implemented by the unit subclass' + end + # :nocov: + end + end +end diff --git a/gem/lib/pagy/calendar/week.rb b/gem/lib/pagy/calendar/week.rb index 00d0eada5..3db43b162 100644 --- a/gem/lib/pagy/calendar/week.rb +++ b/gem/lib/pagy/calendar/week.rb @@ -3,8 +3,8 @@ class Pagy # :nodoc: class Calendar # :nodoc: - # Calendar week subclass - class Week < Calendar + # Week unit subclass + class Week < Unit DEFAULT = { order: :asc, # rubocop:disable Style/MutableConstant format: '%Y-%W' } diff --git a/gem/lib/pagy/calendar/year.rb b/gem/lib/pagy/calendar/year.rb index 42eabbece..ee4a6bd8e 100644 --- a/gem/lib/pagy/calendar/year.rb +++ b/gem/lib/pagy/calendar/year.rb @@ -3,8 +3,8 @@ class Pagy # :nodoc: class Calendar # :nodoc: - # Calendar year subclass - class Year < Calendar + # Year unit subclass + class Year < Unit DEFAULT = { size: 10, # rubocop:disable Style/MutableConstant order: :asc, format: '%Y' } diff --git a/gem/lib/pagy/extras/calendar.rb b/gem/lib/pagy/extras/calendar.rb index a5f96b8ea..5619f111b 100644 --- a/gem/lib/pagy/extras/calendar.rb +++ b/gem/lib/pagy/extras/calendar.rb @@ -2,7 +2,6 @@ # frozen_string_literal: true require_relative '../calendar' -require_relative '../calendar/helper' class Pagy # :nodoc: # Add pagination filtering by calendar unit (:year, :quarter, :month, :week, :day) to the regular pagination @@ -20,8 +19,13 @@ def pagy_calendar(collection, conf) conf[:pagy] ||= {} unless conf.key?(:active) && !conf[:active] - calendar, from, to = Calendar::Helper.send(:init, conf, pagy_calendar_period(collection), params) - collection = pagy_calendar_filter(collection, from, to) + calendar, from, to = Calendar.send(:init, conf, pagy_calendar_period(collection), params) + if respond_to?(:pagy_calendar_counts) + calendar.each_key do |unit| + calendar[unit].vars[:counts] = pagy_calendar_counts(collection, unit, *calendar[unit].vars[:period]) + end + end + collection = pagy_calendar_filter(collection, from, to) end pagy, results = send(conf[:pagy][:backend] || :pagy, collection, conf[:pagy]) # use backend: :pagy when omitted [calendar, pagy, results] @@ -40,6 +44,32 @@ def pagy_calendar_filter(*) end end + # Override the pagy_anchor + module FrontendOverride + # Consider the vars[:count] + def pagy_anchor(pagy) + return super unless (counts = pagy.vars[:counts]) + + a_string = pagy.vars[:anchor_string] + a_string = %( #{a_string}) if a_string + left, right = %(#{text}) + end + end + end + # Additions for the Frontend module module UrlHelperAddOn # Return the url for the calendar page at time @@ -49,5 +79,5 @@ def pagy_calendar_url_at(calendar, time, **opts) end end Backend.prepend CalendarExtra::BackendAddOn, CalendarExtra::UrlHelperAddOn - Frontend.prepend CalendarExtra::UrlHelperAddOn + Frontend.prepend CalendarExtra::UrlHelperAddOn, CalendarExtra::FrontendOverride end diff --git a/gem/lib/pagy/extras/i18n.rb b/gem/lib/pagy/extras/i18n.rb index 8d8a18fb9..ba068aeae 100644 --- a/gem/lib/pagy/extras/i18n.rb +++ b/gem/lib/pagy/extras/i18n.rb @@ -19,7 +19,7 @@ def localize(time, opts) end end end - Calendar.prepend I18nExtra::CalendarOverride if defined?(Calendar) + Calendar::Unit.prepend I18nExtra::CalendarOverride if defined?(Calendar::Unit) # Add the pagy locales to the I18n.load_path ::I18n.load_path += Dir[Pagy.root.join('locales', '*.yml')] diff --git a/gem/lib/pagy/extras/js_tools.rb b/gem/lib/pagy/extras/js_tools.rb index 52a568e12..f96a03952 100644 --- a/gem/lib/pagy/extras/js_tools.rb +++ b/gem/lib/pagy/extras/js_tools.rb @@ -42,7 +42,7 @@ def label_sequels(sequels = self.sequels) end end end - Calendar.prepend CalendarOverride if defined?(Calendar) + Calendar::Unit.prepend CalendarOverride if defined?(Calendar::Unit) # Additions for the Frontend module FrontendAddOn diff --git a/gem/lib/pagy/extras/metadata.rb b/gem/lib/pagy/extras/metadata.rb index cf9597a64..df9e8da79 100644 --- a/gem/lib/pagy/extras/metadata.rb +++ b/gem/lib/pagy/extras/metadata.rb @@ -17,7 +17,11 @@ module MetadataExtra def pagy_metadata(pagy, absolute: nil) scaffold_url = pagy_url_for(pagy, PAGE_TOKEN, absolute:) {}.tap do |metadata| - keys = defined?(Calendar) && pagy.is_a?(Calendar) ? pagy.vars[:metadata] - %i[count items] : pagy.vars[:metadata] + keys = if defined?(Calendar::Unit) && pagy.is_a?(Calendar::Unit) + pagy.vars[:metadata] - %i[count items] + else + pagy.vars[:metadata] + end keys.each do |key| metadata[key] = case key when :scaffold_url then scaffold_url diff --git a/gem/lib/pagy/extras/overflow.rb b/gem/lib/pagy/extras/overflow.rb index 5eb88a7e6..48b8af762 100644 --- a/gem/lib/pagy/extras/overflow.rb +++ b/gem/lib/pagy/extras/overflow.rb @@ -28,7 +28,8 @@ def initialize(vars) @vars[:page] = requested_page # restore the requested page when :empty_page @offset = @items = @in = @from = @to = 0 # vars relative to the actual page - if defined?(Calendar) && is_a?(Calendar) # only for Calendar instances + if defined?(Calendar::Unit) \ + && is_a?(Calendar::Unit) # only for Calendar::Units instances edge = @order == :asc ? @final : @initial # get the edge of the overflow side (neat, but any time would do) @from = @to = edge # set both to the edge utc time (a >=&&< query will get no records) end @@ -51,7 +52,7 @@ def series(*, **) end end Pagy.prepend PagyOverride - Pagy::Calendar.prepend PagyOverride if defined?(Calendar) + Pagy::Calendar::Unit.prepend PagyOverride if defined?(Calendar::Unit) # Support for Pagy::Countless class module CountlessOverride diff --git a/gem/lib/pagy/frontend.rb b/gem/lib/pagy/frontend.rb index 772cc957f..69cd847f4 100644 --- a/gem/lib/pagy/frontend.rb +++ b/gem/lib/pagy/frontend.rb @@ -20,7 +20,7 @@ def pagy_nav(pagy, id: nil, aria_label: nil, **vars) a = pagy_anchor(pagy) html = %(#{ - prev_a(pagy, a)}) + prev_a(pagy, a)}) pagy.series(**vars).each do |item| # series example: [1, :gap, 7, 8, "9", 10, 11, :gap, 36] html << case item when Integer diff --git a/gem/pagy.gemspec b/gem/pagy.gemspec index 1f94edc82..0c5198aa7 100644 --- a/gem/pagy.gemspec +++ b/gem/pagy.gemspec @@ -2,7 +2,7 @@ Gem::Specification.new do |s| s.name = 'pagy' - s.version = '8.4.5' + s.version = '8.5.0' s.authors = ['Domizio Demichelis'] s.email = ['dd.nexus@gmail.com'] s.summary = 'The best pagination ruby gem' diff --git a/package.json b/package.json index 32115d01b..ea5358682 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "type": "module", "devDependencies": { "@cypress/snapshot": "^2.1.7", - "@types/node": "20.14.5", + "@types/node": "20.14.8", "cypress": "13.12.0", "cypress-html-validate": "6.1.0", "eslint-plugin-cypress": "3.3.0", @@ -17,7 +17,8 @@ "eslint": "9.5.0", "eslint-plugin-align-assignments": "^1.1.2", "retypeapp-linux-x64": "3.5.0", - "typescript": "5.4.5", + "retypeapp-darwin-x64": "3.5.0", + "typescript": "5.5.2", "typescript-eslint": "7.13.1" }, "workspaces": ["e2e"] diff --git a/quick-start.md b/quick-start.md index f9030f459..75d6614f8 100644 --- a/quick-start.md +++ b/quick-start.md @@ -40,7 +40,7 @@ If you use Bundler, add the gem in the Gemfile, optionally avoiding the next maj see [RubyGem Specifiers](http://guides.rubygems.org/patterns/#pessimistic-version-constraint)): ```ruby Gemfile -gem 'pagy', '~> 8.4' # omit patch digit +gem 'pagy', '~> 8.5' # omit patch digit ``` +++ Without Bundler diff --git a/retype.yml b/retype.yml index df66f6b94..f78f6c3ef 100644 --- a/retype.yml +++ b/retype.yml @@ -8,7 +8,7 @@ url: https://ddnexus.github.io/pagy branding: title: Pagy - label: 8.4.5 + label: 8.5.0 colors: label: text: "#FFFFFF" diff --git a/src/pagy.ts b/src/pagy.ts index 33ae5a0cb..35f49a70c 100644 --- a/src/pagy.ts +++ b/src/pagy.ts @@ -94,7 +94,7 @@ const Pagy = (() => { // Public interface return { - version: "8.4.5", + version: "8.5.0", // Scan for elements with a "data-pagy" attribute and call their init functions with the decoded args init(arg?:Element) { diff --git a/test/files/.gitignore b/test/files/.gitignore new file mode 100644 index 000000000..0a3b55407 --- /dev/null +++ b/test/files/.gitignore @@ -0,0 +1 @@ +db/calendar.sqlite3-shm diff --git a/test/files/calendar_collection.yml b/test/files/calendar_collection.yml deleted file mode 100644 index 3bf83b941..000000000 --- a/test/files/calendar_collection.yml +++ /dev/null @@ -1,2022 +0,0 @@ ---- -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-21 13:18:23.000000000 Z - zone: &1 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2021-10-21 13:18:23.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-21 23:14:50.000000000 Z - zone: *1 - time: 2021-10-21 23:14:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-23 01:06:02.000000000 Z - zone: *1 - time: 2021-10-23 01:06:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-25 18:54:35.000000000 Z - zone: *1 - time: 2021-10-25 18:54:35.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-26 02:22:17.000000000 Z - zone: *1 - time: 2021-10-26 02:22:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-28 22:59:49.000000000 Z - zone: *1 - time: 2021-10-28 22:59:49.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-30 15:02:25.000000000 Z - zone: *1 - time: 2021-10-30 15:02:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-02 04:03:39.000000000 Z - zone: *1 - time: 2021-11-02 04:03:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-04 22:41:23.000000000 Z - zone: *1 - time: 2021-11-04 22:41:23.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-06 00:34:29.000000000 Z - zone: *1 - time: 2021-11-06 00:34:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-06 23:56:16.000000000 Z - zone: *1 - time: 2021-11-06 23:56:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-07 06:22:04.000000000 Z - zone: *1 - time: 2021-11-07 06:22:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-07 19:46:08.000000000 Z - zone: *1 - time: 2021-11-07 19:46:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-08 09:31:13.000000000 Z - zone: *1 - time: 2021-11-08 09:31:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-09 17:22:03.000000000 Z - zone: *1 - time: 2021-11-09 17:22:03.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-11 05:29:54.000000000 Z - zone: *1 - time: 2021-11-11 05:29:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-13 09:41:04.000000000 Z - zone: *1 - time: 2021-11-13 09:41:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-16 07:48:22.000000000 Z - zone: *1 - time: 2021-11-16 07:48:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-16 12:43:44.000000000 Z - zone: *1 - time: 2021-11-16 12:43:44.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-17 16:03:07.000000000 Z - zone: *1 - time: 2021-11-17 16:03:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-20 02:39:01.000000000 Z - zone: *1 - time: 2021-11-20 02:39:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-21 02:01:24.000000000 Z - zone: *1 - time: 2021-11-21 02:01:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-23 19:24:43.000000000 Z - zone: *1 - time: 2021-11-23 19:24:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-26 11:47:22.000000000 Z - zone: *1 - time: 2021-11-26 11:47:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-28 06:30:04.000000000 Z - zone: *1 - time: 2021-11-28 06:30:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-01 00:13:55.000000000 Z - zone: *1 - time: 2021-12-01 00:13:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-03 19:10:16.000000000 Z - zone: *1 - time: 2021-12-03 19:10:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-04 00:43:47.000000000 Z - zone: *1 - time: 2021-12-04 00:43:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-06 20:15:35.000000000 Z - zone: *1 - time: 2021-12-06 20:15:35.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-09 16:27:07.000000000 Z - zone: *1 - time: 2021-12-09 16:27:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-10 15:28:48.000000000 Z - zone: *1 - time: 2021-12-10 15:28:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-10 23:08:16.000000000 Z - zone: *1 - time: 2021-12-10 23:08:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-11 23:09:08.000000000 Z - zone: *1 - time: 2021-12-11 23:09:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-14 04:56:58.000000000 Z - zone: *1 - time: 2021-12-14 04:56:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-14 14:00:56.000000000 Z - zone: *1 - time: 2021-12-14 14:00:56.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-15 22:58:51.000000000 Z - zone: *1 - time: 2021-12-15 22:58:51.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-16 01:28:21.000000000 Z - zone: *1 - time: 2021-12-16 01:28:21.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-16 20:16:54.000000000 Z - zone: *1 - time: 2021-12-16 20:16:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-19 00:34:04.000000000 Z - zone: *1 - time: 2021-12-19 00:34:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-19 06:58:41.000000000 Z - zone: *1 - time: 2021-12-19 06:58:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-21 11:13:53.000000000 Z - zone: *1 - time: 2021-12-21 11:13:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-23 07:28:50.000000000 Z - zone: *1 - time: 2021-12-23 07:28:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-23 07:57:58.000000000 Z - zone: *1 - time: 2021-12-23 07:57:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-23 18:32:13.000000000 Z - zone: *1 - time: 2021-12-23 18:32:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-24 01:17:51.000000000 Z - zone: *1 - time: 2021-12-24 01:17:51.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-25 05:36:16.000000000 Z - zone: *1 - time: 2021-12-25 05:36:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-25 23:21:57.000000000 Z - zone: *1 - time: 2021-12-25 23:21:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-27 12:18:57.000000000 Z - zone: *1 - time: 2021-12-27 12:18:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-28 16:59:57.000000000 Z - zone: *1 - time: 2021-12-28 16:59:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-31 15:10:23.000000000 Z - zone: *1 - time: 2021-12-31 15:10:23.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-01 19:18:06.000000000 Z - zone: *1 - time: 2022-01-01 19:18:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-03 08:36:27.000000000 Z - zone: *1 - time: 2022-01-03 08:36:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-03 23:31:01.000000000 Z - zone: *1 - time: 2022-01-03 23:31:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-05 02:14:57.000000000 Z - zone: *1 - time: 2022-01-05 02:14:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-06 09:26:03.000000000 Z - zone: *1 - time: 2022-01-06 09:26:03.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-07 20:22:22.000000000 Z - zone: *1 - time: 2022-01-07 20:22:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-10 04:04:28.000000000 Z - zone: *1 - time: 2022-01-10 04:04:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-11 17:17:55.000000000 Z - zone: *1 - time: 2022-01-11 17:17:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-14 05:21:54.000000000 Z - zone: *1 - time: 2022-01-14 05:21:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-16 01:18:58.000000000 Z - zone: *1 - time: 2022-01-16 01:18:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-18 08:42:56.000000000 Z - zone: *1 - time: 2022-01-18 08:42:56.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-19 00:45:04.000000000 Z - zone: *1 - time: 2022-01-19 00:45:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-20 08:18:54.000000000 Z - zone: *1 - time: 2022-01-20 08:18:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-22 05:26:38.000000000 Z - zone: *1 - time: 2022-01-22 05:26:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-24 10:57:50.000000000 Z - zone: *1 - time: 2022-01-24 10:57:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-26 09:47:02.000000000 Z - zone: *1 - time: 2022-01-26 09:47:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-28 20:44:30.000000000 Z - zone: *1 - time: 2022-01-28 20:44:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-31 16:19:50.000000000 Z - zone: *1 - time: 2022-01-31 16:19:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-01 21:23:58.000000000 Z - zone: *1 - time: 2022-02-01 21:23:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-04 14:41:57.000000000 Z - zone: *1 - time: 2022-02-04 14:41:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-06 20:40:06.000000000 Z - zone: *1 - time: 2022-02-06 20:40:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-07 23:03:50.000000000 Z - zone: *1 - time: 2022-02-07 23:03:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-09 05:28:08.000000000 Z - zone: *1 - time: 2022-02-09 05:28:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-10 02:19:12.000000000 Z - zone: *1 - time: 2022-02-10 02:19:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-11 07:51:30.000000000 Z - zone: *1 - time: 2022-02-11 07:51:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-12 13:46:16.000000000 Z - zone: *1 - time: 2022-02-12 13:46:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-13 21:06:40.000000000 Z - zone: *1 - time: 2022-02-13 21:06:40.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-15 11:37:50.000000000 Z - zone: *1 - time: 2022-02-15 11:37:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-18 11:23:15.000000000 Z - zone: *1 - time: 2022-02-18 11:23:15.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-20 08:01:49.000000000 Z - zone: *1 - time: 2022-02-20 08:01:49.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-23 03:00:30.000000000 Z - zone: *1 - time: 2022-02-23 03:00:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-24 21:52:25.000000000 Z - zone: *1 - time: 2022-02-24 21:52:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-25 12:07:56.000000000 Z - zone: *1 - time: 2022-02-25 12:07:56.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-27 04:20:20.000000000 Z - zone: *1 - time: 2022-02-27 04:20:20.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-28 21:09:42.000000000 Z - zone: *1 - time: 2022-02-28 21:09:42.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-02 23:35:41.000000000 Z - zone: *1 - time: 2022-03-02 23:35:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-04 00:42:10.000000000 Z - zone: *1 - time: 2022-03-04 00:42:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-05 00:59:10.000000000 Z - zone: *1 - time: 2022-03-05 00:59:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-06 19:58:01.000000000 Z - zone: *1 - time: 2022-03-06 19:58:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-07 07:48:09.000000000 Z - zone: *1 - time: 2022-03-07 07:48:09.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-09 06:08:00.000000000 Z - zone: *1 - time: 2022-03-09 06:08:00.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-10 05:45:08.000000000 Z - zone: *1 - time: 2022-03-10 05:45:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-12 21:16:31.000000000 Z - zone: *1 - time: 2022-03-12 21:16:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-15 08:17:44.000000000 Z - zone: *1 - time: 2022-03-15 08:17:44.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-16 03:37:03.000000000 Z - zone: *1 - time: 2022-03-16 03:37:03.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-18 05:07:54.000000000 Z - zone: *1 - time: 2022-03-18 05:07:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-20 04:05:26.000000000 Z - zone: *1 - time: 2022-03-20 04:05:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-22 10:52:33.000000000 Z - zone: *1 - time: 2022-03-22 10:52:33.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-23 15:26:54.000000000 Z - zone: *1 - time: 2022-03-23 15:26:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-24 09:01:04.000000000 Z - zone: *1 - time: 2022-03-24 09:01:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-24 23:53:07.000000000 Z - zone: *1 - time: 2022-03-24 23:53:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-27 13:45:17.000000000 Z - zone: *1 - time: 2022-03-27 13:45:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-28 19:57:00.000000000 Z - zone: *1 - time: 2022-03-28 19:57:00.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-29 15:42:35.000000000 Z - zone: *1 - time: 2022-03-29 15:42:35.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-29 18:20:32.000000000 Z - zone: *1 - time: 2022-03-29 18:20:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-01 15:35:47.000000000 Z - zone: *1 - time: 2022-04-01 15:35:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-02 06:33:31.000000000 Z - zone: *1 - time: 2022-04-02 06:33:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-03 18:27:19.000000000 Z - zone: *1 - time: 2022-04-03 18:27:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-03 23:44:08.000000000 Z - zone: *1 - time: 2022-04-03 23:44:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-06 10:59:32.000000000 Z - zone: *1 - time: 2022-04-06 10:59:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-07 01:33:53.000000000 Z - zone: *1 - time: 2022-04-07 01:33:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-08 10:26:34.000000000 Z - zone: *1 - time: 2022-04-08 10:26:34.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-10 19:21:08.000000000 Z - zone: *1 - time: 2022-04-10 19:21:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-12 01:50:04.000000000 Z - zone: *1 - time: 2022-04-12 01:50:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-14 19:56:29.000000000 Z - zone: *1 - time: 2022-04-14 19:56:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-15 09:08:22.000000000 Z - zone: *1 - time: 2022-04-15 09:08:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-16 07:58:47.000000000 Z - zone: *1 - time: 2022-04-16 07:58:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-17 16:31:40.000000000 Z - zone: *1 - time: 2022-04-17 16:31:40.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-20 09:50:22.000000000 Z - zone: *1 - time: 2022-04-20 09:50:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-23 04:24:22.000000000 Z - zone: *1 - time: 2022-04-23 04:24:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-25 07:18:04.000000000 Z - zone: *1 - time: 2022-04-25 07:18:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-27 16:57:48.000000000 Z - zone: *1 - time: 2022-04-27 16:57:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-29 18:48:09.000000000 Z - zone: *1 - time: 2022-04-29 18:48:09.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-29 20:30:25.000000000 Z - zone: *1 - time: 2022-04-29 20:30:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-02 03:44:25.000000000 Z - zone: *1 - time: 2022-05-02 03:44:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-03 15:27:57.000000000 Z - zone: *1 - time: 2022-05-03 15:27:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-04 08:11:15.000000000 Z - zone: *1 - time: 2022-05-04 08:11:15.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-07 00:42:14.000000000 Z - zone: *1 - time: 2022-05-07 00:42:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-09 15:23:31.000000000 Z - zone: *1 - time: 2022-05-09 15:23:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-10 19:11:49.000000000 Z - zone: *1 - time: 2022-05-10 19:11:49.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-11 14:04:17.000000000 Z - zone: *1 - time: 2022-05-11 14:04:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-14 12:09:34.000000000 Z - zone: *1 - time: 2022-05-14 12:09:34.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-15 13:31:54.000000000 Z - zone: *1 - time: 2022-05-15 13:31:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-17 21:21:37.000000000 Z - zone: *1 - time: 2022-05-17 21:21:37.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-19 01:27:43.000000000 Z - zone: *1 - time: 2022-05-19 01:27:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-21 04:34:59.000000000 Z - zone: *1 - time: 2022-05-21 04:34:59.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-23 11:05:18.000000000 Z - zone: *1 - time: 2022-05-23 11:05:18.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-23 19:14:50.000000000 Z - zone: *1 - time: 2022-05-23 19:14:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-26 13:16:18.000000000 Z - zone: *1 - time: 2022-05-26 13:16:18.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-27 11:39:35.000000000 Z - zone: *1 - time: 2022-05-27 11:39:35.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-29 07:09:07.000000000 Z - zone: *1 - time: 2022-05-29 07:09:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-30 15:13:23.000000000 Z - zone: *1 - time: 2022-05-30 15:13:23.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-01 04:18:40.000000000 Z - zone: *1 - time: 2022-06-01 04:18:40.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-01 11:11:51.000000000 Z - zone: *1 - time: 2022-06-01 11:11:51.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-01 12:45:06.000000000 Z - zone: *1 - time: 2022-06-01 12:45:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-03 07:08:31.000000000 Z - zone: *1 - time: 2022-06-03 07:08:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-04 23:28:11.000000000 Z - zone: *1 - time: 2022-06-04 23:28:11.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-07 12:14:01.000000000 Z - zone: *1 - time: 2022-06-07 12:14:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-08 13:32:22.000000000 Z - zone: *1 - time: 2022-06-08 13:32:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-10 18:56:37.000000000 Z - zone: *1 - time: 2022-06-10 18:56:37.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-12 16:00:09.000000000 Z - zone: *1 - time: 2022-06-12 16:00:09.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-15 13:28:55.000000000 Z - zone: *1 - time: 2022-06-15 13:28:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-16 18:42:37.000000000 Z - zone: *1 - time: 2022-06-16 18:42:37.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-17 00:36:21.000000000 Z - zone: *1 - time: 2022-06-17 00:36:21.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-18 16:21:27.000000000 Z - zone: *1 - time: 2022-06-18 16:21:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-20 13:50:27.000000000 Z - zone: *1 - time: 2022-06-20 13:50:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-22 09:43:55.000000000 Z - zone: *1 - time: 2022-06-22 09:43:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-25 09:43:17.000000000 Z - zone: *1 - time: 2022-06-25 09:43:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-27 06:51:01.000000000 Z - zone: *1 - time: 2022-06-27 06:51:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-28 09:10:53.000000000 Z - zone: *1 - time: 2022-06-28 09:10:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-30 18:46:16.000000000 Z - zone: *1 - time: 2022-06-30 18:46:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-01 16:05:14.000000000 Z - zone: *1 - time: 2022-07-01 16:05:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-02 14:02:12.000000000 Z - zone: *1 - time: 2022-07-02 14:02:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-05 11:08:11.000000000 Z - zone: *1 - time: 2022-07-05 11:08:11.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-05 12:44:38.000000000 Z - zone: *1 - time: 2022-07-05 12:44:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-08 03:55:17.000000000 Z - zone: *1 - time: 2022-07-08 03:55:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-08 18:02:14.000000000 Z - zone: *1 - time: 2022-07-08 18:02:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-09 09:41:17.000000000 Z - zone: *1 - time: 2022-07-09 09:41:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-11 07:34:51.000000000 Z - zone: *1 - time: 2022-07-11 07:34:51.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-13 05:11:19.000000000 Z - zone: *1 - time: 2022-07-13 05:11:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-15 02:46:56.000000000 Z - zone: *1 - time: 2022-07-15 02:46:56.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-16 15:40:39.000000000 Z - zone: *1 - time: 2022-07-16 15:40:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-17 19:44:15.000000000 Z - zone: *1 - time: 2022-07-17 19:44:15.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-19 00:31:12.000000000 Z - zone: *1 - time: 2022-07-19 00:31:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-21 21:58:24.000000000 Z - zone: *1 - time: 2022-07-21 21:58:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-22 05:25:48.000000000 Z - zone: *1 - time: 2022-07-22 05:25:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-22 18:33:04.000000000 Z - zone: *1 - time: 2022-07-22 18:33:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-24 07:42:24.000000000 Z - zone: *1 - time: 2022-07-24 07:42:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-25 07:21:20.000000000 Z - zone: *1 - time: 2022-07-25 07:21:20.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-27 12:02:44.000000000 Z - zone: *1 - time: 2022-07-27 12:02:44.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-29 03:29:28.000000000 Z - zone: *1 - time: 2022-07-29 03:29:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-29 11:35:43.000000000 Z - zone: *1 - time: 2022-07-29 11:35:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-30 05:25:21.000000000 Z - zone: *1 - time: 2022-07-30 05:25:21.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-30 19:39:10.000000000 Z - zone: *1 - time: 2022-07-30 19:39:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-31 18:54:58.000000000 Z - zone: *1 - time: 2022-07-31 18:54:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-03 11:18:44.000000000 Z - zone: *1 - time: 2022-08-03 11:18:44.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-05 00:37:47.000000000 Z - zone: *1 - time: 2022-08-05 00:37:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-05 12:08:08.000000000 Z - zone: *1 - time: 2022-08-05 12:08:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-07 14:39:19.000000000 Z - zone: *1 - time: 2022-08-07 14:39:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-08 09:52:59.000000000 Z - zone: *1 - time: 2022-08-08 09:52:59.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-09 13:48:29.000000000 Z - zone: *1 - time: 2022-08-09 13:48:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-11 19:03:04.000000000 Z - zone: *1 - time: 2022-08-11 19:03:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-13 01:56:49.000000000 Z - zone: *1 - time: 2022-08-13 01:56:49.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-15 11:33:09.000000000 Z - zone: *1 - time: 2022-08-15 11:33:09.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-17 23:37:45.000000000 Z - zone: *1 - time: 2022-08-17 23:37:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-19 00:47:19.000000000 Z - zone: *1 - time: 2022-08-19 00:47:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-19 01:01:12.000000000 Z - zone: *1 - time: 2022-08-19 01:01:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-21 07:37:55.000000000 Z - zone: *1 - time: 2022-08-21 07:37:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-21 21:42:15.000000000 Z - zone: *1 - time: 2022-08-21 21:42:15.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-23 10:55:39.000000000 Z - zone: *1 - time: 2022-08-23 10:55:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-25 16:20:29.000000000 Z - zone: *1 - time: 2022-08-25 16:20:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-27 06:28:14.000000000 Z - zone: *1 - time: 2022-08-27 06:28:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-27 13:12:57.000000000 Z - zone: *1 - time: 2022-08-27 13:12:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-28 23:00:13.000000000 Z - zone: *1 - time: 2022-08-28 23:00:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-31 05:19:56.000000000 Z - zone: *1 - time: 2022-08-31 05:19:56.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-02 18:00:18.000000000 Z - zone: *1 - time: 2022-09-02 18:00:18.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-04 12:02:47.000000000 Z - zone: *1 - time: 2022-09-04 12:02:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-06 00:57:21.000000000 Z - zone: *1 - time: 2022-09-06 00:57:21.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-08 04:26:01.000000000 Z - zone: *1 - time: 2022-09-08 04:26:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-09 04:55:45.000000000 Z - zone: *1 - time: 2022-09-09 04:55:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-11 22:59:36.000000000 Z - zone: *1 - time: 2022-09-11 22:59:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-12 00:54:25.000000000 Z - zone: *1 - time: 2022-09-12 00:54:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-12 17:44:24.000000000 Z - zone: *1 - time: 2022-09-12 17:44:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-12 20:47:30.000000000 Z - zone: *1 - time: 2022-09-12 20:47:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-15 11:39:20.000000000 Z - zone: *1 - time: 2022-09-15 11:39:20.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-16 07:54:15.000000000 Z - zone: *1 - time: 2022-09-16 07:54:15.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-17 08:06:29.000000000 Z - zone: *1 - time: 2022-09-17 08:06:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-18 07:17:17.000000000 Z - zone: *1 - time: 2022-09-18 07:17:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-19 08:39:55.000000000 Z - zone: *1 - time: 2022-09-19 08:39:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-22 06:32:56.000000000 Z - zone: *1 - time: 2022-09-22 06:32:56.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-22 21:26:29.000000000 Z - zone: *1 - time: 2022-09-22 21:26:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-24 16:06:50.000000000 Z - zone: *1 - time: 2022-09-24 16:06:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-27 05:50:18.000000000 Z - zone: *1 - time: 2022-09-27 05:50:18.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-28 12:12:13.000000000 Z - zone: *1 - time: 2022-09-28 12:12:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-29 21:13:01.000000000 Z - zone: *1 - time: 2022-09-29 21:13:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-30 00:09:29.000000000 Z - zone: *1 - time: 2022-09-30 00:09:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-02 04:35:07.000000000 Z - zone: *1 - time: 2022-10-02 04:35:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-02 16:30:20.000000000 Z - zone: *1 - time: 2022-10-02 16:30:20.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-04 10:35:59.000000000 Z - zone: *1 - time: 2022-10-04 10:35:59.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-04 23:39:37.000000000 Z - zone: *1 - time: 2022-10-04 23:39:37.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-07 23:25:10.000000000 Z - zone: *1 - time: 2022-10-07 23:25:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-08 20:31:14.000000000 Z - zone: *1 - time: 2022-10-08 20:31:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-09 07:30:41.000000000 Z - zone: *1 - time: 2022-10-09 07:30:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-11 07:29:41.000000000 Z - zone: *1 - time: 2022-10-11 07:29:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-11 08:00:58.000000000 Z - zone: *1 - time: 2022-10-11 08:00:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-14 03:22:26.000000000 Z - zone: *1 - time: 2022-10-14 03:22:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-16 14:47:54.000000000 Z - zone: *1 - time: 2022-10-16 14:47:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-17 00:28:32.000000000 Z - zone: *1 - time: 2022-10-17 00:28:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-19 10:46:33.000000000 Z - zone: *1 - time: 2022-10-19 10:46:33.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-21 02:39:31.000000000 Z - zone: *1 - time: 2022-10-21 02:39:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-21 19:24:24.000000000 Z - zone: *1 - time: 2022-10-21 19:24:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-23 05:38:26.000000000 Z - zone: *1 - time: 2022-10-23 05:38:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-25 13:28:28.000000000 Z - zone: *1 - time: 2022-10-25 13:28:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-26 20:26:31.000000000 Z - zone: *1 - time: 2022-10-26 20:26:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-29 12:43:40.000000000 Z - zone: *1 - time: 2022-10-29 12:43:40.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-31 11:21:43.000000000 Z - zone: *1 - time: 2022-10-31 11:21:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-03 04:42:32.000000000 Z - zone: *1 - time: 2022-11-03 04:42:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-04 20:26:28.000000000 Z - zone: *1 - time: 2022-11-04 20:26:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-05 15:08:01.000000000 Z - zone: *1 - time: 2022-11-05 15:08:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-06 10:55:38.000000000 Z - zone: *1 - time: 2022-11-06 10:55:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-07 04:13:28.000000000 Z - zone: *1 - time: 2022-11-07 04:13:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-08 03:42:59.000000000 Z - zone: *1 - time: 2022-11-08 03:42:59.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-10 13:56:10.000000000 Z - zone: *1 - time: 2022-11-10 13:56:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-13 13:01:38.000000000 Z - zone: *1 - time: 2022-11-13 13:01:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-15 02:04:32.000000000 Z - zone: *1 - time: 2022-11-15 02:04:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-17 09:10:48.000000000 Z - zone: *1 - time: 2022-11-17 09:10:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-19 11:37:01.000000000 Z - zone: *1 - time: 2022-11-19 11:37:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-20 06:15:33.000000000 Z - zone: *1 - time: 2022-11-20 06:15:33.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-22 08:35:41.000000000 Z - zone: *1 - time: 2022-11-22 08:35:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-24 20:42:50.000000000 Z - zone: *1 - time: 2022-11-24 20:42:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-25 17:45:48.000000000 Z - zone: *1 - time: 2022-11-25 17:45:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-28 06:16:15.000000000 Z - zone: *1 - time: 2022-11-28 06:16:15.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-28 18:12:24.000000000 Z - zone: *1 - time: 2022-11-28 18:12:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-30 20:09:46.000000000 Z - zone: *1 - time: 2022-11-30 20:09:46.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-01 03:29:43.000000000 Z - zone: *1 - time: 2022-12-01 03:29:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-02 03:58:02.000000000 Z - zone: *1 - time: 2022-12-02 03:58:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-02 19:47:06.000000000 Z - zone: *1 - time: 2022-12-02 19:47:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-04 14:54:02.000000000 Z - zone: *1 - time: 2022-12-04 14:54:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-06 02:22:58.000000000 Z - zone: *1 - time: 2022-12-06 02:22:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-06 09:29:06.000000000 Z - zone: *1 - time: 2022-12-06 09:29:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-06 17:16:19.000000000 Z - zone: *1 - time: 2022-12-06 17:16:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-09 14:10:12.000000000 Z - zone: *1 - time: 2022-12-09 14:10:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-11 19:54:41.000000000 Z - zone: *1 - time: 2022-12-11 19:54:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-11 23:48:45.000000000 Z - zone: *1 - time: 2022-12-11 23:48:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-12 12:05:28.000000000 Z - zone: *1 - time: 2022-12-12 12:05:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-12 21:37:48.000000000 Z - zone: *1 - time: 2022-12-12 21:37:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-15 05:08:10.000000000 Z - zone: *1 - time: 2022-12-15 05:08:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-16 19:06:39.000000000 Z - zone: *1 - time: 2022-12-16 19:06:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-18 21:49:36.000000000 Z - zone: *1 - time: 2022-12-18 21:49:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-20 00:54:09.000000000 Z - zone: *1 - time: 2022-12-20 00:54:09.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-22 21:51:31.000000000 Z - zone: *1 - time: 2022-12-22 21:51:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-25 08:40:02.000000000 Z - zone: *1 - time: 2022-12-25 08:40:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-26 22:01:45.000000000 Z - zone: *1 - time: 2022-12-26 22:01:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-29 18:46:07.000000000 Z - zone: *1 - time: 2022-12-29 18:46:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-01 01:55:31.000000000 Z - zone: *1 - time: 2023-01-01 01:55:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-01 17:34:53.000000000 Z - zone: *1 - time: 2023-01-01 17:34:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-04 09:05:13.000000000 Z - zone: *1 - time: 2023-01-04 09:05:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-05 01:57:33.000000000 Z - zone: *1 - time: 2023-01-05 01:57:33.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-06 08:56:47.000000000 Z - zone: *1 - time: 2023-01-06 08:56:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-07 18:52:12.000000000 Z - zone: *1 - time: 2023-01-07 18:52:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-08 00:43:40.000000000 Z - zone: *1 - time: 2023-01-08 00:43:40.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-10 13:28:23.000000000 Z - zone: *1 - time: 2023-01-10 13:28:23.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-13 10:22:38.000000000 Z - zone: *1 - time: 2023-01-13 10:22:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-15 01:43:06.000000000 Z - zone: *1 - time: 2023-01-15 01:43:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-15 04:30:52.000000000 Z - zone: *1 - time: 2023-01-15 04:30:52.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-16 23:13:04.000000000 Z - zone: *1 - time: 2023-01-16 23:13:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-19 17:16:31.000000000 Z - zone: *1 - time: 2023-01-19 17:16:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-21 09:25:58.000000000 Z - zone: *1 - time: 2023-01-21 09:25:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-23 09:42:42.000000000 Z - zone: *1 - time: 2023-01-23 09:42:42.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-24 11:13:59.000000000 Z - zone: *1 - time: 2023-01-24 11:13:59.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-25 00:57:26.000000000 Z - zone: *1 - time: 2023-01-25 00:57:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-27 10:31:18.000000000 Z - zone: *1 - time: 2023-01-27 10:31:18.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-28 07:08:54.000000000 Z - zone: *1 - time: 2023-01-28 07:08:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-28 09:46:16.000000000 Z - zone: *1 - time: 2023-01-28 09:46:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-30 04:34:32.000000000 Z - zone: *1 - time: 2023-01-30 04:34:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-30 05:30:26.000000000 Z - zone: *1 - time: 2023-01-30 05:30:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-31 08:08:44.000000000 Z - zone: *1 - time: 2023-01-31 08:08:44.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-03 01:02:02.000000000 Z - zone: *1 - time: 2023-02-03 01:02:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-03 10:02:38.000000000 Z - zone: *1 - time: 2023-02-03 10:02:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-05 02:22:53.000000000 Z - zone: *1 - time: 2023-02-05 02:22:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-05 05:55:46.000000000 Z - zone: *1 - time: 2023-02-05 05:55:46.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-07 06:18:28.000000000 Z - zone: *1 - time: 2023-02-07 06:18:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-08 13:57:28.000000000 Z - zone: *1 - time: 2023-02-08 13:57:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-08 17:53:12.000000000 Z - zone: *1 - time: 2023-02-08 17:53:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-10 08:40:27.000000000 Z - zone: *1 - time: 2023-02-10 08:40:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-10 10:28:23.000000000 Z - zone: *1 - time: 2023-02-10 10:28:23.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-12 15:42:42.000000000 Z - zone: *1 - time: 2023-02-12 15:42:42.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-14 06:11:35.000000000 Z - zone: *1 - time: 2023-02-14 06:11:35.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-14 12:22:06.000000000 Z - zone: *1 - time: 2023-02-14 12:22:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-16 14:43:29.000000000 Z - zone: *1 - time: 2023-02-16 14:43:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-16 15:58:19.000000000 Z - zone: *1 - time: 2023-02-16 15:58:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-17 08:36:37.000000000 Z - zone: *1 - time: 2023-02-17 08:36:37.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-19 04:20:36.000000000 Z - zone: *1 - time: 2023-02-19 04:20:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-21 03:27:07.000000000 Z - zone: *1 - time: 2023-02-21 03:27:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-22 09:09:23.000000000 Z - zone: *1 - time: 2023-02-22 09:09:23.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-24 10:19:14.000000000 Z - zone: *1 - time: 2023-02-24 10:19:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-26 13:28:50.000000000 Z - zone: *1 - time: 2023-02-26 13:28:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-27 15:33:38.000000000 Z - zone: *1 - time: 2023-02-27 15:33:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-01 14:48:42.000000000 Z - zone: *1 - time: 2023-03-01 14:48:42.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-02 19:17:52.000000000 Z - zone: *1 - time: 2023-03-02 19:17:52.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-03 09:48:41.000000000 Z - zone: *1 - time: 2023-03-03 09:48:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-04 12:44:18.000000000 Z - zone: *1 - time: 2023-03-04 12:44:18.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-06 18:24:47.000000000 Z - zone: *1 - time: 2023-03-06 18:24:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-09 13:55:36.000000000 Z - zone: *1 - time: 2023-03-09 13:55:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-11 13:50:26.000000000 Z - zone: *1 - time: 2023-03-11 13:50:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-14 05:57:47.000000000 Z - zone: *1 - time: 2023-03-14 05:57:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-14 09:16:38.000000000 Z - zone: *1 - time: 2023-03-14 09:16:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-14 12:34:22.000000000 Z - zone: *1 - time: 2023-03-14 12:34:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-14 15:15:53.000000000 Z - zone: *1 - time: 2023-03-14 15:15:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-16 18:34:04.000000000 Z - zone: *1 - time: 2023-03-16 18:34:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-19 13:01:38.000000000 Z - zone: *1 - time: 2023-03-19 13:01:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-19 15:24:32.000000000 Z - zone: *1 - time: 2023-03-19 15:24:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-20 14:56:28.000000000 Z - zone: *1 - time: 2023-03-20 14:56:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-21 12:32:45.000000000 Z - zone: *1 - time: 2023-03-21 12:32:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-23 22:16:22.000000000 Z - zone: *1 - time: 2023-03-23 22:16:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-24 01:05:24.000000000 Z - zone: *1 - time: 2023-03-24 01:05:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-26 12:01:36.000000000 Z - zone: *1 - time: 2023-03-26 12:01:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-29 07:45:17.000000000 Z - zone: *1 - time: 2023-03-29 07:45:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-01 06:03:31.000000000 Z - zone: *1 - time: 2023-04-01 06:03:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-02 20:45:43.000000000 Z - zone: *1 - time: 2023-04-02 20:45:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-03 05:33:10.000000000 Z - zone: *1 - time: 2023-04-03 05:33:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-03 16:15:11.000000000 Z - zone: *1 - time: 2023-04-03 16:15:11.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-05 14:56:49.000000000 Z - zone: *1 - time: 2023-04-05 14:56:49.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-06 22:21:46.000000000 Z - zone: *1 - time: 2023-04-06 22:21:46.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-08 19:50:51.000000000 Z - zone: *1 - time: 2023-04-08 19:50:51.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-09 06:14:30.000000000 Z - zone: *1 - time: 2023-04-09 06:14:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-09 11:26:27.000000000 Z - zone: *1 - time: 2023-04-09 11:26:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-11 21:34:04.000000000 Z - zone: *1 - time: 2023-04-11 21:34:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-14 08:51:06.000000000 Z - zone: *1 - time: 2023-04-14 08:51:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-16 15:58:05.000000000 Z - zone: *1 - time: 2023-04-16 15:58:05.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-17 03:06:43.000000000 Z - zone: *1 - time: 2023-04-17 03:06:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-18 16:28:30.000000000 Z - zone: *1 - time: 2023-04-18 16:28:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-18 17:32:38.000000000 Z - zone: *1 - time: 2023-04-18 17:32:38.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-19 20:34:45.000000000 Z - zone: *1 - time: 2023-04-19 20:34:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-22 06:16:01.000000000 Z - zone: *1 - time: 2023-04-22 06:16:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-22 12:00:25.000000000 Z - zone: *1 - time: 2023-04-22 12:00:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-24 21:12:27.000000000 Z - zone: *1 - time: 2023-04-24 21:12:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-27 15:19:36.000000000 Z - zone: *1 - time: 2023-04-27 15:19:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-29 00:43:46.000000000 Z - zone: *1 - time: 2023-04-29 00:43:46.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-29 17:50:02.000000000 Z - zone: *1 - time: 2023-04-29 17:50:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-30 05:22:14.000000000 Z - zone: *1 - time: 2023-04-30 05:22:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-01 07:20:17.000000000 Z - zone: *1 - time: 2023-05-01 07:20:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-03 05:11:16.000000000 Z - zone: *1 - time: 2023-05-03 05:11:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-05 00:13:31.000000000 Z - zone: *1 - time: 2023-05-05 00:13:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-05 12:08:33.000000000 Z - zone: *1 - time: 2023-05-05 12:08:33.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-05 16:26:19.000000000 Z - zone: *1 - time: 2023-05-05 16:26:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-07 23:53:00.000000000 Z - zone: *1 - time: 2023-05-07 23:53:00.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-10 17:41:27.000000000 Z - zone: *1 - time: 2023-05-10 17:41:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-12 01:37:24.000000000 Z - zone: *1 - time: 2023-05-12 01:37:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-14 08:18:36.000000000 Z - zone: *1 - time: 2023-05-14 08:18:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-16 15:17:43.000000000 Z - zone: *1 - time: 2023-05-16 15:17:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-16 18:24:55.000000000 Z - zone: *1 - time: 2023-05-16 18:24:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-19 16:16:45.000000000 Z - zone: *1 - time: 2023-05-19 16:16:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-21 00:48:36.000000000 Z - zone: *1 - time: 2023-05-21 00:48:36.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-22 00:54:41.000000000 Z - zone: *1 - time: 2023-05-22 00:54:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-24 05:36:25.000000000 Z - zone: *1 - time: 2023-05-24 05:36:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-25 10:05:39.000000000 Z - zone: *1 - time: 2023-05-25 10:05:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-26 16:09:51.000000000 Z - zone: *1 - time: 2023-05-26 16:09:51.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-29 12:40:29.000000000 Z - zone: *1 - time: 2023-05-29 12:40:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-29 13:15:05.000000000 Z - zone: *1 - time: 2023-05-29 13:15:05.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-31 15:28:14.000000000 Z - zone: *1 - time: 2023-05-31 15:28:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-02 02:05:21.000000000 Z - zone: *1 - time: 2023-06-02 02:05:21.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-02 13:05:50.000000000 Z - zone: *1 - time: 2023-06-02 13:05:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-04 11:12:19.000000000 Z - zone: *1 - time: 2023-06-04 11:12:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-05 10:04:34.000000000 Z - zone: *1 - time: 2023-06-05 10:04:34.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-06 02:47:22.000000000 Z - zone: *1 - time: 2023-06-06 02:47:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-07 04:35:17.000000000 Z - zone: *1 - time: 2023-06-07 04:35:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-07 16:20:27.000000000 Z - zone: *1 - time: 2023-06-07 16:20:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-08 07:43:14.000000000 Z - zone: *1 - time: 2023-06-08 07:43:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-10 17:55:59.000000000 Z - zone: *1 - time: 2023-06-10 17:55:59.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-12 17:00:02.000000000 Z - zone: *1 - time: 2023-06-12 17:00:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-14 08:37:14.000000000 Z - zone: *1 - time: 2023-06-14 08:37:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-14 18:07:30.000000000 Z - zone: *1 - time: 2023-06-14 18:07:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-16 12:07:26.000000000 Z - zone: *1 - time: 2023-06-16 12:07:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-18 22:29:39.000000000 Z - zone: *1 - time: 2023-06-18 22:29:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-19 02:32:54.000000000 Z - zone: *1 - time: 2023-06-19 02:32:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-20 14:24:40.000000000 Z - zone: *1 - time: 2023-06-20 14:24:40.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-22 09:27:59.000000000 Z - zone: *1 - time: 2023-06-22 09:27:59.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-23 07:31:20.000000000 Z - zone: *1 - time: 2023-06-23 07:31:20.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-23 21:06:55.000000000 Z - zone: *1 - time: 2023-06-23 21:06:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-26 06:57:28.000000000 Z - zone: *1 - time: 2023-06-26 06:57:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-28 17:08:12.000000000 Z - zone: *1 - time: 2023-06-28 17:08:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-29 03:06:47.000000000 Z - zone: *1 - time: 2023-06-29 03:06:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-30 12:25:41.000000000 Z - zone: *1 - time: 2023-06-30 12:25:41.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-02 08:49:42.000000000 Z - zone: *1 - time: 2023-07-02 08:49:42.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-03 20:09:26.000000000 Z - zone: *1 - time: 2023-07-03 20:09:26.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-06 17:39:13.000000000 Z - zone: *1 - time: 2023-07-06 17:39:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-09 00:18:52.000000000 Z - zone: *1 - time: 2023-07-09 00:18:52.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-11 03:58:21.000000000 Z - zone: *1 - time: 2023-07-11 03:58:21.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-12 22:37:00.000000000 Z - zone: *1 - time: 2023-07-12 22:37:00.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-14 01:58:44.000000000 Z - zone: *1 - time: 2023-07-14 01:58:44.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-16 20:21:13.000000000 Z - zone: *1 - time: 2023-07-16 20:21:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-17 01:41:47.000000000 Z - zone: *1 - time: 2023-07-17 01:41:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-19 10:06:35.000000000 Z - zone: *1 - time: 2023-07-19 10:06:35.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-21 17:44:16.000000000 Z - zone: *1 - time: 2023-07-21 17:44:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-22 02:46:04.000000000 Z - zone: *1 - time: 2023-07-22 02:46:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-22 06:52:04.000000000 Z - zone: *1 - time: 2023-07-22 06:52:04.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-23 04:53:49.000000000 Z - zone: *1 - time: 2023-07-23 04:53:49.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-25 16:37:24.000000000 Z - zone: *1 - time: 2023-07-25 16:37:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-27 18:34:33.000000000 Z - zone: *1 - time: 2023-07-27 18:34:33.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-28 02:34:02.000000000 Z - zone: *1 - time: 2023-07-28 02:34:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-29 19:53:32.000000000 Z - zone: *1 - time: 2023-07-29 19:53:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-30 23:30:11.000000000 Z - zone: *1 - time: 2023-07-30 23:30:11.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-02 17:46:22.000000000 Z - zone: *1 - time: 2023-08-02 17:46:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-03 00:01:21.000000000 Z - zone: *1 - time: 2023-08-03 00:01:21.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-03 03:57:56.000000000 Z - zone: *1 - time: 2023-08-03 03:57:56.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-03 21:41:28.000000000 Z - zone: *1 - time: 2023-08-03 21:41:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-04 23:37:31.000000000 Z - zone: *1 - time: 2023-08-04 23:37:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-05 08:20:42.000000000 Z - zone: *1 - time: 2023-08-05 08:20:42.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-07 21:01:55.000000000 Z - zone: *1 - time: 2023-08-07 21:01:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-10 17:03:47.000000000 Z - zone: *1 - time: 2023-08-10 17:03:47.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-11 21:06:31.000000000 Z - zone: *1 - time: 2023-08-11 21:06:31.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-12 08:45:08.000000000 Z - zone: *1 - time: 2023-08-12 08:45:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-13 07:09:39.000000000 Z - zone: *1 - time: 2023-08-13 07:09:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-14 11:15:10.000000000 Z - zone: *1 - time: 2023-08-14 11:15:10.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-16 04:15:48.000000000 Z - zone: *1 - time: 2023-08-16 04:15:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-19 04:11:43.000000000 Z - zone: *1 - time: 2023-08-19 04:11:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-19 10:10:27.000000000 Z - zone: *1 - time: 2023-08-19 10:10:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-22 09:41:20.000000000 Z - zone: *1 - time: 2023-08-22 09:41:20.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-24 10:27:08.000000000 Z - zone: *1 - time: 2023-08-24 10:27:08.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-24 18:16:12.000000000 Z - zone: *1 - time: 2023-08-24 18:16:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-25 17:02:28.000000000 Z - zone: *1 - time: 2023-08-25 17:02:28.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-27 15:58:52.000000000 Z - zone: *1 - time: 2023-08-27 15:58:52.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-27 23:29:53.000000000 Z - zone: *1 - time: 2023-08-27 23:29:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-28 21:31:27.000000000 Z - zone: *1 - time: 2023-08-28 21:31:27.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-29 03:35:29.000000000 Z - zone: *1 - time: 2023-08-29 03:35:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-31 06:15:19.000000000 Z - zone: *1 - time: 2023-08-31 06:15:19.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-01 21:56:52.000000000 Z - zone: *1 - time: 2023-09-01 21:56:52.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-02 22:57:53.000000000 Z - zone: *1 - time: 2023-09-02 22:57:53.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-05 03:28:30.000000000 Z - zone: *1 - time: 2023-09-05 03:28:30.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-07 04:57:12.000000000 Z - zone: *1 - time: 2023-09-07 04:57:12.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-09 19:16:05.000000000 Z - zone: *1 - time: 2023-09-09 19:16:05.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-09 20:01:39.000000000 Z - zone: *1 - time: 2023-09-09 20:01:39.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-11 03:23:22.000000000 Z - zone: *1 - time: 2023-09-11 03:23:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-12 15:18:29.000000000 Z - zone: *1 - time: 2023-09-12 15:18:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-13 14:14:43.000000000 Z - zone: *1 - time: 2023-09-13 14:14:43.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-13 17:37:25.000000000 Z - zone: *1 - time: 2023-09-13 17:37:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-14 18:17:49.000000000 Z - zone: *1 - time: 2023-09-14 18:17:49.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-16 19:56:55.000000000 Z - zone: *1 - time: 2023-09-16 19:56:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-18 14:21:02.000000000 Z - zone: *1 - time: 2023-09-18 14:21:02.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-21 00:34:13.000000000 Z - zone: *1 - time: 2023-09-21 00:34:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-23 07:14:06.000000000 Z - zone: *1 - time: 2023-09-23 07:14:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-24 17:22:22.000000000 Z - zone: *1 - time: 2023-09-24 17:22:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-27 12:42:54.000000000 Z - zone: *1 - time: 2023-09-27 12:42:54.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-28 14:48:45.000000000 Z - zone: *1 - time: 2023-09-28 14:48:45.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-01 11:54:24.000000000 Z - zone: *1 - time: 2023-10-01 11:54:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-03 07:36:32.000000000 Z - zone: *1 - time: 2023-10-03 07:36:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-05 05:13:57.000000000 Z - zone: *1 - time: 2023-10-05 05:13:57.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-06 16:07:06.000000000 Z - zone: *1 - time: 2023-10-06 16:07:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-09 00:03:52.000000000 Z - zone: *1 - time: 2023-10-09 00:03:52.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-09 02:32:01.000000000 Z - zone: *1 - time: 2023-10-09 02:32:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-10 16:39:07.000000000 Z - zone: *1 - time: 2023-10-10 16:39:07.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-12 13:28:16.000000000 Z - zone: *1 - time: 2023-10-12 13:28:16.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-14 04:29:14.000000000 Z - zone: *1 - time: 2023-10-14 04:29:14.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-17 03:30:24.000000000 Z - zone: *1 - time: 2023-10-17 03:30:24.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-20 03:13:15.000000000 Z - zone: *1 - time: 2023-10-20 03:13:15.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-20 20:47:06.000000000 Z - zone: *1 - time: 2023-10-20 20:47:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-21 13:59:34.000000000 Z - zone: *1 - time: 2023-10-21 13:59:34.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-23 21:38:48.000000000 Z - zone: *1 - time: 2023-10-23 21:38:48.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-24 06:07:13.000000000 Z - zone: *1 - time: 2023-10-24 06:07:13.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-25 22:51:17.000000000 Z - zone: *1 - time: 2023-10-25 22:51:17.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-26 21:12:50.000000000 Z - zone: *1 - time: 2023-10-26 21:12:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-28 05:52:20.000000000 Z - zone: *1 - time: 2023-10-28 05:52:20.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-29 22:11:01.000000000 Z - zone: *1 - time: 2023-10-29 22:11:01.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-30 12:29:25.000000000 Z - zone: *1 - time: 2023-10-30 12:29:25.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-02 02:52:55.000000000 Z - zone: *1 - time: 2023-11-02 02:52:55.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-02 06:00:32.000000000 Z - zone: *1 - time: 2023-11-02 06:00:32.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-03 08:39:06.000000000 Z - zone: *1 - time: 2023-11-03 08:39:06.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-04 23:51:22.000000000 Z - zone: *1 - time: 2023-11-04 23:51:22.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-07 16:11:33.000000000 Z - zone: *1 - time: 2023-11-07 16:11:33.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-10 10:55:29.000000000 Z - zone: *1 - time: 2023-11-10 10:55:29.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 01:20:18.000000000 Z - zone: *1 - time: 2023-11-12 01:20:18.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 04:22:50.000000000 Z - zone: *1 - time: 2023-11-12 04:22:50.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 08:38:58.000000000 Z - zone: *1 - time: 2023-11-12 08:38:58.000000000 Z -- !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-13 15:43:40.000000000 Z - zone: *1 - time: 2023-11-13 15:43:40.000000000 Z diff --git a/test/files/db/calendar.sqlite3 b/test/files/db/calendar.sqlite3 new file mode 100644 index 000000000..46dab9be2 Binary files /dev/null and b/test/files/db/calendar.sqlite3 differ diff --git a/test/files/db/calendar.sqlite3-wal b/test/files/db/calendar.sqlite3-wal new file mode 100644 index 000000000..821d5e3f4 Binary files /dev/null and b/test/files/db/calendar.sqlite3-wal differ diff --git a/test/files/i18n.yml b/test/files/i18n.yml deleted file mode 100644 index 46522452c..000000000 --- a/test/files/i18n.yml +++ /dev/null @@ -1,12 +0,0 @@ -en: - pagy: - collection_info: - no_items: "No %{item_name} found" - single_page: "Displaying %{count} %{item_name}" - multiple_pages: "Displaying %{item_name} %{from}-%{to} of %{count} in total" - - activerecord: - models: - product: - one: Product - other: Products diff --git a/test/files/models.rb b/test/files/models.rb new file mode 100644 index 000000000..b5f69e818 --- /dev/null +++ b/test/files/models.rb @@ -0,0 +1,549 @@ +# frozen_string_literal: true + +require 'active_record' + +# Models +class Event < ActiveRecord::Base +end + +class Event40 < ActiveRecord::Base +end + +db_path ="#{__dir__}/db/calendar.sqlite3" + +# Activerecord initializer +ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database: db_path) + +# :nocov: +unless File.exist?(db_path) + + ActiveRecord::Schema.define do + create_table :events do |t| + t.string :title + t.timestamp :time + end + create_table :event40s do |t| + t.string :title + t.timestamp :time + end + end + + TIMES = <<~TIMES + 2021-10-21 13:18:23 +0000 + 2021-10-21 23:14:50 +0000 + 2021-10-23 01:06:02 +0000 + 2021-10-25 18:54:35 +0000 + 2021-10-26 02:22:17 +0000 + 2021-10-28 22:59:49 +0000 + 2021-10-30 15:02:25 +0000 + 2021-11-02 04:03:39 +0000 + 2021-11-04 22:41:23 +0000 + 2021-11-06 00:34:29 +0000 + 2021-11-06 23:56:16 +0000 + 2021-11-07 06:22:04 +0000 + 2021-11-07 19:46:08 +0000 + 2021-11-08 09:31:13 +0000 + 2021-11-09 17:22:03 +0000 + 2021-11-11 05:29:54 +0000 + 2021-11-13 09:41:04 +0000 + 2021-11-16 07:48:22 +0000 + 2021-11-16 12:43:44 +0000 + 2021-11-17 16:03:07 +0000 + 2021-11-20 02:39:01 +0000 + 2021-11-21 02:01:24 +0000 + 2021-11-23 19:24:43 +0000 + 2021-11-26 11:47:22 +0000 + 2021-11-28 06:30:04 +0000 + 2021-12-01 00:13:55 +0000 + 2021-12-03 19:10:16 +0000 + 2021-12-04 00:43:47 +0000 + 2021-12-06 20:15:35 +0000 + 2021-12-09 16:27:07 +0000 + 2021-12-10 15:28:48 +0000 + 2021-12-10 23:08:16 +0000 + 2021-12-11 23:09:08 +0000 + 2021-12-14 04:56:58 +0000 + 2021-12-14 14:00:56 +0000 + 2021-12-15 22:58:51 +0000 + 2021-12-16 01:28:21 +0000 + 2021-12-16 20:16:54 +0000 + 2021-12-19 00:34:04 +0000 + 2021-12-19 06:58:41 +0000 + 2021-12-21 11:13:53 +0000 + 2021-12-23 07:28:50 +0000 + 2021-12-23 07:57:58 +0000 + 2021-12-23 18:32:13 +0000 + 2021-12-24 01:17:51 +0000 + 2021-12-25 05:36:16 +0000 + 2021-12-25 23:21:57 +0000 + 2021-12-27 12:18:57 +0000 + 2021-12-28 16:59:57 +0000 + 2021-12-31 15:10:23 +0000 + 2022-01-01 19:18:06 +0000 + 2022-01-03 08:36:27 +0000 + 2022-01-03 23:31:01 +0000 + 2022-01-05 02:14:57 +0000 + 2022-01-06 09:26:03 +0000 + 2022-01-07 20:22:22 +0000 + 2022-01-10 04:04:28 +0000 + 2022-01-11 17:17:55 +0000 + 2022-01-14 05:21:54 +0000 + 2022-01-16 01:18:58 +0000 + 2022-01-18 08:42:56 +0000 + 2022-01-19 00:45:04 +0000 + 2022-01-20 08:18:54 +0000 + 2022-01-22 05:26:38 +0000 + 2022-01-24 10:57:50 +0000 + 2022-01-26 09:47:02 +0000 + 2022-01-28 20:44:30 +0000 + 2022-01-31 16:19:50 +0000 + 2022-02-01 21:23:58 +0000 + 2022-02-04 14:41:57 +0000 + 2022-02-06 20:40:06 +0000 + 2022-02-07 23:03:50 +0000 + 2022-02-09 05:28:08 +0000 + 2022-02-10 02:19:12 +0000 + 2022-02-11 07:51:30 +0000 + 2022-02-12 13:46:16 +0000 + 2022-02-13 21:06:40 +0000 + 2022-02-15 11:37:50 +0000 + 2022-02-18 11:23:15 +0000 + 2022-02-20 08:01:49 +0000 + 2022-02-23 03:00:30 +0000 + 2022-02-24 21:52:25 +0000 + 2022-02-25 12:07:56 +0000 + 2022-02-27 04:20:20 +0000 + 2022-02-28 21:09:42 +0000 + 2022-03-02 23:35:41 +0000 + 2022-03-04 00:42:10 +0000 + 2022-03-05 00:59:10 +0000 + 2022-03-06 19:58:01 +0000 + 2022-03-07 07:48:09 +0000 + 2022-03-09 06:08:00 +0000 + 2022-03-10 05:45:08 +0000 + 2022-03-12 21:16:31 +0000 + 2022-03-15 08:17:44 +0000 + 2022-03-16 03:37:03 +0000 + 2022-03-18 05:07:54 +0000 + 2022-03-20 04:05:26 +0000 + 2022-03-22 10:52:33 +0000 + 2022-03-23 15:26:54 +0000 + 2022-03-24 09:01:04 +0000 + 2022-03-24 23:53:07 +0000 + 2022-03-27 13:45:17 +0000 + 2022-03-28 19:57:00 +0000 + 2022-03-29 15:42:35 +0000 + 2022-03-29 18:20:32 +0000 + 2022-04-01 15:35:47 +0000 + 2022-04-02 06:33:31 +0000 + 2022-04-03 18:27:19 +0000 + 2022-04-03 23:44:08 +0000 + 2022-04-06 10:59:32 +0000 + 2022-04-07 01:33:53 +0000 + 2022-04-08 10:26:34 +0000 + 2022-04-10 19:21:08 +0000 + 2022-04-12 01:50:04 +0000 + 2022-04-14 19:56:29 +0000 + 2022-04-15 09:08:22 +0000 + 2022-04-16 07:58:47 +0000 + 2022-04-17 16:31:40 +0000 + 2022-04-20 09:50:22 +0000 + 2022-04-23 04:24:22 +0000 + 2022-04-25 07:18:04 +0000 + 2022-04-27 16:57:48 +0000 + 2022-04-29 18:48:09 +0000 + 2022-04-29 20:30:25 +0000 + 2022-05-02 03:44:25 +0000 + 2022-05-03 15:27:57 +0000 + 2022-05-04 08:11:15 +0000 + 2022-05-07 00:42:14 +0000 + 2022-05-09 15:23:31 +0000 + 2022-05-10 19:11:49 +0000 + 2022-05-11 14:04:17 +0000 + 2022-05-14 12:09:34 +0000 + 2022-05-15 13:31:54 +0000 + 2022-05-17 21:21:37 +0000 + 2022-05-19 01:27:43 +0000 + 2022-05-21 04:34:59 +0000 + 2022-05-23 11:05:18 +0000 + 2022-05-23 19:14:50 +0000 + 2022-05-26 13:16:18 +0000 + 2022-05-27 11:39:35 +0000 + 2022-05-29 07:09:07 +0000 + 2022-05-30 15:13:23 +0000 + 2022-06-01 04:18:40 +0000 + 2022-06-01 11:11:51 +0000 + 2022-06-01 12:45:06 +0000 + 2022-06-03 07:08:31 +0000 + 2022-06-04 23:28:11 +0000 + 2022-06-07 12:14:01 +0000 + 2022-06-08 13:32:22 +0000 + 2022-06-10 18:56:37 +0000 + 2022-06-12 16:00:09 +0000 + 2022-06-15 13:28:55 +0000 + 2022-06-16 18:42:37 +0000 + 2022-06-17 00:36:21 +0000 + 2022-06-18 16:21:27 +0000 + 2022-06-20 13:50:27 +0000 + 2022-06-22 09:43:55 +0000 + 2022-06-25 09:43:17 +0000 + 2022-06-27 06:51:01 +0000 + 2022-06-28 09:10:53 +0000 + 2022-06-30 18:46:16 +0000 + 2022-07-01 16:05:14 +0000 + 2022-07-02 14:02:12 +0000 + 2022-07-05 11:08:11 +0000 + 2022-07-05 12:44:38 +0000 + 2022-07-08 03:55:17 +0000 + 2022-07-08 18:02:14 +0000 + 2022-07-09 09:41:17 +0000 + 2022-07-11 07:34:51 +0000 + 2022-07-13 05:11:19 +0000 + 2022-07-15 02:46:56 +0000 + 2022-07-16 15:40:39 +0000 + 2022-07-17 19:44:15 +0000 + 2022-07-19 00:31:12 +0000 + 2022-07-21 21:58:24 +0000 + 2022-07-22 05:25:48 +0000 + 2022-07-22 18:33:04 +0000 + 2022-07-24 07:42:24 +0000 + 2022-07-25 07:21:20 +0000 + 2022-07-27 12:02:44 +0000 + 2022-07-29 03:29:28 +0000 + 2022-07-29 11:35:43 +0000 + 2022-07-30 05:25:21 +0000 + 2022-07-30 19:39:10 +0000 + 2022-07-31 18:54:58 +0000 + 2022-08-03 11:18:44 +0000 + 2022-08-05 00:37:47 +0000 + 2022-08-05 12:08:08 +0000 + 2022-08-07 14:39:19 +0000 + 2022-08-08 09:52:59 +0000 + 2022-08-09 13:48:29 +0000 + 2022-08-11 19:03:04 +0000 + 2022-08-13 01:56:49 +0000 + 2022-08-15 11:33:09 +0000 + 2022-08-17 23:37:45 +0000 + 2022-08-19 00:47:19 +0000 + 2022-08-19 01:01:12 +0000 + 2022-08-21 07:37:55 +0000 + 2022-08-21 21:42:15 +0000 + 2022-08-23 10:55:39 +0000 + 2022-08-25 16:20:29 +0000 + 2022-08-27 06:28:14 +0000 + 2022-08-27 13:12:57 +0000 + 2022-08-28 23:00:13 +0000 + 2022-08-31 05:19:56 +0000 + 2022-09-02 18:00:18 +0000 + 2022-09-04 12:02:47 +0000 + 2022-09-06 00:57:21 +0000 + 2022-09-08 04:26:01 +0000 + 2022-09-09 04:55:45 +0000 + 2022-09-11 22:59:36 +0000 + 2022-09-12 00:54:25 +0000 + 2022-09-12 17:44:24 +0000 + 2022-09-12 20:47:30 +0000 + 2022-09-15 11:39:20 +0000 + 2022-09-16 07:54:15 +0000 + 2022-09-17 08:06:29 +0000 + 2022-09-18 07:17:17 +0000 + 2022-09-19 08:39:55 +0000 + 2022-09-22 06:32:56 +0000 + 2022-09-22 21:26:29 +0000 + 2022-09-24 16:06:50 +0000 + 2022-09-27 05:50:18 +0000 + 2022-09-28 12:12:13 +0000 + 2022-09-29 21:13:01 +0000 + 2022-09-30 00:09:29 +0000 + 2022-10-02 04:35:07 +0000 + 2022-10-02 16:30:20 +0000 + 2022-10-04 10:35:59 +0000 + 2022-10-04 23:39:37 +0000 + 2022-10-07 23:25:10 +0000 + 2022-10-08 20:31:14 +0000 + 2022-10-09 07:30:41 +0000 + 2022-10-11 07:29:41 +0000 + 2022-10-11 08:00:58 +0000 + 2022-10-14 03:22:26 +0000 + 2022-10-16 14:47:54 +0000 + 2022-10-17 00:28:32 +0000 + 2022-10-19 10:46:33 +0000 + 2022-10-21 02:39:31 +0000 + 2022-10-21 19:24:24 +0000 + 2022-10-23 05:38:26 +0000 + 2022-10-25 13:28:28 +0000 + 2022-10-26 20:26:31 +0000 + 2022-10-29 12:43:40 +0000 + 2022-10-31 11:21:43 +0000 + 2022-11-03 04:42:32 +0000 + 2022-11-04 20:26:28 +0000 + 2022-11-05 15:08:01 +0000 + 2022-11-06 10:55:38 +0000 + 2022-11-07 04:13:28 +0000 + 2022-11-08 03:42:59 +0000 + 2022-11-10 13:56:10 +0000 + 2022-11-13 13:01:38 +0000 + 2022-11-15 02:04:32 +0000 + 2022-11-17 09:10:48 +0000 + 2022-11-19 11:37:01 +0000 + 2022-11-20 06:15:33 +0000 + 2022-11-22 08:35:41 +0000 + 2022-11-24 20:42:50 +0000 + 2022-11-25 17:45:48 +0000 + 2022-11-28 06:16:15 +0000 + 2022-11-28 18:12:24 +0000 + 2022-11-30 20:09:46 +0000 + 2022-12-01 03:29:43 +0000 + 2022-12-02 03:58:02 +0000 + 2022-12-02 19:47:06 +0000 + 2022-12-04 14:54:02 +0000 + 2022-12-06 02:22:58 +0000 + 2022-12-06 09:29:06 +0000 + 2022-12-06 17:16:19 +0000 + 2022-12-09 14:10:12 +0000 + 2022-12-11 19:54:41 +0000 + 2022-12-11 23:48:45 +0000 + 2022-12-12 12:05:28 +0000 + 2022-12-12 21:37:48 +0000 + 2022-12-15 05:08:10 +0000 + 2022-12-16 19:06:39 +0000 + 2022-12-18 21:49:36 +0000 + 2022-12-20 00:54:09 +0000 + 2022-12-22 21:51:31 +0000 + 2022-12-25 08:40:02 +0000 + 2022-12-26 22:01:45 +0000 + 2022-12-29 18:46:07 +0000 + 2023-01-01 01:55:31 +0000 + 2023-01-01 17:34:53 +0000 + 2023-01-04 09:05:13 +0000 + 2023-01-05 01:57:33 +0000 + 2023-01-06 08:56:47 +0000 + 2023-01-07 18:52:12 +0000 + 2023-01-08 00:43:40 +0000 + 2023-01-10 13:28:23 +0000 + 2023-01-13 10:22:38 +0000 + 2023-01-15 01:43:06 +0000 + 2023-01-15 04:30:52 +0000 + 2023-01-16 23:13:04 +0000 + 2023-01-19 17:16:31 +0000 + 2023-01-21 09:25:58 +0000 + 2023-01-23 09:42:42 +0000 + 2023-01-24 11:13:59 +0000 + 2023-01-25 00:57:26 +0000 + 2023-01-27 10:31:18 +0000 + 2023-01-28 07:08:54 +0000 + 2023-01-28 09:46:16 +0000 + 2023-01-30 04:34:32 +0000 + 2023-01-30 05:30:26 +0000 + 2023-01-31 08:08:44 +0000 + 2023-02-03 01:02:02 +0000 + 2023-02-03 10:02:38 +0000 + 2023-02-05 02:22:53 +0000 + 2023-02-05 05:55:46 +0000 + 2023-02-07 06:18:28 +0000 + 2023-02-08 13:57:28 +0000 + 2023-02-08 17:53:12 +0000 + 2023-02-10 08:40:27 +0000 + 2023-02-10 10:28:23 +0000 + 2023-02-12 15:42:42 +0000 + 2023-02-14 06:11:35 +0000 + 2023-02-14 12:22:06 +0000 + 2023-02-16 14:43:29 +0000 + 2023-02-16 15:58:19 +0000 + 2023-02-17 08:36:37 +0000 + 2023-02-19 04:20:36 +0000 + 2023-02-21 03:27:07 +0000 + 2023-02-22 09:09:23 +0000 + 2023-02-24 10:19:14 +0000 + 2023-02-26 13:28:50 +0000 + 2023-02-27 15:33:38 +0000 + 2023-03-01 14:48:42 +0000 + 2023-03-02 19:17:52 +0000 + 2023-03-03 09:48:41 +0000 + 2023-03-04 12:44:18 +0000 + 2023-03-06 18:24:47 +0000 + 2023-03-09 13:55:36 +0000 + 2023-03-11 13:50:26 +0000 + 2023-03-14 05:57:47 +0000 + 2023-03-14 09:16:38 +0000 + 2023-03-14 12:34:22 +0000 + 2023-03-14 15:15:53 +0000 + 2023-03-16 18:34:04 +0000 + 2023-03-19 13:01:38 +0000 + 2023-03-19 15:24:32 +0000 + 2023-03-20 14:56:28 +0000 + 2023-03-21 12:32:45 +0000 + 2023-03-23 22:16:22 +0000 + 2023-03-24 01:05:24 +0000 + 2023-03-26 12:01:36 +0000 + 2023-03-29 07:45:17 +0000 + 2023-04-01 06:03:31 +0000 + 2023-04-02 20:45:43 +0000 + 2023-04-03 05:33:10 +0000 + 2023-04-03 16:15:11 +0000 + 2023-04-05 14:56:49 +0000 + 2023-04-06 22:21:46 +0000 + 2023-04-08 19:50:51 +0000 + 2023-04-09 06:14:30 +0000 + 2023-04-09 11:26:27 +0000 + 2023-04-11 21:34:04 +0000 + 2023-04-14 08:51:06 +0000 + 2023-04-16 15:58:05 +0000 + 2023-04-17 03:06:43 +0000 + 2023-04-18 16:28:30 +0000 + 2023-04-18 17:32:38 +0000 + 2023-04-19 20:34:45 +0000 + 2023-04-22 06:16:01 +0000 + 2023-04-22 12:00:25 +0000 + 2023-04-24 21:12:27 +0000 + 2023-04-27 15:19:36 +0000 + 2023-04-29 00:43:46 +0000 + 2023-04-29 17:50:02 +0000 + 2023-04-30 05:22:14 +0000 + 2023-05-01 07:20:17 +0000 + 2023-05-03 05:11:16 +0000 + 2023-05-05 00:13:31 +0000 + 2023-05-05 12:08:33 +0000 + 2023-05-05 16:26:19 +0000 + 2023-05-07 23:53:00 +0000 + 2023-05-10 17:41:27 +0000 + 2023-05-12 01:37:24 +0000 + 2023-05-14 08:18:36 +0000 + 2023-05-16 15:17:43 +0000 + 2023-05-16 18:24:55 +0000 + 2023-05-19 16:16:45 +0000 + 2023-05-21 00:48:36 +0000 + 2023-05-22 00:54:41 +0000 + 2023-05-24 05:36:25 +0000 + 2023-05-25 10:05:39 +0000 + 2023-05-26 16:09:51 +0000 + 2023-05-29 12:40:29 +0000 + 2023-05-29 13:15:05 +0000 + 2023-05-31 15:28:14 +0000 + 2023-06-02 02:05:21 +0000 + 2023-06-02 13:05:50 +0000 + 2023-06-04 11:12:19 +0000 + 2023-06-05 10:04:34 +0000 + 2023-06-06 02:47:22 +0000 + 2023-06-07 04:35:17 +0000 + 2023-06-07 16:20:27 +0000 + 2023-06-08 07:43:14 +0000 + 2023-06-10 17:55:59 +0000 + 2023-06-12 17:00:02 +0000 + 2023-06-14 08:37:14 +0000 + 2023-06-14 18:07:30 +0000 + 2023-06-16 12:07:26 +0000 + 2023-06-18 22:29:39 +0000 + 2023-06-19 02:32:54 +0000 + 2023-06-20 14:24:40 +0000 + 2023-06-22 09:27:59 +0000 + 2023-06-23 07:31:20 +0000 + 2023-06-23 21:06:55 +0000 + 2023-06-26 06:57:28 +0000 + 2023-06-28 17:08:12 +0000 + 2023-06-29 03:06:47 +0000 + 2023-06-30 12:25:41 +0000 + 2023-07-02 08:49:42 +0000 + 2023-07-03 20:09:26 +0000 + 2023-07-06 17:39:13 +0000 + 2023-07-09 00:18:52 +0000 + 2023-07-11 03:58:21 +0000 + 2023-07-12 22:37:00 +0000 + 2023-07-14 01:58:44 +0000 + 2023-07-16 20:21:13 +0000 + 2023-07-17 01:41:47 +0000 + 2023-07-19 10:06:35 +0000 + 2023-07-21 17:44:16 +0000 + 2023-07-22 02:46:04 +0000 + 2023-07-22 06:52:04 +0000 + 2023-07-23 04:53:49 +0000 + 2023-07-25 16:37:24 +0000 + 2023-07-27 18:34:33 +0000 + 2023-07-28 02:34:02 +0000 + 2023-07-29 19:53:32 +0000 + 2023-07-30 23:30:11 +0000 + 2023-08-02 17:46:22 +0000 + 2023-08-03 00:01:21 +0000 + 2023-08-03 03:57:56 +0000 + 2023-08-03 21:41:28 +0000 + 2023-08-04 23:37:31 +0000 + 2023-08-05 08:20:42 +0000 + 2023-08-07 21:01:55 +0000 + 2023-08-10 17:03:47 +0000 + 2023-08-11 21:06:31 +0000 + 2023-08-12 08:45:08 +0000 + 2023-08-13 07:09:39 +0000 + 2023-08-14 11:15:10 +0000 + 2023-08-16 04:15:48 +0000 + 2023-08-19 04:11:43 +0000 + 2023-08-19 10:10:27 +0000 + 2023-08-22 09:41:20 +0000 + 2023-08-24 10:27:08 +0000 + 2023-08-24 18:16:12 +0000 + 2023-08-25 17:02:28 +0000 + 2023-08-27 15:58:52 +0000 + 2023-08-27 23:29:53 +0000 + 2023-08-28 21:31:27 +0000 + 2023-08-29 03:35:29 +0000 + 2023-08-31 06:15:19 +0000 + 2023-09-01 21:56:52 +0000 + 2023-09-02 22:57:53 +0000 + 2023-09-05 03:28:30 +0000 + 2023-09-07 04:57:12 +0000 + 2023-09-09 19:16:05 +0000 + 2023-09-09 20:01:39 +0000 + 2023-09-11 03:23:22 +0000 + 2023-09-12 15:18:29 +0000 + 2023-09-13 14:14:43 +0000 + 2023-09-13 17:37:25 +0000 + 2023-09-14 18:17:49 +0000 + 2023-09-16 19:56:55 +0000 + 2023-09-18 14:21:02 +0000 + 2023-09-21 00:34:13 +0000 + 2023-09-23 07:14:06 +0000 + 2023-09-24 17:22:22 +0000 + 2023-09-27 12:42:54 +0000 + 2023-09-28 14:48:45 +0000 + 2023-10-01 11:54:24 +0000 + 2023-10-03 07:36:32 +0000 + 2023-10-05 05:13:57 +0000 + 2023-10-06 16:07:06 +0000 + 2023-10-09 00:03:52 +0000 + 2023-10-09 02:32:01 +0000 + 2023-10-10 16:39:07 +0000 + 2023-10-12 13:28:16 +0000 + 2023-10-14 04:29:14 +0000 + 2023-10-17 03:30:24 +0000 + 2023-10-20 03:13:15 +0000 + 2023-10-20 20:47:06 +0000 + 2023-10-21 13:59:34 +0000 + 2023-10-23 21:38:48 +0000 + 2023-10-24 06:07:13 +0000 + 2023-10-25 22:51:17 +0000 + 2023-10-26 21:12:50 +0000 + 2023-10-28 05:52:20 +0000 + 2023-10-29 22:11:01 +0000 + 2023-10-30 12:29:25 +0000 + 2023-11-02 02:52:55 +0000 + 2023-11-02 06:00:32 +0000 + 2023-11-03 08:39:06 +0000 + 2023-11-04 23:51:22 +0000 + 2023-11-07 16:11:33 +0000 + 2023-11-10 10:55:29 +0000 + 2023-11-12 01:20:18 +0000 + 2023-11-12 04:22:50 +0000 + 2023-11-12 08:38:58 +0000 + 2023-11-13 15:43:40 +0000 + TIMES + + # DB seed + TIMES.each_line(chomp: true).with_index do |time, i| + count = i + 1 + Event.create(title: "Event ##{count}", time:) + Event40.create(title: "Event ##{count}", time:) if count <= 40 + end + +end +# :nocov: +# Down here to avoid logging the DB seed above at each restart +# ActiveRecord::Base.logger = Logger.new($stdout) diff --git a/test/mock_helpers/app.rb b/test/mock_helpers/app.rb index 5f10963b2..12220f8b4 100644 --- a/test/mock_helpers/app.rb +++ b/test/mock_helpers/app.rb @@ -1,7 +1,8 @@ # frozen_string_literal: true -require 'rack' require 'active_support/core_ext/hash/indifferent_access' +require 'groupdate' +require 'rack' # Backend and Frontend poor man mock app class MockApp @@ -28,11 +29,26 @@ def set_pagy_locale(locale) # rubocop:disable Naming/AccessorMethodName class Calendar < MockApp def pagy_calendar_period(collection) - collection.minmax.map(&:in_time_zone) + starting = collection.minimum(:time) + ending = collection.maximum(:time) + [starting.in_time_zone, ending.in_time_zone] end def pagy_calendar_filter(collection, from, to) - collection.select_page_of_records(from, to) + collection.where(time: from...to) + end + end + + class CalendarCounts < Calendar + def pagy_calendar_counts(collection, unit, from, to) + # group_by_period is provided by the groupdate gem + collection.group_by_period(unit, :time, range: from...to).count.values + end + end + + class CalendarCountsSkip < Calendar + def pagy_calendar_counts(_collection, _unit, _from, _to) + nil end end end diff --git a/test/mock_helpers/collection.rb b/test/mock_helpers/collection.rb index a2be52331..68face19b 100644 --- a/test/mock_helpers/collection.rb +++ b/test/mock_helpers/collection.rb @@ -52,32 +52,4 @@ def group_values [:other_table_id] end end - - class Calendar < MockCollection - YAML_FILE = File.expand_path('../files/calendar_collection.yml', __dir__) - # :nocov: - COLLECTION = if Psych::VERSION > '3.3.0' - YAML.safe_load_file(YAML_FILE, permitted_classes: [ActiveSupport::TimeWithZone, - ActiveSupport::TimeZone, - Time], - aliases: ["1"]) - else - YAML.safe_load_file(YAML_FILE, [ActiveSupport::TimeWithZone, - ActiveSupport::TimeZone, - Time], [], true) - end - # :nocov: - - def initialize(arr = COLLECTION) - super - end - - # Select days from the beginning of start_day to the end of end_day - # Accepts strings or DateTime args - def select_page_of_records(start_date, end_date) - paged = select { |date| date >= start_date && date < end_date } - # mock AR scope, returning the same type of object - self.class.new(paged) - end - end end diff --git a/test/pagy/calendar_test.rb b/test/pagy/calendar_test.rb index 1093a0dc1..45878623a 100644 --- a/test/pagy/calendar_test.rb +++ b/test/pagy/calendar_test.rb @@ -266,7 +266,7 @@ def pagy(unit: :month, **vars) end end it 'raises direct instantiation' do - _ { Pagy::Calendar.new({}) }.must_raise Pagy::InternalError + _ { Pagy::Calendar::Unit.new({}) }.must_raise Pagy::InternalError end end diff --git a/test/pagy/extras/calendar_extra_test.rb b/test/pagy/extras/calendar_extra_test.rb index 740809e19..f9d6c90e5 100644 --- a/test/pagy/extras/calendar_extra_test.rb +++ b/test/pagy/extras/calendar_extra_test.rb @@ -4,6 +4,7 @@ require 'pagy/extras/calendar' require_relative '../../mock_helpers/collection' +require_relative '../../files/models' require_relative '../../mock_helpers/app' Time.zone = 'GMT' @@ -14,20 +15,18 @@ def app(**opts) end describe 'pagy/extras/calendar' do - before do - @collection = MockCollection::Calendar.new - end - describe 'instance methods' do it 'returns a Pagy::Calendar::Month instance' do - calendar, pagy, _records = app(params: { page: 1 }).send(:pagy_calendar, @collection, + calendar, pagy, _records = app(params: { page: 1 }).send(:pagy_calendar, + Event.all, month: { period: [Time.now, Time.now + 5000] }, pagy: {}) _(calendar[:month]).must_be_instance_of Pagy::Calendar::Month _(pagy).must_be_instance_of Pagy end it 'skips the calendar' do - calendar, pagy, records = app(params: { page: 1 }).send(:pagy_calendar, @collection, + calendar, pagy, records = app(params: { page: 1 }).send(:pagy_calendar, + Event.all, month: { period: [Time.now, Time.now + 5000] }, pagy: {}, active: false) @@ -46,182 +45,208 @@ def app(**opts) _(error.message).must_match 'the pagy_calendar_filter method must be implemented by the application' end it 'raises ArgumentError for wrong conf' do - _ { MockApp::Calendar.new.send(:pagy_calendar, @collection, []) }.must_raise ArgumentError - _ { MockApp::Calendar.new.send(:pagy_calendar, @collection, unknown: {}) }.must_raise ArgumentError - _ { MockApp::Calendar.new.send(:pagy_calendar, @collection, year: []) }.must_raise TypeError - _ { MockApp::Calendar.new.send(:pagy_calendar, @collection, {}) }.must_raise ArgumentError + _ { MockApp::Calendar.new.send(:pagy_calendar, Event.all, []) }.must_raise ArgumentError + _ { MockApp::Calendar.new.send(:pagy_calendar, Event.all, unknown: {}) }.must_raise ArgumentError + _ { MockApp::Calendar.new.send(:pagy_calendar, Event.all, year: []) }.must_raise TypeError + _ { MockApp::Calendar.new.send(:pagy_calendar, Event.all, {}) }.must_raise ArgumentError end it 'selects :year for the pages and check the total' do total = 0 - calendar, _pagy, entries = app(params: { year_page: 1 }).send(:pagy_calendar, @collection, + calendar, _pagy, entries = app(params: { year_page: 1 }).send(:pagy_calendar, + Event.all, year: { size: [1, 4, 4, 1] }, pagy: { items: 600 }) _(calendar[:year].series).must_equal ["1", 2, 3] _(calendar[:year].pages).must_equal 3 _(calendar[:year].prev).must_be_nil _(calendar[:year].next).must_equal 2 - _(entries.to_a).must_rematch :entries + _(entries.map(&:time)).must_rematch :entries total += entries.size - calendar, _pagy, entries = app(params: { year_page: 2 }).send(:pagy_calendar, @collection, - year: {}, - pagy: { items: 600 }) + calendar, _pagy, entries = app(params: { year_page: 2 }) + .send(:pagy_calendar, + Event.all, + year: {}, + pagy: { items: 600 }) _(calendar[:year].series).must_equal [1, "2", 3] _(calendar[:year].pages).must_equal 3 _(calendar[:year].prev).must_equal 1 _(calendar[:year].next).must_equal 3 - _(entries.to_a).must_rematch :entries_2 + _(entries.map(&:time)).must_rematch :entries_2 total += entries.size - calendar, _pagy, entries = app(params: { year_page: 3 }).send(:pagy_calendar, @collection, - year: {}, - pagy: { items: 600 }) + calendar, _pagy, entries = app(params: { year_page: 3 }) + .send(:pagy_calendar, + Event.all, + year: {}, + pagy: { items: 600 }) _(calendar[:year].series).must_equal [1, 2, '3'] _(calendar[:year].prev).must_equal 2 _(calendar[:year].next).must_be_nil - _(entries.to_a).must_rematch :entries_3 + _(entries.map(&:time)).must_rematch :entries_3 total += entries.size - _(total).must_equal @collection.size + _(total).must_equal Event.all.size end it 'selects :quarter for the first page' do - calendar, _pagy, entries = app(params: { quarter_page: 1 }).send(:pagy_calendar, @collection, - quarter: { size: [1, 4, 4, 1] }, - pagy: { items: 600 }) + calendar, _pagy, entries = app(params: { quarter_page: 1 }) + .send(:pagy_calendar, + Event.all, + quarter: { size: [1, 4, 4, 1] }, + pagy: { items: 600 }) _(calendar[:quarter].series).must_equal ["1", 2, 3, 4, 5, :gap, 9] _(calendar[:quarter].pages).must_equal 9 _(calendar[:quarter].prev).must_be_nil _(calendar[:quarter].next).must_equal 2 - _(entries.to_a).must_rematch :entries + _(entries.map(&:time)).must_rematch :entries end it 'selects :quarter for an intermediate page' do - calendar, _pagy, entries = app(params: { quarter_page: 4 }).send(:pagy_calendar, @collection, - quarter: { size: [1, 4, 4, 1] }, - pagy: { items: 600 }) + calendar, _pagy, entries = app(params: { quarter_page: 4 }) + .send(:pagy_calendar, + Event.all, + quarter: { size: [1, 4, 4, 1] }, + pagy: { items: 600 }) _(calendar[:quarter].series).must_equal [1, 2, 3, "4", 5, 6, 7, 8, 9] _(calendar[:quarter].pages).must_equal 9 _(calendar[:quarter].prev).must_equal 3 _(calendar[:quarter].next).must_equal 5 - _(entries.to_a).must_rematch :entries + _(entries.map(&:time)).must_rematch :entries end it 'selects :quarter for last page' do - calendar, _pagy, entries = app(params: { quarter_page: 9 }).send(:pagy_calendar, @collection, - quarter: { size: [1, 4, 4, 1] }, - pagy: { items: 600 }) + calendar, _pagy, entries = app(params: { quarter_page: 9 }) + .send(:pagy_calendar, + Event.all, + quarter: { size: [1, 4, 4, 1] }, + pagy: { items: 600 }) _(calendar[:quarter].series).must_equal [1, :gap, 5, 6, 7, 8, "9"] _(calendar[:quarter].pages).must_equal 9 _(calendar[:quarter].prev).must_equal 8 _(calendar[:quarter].next).must_be_nil - _(entries.to_a).must_rematch :entries + _(entries.map(&:time)).must_rematch :entries end it 'selects :month for the first page' do - calendar, _pagy, entries = app(params: { month_page: 1 }).send(:pagy_calendar, @collection, - month: { size: [1, 4, 4, 1] }, - pagy: { items: 600 }) + calendar, _pagy, entries = app(params: { month_page: 1 }) + .send(:pagy_calendar, + Event.all, + month: { size: [1, 4, 4, 1] }, + pagy: { items: 600 }) _(calendar[:month].series).must_equal ["1", 2, 3, 4, 5, :gap, 26] _(calendar[:month].pages).must_equal 26 _(calendar[:month].prev).must_be_nil _(calendar[:month].next).must_equal 2 - _(entries.to_a).must_rematch :entries + _(entries.map(&:time)).must_rematch :entries end it 'selects :month for an intermediate page' do - calendar, _pagy, entries = app(params: { month_page: 25 }).send(:pagy_calendar, @collection, - month: { size: [1, 4, 4, 1] }, - pagy: { items: 600 }) + calendar, _pagy, entries = app(params: { month_page: 25 }) + .send(:pagy_calendar, + Event.all, + month: { size: [1, 4, 4, 1] }, + pagy: { items: 600 }) _(calendar[:month].series).must_equal [1, :gap, 21, 22, 23, 24, '25', 26] _(calendar[:month].prev).must_equal 24 _(calendar[:month].next).must_equal 26 - _(entries.to_a).must_rematch :entries + _(entries.map(&:time)).must_rematch :entries end it 'selects :month for the last page' do - calendar, _pagy, entries = app(params: { month_page: 26 }).send(:pagy_calendar, @collection, - month: { size: [1, 4, 4, 1]}, - pagy: { items: 600 }) + calendar, _pagy, entries = app(params: { month_page: 26 }) + .send(:pagy_calendar, + Event.all, + month: { size: [1, 4, 4, 1]}, + pagy: { items: 600 }) _(calendar[:month].series).must_equal [1, :gap, 22, 23, 24, 25, '26'] _(calendar[:month].prev).must_equal 25 _(calendar[:month].next).must_be_nil - _(entries.to_a).must_rematch :entries + _(entries.map(&:time)).must_rematch :entries end it 'selects :week for the first page' do - calendar, _pagy, entries = app(params: { week_page: 1 }).send(:pagy_calendar, @collection, - week: { first_weekday: :sunday, - size: [1, 4, 4, 1]}, - pagy: { items: 600 }) + calendar, _pagy, entries = app(params: { week_page: 1 }) + .send(:pagy_calendar, + Event.all, + week: { first_weekday: :sunday, + size: [1, 4, 4, 1]}, + pagy: { items: 600 }) _(calendar[:week].series).must_equal ["1", 2, 3, 4, 5, :gap, 109] _(calendar[:week].pages).must_equal 109 _(calendar[:week].prev).must_be_nil _(calendar[:week].next).must_equal 2 - _(entries.to_a).must_rematch :entries + _(entries.map(&:time)).must_rematch :entries end it 'selects :week for an intermediate page' do - calendar, _pagy, entries = app(params: { week_page: 25 }).send(:pagy_calendar, @collection, - week: { first_weekday: :sunday, - size: [1, 4, 4, 1] }, - pagy: { items: 600 }) + calendar, _pagy, entries = app(params: { week_page: 25 }) + .send(:pagy_calendar, + Event.all, + week: { first_weekday: :sunday, + size: [1, 4, 4, 1] }, + pagy: { items: 600 }) _(calendar[:week].series).must_equal [1, :gap, 21, 22, 23, 24, "25", 26, 27, 28, 29, :gap, 109] _(calendar[:week].prev).must_equal 24 _(calendar[:week].next).must_equal 26 - _(entries.to_a).must_rematch :entries + _(entries.map(&:time)).must_rematch :entries end it 'selects :week for the last page' do - calendar, _pagy, entries = app(params: { week_page: 109 }).send(:pagy_calendar, @collection, - week: { first_weekday: :sunday, - size: [1, 4, 4, 1]}, - pagy: { items: 600 }) + calendar, _pagy, entries = app(params: { week_page: 109 }) + .send(:pagy_calendar, + Event.all, + week: { first_weekday: :sunday, + size: [1, 4, 4, 1]}, + pagy: { items: 600 }) _(calendar[:week].series).must_equal [1, :gap, 105, 106, 107, 108, "109"] _(calendar[:week].prev).must_equal 108 _(calendar[:week].next).must_be_nil - _(entries.to_a).must_rematch :entries + _(entries.map(&:time)).must_rematch :entries end it 'selects :day for the first page' do - collection = MockCollection::Calendar.new(@collection[0, 40]) - calendar, _pagy, entries = app(params: { day_page: 1 }).send(:pagy_calendar, collection, - day: { size: [1, 4, 4, 1] }, - pagy: { items: 600 }) - + calendar, _pagy, entries = app(params: { day_page: 1 }) + .send(:pagy_calendar, + Event40.all, + day: { size: [1, 4, 4, 1] }, + pagy: { items: 600 }) _(calendar[:day].series).must_equal ["1", 2, 3, 4, 5, :gap, 60] _(calendar[:day].pages).must_equal 60 _(calendar[:day].prev).must_be_nil _(calendar[:day].next).must_equal 2 - _(entries.to_a).must_rematch :entries + _(entries.map(&:time)).must_rematch :entries end it 'selects :day for an intermediate page' do - collection = MockCollection::Calendar.new(@collection[0, 40]) - calendar, _pagy, entries = app(params: { day_page: 25 }).send(:pagy_calendar, collection, - day: { size: [1, 4, 4, 1] }, - pagy: { items: 600 }) + calendar, _pagy, entries = app(params: { day_page: 25 }) + .send(:pagy_calendar, + Event40.all, + day: { size: [1, 4, 4, 1] }, + pagy: { items: 600 }) _(calendar[:day].series).must_equal [1, :gap, 21, 22, 23, 24, "25", 26, 27, 28, 29, :gap, 60] _(calendar[:day].prev).must_equal 24 _(calendar[:day].next).must_equal 26 - _(entries.to_a).must_rematch :entries + _(entries.map(&:time)).must_rematch :entries end it 'selects :day for the last page' do - collection = MockCollection::Calendar.new(@collection[0, 40]) - calendar, _pagy, entries = app(params: { day_page: 60 }).send(:pagy_calendar, collection, - day: { size: [1, 4, 4, 1]}, - pagy: { items: 600 }) + calendar, _pagy, entries = app(params: { day_page: 60 }) + .send(:pagy_calendar, + Event40.all, + day: { size: [1, 4, 4, 1] }, + pagy: { items: 600 }) _(calendar[:day].series).must_equal [1, :gap, 56, 57, 58, 59, "60"] _(calendar[:day].prev).must_equal 59 _(calendar[:day].next).must_be_nil - _(entries.to_a).must_rematch :entries + _(entries.map(&:time)).must_rematch :entries + end + it 'runs multiple units' do + calendar, pagy, entries = app(params: { year_page: 2, month_page: 7, page: 2 }) + .send(:pagy_calendar, + Event.all, year: {}, + month: {}, + pagy: { items: 10 }) + _(calendar[:year].series).must_equal [1, "2", 3] + _(calendar[:month].series).must_equal [1, 2, 3, 4, 5, 6, "7", 8, 9, 10, 11, 12] + _(pagy.series).must_equal [1, "2", 3] + _(entries.map(&:time)).must_rematch :entries end - end - it 'runs multiple units' do - collection = MockCollection::Calendar.new(@collection) - calendar, pagy, entries = app(params: { year_page: 2, month_page: 7, page: 2 }) - .send(:pagy_calendar, collection, year: {}, - month: {}, - pagy: { items: 10 }) - _(calendar[:year].series).must_equal [1, "2", 3] - _(calendar[:month].series).must_equal [1, 2, 3, 4, 5, 6, "7", 8, 9, 10, 11, 12] - _(pagy.series).must_equal [1, "2", 3] - _(entries.to_a).must_rematch :entries end describe 'pagy_calendar_url_at' do it 'returns the url' do - collection = MockCollection::Calendar.new(@collection) calendar, _pagy, _entries = app(params: { year_page: 2, month_page: 7, page: 2 }) - .send(:pagy_calendar, collection, year: {}, - month: {}, - pagy: { items: 10 }) + .send(:pagy_calendar, + Event.all, + year: {}, + month: {}, + pagy: { items: 10 }) _(app.send(:pagy_calendar_url_at, calendar, Time.zone.local(2021, 12, 21))) .must_equal "/foo?page=1&year_page=1&month_page=3" @@ -246,13 +271,41 @@ def app(**opts) end describe "#showtime" do it "returns the showtime" do - collection = MockCollection::Calendar.new(@collection) calendar, _pagy, _entries = app(params: { year_page: 2, month_page: 7, page: 2 }) - .send(:pagy_calendar, collection, + .send(:pagy_calendar, Event.all, year: {}, month: {}, pagy: { items: 10 }) _(calendar.showtime).must_equal Time.zone.local(2022, 7, 1) end end + describe "Counts feature" do + [MockApp::CalendarCounts, MockApp::CalendarCountsSkip].each do |c| + it "works with #{c}" do + app_counts = c.new(params: { year_page: 2, + month_page: 7, + day_page: 4, + page: 1 }) + calendar, _pagy, _entries = app_counts.send(:pagy_calendar, + Event.all, + year: {}, + month: {}, + day: {}, + pagy: { items: 10 }) + _(app_counts.pagy_nav(calendar[:year])).must_rematch :year + _(app_counts.pagy_nav(calendar[:month])).must_rematch :month + _(app_counts.pagy_nav(calendar[:day])).must_rematch :day + end + end + it 'works with anchor_string' do + c = MockApp::CalendarCounts + app_counts = c.new(params: { year_page: 2, + page: 1 }) + calendar, _pagy, _entries = app_counts.send(:pagy_calendar, + Event.all, + year: {anchor_string: 'data-foo="bar"'}, + pagy: { items: 10 }) + _(app_counts.pagy_nav(calendar[:year])).must_rematch :year + end + end end diff --git a/test/pagy/extras/calendar_extra_test.rb.rematch b/test/pagy/extras/calendar_extra_test.rb.rematch index 529c377a7..06d247347 100644 --- a/test/pagy/extras/calendar_extra_test.rb.rematch +++ b/test/pagy/extras/calendar_extra_test.rb.rematch @@ -1,2898 +1,837 @@ --- -pagy/extras/calendar#test_0001_runs multiple units: - :entries: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-16 15:40:39.000000000 Z - zone: &1 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2022-07-16 15:40:39.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-17 19:44:15.000000000 Z - zone: *1 - time: 2022-07-17 19:44:15.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-19 00:31:12.000000000 Z - zone: *1 - time: 2022-07-19 00:31:12.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-21 21:58:24.000000000 Z - zone: *1 - time: 2022-07-21 21:58:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-22 05:25:48.000000000 Z - zone: *1 - time: 2022-07-22 05:25:48.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-22 18:33:04.000000000 Z - zone: *1 - time: 2022-07-22 18:33:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-24 07:42:24.000000000 Z - zone: *1 - time: 2022-07-24 07:42:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-25 07:21:20.000000000 Z - zone: *1 - time: 2022-07-25 07:21:20.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-27 12:02:44.000000000 Z - zone: *1 - time: 2022-07-27 12:02:44.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-29 03:29:28.000000000 Z - zone: *1 - time: 2022-07-29 03:29:28.000000000 Z -pagy/extras/calendar::instance methods#test_0013_selects :week for the first page: - :entries: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-21 13:18:23.000000000 Z - zone: &2 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2021-10-21 13:18:23.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-21 23:14:50.000000000 Z - zone: *2 - time: 2021-10-21 23:14:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-23 01:06:02.000000000 Z - zone: *2 - time: 2021-10-23 01:06:02.000000000 Z -pagy/extras/calendar::instance methods#test_0007_selects :quarter for the first page: - :entries: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-21 13:18:23.000000000 Z - zone: &3 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2021-10-21 13:18:23.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-21 23:14:50.000000000 Z - zone: *3 - time: 2021-10-21 23:14:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-23 01:06:02.000000000 Z - zone: *3 - time: 2021-10-23 01:06:02.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-25 18:54:35.000000000 Z - zone: *3 - time: 2021-10-25 18:54:35.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-26 02:22:17.000000000 Z - zone: *3 - time: 2021-10-26 02:22:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-28 22:59:49.000000000 Z - zone: *3 - time: 2021-10-28 22:59:49.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-30 15:02:25.000000000 Z - zone: *3 - time: 2021-10-30 15:02:25.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-02 04:03:39.000000000 Z - zone: *3 - time: 2021-11-02 04:03:39.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-04 22:41:23.000000000 Z - zone: *3 - time: 2021-11-04 22:41:23.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-06 00:34:29.000000000 Z - zone: *3 - time: 2021-11-06 00:34:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-06 23:56:16.000000000 Z - zone: *3 - time: 2021-11-06 23:56:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-07 06:22:04.000000000 Z - zone: *3 - time: 2021-11-07 06:22:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-07 19:46:08.000000000 Z - zone: *3 - time: 2021-11-07 19:46:08.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-08 09:31:13.000000000 Z - zone: *3 - time: 2021-11-08 09:31:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-09 17:22:03.000000000 Z - zone: *3 - time: 2021-11-09 17:22:03.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-11 05:29:54.000000000 Z - zone: *3 - time: 2021-11-11 05:29:54.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-13 09:41:04.000000000 Z - zone: *3 - time: 2021-11-13 09:41:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-16 07:48:22.000000000 Z - zone: *3 - time: 2021-11-16 07:48:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-16 12:43:44.000000000 Z - zone: *3 - time: 2021-11-16 12:43:44.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-17 16:03:07.000000000 Z - zone: *3 - time: 2021-11-17 16:03:07.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-20 02:39:01.000000000 Z - zone: *3 - time: 2021-11-20 02:39:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-21 02:01:24.000000000 Z - zone: *3 - time: 2021-11-21 02:01:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-23 19:24:43.000000000 Z - zone: *3 - time: 2021-11-23 19:24:43.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-26 11:47:22.000000000 Z - zone: *3 - time: 2021-11-26 11:47:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-28 06:30:04.000000000 Z - zone: *3 - time: 2021-11-28 06:30:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-01 00:13:55.000000000 Z - zone: *3 - time: 2021-12-01 00:13:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-03 19:10:16.000000000 Z - zone: *3 - time: 2021-12-03 19:10:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-04 00:43:47.000000000 Z - zone: *3 - time: 2021-12-04 00:43:47.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-06 20:15:35.000000000 Z - zone: *3 - time: 2021-12-06 20:15:35.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-09 16:27:07.000000000 Z - zone: *3 - time: 2021-12-09 16:27:07.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-10 15:28:48.000000000 Z - zone: *3 - time: 2021-12-10 15:28:48.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-10 23:08:16.000000000 Z - zone: *3 - time: 2021-12-10 23:08:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-11 23:09:08.000000000 Z - zone: *3 - time: 2021-12-11 23:09:08.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-14 04:56:58.000000000 Z - zone: *3 - time: 2021-12-14 04:56:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-14 14:00:56.000000000 Z - zone: *3 - time: 2021-12-14 14:00:56.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-15 22:58:51.000000000 Z - zone: *3 - time: 2021-12-15 22:58:51.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-16 01:28:21.000000000 Z - zone: *3 - time: 2021-12-16 01:28:21.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-16 20:16:54.000000000 Z - zone: *3 - time: 2021-12-16 20:16:54.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-19 00:34:04.000000000 Z - zone: *3 - time: 2021-12-19 00:34:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-19 06:58:41.000000000 Z - zone: *3 - time: 2021-12-19 06:58:41.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-21 11:13:53.000000000 Z - zone: *3 - time: 2021-12-21 11:13:53.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-23 07:28:50.000000000 Z - zone: *3 - time: 2021-12-23 07:28:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-23 07:57:58.000000000 Z - zone: *3 - time: 2021-12-23 07:57:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-23 18:32:13.000000000 Z - zone: *3 - time: 2021-12-23 18:32:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-24 01:17:51.000000000 Z - zone: *3 - time: 2021-12-24 01:17:51.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-25 05:36:16.000000000 Z - zone: *3 - time: 2021-12-25 05:36:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-25 23:21:57.000000000 Z - zone: *3 - time: 2021-12-25 23:21:57.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-27 12:18:57.000000000 Z - zone: *3 - time: 2021-12-27 12:18:57.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-28 16:59:57.000000000 Z - zone: *3 - time: 2021-12-28 16:59:57.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-31 15:10:23.000000000 Z - zone: *3 - time: 2021-12-31 15:10:23.000000000 Z -pagy/extras/calendar::instance methods#test_0012_selects :month for the last page: - :entries: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-02 02:52:55.000000000 Z - zone: &4 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2023-11-02 02:52:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-02 06:00:32.000000000 Z - zone: *4 - time: 2023-11-02 06:00:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-03 08:39:06.000000000 Z - zone: *4 - time: 2023-11-03 08:39:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-04 23:51:22.000000000 Z - zone: *4 - time: 2023-11-04 23:51:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-07 16:11:33.000000000 Z - zone: *4 - time: 2023-11-07 16:11:33.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-10 10:55:29.000000000 Z - zone: *4 - time: 2023-11-10 10:55:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 01:20:18.000000000 Z - zone: *4 - time: 2023-11-12 01:20:18.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 04:22:50.000000000 Z - zone: *4 - time: 2023-11-12 04:22:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 08:38:58.000000000 Z - zone: *4 - time: 2023-11-12 08:38:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-13 15:43:40.000000000 Z - zone: *4 - time: 2023-11-13 15:43:40.000000000 Z pagy/extras/calendar::instance methods#test_0016_selects :day for the first page: :entries: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-21 13:18:23.000000000 Z - zone: &5 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2021-10-21 13:18:23.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-21 23:14:50.000000000 Z - zone: *5 - time: 2021-10-21 23:14:50.000000000 Z -pagy/extras/calendar::instance methods#test_0014_selects :week for an intermediate page: - :entries: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-03 18:27:19.000000000 Z - zone: &6 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2022-04-03 18:27:19.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-03 23:44:08.000000000 Z - zone: *6 - time: 2022-04-03 23:44:08.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-06 10:59:32.000000000 Z - zone: *6 - time: 2022-04-06 10:59:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-07 01:33:53.000000000 Z - zone: *6 - time: 2022-04-07 01:33:53.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-08 10:26:34.000000000 Z - zone: *6 - time: 2022-04-08 10:26:34.000000000 Z + - 2021-10-21 13:18:23.000000000 Z + - 2021-10-21 23:14:50.000000000 Z pagy/extras/calendar::instance methods#test_0011_selects :month for an intermediate page: :entries: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-01 11:54:24.000000000 Z - zone: &7 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2023-10-01 11:54:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-03 07:36:32.000000000 Z - zone: *7 - time: 2023-10-03 07:36:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-05 05:13:57.000000000 Z - zone: *7 - time: 2023-10-05 05:13:57.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-06 16:07:06.000000000 Z - zone: *7 - time: 2023-10-06 16:07:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-09 00:03:52.000000000 Z - zone: *7 - time: 2023-10-09 00:03:52.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-09 02:32:01.000000000 Z - zone: *7 - time: 2023-10-09 02:32:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-10 16:39:07.000000000 Z - zone: *7 - time: 2023-10-10 16:39:07.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-12 13:28:16.000000000 Z - zone: *7 - time: 2023-10-12 13:28:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-14 04:29:14.000000000 Z - zone: *7 - time: 2023-10-14 04:29:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-17 03:30:24.000000000 Z - zone: *7 - time: 2023-10-17 03:30:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-20 03:13:15.000000000 Z - zone: *7 - time: 2023-10-20 03:13:15.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-20 20:47:06.000000000 Z - zone: *7 - time: 2023-10-20 20:47:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-21 13:59:34.000000000 Z - zone: *7 - time: 2023-10-21 13:59:34.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-23 21:38:48.000000000 Z - zone: *7 - time: 2023-10-23 21:38:48.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-24 06:07:13.000000000 Z - zone: *7 - time: 2023-10-24 06:07:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-25 22:51:17.000000000 Z - zone: *7 - time: 2023-10-25 22:51:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-26 21:12:50.000000000 Z - zone: *7 - time: 2023-10-26 21:12:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-28 05:52:20.000000000 Z - zone: *7 - time: 2023-10-28 05:52:20.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-29 22:11:01.000000000 Z - zone: *7 - time: 2023-10-29 22:11:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-30 12:29:25.000000000 Z - zone: *7 - time: 2023-10-30 12:29:25.000000000 Z -pagy/extras/calendar::instance methods#test_0009_selects :quarter for last page: - :entries: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-01 11:54:24.000000000 Z - zone: &8 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2023-10-01 11:54:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-03 07:36:32.000000000 Z - zone: *8 - time: 2023-10-03 07:36:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-05 05:13:57.000000000 Z - zone: *8 - time: 2023-10-05 05:13:57.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-06 16:07:06.000000000 Z - zone: *8 - time: 2023-10-06 16:07:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-09 00:03:52.000000000 Z - zone: *8 - time: 2023-10-09 00:03:52.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-09 02:32:01.000000000 Z - zone: *8 - time: 2023-10-09 02:32:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-10 16:39:07.000000000 Z - zone: *8 - time: 2023-10-10 16:39:07.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-12 13:28:16.000000000 Z - zone: *8 - time: 2023-10-12 13:28:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-14 04:29:14.000000000 Z - zone: *8 - time: 2023-10-14 04:29:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-17 03:30:24.000000000 Z - zone: *8 - time: 2023-10-17 03:30:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-20 03:13:15.000000000 Z - zone: *8 - time: 2023-10-20 03:13:15.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-20 20:47:06.000000000 Z - zone: *8 - time: 2023-10-20 20:47:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-21 13:59:34.000000000 Z - zone: *8 - time: 2023-10-21 13:59:34.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-23 21:38:48.000000000 Z - zone: *8 - time: 2023-10-23 21:38:48.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-24 06:07:13.000000000 Z - zone: *8 - time: 2023-10-24 06:07:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-25 22:51:17.000000000 Z - zone: *8 - time: 2023-10-25 22:51:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-26 21:12:50.000000000 Z - zone: *8 - time: 2023-10-26 21:12:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-28 05:52:20.000000000 Z - zone: *8 - time: 2023-10-28 05:52:20.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-29 22:11:01.000000000 Z - zone: *8 - time: 2023-10-29 22:11:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-30 12:29:25.000000000 Z - zone: *8 - time: 2023-10-30 12:29:25.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-02 02:52:55.000000000 Z - zone: *8 - time: 2023-11-02 02:52:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-02 06:00:32.000000000 Z - zone: *8 - time: 2023-11-02 06:00:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-03 08:39:06.000000000 Z - zone: *8 - time: 2023-11-03 08:39:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-04 23:51:22.000000000 Z - zone: *8 - time: 2023-11-04 23:51:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-07 16:11:33.000000000 Z - zone: *8 - time: 2023-11-07 16:11:33.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-10 10:55:29.000000000 Z - zone: *8 - time: 2023-11-10 10:55:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 01:20:18.000000000 Z - zone: *8 - time: 2023-11-12 01:20:18.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 04:22:50.000000000 Z - zone: *8 - time: 2023-11-12 04:22:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 08:38:58.000000000 Z - zone: *8 - time: 2023-11-12 08:38:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-13 15:43:40.000000000 Z - zone: *8 - time: 2023-11-13 15:43:40.000000000 Z -pagy/extras/calendar::instance methods#test_0010_selects :month for the first page: + - 2023-10-01 11:54:24.000000000 Z + - 2023-10-03 07:36:32.000000000 Z + - 2023-10-05 05:13:57.000000000 Z + - 2023-10-06 16:07:06.000000000 Z + - 2023-10-09 00:03:52.000000000 Z + - 2023-10-09 02:32:01.000000000 Z + - 2023-10-10 16:39:07.000000000 Z + - 2023-10-12 13:28:16.000000000 Z + - 2023-10-14 04:29:14.000000000 Z + - 2023-10-17 03:30:24.000000000 Z + - 2023-10-20 03:13:15.000000000 Z + - 2023-10-20 20:47:06.000000000 Z + - 2023-10-21 13:59:34.000000000 Z + - 2023-10-23 21:38:48.000000000 Z + - 2023-10-24 06:07:13.000000000 Z + - 2023-10-25 22:51:17.000000000 Z + - 2023-10-26 21:12:50.000000000 Z + - 2023-10-28 05:52:20.000000000 Z + - 2023-10-29 22:11:01.000000000 Z + - 2023-10-30 12:29:25.000000000 Z +pagy/extras/calendar::instance methods#test_0013_selects :week for the first page: :entries: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-21 13:18:23.000000000 Z - zone: &9 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2021-10-21 13:18:23.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-21 23:14:50.000000000 Z - zone: *9 - time: 2021-10-21 23:14:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-23 01:06:02.000000000 Z - zone: *9 - time: 2021-10-23 01:06:02.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-25 18:54:35.000000000 Z - zone: *9 - time: 2021-10-25 18:54:35.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-26 02:22:17.000000000 Z - zone: *9 - time: 2021-10-26 02:22:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-28 22:59:49.000000000 Z - zone: *9 - time: 2021-10-28 22:59:49.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-30 15:02:25.000000000 Z - zone: *9 - time: 2021-10-30 15:02:25.000000000 Z + - 2021-10-21 13:18:23.000000000 Z + - 2021-10-21 23:14:50.000000000 Z + - 2021-10-23 01:06:02.000000000 Z pagy/extras/calendar::instance methods#test_0006_selects :year for the pages and check the total: :entries: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-21 13:18:23.000000000 Z - zone: &10 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2021-10-21 13:18:23.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-21 23:14:50.000000000 Z - zone: *10 - time: 2021-10-21 23:14:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-23 01:06:02.000000000 Z - zone: *10 - time: 2021-10-23 01:06:02.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-25 18:54:35.000000000 Z - zone: *10 - time: 2021-10-25 18:54:35.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-26 02:22:17.000000000 Z - zone: *10 - time: 2021-10-26 02:22:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-28 22:59:49.000000000 Z - zone: *10 - time: 2021-10-28 22:59:49.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-10-30 15:02:25.000000000 Z - zone: *10 - time: 2021-10-30 15:02:25.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-02 04:03:39.000000000 Z - zone: *10 - time: 2021-11-02 04:03:39.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-04 22:41:23.000000000 Z - zone: *10 - time: 2021-11-04 22:41:23.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-06 00:34:29.000000000 Z - zone: *10 - time: 2021-11-06 00:34:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-06 23:56:16.000000000 Z - zone: *10 - time: 2021-11-06 23:56:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-07 06:22:04.000000000 Z - zone: *10 - time: 2021-11-07 06:22:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-07 19:46:08.000000000 Z - zone: *10 - time: 2021-11-07 19:46:08.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-08 09:31:13.000000000 Z - zone: *10 - time: 2021-11-08 09:31:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-09 17:22:03.000000000 Z - zone: *10 - time: 2021-11-09 17:22:03.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-11 05:29:54.000000000 Z - zone: *10 - time: 2021-11-11 05:29:54.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-13 09:41:04.000000000 Z - zone: *10 - time: 2021-11-13 09:41:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-16 07:48:22.000000000 Z - zone: *10 - time: 2021-11-16 07:48:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-16 12:43:44.000000000 Z - zone: *10 - time: 2021-11-16 12:43:44.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-17 16:03:07.000000000 Z - zone: *10 - time: 2021-11-17 16:03:07.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-20 02:39:01.000000000 Z - zone: *10 - time: 2021-11-20 02:39:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-21 02:01:24.000000000 Z - zone: *10 - time: 2021-11-21 02:01:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-23 19:24:43.000000000 Z - zone: *10 - time: 2021-11-23 19:24:43.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-26 11:47:22.000000000 Z - zone: *10 - time: 2021-11-26 11:47:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-11-28 06:30:04.000000000 Z - zone: *10 - time: 2021-11-28 06:30:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-01 00:13:55.000000000 Z - zone: *10 - time: 2021-12-01 00:13:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-03 19:10:16.000000000 Z - zone: *10 - time: 2021-12-03 19:10:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-04 00:43:47.000000000 Z - zone: *10 - time: 2021-12-04 00:43:47.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-06 20:15:35.000000000 Z - zone: *10 - time: 2021-12-06 20:15:35.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-09 16:27:07.000000000 Z - zone: *10 - time: 2021-12-09 16:27:07.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-10 15:28:48.000000000 Z - zone: *10 - time: 2021-12-10 15:28:48.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-10 23:08:16.000000000 Z - zone: *10 - time: 2021-12-10 23:08:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-11 23:09:08.000000000 Z - zone: *10 - time: 2021-12-11 23:09:08.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-14 04:56:58.000000000 Z - zone: *10 - time: 2021-12-14 04:56:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-14 14:00:56.000000000 Z - zone: *10 - time: 2021-12-14 14:00:56.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-15 22:58:51.000000000 Z - zone: *10 - time: 2021-12-15 22:58:51.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-16 01:28:21.000000000 Z - zone: *10 - time: 2021-12-16 01:28:21.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-16 20:16:54.000000000 Z - zone: *10 - time: 2021-12-16 20:16:54.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-19 00:34:04.000000000 Z - zone: *10 - time: 2021-12-19 00:34:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-19 06:58:41.000000000 Z - zone: *10 - time: 2021-12-19 06:58:41.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-21 11:13:53.000000000 Z - zone: *10 - time: 2021-12-21 11:13:53.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-23 07:28:50.000000000 Z - zone: *10 - time: 2021-12-23 07:28:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-23 07:57:58.000000000 Z - zone: *10 - time: 2021-12-23 07:57:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-23 18:32:13.000000000 Z - zone: *10 - time: 2021-12-23 18:32:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-24 01:17:51.000000000 Z - zone: *10 - time: 2021-12-24 01:17:51.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-25 05:36:16.000000000 Z - zone: *10 - time: 2021-12-25 05:36:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-25 23:21:57.000000000 Z - zone: *10 - time: 2021-12-25 23:21:57.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-27 12:18:57.000000000 Z - zone: *10 - time: 2021-12-27 12:18:57.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-28 16:59:57.000000000 Z - zone: *10 - time: 2021-12-28 16:59:57.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-31 15:10:23.000000000 Z - zone: *10 - time: 2021-12-31 15:10:23.000000000 Z + - 2021-10-21 13:18:23.000000000 Z + - 2021-10-21 23:14:50.000000000 Z + - 2021-10-23 01:06:02.000000000 Z + - 2021-10-25 18:54:35.000000000 Z + - 2021-10-26 02:22:17.000000000 Z + - 2021-10-28 22:59:49.000000000 Z + - 2021-10-30 15:02:25.000000000 Z + - 2021-11-02 04:03:39.000000000 Z + - 2021-11-04 22:41:23.000000000 Z + - 2021-11-06 00:34:29.000000000 Z + - 2021-11-06 23:56:16.000000000 Z + - 2021-11-07 06:22:04.000000000 Z + - 2021-11-07 19:46:08.000000000 Z + - 2021-11-08 09:31:13.000000000 Z + - 2021-11-09 17:22:03.000000000 Z + - 2021-11-11 05:29:54.000000000 Z + - 2021-11-13 09:41:04.000000000 Z + - 2021-11-16 07:48:22.000000000 Z + - 2021-11-16 12:43:44.000000000 Z + - 2021-11-17 16:03:07.000000000 Z + - 2021-11-20 02:39:01.000000000 Z + - 2021-11-21 02:01:24.000000000 Z + - 2021-11-23 19:24:43.000000000 Z + - 2021-11-26 11:47:22.000000000 Z + - 2021-11-28 06:30:04.000000000 Z + - 2021-12-01 00:13:55.000000000 Z + - 2021-12-03 19:10:16.000000000 Z + - 2021-12-04 00:43:47.000000000 Z + - 2021-12-06 20:15:35.000000000 Z + - 2021-12-09 16:27:07.000000000 Z + - 2021-12-10 15:28:48.000000000 Z + - 2021-12-10 23:08:16.000000000 Z + - 2021-12-11 23:09:08.000000000 Z + - 2021-12-14 04:56:58.000000000 Z + - 2021-12-14 14:00:56.000000000 Z + - 2021-12-15 22:58:51.000000000 Z + - 2021-12-16 01:28:21.000000000 Z + - 2021-12-16 20:16:54.000000000 Z + - 2021-12-19 00:34:04.000000000 Z + - 2021-12-19 06:58:41.000000000 Z + - 2021-12-21 11:13:53.000000000 Z + - 2021-12-23 07:28:50.000000000 Z + - 2021-12-23 07:57:58.000000000 Z + - 2021-12-23 18:32:13.000000000 Z + - 2021-12-24 01:17:51.000000000 Z + - 2021-12-25 05:36:16.000000000 Z + - 2021-12-25 23:21:57.000000000 Z + - 2021-12-27 12:18:57.000000000 Z + - 2021-12-28 16:59:57.000000000 Z + - 2021-12-31 15:10:23.000000000 Z :entries_2: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-01 19:18:06.000000000 Z - zone: &11 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2022-01-01 19:18:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-03 08:36:27.000000000 Z - zone: *11 - time: 2022-01-03 08:36:27.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-03 23:31:01.000000000 Z - zone: *11 - time: 2022-01-03 23:31:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-05 02:14:57.000000000 Z - zone: *11 - time: 2022-01-05 02:14:57.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-06 09:26:03.000000000 Z - zone: *11 - time: 2022-01-06 09:26:03.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-07 20:22:22.000000000 Z - zone: *11 - time: 2022-01-07 20:22:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-10 04:04:28.000000000 Z - zone: *11 - time: 2022-01-10 04:04:28.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-11 17:17:55.000000000 Z - zone: *11 - time: 2022-01-11 17:17:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-14 05:21:54.000000000 Z - zone: *11 - time: 2022-01-14 05:21:54.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-16 01:18:58.000000000 Z - zone: *11 - time: 2022-01-16 01:18:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-18 08:42:56.000000000 Z - zone: *11 - time: 2022-01-18 08:42:56.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-19 00:45:04.000000000 Z - zone: *11 - time: 2022-01-19 00:45:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-20 08:18:54.000000000 Z - zone: *11 - time: 2022-01-20 08:18:54.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-22 05:26:38.000000000 Z - zone: *11 - time: 2022-01-22 05:26:38.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-24 10:57:50.000000000 Z - zone: *11 - time: 2022-01-24 10:57:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-26 09:47:02.000000000 Z - zone: *11 - time: 2022-01-26 09:47:02.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-28 20:44:30.000000000 Z - zone: *11 - time: 2022-01-28 20:44:30.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-01-31 16:19:50.000000000 Z - zone: *11 - time: 2022-01-31 16:19:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-01 21:23:58.000000000 Z - zone: *11 - time: 2022-02-01 21:23:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-04 14:41:57.000000000 Z - zone: *11 - time: 2022-02-04 14:41:57.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-06 20:40:06.000000000 Z - zone: *11 - time: 2022-02-06 20:40:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-07 23:03:50.000000000 Z - zone: *11 - time: 2022-02-07 23:03:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-09 05:28:08.000000000 Z - zone: *11 - time: 2022-02-09 05:28:08.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-10 02:19:12.000000000 Z - zone: *11 - time: 2022-02-10 02:19:12.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-11 07:51:30.000000000 Z - zone: *11 - time: 2022-02-11 07:51:30.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-12 13:46:16.000000000 Z - zone: *11 - time: 2022-02-12 13:46:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-13 21:06:40.000000000 Z - zone: *11 - time: 2022-02-13 21:06:40.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-15 11:37:50.000000000 Z - zone: *11 - time: 2022-02-15 11:37:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-18 11:23:15.000000000 Z - zone: *11 - time: 2022-02-18 11:23:15.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-20 08:01:49.000000000 Z - zone: *11 - time: 2022-02-20 08:01:49.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-23 03:00:30.000000000 Z - zone: *11 - time: 2022-02-23 03:00:30.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-24 21:52:25.000000000 Z - zone: *11 - time: 2022-02-24 21:52:25.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-25 12:07:56.000000000 Z - zone: *11 - time: 2022-02-25 12:07:56.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-27 04:20:20.000000000 Z - zone: *11 - time: 2022-02-27 04:20:20.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-02-28 21:09:42.000000000 Z - zone: *11 - time: 2022-02-28 21:09:42.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-02 23:35:41.000000000 Z - zone: *11 - time: 2022-03-02 23:35:41.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-04 00:42:10.000000000 Z - zone: *11 - time: 2022-03-04 00:42:10.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-05 00:59:10.000000000 Z - zone: *11 - time: 2022-03-05 00:59:10.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-06 19:58:01.000000000 Z - zone: *11 - time: 2022-03-06 19:58:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-07 07:48:09.000000000 Z - zone: *11 - time: 2022-03-07 07:48:09.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-09 06:08:00.000000000 Z - zone: *11 - time: 2022-03-09 06:08:00.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-10 05:45:08.000000000 Z - zone: *11 - time: 2022-03-10 05:45:08.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-12 21:16:31.000000000 Z - zone: *11 - time: 2022-03-12 21:16:31.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-15 08:17:44.000000000 Z - zone: *11 - time: 2022-03-15 08:17:44.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-16 03:37:03.000000000 Z - zone: *11 - time: 2022-03-16 03:37:03.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-18 05:07:54.000000000 Z - zone: *11 - time: 2022-03-18 05:07:54.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-20 04:05:26.000000000 Z - zone: *11 - time: 2022-03-20 04:05:26.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-22 10:52:33.000000000 Z - zone: *11 - time: 2022-03-22 10:52:33.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-23 15:26:54.000000000 Z - zone: *11 - time: 2022-03-23 15:26:54.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-24 09:01:04.000000000 Z - zone: *11 - time: 2022-03-24 09:01:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-24 23:53:07.000000000 Z - zone: *11 - time: 2022-03-24 23:53:07.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-27 13:45:17.000000000 Z - zone: *11 - time: 2022-03-27 13:45:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-28 19:57:00.000000000 Z - zone: *11 - time: 2022-03-28 19:57:00.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-29 15:42:35.000000000 Z - zone: *11 - time: 2022-03-29 15:42:35.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-03-29 18:20:32.000000000 Z - zone: *11 - time: 2022-03-29 18:20:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-01 15:35:47.000000000 Z - zone: *11 - time: 2022-04-01 15:35:47.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-02 06:33:31.000000000 Z - zone: *11 - time: 2022-04-02 06:33:31.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-03 18:27:19.000000000 Z - zone: *11 - time: 2022-04-03 18:27:19.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-03 23:44:08.000000000 Z - zone: *11 - time: 2022-04-03 23:44:08.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-06 10:59:32.000000000 Z - zone: *11 - time: 2022-04-06 10:59:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-07 01:33:53.000000000 Z - zone: *11 - time: 2022-04-07 01:33:53.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-08 10:26:34.000000000 Z - zone: *11 - time: 2022-04-08 10:26:34.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-10 19:21:08.000000000 Z - zone: *11 - time: 2022-04-10 19:21:08.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-12 01:50:04.000000000 Z - zone: *11 - time: 2022-04-12 01:50:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-14 19:56:29.000000000 Z - zone: *11 - time: 2022-04-14 19:56:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-15 09:08:22.000000000 Z - zone: *11 - time: 2022-04-15 09:08:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-16 07:58:47.000000000 Z - zone: *11 - time: 2022-04-16 07:58:47.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-17 16:31:40.000000000 Z - zone: *11 - time: 2022-04-17 16:31:40.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-20 09:50:22.000000000 Z - zone: *11 - time: 2022-04-20 09:50:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-23 04:24:22.000000000 Z - zone: *11 - time: 2022-04-23 04:24:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-25 07:18:04.000000000 Z - zone: *11 - time: 2022-04-25 07:18:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-27 16:57:48.000000000 Z - zone: *11 - time: 2022-04-27 16:57:48.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-29 18:48:09.000000000 Z - zone: *11 - time: 2022-04-29 18:48:09.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-04-29 20:30:25.000000000 Z - zone: *11 - time: 2022-04-29 20:30:25.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-02 03:44:25.000000000 Z - zone: *11 - time: 2022-05-02 03:44:25.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-03 15:27:57.000000000 Z - zone: *11 - time: 2022-05-03 15:27:57.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-04 08:11:15.000000000 Z - zone: *11 - time: 2022-05-04 08:11:15.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-07 00:42:14.000000000 Z - zone: *11 - time: 2022-05-07 00:42:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-09 15:23:31.000000000 Z - zone: *11 - time: 2022-05-09 15:23:31.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-10 19:11:49.000000000 Z - zone: *11 - time: 2022-05-10 19:11:49.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-11 14:04:17.000000000 Z - zone: *11 - time: 2022-05-11 14:04:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-14 12:09:34.000000000 Z - zone: *11 - time: 2022-05-14 12:09:34.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-15 13:31:54.000000000 Z - zone: *11 - time: 2022-05-15 13:31:54.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-17 21:21:37.000000000 Z - zone: *11 - time: 2022-05-17 21:21:37.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-19 01:27:43.000000000 Z - zone: *11 - time: 2022-05-19 01:27:43.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-21 04:34:59.000000000 Z - zone: *11 - time: 2022-05-21 04:34:59.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-23 11:05:18.000000000 Z - zone: *11 - time: 2022-05-23 11:05:18.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-23 19:14:50.000000000 Z - zone: *11 - time: 2022-05-23 19:14:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-26 13:16:18.000000000 Z - zone: *11 - time: 2022-05-26 13:16:18.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-27 11:39:35.000000000 Z - zone: *11 - time: 2022-05-27 11:39:35.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-29 07:09:07.000000000 Z - zone: *11 - time: 2022-05-29 07:09:07.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-05-30 15:13:23.000000000 Z - zone: *11 - time: 2022-05-30 15:13:23.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-01 04:18:40.000000000 Z - zone: *11 - time: 2022-06-01 04:18:40.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-01 11:11:51.000000000 Z - zone: *11 - time: 2022-06-01 11:11:51.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-01 12:45:06.000000000 Z - zone: *11 - time: 2022-06-01 12:45:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-03 07:08:31.000000000 Z - zone: *11 - time: 2022-06-03 07:08:31.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-04 23:28:11.000000000 Z - zone: *11 - time: 2022-06-04 23:28:11.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-07 12:14:01.000000000 Z - zone: *11 - time: 2022-06-07 12:14:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-08 13:32:22.000000000 Z - zone: *11 - time: 2022-06-08 13:32:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-10 18:56:37.000000000 Z - zone: *11 - time: 2022-06-10 18:56:37.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-12 16:00:09.000000000 Z - zone: *11 - time: 2022-06-12 16:00:09.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-15 13:28:55.000000000 Z - zone: *11 - time: 2022-06-15 13:28:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-16 18:42:37.000000000 Z - zone: *11 - time: 2022-06-16 18:42:37.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-17 00:36:21.000000000 Z - zone: *11 - time: 2022-06-17 00:36:21.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-18 16:21:27.000000000 Z - zone: *11 - time: 2022-06-18 16:21:27.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-20 13:50:27.000000000 Z - zone: *11 - time: 2022-06-20 13:50:27.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-22 09:43:55.000000000 Z - zone: *11 - time: 2022-06-22 09:43:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-25 09:43:17.000000000 Z - zone: *11 - time: 2022-06-25 09:43:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-27 06:51:01.000000000 Z - zone: *11 - time: 2022-06-27 06:51:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-28 09:10:53.000000000 Z - zone: *11 - time: 2022-06-28 09:10:53.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-06-30 18:46:16.000000000 Z - zone: *11 - time: 2022-06-30 18:46:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-01 16:05:14.000000000 Z - zone: *11 - time: 2022-07-01 16:05:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-02 14:02:12.000000000 Z - zone: *11 - time: 2022-07-02 14:02:12.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-05 11:08:11.000000000 Z - zone: *11 - time: 2022-07-05 11:08:11.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-05 12:44:38.000000000 Z - zone: *11 - time: 2022-07-05 12:44:38.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-08 03:55:17.000000000 Z - zone: *11 - time: 2022-07-08 03:55:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-08 18:02:14.000000000 Z - zone: *11 - time: 2022-07-08 18:02:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-09 09:41:17.000000000 Z - zone: *11 - time: 2022-07-09 09:41:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-11 07:34:51.000000000 Z - zone: *11 - time: 2022-07-11 07:34:51.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-13 05:11:19.000000000 Z - zone: *11 - time: 2022-07-13 05:11:19.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-15 02:46:56.000000000 Z - zone: *11 - time: 2022-07-15 02:46:56.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-16 15:40:39.000000000 Z - zone: *11 - time: 2022-07-16 15:40:39.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-17 19:44:15.000000000 Z - zone: *11 - time: 2022-07-17 19:44:15.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-19 00:31:12.000000000 Z - zone: *11 - time: 2022-07-19 00:31:12.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-21 21:58:24.000000000 Z - zone: *11 - time: 2022-07-21 21:58:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-22 05:25:48.000000000 Z - zone: *11 - time: 2022-07-22 05:25:48.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-22 18:33:04.000000000 Z - zone: *11 - time: 2022-07-22 18:33:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-24 07:42:24.000000000 Z - zone: *11 - time: 2022-07-24 07:42:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-25 07:21:20.000000000 Z - zone: *11 - time: 2022-07-25 07:21:20.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-27 12:02:44.000000000 Z - zone: *11 - time: 2022-07-27 12:02:44.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-29 03:29:28.000000000 Z - zone: *11 - time: 2022-07-29 03:29:28.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-29 11:35:43.000000000 Z - zone: *11 - time: 2022-07-29 11:35:43.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-30 05:25:21.000000000 Z - zone: *11 - time: 2022-07-30 05:25:21.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-30 19:39:10.000000000 Z - zone: *11 - time: 2022-07-30 19:39:10.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-31 18:54:58.000000000 Z - zone: *11 - time: 2022-07-31 18:54:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-03 11:18:44.000000000 Z - zone: *11 - time: 2022-08-03 11:18:44.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-05 00:37:47.000000000 Z - zone: *11 - time: 2022-08-05 00:37:47.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-05 12:08:08.000000000 Z - zone: *11 - time: 2022-08-05 12:08:08.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-07 14:39:19.000000000 Z - zone: *11 - time: 2022-08-07 14:39:19.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-08 09:52:59.000000000 Z - zone: *11 - time: 2022-08-08 09:52:59.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-09 13:48:29.000000000 Z - zone: *11 - time: 2022-08-09 13:48:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-11 19:03:04.000000000 Z - zone: *11 - time: 2022-08-11 19:03:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-13 01:56:49.000000000 Z - zone: *11 - time: 2022-08-13 01:56:49.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-15 11:33:09.000000000 Z - zone: *11 - time: 2022-08-15 11:33:09.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-17 23:37:45.000000000 Z - zone: *11 - time: 2022-08-17 23:37:45.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-19 00:47:19.000000000 Z - zone: *11 - time: 2022-08-19 00:47:19.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-19 01:01:12.000000000 Z - zone: *11 - time: 2022-08-19 01:01:12.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-21 07:37:55.000000000 Z - zone: *11 - time: 2022-08-21 07:37:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-21 21:42:15.000000000 Z - zone: *11 - time: 2022-08-21 21:42:15.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-23 10:55:39.000000000 Z - zone: *11 - time: 2022-08-23 10:55:39.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-25 16:20:29.000000000 Z - zone: *11 - time: 2022-08-25 16:20:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-27 06:28:14.000000000 Z - zone: *11 - time: 2022-08-27 06:28:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-27 13:12:57.000000000 Z - zone: *11 - time: 2022-08-27 13:12:57.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-28 23:00:13.000000000 Z - zone: *11 - time: 2022-08-28 23:00:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-31 05:19:56.000000000 Z - zone: *11 - time: 2022-08-31 05:19:56.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-02 18:00:18.000000000 Z - zone: *11 - time: 2022-09-02 18:00:18.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-04 12:02:47.000000000 Z - zone: *11 - time: 2022-09-04 12:02:47.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-06 00:57:21.000000000 Z - zone: *11 - time: 2022-09-06 00:57:21.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-08 04:26:01.000000000 Z - zone: *11 - time: 2022-09-08 04:26:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-09 04:55:45.000000000 Z - zone: *11 - time: 2022-09-09 04:55:45.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-11 22:59:36.000000000 Z - zone: *11 - time: 2022-09-11 22:59:36.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-12 00:54:25.000000000 Z - zone: *11 - time: 2022-09-12 00:54:25.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-12 17:44:24.000000000 Z - zone: *11 - time: 2022-09-12 17:44:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-12 20:47:30.000000000 Z - zone: *11 - time: 2022-09-12 20:47:30.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-15 11:39:20.000000000 Z - zone: *11 - time: 2022-09-15 11:39:20.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-16 07:54:15.000000000 Z - zone: *11 - time: 2022-09-16 07:54:15.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-17 08:06:29.000000000 Z - zone: *11 - time: 2022-09-17 08:06:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-18 07:17:17.000000000 Z - zone: *11 - time: 2022-09-18 07:17:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-19 08:39:55.000000000 Z - zone: *11 - time: 2022-09-19 08:39:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-22 06:32:56.000000000 Z - zone: *11 - time: 2022-09-22 06:32:56.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-22 21:26:29.000000000 Z - zone: *11 - time: 2022-09-22 21:26:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-24 16:06:50.000000000 Z - zone: *11 - time: 2022-09-24 16:06:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-27 05:50:18.000000000 Z - zone: *11 - time: 2022-09-27 05:50:18.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-28 12:12:13.000000000 Z - zone: *11 - time: 2022-09-28 12:12:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-29 21:13:01.000000000 Z - zone: *11 - time: 2022-09-29 21:13:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-30 00:09:29.000000000 Z - zone: *11 - time: 2022-09-30 00:09:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-02 04:35:07.000000000 Z - zone: *11 - time: 2022-10-02 04:35:07.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-02 16:30:20.000000000 Z - zone: *11 - time: 2022-10-02 16:30:20.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-04 10:35:59.000000000 Z - zone: *11 - time: 2022-10-04 10:35:59.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-04 23:39:37.000000000 Z - zone: *11 - time: 2022-10-04 23:39:37.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-07 23:25:10.000000000 Z - zone: *11 - time: 2022-10-07 23:25:10.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-08 20:31:14.000000000 Z - zone: *11 - time: 2022-10-08 20:31:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-09 07:30:41.000000000 Z - zone: *11 - time: 2022-10-09 07:30:41.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-11 07:29:41.000000000 Z - zone: *11 - time: 2022-10-11 07:29:41.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-11 08:00:58.000000000 Z - zone: *11 - time: 2022-10-11 08:00:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-14 03:22:26.000000000 Z - zone: *11 - time: 2022-10-14 03:22:26.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-16 14:47:54.000000000 Z - zone: *11 - time: 2022-10-16 14:47:54.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-17 00:28:32.000000000 Z - zone: *11 - time: 2022-10-17 00:28:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-19 10:46:33.000000000 Z - zone: *11 - time: 2022-10-19 10:46:33.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-21 02:39:31.000000000 Z - zone: *11 - time: 2022-10-21 02:39:31.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-21 19:24:24.000000000 Z - zone: *11 - time: 2022-10-21 19:24:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-23 05:38:26.000000000 Z - zone: *11 - time: 2022-10-23 05:38:26.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-25 13:28:28.000000000 Z - zone: *11 - time: 2022-10-25 13:28:28.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-26 20:26:31.000000000 Z - zone: *11 - time: 2022-10-26 20:26:31.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-29 12:43:40.000000000 Z - zone: *11 - time: 2022-10-29 12:43:40.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-10-31 11:21:43.000000000 Z - zone: *11 - time: 2022-10-31 11:21:43.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-03 04:42:32.000000000 Z - zone: *11 - time: 2022-11-03 04:42:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-04 20:26:28.000000000 Z - zone: *11 - time: 2022-11-04 20:26:28.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-05 15:08:01.000000000 Z - zone: *11 - time: 2022-11-05 15:08:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-06 10:55:38.000000000 Z - zone: *11 - time: 2022-11-06 10:55:38.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-07 04:13:28.000000000 Z - zone: *11 - time: 2022-11-07 04:13:28.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-08 03:42:59.000000000 Z - zone: *11 - time: 2022-11-08 03:42:59.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-10 13:56:10.000000000 Z - zone: *11 - time: 2022-11-10 13:56:10.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-13 13:01:38.000000000 Z - zone: *11 - time: 2022-11-13 13:01:38.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-15 02:04:32.000000000 Z - zone: *11 - time: 2022-11-15 02:04:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-17 09:10:48.000000000 Z - zone: *11 - time: 2022-11-17 09:10:48.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-19 11:37:01.000000000 Z - zone: *11 - time: 2022-11-19 11:37:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-20 06:15:33.000000000 Z - zone: *11 - time: 2022-11-20 06:15:33.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-22 08:35:41.000000000 Z - zone: *11 - time: 2022-11-22 08:35:41.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-24 20:42:50.000000000 Z - zone: *11 - time: 2022-11-24 20:42:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-25 17:45:48.000000000 Z - zone: *11 - time: 2022-11-25 17:45:48.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-28 06:16:15.000000000 Z - zone: *11 - time: 2022-11-28 06:16:15.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-28 18:12:24.000000000 Z - zone: *11 - time: 2022-11-28 18:12:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-11-30 20:09:46.000000000 Z - zone: *11 - time: 2022-11-30 20:09:46.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-01 03:29:43.000000000 Z - zone: *11 - time: 2022-12-01 03:29:43.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-02 03:58:02.000000000 Z - zone: *11 - time: 2022-12-02 03:58:02.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-02 19:47:06.000000000 Z - zone: *11 - time: 2022-12-02 19:47:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-04 14:54:02.000000000 Z - zone: *11 - time: 2022-12-04 14:54:02.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-06 02:22:58.000000000 Z - zone: *11 - time: 2022-12-06 02:22:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-06 09:29:06.000000000 Z - zone: *11 - time: 2022-12-06 09:29:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-06 17:16:19.000000000 Z - zone: *11 - time: 2022-12-06 17:16:19.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-09 14:10:12.000000000 Z - zone: *11 - time: 2022-12-09 14:10:12.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-11 19:54:41.000000000 Z - zone: *11 - time: 2022-12-11 19:54:41.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-11 23:48:45.000000000 Z - zone: *11 - time: 2022-12-11 23:48:45.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-12 12:05:28.000000000 Z - zone: *11 - time: 2022-12-12 12:05:28.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-12 21:37:48.000000000 Z - zone: *11 - time: 2022-12-12 21:37:48.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-15 05:08:10.000000000 Z - zone: *11 - time: 2022-12-15 05:08:10.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-16 19:06:39.000000000 Z - zone: *11 - time: 2022-12-16 19:06:39.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-18 21:49:36.000000000 Z - zone: *11 - time: 2022-12-18 21:49:36.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-20 00:54:09.000000000 Z - zone: *11 - time: 2022-12-20 00:54:09.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-22 21:51:31.000000000 Z - zone: *11 - time: 2022-12-22 21:51:31.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-25 08:40:02.000000000 Z - zone: *11 - time: 2022-12-25 08:40:02.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-26 22:01:45.000000000 Z - zone: *11 - time: 2022-12-26 22:01:45.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-12-29 18:46:07.000000000 Z - zone: *11 - time: 2022-12-29 18:46:07.000000000 Z + - 2022-01-01 19:18:06.000000000 Z + - 2022-01-03 08:36:27.000000000 Z + - 2022-01-03 23:31:01.000000000 Z + - 2022-01-05 02:14:57.000000000 Z + - 2022-01-06 09:26:03.000000000 Z + - 2022-01-07 20:22:22.000000000 Z + - 2022-01-10 04:04:28.000000000 Z + - 2022-01-11 17:17:55.000000000 Z + - 2022-01-14 05:21:54.000000000 Z + - 2022-01-16 01:18:58.000000000 Z + - 2022-01-18 08:42:56.000000000 Z + - 2022-01-19 00:45:04.000000000 Z + - 2022-01-20 08:18:54.000000000 Z + - 2022-01-22 05:26:38.000000000 Z + - 2022-01-24 10:57:50.000000000 Z + - 2022-01-26 09:47:02.000000000 Z + - 2022-01-28 20:44:30.000000000 Z + - 2022-01-31 16:19:50.000000000 Z + - 2022-02-01 21:23:58.000000000 Z + - 2022-02-04 14:41:57.000000000 Z + - 2022-02-06 20:40:06.000000000 Z + - 2022-02-07 23:03:50.000000000 Z + - 2022-02-09 05:28:08.000000000 Z + - 2022-02-10 02:19:12.000000000 Z + - 2022-02-11 07:51:30.000000000 Z + - 2022-02-12 13:46:16.000000000 Z + - 2022-02-13 21:06:40.000000000 Z + - 2022-02-15 11:37:50.000000000 Z + - 2022-02-18 11:23:15.000000000 Z + - 2022-02-20 08:01:49.000000000 Z + - 2022-02-23 03:00:30.000000000 Z + - 2022-02-24 21:52:25.000000000 Z + - 2022-02-25 12:07:56.000000000 Z + - 2022-02-27 04:20:20.000000000 Z + - 2022-02-28 21:09:42.000000000 Z + - 2022-03-02 23:35:41.000000000 Z + - 2022-03-04 00:42:10.000000000 Z + - 2022-03-05 00:59:10.000000000 Z + - 2022-03-06 19:58:01.000000000 Z + - 2022-03-07 07:48:09.000000000 Z + - 2022-03-09 06:08:00.000000000 Z + - 2022-03-10 05:45:08.000000000 Z + - 2022-03-12 21:16:31.000000000 Z + - 2022-03-15 08:17:44.000000000 Z + - 2022-03-16 03:37:03.000000000 Z + - 2022-03-18 05:07:54.000000000 Z + - 2022-03-20 04:05:26.000000000 Z + - 2022-03-22 10:52:33.000000000 Z + - 2022-03-23 15:26:54.000000000 Z + - 2022-03-24 09:01:04.000000000 Z + - 2022-03-24 23:53:07.000000000 Z + - 2022-03-27 13:45:17.000000000 Z + - 2022-03-28 19:57:00.000000000 Z + - 2022-03-29 15:42:35.000000000 Z + - 2022-03-29 18:20:32.000000000 Z + - 2022-04-01 15:35:47.000000000 Z + - 2022-04-02 06:33:31.000000000 Z + - 2022-04-03 18:27:19.000000000 Z + - 2022-04-03 23:44:08.000000000 Z + - 2022-04-06 10:59:32.000000000 Z + - 2022-04-07 01:33:53.000000000 Z + - 2022-04-08 10:26:34.000000000 Z + - 2022-04-10 19:21:08.000000000 Z + - 2022-04-12 01:50:04.000000000 Z + - 2022-04-14 19:56:29.000000000 Z + - 2022-04-15 09:08:22.000000000 Z + - 2022-04-16 07:58:47.000000000 Z + - 2022-04-17 16:31:40.000000000 Z + - 2022-04-20 09:50:22.000000000 Z + - 2022-04-23 04:24:22.000000000 Z + - 2022-04-25 07:18:04.000000000 Z + - 2022-04-27 16:57:48.000000000 Z + - 2022-04-29 18:48:09.000000000 Z + - 2022-04-29 20:30:25.000000000 Z + - 2022-05-02 03:44:25.000000000 Z + - 2022-05-03 15:27:57.000000000 Z + - 2022-05-04 08:11:15.000000000 Z + - 2022-05-07 00:42:14.000000000 Z + - 2022-05-09 15:23:31.000000000 Z + - 2022-05-10 19:11:49.000000000 Z + - 2022-05-11 14:04:17.000000000 Z + - 2022-05-14 12:09:34.000000000 Z + - 2022-05-15 13:31:54.000000000 Z + - 2022-05-17 21:21:37.000000000 Z + - 2022-05-19 01:27:43.000000000 Z + - 2022-05-21 04:34:59.000000000 Z + - 2022-05-23 11:05:18.000000000 Z + - 2022-05-23 19:14:50.000000000 Z + - 2022-05-26 13:16:18.000000000 Z + - 2022-05-27 11:39:35.000000000 Z + - 2022-05-29 07:09:07.000000000 Z + - 2022-05-30 15:13:23.000000000 Z + - 2022-06-01 04:18:40.000000000 Z + - 2022-06-01 11:11:51.000000000 Z + - 2022-06-01 12:45:06.000000000 Z + - 2022-06-03 07:08:31.000000000 Z + - 2022-06-04 23:28:11.000000000 Z + - 2022-06-07 12:14:01.000000000 Z + - 2022-06-08 13:32:22.000000000 Z + - 2022-06-10 18:56:37.000000000 Z + - 2022-06-12 16:00:09.000000000 Z + - 2022-06-15 13:28:55.000000000 Z + - 2022-06-16 18:42:37.000000000 Z + - 2022-06-17 00:36:21.000000000 Z + - 2022-06-18 16:21:27.000000000 Z + - 2022-06-20 13:50:27.000000000 Z + - 2022-06-22 09:43:55.000000000 Z + - 2022-06-25 09:43:17.000000000 Z + - 2022-06-27 06:51:01.000000000 Z + - 2022-06-28 09:10:53.000000000 Z + - 2022-06-30 18:46:16.000000000 Z + - 2022-07-01 16:05:14.000000000 Z + - 2022-07-02 14:02:12.000000000 Z + - 2022-07-05 11:08:11.000000000 Z + - 2022-07-05 12:44:38.000000000 Z + - 2022-07-08 03:55:17.000000000 Z + - 2022-07-08 18:02:14.000000000 Z + - 2022-07-09 09:41:17.000000000 Z + - 2022-07-11 07:34:51.000000000 Z + - 2022-07-13 05:11:19.000000000 Z + - 2022-07-15 02:46:56.000000000 Z + - 2022-07-16 15:40:39.000000000 Z + - 2022-07-17 19:44:15.000000000 Z + - 2022-07-19 00:31:12.000000000 Z + - 2022-07-21 21:58:24.000000000 Z + - 2022-07-22 05:25:48.000000000 Z + - 2022-07-22 18:33:04.000000000 Z + - 2022-07-24 07:42:24.000000000 Z + - 2022-07-25 07:21:20.000000000 Z + - 2022-07-27 12:02:44.000000000 Z + - 2022-07-29 03:29:28.000000000 Z + - 2022-07-29 11:35:43.000000000 Z + - 2022-07-30 05:25:21.000000000 Z + - 2022-07-30 19:39:10.000000000 Z + - 2022-07-31 18:54:58.000000000 Z + - 2022-08-03 11:18:44.000000000 Z + - 2022-08-05 00:37:47.000000000 Z + - 2022-08-05 12:08:08.000000000 Z + - 2022-08-07 14:39:19.000000000 Z + - 2022-08-08 09:52:59.000000000 Z + - 2022-08-09 13:48:29.000000000 Z + - 2022-08-11 19:03:04.000000000 Z + - 2022-08-13 01:56:49.000000000 Z + - 2022-08-15 11:33:09.000000000 Z + - 2022-08-17 23:37:45.000000000 Z + - 2022-08-19 00:47:19.000000000 Z + - 2022-08-19 01:01:12.000000000 Z + - 2022-08-21 07:37:55.000000000 Z + - 2022-08-21 21:42:15.000000000 Z + - 2022-08-23 10:55:39.000000000 Z + - 2022-08-25 16:20:29.000000000 Z + - 2022-08-27 06:28:14.000000000 Z + - 2022-08-27 13:12:57.000000000 Z + - 2022-08-28 23:00:13.000000000 Z + - 2022-08-31 05:19:56.000000000 Z + - 2022-09-02 18:00:18.000000000 Z + - 2022-09-04 12:02:47.000000000 Z + - 2022-09-06 00:57:21.000000000 Z + - 2022-09-08 04:26:01.000000000 Z + - 2022-09-09 04:55:45.000000000 Z + - 2022-09-11 22:59:36.000000000 Z + - 2022-09-12 00:54:25.000000000 Z + - 2022-09-12 17:44:24.000000000 Z + - 2022-09-12 20:47:30.000000000 Z + - 2022-09-15 11:39:20.000000000 Z + - 2022-09-16 07:54:15.000000000 Z + - 2022-09-17 08:06:29.000000000 Z + - 2022-09-18 07:17:17.000000000 Z + - 2022-09-19 08:39:55.000000000 Z + - 2022-09-22 06:32:56.000000000 Z + - 2022-09-22 21:26:29.000000000 Z + - 2022-09-24 16:06:50.000000000 Z + - 2022-09-27 05:50:18.000000000 Z + - 2022-09-28 12:12:13.000000000 Z + - 2022-09-29 21:13:01.000000000 Z + - 2022-09-30 00:09:29.000000000 Z + - 2022-10-02 04:35:07.000000000 Z + - 2022-10-02 16:30:20.000000000 Z + - 2022-10-04 10:35:59.000000000 Z + - 2022-10-04 23:39:37.000000000 Z + - 2022-10-07 23:25:10.000000000 Z + - 2022-10-08 20:31:14.000000000 Z + - 2022-10-09 07:30:41.000000000 Z + - 2022-10-11 07:29:41.000000000 Z + - 2022-10-11 08:00:58.000000000 Z + - 2022-10-14 03:22:26.000000000 Z + - 2022-10-16 14:47:54.000000000 Z + - 2022-10-17 00:28:32.000000000 Z + - 2022-10-19 10:46:33.000000000 Z + - 2022-10-21 02:39:31.000000000 Z + - 2022-10-21 19:24:24.000000000 Z + - 2022-10-23 05:38:26.000000000 Z + - 2022-10-25 13:28:28.000000000 Z + - 2022-10-26 20:26:31.000000000 Z + - 2022-10-29 12:43:40.000000000 Z + - 2022-10-31 11:21:43.000000000 Z + - 2022-11-03 04:42:32.000000000 Z + - 2022-11-04 20:26:28.000000000 Z + - 2022-11-05 15:08:01.000000000 Z + - 2022-11-06 10:55:38.000000000 Z + - 2022-11-07 04:13:28.000000000 Z + - 2022-11-08 03:42:59.000000000 Z + - 2022-11-10 13:56:10.000000000 Z + - 2022-11-13 13:01:38.000000000 Z + - 2022-11-15 02:04:32.000000000 Z + - 2022-11-17 09:10:48.000000000 Z + - 2022-11-19 11:37:01.000000000 Z + - 2022-11-20 06:15:33.000000000 Z + - 2022-11-22 08:35:41.000000000 Z + - 2022-11-24 20:42:50.000000000 Z + - 2022-11-25 17:45:48.000000000 Z + - 2022-11-28 06:16:15.000000000 Z + - 2022-11-28 18:12:24.000000000 Z + - 2022-11-30 20:09:46.000000000 Z + - 2022-12-01 03:29:43.000000000 Z + - 2022-12-02 03:58:02.000000000 Z + - 2022-12-02 19:47:06.000000000 Z + - 2022-12-04 14:54:02.000000000 Z + - 2022-12-06 02:22:58.000000000 Z + - 2022-12-06 09:29:06.000000000 Z + - 2022-12-06 17:16:19.000000000 Z + - 2022-12-09 14:10:12.000000000 Z + - 2022-12-11 19:54:41.000000000 Z + - 2022-12-11 23:48:45.000000000 Z + - 2022-12-12 12:05:28.000000000 Z + - 2022-12-12 21:37:48.000000000 Z + - 2022-12-15 05:08:10.000000000 Z + - 2022-12-16 19:06:39.000000000 Z + - 2022-12-18 21:49:36.000000000 Z + - 2022-12-20 00:54:09.000000000 Z + - 2022-12-22 21:51:31.000000000 Z + - 2022-12-25 08:40:02.000000000 Z + - 2022-12-26 22:01:45.000000000 Z + - 2022-12-29 18:46:07.000000000 Z :entries_3: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-01 01:55:31.000000000 Z - zone: &12 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2023-01-01 01:55:31.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-01 17:34:53.000000000 Z - zone: *12 - time: 2023-01-01 17:34:53.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-04 09:05:13.000000000 Z - zone: *12 - time: 2023-01-04 09:05:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-05 01:57:33.000000000 Z - zone: *12 - time: 2023-01-05 01:57:33.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-06 08:56:47.000000000 Z - zone: *12 - time: 2023-01-06 08:56:47.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-07 18:52:12.000000000 Z - zone: *12 - time: 2023-01-07 18:52:12.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-08 00:43:40.000000000 Z - zone: *12 - time: 2023-01-08 00:43:40.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-10 13:28:23.000000000 Z - zone: *12 - time: 2023-01-10 13:28:23.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-13 10:22:38.000000000 Z - zone: *12 - time: 2023-01-13 10:22:38.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-15 01:43:06.000000000 Z - zone: *12 - time: 2023-01-15 01:43:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-15 04:30:52.000000000 Z - zone: *12 - time: 2023-01-15 04:30:52.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-16 23:13:04.000000000 Z - zone: *12 - time: 2023-01-16 23:13:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-19 17:16:31.000000000 Z - zone: *12 - time: 2023-01-19 17:16:31.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-21 09:25:58.000000000 Z - zone: *12 - time: 2023-01-21 09:25:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-23 09:42:42.000000000 Z - zone: *12 - time: 2023-01-23 09:42:42.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-24 11:13:59.000000000 Z - zone: *12 - time: 2023-01-24 11:13:59.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-25 00:57:26.000000000 Z - zone: *12 - time: 2023-01-25 00:57:26.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-27 10:31:18.000000000 Z - zone: *12 - time: 2023-01-27 10:31:18.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-28 07:08:54.000000000 Z - zone: *12 - time: 2023-01-28 07:08:54.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-28 09:46:16.000000000 Z - zone: *12 - time: 2023-01-28 09:46:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-30 04:34:32.000000000 Z - zone: *12 - time: 2023-01-30 04:34:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-30 05:30:26.000000000 Z - zone: *12 - time: 2023-01-30 05:30:26.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-01-31 08:08:44.000000000 Z - zone: *12 - time: 2023-01-31 08:08:44.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-03 01:02:02.000000000 Z - zone: *12 - time: 2023-02-03 01:02:02.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-03 10:02:38.000000000 Z - zone: *12 - time: 2023-02-03 10:02:38.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-05 02:22:53.000000000 Z - zone: *12 - time: 2023-02-05 02:22:53.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-05 05:55:46.000000000 Z - zone: *12 - time: 2023-02-05 05:55:46.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-07 06:18:28.000000000 Z - zone: *12 - time: 2023-02-07 06:18:28.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-08 13:57:28.000000000 Z - zone: *12 - time: 2023-02-08 13:57:28.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-08 17:53:12.000000000 Z - zone: *12 - time: 2023-02-08 17:53:12.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-10 08:40:27.000000000 Z - zone: *12 - time: 2023-02-10 08:40:27.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-10 10:28:23.000000000 Z - zone: *12 - time: 2023-02-10 10:28:23.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-12 15:42:42.000000000 Z - zone: *12 - time: 2023-02-12 15:42:42.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-14 06:11:35.000000000 Z - zone: *12 - time: 2023-02-14 06:11:35.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-14 12:22:06.000000000 Z - zone: *12 - time: 2023-02-14 12:22:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-16 14:43:29.000000000 Z - zone: *12 - time: 2023-02-16 14:43:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-16 15:58:19.000000000 Z - zone: *12 - time: 2023-02-16 15:58:19.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-17 08:36:37.000000000 Z - zone: *12 - time: 2023-02-17 08:36:37.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-19 04:20:36.000000000 Z - zone: *12 - time: 2023-02-19 04:20:36.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-21 03:27:07.000000000 Z - zone: *12 - time: 2023-02-21 03:27:07.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-22 09:09:23.000000000 Z - zone: *12 - time: 2023-02-22 09:09:23.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-24 10:19:14.000000000 Z - zone: *12 - time: 2023-02-24 10:19:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-26 13:28:50.000000000 Z - zone: *12 - time: 2023-02-26 13:28:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-02-27 15:33:38.000000000 Z - zone: *12 - time: 2023-02-27 15:33:38.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-01 14:48:42.000000000 Z - zone: *12 - time: 2023-03-01 14:48:42.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-02 19:17:52.000000000 Z - zone: *12 - time: 2023-03-02 19:17:52.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-03 09:48:41.000000000 Z - zone: *12 - time: 2023-03-03 09:48:41.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-04 12:44:18.000000000 Z - zone: *12 - time: 2023-03-04 12:44:18.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-06 18:24:47.000000000 Z - zone: *12 - time: 2023-03-06 18:24:47.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-09 13:55:36.000000000 Z - zone: *12 - time: 2023-03-09 13:55:36.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-11 13:50:26.000000000 Z - zone: *12 - time: 2023-03-11 13:50:26.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-14 05:57:47.000000000 Z - zone: *12 - time: 2023-03-14 05:57:47.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-14 09:16:38.000000000 Z - zone: *12 - time: 2023-03-14 09:16:38.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-14 12:34:22.000000000 Z - zone: *12 - time: 2023-03-14 12:34:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-14 15:15:53.000000000 Z - zone: *12 - time: 2023-03-14 15:15:53.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-16 18:34:04.000000000 Z - zone: *12 - time: 2023-03-16 18:34:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-19 13:01:38.000000000 Z - zone: *12 - time: 2023-03-19 13:01:38.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-19 15:24:32.000000000 Z - zone: *12 - time: 2023-03-19 15:24:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-20 14:56:28.000000000 Z - zone: *12 - time: 2023-03-20 14:56:28.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-21 12:32:45.000000000 Z - zone: *12 - time: 2023-03-21 12:32:45.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-23 22:16:22.000000000 Z - zone: *12 - time: 2023-03-23 22:16:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-24 01:05:24.000000000 Z - zone: *12 - time: 2023-03-24 01:05:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-26 12:01:36.000000000 Z - zone: *12 - time: 2023-03-26 12:01:36.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-03-29 07:45:17.000000000 Z - zone: *12 - time: 2023-03-29 07:45:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-01 06:03:31.000000000 Z - zone: *12 - time: 2023-04-01 06:03:31.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-02 20:45:43.000000000 Z - zone: *12 - time: 2023-04-02 20:45:43.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-03 05:33:10.000000000 Z - zone: *12 - time: 2023-04-03 05:33:10.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-03 16:15:11.000000000 Z - zone: *12 - time: 2023-04-03 16:15:11.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-05 14:56:49.000000000 Z - zone: *12 - time: 2023-04-05 14:56:49.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-06 22:21:46.000000000 Z - zone: *12 - time: 2023-04-06 22:21:46.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-08 19:50:51.000000000 Z - zone: *12 - time: 2023-04-08 19:50:51.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-09 06:14:30.000000000 Z - zone: *12 - time: 2023-04-09 06:14:30.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-09 11:26:27.000000000 Z - zone: *12 - time: 2023-04-09 11:26:27.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-11 21:34:04.000000000 Z - zone: *12 - time: 2023-04-11 21:34:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-14 08:51:06.000000000 Z - zone: *12 - time: 2023-04-14 08:51:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-16 15:58:05.000000000 Z - zone: *12 - time: 2023-04-16 15:58:05.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-17 03:06:43.000000000 Z - zone: *12 - time: 2023-04-17 03:06:43.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-18 16:28:30.000000000 Z - zone: *12 - time: 2023-04-18 16:28:30.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-18 17:32:38.000000000 Z - zone: *12 - time: 2023-04-18 17:32:38.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-19 20:34:45.000000000 Z - zone: *12 - time: 2023-04-19 20:34:45.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-22 06:16:01.000000000 Z - zone: *12 - time: 2023-04-22 06:16:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-22 12:00:25.000000000 Z - zone: *12 - time: 2023-04-22 12:00:25.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-24 21:12:27.000000000 Z - zone: *12 - time: 2023-04-24 21:12:27.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-27 15:19:36.000000000 Z - zone: *12 - time: 2023-04-27 15:19:36.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-29 00:43:46.000000000 Z - zone: *12 - time: 2023-04-29 00:43:46.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-29 17:50:02.000000000 Z - zone: *12 - time: 2023-04-29 17:50:02.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-04-30 05:22:14.000000000 Z - zone: *12 - time: 2023-04-30 05:22:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-01 07:20:17.000000000 Z - zone: *12 - time: 2023-05-01 07:20:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-03 05:11:16.000000000 Z - zone: *12 - time: 2023-05-03 05:11:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-05 00:13:31.000000000 Z - zone: *12 - time: 2023-05-05 00:13:31.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-05 12:08:33.000000000 Z - zone: *12 - time: 2023-05-05 12:08:33.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-05 16:26:19.000000000 Z - zone: *12 - time: 2023-05-05 16:26:19.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-07 23:53:00.000000000 Z - zone: *12 - time: 2023-05-07 23:53:00.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-10 17:41:27.000000000 Z - zone: *12 - time: 2023-05-10 17:41:27.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-12 01:37:24.000000000 Z - zone: *12 - time: 2023-05-12 01:37:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-14 08:18:36.000000000 Z - zone: *12 - time: 2023-05-14 08:18:36.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-16 15:17:43.000000000 Z - zone: *12 - time: 2023-05-16 15:17:43.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-16 18:24:55.000000000 Z - zone: *12 - time: 2023-05-16 18:24:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-19 16:16:45.000000000 Z - zone: *12 - time: 2023-05-19 16:16:45.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-21 00:48:36.000000000 Z - zone: *12 - time: 2023-05-21 00:48:36.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-22 00:54:41.000000000 Z - zone: *12 - time: 2023-05-22 00:54:41.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-24 05:36:25.000000000 Z - zone: *12 - time: 2023-05-24 05:36:25.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-25 10:05:39.000000000 Z - zone: *12 - time: 2023-05-25 10:05:39.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-26 16:09:51.000000000 Z - zone: *12 - time: 2023-05-26 16:09:51.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-29 12:40:29.000000000 Z - zone: *12 - time: 2023-05-29 12:40:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-29 13:15:05.000000000 Z - zone: *12 - time: 2023-05-29 13:15:05.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-05-31 15:28:14.000000000 Z - zone: *12 - time: 2023-05-31 15:28:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-02 02:05:21.000000000 Z - zone: *12 - time: 2023-06-02 02:05:21.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-02 13:05:50.000000000 Z - zone: *12 - time: 2023-06-02 13:05:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-04 11:12:19.000000000 Z - zone: *12 - time: 2023-06-04 11:12:19.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-05 10:04:34.000000000 Z - zone: *12 - time: 2023-06-05 10:04:34.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-06 02:47:22.000000000 Z - zone: *12 - time: 2023-06-06 02:47:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-07 04:35:17.000000000 Z - zone: *12 - time: 2023-06-07 04:35:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-07 16:20:27.000000000 Z - zone: *12 - time: 2023-06-07 16:20:27.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-08 07:43:14.000000000 Z - zone: *12 - time: 2023-06-08 07:43:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-10 17:55:59.000000000 Z - zone: *12 - time: 2023-06-10 17:55:59.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-12 17:00:02.000000000 Z - zone: *12 - time: 2023-06-12 17:00:02.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-14 08:37:14.000000000 Z - zone: *12 - time: 2023-06-14 08:37:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-14 18:07:30.000000000 Z - zone: *12 - time: 2023-06-14 18:07:30.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-16 12:07:26.000000000 Z - zone: *12 - time: 2023-06-16 12:07:26.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-18 22:29:39.000000000 Z - zone: *12 - time: 2023-06-18 22:29:39.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-19 02:32:54.000000000 Z - zone: *12 - time: 2023-06-19 02:32:54.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-20 14:24:40.000000000 Z - zone: *12 - time: 2023-06-20 14:24:40.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-22 09:27:59.000000000 Z - zone: *12 - time: 2023-06-22 09:27:59.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-23 07:31:20.000000000 Z - zone: *12 - time: 2023-06-23 07:31:20.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-23 21:06:55.000000000 Z - zone: *12 - time: 2023-06-23 21:06:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-26 06:57:28.000000000 Z - zone: *12 - time: 2023-06-26 06:57:28.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-28 17:08:12.000000000 Z - zone: *12 - time: 2023-06-28 17:08:12.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-29 03:06:47.000000000 Z - zone: *12 - time: 2023-06-29 03:06:47.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-06-30 12:25:41.000000000 Z - zone: *12 - time: 2023-06-30 12:25:41.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-02 08:49:42.000000000 Z - zone: *12 - time: 2023-07-02 08:49:42.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-03 20:09:26.000000000 Z - zone: *12 - time: 2023-07-03 20:09:26.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-06 17:39:13.000000000 Z - zone: *12 - time: 2023-07-06 17:39:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-09 00:18:52.000000000 Z - zone: *12 - time: 2023-07-09 00:18:52.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-11 03:58:21.000000000 Z - zone: *12 - time: 2023-07-11 03:58:21.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-12 22:37:00.000000000 Z - zone: *12 - time: 2023-07-12 22:37:00.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-14 01:58:44.000000000 Z - zone: *12 - time: 2023-07-14 01:58:44.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-16 20:21:13.000000000 Z - zone: *12 - time: 2023-07-16 20:21:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-17 01:41:47.000000000 Z - zone: *12 - time: 2023-07-17 01:41:47.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-19 10:06:35.000000000 Z - zone: *12 - time: 2023-07-19 10:06:35.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-21 17:44:16.000000000 Z - zone: *12 - time: 2023-07-21 17:44:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-22 02:46:04.000000000 Z - zone: *12 - time: 2023-07-22 02:46:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-22 06:52:04.000000000 Z - zone: *12 - time: 2023-07-22 06:52:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-23 04:53:49.000000000 Z - zone: *12 - time: 2023-07-23 04:53:49.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-25 16:37:24.000000000 Z - zone: *12 - time: 2023-07-25 16:37:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-27 18:34:33.000000000 Z - zone: *12 - time: 2023-07-27 18:34:33.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-28 02:34:02.000000000 Z - zone: *12 - time: 2023-07-28 02:34:02.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-29 19:53:32.000000000 Z - zone: *12 - time: 2023-07-29 19:53:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-07-30 23:30:11.000000000 Z - zone: *12 - time: 2023-07-30 23:30:11.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-02 17:46:22.000000000 Z - zone: *12 - time: 2023-08-02 17:46:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-03 00:01:21.000000000 Z - zone: *12 - time: 2023-08-03 00:01:21.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-03 03:57:56.000000000 Z - zone: *12 - time: 2023-08-03 03:57:56.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-03 21:41:28.000000000 Z - zone: *12 - time: 2023-08-03 21:41:28.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-04 23:37:31.000000000 Z - zone: *12 - time: 2023-08-04 23:37:31.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-05 08:20:42.000000000 Z - zone: *12 - time: 2023-08-05 08:20:42.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-07 21:01:55.000000000 Z - zone: *12 - time: 2023-08-07 21:01:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-10 17:03:47.000000000 Z - zone: *12 - time: 2023-08-10 17:03:47.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-11 21:06:31.000000000 Z - zone: *12 - time: 2023-08-11 21:06:31.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-12 08:45:08.000000000 Z - zone: *12 - time: 2023-08-12 08:45:08.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-13 07:09:39.000000000 Z - zone: *12 - time: 2023-08-13 07:09:39.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-14 11:15:10.000000000 Z - zone: *12 - time: 2023-08-14 11:15:10.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-16 04:15:48.000000000 Z - zone: *12 - time: 2023-08-16 04:15:48.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-19 04:11:43.000000000 Z - zone: *12 - time: 2023-08-19 04:11:43.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-19 10:10:27.000000000 Z - zone: *12 - time: 2023-08-19 10:10:27.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-22 09:41:20.000000000 Z - zone: *12 - time: 2023-08-22 09:41:20.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-24 10:27:08.000000000 Z - zone: *12 - time: 2023-08-24 10:27:08.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-24 18:16:12.000000000 Z - zone: *12 - time: 2023-08-24 18:16:12.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-25 17:02:28.000000000 Z - zone: *12 - time: 2023-08-25 17:02:28.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-27 15:58:52.000000000 Z - zone: *12 - time: 2023-08-27 15:58:52.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-27 23:29:53.000000000 Z - zone: *12 - time: 2023-08-27 23:29:53.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-28 21:31:27.000000000 Z - zone: *12 - time: 2023-08-28 21:31:27.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-29 03:35:29.000000000 Z - zone: *12 - time: 2023-08-29 03:35:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-08-31 06:15:19.000000000 Z - zone: *12 - time: 2023-08-31 06:15:19.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-01 21:56:52.000000000 Z - zone: *12 - time: 2023-09-01 21:56:52.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-02 22:57:53.000000000 Z - zone: *12 - time: 2023-09-02 22:57:53.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-05 03:28:30.000000000 Z - zone: *12 - time: 2023-09-05 03:28:30.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-07 04:57:12.000000000 Z - zone: *12 - time: 2023-09-07 04:57:12.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-09 19:16:05.000000000 Z - zone: *12 - time: 2023-09-09 19:16:05.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-09 20:01:39.000000000 Z - zone: *12 - time: 2023-09-09 20:01:39.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-11 03:23:22.000000000 Z - zone: *12 - time: 2023-09-11 03:23:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-12 15:18:29.000000000 Z - zone: *12 - time: 2023-09-12 15:18:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-13 14:14:43.000000000 Z - zone: *12 - time: 2023-09-13 14:14:43.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-13 17:37:25.000000000 Z - zone: *12 - time: 2023-09-13 17:37:25.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-14 18:17:49.000000000 Z - zone: *12 - time: 2023-09-14 18:17:49.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-16 19:56:55.000000000 Z - zone: *12 - time: 2023-09-16 19:56:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-18 14:21:02.000000000 Z - zone: *12 - time: 2023-09-18 14:21:02.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-21 00:34:13.000000000 Z - zone: *12 - time: 2023-09-21 00:34:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-23 07:14:06.000000000 Z - zone: *12 - time: 2023-09-23 07:14:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-24 17:22:22.000000000 Z - zone: *12 - time: 2023-09-24 17:22:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-27 12:42:54.000000000 Z - zone: *12 - time: 2023-09-27 12:42:54.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-09-28 14:48:45.000000000 Z - zone: *12 - time: 2023-09-28 14:48:45.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-01 11:54:24.000000000 Z - zone: *12 - time: 2023-10-01 11:54:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-03 07:36:32.000000000 Z - zone: *12 - time: 2023-10-03 07:36:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-05 05:13:57.000000000 Z - zone: *12 - time: 2023-10-05 05:13:57.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-06 16:07:06.000000000 Z - zone: *12 - time: 2023-10-06 16:07:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-09 00:03:52.000000000 Z - zone: *12 - time: 2023-10-09 00:03:52.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-09 02:32:01.000000000 Z - zone: *12 - time: 2023-10-09 02:32:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-10 16:39:07.000000000 Z - zone: *12 - time: 2023-10-10 16:39:07.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-12 13:28:16.000000000 Z - zone: *12 - time: 2023-10-12 13:28:16.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-14 04:29:14.000000000 Z - zone: *12 - time: 2023-10-14 04:29:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-17 03:30:24.000000000 Z - zone: *12 - time: 2023-10-17 03:30:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-20 03:13:15.000000000 Z - zone: *12 - time: 2023-10-20 03:13:15.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-20 20:47:06.000000000 Z - zone: *12 - time: 2023-10-20 20:47:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-21 13:59:34.000000000 Z - zone: *12 - time: 2023-10-21 13:59:34.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-23 21:38:48.000000000 Z - zone: *12 - time: 2023-10-23 21:38:48.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-24 06:07:13.000000000 Z - zone: *12 - time: 2023-10-24 06:07:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-25 22:51:17.000000000 Z - zone: *12 - time: 2023-10-25 22:51:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-26 21:12:50.000000000 Z - zone: *12 - time: 2023-10-26 21:12:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-28 05:52:20.000000000 Z - zone: *12 - time: 2023-10-28 05:52:20.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-29 22:11:01.000000000 Z - zone: *12 - time: 2023-10-29 22:11:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-10-30 12:29:25.000000000 Z - zone: *12 - time: 2023-10-30 12:29:25.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-02 02:52:55.000000000 Z - zone: *12 - time: 2023-11-02 02:52:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-02 06:00:32.000000000 Z - zone: *12 - time: 2023-11-02 06:00:32.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-03 08:39:06.000000000 Z - zone: *12 - time: 2023-11-03 08:39:06.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-04 23:51:22.000000000 Z - zone: *12 - time: 2023-11-04 23:51:22.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-07 16:11:33.000000000 Z - zone: *12 - time: 2023-11-07 16:11:33.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-10 10:55:29.000000000 Z - zone: *12 - time: 2023-11-10 10:55:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 01:20:18.000000000 Z - zone: *12 - time: 2023-11-12 01:20:18.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 04:22:50.000000000 Z - zone: *12 - time: 2023-11-12 04:22:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 08:38:58.000000000 Z - zone: *12 - time: 2023-11-12 08:38:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-13 15:43:40.000000000 Z - zone: *12 - time: 2023-11-13 15:43:40.000000000 Z -pagy/extras/calendar::instance methods#test_0015_selects :week for the last page: + - 2023-01-01 01:55:31.000000000 Z + - 2023-01-01 17:34:53.000000000 Z + - 2023-01-04 09:05:13.000000000 Z + - 2023-01-05 01:57:33.000000000 Z + - 2023-01-06 08:56:47.000000000 Z + - 2023-01-07 18:52:12.000000000 Z + - 2023-01-08 00:43:40.000000000 Z + - 2023-01-10 13:28:23.000000000 Z + - 2023-01-13 10:22:38.000000000 Z + - 2023-01-15 01:43:06.000000000 Z + - 2023-01-15 04:30:52.000000000 Z + - 2023-01-16 23:13:04.000000000 Z + - 2023-01-19 17:16:31.000000000 Z + - 2023-01-21 09:25:58.000000000 Z + - 2023-01-23 09:42:42.000000000 Z + - 2023-01-24 11:13:59.000000000 Z + - 2023-01-25 00:57:26.000000000 Z + - 2023-01-27 10:31:18.000000000 Z + - 2023-01-28 07:08:54.000000000 Z + - 2023-01-28 09:46:16.000000000 Z + - 2023-01-30 04:34:32.000000000 Z + - 2023-01-30 05:30:26.000000000 Z + - 2023-01-31 08:08:44.000000000 Z + - 2023-02-03 01:02:02.000000000 Z + - 2023-02-03 10:02:38.000000000 Z + - 2023-02-05 02:22:53.000000000 Z + - 2023-02-05 05:55:46.000000000 Z + - 2023-02-07 06:18:28.000000000 Z + - 2023-02-08 13:57:28.000000000 Z + - 2023-02-08 17:53:12.000000000 Z + - 2023-02-10 08:40:27.000000000 Z + - 2023-02-10 10:28:23.000000000 Z + - 2023-02-12 15:42:42.000000000 Z + - 2023-02-14 06:11:35.000000000 Z + - 2023-02-14 12:22:06.000000000 Z + - 2023-02-16 14:43:29.000000000 Z + - 2023-02-16 15:58:19.000000000 Z + - 2023-02-17 08:36:37.000000000 Z + - 2023-02-19 04:20:36.000000000 Z + - 2023-02-21 03:27:07.000000000 Z + - 2023-02-22 09:09:23.000000000 Z + - 2023-02-24 10:19:14.000000000 Z + - 2023-02-26 13:28:50.000000000 Z + - 2023-02-27 15:33:38.000000000 Z + - 2023-03-01 14:48:42.000000000 Z + - 2023-03-02 19:17:52.000000000 Z + - 2023-03-03 09:48:41.000000000 Z + - 2023-03-04 12:44:18.000000000 Z + - 2023-03-06 18:24:47.000000000 Z + - 2023-03-09 13:55:36.000000000 Z + - 2023-03-11 13:50:26.000000000 Z + - 2023-03-14 05:57:47.000000000 Z + - 2023-03-14 09:16:38.000000000 Z + - 2023-03-14 12:34:22.000000000 Z + - 2023-03-14 15:15:53.000000000 Z + - 2023-03-16 18:34:04.000000000 Z + - 2023-03-19 13:01:38.000000000 Z + - 2023-03-19 15:24:32.000000000 Z + - 2023-03-20 14:56:28.000000000 Z + - 2023-03-21 12:32:45.000000000 Z + - 2023-03-23 22:16:22.000000000 Z + - 2023-03-24 01:05:24.000000000 Z + - 2023-03-26 12:01:36.000000000 Z + - 2023-03-29 07:45:17.000000000 Z + - 2023-04-01 06:03:31.000000000 Z + - 2023-04-02 20:45:43.000000000 Z + - 2023-04-03 05:33:10.000000000 Z + - 2023-04-03 16:15:11.000000000 Z + - 2023-04-05 14:56:49.000000000 Z + - 2023-04-06 22:21:46.000000000 Z + - 2023-04-08 19:50:51.000000000 Z + - 2023-04-09 06:14:30.000000000 Z + - 2023-04-09 11:26:27.000000000 Z + - 2023-04-11 21:34:04.000000000 Z + - 2023-04-14 08:51:06.000000000 Z + - 2023-04-16 15:58:05.000000000 Z + - 2023-04-17 03:06:43.000000000 Z + - 2023-04-18 16:28:30.000000000 Z + - 2023-04-18 17:32:38.000000000 Z + - 2023-04-19 20:34:45.000000000 Z + - 2023-04-22 06:16:01.000000000 Z + - 2023-04-22 12:00:25.000000000 Z + - 2023-04-24 21:12:27.000000000 Z + - 2023-04-27 15:19:36.000000000 Z + - 2023-04-29 00:43:46.000000000 Z + - 2023-04-29 17:50:02.000000000 Z + - 2023-04-30 05:22:14.000000000 Z + - 2023-05-01 07:20:17.000000000 Z + - 2023-05-03 05:11:16.000000000 Z + - 2023-05-05 00:13:31.000000000 Z + - 2023-05-05 12:08:33.000000000 Z + - 2023-05-05 16:26:19.000000000 Z + - 2023-05-07 23:53:00.000000000 Z + - 2023-05-10 17:41:27.000000000 Z + - 2023-05-12 01:37:24.000000000 Z + - 2023-05-14 08:18:36.000000000 Z + - 2023-05-16 15:17:43.000000000 Z + - 2023-05-16 18:24:55.000000000 Z + - 2023-05-19 16:16:45.000000000 Z + - 2023-05-21 00:48:36.000000000 Z + - 2023-05-22 00:54:41.000000000 Z + - 2023-05-24 05:36:25.000000000 Z + - 2023-05-25 10:05:39.000000000 Z + - 2023-05-26 16:09:51.000000000 Z + - 2023-05-29 12:40:29.000000000 Z + - 2023-05-29 13:15:05.000000000 Z + - 2023-05-31 15:28:14.000000000 Z + - 2023-06-02 02:05:21.000000000 Z + - 2023-06-02 13:05:50.000000000 Z + - 2023-06-04 11:12:19.000000000 Z + - 2023-06-05 10:04:34.000000000 Z + - 2023-06-06 02:47:22.000000000 Z + - 2023-06-07 04:35:17.000000000 Z + - 2023-06-07 16:20:27.000000000 Z + - 2023-06-08 07:43:14.000000000 Z + - 2023-06-10 17:55:59.000000000 Z + - 2023-06-12 17:00:02.000000000 Z + - 2023-06-14 08:37:14.000000000 Z + - 2023-06-14 18:07:30.000000000 Z + - 2023-06-16 12:07:26.000000000 Z + - 2023-06-18 22:29:39.000000000 Z + - 2023-06-19 02:32:54.000000000 Z + - 2023-06-20 14:24:40.000000000 Z + - 2023-06-22 09:27:59.000000000 Z + - 2023-06-23 07:31:20.000000000 Z + - 2023-06-23 21:06:55.000000000 Z + - 2023-06-26 06:57:28.000000000 Z + - 2023-06-28 17:08:12.000000000 Z + - 2023-06-29 03:06:47.000000000 Z + - 2023-06-30 12:25:41.000000000 Z + - 2023-07-02 08:49:42.000000000 Z + - 2023-07-03 20:09:26.000000000 Z + - 2023-07-06 17:39:13.000000000 Z + - 2023-07-09 00:18:52.000000000 Z + - 2023-07-11 03:58:21.000000000 Z + - 2023-07-12 22:37:00.000000000 Z + - 2023-07-14 01:58:44.000000000 Z + - 2023-07-16 20:21:13.000000000 Z + - 2023-07-17 01:41:47.000000000 Z + - 2023-07-19 10:06:35.000000000 Z + - 2023-07-21 17:44:16.000000000 Z + - 2023-07-22 02:46:04.000000000 Z + - 2023-07-22 06:52:04.000000000 Z + - 2023-07-23 04:53:49.000000000 Z + - 2023-07-25 16:37:24.000000000 Z + - 2023-07-27 18:34:33.000000000 Z + - 2023-07-28 02:34:02.000000000 Z + - 2023-07-29 19:53:32.000000000 Z + - 2023-07-30 23:30:11.000000000 Z + - 2023-08-02 17:46:22.000000000 Z + - 2023-08-03 00:01:21.000000000 Z + - 2023-08-03 03:57:56.000000000 Z + - 2023-08-03 21:41:28.000000000 Z + - 2023-08-04 23:37:31.000000000 Z + - 2023-08-05 08:20:42.000000000 Z + - 2023-08-07 21:01:55.000000000 Z + - 2023-08-10 17:03:47.000000000 Z + - 2023-08-11 21:06:31.000000000 Z + - 2023-08-12 08:45:08.000000000 Z + - 2023-08-13 07:09:39.000000000 Z + - 2023-08-14 11:15:10.000000000 Z + - 2023-08-16 04:15:48.000000000 Z + - 2023-08-19 04:11:43.000000000 Z + - 2023-08-19 10:10:27.000000000 Z + - 2023-08-22 09:41:20.000000000 Z + - 2023-08-24 10:27:08.000000000 Z + - 2023-08-24 18:16:12.000000000 Z + - 2023-08-25 17:02:28.000000000 Z + - 2023-08-27 15:58:52.000000000 Z + - 2023-08-27 23:29:53.000000000 Z + - 2023-08-28 21:31:27.000000000 Z + - 2023-08-29 03:35:29.000000000 Z + - 2023-08-31 06:15:19.000000000 Z + - 2023-09-01 21:56:52.000000000 Z + - 2023-09-02 22:57:53.000000000 Z + - 2023-09-05 03:28:30.000000000 Z + - 2023-09-07 04:57:12.000000000 Z + - 2023-09-09 19:16:05.000000000 Z + - 2023-09-09 20:01:39.000000000 Z + - 2023-09-11 03:23:22.000000000 Z + - 2023-09-12 15:18:29.000000000 Z + - 2023-09-13 14:14:43.000000000 Z + - 2023-09-13 17:37:25.000000000 Z + - 2023-09-14 18:17:49.000000000 Z + - 2023-09-16 19:56:55.000000000 Z + - 2023-09-18 14:21:02.000000000 Z + - 2023-09-21 00:34:13.000000000 Z + - 2023-09-23 07:14:06.000000000 Z + - 2023-09-24 17:22:22.000000000 Z + - 2023-09-27 12:42:54.000000000 Z + - 2023-09-28 14:48:45.000000000 Z + - 2023-10-01 11:54:24.000000000 Z + - 2023-10-03 07:36:32.000000000 Z + - 2023-10-05 05:13:57.000000000 Z + - 2023-10-06 16:07:06.000000000 Z + - 2023-10-09 00:03:52.000000000 Z + - 2023-10-09 02:32:01.000000000 Z + - 2023-10-10 16:39:07.000000000 Z + - 2023-10-12 13:28:16.000000000 Z + - 2023-10-14 04:29:14.000000000 Z + - 2023-10-17 03:30:24.000000000 Z + - 2023-10-20 03:13:15.000000000 Z + - 2023-10-20 20:47:06.000000000 Z + - 2023-10-21 13:59:34.000000000 Z + - 2023-10-23 21:38:48.000000000 Z + - 2023-10-24 06:07:13.000000000 Z + - 2023-10-25 22:51:17.000000000 Z + - 2023-10-26 21:12:50.000000000 Z + - 2023-10-28 05:52:20.000000000 Z + - 2023-10-29 22:11:01.000000000 Z + - 2023-10-30 12:29:25.000000000 Z + - 2023-11-02 02:52:55.000000000 Z + - 2023-11-02 06:00:32.000000000 Z + - 2023-11-03 08:39:06.000000000 Z + - 2023-11-04 23:51:22.000000000 Z + - 2023-11-07 16:11:33.000000000 Z + - 2023-11-10 10:55:29.000000000 Z + - 2023-11-12 01:20:18.000000000 Z + - 2023-11-12 04:22:50.000000000 Z + - 2023-11-12 08:38:58.000000000 Z + - 2023-11-13 15:43:40.000000000 Z +pagy/extras/calendar::instance methods#test_0008_selects :quarter for an intermediate page: :entries: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 01:20:18.000000000 Z - zone: &13 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2023-11-12 01:20:18.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 04:22:50.000000000 Z - zone: *13 - time: 2023-11-12 04:22:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-12 08:38:58.000000000 Z - zone: *13 - time: 2023-11-12 08:38:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2023-11-13 15:43:40.000000000 Z - zone: *13 - time: 2023-11-13 15:43:40.000000000 Z + - 2022-07-01 16:05:14.000000000 Z + - 2022-07-02 14:02:12.000000000 Z + - 2022-07-05 11:08:11.000000000 Z + - 2022-07-05 12:44:38.000000000 Z + - 2022-07-08 03:55:17.000000000 Z + - 2022-07-08 18:02:14.000000000 Z + - 2022-07-09 09:41:17.000000000 Z + - 2022-07-11 07:34:51.000000000 Z + - 2022-07-13 05:11:19.000000000 Z + - 2022-07-15 02:46:56.000000000 Z + - 2022-07-16 15:40:39.000000000 Z + - 2022-07-17 19:44:15.000000000 Z + - 2022-07-19 00:31:12.000000000 Z + - 2022-07-21 21:58:24.000000000 Z + - 2022-07-22 05:25:48.000000000 Z + - 2022-07-22 18:33:04.000000000 Z + - 2022-07-24 07:42:24.000000000 Z + - 2022-07-25 07:21:20.000000000 Z + - 2022-07-27 12:02:44.000000000 Z + - 2022-07-29 03:29:28.000000000 Z + - 2022-07-29 11:35:43.000000000 Z + - 2022-07-30 05:25:21.000000000 Z + - 2022-07-30 19:39:10.000000000 Z + - 2022-07-31 18:54:58.000000000 Z + - 2022-08-03 11:18:44.000000000 Z + - 2022-08-05 00:37:47.000000000 Z + - 2022-08-05 12:08:08.000000000 Z + - 2022-08-07 14:39:19.000000000 Z + - 2022-08-08 09:52:59.000000000 Z + - 2022-08-09 13:48:29.000000000 Z + - 2022-08-11 19:03:04.000000000 Z + - 2022-08-13 01:56:49.000000000 Z + - 2022-08-15 11:33:09.000000000 Z + - 2022-08-17 23:37:45.000000000 Z + - 2022-08-19 00:47:19.000000000 Z + - 2022-08-19 01:01:12.000000000 Z + - 2022-08-21 07:37:55.000000000 Z + - 2022-08-21 21:42:15.000000000 Z + - 2022-08-23 10:55:39.000000000 Z + - 2022-08-25 16:20:29.000000000 Z + - 2022-08-27 06:28:14.000000000 Z + - 2022-08-27 13:12:57.000000000 Z + - 2022-08-28 23:00:13.000000000 Z + - 2022-08-31 05:19:56.000000000 Z + - 2022-09-02 18:00:18.000000000 Z + - 2022-09-04 12:02:47.000000000 Z + - 2022-09-06 00:57:21.000000000 Z + - 2022-09-08 04:26:01.000000000 Z + - 2022-09-09 04:55:45.000000000 Z + - 2022-09-11 22:59:36.000000000 Z + - 2022-09-12 00:54:25.000000000 Z + - 2022-09-12 17:44:24.000000000 Z + - 2022-09-12 20:47:30.000000000 Z + - 2022-09-15 11:39:20.000000000 Z + - 2022-09-16 07:54:15.000000000 Z + - 2022-09-17 08:06:29.000000000 Z + - 2022-09-18 07:17:17.000000000 Z + - 2022-09-19 08:39:55.000000000 Z + - 2022-09-22 06:32:56.000000000 Z + - 2022-09-22 21:26:29.000000000 Z + - 2022-09-24 16:06:50.000000000 Z + - 2022-09-27 05:50:18.000000000 Z + - 2022-09-28 12:12:13.000000000 Z + - 2022-09-29 21:13:01.000000000 Z + - 2022-09-30 00:09:29.000000000 Z pagy/extras/calendar::instance methods#test_0018_selects :day for the last page: :entries: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-19 00:34:04.000000000 Z - zone: &14 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2021-12-19 00:34:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2021-12-19 06:58:41.000000000 Z - zone: *14 - time: 2021-12-19 06:58:41.000000000 Z + - 2021-12-19 00:34:04.000000000 Z + - 2021-12-19 06:58:41.000000000 Z +pagy/extras/calendar::instance methods#test_0015_selects :week for the last page: + :entries: + - 2023-11-12 01:20:18.000000000 Z + - 2023-11-12 04:22:50.000000000 Z + - 2023-11-12 08:38:58.000000000 Z + - 2023-11-13 15:43:40.000000000 Z +pagy/extras/calendar::instance methods#test_0007_selects :quarter for the first page: + :entries: + - 2021-10-21 13:18:23.000000000 Z + - 2021-10-21 23:14:50.000000000 Z + - 2021-10-23 01:06:02.000000000 Z + - 2021-10-25 18:54:35.000000000 Z + - 2021-10-26 02:22:17.000000000 Z + - 2021-10-28 22:59:49.000000000 Z + - 2021-10-30 15:02:25.000000000 Z + - 2021-11-02 04:03:39.000000000 Z + - 2021-11-04 22:41:23.000000000 Z + - 2021-11-06 00:34:29.000000000 Z + - 2021-11-06 23:56:16.000000000 Z + - 2021-11-07 06:22:04.000000000 Z + - 2021-11-07 19:46:08.000000000 Z + - 2021-11-08 09:31:13.000000000 Z + - 2021-11-09 17:22:03.000000000 Z + - 2021-11-11 05:29:54.000000000 Z + - 2021-11-13 09:41:04.000000000 Z + - 2021-11-16 07:48:22.000000000 Z + - 2021-11-16 12:43:44.000000000 Z + - 2021-11-17 16:03:07.000000000 Z + - 2021-11-20 02:39:01.000000000 Z + - 2021-11-21 02:01:24.000000000 Z + - 2021-11-23 19:24:43.000000000 Z + - 2021-11-26 11:47:22.000000000 Z + - 2021-11-28 06:30:04.000000000 Z + - 2021-12-01 00:13:55.000000000 Z + - 2021-12-03 19:10:16.000000000 Z + - 2021-12-04 00:43:47.000000000 Z + - 2021-12-06 20:15:35.000000000 Z + - 2021-12-09 16:27:07.000000000 Z + - 2021-12-10 15:28:48.000000000 Z + - 2021-12-10 23:08:16.000000000 Z + - 2021-12-11 23:09:08.000000000 Z + - 2021-12-14 04:56:58.000000000 Z + - 2021-12-14 14:00:56.000000000 Z + - 2021-12-15 22:58:51.000000000 Z + - 2021-12-16 01:28:21.000000000 Z + - 2021-12-16 20:16:54.000000000 Z + - 2021-12-19 00:34:04.000000000 Z + - 2021-12-19 06:58:41.000000000 Z + - 2021-12-21 11:13:53.000000000 Z + - 2021-12-23 07:28:50.000000000 Z + - 2021-12-23 07:57:58.000000000 Z + - 2021-12-23 18:32:13.000000000 Z + - 2021-12-24 01:17:51.000000000 Z + - 2021-12-25 05:36:16.000000000 Z + - 2021-12-25 23:21:57.000000000 Z + - 2021-12-27 12:18:57.000000000 Z + - 2021-12-28 16:59:57.000000000 Z + - 2021-12-31 15:10:23.000000000 Z +pagy/extras/calendar::instance methods#test_0009_selects :quarter for last page: + :entries: + - 2023-10-01 11:54:24.000000000 Z + - 2023-10-03 07:36:32.000000000 Z + - 2023-10-05 05:13:57.000000000 Z + - 2023-10-06 16:07:06.000000000 Z + - 2023-10-09 00:03:52.000000000 Z + - 2023-10-09 02:32:01.000000000 Z + - 2023-10-10 16:39:07.000000000 Z + - 2023-10-12 13:28:16.000000000 Z + - 2023-10-14 04:29:14.000000000 Z + - 2023-10-17 03:30:24.000000000 Z + - 2023-10-20 03:13:15.000000000 Z + - 2023-10-20 20:47:06.000000000 Z + - 2023-10-21 13:59:34.000000000 Z + - 2023-10-23 21:38:48.000000000 Z + - 2023-10-24 06:07:13.000000000 Z + - 2023-10-25 22:51:17.000000000 Z + - 2023-10-26 21:12:50.000000000 Z + - 2023-10-28 05:52:20.000000000 Z + - 2023-10-29 22:11:01.000000000 Z + - 2023-10-30 12:29:25.000000000 Z + - 2023-11-02 02:52:55.000000000 Z + - 2023-11-02 06:00:32.000000000 Z + - 2023-11-03 08:39:06.000000000 Z + - 2023-11-04 23:51:22.000000000 Z + - 2023-11-07 16:11:33.000000000 Z + - 2023-11-10 10:55:29.000000000 Z + - 2023-11-12 01:20:18.000000000 Z + - 2023-11-12 04:22:50.000000000 Z + - 2023-11-12 08:38:58.000000000 Z + - 2023-11-13 15:43:40.000000000 Z +pagy/extras/calendar::instance methods#test_0010_selects :month for the first page: + :entries: + - 2021-10-21 13:18:23.000000000 Z + - 2021-10-21 23:14:50.000000000 Z + - 2021-10-23 01:06:02.000000000 Z + - 2021-10-25 18:54:35.000000000 Z + - 2021-10-26 02:22:17.000000000 Z + - 2021-10-28 22:59:49.000000000 Z + - 2021-10-30 15:02:25.000000000 Z pagy/extras/calendar::instance methods#test_0017_selects :day for an intermediate page: :entries: [] -pagy/extras/calendar::instance methods#test_0008_selects :quarter for an intermediate page: +pagy/extras/calendar::instance methods#test_0019_runs multiple units: + :entries: + - 2022-07-16 15:40:39.000000000 Z + - 2022-07-17 19:44:15.000000000 Z + - 2022-07-19 00:31:12.000000000 Z + - 2022-07-21 21:58:24.000000000 Z + - 2022-07-22 05:25:48.000000000 Z + - 2022-07-22 18:33:04.000000000 Z + - 2022-07-24 07:42:24.000000000 Z + - 2022-07-25 07:21:20.000000000 Z + - 2022-07-27 12:02:44.000000000 Z + - 2022-07-29 03:29:28.000000000 Z +pagy/extras/calendar::instance methods#test_0012_selects :month for the last page: + :entries: + - 2023-11-02 02:52:55.000000000 Z + - 2023-11-02 06:00:32.000000000 Z + - 2023-11-03 08:39:06.000000000 Z + - 2023-11-04 23:51:22.000000000 Z + - 2023-11-07 16:11:33.000000000 Z + - 2023-11-10 10:55:29.000000000 Z + - 2023-11-12 01:20:18.000000000 Z + - 2023-11-12 04:22:50.000000000 Z + - 2023-11-12 08:38:58.000000000 Z + - 2023-11-13 15:43:40.000000000 Z +pagy/extras/calendar::instance methods#test_0014_selects :week for an intermediate page: :entries: - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-01 16:05:14.000000000 Z - zone: &15 !ruby/object:ActiveSupport::TimeZone - name: GMT - time: 2022-07-01 16:05:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-02 14:02:12.000000000 Z - zone: *15 - time: 2022-07-02 14:02:12.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-05 11:08:11.000000000 Z - zone: *15 - time: 2022-07-05 11:08:11.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-05 12:44:38.000000000 Z - zone: *15 - time: 2022-07-05 12:44:38.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-08 03:55:17.000000000 Z - zone: *15 - time: 2022-07-08 03:55:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-08 18:02:14.000000000 Z - zone: *15 - time: 2022-07-08 18:02:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-09 09:41:17.000000000 Z - zone: *15 - time: 2022-07-09 09:41:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-11 07:34:51.000000000 Z - zone: *15 - time: 2022-07-11 07:34:51.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-13 05:11:19.000000000 Z - zone: *15 - time: 2022-07-13 05:11:19.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-15 02:46:56.000000000 Z - zone: *15 - time: 2022-07-15 02:46:56.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-16 15:40:39.000000000 Z - zone: *15 - time: 2022-07-16 15:40:39.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-17 19:44:15.000000000 Z - zone: *15 - time: 2022-07-17 19:44:15.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-19 00:31:12.000000000 Z - zone: *15 - time: 2022-07-19 00:31:12.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-21 21:58:24.000000000 Z - zone: *15 - time: 2022-07-21 21:58:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-22 05:25:48.000000000 Z - zone: *15 - time: 2022-07-22 05:25:48.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-22 18:33:04.000000000 Z - zone: *15 - time: 2022-07-22 18:33:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-24 07:42:24.000000000 Z - zone: *15 - time: 2022-07-24 07:42:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-25 07:21:20.000000000 Z - zone: *15 - time: 2022-07-25 07:21:20.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-27 12:02:44.000000000 Z - zone: *15 - time: 2022-07-27 12:02:44.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-29 03:29:28.000000000 Z - zone: *15 - time: 2022-07-29 03:29:28.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-29 11:35:43.000000000 Z - zone: *15 - time: 2022-07-29 11:35:43.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-30 05:25:21.000000000 Z - zone: *15 - time: 2022-07-30 05:25:21.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-30 19:39:10.000000000 Z - zone: *15 - time: 2022-07-30 19:39:10.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-07-31 18:54:58.000000000 Z - zone: *15 - time: 2022-07-31 18:54:58.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-03 11:18:44.000000000 Z - zone: *15 - time: 2022-08-03 11:18:44.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-05 00:37:47.000000000 Z - zone: *15 - time: 2022-08-05 00:37:47.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-05 12:08:08.000000000 Z - zone: *15 - time: 2022-08-05 12:08:08.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-07 14:39:19.000000000 Z - zone: *15 - time: 2022-08-07 14:39:19.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-08 09:52:59.000000000 Z - zone: *15 - time: 2022-08-08 09:52:59.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-09 13:48:29.000000000 Z - zone: *15 - time: 2022-08-09 13:48:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-11 19:03:04.000000000 Z - zone: *15 - time: 2022-08-11 19:03:04.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-13 01:56:49.000000000 Z - zone: *15 - time: 2022-08-13 01:56:49.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-15 11:33:09.000000000 Z - zone: *15 - time: 2022-08-15 11:33:09.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-17 23:37:45.000000000 Z - zone: *15 - time: 2022-08-17 23:37:45.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-19 00:47:19.000000000 Z - zone: *15 - time: 2022-08-19 00:47:19.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-19 01:01:12.000000000 Z - zone: *15 - time: 2022-08-19 01:01:12.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-21 07:37:55.000000000 Z - zone: *15 - time: 2022-08-21 07:37:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-21 21:42:15.000000000 Z - zone: *15 - time: 2022-08-21 21:42:15.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-23 10:55:39.000000000 Z - zone: *15 - time: 2022-08-23 10:55:39.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-25 16:20:29.000000000 Z - zone: *15 - time: 2022-08-25 16:20:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-27 06:28:14.000000000 Z - zone: *15 - time: 2022-08-27 06:28:14.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-27 13:12:57.000000000 Z - zone: *15 - time: 2022-08-27 13:12:57.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-28 23:00:13.000000000 Z - zone: *15 - time: 2022-08-28 23:00:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-08-31 05:19:56.000000000 Z - zone: *15 - time: 2022-08-31 05:19:56.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-02 18:00:18.000000000 Z - zone: *15 - time: 2022-09-02 18:00:18.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-04 12:02:47.000000000 Z - zone: *15 - time: 2022-09-04 12:02:47.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-06 00:57:21.000000000 Z - zone: *15 - time: 2022-09-06 00:57:21.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-08 04:26:01.000000000 Z - zone: *15 - time: 2022-09-08 04:26:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-09 04:55:45.000000000 Z - zone: *15 - time: 2022-09-09 04:55:45.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-11 22:59:36.000000000 Z - zone: *15 - time: 2022-09-11 22:59:36.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-12 00:54:25.000000000 Z - zone: *15 - time: 2022-09-12 00:54:25.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-12 17:44:24.000000000 Z - zone: *15 - time: 2022-09-12 17:44:24.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-12 20:47:30.000000000 Z - zone: *15 - time: 2022-09-12 20:47:30.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-15 11:39:20.000000000 Z - zone: *15 - time: 2022-09-15 11:39:20.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-16 07:54:15.000000000 Z - zone: *15 - time: 2022-09-16 07:54:15.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-17 08:06:29.000000000 Z - zone: *15 - time: 2022-09-17 08:06:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-18 07:17:17.000000000 Z - zone: *15 - time: 2022-09-18 07:17:17.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-19 08:39:55.000000000 Z - zone: *15 - time: 2022-09-19 08:39:55.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-22 06:32:56.000000000 Z - zone: *15 - time: 2022-09-22 06:32:56.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-22 21:26:29.000000000 Z - zone: *15 - time: 2022-09-22 21:26:29.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-24 16:06:50.000000000 Z - zone: *15 - time: 2022-09-24 16:06:50.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-27 05:50:18.000000000 Z - zone: *15 - time: 2022-09-27 05:50:18.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-28 12:12:13.000000000 Z - zone: *15 - time: 2022-09-28 12:12:13.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-29 21:13:01.000000000 Z - zone: *15 - time: 2022-09-29 21:13:01.000000000 Z - - !ruby/object:ActiveSupport::TimeWithZone - utc: 2022-09-30 00:09:29.000000000 Z - zone: *15 - time: 2022-09-30 00:09:29.000000000 Z + - 2022-04-03 18:27:19.000000000 Z + - 2022-04-03 23:44:08.000000000 Z + - 2022-04-06 10:59:32.000000000 Z + - 2022-04-07 01:33:53.000000000 Z + - 2022-04-08 10:26:34.000000000 Z +pagy/extras/calendar::Counts feature#test_0001_works with MockApp::CalendarCounts: + :year: + :month: + :day: +pagy/extras/calendar::Counts feature#test_0003_works with anchor_string: + :year: +pagy/extras/calendar::Counts feature#test_0002_works with MockApp::CalendarCountsSkip: + :year: + :month: + :day: diff --git a/test/pagy/extras/headers_test.rb b/test/pagy/extras/headers_test.rb index bc391a151..11c8f922f 100644 --- a/test/pagy/extras/headers_test.rb +++ b/test/pagy/extras/headers_test.rb @@ -6,6 +6,7 @@ require 'pagy/extras/countless' require_relative '../../mock_helpers/collection' +require_relative '../../files/models' require_relative '../../mock_helpers/app' describe 'pagy/extras/headers' do @@ -42,31 +43,28 @@ describe '#pagy_headers with Calendar' do let(:app) { MockApp::Calendar.new(params: { a: 'one', b: 'two' }) } - before do - @collection = MockCollection::Calendar.new - end it 'returns the full headers hash' do - pagy, _records = app.send(:pagy, @collection) + pagy, _records = app.send(:pagy, Event.all) _(app.send(:pagy_headers, pagy)).must_rematch :headers end it 'returns custom headers hash' do - pagy, _records = app.send(:pagy, @collection, headers: { items: 'Per-Page', count: 'Total', pages: false }) + pagy, _records = app.send(:pagy, Event.all, headers: { items: 'Per-Page', count: 'Total', pages: false }) _(app.send(:pagy_headers, pagy)).must_rematch :headers end it 'returns custom headers hash' do - pagy, _records = app.send(:pagy, @collection, headers: { items: false, count: false }) + pagy, _records = app.send(:pagy, Event.all, headers: { items: false, count: false }) _(app.send(:pagy_headers, pagy)).must_rematch :headers end it 'returns the countless headers hash' do - pagy, _records = app.send(:pagy_countless, @collection) + pagy, _records = app.send(:pagy_countless, Event.all) _(app.send(:pagy_headers, pagy)).must_rematch :headers end it 'omit prev on first page' do - pagy, _records = app.send(:pagy, @collection, page: 1) + pagy, _records = app.send(:pagy, Event.all, page: 1) _(app.send(:pagy_headers, pagy)).must_rematch :headers end it 'omit next on last page' do - pagy, _records = app.send(:pagy, @collection, page: 26) + pagy, _records = app.send(:pagy, Event.all, page: 26) _(app.send(:pagy_headers, pagy)).must_rematch :headers end end @@ -84,11 +82,8 @@ end describe '#pagy_headers_merge with Calendar' do let(:app) { MockApp::Calendar.new } - before do - @collection = MockCollection::Calendar.new - end it 'returns the full headers hash' do - pagy, _records = app.send(:pagy, @collection) + pagy, _records = app.send(:pagy, Event.all) app.send(:pagy_headers_merge, pagy) _(app.send(:response).headers.to_hash).must_rematch :response end diff --git a/test/pagy/extras/i18n_calendar_extra_test.rb b/test/pagy/extras/i18n_calendar_extra_test.rb index 15276fa4b..19c84e89b 100644 --- a/test/pagy/extras/i18n_calendar_extra_test.rb +++ b/test/pagy/extras/i18n_calendar_extra_test.rb @@ -40,10 +40,10 @@ describe 'Calendar with I18n.l' do I18n.load_path += Dir[Pagy.root.join('..', 'test', 'files', 'locales', '*.yml')] it 'works in :en' do - pagy = Pagy::Calendar.create(:month, - period: [Time.zone.local(2021, 10, 21, 13, 18, 23, 0), - Time.zone.local(2023, 11, 13, 15, 43, 40, 0)], - page: 3, format: '%B, %A') + pagy = Pagy::Calendar.send(:create, :month, + period: [Time.zone.local(2021, 10, 21, 13, 18, 23, 0), + Time.zone.local(2023, 11, 13, 15, 43, 40, 0)], + page: 3, format: '%B, %A') _(pagy.label).must_equal "December, Wednesday" _(pagy.label(locale: :de)).must_equal "Dezember, Mittwoch" _(pagy.label(format: '%b')).must_equal "Dec" diff --git a/test/pagy/extras/items_test.rb b/test/pagy/extras/items_test.rb index 316639ddf..2a255f197 100644 --- a/test/pagy/extras/items_test.rb +++ b/test/pagy/extras/items_test.rb @@ -151,7 +151,6 @@ def test_items_vars_params(items, vars, params) pagy = Pagy.new count: 1000, page: 3 _(app.pagy_items_selector_js(pagy)).must_rematch :selector_1 _(app.pagy_items_selector_js(pagy, id: 'test-id', item_name: 'products')).must_rematch :selector_2 - Pagy::I18n::DATA['en'][0]['elasticsearch.product.other'] = 'products' pagy = Pagy.new count: 1000, page: 3, items_extra: false _(app.pagy_items_selector_js(pagy, id: 'test-id')).must_equal '' end diff --git a/test/pagy/extras/js_tools_json_test.rb b/test/pagy/extras/js_tools_json_test.rb index d10a4ab7f..65347135c 100644 --- a/test/pagy/extras/js_tools_json_test.rb +++ b/test/pagy/extras/js_tools_json_test.rb @@ -21,10 +21,10 @@ describe 'Calendar sequels and label_sequels' do it 'generate the labels for the sequels' do steps = { 0 => [1, 2, 2, 1], 600 => [1, 3, 3, 1] } - pagy = Pagy::Calendar.create(:month, - period: [Time.zone.local(2021, 10, 21, 13, 18, 23, 0), - Time.zone.local(2023, 11, 13, 15, 43, 40, 0)], - steps: steps, page: 3) + pagy = Pagy::Calendar.send(:create, :month, + period: [Time.zone.local(2021, 10, 21, 13, 18, 23, 0), + Time.zone.local(2023, 11, 13, 15, 43, 40, 0)], + steps: steps, page: 3) _(pagy.sequels).must_rematch :sequels _(pagy.label_sequels).must_rematch :label_sequels end diff --git a/test/pagy/extras/js_tools_oj_test.rb b/test/pagy/extras/js_tools_oj_test.rb index d03b584e6..22eb0a011 100644 --- a/test/pagy/extras/js_tools_oj_test.rb +++ b/test/pagy/extras/js_tools_oj_test.rb @@ -23,10 +23,10 @@ describe 'Calendar sequels and label_sequels' do it 'generate the labels for the sequels' do steps = { 0 => [1, 2, 2, 1], 600 => [1, 3, 3, 1] } - pagy = Pagy::Calendar.create(:month, - period: [Time.zone.local(2021, 10, 21, 13, 18, 23, 0), - Time.zone.local(2023, 11, 13, 15, 43, 40, 0)], - steps: steps, page: 3) + pagy = Pagy::Calendar.send(:create, :month, + period: [Time.zone.local(2021, 10, 21, 13, 18, 23, 0), + Time.zone.local(2023, 11, 13, 15, 43, 40, 0)], + steps: steps, page: 3) _(pagy.sequels).must_rematch :sequels _(pagy.label_sequels).must_rematch :label_sequels end diff --git a/test/pagy/extras/metadata_test.rb b/test/pagy/extras/metadata_test.rb index 841ea6adf..f57f6434e 100644 --- a/test/pagy/extras/metadata_test.rb +++ b/test/pagy/extras/metadata_test.rb @@ -7,6 +7,7 @@ require 'pagy/extras/metadata' require_relative '../../mock_helpers/collection' +require_relative '../../files/models' require_relative '../../mock_helpers/app' describe 'pagy/extras/metadata' do @@ -37,17 +38,14 @@ def calendar_app(**opts) MockApp::Calendar.new(**opts) end - before do - @collection = MockCollection::Calendar.new - end it 'checks for unknown metadata for Pagy::Calendar' do - calendar, _pagy, _records = calendar_app.send(:pagy_calendar, @collection, + calendar, _pagy, _records = calendar_app.send(:pagy_calendar, Event.all, year: { metadata: %i[page unknown_key] }) _ { calendar_app.send(:pagy_metadata, calendar[:year]) }.must_raise Pagy::VariableError end it 'returns only specific metadata for Pagy::Calendar' do calendar, _pagy, _records = calendar_app(params: { month_page: 3 }) - .send(:pagy_calendar, @collection, + .send(:pagy_calendar, Event.all, month: { metadata: %i[scaffold_url page from to prev next pages] }) _(calendar_app.send(:pagy_metadata, calendar[:month])).must_rematch :metadata end