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.
Files changed (30) hide show
  1. data/.gitignore +5 -0
  2. data/Gemfile +4 -0
  3. data/README +12 -0
  4. data/Rakefile +1 -0
  5. data/lib/generators/marilyn/email_validator/email_validator_generator.rb +18 -0
  6. data/lib/generators/marilyn/email_validator/lib/email_format_validator.rb +7 -0
  7. data/lib/generators/marilyn/fish/app/helpers/application_helper.rb +11 -0
  8. data/lib/generators/marilyn/fish/app/views/layouts/application.html.erb +17 -0
  9. data/lib/generators/marilyn/fish/app/views/shared/_error_messages.html.erb +11 -0
  10. data/lib/generators/marilyn/fish/config/locales/en.yml +53 -0
  11. data/lib/generators/marilyn/fish/config/locales/ru.yml +70 -0
  12. data/lib/generators/marilyn/fish/fish_generator.rb +77 -0
  13. data/lib/generators/marilyn/fish/lib/templates/erb/scaffold/_form.html.erb +13 -0
  14. data/lib/generators/marilyn/fish/lib/templates/erb/scaffold/edit.html.erb +6 -0
  15. data/lib/generators/marilyn/fish/lib/templates/erb/scaffold/index.html.erb +25 -0
  16. data/lib/generators/marilyn/fish/lib/templates/erb/scaffold/new.html.erb +5 -0
  17. data/lib/generators/marilyn/fish/lib/templates/erb/scaffold/show.html.erb +12 -0
  18. data/lib/generators/marilyn/fish/lib/templates/rails/controller/controller.rb +9 -0
  19. data/lib/generators/marilyn/fish/lib/templates/rails/scaffold_controller/controller.rb +79 -0
  20. data/lib/generators/marilyn/stars_form/lib/stars_form_builder.rb +15 -0
  21. data/lib/generators/marilyn/stars_form/stars_form_generator.rb +18 -0
  22. data/lib/generators/marilyn/welcome/app/controllers/welcome_controller.rb +4 -0
  23. data/lib/generators/marilyn/welcome/app/helpers/welcome_helper.rb +2 -0
  24. data/lib/generators/marilyn/welcome/app/views/welcome/index.html.erb +2 -0
  25. data/lib/generators/marilyn/welcome/test/functional/welcome_controller_test.rb +9 -0
  26. data/lib/generators/marilyn/welcome/test/unit/helpers/welcome_helper_test.rb +4 -0
  27. data/lib/generators/marilyn/welcome/welcome_generator.rb +28 -0
  28. data/lib/marilyn/version.rb +3 -0
  29. data/marilyn.gemspec +30 -0
  30. metadata +151 -0
data/.gitignore ADDED
@@ -0,0 +1,5 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
5
+ .idea
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in marilyn.gemspec
4
+ gemspec
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,7 @@
1
+ class EmailFormatValidator < ActiveModel::EachValidator
2
+ def validate_each(object, attribute, value)
3
+ unless value =~ /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i
4
+ object.errors[attribute] << "is not formatted properly"
5
+ end
6
+ end
7
+ 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,6 @@
1
+ <%%= title(t('<%= plural_table_name %>.edit.title')) %>
2
+
3
+ <%%= render 'form' %>
4
+
5
+ <%%= link_to t('backend.actions.show'), @<%= singular_table_name %> %> |
6
+ <%%= link_to t('backend.actions.back'), <%= index_helper %>_path %>
@@ -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,5 @@
1
+ <%%= title(t('<%= plural_table_name %>.new.title')) %>
2
+
3
+ <%%= render 'form' %>
4
+
5
+ <%%= link_to t('backend.actions.back'), <%= index_helper %>_path %>
@@ -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,9 @@
1
+ class <%= class_name %>Controller < ApplicationController
2
+ <% for action in actions -%>
3
+ def <%= action %>
4
+ raise CanCan::AccessDenied unless can?(<%= action %>, <%= class_name %>)
5
+
6
+ end
7
+
8
+ <% end -%>
9
+ end
@@ -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,4 @@
1
+ class WelcomeController < ApplicationController
2
+ def index
3
+ end
4
+ end
@@ -0,0 +1,2 @@
1
+ module WelcomeHelper
2
+ end
@@ -0,0 +1,2 @@
1
+ <h1>Welcome#index</h1>
2
+ <p>Find me in app/views/welcome/index.html.erb</p>
@@ -0,0 +1,9 @@
1
+ require 'test_helper'
2
+
3
+ class WelcomeControllerTest < ActionController::TestCase
4
+ test "should get index" do
5
+ get :index
6
+ assert_response :success
7
+ end
8
+
9
+ end
@@ -0,0 +1,4 @@
1
+ require 'test_helper'
2
+
3
+ class WelcomeHelperTest < ActionView::TestCase
4
+ 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
@@ -0,0 +1,3 @@
1
+ module Marilyn
2
+ VERSION = "0.0.1"
3
+ 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
+