From 96d49bf04ce77c975fe500f4d961e4a1ffed4c26 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Sun, 30 Dec 2012 14:43:00 +0200 Subject: Use sdoc to generate application code documentation --- doc/code/classes/PostReceive.html | 149 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 doc/code/classes/PostReceive.html (limited to 'doc/code/classes/PostReceive.html') diff --git a/doc/code/classes/PostReceive.html b/doc/code/classes/PostReceive.html new file mode 100644 index 00000000000..d078e65eaf3 --- /dev/null +++ b/doc/code/classes/PostReceive.html @@ -0,0 +1,149 @@ + + + + + PostReceive + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + +
Methods
+
+ +
P
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + +
Class Public methods
+ +
+
+ + perform(repo_path, oldrev, newrev, ref, identifier) + + +
+ + +
+ +
+ + + + + + +
+ + +
+
# File app/workers/post_receive.rb, line 4
+def self.perform(repo_path, oldrev, newrev, ref, identifier)
+  repo_path.gsub!(Gitlab.config.gitolite.repos_path.to_s, "")
+  repo_path.gsub!(%r.git$/, "")
+  repo_path.gsub!(%r^\//, "")
+
+  project = Project.find_with_namespace(repo_path)
+  return false if project.nil?
+
+  # Ignore push from non-gitlab users
+  user = if identifier.eql? Gitlab.config.gitolite.admin_key
+    email = project.commit(newrev).author.email rescue nil
+    User.find_by_email(email) if email
+  elsif %r^[A-Z0-9._%a-z\-]+@(?:[A-Z0-9a-z\-]+\.)+[A-Za-z]{2,4}$/.match(identifier)
+    User.find_by_email(identifier)
+  else
+    Key.find_by_identifier(identifier).try(:user)
+  end
+  return false unless user
+
+  project.trigger_post_receive(oldrev, newrev, ref, user)
+end
+
+
+ +
+
+ +
+ + \ No newline at end of file -- cgit v1.2.1