Skip to content

Commit

Permalink
A test for AR::Base.inherited
Browse files Browse the repository at this point in the history
Ensure that Kaminari does not conflict with other gems that extend the inherited hook
  • Loading branch information
amatsuda committed Feb 11, 2015
1 parent ffbc900 commit 6fed8cd
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 2 deletions.
20 changes: 18 additions & 2 deletions spec/fake_gem.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,20 @@
# Simulate a gem providing a subclass of ActiveRecord::Base before the Railtie is loaded.
module Kaminari
module FakeGem
extend ActiveSupport::Concern

class GemDefinedModel < ActiveRecord::Base
module ClassMethods
def inherited(kls)
super
def kls.fake_gem_defined_method; end
end
end
end
end

ActiveSupport.on_load :active_record do
ActiveRecord::Base.send :include, Kaminari::FakeGem

# Simulate a gem providing a subclass of ActiveRecord::Base before the Railtie is loaded.
class GemDefinedModel < ActiveRecord::Base
end
end
9 changes: 9 additions & 0 deletions spec/models/active_record/inherited_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
require 'spec_helper'

if defined? ActiveRecord
describe Kaminari::ActiveRecordModelExtension do
subject { Class.new(ActiveRecord::Base) }
it { should respond_to :page }
it { should respond_to :fake_gem_defined_method }
end
end

0 comments on commit 6fed8cd

Please sign in to comment.