Move model definition to test/models for test order indenendency

This commit is contained in:
Akira Matsuda 2014-08-28 16:56:53 +09:00
parent 4304eb8b5e
commit b23365fe5c
3 changed files with 15 additions and 29 deletions

View File

@ -2,23 +2,6 @@ require 'cases/helper'
require 'models/contact'
require 'active_support/core_ext/object/instance_variables'
class Contact
include ActiveModel::Serializers::JSON
include ActiveModel::Validations
def attributes=(hash)
hash.each do |k, v|
instance_variable_set("@#{k}", v)
end
end
remove_method :attributes if method_defined?(:attributes)
def attributes
instance_values
end
end
class JsonSerializationTest < ActiveModel::TestCase
def setup
@contact = Contact.new

View File

@ -3,18 +3,6 @@ require 'models/contact'
require 'active_support/core_ext/object/instance_variables'
require 'ostruct'
class Contact
include ActiveModel::Serializers::Xml
attr_accessor :address, :friends, :contact
remove_method :attributes if method_defined?(:attributes)
def attributes
instance_values.except("address", "friends", "contact")
end
end
module Admin
class Contact < ::Contact
end

View File

@ -1,8 +1,13 @@
class Contact
extend ActiveModel::Naming
include ActiveModel::Conversion
include ActiveModel::Validations
include ActiveModel::Serializers::JSON
include ActiveModel::Serializers::Xml
attr_accessor :id, :name, :age, :created_at, :awesome, :preferences
attr_accessor :address, :friends, :contact
def social
%w(twitter github)
@ -23,4 +28,14 @@ class Contact
def persisted?
id
end
def attributes=(hash)
hash.each do |k, v|
instance_variable_set("@#{k}", v)
end
end
def attributes
instance_values.except("address", "friends", "contact")
end
end