diff --git a/lib/espresso.rb b/lib/espresso.rb index 3befb79..9ae7c35 100644 --- a/lib/espresso.rb +++ b/lib/espresso.rb @@ -6,6 +6,7 @@ module Espresso autoload :View, 'espresso/view' autoload :Controller, 'espresso/controller' autoload :Collection, 'espresso/collection' + autoload :Concern, 'espresso/concern' BASE_MODULES = %w(model view controller) @@ -32,20 +33,11 @@ def self.uses(extension, extend_modules = true) extension = extension.to_s.classify BASE_MODULES.each do |module_name| mod = const_get(module_name.classify) - extend_module(mod, mod.const_get(extension)) + extension = mod.const_get(extension) + mod.send(:include, extension) end end end - - # Extend module InstanceMethods and ClassMethods with extension‘s one - # @param [Module] mod module to extend - # @param [Module] extension module, containing extensions - def self.extend_module(mod, extension) - mod.const_get(:ClassMethods).send(:include, - extension.const_get(:ClassMethods)) - mod.const_get(:InstanceMethods).send(:include, - extension.const_get(:InstanceMethods)) - end end if defined?(ActiveRecord) diff --git a/test/espresso_test.rb b/test/espresso_test.rb index aa62cd9..3dd9f27 100644 --- a/test/espresso_test.rb +++ b/test/espresso_test.rb @@ -1,6 +1,5 @@ require 'test_helper' class EspressoTest < Test::Unit::TestCase - should_have_class_methods :configure, :uses, :extend_module, - :extensions + should_have_class_methods :configure, :uses, :extensions end