Class: Regexp

Inherits:
Object show all
Defined in:
lib/syck/rubytypes.rb

Instance Method Summary collapse

Instance Method Details

#to_yaml(opts = {}) ⇒ Object



289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
# File 'lib/syck/rubytypes.rb', line 289

def to_yaml( opts = {} )
       return super unless YAML == Syck
	Syck::quick_emit( nil, opts ) do |out|
           if to_yaml_properties.empty?
               out.scalar( taguri, self.inspect, :plain )
           else
               out.map( taguri, to_yaml_style ) do |map|
                   src = self.inspect
                   if src =~ /\A\/(.*)\/([a-z]*)\Z/
                       map.add( 'regexp', $1 )
                       map.add( 'mods', $2 )
                   else
	                raise Syck::TypeError, "Invalid Regular expression: " + src
                   end
                   to_yaml_properties.each do |m|
                       map.add( m, instance_variable_get( m ) )
                   end
               end
           end
       end
end