From: Piotr Talarczyk Date: 2010-09-01T16:53:58+09:00 Subject: Re: net ldap problem? Savard, Joseph wrote: > Is u2 getting set? > > irb(main):124:0> u1,u2 = > "\300\377\017\000\000\000\000\000\000\000\000\b\000\000\004\000\000\001\000\000\000".split("\032") > => > ["\300\377\017\000\000\000\000\000\000\000\000\b\000\000\004\000\000\001\000\000\000"] > irb(main):125:0> u1 > => > "\300\377\017\000\000\000\000\000\000\000\000\b\000\000\004\000\000\001\000\000\000" > irb(main):126:0> u2 > => nil > irb(main):127:0> > > > ________________________________ > From: Piotr Talarczyk > Reply-To: > Date: Tue, 31 Aug 2010 11:47:57 -0500 > To: ruby-talk ML > Subject: net ldap problem? > .... > ut1,ut2 = Marshal.dump(ut[:logonhours]).split("\032") > ut1 = ut1 + "\032" > ut2, ut3 = ut2.split("\006:") > ut3 = "\006:" + ut3 > ut2a=[] ... I didn't see that i can convert ut[:logonhours] (Net::BER::BerIdentifiedArray) to string. Cuting it with "\032" make sense only with Marshal.dump. Now my code is more simple: p ut[:logonhours] utstr = ut[:logonhours].to_s utarr=[] (0..6).each{|g| utarr[g] = utstr[g*3..g*3+2] } # divide by day tmp=utarr[1] (2..6).each{|g| utarr[g-1]=utarr[g] } utarr[6]=tmp ldap.replace_attribute ut[:dn], :logonhours, utarr.join.to_ber p ut[:logonhours] But i still have problem with replace_attribute that give me the same error as written above -- Posted via http://www.ruby-forum.com/.