Print

Print


Thanks, Steve! Thought I had tried that, but it's exactly what I was looking for.

Jason

Jason Stirnaman
Lead, Library Technology Services
University of Kansas Medical Center
[log in to unmask]
913-588-7319

On Sep 12, 2014, at 8:06 AM, Steve Meyer <[log in to unmask]> wrote:

> Since the fields property of a MARC::Record is a MARC::FieldMap, which is a
> subclass of Array, I use the Array.sort_by! method:
> 
> record.fields.sort_by! {|f| f.tag}
> 
> 
> 
> On Fri, Sep 12, 2014 at 12:28 AM, Jason Stirnaman <[log in to unmask]>
> wrote:
> 
>> Ruby-marc sages,
>> What's the best way to re-sequence fields in a record after appending to
>> it?  This seems to work ok, but feels wrong.
>> 
>> 
>>  for record in reader
>>    # Return a record with new field appended.
>>    newrecord = add_control_number(record)
>> 
>>    ### Re-sort fields by tag and copy them to a new record. ###
>>    sortedrecord = MARC::Record.new
>>    sortedrecord.leader = newrecord.leader
>>    newrecord.sort_by{|f| f.tag}.each {|tag| sortedrecord.append(tag)}
>> 
>>     writer.write(sortedrecord)
>>  end
>> 
>> 
>> Thanks,
>> Jason
>> 
>> Jason Stirnaman
>> Lead, Library Technology Services
>> University of Kansas Medical Center
>> [log in to unmask]
>> 913-588-7319
>>