提交 01576085 编写于 作者: A Akira Matsuda

DRY fake models for testing

上级 c684f4f3
require "abstract_unit"
require "active_model"
require "controller/fake_models"
class ApplicationController < ActionController::Base
self.view_paths = File.join(FIXTURE_LOAD_PATH, "actionpack")
end
Customer = Struct.new(:name, :id) do
extend ActiveModel::Naming
include ActiveModel::Conversion
undef_method :to_json
def to_xml(options = {})
if options[:builder]
options[:builder].name name
else
"<name>#{name}</name>"
end
end
def to_js(options = {})
"name: #{name.inspect}"
end
alias :to_text :to_js
def errors
[]
end
def persisted?
id.present?
end
def cache_key
name.to_s
end
end
module Quiz
#Models
Question = Struct.new(:name, :id) do
......@@ -56,9 +25,6 @@ def new
end
end
class BadCustomer < Customer; end
class GoodCustomer < Customer; end
module Fun
class GamesController < ApplicationController
def hello_world; end
......
......@@ -26,11 +26,15 @@ def errors
def persisted?
id.present?
end
end
class GoodCustomer < Customer
def cache_key
name.to_s
end
end
class BadCustomer < Customer; end
class GoodCustomer < Customer; end
Post = Struct.new(:title, :author_name, :body, :secret, :persisted, :written_on, :cost) do
extend ActiveModel::Naming
include ActiveModel::Conversion
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册