marilyn 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/.gitignore +5 -0
- data/Gemfile +4 -0
- data/README +12 -0
- data/Rakefile +1 -0
- data/lib/generators/marilyn/email_validator/email_validator_generator.rb +18 -0
- data/lib/generators/marilyn/email_validator/lib/email_format_validator.rb +7 -0
- data/lib/generators/marilyn/fish/app/helpers/application_helper.rb +11 -0
- data/lib/generators/marilyn/fish/app/views/layouts/application.html.erb +17 -0
- data/lib/generators/marilyn/fish/app/views/shared/_error_messages.html.erb +11 -0
- data/lib/generators/marilyn/fish/config/locales/en.yml +53 -0
- data/lib/generators/marilyn/fish/config/locales/ru.yml +70 -0
- data/lib/generators/marilyn/fish/fish_generator.rb +77 -0
- data/lib/generators/marilyn/fish/lib/templates/erb/scaffold/_form.html.erb +13 -0
- data/lib/generators/marilyn/fish/lib/templates/erb/scaffold/edit.html.erb +6 -0
- data/lib/generators/marilyn/fish/lib/templates/erb/scaffold/index.html.erb +25 -0
- data/lib/generators/marilyn/fish/lib/templates/erb/scaffold/new.html.erb +5 -0
- data/lib/generators/marilyn/fish/lib/templates/erb/scaffold/show.html.erb +12 -0
- data/lib/generators/marilyn/fish/lib/templates/rails/controller/controller.rb +9 -0
- data/lib/generators/marilyn/fish/lib/templates/rails/scaffold_controller/controller.rb +79 -0
- data/lib/generators/marilyn/stars_form/lib/stars_form_builder.rb +15 -0
- data/lib/generators/marilyn/stars_form/stars_form_generator.rb +18 -0
- data/lib/generators/marilyn/welcome/app/controllers/welcome_controller.rb +4 -0
- data/lib/generators/marilyn/welcome/app/helpers/welcome_helper.rb +2 -0
- data/lib/generators/marilyn/welcome/app/views/welcome/index.html.erb +2 -0
- data/lib/generators/marilyn/welcome/test/functional/welcome_controller_test.rb +9 -0
- data/lib/generators/marilyn/welcome/test/unit/helpers/welcome_helper_test.rb +4 -0
- data/lib/generators/marilyn/welcome/welcome_generator.rb +28 -0
- data/lib/marilyn/version.rb +3 -0
- data/marilyn.gemspec +30 -0
- metadata +151 -0
data/Gemfile
ADDED
data/README
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
Данный гем предоставляет шаблоны для генерации скафолда и контроллера. А также устанавливает (заменяет) минимально-необходимые для приложения файлы, такие как:
|
2
|
+
|
3
|
+
app/helpers/application_helper.rb
|
4
|
+
app/views/layouts/application.html.erb
|
5
|
+
app/views/layouts/_form_errors.html.erb
|
6
|
+
config/locales/en.yml
|
7
|
+
config/locales/ru.yml
|
8
|
+
|
9
|
+
Помимо этого автоматически создаётся файл прав гема CanCan. Создаётся welcome контроллер по умолчанию.
|
10
|
+
Отдельно может быть создан валидатор email-ов, посредтвом использования генератора marilyn:email_validator.
|
11
|
+
|
12
|
+
Для использования всей этой радости, необходимо воспользоваться главным генератором marilyn:fish
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'rails/generators/base'
|
2
|
+
|
3
|
+
module Marilyn
|
4
|
+
module Generators
|
5
|
+
class EmailValidatorGenerator < Rails::Generators::Base
|
6
|
+
desc "Installs email format validator into application"
|
7
|
+
source_root File.dirname(__FILE__)
|
8
|
+
|
9
|
+
def copy_validator_file
|
10
|
+
copy_file('lib/email_format_validator.rb')
|
11
|
+
end
|
12
|
+
|
13
|
+
def extend_environment
|
14
|
+
append_to_file('config/environment.rb', "require File.dirname(__FILE__) + '/../lib/email_format_validator'\n")
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
module ApplicationHelper
|
2
|
+
def title(title_text)
|
3
|
+
content_for(:title) { title_text }
|
4
|
+
content_tag('h1', title_text)
|
5
|
+
end
|
6
|
+
|
7
|
+
def hidden_div_if(condition, attributes = {}, &block)
|
8
|
+
attributes[:style] = 'display: none' if condition
|
9
|
+
content_tag('div', attributes, &block)
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title><%= yield(:title).blank? ? '' : "#{yield(:title)} :: " %>SITE NAME</title>
|
5
|
+
<%= stylesheet_link_tag :all %>
|
6
|
+
<%= javascript_include_tag :defaults %>
|
7
|
+
<%= csrf_meta_tag %>
|
8
|
+
</head>
|
9
|
+
<body>
|
10
|
+
|
11
|
+
<%= hidden_div_if(alert, :id => 'alert') { alert } %>
|
12
|
+
<%= hidden_div_if(notice, :id => 'notice') { notice } %>
|
13
|
+
|
14
|
+
<%= yield %>
|
15
|
+
|
16
|
+
</body>
|
17
|
+
</html>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<% if target.errors.any? %>
|
2
|
+
<div id="error_explanation">
|
3
|
+
<h2><%= t('errors.template.header', :count => target.errors.size,
|
4
|
+
:model => t("activerecord.capitalized_models.#{target.class.to_s.downcase.singularize}")) %>:</h2>
|
5
|
+
<ul>
|
6
|
+
<% target.errors.full_messages.each do |msg| %>
|
7
|
+
<li><%= msg %></li>
|
8
|
+
<% end %>
|
9
|
+
</ul>
|
10
|
+
</div>
|
11
|
+
<% end %>
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# Sample localization file for English. Add more files in this directory for other locales.
|
2
|
+
# See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
|
3
|
+
|
4
|
+
en:
|
5
|
+
time:
|
6
|
+
formats:
|
7
|
+
many_short: "%m/%d/%y"
|
8
|
+
|
9
|
+
paperclip:
|
10
|
+
errors:
|
11
|
+
presence: "must be set"
|
12
|
+
content_type: "incorrect type"
|
13
|
+
|
14
|
+
backend:
|
15
|
+
actions:
|
16
|
+
are_you_sure: "Are you sure?"
|
17
|
+
are_you_want_delete: "Are you want delete %{target}?"
|
18
|
+
back: "Back"
|
19
|
+
destroy: "Destroy"
|
20
|
+
edit: "Edit"
|
21
|
+
show: "Show"
|
22
|
+
please_select: "Please select"
|
23
|
+
success_create: "%{model} was successfully created."
|
24
|
+
success_update: "%{model} was successfully updated."
|
25
|
+
success_destroy: "%{model} was deleted."
|
26
|
+
titles:
|
27
|
+
creating: "New %{model}"
|
28
|
+
editing: "Editing %{model}"
|
29
|
+
listing: "Listing %{model}"
|
30
|
+
|
31
|
+
errors:
|
32
|
+
messages:
|
33
|
+
cannot_be_blank: "cannot be blank"
|
34
|
+
invalid_email: "incorrect"
|
35
|
+
invalid_url: "invalid, must be http://your-site.com"
|
36
|
+
mismatch: "mismatch"
|
37
|
+
must_be_zero_one: "must be more than zero and less than one"
|
38
|
+
template:
|
39
|
+
header:
|
40
|
+
one: "1 error prohibited this %{model} from being saved"
|
41
|
+
other: "%{count} errors prohibited this %{model} from being saved"
|
42
|
+
|
43
|
+
activerecord:
|
44
|
+
capitalized_models:
|
45
|
+
user: "User"
|
46
|
+
models:
|
47
|
+
user: "user"
|
48
|
+
attributes:
|
49
|
+
user:
|
50
|
+
email: "E-mail"
|
51
|
+
password: "Password"
|
52
|
+
password_confirmation: "Password confirmation"
|
53
|
+
current_password: "Current password"
|
@@ -0,0 +1,70 @@
|
|
1
|
+
# Russian localization for Ruby on Rails 2.2+
|
2
|
+
# by Yaroslav Markin <yaroslav@markin.net>
|
3
|
+
#
|
4
|
+
# Be sure to check out "russian" gem (http://github.com/yaroslav/russian) for
|
5
|
+
# full Russian language support in Rails (month names, pluralization, etc).
|
6
|
+
# The following is an excerpt from that gem.
|
7
|
+
#
|
8
|
+
# Для полноценной поддержки русского языка (варианты названий месяцев,
|
9
|
+
# плюрализация и так далее) в Rails 2.2 нужно использовать gem "russian"
|
10
|
+
# (http://github.com/yaroslav/russian). Следующие данные -- выдержка их него, чтобы
|
11
|
+
# была возможность минимальной локализации приложения на русский язык.
|
12
|
+
|
13
|
+
ru:
|
14
|
+
time:
|
15
|
+
formats:
|
16
|
+
many_short: "%d.%m.%y"
|
17
|
+
|
18
|
+
paperclip:
|
19
|
+
errors:
|
20
|
+
presence: "должено быть задано"
|
21
|
+
content_type: "имеет неправильный тип"
|
22
|
+
|
23
|
+
backend:
|
24
|
+
actions:
|
25
|
+
are_you_sure: "Вы уверены?"
|
26
|
+
are_you_want_delete: "Вы уверены, что хотите удалить %{target} \"%{name}\"?"
|
27
|
+
back: "Назад"
|
28
|
+
destroy: "Удалить"
|
29
|
+
edit: "Изменить"
|
30
|
+
show: "Посмотреть"
|
31
|
+
please_select: "Выберите..."
|
32
|
+
success_create: "%{model} успешно создан."
|
33
|
+
success_update: "%{model} успешно обновлён."
|
34
|
+
success_destroy: "%{model} удалён."
|
35
|
+
titles:
|
36
|
+
creating: "Создание %{model}"
|
37
|
+
editing: "Изменение %{model}"
|
38
|
+
listing: "Список %{model}"
|
39
|
+
|
40
|
+
helpers:
|
41
|
+
submit:
|
42
|
+
create: "Создать %{model}"
|
43
|
+
update: "Сохранить %{model}"
|
44
|
+
submit: "Сохранить %{model}"
|
45
|
+
|
46
|
+
errors:
|
47
|
+
messages:
|
48
|
+
cannot_be_blank: "не может быть пустым"
|
49
|
+
invalid_email: "некорректен"
|
50
|
+
invalid_url: "некорректна, должно быть что-то вроде http://your-site.com"
|
51
|
+
mismatch: "несовпадает"
|
52
|
+
must_be_zero_one: "должно быть больше нуля и меньше единицы"
|
53
|
+
template:
|
54
|
+
header:
|
55
|
+
one: "%{model}: сохранение не удалось из-за %{count} ошибки"
|
56
|
+
few: "%{model}: сохранение не удалось из-за %{count} ошибок"
|
57
|
+
many: "%{model}: сохранение не удалось из-за %{count} ошибок"
|
58
|
+
other: "%{model}: сохранение не удалось из-за %{count} ошибки"
|
59
|
+
|
60
|
+
activerecord:
|
61
|
+
capitalized_models:
|
62
|
+
user: "Пользователь"
|
63
|
+
models:
|
64
|
+
user: "пользователя"
|
65
|
+
attributes:
|
66
|
+
user:
|
67
|
+
email: "E-mail"
|
68
|
+
password: "Пароль"
|
69
|
+
password_confirmation: "Пароль ещё раз"
|
70
|
+
current_password: "Текущий пароль"
|
@@ -0,0 +1,77 @@
|
|
1
|
+
require 'rails/generators/base'
|
2
|
+
require 'devise'
|
3
|
+
require 'jquery-rails'
|
4
|
+
|
5
|
+
module Marilyn
|
6
|
+
module Generators
|
7
|
+
class FishGenerator < Rails::Generators::Base
|
8
|
+
desc "Installs advanced templates for Rails generators and adding some functional files"
|
9
|
+
source_root File.dirname(__FILE__)
|
10
|
+
|
11
|
+
def copy_templates
|
12
|
+
directory('lib/templates')
|
13
|
+
end
|
14
|
+
|
15
|
+
def replace_application_helper
|
16
|
+
application_helper_file = 'app/helpers/application_helper.rb'
|
17
|
+
copy_file(application_helper_file, :force => force_change?(application_helper_file))
|
18
|
+
end
|
19
|
+
|
20
|
+
def replace_layout
|
21
|
+
application_layout_file = 'app/views/layouts/application.html.erb'
|
22
|
+
copy_file(application_layout_file, :force => force_change?(application_layout_file))
|
23
|
+
end
|
24
|
+
|
25
|
+
def copy_error_messages_partial
|
26
|
+
copy_file('app/views/shared/_error_messages.html.erb')
|
27
|
+
end
|
28
|
+
|
29
|
+
def replace_locales
|
30
|
+
en_locale_file = 'config/locales/en.yml'
|
31
|
+
copy_file(en_locale_file, :force => force_change?(en_locale_file))
|
32
|
+
copy_file('config/locales/ru.yml')
|
33
|
+
end
|
34
|
+
|
35
|
+
def invoke_stars_form_generator
|
36
|
+
log :invoke, 'marilyn:stars_form'
|
37
|
+
invoke('marilyn:stars_form')
|
38
|
+
end
|
39
|
+
|
40
|
+
def invoke_welcome_controller_generator
|
41
|
+
log :invoke, 'marilyn:welcome'
|
42
|
+
invoke('marilyn:welcome')
|
43
|
+
end
|
44
|
+
|
45
|
+
def invoke_jquery_rails
|
46
|
+
log :invoke, 'jquery:install'
|
47
|
+
invoke('jquery:install', [], :ui => true)
|
48
|
+
install_gem_into_gemfile('jquery-rails')
|
49
|
+
end
|
50
|
+
|
51
|
+
def invoke_devise
|
52
|
+
log :invoke, 'devise'
|
53
|
+
invoke('devise:install')
|
54
|
+
invoke('devise', ['User'])
|
55
|
+
install_gem_into_gemfile('devise')
|
56
|
+
end
|
57
|
+
|
58
|
+
def invoke_cancan_ability
|
59
|
+
log :invoke, 'cancan:ability'
|
60
|
+
invoke('cancan:ability')
|
61
|
+
install_gem_into_gemfile('cancan')
|
62
|
+
end
|
63
|
+
|
64
|
+
protected
|
65
|
+
|
66
|
+
def force_change?(file_name)
|
67
|
+
result = ask("replace #{file_name}? [Yn]", :green)
|
68
|
+
result == '' || result.downcase == 'y' || result.downcase == 'yes'
|
69
|
+
end
|
70
|
+
|
71
|
+
def install_gem_into_gemfile(gem_name)
|
72
|
+
marilyn_gem_regexp = /gem..marilyn..*\n/
|
73
|
+
inject_into_file('Gemfile', "gem '#{gem_name}'\n", :after => marilyn_gem_regexp)
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<%%= form_for(@<%= singular_table_name %>, :builder => StarsFormBuilder) do |f| %>
|
2
|
+
<%%= render 'shared/error_messages', :target => @<%= singular_table_name %> %>
|
3
|
+
|
4
|
+
<% for attribute in attributes -%>
|
5
|
+
<div class="field">
|
6
|
+
<%%= f.label :<%= attribute.name %> %><br />
|
7
|
+
<%%= f.<%= attribute.field_type %> :<%= attribute.name %> %>
|
8
|
+
</div>
|
9
|
+
<% end -%>
|
10
|
+
<div class="actions">
|
11
|
+
<%%= f.submit %>
|
12
|
+
</div>
|
13
|
+
<%% end %>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<%%= title(t('<%= plural_table_name %>.index.title')) %>
|
2
|
+
|
3
|
+
<table>
|
4
|
+
<tr>
|
5
|
+
<% for attribute in attributes -%>
|
6
|
+
<th><%%= t('activerecord.attributes.<%= singular_table_name %>.<%= attribute.name %>') %></th>
|
7
|
+
<% end -%>
|
8
|
+
<th></th>
|
9
|
+
<th></th>
|
10
|
+
<th></th>
|
11
|
+
</tr>
|
12
|
+
|
13
|
+
<%% @<%= plural_table_name %>.each do |<%= singular_table_name %>| %>
|
14
|
+
<tr>
|
15
|
+
<% for attribute in attributes -%>
|
16
|
+
<td><%%= <%= singular_table_name %>.<%= attribute.name %> %></td>
|
17
|
+
<% end -%>
|
18
|
+
<td><%%= link_to(t('backend.actions.show'), <%= singular_table_name %>) if can?(:show, <%= singular_table_name %>) %></td>
|
19
|
+
<td><%%= link_to(t('backend.actions.edit'), edit_<%= singular_table_name %>_path(<%= singular_table_name %>)) if can?(:edit, <%= singular_table_name %>) %></td>
|
20
|
+
<td><%%= link_to(t('backend.actions.destroy'), <%= singular_table_name %>, :confirm => t('backend.actions.are_you_sure'), :method => :delete) if can?(:destroy, <%= singular_table_name %>) %></td>
|
21
|
+
</tr>
|
22
|
+
<%% end %>
|
23
|
+
</table>
|
24
|
+
|
25
|
+
<p><%%= link_to(t('helpers.submit.create', :model => t('activerecord.models.<%= singular_table_name %>')), new_<%= singular_table_name %>_path) if can?(:create, <%= class_name %>) %></p>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<%%= title(t('<%= plural_table_name %>.show.title')) %>
|
2
|
+
|
3
|
+
<% for attribute in attributes -%>
|
4
|
+
<p>
|
5
|
+
<b><%%= t('activerecord.attributes.<%= singular_table_name %>.<%= attribute.name %>') %>:</b>
|
6
|
+
<%%= @<%= singular_table_name %>.<%= attribute.name %> %>
|
7
|
+
</p>
|
8
|
+
|
9
|
+
<% end -%>
|
10
|
+
|
11
|
+
<%%= link_to t('backend.actions.edit'), edit_<%= singular_table_name %>_path(@<%= singular_table_name %>) %> |
|
12
|
+
<%%= link_to t('backend.actions.back'), <%= index_helper %>_path %>
|
@@ -0,0 +1,79 @@
|
|
1
|
+
class <%= controller_class_name %>Controller < ApplicationController
|
2
|
+
load_and_authorize_resource
|
3
|
+
|
4
|
+
# GET <%= route_url %>
|
5
|
+
# GET <%= route_url %>.xml
|
6
|
+
def index
|
7
|
+
respond_to do |format|
|
8
|
+
format.html # index.html.erb
|
9
|
+
format.xml { render :xml => @<%= plural_table_name %> }
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
# GET <%= route_url %>/1
|
14
|
+
# GET <%= route_url %>/1.xml
|
15
|
+
def show
|
16
|
+
respond_to do |format|
|
17
|
+
format.html # show.html.erb
|
18
|
+
format.xml { render :xml => @<%= singular_table_name %> }
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
# GET <%= route_url %>/new
|
23
|
+
# GET <%= route_url %>/new.xml
|
24
|
+
def new
|
25
|
+
respond_to do |format|
|
26
|
+
format.html # new.html.erb
|
27
|
+
format.xml { render :xml => @<%= singular_table_name %> }
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
# GET <%= route_url %>/1/edit
|
32
|
+
def edit
|
33
|
+
end
|
34
|
+
|
35
|
+
# POST <%= route_url %>
|
36
|
+
# POST <%= route_url %>.xml
|
37
|
+
def create
|
38
|
+
respond_to do |format|
|
39
|
+
if @<%= singular_table_name %>.save
|
40
|
+
format.html { redirect_to(@<%= singular_table_name %>,
|
41
|
+
:notice => I18n.t('backend.actions.success_create',
|
42
|
+
:model => I18n.t('activerecord.capitalized_models.<%= singular_table_name %>'))) }
|
43
|
+
format.xml { render :xml => @<%= singular_table_name %>, :status => :created, :location => @<%= singular_table_name %> }
|
44
|
+
else
|
45
|
+
format.html { render :action => "new" }
|
46
|
+
format.xml { render :xml => @<%= singular_table_name %>.errors, :status => :unprocessable_entity }
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
# PUT <%= route_url %>/1
|
52
|
+
# PUT <%= route_url %>/1.xml
|
53
|
+
def update
|
54
|
+
respond_to do |format|
|
55
|
+
if @<%= singular_table_name %>.update_attributes(params[:<%= singular_table_name %>])
|
56
|
+
format.html { redirect_to(@<%= singular_table_name %>,
|
57
|
+
:notice => I18n.t('backend.actions.success_update',
|
58
|
+
:model => I18n.t('activerecord.capitalized_models.<%= singular_table_name %>'))) }
|
59
|
+
format.xml { head :ok }
|
60
|
+
else
|
61
|
+
format.html { render :action => "edit" }
|
62
|
+
format.xml { render :xml => @<%= singular_table_name %>.errors, :status => :unprocessable_entity }
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
# DELETE <%= route_url %>/1
|
68
|
+
# DELETE <%= route_url %>/1.xml
|
69
|
+
def destroy
|
70
|
+
@<%= singular_table_name %>.destroy
|
71
|
+
|
72
|
+
respond_to do |format|
|
73
|
+
format.html { redirect_to(<%= index_helper %>_url,
|
74
|
+
:notice => I18n.t('backend.actions.success_destroy',
|
75
|
+
:model => I18n.t('activerecord.capitalized_models.<%= singular_table_name %>'))) }
|
76
|
+
format.xml { head :ok }
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class StarsFormBuilder < ActionView::Helpers::FormBuilder
|
2
|
+
include ActionView::Helpers::TagHelper
|
3
|
+
|
4
|
+
def label(method, text = nil, options = {}, &block)
|
5
|
+
super + mark_required(object, method)
|
6
|
+
end
|
7
|
+
|
8
|
+
protected
|
9
|
+
|
10
|
+
def mark_required(object, attribute)
|
11
|
+
if object.class.validators_on(attribute).map(&:class).include? ActiveModel::Validations::PresenceValidator
|
12
|
+
content_tag('span', '*', :style => 'color: red;')
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'rails/generators/base'
|
2
|
+
|
3
|
+
module Marilyn
|
4
|
+
module Generators
|
5
|
+
class StarsFormGenerator < Rails::Generators::Base
|
6
|
+
desc "Installs stars from builder into application"
|
7
|
+
source_root File.dirname(__FILE__)
|
8
|
+
|
9
|
+
def copy_form_builder_file
|
10
|
+
copy_file('lib/stars_form_builder.rb')
|
11
|
+
end
|
12
|
+
|
13
|
+
def extend_environment
|
14
|
+
append_to_file('config/environment.rb', "require File.dirname(__FILE__) + '/../lib/stars_form_builder'\n")
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'rails/generators/base'
|
2
|
+
|
3
|
+
module Marilyn
|
4
|
+
module Generators
|
5
|
+
class WelcomeGenerator < Rails::Generators::Base
|
6
|
+
desc "Installs welcome controller into application"
|
7
|
+
source_root File.dirname(__FILE__)
|
8
|
+
|
9
|
+
def copy_controller_files
|
10
|
+
copy_file('app/controllers/welcome_controller.rb')
|
11
|
+
copy_file('test/functional/welcome_controller_test.rb')
|
12
|
+
copy_file('app/helpers/welcome_helper.rb')
|
13
|
+
copy_file('test/unit/helpers/welcome_helper_test.rb')
|
14
|
+
copy_file('app/views/welcome/index.html.erb')
|
15
|
+
end
|
16
|
+
|
17
|
+
def set_root_route
|
18
|
+
#begin_regex = /^.*::Application.routes.draw do\n$/
|
19
|
+
#inject_into_file('config/routes.rb', "\n root :to => 'welcome#index'\n", :after => begin_regex)
|
20
|
+
route "root :to => 'welcome#index'"
|
21
|
+
end
|
22
|
+
|
23
|
+
def remove_default_index_html
|
24
|
+
remove_file('public/index.html')
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/marilyn.gemspec
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "marilyn/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "marilyn"
|
7
|
+
s.version = Marilyn::VERSION
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.authors = ["Gleb Averchuk"]
|
10
|
+
s.email = ["altermn@gmail.com"]
|
11
|
+
s.homepage = "https://github.com/newmen/marilyn"
|
12
|
+
s.summary = %q{Provides a good templates.}
|
13
|
+
s.description = %q{Provides a good templates for the generators instead of the Rails standard, as well as some minimal required files.}
|
14
|
+
|
15
|
+
s.rubyforge_project = "marilyn"
|
16
|
+
|
17
|
+
s.files = `git ls-files`.split("\n")
|
18
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
19
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
20
|
+
s.require_paths = ["lib"]
|
21
|
+
|
22
|
+
s.add_dependency 'cancan'
|
23
|
+
s.add_dependency 'devise'
|
24
|
+
s.add_dependency 'jquery-rails'
|
25
|
+
s.add_dependency 'railties', '>= 3.0.0'
|
26
|
+
|
27
|
+
# specify any dependencies here; for example:
|
28
|
+
# s.add_development_dependency "rspec"
|
29
|
+
# s.add_runtime_dependency "rest-client"
|
30
|
+
end
|
metadata
ADDED
@@ -0,0 +1,151 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: marilyn
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 29
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- 1
|
10
|
+
version: 0.0.1
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Gleb Averchuk
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2011-08-16 00:00:00 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
name: cancan
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
25
|
+
requirements:
|
26
|
+
- - ">="
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
hash: 3
|
29
|
+
segments:
|
30
|
+
- 0
|
31
|
+
version: "0"
|
32
|
+
type: :runtime
|
33
|
+
version_requirements: *id001
|
34
|
+
- !ruby/object:Gem::Dependency
|
35
|
+
name: devise
|
36
|
+
prerelease: false
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
38
|
+
none: false
|
39
|
+
requirements:
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
hash: 3
|
43
|
+
segments:
|
44
|
+
- 0
|
45
|
+
version: "0"
|
46
|
+
type: :runtime
|
47
|
+
version_requirements: *id002
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: jquery-rails
|
50
|
+
prerelease: false
|
51
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
53
|
+
requirements:
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
hash: 3
|
57
|
+
segments:
|
58
|
+
- 0
|
59
|
+
version: "0"
|
60
|
+
type: :runtime
|
61
|
+
version_requirements: *id003
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: railties
|
64
|
+
prerelease: false
|
65
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
67
|
+
requirements:
|
68
|
+
- - ">="
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
hash: 7
|
71
|
+
segments:
|
72
|
+
- 3
|
73
|
+
- 0
|
74
|
+
- 0
|
75
|
+
version: 3.0.0
|
76
|
+
type: :runtime
|
77
|
+
version_requirements: *id004
|
78
|
+
description: Provides a good templates for the generators instead of the Rails standard, as well as some minimal required files.
|
79
|
+
email:
|
80
|
+
- altermn@gmail.com
|
81
|
+
executables: []
|
82
|
+
|
83
|
+
extensions: []
|
84
|
+
|
85
|
+
extra_rdoc_files: []
|
86
|
+
|
87
|
+
files:
|
88
|
+
- .gitignore
|
89
|
+
- Gemfile
|
90
|
+
- README
|
91
|
+
- Rakefile
|
92
|
+
- lib/generators/marilyn/email_validator/email_validator_generator.rb
|
93
|
+
- lib/generators/marilyn/email_validator/lib/email_format_validator.rb
|
94
|
+
- lib/generators/marilyn/fish/app/helpers/application_helper.rb
|
95
|
+
- lib/generators/marilyn/fish/app/views/layouts/application.html.erb
|
96
|
+
- lib/generators/marilyn/fish/app/views/shared/_error_messages.html.erb
|
97
|
+
- lib/generators/marilyn/fish/config/locales/en.yml
|
98
|
+
- lib/generators/marilyn/fish/config/locales/ru.yml
|
99
|
+
- lib/generators/marilyn/fish/fish_generator.rb
|
100
|
+
- lib/generators/marilyn/fish/lib/templates/erb/scaffold/_form.html.erb
|
101
|
+
- lib/generators/marilyn/fish/lib/templates/erb/scaffold/edit.html.erb
|
102
|
+
- lib/generators/marilyn/fish/lib/templates/erb/scaffold/index.html.erb
|
103
|
+
- lib/generators/marilyn/fish/lib/templates/erb/scaffold/new.html.erb
|
104
|
+
- lib/generators/marilyn/fish/lib/templates/erb/scaffold/show.html.erb
|
105
|
+
- lib/generators/marilyn/fish/lib/templates/rails/controller/controller.rb
|
106
|
+
- lib/generators/marilyn/fish/lib/templates/rails/scaffold_controller/controller.rb
|
107
|
+
- lib/generators/marilyn/stars_form/lib/stars_form_builder.rb
|
108
|
+
- lib/generators/marilyn/stars_form/stars_form_generator.rb
|
109
|
+
- lib/generators/marilyn/welcome/app/controllers/welcome_controller.rb
|
110
|
+
- lib/generators/marilyn/welcome/app/helpers/welcome_helper.rb
|
111
|
+
- lib/generators/marilyn/welcome/app/views/welcome/index.html.erb
|
112
|
+
- lib/generators/marilyn/welcome/test/functional/welcome_controller_test.rb
|
113
|
+
- lib/generators/marilyn/welcome/test/unit/helpers/welcome_helper_test.rb
|
114
|
+
- lib/generators/marilyn/welcome/welcome_generator.rb
|
115
|
+
- lib/marilyn/version.rb
|
116
|
+
- marilyn.gemspec
|
117
|
+
homepage: https://github.com/newmen/marilyn
|
118
|
+
licenses: []
|
119
|
+
|
120
|
+
post_install_message:
|
121
|
+
rdoc_options: []
|
122
|
+
|
123
|
+
require_paths:
|
124
|
+
- lib
|
125
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
126
|
+
none: false
|
127
|
+
requirements:
|
128
|
+
- - ">="
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
hash: 3
|
131
|
+
segments:
|
132
|
+
- 0
|
133
|
+
version: "0"
|
134
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
135
|
+
none: false
|
136
|
+
requirements:
|
137
|
+
- - ">="
|
138
|
+
- !ruby/object:Gem::Version
|
139
|
+
hash: 3
|
140
|
+
segments:
|
141
|
+
- 0
|
142
|
+
version: "0"
|
143
|
+
requirements: []
|
144
|
+
|
145
|
+
rubyforge_project: marilyn
|
146
|
+
rubygems_version: 1.8.6
|
147
|
+
signing_key:
|
148
|
+
specification_version: 3
|
149
|
+
summary: Provides a good templates.
|
150
|
+
test_files: []
|
151
|
+
|