{"id":19010306,"url":"https://github.com/railsware/gcal4ruby","last_synced_at":"2025-06-15T00:04:33.584Z","repository":{"id":970103,"uuid":"764595","full_name":"railsware/gcal4ruby","owner":"railsware","description":"Author: Mike Reich. GCal4Ruby is a Ruby Gem that can be used to interact with the current version of the Google Calendar API. GCal4Ruby provides the following features: Create and edit calendar events, Add and invite users to events, Set reminders, Make recurring events.","archived":false,"fork":false,"pushed_at":"2010-07-22T17:54:59.000Z","size":128,"stargazers_count":8,"open_issues_count":0,"forks_count":7,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-04-22T23:08:58.744Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://cookingandcoding.com/gcal4ruby/","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/railsware.png","metadata":{"files":{"readme":"README","changelog":"CHANGELOG","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-07-08T19:37:45.000Z","updated_at":"2023-07-25T13:42:00.000Z","dependencies_parsed_at":"2022-08-16T11:40:21.339Z","dependency_job_id":null,"html_url":"https://github.com/railsware/gcal4ruby","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/railsware/gcal4ruby","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/railsware%2Fgcal4ruby","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/railsware%2Fgcal4ruby/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/railsware%2Fgcal4ruby/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/railsware%2Fgcal4ruby/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/railsware","download_url":"https://codeload.github.com/railsware/gcal4ruby/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/railsware%2Fgcal4ruby/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259901381,"owners_count":22929224,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T19:10:47.976Z","updated_at":"2025-06-15T00:04:33.560Z","avatar_url":"https://github.com/railsware.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"#=GCal4Ruby\n#\n#==Introduction\n#GCal4Ruby is a full featured wrapper for the google calendar API.  GCal4Ruby implements\n#all of the functionality available through the Google Calnedar API, including permissions,\n#attendees, reminders and event recurrence.  \n#\n#==Author and Contact Information\n#GCal4Ruby was created and is maintained by {Mike Reich}[mailto:mike@seabourneconsulting.com] \n#and is licenses under the GPL v2.  Feel free to use and update, but be sure to contribute your\n#code back to the project and attribute as required by the license.\n#\n#This fork by {nachokb}[http://www.github.com/nachokb] brings some improvements related to recurring \n#events handling (they always had 1970-01-01 as start_time), fixes some timezone issues and makes the\n#parser a little more correct (there can be non-root elements with DTSTART without breaking the parser\n#for a start) and flexible (in case Google slightly changes the format).\n#\n#===Website\n#http://cookingandcoding.com/gcal4ruby/\n#\n#==Description\n#GCal4Ruby has three major components: the service, calendar and event objects.  Each service\n#has many calendars, which in turn have many events.  Each service is the representation of a\n#google account, and thus must be successfully authenticated using valid Google Calendar\n#account credentials.  \n#\n#==Examples\n#Below are some common usage examples.  For more examples, check the documentation.\n#===Service\n#1. Authenticate\n#    service = Service.new\n#    service.authenticate(\"user@gmail.com\", \"password\")\n#\n#2. Get Calendar List\n#    calendars = service.calendars\n#\n#===Calendar\n#All usages assume a successfully authenticated Service.\n#1. Create a new Calendar\n#    cal = Calendar.new(service)\n#\n#2. Find a calendar by ID\n#    cal = Calendar.find(service, {:id =\u003e cal_id})\n#\n#3. Get all calendar events\n#    cal = Calendar.find(service, {:id =\u003e cal_id})\n#    events = cal.events\n#\n#4. Find an existing calendar by title\n#    cal = Calendar.find(service, {:title =\u003e \"New Calendar\"})\n#\n#5. Find all calendars containing a search term\n#    cal = Calendar.find(service, \"Soccer Team\")\n#===Event\n#All usages assume a successfully authenticated Service and valid Calendar.\n#1. Create a new Event\n#    event = Event.new(service, {:calendar =\u003e cal, :title =\u003e \"Soccer Game\", :start =\u003e Time.parse(\"12-06-2009 at 12:30 PM\"), :end =\u003e Time.parse(\"12-06-2009 at 1:30 PM\"), :where =\u003e \"Merry Playfields\"})\n#    event.save\n#\n#2. Find an existing Event by title\n#    event = Event.find(service, {:title =\u003e \"Soccer Game\"})\n#\n#3. Find an existing Event by ID\n#    event = Event.find(service, {:id =\u003e event.id})\n#\n#4. Find all events containing the search term\n#    event = Event.find(service, \"Soccer Game\")\n#\n#5. Find all events on a calendar containing the search term\n#    event = Event.find(service, \"Soccer Game\", {:calendar =\u003e cal.id})\n#\n#6. Find events within a date range\n#    event = Event.find(service, \"Soccer Game\", {'start-min' =\u003e Time.parse(\"01/01/2010\").utc.xmlschema, 'start-max' =\u003e Time.parse(\"06/01/2010\").utc.xmlschema})\n#\n#7. Create a recurring event for every saturday\n#    event = Event.new(service)\n#    event.title = \"Baseball Game\"\n#    event.calendar = cal\n#    event.where = \"Municipal Stadium\"\n#    event.recurrence = Recurrence.new\n#    event.recurrence.start_time = Time.parse(\"06/20/2009 at 4:30 PM\")\n#    event.recurrence.end_time = Time.parse(\"06/20/2009 at 6:30 PM\")\n#    event.recurrence.frequency = {\"weekly\" =\u003e [\"SA\"]}\n#    event.save \n#\n#8. Create an event with a 15 minute email reminder\n#    event = Event.new(service)\n#    event.calendar = cal\n#    event.title = \"Dinner with Kate\"\n#    event.start_time = Time.parse(\"06/20/2009 at 5 pm\")\n#    event.end_time = Time.parse(\"06/20/2009 at 8 pm\")\n#    event.where = \"Luigi's\"\n#    event.reminder = {:minutes =\u003e 15, :method =\u003e 'email'}\n#    event.save\n#\n#9. Create an event with attendees\n#    event = Event.new(service)\n#    event.calendar = cal\n#    event.title = \"Dinner with Kate\"\n#    event.start_time = Time.parse(\"06/20/2009 at 5 pm\")\n#    event.end_time = Time.parse(\"06/20/2009 at 8 pm\")\n#    event.attendees =\u003e {:name =\u003e \"Kate\", :email =\u003e \"kate@gmail.com\"}\n#    event.save\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frailsware%2Fgcal4ruby","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frailsware%2Fgcal4ruby","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frailsware%2Fgcal4ruby/lists"}