Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class GmailMessagesService < Service
- @@service_name = "GMail Messages"
- has_settings :username, :password
- def sync_labels
- unless gmail_labels_in_sync?
- GMailer.connect(:username=> self.username, :password=> self.password ) do |g|
- missing_gmail_labels.each { |missing_label| g.create_label(missing_label) }
- end
- end
- end
- protected
- def basecamp_projects
- session = self.account.basecamp_session
- session.projects.collect {|project| project.name}
- end
- def gmail_labels
- labels = []
- GMailer.connect(:username=> self.username, :password=> self.password ) do |g|
- labels = g.labels
- end
- labels
- end
- def gmail_labels_in_sync?
- basecamp_projects == gmail_labels
- end
- def missing_gmail_labels
- basecamp_projects - gmail_labels
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement