rubycs-nifty-generators-compass 0.0.1
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/CHANGELOG +79 -0
- data/LICENSE +20 -0
- data/README.rdoc +5 -0
- data/Rakefile +15 -0
- data/TODO +7 -0
- data/lib/nifty_generators.rb +3 -0
- data/nifty-generators-compass.gemspec +32 -0
- data/rails_generators/nifty_authentication/USAGE +46 -0
- data/rails_generators/nifty_authentication/lib/insert_commands.rb +74 -0
- data/rails_generators/nifty_authentication/nifty_authentication_generator.rb +118 -0
- data/rails_generators/nifty_authentication/templates/authentication.rb +49 -0
- data/rails_generators/nifty_authentication/templates/fixtures.yml +12 -0
- data/rails_generators/nifty_authentication/templates/migration.rb +15 -0
- data/rails_generators/nifty_authentication/templates/sessions_controller.rb +22 -0
- data/rails_generators/nifty_authentication/templates/sessions_helper.rb +2 -0
- data/rails_generators/nifty_authentication/templates/tests/rspec/sessions_controller.rb +25 -0
- data/rails_generators/nifty_authentication/templates/tests/rspec/user.rb +81 -0
- data/rails_generators/nifty_authentication/templates/tests/rspec/users_controller.rb +24 -0
- data/rails_generators/nifty_authentication/templates/tests/shoulda/sessions_controller.rb +26 -0
- data/rails_generators/nifty_authentication/templates/tests/shoulda/user.rb +83 -0
- data/rails_generators/nifty_authentication/templates/tests/shoulda/users_controller.rb +25 -0
- data/rails_generators/nifty_authentication/templates/tests/testunit/sessions_controller.rb +22 -0
- data/rails_generators/nifty_authentication/templates/tests/testunit/user.rb +86 -0
- data/rails_generators/nifty_authentication/templates/tests/testunit/users_controller.rb +21 -0
- data/rails_generators/nifty_authentication/templates/user.rb +38 -0
- data/rails_generators/nifty_authentication/templates/users_controller.rb +16 -0
- data/rails_generators/nifty_authentication/templates/users_helper.rb +2 -0
- data/rails_generators/nifty_authentication/templates/views/erb/login.html.erb +15 -0
- data/rails_generators/nifty_authentication/templates/views/erb/signup.html.erb +24 -0
- data/rails_generators/nifty_authentication/templates/views/haml/login.html.haml +15 -0
- data/rails_generators/nifty_authentication/templates/views/haml/signup.html.haml +24 -0
- data/rails_generators/nifty_config/USAGE +23 -0
- data/rails_generators/nifty_config/nifty_config_generator.rb +32 -0
- data/rails_generators/nifty_config/templates/config.yml +8 -0
- data/rails_generators/nifty_config/templates/load_config.rb +2 -0
- data/rails_generators/nifty_layout/USAGE +25 -0
- data/rails_generators/nifty_layout/nifty_layout_generator.rb +44 -0
- data/rails_generators/nifty_layout/templates/helper.rb +23 -0
- data/rails_generators/nifty_layout/templates/layout.html.erb +22 -0
- data/rails_generators/nifty_layout/templates/layout.html.haml +19 -0
- data/rails_generators/nifty_layout/templates/stylesheet.css +81 -0
- data/rails_generators/nifty_layout/templates/stylesheet.sass +67 -0
- data/rails_generators/nifty_scaffold/USAGE +51 -0
- data/rails_generators/nifty_scaffold/nifty_scaffold_generator.rb +232 -0
- data/rails_generators/nifty_scaffold/templates/actions/create.rb +9 -0
- data/rails_generators/nifty_scaffold/templates/actions/destroy.rb +6 -0
- data/rails_generators/nifty_scaffold/templates/actions/edit.rb +3 -0
- data/rails_generators/nifty_scaffold/templates/actions/index.rb +3 -0
- data/rails_generators/nifty_scaffold/templates/actions/new.rb +3 -0
- data/rails_generators/nifty_scaffold/templates/actions/show.rb +3 -0
- data/rails_generators/nifty_scaffold/templates/actions/update.rb +9 -0
- data/rails_generators/nifty_scaffold/templates/controller.rb +3 -0
- data/rails_generators/nifty_scaffold/templates/fixtures.yml +9 -0
- data/rails_generators/nifty_scaffold/templates/helper.rb +2 -0
- data/rails_generators/nifty_scaffold/templates/migration.rb +16 -0
- data/rails_generators/nifty_scaffold/templates/model.rb +2 -0
- data/rails_generators/nifty_scaffold/templates/tests/rspec/actions/create.rb +11 -0
- data/rails_generators/nifty_scaffold/templates/tests/rspec/actions/destroy.rb +6 -0
- data/rails_generators/nifty_scaffold/templates/tests/rspec/actions/edit.rb +4 -0
- data/rails_generators/nifty_scaffold/templates/tests/rspec/actions/index.rb +4 -0
- data/rails_generators/nifty_scaffold/templates/tests/rspec/actions/new.rb +4 -0
- data/rails_generators/nifty_scaffold/templates/tests/rspec/actions/show.rb +4 -0
- data/rails_generators/nifty_scaffold/templates/tests/rspec/actions/update.rb +11 -0
- data/rails_generators/nifty_scaffold/templates/tests/rspec/controller.rb +8 -0
- data/rails_generators/nifty_scaffold/templates/tests/rspec/model.rb +7 -0
- data/rails_generators/nifty_scaffold/templates/tests/shoulda/actions/create.rb +13 -0
- data/rails_generators/nifty_scaffold/templates/tests/shoulda/actions/destroy.rb +8 -0
- data/rails_generators/nifty_scaffold/templates/tests/shoulda/actions/edit.rb +6 -0
- data/rails_generators/nifty_scaffold/templates/tests/shoulda/actions/index.rb +6 -0
- data/rails_generators/nifty_scaffold/templates/tests/shoulda/actions/new.rb +6 -0
- data/rails_generators/nifty_scaffold/templates/tests/shoulda/actions/show.rb +6 -0
- data/rails_generators/nifty_scaffold/templates/tests/shoulda/actions/update.rb +13 -0
- data/rails_generators/nifty_scaffold/templates/tests/shoulda/controller.rb +5 -0
- data/rails_generators/nifty_scaffold/templates/tests/shoulda/model.rb +7 -0
- data/rails_generators/nifty_scaffold/templates/tests/testunit/actions/create.rb +11 -0
- data/rails_generators/nifty_scaffold/templates/tests/testunit/actions/destroy.rb +6 -0
- data/rails_generators/nifty_scaffold/templates/tests/testunit/actions/edit.rb +4 -0
- data/rails_generators/nifty_scaffold/templates/tests/testunit/actions/index.rb +4 -0
- data/rails_generators/nifty_scaffold/templates/tests/testunit/actions/new.rb +4 -0
- data/rails_generators/nifty_scaffold/templates/tests/testunit/actions/show.rb +4 -0
- data/rails_generators/nifty_scaffold/templates/tests/testunit/actions/update.rb +11 -0
- data/rails_generators/nifty_scaffold/templates/tests/testunit/controller.rb +5 -0
- data/rails_generators/nifty_scaffold/templates/tests/testunit/model.rb +7 -0
- data/rails_generators/nifty_scaffold/templates/views/erb/_form.html.erb +10 -0
- data/rails_generators/nifty_scaffold/templates/views/erb/edit.html.erb +14 -0
- data/rails_generators/nifty_scaffold/templates/views/erb/index.html.erb +29 -0
- data/rails_generators/nifty_scaffold/templates/views/erb/new.html.erb +7 -0
- data/rails_generators/nifty_scaffold/templates/views/erb/show.html.erb +20 -0
- data/rails_generators/nifty_scaffold/templates/views/haml/_form.html.haml +10 -0
- data/rails_generators/nifty_scaffold/templates/views/haml/edit.html.haml +14 -0
- data/rails_generators/nifty_scaffold/templates/views/haml/index.html.haml +25 -0
- data/rails_generators/nifty_scaffold/templates/views/haml/new.html.haml +7 -0
- data/rails_generators/nifty_scaffold/templates/views/haml/show.html.haml +20 -0
- data/tasks/deployment.rake +2 -0
- data/test/test_helper.rb +117 -0
- data/test/test_nifty_authentication_generator.rb +160 -0
- data/test/test_nifty_config_generator.rb +37 -0
- data/test/test_nifty_layout_generator.rb +42 -0
- data/test/test_nifty_scaffold_generator.rb +533 -0
- metadata +165 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
it "create action should render new template when model is invalid" do
|
|
2
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(false)
|
|
3
|
+
post :create
|
|
4
|
+
response.should render_template(:new)
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
it "create action should redirect when model is valid" do
|
|
8
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(true)
|
|
9
|
+
post :create
|
|
10
|
+
response.should redirect_to(<%= item_path_for_spec('url') %>)
|
|
11
|
+
end
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
it "destroy action should destroy model and redirect to index action" do
|
|
2
|
+
<%= singular_name %> = <%= class_name %>.first
|
|
3
|
+
delete :destroy, :id => <%= singular_name %>
|
|
4
|
+
response.should redirect_to(<%= items_path('url') %>)
|
|
5
|
+
<%= class_name %>.exists?(<%= singular_name %>.id).should be_false
|
|
6
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
it "update action should render edit template when model is invalid" do
|
|
2
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(false)
|
|
3
|
+
put :update, :id => <%= class_name %>.first
|
|
4
|
+
response.should render_template(:edit)
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
it "update action should redirect when model is valid" do
|
|
8
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(true)
|
|
9
|
+
put :update, :id => <%= class_name %>.first
|
|
10
|
+
response.should redirect_to(<%= item_path_for_spec('url') %>)
|
|
11
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
context "create action" do
|
|
2
|
+
should "render new template when model is invalid" do
|
|
3
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(false)
|
|
4
|
+
post :create
|
|
5
|
+
assert_template 'new'
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
should "redirect when model is valid" do
|
|
9
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(true)
|
|
10
|
+
post :create
|
|
11
|
+
assert_redirected_to <%= item_path_for_test('url') %>
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
context "destroy action" do
|
|
2
|
+
should "destroy model and redirect to index action" do
|
|
3
|
+
<%= singular_name %> = <%= class_name %>.first
|
|
4
|
+
delete :destroy, :id => <%= singular_name %>
|
|
5
|
+
assert_redirected_to <%= items_path('url') %>
|
|
6
|
+
assert !<%= class_name %>.exists?(<%= singular_name %>.id)
|
|
7
|
+
end
|
|
8
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
context "update action" do
|
|
2
|
+
should "render edit template when model is invalid" do
|
|
3
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(false)
|
|
4
|
+
put :update, :id => <%= class_name %>.first
|
|
5
|
+
assert_template 'edit'
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
should "redirect when model is valid" do
|
|
9
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(true)
|
|
10
|
+
put :update, :id => <%= class_name %>.first
|
|
11
|
+
assert_redirected_to <%= item_path_for_test('url') %>
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
def test_create_invalid
|
|
2
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(false)
|
|
3
|
+
post :create
|
|
4
|
+
assert_template 'new'
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
def test_create_valid
|
|
8
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(true)
|
|
9
|
+
post :create
|
|
10
|
+
assert_redirected_to <%= item_path_for_test('url') %>
|
|
11
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
def test_update_invalid
|
|
2
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(false)
|
|
3
|
+
put :update, :id => <%= class_name %>.first
|
|
4
|
+
assert_template 'edit'
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
def test_update_valid
|
|
8
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(true)
|
|
9
|
+
put :update, :id => <%= class_name %>.first
|
|
10
|
+
assert_redirected_to <%= item_path_for_test('url') %>
|
|
11
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<%% form_for @<%= singular_name %> do |f| %>
|
|
2
|
+
<%%= f.error_messages %>
|
|
3
|
+
<%- for attribute in attributes -%>
|
|
4
|
+
<p>
|
|
5
|
+
<%%= f.label :<%= attribute.name %> %><br />
|
|
6
|
+
<%%= f.<%= attribute.field_type %> :<%= attribute.name %> %>
|
|
7
|
+
</p>
|
|
8
|
+
<%- end -%>
|
|
9
|
+
<p><%%= f.submit "Submit" %></p>
|
|
10
|
+
<%% end %>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<%% title "Edit <%= singular_name.titleize %>" %>
|
|
2
|
+
|
|
3
|
+
<%= render_form %>
|
|
4
|
+
|
|
5
|
+
<%- if actions? :show, :index -%>
|
|
6
|
+
<p>
|
|
7
|
+
<%- if action? :show -%>
|
|
8
|
+
<%%= link_to "Show", @<%= singular_name %> %> |
|
|
9
|
+
<%- end -%>
|
|
10
|
+
<%- if action? :index -%>
|
|
11
|
+
<%%= link_to "View All", <%= plural_name %>_path %>
|
|
12
|
+
<%- end -%>
|
|
13
|
+
</p>
|
|
14
|
+
<%- end -%>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<%% title "<%= plural_name.titleize %>" %>
|
|
2
|
+
|
|
3
|
+
<table>
|
|
4
|
+
<tr>
|
|
5
|
+
<%- for attribute in attributes -%>
|
|
6
|
+
<th><%= attribute.column.human_name.titleize %></th>
|
|
7
|
+
<%- end -%>
|
|
8
|
+
</tr>
|
|
9
|
+
<%% for <%= singular_name %> in @<%= plural_name %> %>
|
|
10
|
+
<tr>
|
|
11
|
+
<%- for attribute in attributes -%>
|
|
12
|
+
<td><%%=h <%= singular_name %>.<%= attribute.name %> %></td>
|
|
13
|
+
<%- end -%>
|
|
14
|
+
<%- if action? :show -%>
|
|
15
|
+
<td><%%= link_to "Show", <%= singular_name %> %></td>
|
|
16
|
+
<%- end -%>
|
|
17
|
+
<%- if action? :edit -%>
|
|
18
|
+
<td><%%= link_to "Edit", edit_<%= singular_name %>_path(<%= singular_name %>) %></td>
|
|
19
|
+
<%- end -%>
|
|
20
|
+
<%- if action? :destroy -%>
|
|
21
|
+
<td><%%= link_to "Destroy", <%= singular_name %>, :confirm => 'Are you sure?', :method => :delete %></td>
|
|
22
|
+
<%- end -%>
|
|
23
|
+
</tr>
|
|
24
|
+
<%% end %>
|
|
25
|
+
</table>
|
|
26
|
+
|
|
27
|
+
<%- if action? :new -%>
|
|
28
|
+
<p><%%= link_to "New <%= singular_name.titleize %>", new_<%= singular_name %>_path %></p>
|
|
29
|
+
<%- end -%>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<%% title "<%= singular_name.titleize %>" %>
|
|
2
|
+
|
|
3
|
+
<%- for attribute in attributes -%>
|
|
4
|
+
<p>
|
|
5
|
+
<strong><%= attribute.column.human_name.titleize %>:</strong>
|
|
6
|
+
<%%=h @<%= singular_name %>.<%= attribute.name %> %>
|
|
7
|
+
</p>
|
|
8
|
+
<%- end -%>
|
|
9
|
+
|
|
10
|
+
<p>
|
|
11
|
+
<%- if action? :edit -%>
|
|
12
|
+
<%%= link_to "Edit", edit_<%= singular_name %>_path(@<%= singular_name %>) %> |
|
|
13
|
+
<%- end -%>
|
|
14
|
+
<%- if action? :destroy -%>
|
|
15
|
+
<%%= link_to "Destroy", @<%= singular_name %>, :confirm => 'Are you sure?', :method => :delete %> |
|
|
16
|
+
<%- end -%>
|
|
17
|
+
<%- if action? :index -%>
|
|
18
|
+
<%%= link_to "View All", <%= plural_name %>_path %>
|
|
19
|
+
<%- end -%>
|
|
20
|
+
</p>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
- title "Edit <%= singular_name.titleize %>"
|
|
2
|
+
|
|
3
|
+
<%= render_form %>
|
|
4
|
+
|
|
5
|
+
<%- if actions? :show, :index -%>
|
|
6
|
+
%p
|
|
7
|
+
<%- if action? :show -%>
|
|
8
|
+
= link_to "Show", <%= singular_name %>_path(@<%= singular_name %>)
|
|
9
|
+
|
|
|
10
|
+
<%- end -%>
|
|
11
|
+
<%- if action? :index -%>
|
|
12
|
+
= link_to "View All", <%= plural_name %>_path
|
|
13
|
+
<%- end -%>
|
|
14
|
+
<%- end -%>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
- title "<%= plural_name.titleize %>"
|
|
2
|
+
|
|
3
|
+
%table
|
|
4
|
+
%tr
|
|
5
|
+
<%- for attribute in attributes -%>
|
|
6
|
+
%th <%= attribute.column.human_name %>
|
|
7
|
+
<%- end -%>
|
|
8
|
+
- for <%= singular_name %> in @<%= plural_name %>
|
|
9
|
+
%tr
|
|
10
|
+
<%- for attribute in attributes -%>
|
|
11
|
+
%td= h <%= singular_name %>.<%= attribute.name %>
|
|
12
|
+
<%- end -%>
|
|
13
|
+
<%- if action? :show -%>
|
|
14
|
+
%td= link_to 'Show', <%= singular_name %>
|
|
15
|
+
<%- end -%>
|
|
16
|
+
<%- if action? :edit -%>
|
|
17
|
+
%td= link_to 'Edit', edit_<%= singular_name %>_path(<%= singular_name %>)
|
|
18
|
+
<%- end -%>
|
|
19
|
+
<%- if action? :destroy -%>
|
|
20
|
+
%td= link_to 'Destroy', <%= singular_name %>, :confirm => 'Are you sure?', :method => :delete
|
|
21
|
+
<%- end -%>
|
|
22
|
+
|
|
23
|
+
<%- if actions? :new -%>
|
|
24
|
+
%p= link_to "New <%= singular_name.titleize %>", new_<%= singular_name %>_path
|
|
25
|
+
<%- end -%>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
- title "<%= singular_name.titleize %>"
|
|
2
|
+
|
|
3
|
+
<%- for attribute in attributes -%>
|
|
4
|
+
%p
|
|
5
|
+
%strong <%= attribute.column.human_name.titleize %>:
|
|
6
|
+
=h @<%= singular_name %>.<%= attribute.name %>
|
|
7
|
+
<%- end -%>
|
|
8
|
+
|
|
9
|
+
%p
|
|
10
|
+
<%- if action? :edit -%>
|
|
11
|
+
= link_to "Edit", edit_<%= singular_name %>_path(@<%= singular_name %>)
|
|
12
|
+
|
|
|
13
|
+
<%- end -%>
|
|
14
|
+
<%- if action? :destroy -%>
|
|
15
|
+
= link_to "Destroy", @<%= singular_name %>, :confirm => 'Are you sure?', :method => :delete
|
|
16
|
+
|
|
|
17
|
+
<%- end -%>
|
|
18
|
+
<%- if action? :index -%>
|
|
19
|
+
= link_to "View All", <%= plural_name %>_path
|
|
20
|
+
<%- end -%>
|
data/test/test_helper.rb
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
require 'test/unit'
|
|
2
|
+
|
|
3
|
+
# Must set before requiring generator libs.
|
|
4
|
+
TMP_ROOT = File.dirname(__FILE__) + "/tmp" unless defined?(TMP_ROOT)
|
|
5
|
+
PROJECT_NAME = "myproject" unless defined?(PROJECT_NAME)
|
|
6
|
+
app_root = File.join(TMP_ROOT, PROJECT_NAME)
|
|
7
|
+
if defined?(APP_ROOT)
|
|
8
|
+
APP_ROOT.replace(app_root)
|
|
9
|
+
else
|
|
10
|
+
APP_ROOT = app_root
|
|
11
|
+
end
|
|
12
|
+
if defined?(RAILS_ROOT)
|
|
13
|
+
RAILS_ROOT.replace(app_root)
|
|
14
|
+
else
|
|
15
|
+
RAILS_ROOT = app_root
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
require 'rubygems'
|
|
19
|
+
gem 'rails', '2.0.2' # getting a Rails.configuration error with 2.1
|
|
20
|
+
require 'rubigen' # gem install rubigen
|
|
21
|
+
require 'rubigen/helpers/generator_test_helper'
|
|
22
|
+
require 'rails_generator'
|
|
23
|
+
require 'shoulda' # gem install Shoulda
|
|
24
|
+
require 'mocha'
|
|
25
|
+
|
|
26
|
+
module NiftyGenerators
|
|
27
|
+
module TestHelper
|
|
28
|
+
include RubiGen::GeneratorTestHelper
|
|
29
|
+
|
|
30
|
+
def setup
|
|
31
|
+
bare_setup
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def teardown
|
|
35
|
+
bare_teardown
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
protected
|
|
39
|
+
|
|
40
|
+
def run_rails_generator(generator, *args)
|
|
41
|
+
options = args.pop if args.last.kind_of? Hash
|
|
42
|
+
options ||= {}
|
|
43
|
+
run_generator(generator.to_s, args, generator_sources, options.reverse_merge(:quiet => true))
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def generator_sources
|
|
47
|
+
[RubiGen::PathSource.new(:test, File.join(File.dirname(__FILE__), "..", "rails_generators"))]
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
module ShouldaAdditions
|
|
52
|
+
def rails_generator(*args)
|
|
53
|
+
setup do
|
|
54
|
+
run_rails_generator(*args)
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def should_generate_file(file, &block)
|
|
59
|
+
should "generate file #{file}" do
|
|
60
|
+
yield("foo") if block_given?
|
|
61
|
+
assert_generated_file(file)
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def should_not_generate_file(file)
|
|
66
|
+
should "not generate file #{file}" do
|
|
67
|
+
assert !File.exists?("#{APP_ROOT}/#{file}"),"The file '#{file}' should not exist"
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
class Thoughtbot::Shoulda::Context
|
|
74
|
+
include NiftyGenerators::ShouldaAdditions
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
# Mock out what we need from AR::Base.
|
|
78
|
+
module ActiveRecord
|
|
79
|
+
class Base
|
|
80
|
+
class << self
|
|
81
|
+
attr_accessor :pluralize_table_names, :columns
|
|
82
|
+
|
|
83
|
+
def add_column(name, type = :string)
|
|
84
|
+
returning ActiveRecord::ConnectionAdapters::Column.new(name, nil) do |column|
|
|
85
|
+
column.type = type
|
|
86
|
+
@columns ||= []
|
|
87
|
+
@columns << column
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
self.pluralize_table_names = true
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
module ConnectionAdapters
|
|
95
|
+
class Column
|
|
96
|
+
attr_accessor :name, :default, :type, :limit, :null, :sql_type, :precision, :scale
|
|
97
|
+
|
|
98
|
+
def initialize(name, default, sql_type = nil)
|
|
99
|
+
@name = name
|
|
100
|
+
@default = default
|
|
101
|
+
@type = @sql_type = sql_type
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
def human_name
|
|
105
|
+
@name.humanize
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
# And what we need from ActionView
|
|
112
|
+
module ActionView
|
|
113
|
+
module Helpers
|
|
114
|
+
module ActiveRecordHelper; end
|
|
115
|
+
class InstanceTag; end
|
|
116
|
+
end
|
|
117
|
+
end
|