1
0
mirror of https://github.com/danbee/slugtastic synced 2025-03-04 08:49:05 +00:00

Refactor fake model

This commit is contained in:
Daniel Barber 2018-04-18 15:22:44 -04:00
parent 4bedac5aed
commit 5c06a15c39
Signed by: danbarber
GPG Key ID: 931D8112E0103DD8
2 changed files with 23 additions and 19 deletions

View File

@ -1,27 +1,10 @@
# encoding: utf-8
require "spec_helper"
require "active_support/core_ext/hash/reverse_merge"
require "active_model"
require "support/fake_model"
class BaseModel
include ActiveModel::Validations::Callbacks
class BaseModel < FakeModel
extend Slugtastic::ModelAdditions
def initialize(attrs = {})
attrs.each do |key, value|
instance_variable_set(:"@#{key}", value)
end
end
def self.create!(attrs)
new(attrs).save
end
def save
_run_validation_callbacks
self
end
end
class Model < BaseModel

View File

@ -0,0 +1,21 @@
require "active_support/core_ext/hash/reverse_merge"
require "active_model"
class FakeModel
include ActiveModel::Validations::Callbacks
def initialize(attrs = {})
attrs.each do |key, value|
instance_variable_set(:"@#{key}", value)
end
end
def self.create!(attrs)
new(attrs).save
end
def save
_run_validation_callbacks
self
end
end