mirror of
https://github.com/danbee/slugtastic
synced 2025-03-04 08:49:05 +00:00
Refactor fake model
This commit is contained in:
parent
4bedac5aed
commit
5c06a15c39
@ -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
|
||||
|
||||
21
spec/support/fake_model.rb
Normal file
21
spec/support/fake_model.rb
Normal 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
|
||||
Loading…
Reference in New Issue
Block a user