From e3d46024a486d1455c581cc356620a6c5c301069 Mon Sep 17 00:00:00 2001 From: Antonio C Nalesso Moreira Date: Wed, 15 May 2013 23:17:58 +0100 Subject: [PATCH] fix mongoid and mongo_mapper incompabilities --- lib/impressionist/engine.rb | 9 ++++----- .../models/active_record/impressionist/impressionable.rb | 2 ++ .../models/mongo_mapper/impressionist/impressionable.rb | 2 ++ .../models/mongoid/impressionist/impressionable.rb | 2 ++ 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/impressionist/engine.rb b/lib/impressionist/engine.rb index f748f97..7cac03e 100644 --- a/lib/impressionist/engine.rb +++ b/lib/impressionist/engine.rb @@ -10,8 +10,7 @@ module Impressionist end initializer 'impressionist.model' do |app| - require_orm - ActiveRecord::Base.send(:include, Impressionist::Impressionable) + require_and_include_orm end @@ -27,7 +26,7 @@ module Impressionist private - def require_orm + def require_and_include_orm require "#{root}/app/models/impressionist/impressionable.rb" require "impressionist/models/#{orm}/impression.rb" require "impressionist/models/#{orm}/impressionist/impressionable.rb" @@ -38,10 +37,10 @@ module Impressionist @orm = matcher(str.to_s) end - def matcher(str) + def matcher(str) matched = str.match(/active_record|mongo_mapper|mongoid|/) matched[0] - end + end end diff --git a/lib/impressionist/models/active_record/impressionist/impressionable.rb b/lib/impressionist/models/active_record/impressionist/impressionable.rb index 6100b88..4db6979 100644 --- a/lib/impressionist/models/active_record/impressionist/impressionable.rb +++ b/lib/impressionist/models/active_record/impressionist/impressionable.rb @@ -1,3 +1,5 @@ +ActiveRecord::Base.send(:include, Impressionist::Impressionable) + module Impressionist module Impressionable extend ActiveSupport::Concern diff --git a/lib/impressionist/models/mongo_mapper/impressionist/impressionable.rb b/lib/impressionist/models/mongo_mapper/impressionist/impressionable.rb index 9e0dd52..2b872e4 100644 --- a/lib/impressionist/models/mongo_mapper/impressionist/impressionable.rb +++ b/lib/impressionist/models/mongo_mapper/impressionist/impressionable.rb @@ -1,3 +1,5 @@ +MongoMapper::Document.plugin Impressionist::Impressionable + module Impressionist module Impressionable extend ActiveSupport::Concern diff --git a/lib/impressionist/models/mongoid/impressionist/impressionable.rb b/lib/impressionist/models/mongoid/impressionist/impressionable.rb index f7f3e83..f8a2b37 100644 --- a/lib/impressionist/models/mongoid/impressionist/impressionable.rb +++ b/lib/impressionist/models/mongoid/impressionist/impressionable.rb @@ -1,3 +1,5 @@ +Mongoid::Document.send(:include, Impressionist::Impressionable) + module Impressionist module Impressionable extend ActiveSupport::Concern