[Rt-commit] rt branch, 4.4/serialize-json-initialdata, updated. rt-4.4.1-418-g71f307e

Shawn Moore shawn at bestpractical.com
Wed Mar 22 19:32:25 EDT 2017


The branch, 4.4/serialize-json-initialdata has been updated
       via  71f307ee497db8c443819d50db4b3fcf4cd0699d (commit)
      from  d78f4a9363ceb6a472e4acc588dc2a1bf585a87e (commit)

Summary of changes:
 lib/RT/Migrate/Serializer/JSON.pm | 10 ++++++++++
 1 file changed, 10 insertions(+)

- Log -----------------------------------------------------------------
commit 71f307ee497db8c443819d50db4b3fcf4cd0699d
Author: Shawn M Moore <shawn at bestpractical.com>
Date:   Wed Mar 22 23:32:16 2017 +0000

    Sort ObjectScrips by queue name for stability

diff --git a/lib/RT/Migrate/Serializer/JSON.pm b/lib/RT/Migrate/Serializer/JSON.pm
index 37e82ae..6a56220 100644
--- a/lib/RT/Migrate/Serializer/JSON.pm
+++ b/lib/RT/Migrate/Serializer/JSON.pm
@@ -237,6 +237,7 @@ sub _CanonicalizeManyToMany {
         primary_key => 'ApplyTo',
         add_to_primary => undef,
         sort_uniq => 0,
+        finalize => undef,
         canonicalize_object => sub { $_->{ObjectId} },
         @_,
     );
@@ -248,6 +249,7 @@ sub _CanonicalizeManyToMany {
     my $primary_key = $args{primary_key};
     my $add_to_primary = $args{add_to_primary};
     my $sort_uniq = $args{sort_uniq};
+    my $finalize = $args{finalize};
     my $canonicalize_object = $args{canonicalize_object};
 
     if (my $objects = delete $self->{Records}{$object_class}) {
@@ -270,6 +272,10 @@ sub _CanonicalizeManyToMany {
                       @{ $primary->{$primary_key} };
             }
 
+            if ($finalize) {
+                $finalize->($primary);
+            }
+
             if (ref($add_to_primary) eq 'CODE') {
                 $add_to_primary->($primary);
             }
@@ -490,6 +496,10 @@ sub CanonicalizeObjects {
 
             return \%object;
         },
+        finalize => sub {
+            my $scrip = shift;
+            @{ $scrip->{Queue} } = sort { $a->{ObjectId} cmp $b->{ObjectId} } @{ $scrip->{Queue} };
+        },
     );
 }
 

-----------------------------------------------------------------------


More information about the rt-commit mailing list