diff --git a/lib/schema_plus/core/active_record/base.rb b/lib/schema_plus/core/active_record/base.rb index f636b8e..dbca73f 100644 --- a/lib/schema_plus/core/active_record/base.rb +++ b/lib/schema_plus/core/active_record/base.rb @@ -19,29 +19,29 @@ def reset_column_information def has_many(name, scope = nil, options = {}, &extension) SchemaMonkey::Middleware::Model::Association::Declaration.start(model: self, name: name, scope: scope, options: options, extension: extension) do |env| - super(env.name, env.scope, env.options, &env.extension) - end + env.result = super(env.name, env.scope, env.options, &env.extension) + end.result end def has_one(name, scope = nil, options = {}, &extension) SchemaMonkey::Middleware::Model::Association::Declaration.start(model: self, name: name, scope: scope, options: options, extension: extension) do |env| - super(env.name, env.scope, env.options, &env.extension) - end + env.result = super(env.name, env.scope, env.options, &env.extension) + end.result end def has_and_belongs_to_many(name, scope = nil, options = {}, &extension) SchemaMonkey::Middleware::Model::Association::Declaration.start(model: self, name: name, scope: scope, options: options, extension: extension) do |env| - super(env.name, env.scope, env.options, &env.extension) - end + env.result = super(env.name, env.scope, env.options, &env.extension) + end.result end def belongs_to(name, scope = nil, options = {}, &extension) SchemaMonkey::Middleware::Model::Association::Declaration.start(model: self, name: name, scope: scope, options: options, extension: extension) do |env| - super(env.name, env.scope, env.options, &env.extension) - end + env.result = super(env.name, env.scope, env.options, &env.extension) + end.result end end end diff --git a/lib/schema_plus/core/middleware.rb b/lib/schema_plus/core/middleware.rb index 9f9a804..809e6e5 100644 --- a/lib/schema_plus/core/middleware.rb +++ b/lib/schema_plus/core/middleware.rb @@ -82,7 +82,7 @@ module ResetColumnInformation end module Association module Declaration - ENV = [:model, :name, :scope, :options, :extension] + ENV = [:model, :name, :scope, :options, :extension, :result] end end end