Add AMS support to AR objects

This commit is contained in:
Santiago Pastorino 2013-07-04 11:17:53 -07:00
parent a25c352525
commit af357619c1
7 changed files with 47 additions and 2 deletions

6
Gemfile Normal file
View File

@ -0,0 +1,6 @@
source 'https://rubygems.org'
# Specify gem dependencies in active_model_serializers.gemspec
gemspec
gem "sqlite3"

View File

@ -11,3 +11,9 @@ begin
rescue LoadError rescue LoadError
# rails not installed, continuing # rails not installed, continuing
end end
[:active_record, :mongoid].each do |orm|
ActiveSupport.on_load(orm) do
include ActiveModel::SerializerSupport
end
end

20
test/fixtures/active_record.rb vendored Normal file
View File

@ -0,0 +1,20 @@
require 'active_record'
ActiveRecord::Base.establish_connection(
:adapter => 'sqlite3',
:database => ':memory:'
)
ActiveRecord::Schema.define do
create_table :ar_models, :force => true do |t|
t.string :attr1
t.string :attr2
end
end
class ARModel < ActiveRecord::Base
end
class ARModelSerializer < ActiveModel::Serializer
attributes :attr1, :attr2
end

View File

@ -1,7 +1,7 @@
require 'bundler/setup' require 'bundler/setup'
require 'newbase/active_model_serializers' require 'newbase/active_model_serializers'
require 'test/unit' require 'test/unit'
require 'newbase/fixtures' require 'newbase/fixtures/poro'
module TestHelper module TestHelper
Routes = ActionDispatch::Routing::RouteSet.new Routes = ActionDispatch::Routing::RouteSet.new

View File

@ -0,0 +1,13 @@
require 'newbase/test_helper'
require 'newbase/fixtures/active_record'
require 'newbase/active_model/serializer_support'
module ActiveModel
module SerializerSupport
class Test < ActiveModel::TestCase
def test_active_model_returns_its_serializer
assert_equal ARModelSerializer, ARModel.new.active_model_serializer
end
end
end
end

View File

@ -4,7 +4,7 @@ require 'newbase/active_model/serializer_support'
module ActiveModel module ActiveModel
module SerializerSupport module SerializerSupport
class Test < ActiveModel::TestCase class Test < ActiveModel::TestCase
def test_active_model_returns_its_serializer def test_active_model_on_poro_returns_its_serializer
assert_equal ModelSerializer, Model.new.active_model_serializer assert_equal ModelSerializer, Model.new.active_model_serializer
end end
end end