
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
#GCal4Ruby
##Introduction
GCal4Ruby is a full featured wrapper for the google calendar API. GCal4Ruby implements all of the functionality available through the Google Calnedar API, including permissions, attendees, reminders and event recurrence.
##Author and Contact Information
GCal4Ruby was created and is maintained by Mike Reich and is licenses under the LGPL v3. Feel free to use and update, but be sure to contribute your code back to the project and attribute as required by the license. You can find the text of the LGPL here: http://www.gnu.org/licenses/lgpl.html.
##Website
http://cookingandcoding.com/gcal4ruby/
##Description
GCal4Ruby has three major components: the service, calendar and event objects. Each service has many calendars, which in turn have many events. Each service is the representation of a google account, and thus must be successfully authenticated using valid Google Calendar account credentials.
##Examples
Below are some common usage examples. For more examples, check the documentation.
###Service
Authenticate
service = Service.new
service.authenticate("user@gmail.com", "password")
Get Calendar List for all calendars
calendars = service.calendars
Get Calendar List for all calendars that the authenticated user has owner access level
calendars = service.calendars(:only_owner_access_level => true)
###Calendar
All usages assume a successfully authenticated Service.
Create a new Calendar
cal = Calendar.new(service)
Find a calendar by ID
cal = Calendar.find(service, {:id => cal_id})
Get all calendar events
cal = Calendar.find(service, {:id => cal_id})
events = cal.events
Find an existing calendar by title
cal = Calendar.find(service, {:title => "New Calendar"})
Find all calendars containing a search term
cal = Calendar.find(service, "Soccer Team")
###Event
All usages assume a successfully authenticated Service and valid Calendar.
Create a new Event
event = Event.new(service, {:calendar => cal, :title => "Soccer Game", :start => Time.parse("12-06-2009 at 12:30 PM"), :end > Time.parse("12-06-2009 at 1:30 PM"), :where => "Merry Playfields"})
event.save
Find an existing Event by title
event = Event.find(service, {:title => "Soccer Game"})
Find an existing Event by ID
event = Event.find(service, {:id => event.id})
Find all events containing the search term
event = Event.find(service, "Soccer Game")
Find all events on a calendar containing the search term
event = Event.find(service, "Soccer Game", {:calendar => cal.id})
Find events within a date range
event = Event.find(service, "Soccer Game", {'start-min' => Time.parse("01/01/2010").utc.xmlschema, 'start-max' => Time.parse("06/01/2010").utc.xmlschema})
Create a recurring event for every saturday
event = Event.new(service)
event.title = "Baseball Game"
event.calendar = cal
event.where = "Municipal Stadium"
event.recurrence = Recurrence.new
event.recurrence.start_time = Time.parse("06/20/2009 at 4:30 PM")
event.recurrence.end_time = Time.parse("06/20/2009 at 6:30 PM")
event.recurrence.frequency = {"weekly" => ["SA"]}
event.save
Create an event with a 15 minute email reminder
event = Event.new(service)
event.calendar = cal
event.title = "Dinner with Kate"
event.start_time = Time.parse("06/20/2009 at 5 pm")
event.end_time = Time.parse("06/20/2009 at 8 pm")
event.where = "Luigi's"
event.reminder = {:minutes => 15, :method => 'email'}
event.save
Create an event with attendees
event = Event.new(service)
event.calendar = cal
event.title = "Dinner with Kate"
event.start_time = Time.parse("06/20/2009 at 5 pm")
event.end_time = Time.parse("06/20/2009 at 8 pm")
event.attendees => {:name => "Kate", :email => "kate@gmail.com"}
event.save
FAQs
Unknown package
We found that intouch-gcal4ruby demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.