simplest thing that could work implementation of Middleman::Extension

This commit is contained in:
Thomas Reynolds 2013-03-23 15:35:38 -07:00
parent cd539f4e91
commit 420b4c6087
2 changed files with 46 additions and 6 deletions

View file

@ -78,13 +78,17 @@ module Middleman
@extensions ||= []
@extensions += [extension]
extend extension
if extension.respond_to?(:registered)
if extension.method(:registered).arity === 1
extension.registered(self, &block)
else
extension.registered(self, options, &block)
if extension.instance_of? Module
extend extension
if extension.respond_to?(:registered)
if extension.method(:registered).arity === 1
extension.registered(self, &block)
else
extension.registered(self, options, &block)
end
end
elsif extension.instance_of?(Class) && extension.ancestors.include?(::Middleman::Extension)
extension.new(self, options, &block)
end
end
end