fetty-generators 1.7.1 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +2 -0
- data/README.rdoc +42 -36
- data/Rakefile +1 -3
- data/lib/generators/fetty.rb +160 -10
- data/lib/generators/fetty/authentication/USAGE +4 -0
- data/lib/generators/fetty/authentication/authentication_generator.rb +171 -0
- data/lib/generators/fetty/authentication/templates/controllers/reset_passwords_controller.rb +45 -0
- data/lib/generators/fetty/authentication/templates/controllers/sessions_controller.rb +30 -0
- data/lib/generators/fetty/authentication/templates/controllers/users_controller.rb +78 -0
- data/lib/generators/fetty/authentication/templates/helpers/reset_passwords_helper.rb +2 -0
- data/lib/generators/fetty/authentication/templates/helpers/sessions_helper.rb +2 -0
- data/lib/generators/fetty/authentication/templates/helpers/users_helper.rb +2 -0
- data/lib/generators/fetty/authentication/templates/lib/sessions_authentication.rb +53 -0
- data/lib/generators/fetty/authentication/templates/lib/users_authentication.rb +110 -0
- data/lib/generators/fetty/authentication/templates/mailers/setup_mail.rb +11 -0
- data/lib/generators/fetty/authentication/templates/mailers/user_mailer.rb +14 -0
- data/lib/generators/fetty/authentication/templates/models/active_record/create_users.rb +17 -0
- data/lib/generators/fetty/authentication/templates/models/active_record/user.rb +15 -0
- data/lib/generators/fetty/authentication/templates/models/mongoid/user.rb +23 -0
- data/lib/generators/fetty/authentication/templates/spec/controllers/reset_passwords_controller_spec.rb +93 -0
- data/lib/generators/fetty/authentication/templates/spec/controllers/sessions_controller_spec.rb +61 -0
- data/lib/generators/fetty/authentication/templates/spec/controllers/users_controller_spec.rb +158 -0
- data/lib/generators/fetty/authentication/templates/spec/models/user_spec.rb +108 -0
- data/lib/generators/fetty/authentication/templates/spec/routing/reset_passwords_routing_spec.rb +21 -0
- data/lib/generators/fetty/authentication/templates/spec/routing/sessions_routing_spec.rb +17 -0
- data/lib/generators/fetty/authentication/templates/spec/routing/users_routing_spec.rb +37 -0
- data/lib/generators/fetty/authentication/templates/spec/support/user_factories.rb +6 -0
- data/lib/generators/fetty/authentication/templates/views/layouts/application.html.erb +33 -0
- data/lib/generators/fetty/authentication/templates/views/reset_passwords/edit.html.erb +19 -0
- data/lib/generators/fetty/authentication/templates/views/reset_passwords/new.html.erb +14 -0
- data/lib/generators/fetty/authentication/templates/views/sessions/new.html.erb +22 -0
- data/lib/generators/fetty/authentication/templates/views/user_mailer/user_activation.text.erb +4 -0
- data/lib/generators/fetty/authentication/templates/views/user_mailer/user_forgot_password.text.erb +7 -0
- data/lib/generators/fetty/authentication/templates/views/users/_table.html.erb +23 -0
- data/lib/generators/fetty/authentication/templates/views/users/edit.html.erb +21 -0
- data/lib/generators/fetty/authentication/templates/views/users/index.html.erb +7 -0
- data/lib/generators/fetty/authentication/templates/views/users/index.js.erb +1 -0
- data/lib/generators/fetty/authentication/templates/views/users/new.html.erb +23 -0
- data/lib/generators/fetty/authentication/templates/views/users/show.html.erb +19 -0
- data/lib/generators/fetty/messages/USAGE +4 -0
- data/lib/generators/fetty/messages/messages_generator.rb +136 -0
- data/lib/generators/fetty/messages/templates/assets/javascripts/jquery.tokeninput.js +718 -0
- data/lib/generators/fetty/messages/templates/assets/javascripts/messages.js +19 -0
- data/lib/generators/fetty/messages/templates/assets/stylesheets/messages.css +87 -0
- data/lib/generators/fetty/messages/templates/assets/stylesheets/token-input-facebook.css +122 -0
- data/lib/generators/fetty/messages/templates/controllers/messages_controller.rb +109 -0
- data/lib/generators/fetty/messages/templates/helpers/messages_helper.rb +2 -0
- data/lib/generators/fetty/messages/templates/lib/users_messages.rb +67 -0
- data/lib/generators/fetty/messages/templates/models/active_record/create_messages.rb +24 -0
- data/lib/generators/fetty/messages/templates/models/active_record/message.rb +67 -0
- data/lib/generators/fetty/messages/templates/models/mongoid/message.rb +81 -0
- data/lib/generators/fetty/messages/templates/spec/controllers/messages_controller_spec.rb +78 -0
- data/lib/generators/fetty/messages/templates/spec/models/message_spec.rb +53 -0
- data/lib/generators/fetty/messages/templates/spec/routing/messages_routing_spec.rb +61 -0
- data/lib/generators/fetty/messages/templates/spec/support/message_factories.rb +8 -0
- data/lib/generators/fetty/messages/templates/views/_head.html.erb +20 -0
- data/lib/generators/fetty/messages/templates/views/_messages.html.erb +56 -0
- data/lib/generators/fetty/messages/templates/views/_tabs_panel.html.erb +11 -0
- data/lib/generators/fetty/messages/templates/views/index.html.erb +10 -0
- data/lib/generators/fetty/messages/templates/views/index.js.erb +1 -0
- data/lib/generators/fetty/messages/templates/views/new.html.erb +26 -0
- data/lib/generators/fetty/messages/templates/views/show.html.erb +35 -0
- data/lib/generators/fetty/scaffold/USAGE +2 -52
- data/lib/generators/fetty/scaffold/scaffold_generator.rb +96 -329
- data/lib/generators/fetty/scaffold/templates/controllers/active_record/controller.rb +60 -0
- data/lib/generators/fetty/scaffold/templates/controllers/mongoid/controller.rb +60 -0
- data/lib/generators/fetty/scaffold/templates/helpers/helper.rb +2 -0
- data/lib/generators/fetty/scaffold/templates/models/active_record/migration.rb +16 -0
- data/lib/generators/fetty/scaffold/templates/models/active_record/model.rb +10 -0
- data/lib/generators/fetty/scaffold/templates/models/mongoid/model.rb +16 -0
- data/lib/generators/fetty/scaffold/templates/test/rspec/controller.rb +98 -0
- data/lib/generators/fetty/scaffold/templates/test/rspec/factories.rb +26 -0
- data/lib/generators/fetty/scaffold/templates/test/rspec/helper.rb +15 -0
- data/lib/generators/fetty/scaffold/templates/test/rspec/model.rb +9 -0
- data/lib/generators/fetty/scaffold/templates/test/rspec/request.rb +11 -0
- data/lib/generators/fetty/scaffold/templates/test/rspec/routing.rb +41 -0
- data/lib/generators/fetty/scaffold/templates/test/test_unit/controller.rb +62 -0
- data/lib/generators/fetty/scaffold/templates/{fixtures.yml → test/test_unit/fixtures.yml} +2 -0
- data/lib/generators/fetty/scaffold/templates/test/test_unit/helper.rb +4 -0
- data/lib/generators/fetty/scaffold/templates/test/test_unit/model.rb +7 -0
- data/lib/generators/fetty/scaffold/templates/views/_form.html.erb +20 -0
- data/lib/generators/fetty/scaffold/templates/views/_table.html.erb +48 -0
- data/lib/generators/fetty/scaffold/templates/views/edit.html.erb +13 -0
- data/lib/generators/fetty/scaffold/templates/views/index.html.erb +15 -0
- data/lib/generators/fetty/scaffold/templates/views/{erb/index.js.erb → index.js.erb} +0 -0
- data/lib/generators/fetty/scaffold/templates/views/new.html.erb +9 -0
- data/lib/generators/fetty/scaffold/templates/views/show.html.erb +28 -0
- data/lib/generators/fetty/setup/USAGE +3 -20
- data/lib/generators/fetty/setup/setup_generator.rb +122 -61
- data/lib/generators/fetty/setup/templates/ability.rb +0 -0
- data/lib/generators/fetty/setup/templates/ckeditor.rb +54 -0
- data/lib/generators/fetty/setup/templates/ckeditor.tar.gz +0 -0
- data/lib/generators/fetty/setup/templates/escape_utils.rb +7 -0
- data/lib/generators/fetty/setup/templates/file_uploader.rb +15 -0
- data/lib/generators/fetty/setup/templates/image_uploader.rb +48 -0
- data/lib/generators/fetty/setup/templates/spec_helper.rb +44 -0
- data/lib/generators/fetty/views/USAGE +5 -0
- data/lib/generators/fetty/{layout/templates/stylesheet.css → views/templates/application.css} +184 -166
- data/lib/generators/fetty/views/templates/application.html.erb +23 -0
- data/lib/generators/fetty/{layout → views}/templates/application.js +0 -0
- data/lib/generators/fetty/views/templates/application_helper.rb +10 -0
- data/lib/generators/fetty/views/templates/down_arrow.gif +0 -0
- data/lib/generators/fetty/{layout → views}/templates/error_messages_helper.rb +0 -0
- data/lib/generators/fetty/{layout → views}/templates/layout_helper.rb +0 -0
- data/lib/generators/fetty/views/templates/up_arrow.gif +0 -0
- data/lib/generators/fetty/views/views_generator.rb +51 -0
- data/lib/generators/scaffold.rb +204 -0
- metadata +126 -111
- data/LICENSE +0 -20
- data/lib/generators/fetty/layout/USAGE +0 -26
- data/lib/generators/fetty/layout/layout_generator.rb +0 -44
- data/lib/generators/fetty/layout/templates/layout.html.erb +0 -32
- data/lib/generators/fetty/layout/templates/layout.html.haml +0 -34
- data/lib/generators/fetty/layout/templates/no-devise-links-layout.html.erb +0 -23
- data/lib/generators/fetty/layout/templates/no-devise-links-layout.html.haml +0 -23
- data/lib/generators/fetty/layout/templates/stylesheet.sass +0 -163
- data/lib/generators/fetty/scaffold/templates/actions/create.rb +0 -8
- data/lib/generators/fetty/scaffold/templates/actions/destroy.rb +0 -5
- data/lib/generators/fetty/scaffold/templates/actions/edit.rb +0 -3
- data/lib/generators/fetty/scaffold/templates/actions/index.rb +0 -10
- data/lib/generators/fetty/scaffold/templates/actions/new.rb +0 -3
- data/lib/generators/fetty/scaffold/templates/actions/show.rb +0 -3
- data/lib/generators/fetty/scaffold/templates/actions/update.rb +0 -8
- data/lib/generators/fetty/scaffold/templates/controller.rb +0 -7
- data/lib/generators/fetty/scaffold/templates/helper.rb +0 -2
- data/lib/generators/fetty/scaffold/templates/migration.rb +0 -16
- data/lib/generators/fetty/scaffold/templates/model.rb +0 -7
- data/lib/generators/fetty/scaffold/templates/tests/rspec/actions/create.rb +0 -11
- data/lib/generators/fetty/scaffold/templates/tests/rspec/actions/destroy.rb +0 -6
- data/lib/generators/fetty/scaffold/templates/tests/rspec/actions/edit.rb +0 -4
- data/lib/generators/fetty/scaffold/templates/tests/rspec/actions/index.rb +0 -4
- data/lib/generators/fetty/scaffold/templates/tests/rspec/actions/new.rb +0 -4
- data/lib/generators/fetty/scaffold/templates/tests/rspec/actions/show.rb +0 -4
- data/lib/generators/fetty/scaffold/templates/tests/rspec/actions/update.rb +0 -11
- data/lib/generators/fetty/scaffold/templates/tests/rspec/controller.rb +0 -8
- data/lib/generators/fetty/scaffold/templates/tests/rspec/model.rb +0 -7
- data/lib/generators/fetty/scaffold/templates/tests/shoulda/actions/create.rb +0 -13
- data/lib/generators/fetty/scaffold/templates/tests/shoulda/actions/destroy.rb +0 -8
- data/lib/generators/fetty/scaffold/templates/tests/shoulda/actions/edit.rb +0 -6
- data/lib/generators/fetty/scaffold/templates/tests/shoulda/actions/index.rb +0 -6
- data/lib/generators/fetty/scaffold/templates/tests/shoulda/actions/new.rb +0 -6
- data/lib/generators/fetty/scaffold/templates/tests/shoulda/actions/show.rb +0 -6
- data/lib/generators/fetty/scaffold/templates/tests/shoulda/actions/update.rb +0 -13
- data/lib/generators/fetty/scaffold/templates/tests/shoulda/controller.rb +0 -5
- data/lib/generators/fetty/scaffold/templates/tests/shoulda/model.rb +0 -7
- data/lib/generators/fetty/scaffold/templates/tests/testunit/actions/create.rb +0 -11
- data/lib/generators/fetty/scaffold/templates/tests/testunit/actions/destroy.rb +0 -6
- data/lib/generators/fetty/scaffold/templates/tests/testunit/actions/edit.rb +0 -4
- data/lib/generators/fetty/scaffold/templates/tests/testunit/actions/index.rb +0 -4
- data/lib/generators/fetty/scaffold/templates/tests/testunit/actions/new.rb +0 -4
- data/lib/generators/fetty/scaffold/templates/tests/testunit/actions/show.rb +0 -4
- data/lib/generators/fetty/scaffold/templates/tests/testunit/actions/update.rb +0 -11
- data/lib/generators/fetty/scaffold/templates/tests/testunit/controller.rb +0 -5
- data/lib/generators/fetty/scaffold/templates/tests/testunit/model.rb +0 -7
- data/lib/generators/fetty/scaffold/templates/views/erb/_form.html.erb +0 -22
- data/lib/generators/fetty/scaffold/templates/views/erb/_table.html.erb +0 -50
- data/lib/generators/fetty/scaffold/templates/views/erb/edit.html.erb +0 -12
- data/lib/generators/fetty/scaffold/templates/views/erb/index.html.erb +0 -13
- data/lib/generators/fetty/scaffold/templates/views/erb/new.html.erb +0 -9
- data/lib/generators/fetty/scaffold/templates/views/erb/show.html.erb +0 -26
- data/lib/generators/fetty/scaffold/templates/views/haml/_form.html.haml +0 -8
- data/lib/generators/fetty/scaffold/templates/views/haml/_table.html.haml +0 -33
- data/lib/generators/fetty/scaffold/templates/views/haml/edit.html.haml +0 -14
- data/lib/generators/fetty/scaffold/templates/views/haml/index.html.haml +0 -12
- data/lib/generators/fetty/scaffold/templates/views/haml/index.js.haml +0 -1
- data/lib/generators/fetty/scaffold/templates/views/haml/new.html.haml +0 -8
- data/lib/generators/fetty/scaffold/templates/views/haml/show.html.haml +0 -23
@@ -0,0 +1,20 @@
|
|
1
|
+
<%- if has_type? :editor -%>
|
2
|
+
<%% content_for(:head) do %>
|
3
|
+
<%%= javascript_include_tag :ckeditor %>
|
4
|
+
<%% end %>
|
5
|
+
<%- end -%>
|
6
|
+
<%%= simple_form_for <%= record_or_name_or_array %><%= ", :html => { :multipart => true }" if has_type? :image -%> do |f| %>
|
7
|
+
<%%= f.error_messages %>
|
8
|
+
<div class="inputs">
|
9
|
+
<%- for attribute in model_attributes -%>
|
10
|
+
<%- if special_select(:editor).include?(attribute.name) -%>
|
11
|
+
<%%= f.ckeditor :<%= attribute.name %>, :label => false, :input_html => { :height => 400, :toolbar=>'Full' } %>
|
12
|
+
<%- else -%>
|
13
|
+
<%%= f.<%= attribute.reference? ? :association : :input %> :<%= attribute.name %> %>
|
14
|
+
<%- end -%>
|
15
|
+
<%- end -%>
|
16
|
+
</div>
|
17
|
+
<div class="actions">
|
18
|
+
<%%= f.button :submit %>
|
19
|
+
</div>
|
20
|
+
<%% end %>
|
@@ -0,0 +1,48 @@
|
|
1
|
+
<table class="pretty">
|
2
|
+
<tr>
|
3
|
+
<%- for attribute in model_attributes -%>
|
4
|
+
<th><%%= sortable "<%= attribute.name %>" %></th>
|
5
|
+
<%- end -%>
|
6
|
+
<%- if action? :show -%>
|
7
|
+
<th></th>
|
8
|
+
<%- end -%>
|
9
|
+
<%- if action? :edit -%>
|
10
|
+
<th></th>
|
11
|
+
<%- end -%>
|
12
|
+
<%- if action? :destroy -%>
|
13
|
+
<th></th>
|
14
|
+
<%- end -%>
|
15
|
+
</tr>
|
16
|
+
<%% for <%= instance_name %> in <%= instances_name('@') %> %>
|
17
|
+
<tr>
|
18
|
+
<%- for attribute in model_attributes -%>
|
19
|
+
<%- if special_select(:image).include?(attribute.name) -%>
|
20
|
+
<td><%%= image_tag <%= instance_name %>.<%= attribute.name %>_url(:small) if <%= instance_name %>.<%= attribute.name %>? %></td>
|
21
|
+
<%- elsif special_select(:file).include?(attribute.name) -%>
|
22
|
+
<td><%%= link_to File.basename(<%= instance_name %>.<%= attribute.name %>.to_s), <%= instance_name %>.<%= attribute.name %>_url if <%= instance_name %>.<%= attribute.name %>? %></td>
|
23
|
+
<%- elsif special_select(:editor).include?(attribute.name) -%>
|
24
|
+
<td><%%= raw <%= instance_name %>.<%= attribute.name %> %></td>
|
25
|
+
<%- else -%>
|
26
|
+
<td><%%= <%= instance_name %>.<%= attribute.name %> %></td>
|
27
|
+
<%- end -%>
|
28
|
+
<%- end -%>
|
29
|
+
<%- if action? :show -%>
|
30
|
+
<td>
|
31
|
+
<%= generate_action_links(:show, :read, instance_name, "Show") %>
|
32
|
+
</td>
|
33
|
+
<%- end -%>
|
34
|
+
<%- if action? :edit -%>
|
35
|
+
<td>
|
36
|
+
<%= generate_action_links(:edit, :update, instance_name, "Edit") %>
|
37
|
+
</td>
|
38
|
+
<%- end -%>
|
39
|
+
<%- if action? :destroy -%>
|
40
|
+
<td>
|
41
|
+
<%= generate_action_links(:destroy, :destroy, instance_name, "Destroy") %>
|
42
|
+
</td>
|
43
|
+
<%- end -%>
|
44
|
+
</tr>
|
45
|
+
<%% end %>
|
46
|
+
</table>
|
47
|
+
|
48
|
+
<p><%%= paginate <%= instances_name('@') %> %></p>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<%% title "Edit <%= simple_name %>" %>
|
2
|
+
|
3
|
+
<%%= render 'form' %>
|
4
|
+
<%- if actions? :show, :index -%>
|
5
|
+
<p>
|
6
|
+
<%- if action? :show -%>
|
7
|
+
<%= generate_action_links(:show, :read, instance_name('@'), "Show") %> |
|
8
|
+
<%- end -%>
|
9
|
+
<%- if action? :index -%>
|
10
|
+
<%= generate_action_links(:index, :index, class_name, "View All") %>
|
11
|
+
<%- end -%>
|
12
|
+
</p>
|
13
|
+
<%- end -%>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<%% title "<%= plural_name.titleize %>" %>
|
2
|
+
|
3
|
+
<%%= form_tag <%= generate_route_link(:action => :index, :suffix => 'url') %>, { :id => "index_search", :method => :get } do %>
|
4
|
+
<%%= text_field_tag :search, params[:search], { :title => "Search by <%= model_attributes[0].name %>" } %>
|
5
|
+
<%%= hidden_field_tag :sort, params[:sort] %>
|
6
|
+
<%%= hidden_field_tag :direction, params[:direction] %>
|
7
|
+
<%% end %>
|
8
|
+
|
9
|
+
<div id="index_table"><%%= render 'table' %></div>
|
10
|
+
|
11
|
+
<%- if action? :new -%>
|
12
|
+
<p>
|
13
|
+
<%= generate_action_links(:new, :create, class_name, "New #{simple_name}") %>
|
14
|
+
</p>
|
15
|
+
<%- end -%>
|
File without changes
|
@@ -0,0 +1,28 @@
|
|
1
|
+
<%% title "<%= simple_name.titleize %>" %>
|
2
|
+
|
3
|
+
<%- for attribute in model_attributes -%>
|
4
|
+
<p>
|
5
|
+
<strong><%= attribute.human_name.titleize %>:</strong>
|
6
|
+
<%- if special_select(:image).include?(attribute.name) -%>
|
7
|
+
<%%= image_tag <%= instance_name('@') %>.<%= attribute.name %>_url(:small) if <%= instance_name('@') %>.<%= attribute.name %>? %>
|
8
|
+
<%- elsif special_select(:file).include?(attribute.name) -%>
|
9
|
+
<%%= link_to File.basename(<%= instance_name('@') %>.<%= attribute.name %>.to_s), <%= instance_name('@') %>.<%= attribute.name %>_url if <%= instance_name('@') %>.<%= attribute.name %>? %>
|
10
|
+
<%- elsif special_select(:editor).include?(attribute.name) -%>
|
11
|
+
<%%= raw <%= instance_name('@') %>.<%= attribute.name %> %>
|
12
|
+
<%- else -%>
|
13
|
+
<%%= <%= instance_name('@') %>.<%= attribute.name %> %>
|
14
|
+
<%- end -%>
|
15
|
+
</p>
|
16
|
+
<%- end -%>
|
17
|
+
|
18
|
+
<p>
|
19
|
+
<%- if action? :edit -%>
|
20
|
+
<%= generate_action_links(:edit, :update, instance_name('@'), "Edit") %> |
|
21
|
+
<%- end -%>
|
22
|
+
<%- if action? :destroy -%>
|
23
|
+
<%= generate_action_links(:destroy, :destroy, instance_name('@'), "Destroy") %> |
|
24
|
+
<%- end -%>
|
25
|
+
<%- if action? :index -%>
|
26
|
+
<%= generate_action_links(:index, :index, class_name, "View All") %>
|
27
|
+
<%- end -%>
|
28
|
+
</p>
|
@@ -1,22 +1,5 @@
|
|
1
1
|
Description:
|
2
|
-
The fetty:setup generator
|
3
|
-
|
4
|
-
|
5
|
-
- meta_search
|
6
|
-
- simple_form
|
7
|
-
- will_paginate
|
8
|
-
- jquery-rails
|
9
|
-
and the optional gems for Authentication & Autorization using :
|
10
|
-
- Devise
|
11
|
-
- CanCan
|
2
|
+
The fetty:setup generator will add / install the necessary gems
|
3
|
+
to your Gemfile and automatically configure the gems.
|
4
|
+
|
12
5
|
|
13
|
-
Examples:
|
14
|
-
rails generate fetty:setup
|
15
|
-
|
16
|
-
this default command will add gems to your Gemfile and install
|
17
|
-
some necessary files. both required and optional gems.
|
18
|
-
if you like to install minimum for layout and scaffolding using
|
19
|
-
fetty-generators, or you already have diffrent gems for authentication
|
20
|
-
or authorization you could skip the optional setup :
|
21
|
-
|
22
|
-
rails generate fetty:setup --skip-optional
|
@@ -2,77 +2,138 @@ require 'generators/fetty'
|
|
2
2
|
|
3
3
|
module Fetty
|
4
4
|
module Generators
|
5
|
-
class SetupGenerator < Base
|
6
|
-
|
7
|
-
class_option :
|
8
|
-
class_option :
|
5
|
+
class SetupGenerator < Base #:nodoc:
|
6
|
+
# required
|
7
|
+
class_option :cancan, :desc => 'Install cancan for authorization', :type => :boolean, :default => true
|
8
|
+
class_option :jquery_rails, :desc => 'Install jquery-rails for javascript framework', :type => :boolean, :default => true
|
9
|
+
class_option :simple_form, :desc => 'Install simple_form for generate form', :type => :boolean, :default => true
|
10
|
+
class_option :carrierwave, :desc => 'Install carrierwave for handling file attachment', :type => :boolean, :default => true
|
11
|
+
class_option :kaminari, :desc => 'Install kaminari for pagination', :type => :boolean, :default => true
|
12
|
+
class_option :ckeditor, :desc => 'Install ckeditor for WYSIWYG editor', :type => :boolean, :default => true
|
13
|
+
class_option :test, :desc => 'Setup all test framework rspec / cucumber, capybara, guard, etc.', :type => :boolean, :default => true
|
9
14
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
install_cancan
|
29
|
-
install_paperclip
|
30
|
-
install_tiny_mce
|
31
|
-
end
|
15
|
+
# optional
|
16
|
+
class_option :mongoid, :desc => 'Install mongoid for replacing your ORM', :type => :boolean, :default => false
|
17
|
+
class_option :only, :desc => 'Install gems only these mentioned.', :type => :array, :default => []
|
18
|
+
|
19
|
+
def install_gems_dependencies
|
20
|
+
asking "Would you like to setup mongoid gem?" do
|
21
|
+
setup_mongoid
|
22
|
+
end if options['mongoid']
|
23
|
+
@selected_gems = options.only.empty? ? options.reject { |k,v| k == "only" || k == "mongoid" || v == false }.keys : options.only
|
24
|
+
@selected_gems.each do |gems|
|
25
|
+
asking "Would you like to setup #{gems} gem?" do
|
26
|
+
send("setup_#{gems}")
|
27
|
+
end
|
28
|
+
end
|
29
|
+
remove_file 'public/index.html' if file_exists?('public/index.html')
|
30
|
+
remove_file 'public/images/rails.png' if file_exists?('public/images/rails.png')
|
31
|
+
rescue Exception => e
|
32
|
+
print_notes(e.message,"error",:red)
|
32
33
|
end
|
33
|
-
|
34
|
+
|
34
35
|
private
|
35
36
|
|
36
|
-
def
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
37
|
+
def setup_mongoid
|
38
|
+
add_gem("bson_ext")
|
39
|
+
add_gem("mongoid")
|
40
|
+
generate("mongoid:config")
|
41
|
+
rescue Exception => e
|
42
|
+
raise e
|
43
|
+
end
|
44
|
+
|
45
|
+
def setup_cancan
|
46
|
+
add_gem("cancan")
|
47
|
+
copy_file 'ability.rb', 'app/models/ability.rb'
|
48
|
+
inject_into_class 'app/controllers/application_controller.rb', ApplicationController do
|
49
|
+
" rescue_from CanCan::AccessDenied do |exception| flash[:alert] = exception.message; redirect_to root_url end;\n"
|
50
|
+
end
|
51
|
+
rescue Exception => e
|
52
|
+
raise e
|
53
|
+
end
|
54
|
+
|
55
|
+
def setup_jquery_rails
|
56
|
+
add_gem("jquery-rails")
|
57
|
+
generate("jquery:install")
|
58
|
+
rescue Exception => e
|
59
|
+
raise e
|
60
|
+
end
|
61
|
+
|
62
|
+
def setup_simple_form
|
63
|
+
add_gem("simple_form")
|
64
|
+
generate("simple_form:install")
|
65
|
+
rescue Exception => e
|
66
|
+
raise e
|
67
|
+
end
|
68
|
+
|
69
|
+
def setup_carrierwave
|
70
|
+
add_gem("mini_magick")
|
71
|
+
add_gem("carrierwave")
|
72
|
+
copy_file 'image_uploader.rb', 'app/uploaders/image_uploader.rb'
|
73
|
+
copy_file 'file_uploader.rb', 'app/uploaders/file_uploader.rb'
|
74
|
+
print_notes("carrierwave will use mini_magick by default!")
|
75
|
+
rescue Exception => e
|
76
|
+
raise e
|
51
77
|
end
|
52
78
|
|
53
|
-
def
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
copy_file 'ability.rb', 'app/models/ability.rb'
|
58
|
-
inject_into_file 'app/controllers/application_controller.rb', :after => "class ApplicationController < ActionController::Base" do
|
59
|
-
"\n rescue_from CanCan::AccessDenied do |exception| flash[:alert] = exception.message; redirect_to root_url end;"
|
60
|
-
end
|
61
|
-
end
|
79
|
+
def setup_kaminari
|
80
|
+
add_gem("kaminari")
|
81
|
+
rescue Exception => e
|
82
|
+
raise e
|
62
83
|
end
|
63
84
|
|
64
|
-
def
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
85
|
+
def setup_ckeditor
|
86
|
+
# remove the existing install (if any)
|
87
|
+
destroy("public/javascripts/ckeditor")
|
88
|
+
ver = ask("==> What version of CKEditor javascript files do you need? [default 3.5.4]")
|
89
|
+
if ver == "3.5.4" || ver.blank?
|
90
|
+
add_gem("ckeditor","3.5.4")
|
91
|
+
template "ckeditor.rb", "config/initializers/ckeditor.rb"
|
92
|
+
extract("setup/templates/ckeditor.tar.gz","public/javascripts","ckeditor")
|
93
|
+
else
|
94
|
+
add_gem("ckeditor",ver)
|
95
|
+
generate("ckeditor:base --version=#{ver}")
|
96
|
+
end
|
97
|
+
rescue Exception => e
|
98
|
+
raise e
|
69
99
|
end
|
70
100
|
|
71
|
-
def
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
101
|
+
def setup_test
|
102
|
+
gemfile = File.expand_path(destination_path("Gemfile"), __FILE__)
|
103
|
+
|
104
|
+
group_gems = "\ngroup :development, :test do"
|
105
|
+
group_gems << "\n gem 'rspec-rails'"
|
106
|
+
group_gems << "\n gem 'capybara'"
|
107
|
+
group_gems << "\n gem 'factory_girl_rails'"
|
108
|
+
group_gems << "\n gem 'faker'"
|
109
|
+
group_gems << "\n gem 'database_cleaner'"
|
110
|
+
group_gems << "\n gem 'escape_utils'"
|
111
|
+
group_gems << "\n gem 'guard-rspec'"
|
112
|
+
group_gems << "\n if RUBY_PLATFORM =~ /darwin/i"
|
113
|
+
group_gems << "\n gem 'rb-fsevent', :require => false"
|
114
|
+
group_gems << "\n gem 'growl'"
|
115
|
+
group_gems << "\n end"
|
116
|
+
group_gems << "\nend\n"
|
117
|
+
|
118
|
+
File.open(gemfile, 'a') { |f| f.write(group_gems) }
|
119
|
+
refresh_bundle
|
120
|
+
|
121
|
+
copy_file 'escape_utils.rb', 'config/initializers/escape_utils.rb'
|
122
|
+
generate("rspec:install")
|
123
|
+
remove_file 'spec/spec_helper.rb'
|
124
|
+
template 'spec_helper.rb', 'spec/spec_helper.rb'
|
125
|
+
`guard init rspec`
|
126
|
+
|
127
|
+
asking "Would you like to install Cucumber?" do
|
128
|
+
add_gem("cucumber-rails", :group => [:development, :test])
|
129
|
+
add_gem("guard-cucumber", :group => [:development, :test])
|
130
|
+
generate("cucumber:install", "--rspec", "--capybara")
|
131
|
+
`guard init cucumber`
|
132
|
+
end
|
133
|
+
|
134
|
+
print_notes("Please make sure you already install growl with growlnotify!!")
|
135
|
+
rescue Exception => e
|
136
|
+
raise e
|
76
137
|
end
|
77
138
|
|
78
139
|
end
|
File without changes
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# Use this hook to configure ckeditor
|
2
|
+
if Object.const_defined?("Ckeditor")
|
3
|
+
Ckeditor.setup do |config|
|
4
|
+
# The file_post_name allows you to set the value name used to post the file.
|
5
|
+
# This is not related to the file name. The default value is 'data'.
|
6
|
+
# For maximum compatibility it is recommended that the default value is used.
|
7
|
+
#config.swf_file_post_name = "data"
|
8
|
+
|
9
|
+
# A text description that is displayed to the user in the File Browser dialog.
|
10
|
+
#config.swf_file_types_description = "Files"
|
11
|
+
|
12
|
+
# The file_types setting accepts a semi-colon separated list of file extensions
|
13
|
+
# that are allowed to be selected by the user. Use '*.*' to allow all file types.
|
14
|
+
#config.swf_file_types = "*.doc;*.wpd;*.pdf;*.swf;*.xls"
|
15
|
+
|
16
|
+
# The file_size_limit setting defines the maximum allowed size of a file to be uploaded.
|
17
|
+
# This setting accepts a value and unit. Valid units are B, KB, MB and GB.
|
18
|
+
# If the unit is omitted default is KB. A value of 0 (zero) is interpreted as unlimited.
|
19
|
+
# Note: This setting only applies to the user's browser. It does not affect any settings or limits on the web server.
|
20
|
+
#config.swf_file_size_limit = "10 MB"
|
21
|
+
|
22
|
+
# Defines the number of files allowed to be uploaded by SWFUpload.
|
23
|
+
# This setting also sets the upper bound of the file_queue_limit setting.
|
24
|
+
# Once the user has uploaded or queued the maximum number of files she will
|
25
|
+
# no longer be able to queue additional files. The value of 0 (zero) is interpreted as unlimited.
|
26
|
+
# Only successful uploads (uploads the trigger the uploadSuccess event) are counted toward the upload limit.
|
27
|
+
# The setStats function can be used to modify the number of successful uploads.
|
28
|
+
# Note: This value is not tracked across pages and is reset when a page is refreshed.
|
29
|
+
# File quotas should be managed by the web server.
|
30
|
+
#config.swf_file_upload_limit = 5
|
31
|
+
|
32
|
+
# The same as for downloads files, only to upload images
|
33
|
+
#config.swf_image_file_types_description = "Images"
|
34
|
+
#config.swf_image_file_types = "*.jpg;*.jpeg;*.png;*.gif"
|
35
|
+
#config.swf_image_file_size_limit = "5 MB"
|
36
|
+
#config.swf_image_file_upload_limit = 10
|
37
|
+
|
38
|
+
# Path for view all uploaded files
|
39
|
+
#config.file_manager_uri = "/ckeditor/attachments"
|
40
|
+
|
41
|
+
# Path for upload files process
|
42
|
+
#config.file_manager_upload_uri = "/ckeditor/attachments"
|
43
|
+
|
44
|
+
# Path for view all uploaded images
|
45
|
+
#config.file_manager_image_uri = "/ckeditor/pictures"
|
46
|
+
|
47
|
+
# Path for upload images process
|
48
|
+
#config.file_manager_image_upload_uri = "/ckeditor/pictures"
|
49
|
+
|
50
|
+
# Model's names witch processing in ckeditor_controller
|
51
|
+
#config.file_manager_image_model = "Ckeditor::Picture"
|
52
|
+
#config.file_manager_file_model = "Ckeditor::AttachmentFile"
|
53
|
+
end
|
54
|
+
end
|