Skip to content

Instantly share code, notes, and snippets.

@hennevogel
Last active September 26, 2017 16:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hennevogel/f5c3a7ea11a589024e424df31bd3e33f to your computer and use it in GitHub Desktop.
Save hennevogel/f5c3a7ea11a589024e424df31bd3e33f to your computer and use it in GitHub Desktop.
Event::CommentForProject
Event::Subscription -> Event::CommentForProject
-> User/Group
Event.all each do | event |
Event::CommentForProject > Event::Subscription > *User* > do something
end
[Event::CommentForProject Event::CommentForProject].each do |event|
NEW::Subscription > do something
end
class SendEventProjectJob
Event::CommentForProject.each do |event|
NEW::Subscription.where(project: event.payload['project']).each do |sub|
send mail to sub.user
end
end
end
class SendBuildFailJob
Event::CommentForProject.each do |event|
NEW::Subscription.find_project_by_name_amd_arch(project: event.payload['project'], arch: event.payload['arch').each do |sub|
send mail to sub.user
end
end
end
class NEW::Subscription
user: evan
events: CommentForProject, CommentForPackage, BuildFail
projects: home:evan, User.involved_projects, User.project_where_I_am_maintainer, User.packages_where_I_am_bugowner, User.watched_projects
def find_project_by_name_amd_arch
query for this shit
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment