# RRULE expansion in Ruby

DevFeed: [RRULE expansion in Ruby](<https://devfeed.tech/articles/rrule-expansion-in-ruby-15830.md>)

Original publisher: [Read original article](<https://developer.squareup.com/blog/rrule-expansion-in-ruby>)

Author: Ryan Mitchell

Published: 2017-06-12T17:39:41Z

Content type: tutorial

Language: en

Sources: [Square Corner Blog RSS Feed](<https://devfeed.tech/sources/square-corner-blog-rss-feed.md>)

Topics: [Ruby](<https://devfeed.tech/topics/ruby.md>), [Parsing](<https://devfeed.tech/topics/parsing.md>), [DateTime](<https://devfeed.tech/topics/datetime.md>), [Google](<https://devfeed.tech/topics/google.md>), [Objective-C](<https://devfeed.tech/topics/objective-c.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [data](<https://devfeed.tech/tags/data.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [google](<https://devfeed.tech/tags/google.md>), [objective-c](<https://devfeed.tech/tags/objective-c.md>), [parsing](<https://devfeed.tech/tags/parsing.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [tests](<https://devfeed.tech/tags/tests.md>)

## AI overview

This article explains how Square Appointments handled expansion of iCalendar RRULE text into concrete recurring date occurrences in Ruby. It describes limitations in existing Ruby libraries, the need to process RRULEs imported from Google Calendar, and the use of a data-driven test suite based partly on existing Objective-C tests.

## Source excerpt

On the Square Appointments team, we often need to deal with events that repeat -- from simple cases (like a weekly lunch meeting) to more...