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
>>
|