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
|
# encoding: utf-8
|
||||||
|
|
||||||
require "spec_helper"
|
require "spec_helper"
|
||||||
require "active_support/core_ext/hash/reverse_merge"
|
require "support/fake_model"
|
||||||
require "active_model"
|
|
||||||
|
|
||||||
class BaseModel
|
class BaseModel < FakeModel
|
||||||
include ActiveModel::Validations::Callbacks
|
|
||||||
extend Slugtastic::ModelAdditions
|
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
|
end
|
||||||
|
|
||||||
class Model < BaseModel
|
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