rails3-generators 0.17.6 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.rdoc +8 -1
- data/Gemfile.lock +73 -65
- data/README.rdoc +6 -8
- data/lib/rails3-generators.rb +3 -10
- data/lib/rails3-generators/version.rb +1 -1
- data/rails3-generators.gemspec +8 -1
- data/test/test_helper.rb +0 -8
- metadata +21 -58
- data/lib/generators/authlogic.rb +0 -11
- data/lib/generators/authlogic/session/session_generator.rb +0 -19
- data/lib/generators/authlogic/session/templates/session.rb +0 -2
- data/lib/generators/erubis.rb +0 -9
- data/lib/generators/erubis/controller/controller_generator.rb +0 -10
- data/lib/generators/erubis/controller/templates/view.html.erb +0 -2
- data/lib/generators/erubis/scaffold/scaffold_generator.rb +0 -25
- data/lib/generators/erubis/scaffold/templates/_form.html.erb +0 -23
- data/lib/generators/erubis/scaffold/templates/edit.html.erb +0 -6
- data/lib/generators/erubis/scaffold/templates/index.html.erb +0 -27
- data/lib/generators/erubis/scaffold/templates/new.html.erb +0 -5
- data/lib/generators/erubis/scaffold/templates/show.html.erb +0 -12
- data/lib/generators/formtastic.rb +0 -29
- data/lib/generators/formtastic/scaffold/scaffold_generator.rb +0 -25
- data/lib/generators/formtastic/scaffold/templates/_form.html.erb.erb +0 -12
- data/lib/generators/formtastic/scaffold/templates/_form.html.haml.erb +0 -10
- data/lib/generators/mongo_mapper.rb +0 -59
- data/lib/generators/mongo_mapper/install/install_generator.rb +0 -30
- data/lib/generators/mongo_mapper/install/templates/database.mongo.yml +0 -25
- data/lib/generators/mongo_mapper/install/templates/mongo_mapper.rb +0 -9
- data/lib/generators/mongo_mapper/model/model_generator.rb +0 -84
- data/lib/generators/mongo_mapper/model/templates/model.rb +0 -36
- data/lib/generators/mongo_mapper/observer/observer_generator.rb +0 -15
- data/lib/generators/mongo_mapper/observer/templates/observer.rb +0 -3
- data/lib/generators/simple_form.rb +0 -30
- data/lib/generators/simple_form/scaffold/scaffold_generator.rb +0 -25
- data/lib/generators/simple_form/scaffold/templates/_form.html.erb.erb +0 -21
- data/lib/generators/simple_form/scaffold/templates/_form.html.haml.erb +0 -15
- data/test/lib/generators/authlogic/session_generator_test.rb +0 -14
- data/test/lib/generators/erubis/controller_generator_test.rb +0 -16
- data/test/lib/generators/erubis/scaffold_generator_test.rb +0 -30
- data/test/lib/generators/formtastic/scaffold_generators_test.rb +0 -19
- data/test/lib/generators/mongo_mapper/install_generator_test.rb +0 -17
- data/test/lib/generators/mongo_mapper/model_generator_test.rb +0 -73
- data/test/lib/generators/mongo_mapper/observer_generator_test.rb +0 -20
- data/test/lib/generators/mongo_mapper/testing_helper.rb +0 -1
- data/test/lib/generators/simple_form/scaffold_generators_test.rb +0 -19
data/lib/generators/authlogic.rb
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
require 'rails/generators/named_base'
|
2
|
-
|
3
|
-
module Authlogic
|
4
|
-
module Generators
|
5
|
-
class Base < Rails::Generators::NamedBase
|
6
|
-
def self.source_root
|
7
|
-
@_authlogic_source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'authlogic', generator_name, 'templates'))
|
8
|
-
end
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
require 'generators/authlogic'
|
2
|
-
|
3
|
-
module Authlogic
|
4
|
-
module Generators
|
5
|
-
class SessionGenerator < Base
|
6
|
-
desc "Builds an Authlogic session model"
|
7
|
-
|
8
|
-
check_class_collision
|
9
|
-
|
10
|
-
def create_session_file
|
11
|
-
template 'session.rb', File.join('app', 'models', class_path, "#{file_name}.rb")
|
12
|
-
end
|
13
|
-
|
14
|
-
# HACK: make test_framework generator for this generator.
|
15
|
-
hook_for :test_framework, :as => :model
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
data/lib/generators/erubis.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
require 'generators/erubis'
|
2
|
-
require 'rails/generators/erb/scaffold/scaffold_generator'
|
3
|
-
|
4
|
-
module Erubis
|
5
|
-
module Generators
|
6
|
-
class ScaffoldGenerator < Erb::Generators::ScaffoldGenerator
|
7
|
-
extend TemplatePath
|
8
|
-
|
9
|
-
hook_for :form_builder, :as => :scaffold
|
10
|
-
|
11
|
-
def copy_form_file
|
12
|
-
if options[:form_builder].nil?
|
13
|
-
filename = filename_with_extensions("_form")
|
14
|
-
template filename, File.join("app/views", controller_file_path, filename)
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
protected
|
19
|
-
|
20
|
-
def available_views
|
21
|
-
%w(index edit show new)
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
<%%= form_for(@<%= singular_name %>) do |f| %>
|
2
|
-
<%% if @<%= singular_name %>.errors.any? %>
|
3
|
-
<div id="error_explanation">
|
4
|
-
<h2><%%= pluralize(@<%= singular_name %>.errors.count, "error") %> prohibited this <%= singular_name %> from being saved:</h2>
|
5
|
-
|
6
|
-
<ul>
|
7
|
-
<%% @<%= singular_name %>.errors.full_messages.each do |msg| %>
|
8
|
-
<li><%%= msg %></li>
|
9
|
-
<%% end %>
|
10
|
-
</ul>
|
11
|
-
</div>
|
12
|
-
<%% end %>
|
13
|
-
|
14
|
-
<% for attribute in attributes -%>
|
15
|
-
<div class="field">
|
16
|
-
<%%= f.label :<%= attribute.name %> %><br />
|
17
|
-
<%%= f.<%= attribute.field_type %> :<%= attribute.name %> %>
|
18
|
-
</div>
|
19
|
-
<% end -%>
|
20
|
-
<div class="actions">
|
21
|
-
<%%= f.submit %>
|
22
|
-
</div>
|
23
|
-
<%% end %>
|
@@ -1,27 +0,0 @@
|
|
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 <%= human_name %>', new_<%= singular_name %>_path %>
|
@@ -1,12 +0,0 @@
|
|
1
|
-
<p id="notice"><%%= notice %></p>
|
2
|
-
|
3
|
-
<% for attribute in attributes -%>
|
4
|
-
<p>
|
5
|
-
<b><%= attribute.human_name %>:</b>
|
6
|
-
<%%= @<%= singular_name %>.<%= attribute.name %> %>
|
7
|
-
</p>
|
8
|
-
|
9
|
-
<% end -%>
|
10
|
-
|
11
|
-
<%%= link_to 'Edit', edit_<%= singular_name %>_path(@<%= singular_name %>) %> |
|
12
|
-
<%%= link_to 'Back', <%= plural_name %>_path %>
|
@@ -1,29 +0,0 @@
|
|
1
|
-
require 'rails/generators/named_base'
|
2
|
-
|
3
|
-
module Formtastic
|
4
|
-
module Generators
|
5
|
-
class Base < Rails::Generators::NamedBase #:nodoc:
|
6
|
-
|
7
|
-
def self.source_root
|
8
|
-
@_simple_form_source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'formtastic', generator_name, 'templates'))
|
9
|
-
end
|
10
|
-
protected
|
11
|
-
|
12
|
-
def format
|
13
|
-
:html
|
14
|
-
end
|
15
|
-
|
16
|
-
def handler
|
17
|
-
:erb
|
18
|
-
end
|
19
|
-
|
20
|
-
def filename_with_extensions(name)
|
21
|
-
[name, format, handler].compact.join(".")
|
22
|
-
end
|
23
|
-
|
24
|
-
def template_filename_with_extensions(name)
|
25
|
-
[name, format, handler, :erb].compact.join(".")
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
require 'generators/formtastic'
|
2
|
-
require 'rails/generators/resource_helpers'
|
3
|
-
|
4
|
-
module Formtastic
|
5
|
-
module Generators
|
6
|
-
class ScaffoldGenerator < Base
|
7
|
-
include Rails::Generators::ResourceHelpers
|
8
|
-
|
9
|
-
argument :attributes, :type => :array, :default => [], :banner => "field:type field:type"
|
10
|
-
|
11
|
-
class_option :template_engine
|
12
|
-
|
13
|
-
def copy_form_file
|
14
|
-
filename = filename_with_extensions("_form")
|
15
|
-
template template_filename_with_extensions("_form"), File.join("app/views", controller_file_path, filename)
|
16
|
-
end
|
17
|
-
|
18
|
-
protected
|
19
|
-
|
20
|
-
def handler
|
21
|
-
options[:template_engine].to_s.gsub('erubis', 'erb')
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
<%%= semantic_form_for @<%= file_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 %>
|
@@ -1,10 +0,0 @@
|
|
1
|
-
= semantic_form_for @<%= file_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.gsub(/_id$/, '') %>, :label => '<%= attribute.name.titleize %>'
|
8
|
-
<%- end -%>
|
9
|
-
<%- end -%>
|
10
|
-
= form.buttons
|
@@ -1,59 +0,0 @@
|
|
1
|
-
require 'rails/generators/named_base'
|
2
|
-
require 'rails/generators/active_model'
|
3
|
-
|
4
|
-
module MongoMapper
|
5
|
-
module Generators
|
6
|
-
class Base < Rails::Generators::NamedBase #:nodoc:
|
7
|
-
|
8
|
-
def self.source_root
|
9
|
-
@_mongomapper_source_root ||= File.expand_path(File.join(File.dirname(__FILE__),
|
10
|
-
'mongo_mapper', generator_name, 'templates'))
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
class ActiveModel < Rails::Generators::ActiveModel #:nodoc:
|
15
|
-
def self.all(klass)
|
16
|
-
"#{klass}.all"
|
17
|
-
end
|
18
|
-
|
19
|
-
def self.find(klass, params=nil)
|
20
|
-
"#{klass}.find(#{params})"
|
21
|
-
end
|
22
|
-
|
23
|
-
def self.build(klass, params=nil)
|
24
|
-
if params
|
25
|
-
"#{klass}.new(#{params})"
|
26
|
-
else
|
27
|
-
"#{klass}.new"
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
def save
|
32
|
-
"#{name}.save"
|
33
|
-
end
|
34
|
-
|
35
|
-
def update_attributes(params=nil)
|
36
|
-
"#{name}.update(#{params})"
|
37
|
-
end
|
38
|
-
|
39
|
-
def errors
|
40
|
-
"#{name}.errors"
|
41
|
-
end
|
42
|
-
|
43
|
-
def destroy
|
44
|
-
"#{name}.destroy"
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
module Rails
|
51
|
-
module Generators
|
52
|
-
class GeneratedAttribute #:nodoc:
|
53
|
-
def type_class
|
54
|
-
return 'DateTime' if type.to_s == 'datetime'
|
55
|
-
return type.to_s.camelcase
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
@@ -1,30 +0,0 @@
|
|
1
|
-
require 'generators/mongo_mapper'
|
2
|
-
|
3
|
-
module MongoMapper
|
4
|
-
module Generators
|
5
|
-
class InstallGenerator < Base
|
6
|
-
class_option :host, :type => :string, :default => 'localhost', :desc => "Name of the Mongo host use"
|
7
|
-
|
8
|
-
def create_files
|
9
|
-
template "mongo_mapper.rb" , "config/initializers/mongo_mapper.rb"
|
10
|
-
template "database.mongo.yml" , "config/database.mongo.yml"
|
11
|
-
say "Please ensure Gemfile contains: gem '#{orm_gem_name}', '>=0.8.2'"
|
12
|
-
say "For production enviroment DB configuration, set environment variables as indicated in config/database.mongo.yml"
|
13
|
-
end
|
14
|
-
|
15
|
-
protected
|
16
|
-
|
17
|
-
def database
|
18
|
-
name
|
19
|
-
end
|
20
|
-
|
21
|
-
def orm_gem_name
|
22
|
-
"mongo_mapper"
|
23
|
-
end
|
24
|
-
|
25
|
-
def host
|
26
|
-
options[:host] || 'localhost'
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
defaults: &defaults
|
2
|
-
adapter: mongodb
|
3
|
-
host: <%= host %>
|
4
|
-
# slaves:
|
5
|
-
# - host: slave1.local
|
6
|
-
# port: 27018
|
7
|
-
# - host: slave2.local
|
8
|
-
# port: 27019
|
9
|
-
|
10
|
-
development:
|
11
|
-
<<: *defaults
|
12
|
-
database: <%= database %>_development
|
13
|
-
|
14
|
-
test:
|
15
|
-
<<: *defaults
|
16
|
-
database: <%= database %>_test
|
17
|
-
|
18
|
-
# set these environment variables on your prod server
|
19
|
-
production:
|
20
|
-
<<: *defaults
|
21
|
-
host: <%= ENV['MONGOID_HOST'] %>
|
22
|
-
port: <%= ENV['MONGOID_PORT'] %>
|
23
|
-
username: <%= ENV['MONGOID_USERNAME'] %>
|
24
|
-
password: <%= ENV['MONGOID_PASSWORD'] %>
|
25
|
-
database: <%= ENV['MONGOID_DATABASE'] %>
|
@@ -1,9 +0,0 @@
|
|
1
|
-
database_config_file = File.join(Rails.root, "/config/database.mongo.yml")
|
2
|
-
yaml_content = File.read(database_config_file)
|
3
|
-
db_config = YAML::load(yaml_content)
|
4
|
-
|
5
|
-
if db_config[Rails.env] && db_config[Rails.env]['adapter'] == 'mongodb'
|
6
|
-
mongo = db_config[Rails.env]
|
7
|
-
MongoMapper.connection = Mongo::Connection.new(mongo['host'])
|
8
|
-
MongoMapper.database = mongo['database']
|
9
|
-
end
|
@@ -1,84 +0,0 @@
|
|
1
|
-
require 'generators/mongo_mapper'
|
2
|
-
require 'generators/helpers/model_helper'
|
3
|
-
|
4
|
-
module MongoMapper
|
5
|
-
module Generators
|
6
|
-
class ModelGenerator < Base
|
7
|
-
|
8
|
-
argument :attributes, :type => :array, :default => [], :banner => "field:type field:type#, posfixing with '#' marks attribute to be indexed"
|
9
|
-
|
10
|
-
class_option :timestamps, :type => :boolean, :aliases => "-T", :desc => "Add timestamps created_at and updated_at", :default => false
|
11
|
-
class_option :embedded, :type => :boolean, :aliases => "-E", :desc => "Embedded document", :default => false
|
12
|
-
class_option :version, :type => :boolean, :aliases => "-V", :desc => "Add versioning", :default => false
|
13
|
-
class_option :parent, :type => :string, :aliases => "-P", :desc => "Class name of parent document"
|
14
|
-
|
15
|
-
# check_class_collision
|
16
|
-
|
17
|
-
attr_accessor :model_attributes, :model_indexes
|
18
|
-
|
19
|
-
def initialize(*args, &block)
|
20
|
-
super
|
21
|
-
# from helpers/model_helper
|
22
|
-
# parse_model_attributes
|
23
|
-
|
24
|
-
@model_attributes = []
|
25
|
-
@model_indexes = {}
|
26
|
-
|
27
|
-
@model_attributes = attributes
|
28
|
-
end
|
29
|
-
|
30
|
-
def create_model_file
|
31
|
-
template 'model.rb', "app/models/#{file_name}.rb"
|
32
|
-
end
|
33
|
-
|
34
|
-
protected
|
35
|
-
|
36
|
-
def embedded_statement
|
37
|
-
"include MongoMapper::EmbeddedDocument"
|
38
|
-
end
|
39
|
-
|
40
|
-
def version_statement
|
41
|
-
'include Versioned # see http://github.com/nathancolgate/versioned for 0.8 compatible version'
|
42
|
-
end
|
43
|
-
|
44
|
-
def timestamps_statement
|
45
|
-
'timestamps!'
|
46
|
-
end
|
47
|
-
|
48
|
-
def statements
|
49
|
-
stm_list = []
|
50
|
-
stm_list << embedded_statement if embedded?
|
51
|
-
stm_list << version_statement if version?
|
52
|
-
stm_list << timestamps_statement if timestamps?
|
53
|
-
stm_list.join("\n")
|
54
|
-
end
|
55
|
-
|
56
|
-
|
57
|
-
def version?
|
58
|
-
options[:version]
|
59
|
-
end
|
60
|
-
|
61
|
-
def embedded?
|
62
|
-
options[:embedded]
|
63
|
-
end
|
64
|
-
|
65
|
-
def parent?
|
66
|
-
options[:parent]
|
67
|
-
end
|
68
|
-
|
69
|
-
def timestamps?
|
70
|
-
options[:timestamps]
|
71
|
-
end
|
72
|
-
|
73
|
-
def model_exists?
|
74
|
-
File.exist? destination_path("app/models/#{file_name}.rb")
|
75
|
-
end
|
76
|
-
|
77
|
-
def model_columns_for_attributes
|
78
|
-
class_name.constantize.columns.reject do |column|
|
79
|
-
column.name.to_s =~ /^(id|created_at|updated_at)$/
|
80
|
-
end
|
81
|
-
end
|
82
|
-
end
|
83
|
-
end
|
84
|
-
end
|