@@ -338,8 +338,9 @@ class RDoc::Options
338
338
339
339
attr_reader :visibility
340
340
341
- def initialize # :nodoc:
341
+ def initialize loaded_options = nil # :nodoc:
342
342
init_ivars
343
+ override loaded_options if loaded_options
343
344
end
344
345
345
346
def init_ivars # :nodoc:
@@ -417,6 +418,37 @@ def yaml_initialize tag, map # :nodoc:
417
418
init_with map
418
419
end
419
420
421
+ def override map # :nodoc:
422
+ if map . has_key? ( 'encoding' )
423
+ encoding = map [ 'encoding' ]
424
+ @encoding = encoding ? Encoding . find ( encoding ) : encoding
425
+ end
426
+
427
+ @charset = map [ 'charset' ] if map . has_key? ( 'charset' )
428
+ @exclude = map [ 'exclude' ] if map . has_key? ( 'exclude' )
429
+ @generator_name = map [ 'generator_name' ] if map . has_key? ( 'generator_name' )
430
+ @hyperlink_all = map [ 'hyperlink_all' ] if map . has_key? ( 'hyperlink_all' )
431
+ @line_numbers = map [ 'line_numbers' ] if map . has_key? ( 'line_numbers' )
432
+ @locale_name = map [ 'locale_name' ] if map . has_key? ( 'locale_name' )
433
+ @locale_dir = map [ 'locale_dir' ] if map . has_key? ( 'locale_dir' )
434
+ @main_page = map [ 'main_page' ] if map . has_key? ( 'main_page' )
435
+ @markup = map [ 'markup' ] if map . has_key? ( 'markup' )
436
+ @op_dir = map [ 'op_dir' ] if map . has_key? ( 'op_dir' )
437
+ @show_hash = map [ 'show_hash' ] if map . has_key? ( 'show_hash' )
438
+ @tab_width = map [ 'tab_width' ] if map . has_key? ( 'tab_width' )
439
+ @template_dir = map [ 'template_dir' ] if map . has_key? ( 'template_dir' )
440
+ @title = map [ 'title' ] if map . has_key? ( 'title' )
441
+ @visibility = map [ 'visibility' ] if map . has_key? ( 'visibility' )
442
+ @webcvs = map [ 'webcvs' ] if map . has_key? ( 'webcvs' )
443
+
444
+ if map . has_key? ( 'rdoc_include' )
445
+ @rdoc_include = sanitize_path map [ 'rdoc_include' ]
446
+ end
447
+ if map . has_key? ( 'static_path' )
448
+ @static_path = sanitize_path map [ 'static_path' ]
449
+ end
450
+ end
451
+
420
452
def == other # :nodoc:
421
453
self . class === other and
422
454
@encoding == other . encoding and
0 commit comments