mack-active_record 0.5.5 → 0.6.0
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/lib/database.rb +118 -0
- data/lib/genosaurus_helpers.rb +40 -0
- data/lib/helpers/orm_helpers.rb +15 -15
- data/lib/mack-active_record.rb +16 -14
- data/lib/migration_generator/migration_generator.rb +1 -1
- data/lib/model_column.rb +55 -0
- data/lib/model_generator/manifest.yml +9 -1
- data/lib/model_generator/model_generator.rb +5 -1
- data/lib/model_generator/templates/rspec.rb.template +9 -0
- data/lib/scaffold_generator/manifest.yml +9 -2
- data/lib/scaffold_generator/scaffold_generator.rb +6 -5
- data/lib/scaffold_generator/templates/app/controllers/controller.rb.template +8 -7
- data/lib/scaffold_generator/templates/spec.rb.template +47 -0
- data/lib/tasks/db_create_drop_tasks.rake +39 -57
- data/lib/tasks/db_migration_tasks.rake +9 -74
- metadata +15 -45
- data/test/database.yml +0 -3
- data/test/fixtures/add_users_migration.rb.fixture +0 -9
- data/test/fixtures/album.rb.fixture +0 -3
- data/test/fixtures/album_unit_test.rb.fixture +0 -9
- data/test/fixtures/create_users_migration.rb.fixture +0 -12
- data/test/fixtures/routes.rb.fixture +0 -3
- data/test/fixtures/zoo.rb.fixture +0 -3
- data/test/fixtures/zoo_no_cols/edit.html.erb.fixture +0 -11
- data/test/fixtures/zoo_no_cols/index.html.erb.fixture +0 -20
- data/test/fixtures/zoo_no_cols/new.html.erb.fixture +0 -11
- data/test/fixtures/zoo_no_cols/show.html.erb.fixture +0 -6
- data/test/fixtures/zoo_with_cols/edit.html.erb.fixture +0 -19
- data/test/fixtures/zoo_with_cols/index.html.erb.fixture +0 -26
- data/test/fixtures/zoo_with_cols/new.html.erb.fixture +0 -19
- data/test/fixtures/zoo_with_cols/show.html.erb.fixture +0 -22
- data/test/fixtures/zoo_with_cols/zoos_controller.rb.fixture +0 -50
- data/test/generators/migration_generator_test.rb +0 -71
- data/test/generators/model_generator_test.rb +0 -37
- data/test/generators/scaffold_generator_test.rb +0 -61
- data/test/lib/user.rb +0 -3
- data/test/tasks/db_migration_tasks_test.rb +0 -57
- data/test/test_helper.rb +0 -77
@@ -2,85 +2,20 @@ require 'rake'
|
|
2
2
|
namespace :db do
|
3
3
|
|
4
4
|
desc "Migrate the database through scripts in db/migrations"
|
5
|
-
task :migrate => "
|
6
|
-
|
7
|
-
|
8
|
-
migration = File.basename(migration, ".rb")
|
9
|
-
m_number = migration_number(migration)
|
10
|
-
if m_number > @schema_info.version
|
11
|
-
migration_name(migration).camelcase.constantize.up
|
12
|
-
@schema_info.version += 1
|
13
|
-
@schema_info.save
|
14
|
-
end
|
15
|
-
end # each
|
5
|
+
task :migrate => "mack:environment" do
|
6
|
+
#ActiveRecord::Migrator.up(File.join(Mack.root, "db", "migrations"))
|
7
|
+
Mack::Database::Migrator.migrate
|
16
8
|
end # migrate
|
17
9
|
|
18
10
|
desc "Rolls the schema back to the previous version. Specify the number of steps with STEP=n"
|
19
|
-
task :rollback => ["
|
20
|
-
|
21
|
-
(ENV["STEP"] || 1).to_i
|
22
|
-
migration = migrations[step]
|
23
|
-
require migration
|
24
|
-
migration = File.basename(migration, ".rb")
|
25
|
-
m_number = migration_number(migration)
|
26
|
-
if m_number == @schema_info.version
|
27
|
-
migration_name(migration).camelcase.constantize.down
|
28
|
-
@schema_info.version -= 1
|
29
|
-
@schema_info.save
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
11
|
+
task :rollback => ["mack:environment"] do
|
12
|
+
Mack::Database::Migrator.rollback
|
13
|
+
#ActiveRecord::Migrator.rollback(File.join(Mack.root, "db", "migrations"), (ENV["STEP"] || 1).to_i)
|
33
14
|
end # rollback
|
34
|
-
|
35
|
-
desc "Raises an error if there are pending migrations"
|
36
|
-
task :abort_if_pending_migrations do
|
37
|
-
migrations = migration_files.reverse
|
38
|
-
return if migrations.empty?
|
39
|
-
migration = migrations.first
|
40
|
-
migration = File.basename(migration, ".rb")
|
41
|
-
m_number = migration_number(migration)
|
42
|
-
if m_number > @schema_info.version
|
43
|
-
raise Mack::Errors::UnrunMigrations.new(m_number - @schema_info.version)
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
15
|
+
|
47
16
|
desc "Displays the current schema version of your database"
|
48
|
-
task :version => "
|
49
|
-
puts "\nYour database is currently at version: #{
|
50
|
-
end
|
51
|
-
|
52
|
-
private
|
53
|
-
namespace :schema do
|
54
|
-
|
55
|
-
task :create => "mack:environment" do
|
56
|
-
require 'active_record/migration'
|
57
|
-
class CreateSchemaInfo < ActiveRecord::Migration # :nodoc:
|
58
|
-
def self.up
|
59
|
-
create_table :schema_info do |t|
|
60
|
-
t.column :version, :integer, :default => 0
|
61
|
-
end
|
62
|
-
end # up
|
63
|
-
end # CreateSchemaInfo
|
64
|
-
unless SchemaInfo.table_exists?
|
65
|
-
CreateSchemaInfo.up
|
66
|
-
SchemaInfo.create(:version => 0)
|
67
|
-
end
|
68
|
-
@schema_info = SchemaInfo.find(:first)
|
69
|
-
end # create
|
70
|
-
|
71
|
-
end # schema
|
72
|
-
|
73
|
-
|
74
|
-
def migration_files
|
75
|
-
Dir.glob(File.join(Mack::Configuration.root, "db", "migrations", "*.rb"))
|
76
|
-
end
|
77
|
-
|
78
|
-
def migration_number(migration)
|
79
|
-
migration.match(/(^\d+)/).captures.last.to_i
|
80
|
-
end
|
81
|
-
|
82
|
-
def migration_name(migration)
|
83
|
-
migration.match(/^\d+_(.+)/).captures.last
|
17
|
+
task :version => "mack:environment" do
|
18
|
+
puts "\nYour database is currently at version: #{Mack::Database::Migrator.version}\n"
|
84
19
|
end
|
85
20
|
|
86
21
|
end # db
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mack-active_record
|
3
|
-
version:
|
4
|
-
version: 0.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- markbates
|
@@ -9,17 +9,9 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-
|
12
|
+
date: 2008-07-16 00:00:00 -04:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
|
-
- !ruby/object:Gem::Dependency
|
16
|
-
name: mack-orm_common
|
17
|
-
version_requirement:
|
18
|
-
version_requirements: !ruby/object:Gem::Requirement
|
19
|
-
requirements:
|
20
|
-
- - "="
|
21
|
-
- *id001
|
22
|
-
version:
|
23
15
|
- !ruby/object:Gem::Dependency
|
24
16
|
name: activerecord
|
25
17
|
version_requirement:
|
@@ -30,22 +22,26 @@ dependencies:
|
|
30
22
|
version: 2.0.2
|
31
23
|
version:
|
32
24
|
description: "mack-active_record was developed by: markbates"
|
33
|
-
email:
|
25
|
+
email: mark@mackframework.com
|
34
26
|
executables: []
|
35
27
|
|
36
28
|
extensions: []
|
37
29
|
|
38
|
-
extra_rdoc_files:
|
39
|
-
|
30
|
+
extra_rdoc_files:
|
31
|
+
- README
|
40
32
|
files:
|
33
|
+
- lib/database.rb
|
34
|
+
- lib/genosaurus_helpers.rb
|
41
35
|
- lib/helpers/orm_helpers.rb
|
42
36
|
- lib/mack-active_record.rb
|
43
37
|
- lib/mack-active_record_tasks.rb
|
44
38
|
- lib/migration_generator/migration_generator.rb
|
45
39
|
- lib/migration_generator/templates/db/migrations/%=@migration_name%.rb.template
|
40
|
+
- lib/model_column.rb
|
46
41
|
- lib/model_generator/manifest.yml
|
47
42
|
- lib/model_generator/model_generator.rb
|
48
43
|
- lib/model_generator/templates/model.rb.template
|
44
|
+
- lib/model_generator/templates/rspec.rb.template
|
49
45
|
- lib/model_generator/templates/test.rb.template
|
50
46
|
- lib/scaffold_generator/manifest.yml
|
51
47
|
- lib/scaffold_generator/scaffold_generator.rb
|
@@ -54,12 +50,13 @@ files:
|
|
54
50
|
- lib/scaffold_generator/templates/app/views/index.html.erb.template
|
55
51
|
- lib/scaffold_generator/templates/app/views/new.html.erb.template
|
56
52
|
- lib/scaffold_generator/templates/app/views/show.html.erb.template
|
53
|
+
- lib/scaffold_generator/templates/spec.rb.template
|
57
54
|
- lib/scaffold_generator/templates/test.rb.template
|
58
55
|
- lib/tasks/db_create_drop_tasks.rake
|
59
56
|
- lib/tasks/db_migration_tasks.rake
|
60
57
|
- README
|
61
58
|
has_rdoc: true
|
62
|
-
homepage:
|
59
|
+
homepage: http://www.mackframework.com
|
63
60
|
post_install_message:
|
64
61
|
rdoc_options: []
|
65
62
|
|
@@ -70,7 +67,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
70
67
|
requirements:
|
71
68
|
- - ">="
|
72
69
|
- !ruby/object:Gem::Version
|
73
|
-
version:
|
70
|
+
version: 1.8.6
|
74
71
|
version:
|
75
72
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
76
73
|
requirements:
|
@@ -85,32 +82,5 @@ rubygems_version: 1.1.1
|
|
85
82
|
signing_key:
|
86
83
|
specification_version: 2
|
87
84
|
summary: ActiveRecord ORM support for Mack
|
88
|
-
test_files:
|
89
|
-
|
90
|
-
- test/fixtures
|
91
|
-
- test/fixtures/add_users_migration.rb.fixture
|
92
|
-
- test/fixtures/album.rb.fixture
|
93
|
-
- test/fixtures/album_unit_test.rb.fixture
|
94
|
-
- test/fixtures/create_users_migration.rb.fixture
|
95
|
-
- test/fixtures/routes.rb.fixture
|
96
|
-
- test/fixtures/zoo.rb.fixture
|
97
|
-
- test/fixtures/zoo_no_cols
|
98
|
-
- test/fixtures/zoo_no_cols/edit.html.erb.fixture
|
99
|
-
- test/fixtures/zoo_no_cols/index.html.erb.fixture
|
100
|
-
- test/fixtures/zoo_no_cols/new.html.erb.fixture
|
101
|
-
- test/fixtures/zoo_no_cols/show.html.erb.fixture
|
102
|
-
- test/fixtures/zoo_with_cols
|
103
|
-
- test/fixtures/zoo_with_cols/edit.html.erb.fixture
|
104
|
-
- test/fixtures/zoo_with_cols/index.html.erb.fixture
|
105
|
-
- test/fixtures/zoo_with_cols/new.html.erb.fixture
|
106
|
-
- test/fixtures/zoo_with_cols/show.html.erb.fixture
|
107
|
-
- test/fixtures/zoo_with_cols/zoos_controller.rb.fixture
|
108
|
-
- test/generators
|
109
|
-
- test/generators/migration_generator_test.rb
|
110
|
-
- test/generators/model_generator_test.rb
|
111
|
-
- test/generators/scaffold_generator_test.rb
|
112
|
-
- test/lib
|
113
|
-
- test/lib/user.rb
|
114
|
-
- test/tasks
|
115
|
-
- test/tasks/db_migration_tasks_test.rb
|
116
|
-
- test/test_helper.rb
|
85
|
+
test_files: []
|
86
|
+
|
data/test/database.yml
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
<h1>Edit Zoo</h1>
|
2
|
-
|
3
|
-
<%= error_messages_for :zoo %>
|
4
|
-
|
5
|
-
<% form(zoos_update_url(:id => @zoo.id), :class => "edit_zoo", :id => "edit_zoo", :method => :put) do %>
|
6
|
-
<p>
|
7
|
-
<input id="zoo_submit" name="commit" type="submit" value="Update" />
|
8
|
-
</p>
|
9
|
-
<% end %>
|
10
|
-
|
11
|
-
<%= link_to("Back", zoos_index_url) %>
|
@@ -1,20 +0,0 @@
|
|
1
|
-
<h1>Listing Zoos</h1>
|
2
|
-
|
3
|
-
<table>
|
4
|
-
<tr>
|
5
|
-
<th> </th>
|
6
|
-
</tr>
|
7
|
-
|
8
|
-
<% for zoo in @zoos %>
|
9
|
-
<tr>
|
10
|
-
<td> </td>
|
11
|
-
<td><%= link_to("Show", zoos_show_url(:id => zoo.id)) %></td>
|
12
|
-
<td><%= link_to("Edit", zoos_edit_url(:id => zoo.id)) %></td>
|
13
|
-
<td><%= link_to("Delete", zoos_delete_url(:id => zoo.id), :method => :delete, :confirm => "Are you sure?") %></td>
|
14
|
-
</tr>
|
15
|
-
<% end %>
|
16
|
-
</table>
|
17
|
-
|
18
|
-
<br />
|
19
|
-
|
20
|
-
<%= link_to("New Zoo", zoos_new_url) %>
|
@@ -1,11 +0,0 @@
|
|
1
|
-
<h1>New Zoo</h1>
|
2
|
-
|
3
|
-
<%= error_messages_for :zoo %>
|
4
|
-
|
5
|
-
<% form(zoos_create_url, :class => "new_zoo", :id => "new_zoo") do %>
|
6
|
-
<p>
|
7
|
-
<input id="zoo_submit" name="commit" type="submit" value="Create" />
|
8
|
-
</p>
|
9
|
-
<% end %>
|
10
|
-
|
11
|
-
<%= link_to("Back", zoos_index_url) %>
|
@@ -1,19 +0,0 @@
|
|
1
|
-
<h1>Edit Zoo</h1>
|
2
|
-
|
3
|
-
<%= error_messages_for :zoo %>
|
4
|
-
|
5
|
-
<% form(zoos_update_url(:id => @zoo.id), :class => "edit_zoo", :id => "edit_zoo", :method => :put) do %>
|
6
|
-
<p>
|
7
|
-
<b>Name</b><br />
|
8
|
-
<input type="text" name="zoo[name]" id="zoo_name" size="30" value="<%= @zoo.name %>" />
|
9
|
-
</p>
|
10
|
-
<p>
|
11
|
-
<b>Description</b><br />
|
12
|
-
<textarea name="zoo[description]" id="zoo_description" cols="60" rows="20"><%= @zoo.description %></textarea>
|
13
|
-
</p>
|
14
|
-
<p>
|
15
|
-
<input id="zoo_submit" name="commit" type="submit" value="Update" />
|
16
|
-
</p>
|
17
|
-
<% end %>
|
18
|
-
|
19
|
-
<%= link_to("Back", zoos_index_url) %>
|
@@ -1,26 +0,0 @@
|
|
1
|
-
<h1>Listing Zoos</h1>
|
2
|
-
|
3
|
-
<table>
|
4
|
-
<tr>
|
5
|
-
<th>Name</th>
|
6
|
-
<th>Description</th>
|
7
|
-
<th>CreatedAt</th>
|
8
|
-
<th>UpdatedAt</th>
|
9
|
-
</tr>
|
10
|
-
|
11
|
-
<% for zoo in @zoos %>
|
12
|
-
<tr>
|
13
|
-
<td><%= zoo.name %></td>
|
14
|
-
<td><%= zoo.description %></td>
|
15
|
-
<td><%= zoo.created_at %></td>
|
16
|
-
<td><%= zoo.updated_at %></td>
|
17
|
-
<td><%= link_to("Show", zoos_show_url(:id => zoo.id)) %></td>
|
18
|
-
<td><%= link_to("Edit", zoos_edit_url(:id => zoo.id)) %></td>
|
19
|
-
<td><%= link_to("Delete", zoos_delete_url(:id => zoo.id), :method => :delete, :confirm => "Are you sure?") %></td>
|
20
|
-
</tr>
|
21
|
-
<% end %>
|
22
|
-
</table>
|
23
|
-
|
24
|
-
<br />
|
25
|
-
|
26
|
-
<%= link_to("New Zoo", zoos_new_url) %>
|
@@ -1,19 +0,0 @@
|
|
1
|
-
<h1>New Zoo</h1>
|
2
|
-
|
3
|
-
<%= error_messages_for :zoo %>
|
4
|
-
|
5
|
-
<% form(zoos_create_url, :class => "new_zoo", :id => "new_zoo") do %>
|
6
|
-
<p>
|
7
|
-
<b>Name</b><br />
|
8
|
-
<input type="text" name="zoo[name]" id="zoo_name" size="30" value="<%= @zoo.name %>" />
|
9
|
-
</p>
|
10
|
-
<p>
|
11
|
-
<b>Description</b><br />
|
12
|
-
<textarea name="zoo[description]" id="zoo_description" cols="60" rows="20"><%= @zoo.description %></textarea>
|
13
|
-
</p>
|
14
|
-
<p>
|
15
|
-
<input id="zoo_submit" name="commit" type="submit" value="Create" />
|
16
|
-
</p>
|
17
|
-
<% end %>
|
18
|
-
|
19
|
-
<%= link_to("Back", zoos_index_url) %>
|
@@ -1,22 +0,0 @@
|
|
1
|
-
<p>
|
2
|
-
<h1>Zoo</h1>
|
3
|
-
</p>
|
4
|
-
<p>
|
5
|
-
<b>Name</b><br />
|
6
|
-
<%= @zoo.name %>
|
7
|
-
</p>
|
8
|
-
<p>
|
9
|
-
<b>Description</b><br />
|
10
|
-
<%= @zoo.description %>
|
11
|
-
</p>
|
12
|
-
<p>
|
13
|
-
<b>CreatedAt</b><br />
|
14
|
-
<%= @zoo.created_at %>
|
15
|
-
</p>
|
16
|
-
<p>
|
17
|
-
<b>UpdatedAt</b><br />
|
18
|
-
<%= @zoo.updated_at %>
|
19
|
-
</p>
|
20
|
-
|
21
|
-
<%= link_to("Edit", zoos_edit_url(:id => @zoo.id)) %> |
|
22
|
-
<%= link_to("Back", zoos_index_url) %>
|
@@ -1,50 +0,0 @@
|
|
1
|
-
class ZoosController < Mack::Controller::Base
|
2
|
-
|
3
|
-
# GET /zoos
|
4
|
-
def index
|
5
|
-
@zoos = Zoo.find(:all)
|
6
|
-
end
|
7
|
-
|
8
|
-
# GET /zoos/1
|
9
|
-
def show
|
10
|
-
@zoo = Zoo.find(params(:id))
|
11
|
-
end
|
12
|
-
|
13
|
-
# GET /zoos/new
|
14
|
-
def new
|
15
|
-
@zoo = Zoo.new
|
16
|
-
end
|
17
|
-
|
18
|
-
# GET /zoos/1/edit
|
19
|
-
def edit
|
20
|
-
@zoo = Zoo.find(params(:id))
|
21
|
-
end
|
22
|
-
|
23
|
-
# POST /zoos
|
24
|
-
def create
|
25
|
-
@zoo = Zoo.new(params(:zoo))
|
26
|
-
if @zoo.save
|
27
|
-
redirect_to(zoos_show_url(:id => @zoo.id))
|
28
|
-
else
|
29
|
-
render(:action, "new")
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
# PUT /zoos/1
|
34
|
-
def update
|
35
|
-
@zoo = Zoo.find(params(:id))
|
36
|
-
if @zoo.update_attributes(params(:zoo))
|
37
|
-
redirect_to(zoos_show_url(:id => @zoo.id))
|
38
|
-
else
|
39
|
-
render(:action, "edit")
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
# DELETE /zoos/1
|
44
|
-
def delete
|
45
|
-
@zoo = Zoo.find(params(:id))
|
46
|
-
@zoo.destroy
|
47
|
-
redirect_to(zoos_index_url)
|
48
|
-
end
|
49
|
-
|
50
|
-
end
|
@@ -1,71 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/../test_helper.rb'
|
2
|
-
|
3
|
-
class MigrationGeneratorTest < Test::Unit::TestCase
|
4
|
-
|
5
|
-
def test_next_migration_number
|
6
|
-
mg = MigrationGenerator.new("NAME" => "foo")
|
7
|
-
assert_equal "001", mg.next_migration_number
|
8
|
-
FileUtils.mkdir_p(migrations_directory)
|
9
|
-
assert File.exists?(migrations_directory)
|
10
|
-
File.open(File.join(migrations_directory, "001_foo.rb"), "w") {|f| f.puts ""}
|
11
|
-
assert_equal "002", mg.next_migration_number
|
12
|
-
end
|
13
|
-
|
14
|
-
def test_generate_data_mapper
|
15
|
-
generate_common
|
16
|
-
mig = <<-MIG
|
17
|
-
class FooBar < ActiveRecord::Migration
|
18
|
-
|
19
|
-
def self.up
|
20
|
-
end
|
21
|
-
|
22
|
-
def self.down
|
23
|
-
end
|
24
|
-
|
25
|
-
end
|
26
|
-
MIG
|
27
|
-
assert_equal mig, @file_body
|
28
|
-
end
|
29
|
-
|
30
|
-
def test_generate_data_mapper_with_columns
|
31
|
-
generate_common({"NAME" => "create_users", "cols" => "username:string,email_address:string,created_at:datetime,updated_at:datetime"})
|
32
|
-
mig = <<-MIG
|
33
|
-
class CreateUsers < ActiveRecord::Migration
|
34
|
-
|
35
|
-
def self.up
|
36
|
-
create_table :users do |t|
|
37
|
-
t.column :username, :string
|
38
|
-
t.column :email_address, :string
|
39
|
-
t.column :created_at, :datetime
|
40
|
-
t.column :updated_at, :datetime
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
def self.down
|
45
|
-
drop_table :users
|
46
|
-
end
|
47
|
-
|
48
|
-
end
|
49
|
-
MIG
|
50
|
-
assert_equal mig, @file_body
|
51
|
-
end
|
52
|
-
|
53
|
-
def generate_common(opts = {})
|
54
|
-
5.times do |i|
|
55
|
-
options = {"NAME" => "foo_bar"}.merge(opts)
|
56
|
-
mg = MigrationGenerator.run(options)
|
57
|
-
assert File.exists?(migrations_directory)
|
58
|
-
assert File.exists?(File.join(migrations_directory, "00#{i+1}_#{options["NAME"]}.rb"))
|
59
|
-
File.open(File.join(migrations_directory, "00#{i+1}_#{options["NAME"]}.rb"), "r") do |file|
|
60
|
-
@file_body = file.read
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
def test_required_params
|
66
|
-
assert_raise(ArgumentError) { MigrationGenerator.new }
|
67
|
-
mg = MigrationGenerator.new("NAME" => "foo")
|
68
|
-
assert_not_nil mg
|
69
|
-
end
|
70
|
-
|
71
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/../test_helper.rb'
|
2
|
-
|
3
|
-
class ModelGeneratorTest < Test::Unit::TestCase
|
4
|
-
|
5
|
-
def test_generate_data_mapper
|
6
|
-
ModelGenerator.new("name" => "album").generate
|
7
|
-
assert File.exists?(model_loc)
|
8
|
-
assert_equal fixture("album.rb"), File.open(model_loc).read
|
9
|
-
assert File.exists?(migration_loc)
|
10
|
-
end
|
11
|
-
|
12
|
-
def test_generate_data_mapper_with_columns
|
13
|
-
ModelGenerator.new("name" => "albums", "cols" => "title:string,artist_id:integer,description:text").generate
|
14
|
-
assert File.exists?(model_loc)
|
15
|
-
assert_equal fixture("album.rb"), File.open(model_loc).read
|
16
|
-
assert File.exists?(migration_loc)
|
17
|
-
end
|
18
|
-
|
19
|
-
def test_unit_test_created
|
20
|
-
ModelGenerator.new("name" => "album").generate
|
21
|
-
assert File.exists?(unit_test_loc)
|
22
|
-
assert_equal fixture("album_unit_test.rb"), File.open(unit_test_loc).read
|
23
|
-
end
|
24
|
-
|
25
|
-
def unit_test_loc
|
26
|
-
File.join(test_directory, "unit", "album_test.rb")
|
27
|
-
end
|
28
|
-
|
29
|
-
def model_loc
|
30
|
-
File.join(models_directory, "album.rb")
|
31
|
-
end
|
32
|
-
|
33
|
-
def migration_loc
|
34
|
-
File.join(migrations_directory, "001_create_albums.rb")
|
35
|
-
end
|
36
|
-
|
37
|
-
end
|
@@ -1,61 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/../test_helper.rb'
|
2
|
-
|
3
|
-
class ScaffoldGeneratorTest < Test::Unit::TestCase
|
4
|
-
|
5
|
-
def test_generate_data_mapper
|
6
|
-
sg = ScaffoldGenerator.run("name" => "zoo")
|
7
|
-
File.open(File.join(Mack::Configuration.config_directory, "routes.rb")) do |f|
|
8
|
-
assert_match "r.resource :zoos # Added by rake generate:scaffold name=zoo", f.read
|
9
|
-
end
|
10
|
-
|
11
|
-
assert File.exists?(views_directory)
|
12
|
-
assert_equal fixture("zoo_no_cols", "edit.html.erb"), File.open(File.join(views_directory, "edit.html.erb")).read
|
13
|
-
assert_equal fixture("zoo_no_cols", "index.html.erb"), File.open(File.join(views_directory, "index.html.erb")).read
|
14
|
-
assert_equal fixture("zoo_no_cols", "new.html.erb"), File.open(File.join(views_directory, "new.html.erb")).read
|
15
|
-
assert_equal fixture("zoo_no_cols", "show.html.erb"), File.open(File.join(views_directory, "show.html.erb")).read
|
16
|
-
|
17
|
-
assert File.exists?(model_file)
|
18
|
-
assert File.exists?(controller_file)
|
19
|
-
assert File.exists?(migration_file)
|
20
|
-
assert File.exists?(functional_test_file)
|
21
|
-
assert_equal fixture("zoo_with_cols", "zoos_controller.rb"), File.open(controller_file).read
|
22
|
-
assert_equal fixture("zoo.rb"), File.open(model_file).read
|
23
|
-
end
|
24
|
-
|
25
|
-
def test_generate_data_mapper_with_columns
|
26
|
-
sg = ScaffoldGenerator.run("name" => "zoo", "cols" => "name:string,description:text,created_at:datetime,updated_at:datetime")
|
27
|
-
File.open(File.join(Mack::Configuration.config_directory, "routes.rb")) do |f|
|
28
|
-
assert_match "r.resource :zoos # Added by rake generate:scaffold name=zoo", f.read
|
29
|
-
end
|
30
|
-
assert File.exists?(views_directory)
|
31
|
-
assert_equal fixture("zoo_with_cols", "edit.html.erb"), File.open(File.join(views_directory, "edit.html.erb")).read
|
32
|
-
assert_equal fixture("zoo_with_cols", "index.html.erb"), File.open(File.join(views_directory, "index.html.erb")).read
|
33
|
-
assert_equal fixture("zoo_with_cols", "new.html.erb"), File.open(File.join(views_directory, "new.html.erb")).read
|
34
|
-
assert_equal fixture("zoo_with_cols", "show.html.erb"), File.open(File.join(views_directory, "show.html.erb")).read
|
35
|
-
|
36
|
-
assert File.exists?(model_file)
|
37
|
-
assert File.exists?(controller_file)
|
38
|
-
assert File.exists?(migration_file)
|
39
|
-
end
|
40
|
-
|
41
|
-
def functional_test_file
|
42
|
-
File.join(test_directory, "functional", "zoos_controller_test.rb")
|
43
|
-
end
|
44
|
-
|
45
|
-
def views_directory
|
46
|
-
File.join(Mack::Configuration.views_directory, "zoos")
|
47
|
-
end
|
48
|
-
|
49
|
-
def model_file
|
50
|
-
File.join(Mack::Configuration.app_directory, "models", "zoo.rb")
|
51
|
-
end
|
52
|
-
|
53
|
-
def controller_file
|
54
|
-
File.join(Mack::Configuration.app_directory, "controllers", "zoos_controller.rb")
|
55
|
-
end
|
56
|
-
|
57
|
-
def migration_file
|
58
|
-
File.join(migrations_directory, "001_create_zoos.rb")
|
59
|
-
end
|
60
|
-
|
61
|
-
end
|
data/test/lib/user.rb
DELETED