module FacebookGoogleCalendarSync

Constants

DEFAULT_CONFIG
VERSION

Public Class Methods

sync(config) click to toggle source
# File lib/facebook_google_calendar_sync.rb, line 21
def self.sync config
  config = DEFAULT_CONFIG.merge(config).with_indifferent_access
  configure_client config[:google_api_config_file]
  configure_logger config[:log_level]
  facebook_calendar = retrieve_facebook_calendar config[:facebook_calendar_url]
  google_calendar = GoogleCalendar.find_or_create_calendar config[:google_calendar_name]
  logger.info "Last known Facebook event update occurred at #{google_calendar.last_known_event_update}"
  Synchroniser.new(facebook_calendar, google_calendar).synchronise
end

Private Class Methods

configure_client(google_api_config_file) click to toggle source
# File lib/facebook_google_calendar_sync.rb, line 37
def self.configure_client google_api_config_file
  GoogleCalendarClient.configure do | conf |
    conf.google_api_config_file = google_api_config_file
  end
end
configure_logger(log_level) click to toggle source
# File lib/facebook_google_calendar_sync.rb, line 33
def self.configure_logger log_level
  logger.level = Logger.const_get(log_level.to_s.upcase)
end
retrieve_facebook_calendar(url) click to toggle source
# File lib/facebook_google_calendar_sync.rb, line 43
def self.retrieve_facebook_calendar url
  open(url) { | response | components = RiCal.parse(response) }.first
end