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