tiny_cms 0.2.6 → 0.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +3 -1
- data/Rakefile +3 -0
- data/VERSION +1 -1
- data/app/views/tiny_cms/_form.html.erb +6 -1
- data/generators/tiny_cms/templates/migration.rb +2 -1
- data/lib/tiny_cms.rb +3 -1
- data/lib/tiny_cms/node.rb +28 -2
- data/lib/tiny_cms/pages_controller.rb +2 -2
- data/lib/tiny_cms/tiny_cms.en.yml +0 -1
- data/test/helper.rb +11 -0
- data/test/rails_app/app/controllers/dummy_controller.rb +5 -0
- data/test/rails_app/app/helpers/dummy_helper.rb +2 -0
- data/test/rails_app/app/views/dummy/index.html.erb +2 -0
- data/test/rails_app/config/environment.rb +2 -2
- data/test/rails_app/config/locales/tiny_cms.en.yml +0 -1
- data/test/support/page_migration.rb +3 -2
- data/test/test_node.rb +31 -0
- data/test/test_pages_controller.rb +4 -0
- metadata +59 -36
- data/test/rails_app/db/migrate/20100426222349_create_pages.rb +0 -19
- data/test/rails_app/db/schema.rb +0 -26
- data/test/rails_app/test/fixtures/pages.yml +0 -17
- data/test/rails_app/test/performance/browsing_test.rb +0 -9
- data/test/rails_app/test/test_helper.rb +0 -38
- data/test/rails_app/test/unit/page_test.rb +0 -8
- data/test/support/test.sqlite3s +0 -0
data/.gitignore
CHANGED
data/Rakefile
CHANGED
@@ -9,7 +9,10 @@ begin
|
|
9
9
|
gem.description = %Q{Minimal CMS Rails Engine or more likelly a "static" pages manager.\nPages can be created, deleted, edited and arranged into sections using a file tree like interface courtesy of jQuery tree (http://jstree.com).\n\nIt attempts to be as minimal, flexible and unobtrusive as posible leaving a lot of functionality like templating languages\nand authentication/authorization for page creation, deletion and editing for the Rails app developer to implement. (It now works after premature release)}
|
10
10
|
gem.email = "macarui@gmail.com"
|
11
11
|
gem.homepage = "http://github.com/maca/tiny_cms"
|
12
|
+
gem.post_install_message = %{ \n***********************************\nIf you are updating from previous versions please add new dynamic_route
|
13
|
+
and dynamic_route_uuid string fields to your node model.\n***********************************\n\n }
|
12
14
|
gem.authors = ["Macario"]
|
15
|
+
gem.add_dependency "uuid", ">= 2.3.1"
|
13
16
|
gem.add_development_dependency "shoulda", ">= 2.11.1"
|
14
17
|
gem.add_development_dependency "rails", ">= 2.3.5"
|
15
18
|
gem.add_development_dependency "factory_girl", ">= 1.3.1"
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.8
|
@@ -5,6 +5,11 @@
|
|
5
5
|
Path: <%= resource.path %>
|
6
6
|
</p>
|
7
7
|
|
8
|
+
<p>
|
9
|
+
<%= f.label :dynamic_route %>
|
10
|
+
<%= f.text_field :dynamic_route %>
|
11
|
+
</p>
|
12
|
+
|
8
13
|
<p>
|
9
14
|
<%= f.label :title %>
|
10
15
|
<%= f.text_field :title %>
|
@@ -23,4 +28,4 @@
|
|
23
28
|
<p>
|
24
29
|
<%= f.submit %>
|
25
30
|
</p>
|
26
|
-
<% end %>
|
31
|
+
<% end %>
|
@@ -6,6 +6,7 @@ class TinyCmsCreate<%= table_name.camelize %> < ActiveRecord::Migration
|
|
6
6
|
t.integer :position
|
7
7
|
t.string :title
|
8
8
|
t.string :content
|
9
|
+
t.string :route_to
|
9
10
|
|
10
11
|
t.timestamps
|
11
12
|
end
|
@@ -14,4 +15,4 @@ class TinyCmsCreate<%= table_name.camelize %> < ActiveRecord::Migration
|
|
14
15
|
def self.down
|
15
16
|
drop_table :<%= table_name %>
|
16
17
|
end
|
17
|
-
end
|
18
|
+
end
|
data/lib/tiny_cms.rb
CHANGED
data/lib/tiny_cms/node.rb
CHANGED
@@ -53,8 +53,17 @@ module TinyCMS
|
|
53
53
|
self.children_without_position = array
|
54
54
|
end
|
55
55
|
model.alias_method_chain :children=, :position
|
56
|
+
|
57
|
+
if model.columns.find { |c| c.name == 'dynamic_route' }
|
58
|
+
# dynamic routing
|
59
|
+
model.before_save :update_dynamic_route!
|
60
|
+
model.after_destroy :remove_dynamic_route!
|
61
|
+
model.find(:all, "dynamic_route IS NOT nil").each(&:update_dynamic_route!)
|
62
|
+
end
|
56
63
|
end
|
57
|
-
|
64
|
+
|
65
|
+
@@uuid = UUID.new
|
66
|
+
|
58
67
|
def parameterize_permalink
|
59
68
|
text = permalink.blank? ? title : permalink
|
60
69
|
self.permalink = text.parameterize if text
|
@@ -79,5 +88,22 @@ module TinyCMS
|
|
79
88
|
def to_json opts = {}
|
80
89
|
self.to_hash.to_json
|
81
90
|
end
|
91
|
+
|
92
|
+
# Dynamic routing
|
93
|
+
def add_dynamic_route!
|
94
|
+
controller, action = dynamic_route.split('#')
|
95
|
+
self.dynamic_route_uuid = @@uuid.generate
|
96
|
+
new_route = ActionController::Routing::Routes.builder.build(permalink, {:controller => controller, :action => action, :dynamic_route_uuid => dynamic_route_uuid})
|
97
|
+
ActionController::Routing::Routes.routes.unshift new_route
|
98
|
+
end
|
99
|
+
|
100
|
+
def remove_dynamic_route!
|
101
|
+
ActionController::Routing::Routes.routes.reject! { |r| r.instance_variable_get(:@requirements)[:dynamic_route_uuid] == dynamic_route_uuid } unless dynamic_route_uuid.blank?
|
102
|
+
end
|
103
|
+
|
104
|
+
def update_dynamic_route!
|
105
|
+
remove_dynamic_route!
|
106
|
+
add_dynamic_route! unless dynamic_route.blank?
|
107
|
+
end
|
82
108
|
end
|
83
|
-
end
|
109
|
+
end
|
data/test/helper.rb
CHANGED
@@ -11,6 +11,17 @@ require 'shoulda'
|
|
11
11
|
require 'factory_girl'
|
12
12
|
require 'support/page_migration'
|
13
13
|
|
14
|
+
class Test::Unit::TestCase
|
15
|
+
# Hack to be able to do route testing
|
16
|
+
def clean_backtrace(&block)
|
17
|
+
yield
|
18
|
+
rescue ActiveSupport::TestCase::Assertion => error
|
19
|
+
framework_path = Regexp.new(File.expand_path("#{File.dirname(__FILE__)}/assertions"))
|
20
|
+
error.backtrace.reject! { |line| File.expand_path(line) =~ framework_path }
|
21
|
+
raise
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
14
25
|
Factory.define :page do |p|
|
15
26
|
p.sequence(:title) { |i| "Node #{i}"}
|
16
27
|
p.sequence(:permalink) { |i| "node_#{i}"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# Be sure to restart your server when you modify this file
|
2
2
|
|
3
3
|
# Specifies gem version of Rails to use when vendor/rails is not present
|
4
|
-
RAILS_GEM_VERSION = '2.3.
|
4
|
+
RAILS_GEM_VERSION = '2.3.8' unless defined? RAILS_GEM_VERSION
|
5
5
|
|
6
6
|
# Bootstrap the Rails environment, frameworks, and default configuration
|
7
7
|
require File.join(File.dirname(__FILE__), 'boot')
|
@@ -38,4 +38,4 @@ Rails::Initializer.run do |config|
|
|
38
38
|
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
|
39
39
|
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}')]
|
40
40
|
# config.i18n.default_locale = :de
|
41
|
-
end
|
41
|
+
end
|
data/test/test_node.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
require 'helper'
|
2
2
|
|
3
3
|
class PageTest < Test::Unit::TestCase
|
4
|
+
include ActionController::Assertions::RoutingAssertions
|
5
|
+
|
4
6
|
should_belong_to :parent
|
5
7
|
should_have_many :children
|
6
8
|
|
@@ -262,4 +264,33 @@ class PageTest < Test::Unit::TestCase
|
|
262
264
|
end
|
263
265
|
end
|
264
266
|
end
|
267
|
+
|
268
|
+
context 'Dynamic routing' do
|
269
|
+
setup do
|
270
|
+
@page = Factory :page, :dynamic_route => "dummy#index"
|
271
|
+
end
|
272
|
+
|
273
|
+
should 'generate route' do
|
274
|
+
assert_routing @page.path, :controller => 'dummy', :action => 'index', :dynamic_route_uuid => @page.dynamic_route_uuid
|
275
|
+
end
|
276
|
+
|
277
|
+
should 'remove route on destroy' do
|
278
|
+
@page.destroy
|
279
|
+
assert_equal 0, ActionController::Routing::Routes.routes.select{ |route| route.segments.inject(""){|str,s| str << s.to_s} == "#{@page.path}/" }.size
|
280
|
+
end
|
281
|
+
|
282
|
+
context 'changing route' do
|
283
|
+
setup do
|
284
|
+
@page.update_attributes :dynamic_route => "dummy#other"
|
285
|
+
end
|
286
|
+
|
287
|
+
should 'generate route' do
|
288
|
+
assert_routing @page.path, :controller => 'dummy', :action => 'other', :dynamic_route_uuid => @page.dynamic_route_uuid
|
289
|
+
end
|
290
|
+
|
291
|
+
should 'should remove previous route' do
|
292
|
+
assert_equal 1, ActionController::Routing::Routes.routes.select{ |route| route.segments.inject(""){|str,s| str << s.to_s} == "#{@page.path}/" }.size
|
293
|
+
end
|
294
|
+
end
|
295
|
+
end
|
265
296
|
end
|
@@ -8,6 +8,10 @@ class PagesControllerTest < ActionController::TestCase
|
|
8
8
|
should_route :get, '/pages/1/edit', :controller => :pages, :action => :edit, :id => '1'
|
9
9
|
should_route :get, '/pages/1', :controller => :pages, :action => :show, :id => '1'
|
10
10
|
should_route :get, '/root/children/children', :controller => :pages, :action => :show, :path => %w(root children children)
|
11
|
+
|
12
|
+
setup do
|
13
|
+
Page.destroy_all
|
14
|
+
end
|
11
15
|
|
12
16
|
context 'get index' do
|
13
17
|
context "as html" do
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tiny_cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 7
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 0
|
7
8
|
- 2
|
8
|
-
-
|
9
|
-
version: 0.2.
|
9
|
+
- 8
|
10
|
+
version: 0.2.8
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Macario
|
@@ -14,51 +15,73 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date: 2010-
|
18
|
+
date: 2010-10-27 00:00:00 -05:00
|
18
19
|
default_executable:
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
21
|
-
name:
|
22
|
+
name: uuid
|
22
23
|
prerelease: false
|
23
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 1
|
30
|
+
segments:
|
31
|
+
- 2
|
32
|
+
- 3
|
33
|
+
- 1
|
34
|
+
version: 2.3.1
|
35
|
+
type: :runtime
|
36
|
+
version_requirements: *id001
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: shoulda
|
39
|
+
prerelease: false
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
24
42
|
requirements:
|
25
43
|
- - ">="
|
26
44
|
- !ruby/object:Gem::Version
|
45
|
+
hash: 33
|
27
46
|
segments:
|
28
47
|
- 2
|
29
48
|
- 11
|
30
49
|
- 1
|
31
50
|
version: 2.11.1
|
32
51
|
type: :development
|
33
|
-
version_requirements: *
|
52
|
+
version_requirements: *id002
|
34
53
|
- !ruby/object:Gem::Dependency
|
35
54
|
name: rails
|
36
55
|
prerelease: false
|
37
|
-
requirement: &
|
56
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
38
58
|
requirements:
|
39
59
|
- - ">="
|
40
60
|
- !ruby/object:Gem::Version
|
61
|
+
hash: 9
|
41
62
|
segments:
|
42
63
|
- 2
|
43
64
|
- 3
|
44
65
|
- 5
|
45
66
|
version: 2.3.5
|
46
67
|
type: :development
|
47
|
-
version_requirements: *
|
68
|
+
version_requirements: *id003
|
48
69
|
- !ruby/object:Gem::Dependency
|
49
70
|
name: factory_girl
|
50
71
|
prerelease: false
|
51
|
-
requirement: &
|
72
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
52
74
|
requirements:
|
53
75
|
- - ">="
|
54
76
|
- !ruby/object:Gem::Version
|
77
|
+
hash: 25
|
55
78
|
segments:
|
56
79
|
- 1
|
57
80
|
- 3
|
58
81
|
- 1
|
59
82
|
version: 1.3.1
|
60
83
|
type: :development
|
61
|
-
version_requirements: *
|
84
|
+
version_requirements: *id004
|
62
85
|
description: |-
|
63
86
|
Minimal CMS Rails Engine or more likelly a "static" pages manager.
|
64
87
|
Pages can be created, deleted, edited and arranged into sections using a file tree like interface courtesy of jQuery tree (http://jstree.com).
|
@@ -144,9 +167,12 @@ files:
|
|
144
167
|
- test/rails_app/README
|
145
168
|
- test/rails_app/Rakefile
|
146
169
|
- test/rails_app/app/controllers/application_controller.rb
|
170
|
+
- test/rails_app/app/controllers/dummy_controller.rb
|
147
171
|
- test/rails_app/app/controllers/pages_controller.rb
|
148
172
|
- test/rails_app/app/helpers/application_helper.rb
|
173
|
+
- test/rails_app/app/helpers/dummy_helper.rb
|
149
174
|
- test/rails_app/app/models/page.rb
|
175
|
+
- test/rails_app/app/views/dummy/index.html.erb
|
150
176
|
- test/rails_app/app/views/layouts/application.html.erb
|
151
177
|
- test/rails_app/config/boot.rb
|
152
178
|
- test/rails_app/config/database.yml
|
@@ -162,8 +188,6 @@ files:
|
|
162
188
|
- test/rails_app/config/locales/en.yml
|
163
189
|
- test/rails_app/config/locales/tiny_cms.en.yml
|
164
190
|
- test/rails_app/config/routes.rb
|
165
|
-
- test/rails_app/db/migrate/20100426222349_create_pages.rb
|
166
|
-
- test/rails_app/db/schema.rb
|
167
191
|
- test/rails_app/db/seeds.rb
|
168
192
|
- test/rails_app/doc/README_FOR_APP
|
169
193
|
- test/rails_app/public/404.html
|
@@ -183,68 +207,67 @@ files:
|
|
183
207
|
- test/rails_app/script/plugin
|
184
208
|
- test/rails_app/script/runner
|
185
209
|
- test/rails_app/script/server
|
186
|
-
- test/rails_app/test/fixtures/pages.yml
|
187
|
-
- test/rails_app/test/performance/browsing_test.rb
|
188
|
-
- test/rails_app/test/test_helper.rb
|
189
|
-
- test/rails_app/test/unit/page_test.rb
|
190
210
|
- test/rails_app/tmp/restart.txt
|
191
211
|
- test/support/page_migration.rb
|
192
|
-
- test/support/test.sqlite3s
|
193
212
|
- test/test_node.rb
|
194
213
|
- test/test_pages_controller.rb
|
195
214
|
has_rdoc: true
|
196
215
|
homepage: http://github.com/maca/tiny_cms
|
197
216
|
licenses: []
|
198
217
|
|
199
|
-
post_install_message:
|
218
|
+
post_install_message: " \n\
|
219
|
+
***********************************\n\
|
220
|
+
If you are updating from previous versions please add new dynamic_route\n and dynamic_route_uuid string fields to your node model.\n\
|
221
|
+
***********************************\n\n "
|
200
222
|
rdoc_options:
|
201
223
|
- --charset=UTF-8
|
202
224
|
require_paths:
|
203
225
|
- lib
|
204
226
|
required_ruby_version: !ruby/object:Gem::Requirement
|
227
|
+
none: false
|
205
228
|
requirements:
|
206
229
|
- - ">="
|
207
230
|
- !ruby/object:Gem::Version
|
231
|
+
hash: 3
|
208
232
|
segments:
|
209
233
|
- 0
|
210
234
|
version: "0"
|
211
235
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
236
|
+
none: false
|
212
237
|
requirements:
|
213
238
|
- - ">="
|
214
239
|
- !ruby/object:Gem::Version
|
240
|
+
hash: 3
|
215
241
|
segments:
|
216
242
|
- 0
|
217
243
|
version: "0"
|
218
244
|
requirements: []
|
219
245
|
|
220
246
|
rubyforge_project:
|
221
|
-
rubygems_version: 1.3.
|
247
|
+
rubygems_version: 1.3.7
|
222
248
|
signing_key:
|
223
249
|
specification_version: 3
|
224
250
|
summary: Minimal CMS Rails Engine or more likelly a "static" pages manager
|
225
251
|
test_files:
|
226
252
|
- test/helper.rb
|
227
|
-
- test/rails_app/
|
228
|
-
- test/rails_app/app/controllers/pages_controller.rb
|
229
|
-
- test/rails_app/app/helpers/application_helper.rb
|
230
|
-
- test/rails_app/app/models/page.rb
|
231
|
-
- test/rails_app/config/boot.rb
|
253
|
+
- test/rails_app/db/seeds.rb
|
232
254
|
- test/rails_app/config/environment.rb
|
255
|
+
- test/rails_app/config/boot.rb
|
256
|
+
- test/rails_app/config/routes.rb
|
257
|
+
- test/rails_app/config/initializers/backtrace_silencers.rb
|
258
|
+
- test/rails_app/config/initializers/session_store.rb
|
259
|
+
- test/rails_app/config/initializers/new_rails_defaults.rb
|
260
|
+
- test/rails_app/config/initializers/mime_types.rb
|
261
|
+
- test/rails_app/config/initializers/inflections.rb
|
233
262
|
- test/rails_app/config/environments/development.rb
|
234
263
|
- test/rails_app/config/environments/production.rb
|
235
264
|
- test/rails_app/config/environments/test.rb
|
236
|
-
- test/rails_app/
|
237
|
-
- test/rails_app/
|
238
|
-
- test/rails_app/
|
239
|
-
- test/rails_app/
|
240
|
-
- test/rails_app/
|
241
|
-
- test/rails_app/
|
242
|
-
- test/rails_app/db/migrate/20100426222349_create_pages.rb
|
243
|
-
- test/rails_app/db/schema.rb
|
244
|
-
- test/rails_app/db/seeds.rb
|
245
|
-
- test/rails_app/test/performance/browsing_test.rb
|
246
|
-
- test/rails_app/test/test_helper.rb
|
247
|
-
- test/rails_app/test/unit/page_test.rb
|
248
|
-
- test/support/page_migration.rb
|
265
|
+
- test/rails_app/app/models/page.rb
|
266
|
+
- test/rails_app/app/helpers/dummy_helper.rb
|
267
|
+
- test/rails_app/app/helpers/application_helper.rb
|
268
|
+
- test/rails_app/app/controllers/dummy_controller.rb
|
269
|
+
- test/rails_app/app/controllers/application_controller.rb
|
270
|
+
- test/rails_app/app/controllers/pages_controller.rb
|
249
271
|
- test/test_node.rb
|
250
272
|
- test/test_pages_controller.rb
|
273
|
+
- test/support/page_migration.rb
|
@@ -1,19 +0,0 @@
|
|
1
|
-
class CreatePages < ActiveRecord::Migration
|
2
|
-
def self.up
|
3
|
-
create_table :pages do |t|
|
4
|
-
t.integer :parent_id
|
5
|
-
t.string :permalink
|
6
|
-
t.string :path
|
7
|
-
t.integer :position
|
8
|
-
t.string :title
|
9
|
-
t.string :content
|
10
|
-
t.boolean :is_page
|
11
|
-
|
12
|
-
t.timestamps
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
def self.down
|
17
|
-
drop_table :pages
|
18
|
-
end
|
19
|
-
end
|
data/test/rails_app/db/schema.rb
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
# This file is auto-generated from the current state of the database. Instead of editing this file,
|
2
|
-
# please use the migrations feature of Active Record to incrementally modify your database, and
|
3
|
-
# then regenerate this schema definition.
|
4
|
-
#
|
5
|
-
# Note that this schema.rb definition is the authoritative source for your database schema. If you need
|
6
|
-
# to create the application database on another system, you should be using db:schema:load, not running
|
7
|
-
# all the migrations from scratch. The latter is a flawed and unsustainable approach (the more migrations
|
8
|
-
# you'll amass, the slower it'll run and the greater likelihood for issues).
|
9
|
-
#
|
10
|
-
# It's strongly recommended to check this file into your version control system.
|
11
|
-
|
12
|
-
ActiveRecord::Schema.define(:version => 20100426222349) do
|
13
|
-
|
14
|
-
create_table "pages", :force => true do |t|
|
15
|
-
t.integer "parent_id"
|
16
|
-
t.string "permalink"
|
17
|
-
t.string "path"
|
18
|
-
t.integer "position"
|
19
|
-
t.string "title"
|
20
|
-
t.string "content"
|
21
|
-
t.boolean "is_page"
|
22
|
-
t.datetime "created_at"
|
23
|
-
t.datetime "updated_at"
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
|
2
|
-
|
3
|
-
one:
|
4
|
-
parent_id: 1
|
5
|
-
permalink: MyString
|
6
|
-
path: MyString
|
7
|
-
position: 1
|
8
|
-
title: MyString
|
9
|
-
content: MyString
|
10
|
-
|
11
|
-
two:
|
12
|
-
parent_id: 1
|
13
|
-
permalink: MyString
|
14
|
-
path: MyString
|
15
|
-
position: 1
|
16
|
-
title: MyString
|
17
|
-
content: MyString
|
@@ -1,38 +0,0 @@
|
|
1
|
-
ENV["RAILS_ENV"] = "test"
|
2
|
-
require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
|
3
|
-
require 'test_help'
|
4
|
-
|
5
|
-
class ActiveSupport::TestCase
|
6
|
-
# Transactional fixtures accelerate your tests by wrapping each test method
|
7
|
-
# in a transaction that's rolled back on completion. This ensures that the
|
8
|
-
# test database remains unchanged so your fixtures don't have to be reloaded
|
9
|
-
# between every test method. Fewer database queries means faster tests.
|
10
|
-
#
|
11
|
-
# Read Mike Clark's excellent walkthrough at
|
12
|
-
# http://clarkware.com/cgi/blosxom/2005/10/24#Rails10FastTesting
|
13
|
-
#
|
14
|
-
# Every Active Record database supports transactions except MyISAM tables
|
15
|
-
# in MySQL. Turn off transactional fixtures in this case; however, if you
|
16
|
-
# don't care one way or the other, switching from MyISAM to InnoDB tables
|
17
|
-
# is recommended.
|
18
|
-
#
|
19
|
-
# The only drawback to using transactional fixtures is when you actually
|
20
|
-
# need to test transactions. Since your test is bracketed by a transaction,
|
21
|
-
# any transactions started in your code will be automatically rolled back.
|
22
|
-
self.use_transactional_fixtures = true
|
23
|
-
|
24
|
-
# Instantiated fixtures are slow, but give you @david where otherwise you
|
25
|
-
# would need people(:david). If you don't want to migrate your existing
|
26
|
-
# test cases which use the @david style and don't mind the speed hit (each
|
27
|
-
# instantiated fixtures translates to a database query per test method),
|
28
|
-
# then set this back to true.
|
29
|
-
self.use_instantiated_fixtures = false
|
30
|
-
|
31
|
-
# Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in alphabetical order.
|
32
|
-
#
|
33
|
-
# Note: You'll currently still have to declare fixtures explicitly in integration tests
|
34
|
-
# -- they do not yet inherit this setting
|
35
|
-
fixtures :all
|
36
|
-
|
37
|
-
# Add more helper methods to be used by all tests here...
|
38
|
-
end
|
data/test/support/test.sqlite3s
DELETED
Binary file
|