parent
a1498ac05a
commit
1b6c5e16d2
@ -0,0 +1,38 @@
|
||||
# All the mail and tweet related callbacks to event's lifecycle
|
||||
class EventCallbacks
|
||||
def self.after_create(event)
|
||||
EventMailer.create(event).deliver_now!
|
||||
ModerationMailer.create(event).deliver_now!
|
||||
end
|
||||
|
||||
def self.after_update(event)
|
||||
if event.moderated_changed?
|
||||
tweet(event)
|
||||
|
||||
# Send an acceptation mail to its author
|
||||
EventMailer.accept(event).deliver_now
|
||||
|
||||
# Send an acceptation mail to moderators
|
||||
ModerationMailer.accept(event).deliver_now
|
||||
else
|
||||
# Send an update mail to moderators
|
||||
ModerationMailer.update(event).deliver_now
|
||||
end
|
||||
end
|
||||
|
||||
def self.after_destroy(event)
|
||||
EventMailer.destroy(event).deliver_now
|
||||
ModerationMailer.destroy(event).deliver_now
|
||||
end
|
||||
|
||||
# Tweet this event, if configured using apache/system variables!
|
||||
def self.tweet(event)
|
||||
client = Twitter::REST::Client.new do |config|
|
||||
config.consumer_key = ENV['TWITTER_CONSUMER_KEY']
|
||||
config.consumer_secret = ENV['TWITTER_CONSUMER_SECRET']
|
||||
config.access_token = ENV['TWITTER_ACCESS_TOKEN']
|
||||
config.access_token_secret = ENV['TWITTER_ACCESS_SECRET']
|
||||
end
|
||||
client.update "#{event.to_tweet event_url(event)}" if client.consumer_key
|
||||
end
|
||||
end
|
Loading…
Reference in new issue