lib/infoboxer/media_wiki/traits.rb in infoboxer-0.1.2.1 vs lib/infoboxer/media_wiki/traits.rb in infoboxer-0.2.0

- old
+ new

@@ -66,28 +66,34 @@ alias_method :default, :new end def initialize(options = {}) @options = options - @file_prefix = [DEFAULTS[:file_prefix], options.delete(:file_prefix)]. + @file_namespace = [DEFAULTS[:file_namespace], namespace_aliases(options, 'File')]. flatten.compact.uniq - @category_prefix = [DEFAULTS[:category_prefix], options.delete(:category_prefix)]. + @category_namespace = [DEFAULTS[:category_namespace], namespace_aliases(options, 'Category')]. flatten.compact.uniq end # @private - attr_reader :file_prefix, :category_prefix + attr_reader :file_namespace, :category_namespace # @private def templates self.class.templates end private + def namespace_aliases(options, canonical) + namespace = (options[:namespaces] || []).detect{|v| v.canonical == canonical} + return nil unless namespace + [namespace['*'], *namespace.aliases] + end + DEFAULTS = { - file_prefix: 'File', - category_prefix: 'Category' + file_namespace: 'File', + category_namespace: 'Category' } end end end