marilyn 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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
+