OSDN Git Service

Refactor: Extract method to create a Change from a Changeset.
authorEric Davis <edavis@littlestreamsoftware.com>
Tue, 2 Feb 2010 17:02:32 +0000 (17:02 +0000)
committerEric Davis <edavis@littlestreamsoftware.com>
Tue, 2 Feb 2010 17:02:32 +0000 (17:02 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3360 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/models/changeset.rb
app/models/repository/darcs.rb
app/models/repository/mercurial.rb
app/models/repository/subversion.rb

index f714563..baa4366 100644 (file)
@@ -148,6 +148,15 @@ class Changeset < ActiveRecord::Base
   def self.normalize_comments(str)
     to_utf8(str.to_s.strip)
   end
+
+  # Creates a new Change from it's common parameters
+  def create_change(change)
+    Change.create(:changeset => self,
+                  :action => change[:action],
+                  :path => change[:path],
+                  :from_path => change[:from_path],
+                  :from_revision => change[:from_revision])
+  end
   
   private
 
index 5c8d387..43fb029 100644 (file)
@@ -85,11 +85,7 @@ class Repository::Darcs < Repository
                                          :comments => revision.message)
                                          
             revision.paths.each do |change|
-              Change.create(:changeset => changeset,
-                            :action => change[:action],
-                            :path => change[:path],
-                            :from_path => change[:from_path],
-                            :from_revision => change[:from_revision])
+              changeset.create_change(change)
             end
             next_rev += 1
           end if revisions
index 18cbc94..1072239 100644 (file)
@@ -78,11 +78,7 @@ class Repository::Mercurial < Repository
                                            :comments => revision.message)
               
               revision.paths.each do |change|
-                Change.create(:changeset => changeset,
-                              :action => change[:action],
-                              :path => change[:path],
-                              :from_path => change[:from_path],
-                              :from_revision => change[:from_revision])
+                changeset.create_change(change)
               end
             end
           end unless revisions.nil?
index 3eec5a6..091d141 100644 (file)
@@ -63,11 +63,7 @@ class Repository::Subversion < Repository
                                            :comments => revision.message)
               
               revision.paths.each do |change|
-                Change.create(:changeset => changeset,
-                              :action => change[:action],
-                              :path => change[:path],
-                              :from_path => change[:from_path],
-                              :from_revision => change[:from_revision])
+                changeset.create_change(change)
               end unless changeset.new_record?
             end
           end unless revisions.nil?