rails3-generators 0.4.0 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +2 -1
- data/README.rdoc +5 -3
- data/Rakefile +2 -2
- data/VERSION +1 -1
- data/lib/generators/formtastic_erb.rb +9 -0
- data/lib/generators/formtastic_erb/USAGE +8 -0
- data/lib/generators/formtastic_erb/controller/controller_generator.rb +24 -0
- data/lib/generators/formtastic_erb/controller/templates/view.html.erb +0 -0
- data/lib/generators/formtastic_erb/scaffold/scaffold_generator.rb +27 -0
- data/lib/generators/formtastic_erb/scaffold/templates/_form.html.erb +12 -0
- data/lib/generators/formtastic_erb/scaffold/templates/edit.html.erb +6 -0
- data/lib/generators/formtastic_erb/scaffold/templates/index.html.erb +27 -0
- data/lib/generators/formtastic_erb/scaffold/templates/layout.html.erb +16 -0
- data/lib/generators/formtastic_erb/scaffold/templates/new.html.erb +5 -0
- data/lib/generators/formtastic_erb/scaffold/templates/show.html.erb +10 -0
- data/lib/generators/formtastic_haml.rb +9 -0
- data/lib/generators/formtastic_haml/USAGE +8 -0
- data/lib/generators/formtastic_haml/controller/controller_generator.rb +24 -0
- data/lib/generators/formtastic_haml/controller/templates/view.html.haml +0 -0
- data/lib/generators/formtastic_haml/scaffold/scaffold_generator.rb +23 -0
- data/lib/generators/formtastic_haml/scaffold/templates/_form.haml.erb +9 -0
- data/lib/generators/formtastic_haml/scaffold/templates/edit.haml.erb +7 -0
- data/lib/generators/formtastic_haml/scaffold/templates/index.haml.erb +23 -0
- data/lib/generators/formtastic_haml/scaffold/templates/layout.haml.erb +9 -0
- data/lib/generators/formtastic_haml/scaffold/templates/new.haml.erb +5 -0
- data/lib/generators/formtastic_haml/scaffold/templates/show.haml.erb +9 -0
- data/lib/generators/haml/scaffold/templates/layout.haml.erb +1 -0
- data/lib/generators/machinist.rb +11 -0
- data/lib/generators/machinist/model/model_generator.rb +19 -0
- data/lib/generators/machinist/model/templates/blueprint.rb +5 -0
- data/lib/generators/machinist/model/templates/machinist_initializer.rb +19 -0
- data/lib/replaced_by_lib_generators/rspec.rb +25 -0
- data/lib/replaced_by_lib_generators/rspec/controller/controller_generator.rb +26 -0
- data/lib/replaced_by_lib_generators/rspec/controller/templates/controller_spec.rb +23 -0
- data/lib/replaced_by_lib_generators/rspec/controller/templates/view_spec.rb +12 -0
- data/lib/replaced_by_lib_generators/rspec/helper/helper_generator.rb +11 -0
- data/lib/replaced_by_lib_generators/rspec/helper/templates/helper_spec.rb +11 -0
- data/lib/replaced_by_lib_generators/rspec/install/install_generator.rb +28 -0
- data/lib/replaced_by_lib_generators/rspec/install/templates/lib/tasks/rspec.rake +182 -0
- data/lib/replaced_by_lib_generators/rspec/install/templates/script/autospec.tt +6 -0
- data/lib/replaced_by_lib_generators/rspec/install/templates/script/spec.tt +10 -0
- data/lib/replaced_by_lib_generators/rspec/install/templates/script/spec_server.tt +9 -0
- data/lib/replaced_by_lib_generators/rspec/install/templates/spec/rcov.opts +2 -0
- data/lib/replaced_by_lib_generators/rspec/install/templates/spec/spec.opts +4 -0
- data/lib/replaced_by_lib_generators/rspec/install/templates/spec/spec_helper.rb +51 -0
- data/lib/replaced_by_lib_generators/rspec/integration/integration_generator.rb +12 -0
- data/lib/replaced_by_lib_generators/rspec/integration/templates/integration_spec.rb +4 -0
- data/lib/replaced_by_lib_generators/rspec/mailer/mailer_generator.rb +21 -0
- data/lib/replaced_by_lib_generators/rspec/mailer/templates/fixture +3 -0
- data/lib/replaced_by_lib_generators/rspec/mailer/templates/mailer_spec.rb +14 -0
- data/lib/replaced_by_lib_generators/rspec/model/model_generator.rb +22 -0
- data/lib/replaced_by_lib_generators/rspec/model/templates/fixtures.yml +19 -0
- data/lib/replaced_by_lib_generators/rspec/model/templates/model_spec.rb +13 -0
- data/lib/replaced_by_lib_generators/rspec/observer/observer_generator.rb +12 -0
- data/lib/replaced_by_lib_generators/rspec/observer/templates/observer_spec.rb +5 -0
- data/lib/replaced_by_lib_generators/rspec/plugin/plugin_generator.rb +11 -0
- data/lib/replaced_by_lib_generators/rspec/plugin/templates/%file_name%_spec.rb.tt +5 -0
- data/lib/replaced_by_lib_generators/rspec/plugin/templates/test_helper.rb +5 -0
- data/lib/replaced_by_lib_generators/rspec/scaffold/scaffold_generator.rb +112 -0
- data/lib/replaced_by_lib_generators/rspec/scaffold/templates/controller_spec.rb +127 -0
- data/lib/replaced_by_lib_generators/rspec/scaffold/templates/edit_spec.rb +25 -0
- data/lib/replaced_by_lib_generators/rspec/scaffold/templates/index_spec.rb +27 -0
- data/lib/replaced_by_lib_generators/rspec/scaffold/templates/new_spec.rb +25 -0
- data/lib/replaced_by_lib_generators/rspec/scaffold/templates/routing_spec.rb +67 -0
- data/lib/replaced_by_lib_generators/rspec/scaffold/templates/show_spec.rb +22 -0
- data/rails3-generators.gemspec +65 -5
- metadata +82 -10
data/.gitignore
CHANGED
data/README.rdoc
CHANGED
@@ -10,10 +10,12 @@ Fork the repo, add a generator, send a pull request. Pretty simple.
|
|
10
10
|
|
11
11
|
DataMapper generators: Jose Valim
|
12
12
|
|
13
|
-
Haml: Paul
|
13
|
+
Haml: Paul Barry, Anuj Dutta, Louis T
|
14
14
|
|
15
|
-
Factory Girl: Paul
|
15
|
+
Factory Girl: Paul Barry
|
16
16
|
|
17
17
|
Authlogic: Jeff Tucker
|
18
18
|
|
19
|
-
MongoMapper: Jai-Gouk Kim
|
19
|
+
MongoMapper: Jai-Gouk Kim
|
20
|
+
|
21
|
+
Machinist: Darcy Laycock
|
data/Rakefile
CHANGED
@@ -6,10 +6,10 @@ begin
|
|
6
6
|
Jeweler::Tasks.new do |gem|
|
7
7
|
gem.name = "rails3-generators"
|
8
8
|
gem.summary = %Q{Rails 3 compatible generators}
|
9
|
-
gem.description = %Q{Rails 3 compatible generators for DataMapper, Haml, Factory-girl, Authlogic, and
|
9
|
+
gem.description = %Q{Rails 3 compatible generators for DataMapper, Haml, Factory-girl, Authlogic, Mongomapper and Machinist}
|
10
10
|
gem.email = "andre@arko.net"
|
11
11
|
gem.homepage = "http://github.com/indirect/rails3-generators"
|
12
|
-
gem.authors = ["Jose Valim", "Anuj Dutta", "Paul Berry", "Jeff Tucker", "Louis T.", "Jai-Gouk Kim"]
|
12
|
+
gem.authors = ["Jose Valim", "Anuj Dutta", "Paul Berry", "Jeff Tucker", "Louis T.", "Jai-Gouk Kim", "Darcy Laycock"]
|
13
13
|
gem.add_development_dependency "rspec", ">= 1.2.9"
|
14
14
|
end
|
15
15
|
Jeweler::GemcutterTasks.new
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.5.0
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'generators/formtastic'
|
2
|
+
require 'rails/generators/named_base'
|
3
|
+
|
4
|
+
module FormtasticErb
|
5
|
+
module Generators
|
6
|
+
class ControllerGenerator < Rails::Generators::NamedBase
|
7
|
+
extend TemplatePath
|
8
|
+
|
9
|
+
argument :actions, :type => :array, :default => [], :banner => "action action"
|
10
|
+
|
11
|
+
def create_view_files
|
12
|
+
base_path = File.join("app/views", class_path, file_name)
|
13
|
+
empty_directory base_path
|
14
|
+
|
15
|
+
actions.each do |action|
|
16
|
+
@action = action
|
17
|
+
@path = File.join(base_path, "#{action}.html.haml")
|
18
|
+
|
19
|
+
template 'view.html.haml', @path
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
File without changes
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'generators/formtastic_erb'
|
2
|
+
require 'generators/erb/scaffold/scaffold_generator'
|
3
|
+
|
4
|
+
module FormtasticErb
|
5
|
+
module Generators
|
6
|
+
class ScaffoldGenerator < Erb::Generators::ScaffoldGenerator
|
7
|
+
extend TemplatePath
|
8
|
+
|
9
|
+
def copy_layout_file
|
10
|
+
return unless options[:layout]
|
11
|
+
template "layout.html.erb",
|
12
|
+
File.join("app/views/layouts", controller_class_path, "#{controller_file_name}.html.erb")
|
13
|
+
end
|
14
|
+
|
15
|
+
protected
|
16
|
+
|
17
|
+
def copy_view(view)
|
18
|
+
if view =~ /^_.*/
|
19
|
+
template "#{view}.html.erb", File.join("app/views", controller_file_path, "#{view}.html.erb")
|
20
|
+
else
|
21
|
+
super view
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<%% semantic_form_for @<%= singular_name %> do |form| %>
|
2
|
+
<%- if attributes.empty? -%>
|
3
|
+
<%% form.inputs %>
|
4
|
+
<%- else -%>
|
5
|
+
<%% form.inputs do %>
|
6
|
+
<%- for attribute in attributes -%>
|
7
|
+
<%%= form.input :<%= attribute.name %>, :label => '<%= attribute.name.titleize %>' %>
|
8
|
+
<%- end -%>
|
9
|
+
<%% end %>
|
10
|
+
<%- end -%>
|
11
|
+
<%%= form.buttons %>
|
12
|
+
<%% end %>
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<h1>Listing <%= plural_name %></h1>
|
2
|
+
|
3
|
+
<table>
|
4
|
+
<tr>
|
5
|
+
<% for attribute in attributes -%>
|
6
|
+
<th><%= attribute.human_name %></th>
|
7
|
+
<% end -%>
|
8
|
+
<th></th>
|
9
|
+
<th></th>
|
10
|
+
<th></th>
|
11
|
+
</tr>
|
12
|
+
|
13
|
+
<%% @<%= plural_name %>.each do |<%= singular_name %>| %>
|
14
|
+
<tr>
|
15
|
+
<% for attribute in attributes -%>
|
16
|
+
<td><%%= <%= singular_name %>.<%= attribute.name %> %></td>
|
17
|
+
<% end -%>
|
18
|
+
<td><%%= link_to 'Show', <%= singular_name %> %></td>
|
19
|
+
<td><%%= link_to 'Edit', edit_<%= singular_name %>_path(<%= singular_name %>) %></td>
|
20
|
+
<td><%%= link_to 'Destroy', <%= singular_name %>, :confirm => 'Are you sure?', :method => :delete %></td>
|
21
|
+
</tr>
|
22
|
+
<%% end %>
|
23
|
+
</table>
|
24
|
+
|
25
|
+
<br />
|
26
|
+
|
27
|
+
<%%= link_to 'New <%= singular_name %>', new_<%= singular_name %>_path %>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title><%= controller_class_name %>: <%%= controller.action_name %></title>
|
5
|
+
<%%= stylesheet_link_tag 'scaffold' %>
|
6
|
+
<%%= javascript_include_tag :defaults %>
|
7
|
+
<%%= csrf_meta_tag %>
|
8
|
+
</head>
|
9
|
+
<body>
|
10
|
+
|
11
|
+
<p class="notice"><%%= notice %></p>
|
12
|
+
|
13
|
+
<%%= yield %>
|
14
|
+
|
15
|
+
</body>
|
16
|
+
</html>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<% for attribute in attributes -%>
|
2
|
+
<p>
|
3
|
+
<b><%= attribute.human_name %>:</b>
|
4
|
+
<%%= @<%= singular_name %>.<%= attribute.name %> %>
|
5
|
+
</p>
|
6
|
+
|
7
|
+
<% end -%>
|
8
|
+
|
9
|
+
<%%= link_to 'Edit', edit_<%= singular_name %>_path(@<%= singular_name %>) %> |
|
10
|
+
<%%= link_to 'Back', <%= plural_name %>_path %>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'generators/formtastic'
|
2
|
+
require 'rails/generators/named_base'
|
3
|
+
|
4
|
+
module FormtasticHaml
|
5
|
+
module Generators
|
6
|
+
class ControllerGenerator < Rails::Generators::NamedBase
|
7
|
+
extend TemplatePath
|
8
|
+
|
9
|
+
argument :actions, :type => :array, :default => [], :banner => "action action"
|
10
|
+
|
11
|
+
def create_view_files
|
12
|
+
base_path = File.join("app/views", class_path, file_name)
|
13
|
+
empty_directory base_path
|
14
|
+
|
15
|
+
actions.each do |action|
|
16
|
+
@action = action
|
17
|
+
@path = File.join(base_path, "#{action}.html.haml")
|
18
|
+
|
19
|
+
template 'view.html.haml', @path
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
File without changes
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'generators/formtastic_haml/'
|
2
|
+
require 'generators/erb/scaffold/scaffold_generator'
|
3
|
+
|
4
|
+
module FormtasticHaml
|
5
|
+
module Generators
|
6
|
+
class ScaffoldGenerator < Erb::Generators::ScaffoldGenerator
|
7
|
+
extend TemplatePath
|
8
|
+
|
9
|
+
def copy_layout_file
|
10
|
+
return unless options[:layout]
|
11
|
+
template "layout.haml.erb",
|
12
|
+
File.join("app/views/layouts", controller_class_path, "#{controller_file_name}.html.haml")
|
13
|
+
end
|
14
|
+
|
15
|
+
protected
|
16
|
+
|
17
|
+
def copy_view(view)
|
18
|
+
template "#{view}.haml.erb", File.join("app/views", controller_file_path, "#{view}.html.haml")
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
- semantic_form_for @<%= singular_name %> do |form|
|
2
|
+
<%- if attributes.empty? -%>
|
3
|
+
- form.inputs
|
4
|
+
<%- else -%>
|
5
|
+
<%- for attribute in attributes -%>
|
6
|
+
= form.input :<%= attribute.name %>, :label => '<%= attribute.name.titleize %>'
|
7
|
+
<%- end -%>
|
8
|
+
<%- end -%>
|
9
|
+
= form.buttons
|
@@ -0,0 +1,23 @@
|
|
1
|
+
%h1 Listing <%= plural_name %>
|
2
|
+
|
3
|
+
%table
|
4
|
+
%tr
|
5
|
+
<% for attribute in attributes -%>
|
6
|
+
%th <%= attribute.human_name %>
|
7
|
+
<% end -%>
|
8
|
+
%th
|
9
|
+
%th
|
10
|
+
%th
|
11
|
+
|
12
|
+
- @<%= plural_name %>.each do |<%= singular_name %>|
|
13
|
+
%tr
|
14
|
+
<% for attribute in attributes -%>
|
15
|
+
%td= <%= singular_name %>.<%= attribute.name %>
|
16
|
+
<% end -%>
|
17
|
+
%td= link_to 'Show', <%= singular_name %>
|
18
|
+
%td= link_to 'Edit', edit_<%= singular_name %>_path(<%= singular_name %>)
|
19
|
+
%td= link_to 'Destroy', <%= singular_name %>, :confirm => 'Are you sure?', :method => :delete
|
20
|
+
|
21
|
+
%br
|
22
|
+
|
23
|
+
= link_to 'New <%= singular_name %>', new_<%= singular_name %>_path
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'rails/generators/named_base'
|
2
|
+
|
3
|
+
module Machinist
|
4
|
+
module Generators
|
5
|
+
class Base < Rails::Generators::NamedBase #:nodoc:
|
6
|
+
def self.source_root
|
7
|
+
@_machinist_source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'machinist', generator_name, 'templates'))
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'generators/machinist'
|
2
|
+
|
3
|
+
module Machinist
|
4
|
+
module Generators
|
5
|
+
class ModelGenerator < Base
|
6
|
+
argument :attributes, :type => :array, :default => [], :banner => "field:type field:type"
|
7
|
+
class_option :dir, :type => :string, :default => "test/blueprints", :desc => "The directory where the blueprints should go"
|
8
|
+
|
9
|
+
def create_machinist_initializer
|
10
|
+
return if File.exists?(File.expand_path("config/initializers/machinist.rb", self.destination_root))
|
11
|
+
template "machinist_initializer.rb", "config/initializers/machinist.rb"
|
12
|
+
end
|
13
|
+
|
14
|
+
def create_blueprint_file
|
15
|
+
template 'blueprint.rb', File.join(options[:dir], "#{table_name}.rb")
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# Add other envs here e.g. cucumber
|
2
|
+
if Rails.env.test?
|
3
|
+
require 'machinist'
|
4
|
+
# require 'machinist/active_record'
|
5
|
+
|
6
|
+
def Machinist.clear!
|
7
|
+
Sham.clear
|
8
|
+
# ActiveRecord::Base.clear_blueprints!
|
9
|
+
end
|
10
|
+
|
11
|
+
def Machinist.load_blueprints
|
12
|
+
Dir[Rails.root.join(<%= options[:dir].inspect %>, "**", "*.rb")].each do |file|
|
13
|
+
load file
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
# Put Machinist.load_blueprints in the test_helper.rb
|
18
|
+
|
19
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'rails/generators/named_base'
|
2
|
+
|
3
|
+
module Rspec
|
4
|
+
module Generators
|
5
|
+
class Base < Rails::Generators::NamedBase #:nodoc:
|
6
|
+
def self.source_root
|
7
|
+
@_rspec_source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'rspec', generator_name, 'templates'))
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
module Rails
|
14
|
+
module Generators
|
15
|
+
class GeneratedAttribute #:nodoc:
|
16
|
+
def input_type
|
17
|
+
@input_type ||= if type == :text
|
18
|
+
"textarea"
|
19
|
+
else
|
20
|
+
"input"
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|