This module provides methods for setting more complex configuration options. It is mixed into Webgen::Configuration so that its methods can be used. Detailed information on the use of the methods can be found in the “User Manual” in the “Configuration File” section.
All public methods defined in this module are available for direct use in the configuration file, e.g. the method named default_meta_info can be used like this:
default_meta_info: Webgen::SourceHandler::Page: in_menu : true :action : replace
All methods have to take exactly one argument, a Hash.
The special key :action should be used for specifying how the configuration option should be set:
Replace the configuration option with the new values.
Replace old values with new values and add missing ones (useful for hashes and normally the default value)
Set the default meta information for source handlers.
# File lib/webgen/configuration.rb, line 64 64: def default_meta_info(args) 65: args.each do |sh_name, mi| 66: raise ArgumentError, 'Invalid argument for configuration helper default_meta_info' unless mi.kind_of?(Hash) 67: action = mi.delete(:action) || 'modify' 68: mi_hash = (self['sourcehandler.default_meta_info'][complete_source_handler_name(sh_name)] ||= {}) 69: case action 70: when 'replace' then mi_hash.replace(mi) 71: else mi_hash.update(mi) 72: end 73: end 74: end
Set the default processing pipeline for a source handler.
# File lib/webgen/configuration.rb, line 94 94: def default_processing_pipeline(args) 95: args.each do |sh_name, pipeline| 96: raise ArgumentError, 'Invalid argument for configuration helper pipeline' unless pipeline.kind_of?(String) 97: mi_hash = (self['sourcehandler.default_meta_info'][complete_source_handler_name(sh_name)] ||= {}) 98: ((mi_hash['blocks'] ||= {})['default'] ||= {})['pipeline'] = pipeline 99: end 100: end
Set the path patterns used by source handlers.
# File lib/webgen/configuration.rb, line 78 78: def patterns(args) 79: args.each do |sh_name, data| 80: pattern_arr = (self['sourcehandler.patterns'][complete_source_handler_name(sh_name)] ||= []) 81: case data 82: when Array then pattern_arr.replace(data) 83: when Hash 84: (data['del'] || []).each {|pat| pattern_arr.delete(pat)} 85: (data['add'] || []).each {|pat| pattern_arr << pat} 86: else 87: raise ArgumentError, 'Invalid argument for configuration helper patterns' 88: end 89: end 90: end
Complete sh_name by checking if a source handler called Webgen::SourceHandler::SH_NAME exists.
# File lib/webgen/configuration.rb, line 105 105: def complete_source_handler_name(sh_name) 106: (Webgen::SourceHandler.constants.map {|c| c.to_s}.include?(sh_name) ? 'Webgen::SourceHandler::' + sh_name : sh_name) 107: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.