# ScheduleFu

ScheduleFu allows scheduling events with dates and times. It includes both the model and view portions of a calendar. See [RSchedule](github.com/angelic/rschedule) for an example application using it.

To generate the ScheduleFu migrations, run:

rake db:migrate:schedule_fu

### Tables

  • calendars: distinct calendar that can be associated with your own models

  • calendar_events: distinct event

  • calendar_recurrences: specific information on particular recurring dates

  • calendar_event_mods: modification to a particular calendar_event

  • calendar_event_types: different types of events

  • calendar_dates: has a row for every day and will automatically generate rows for a

year before or after any date used in an event.

  • calendar_event_dates: a view that has a row for each date included in the event, original or modified information if a column was modified (time, description, etc), plus some additional informational columns

### Informational columns in calendar_event_dates

  • added: true if this date was added as a mod and not in the original event

  • modified: for dates that are included in the original event but have been modified (time, description, etc)

  • removed: true if this particular date was removed (named scopes :removed and :not_removed available in calendar_event_dates)

### Database diagram The database diagram can also be found in docs/database.png along with the original Dia file.

![database.png]()

This plugin borrows a lot from [acts_as_calendar](github.com/dball/acts_as_calendar) and [calendar_helper](github.com/topfunky/calendar_helper).