On Fri, Mar 15, 2019 at 8:54 AM Dirk Heinrichs <dhein...@opentext.com> wrote:
> Hi, > > I've written a custom type that has an array property. I quickly found out > that it isn't idempotent unless the array is sorted. Turned out that it was > easy to sort the current values in the provider but I couldn't find out how > to properly sort the input values w/o putting that burden on the user of > the type. I tried with munge like this: > > newproperty(:array_prop, :array_matching => :all) do > munge do |value| > value.sort > end > end > but it seems that just gets the first array element as string, which is > neither obvious nor intuitive. > Instead of using munge, you can write a custom insync? implementation to compare sorted versions of the current value and the suggested value. It should look something like this: newproperty(:array_prop, :array_matching => :all) do def insync?(is) is.sort == should.sort end end > Is there any other way than having to use > > mytype { 'title': > ... > array_prop => sort($array), > ... > } > > ? > > Thanks... > > Dirk > > -- > > *Dirk Heinrichs* > Senior Systems Engineer, Delivery Pipeline > OpenText ™ Discovery | Recommind > *Phone*: +49 2226 15966 18 > *Email*: dhein...@opentext.com > *Website*: www.recommind.de > Recommind GmbH, Von-Liebig-Straße 1, 53359 Rheinbach > Vertretungsberechtigte Geschäftsführer Gordon Davies, Madhu Ranganathan, > Christian Waida, Registergericht Amtsgericht Bonn, Registernummer HRB 10646 > This e-mail may contain confidential and/or privileged information. If you > are not the intended recipient (or have received this e-mail in error) > please notify the sender immediately and destroy this e-mail. Any > unauthorized copying, disclosure or distribution of the material in this > e-mail is strictly forbidden > Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte > Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail > irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und > vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte > Weitergabe dieser Mail sind nicht gestattet. > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to puppet-users+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/puppet-users/b50e9e0461472e2300db026f567a8ddec77d5cfc.camel%40opentext.com > <https://groups.google.com/d/msgid/puppet-users/b50e9e0461472e2300db026f567a8ddec77d5cfc.camel%40opentext.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/CADWDnrn93bw9s_viVpQ9qsqfFtSoefFWzvse3_mmSAw6Pw026Q%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.