rcms 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (31) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/rcms/mentions.scss +30 -0
  3. data/app/assets/stylesheets/rcms/news.scss +26 -0
  4. data/config/locales/rcms.ru.yml +47 -0
  5. data/lib/generators/rcms_feedback_generator.rb +25 -0
  6. data/lib/generators/rcms_mentions_generator.rb +38 -0
  7. data/lib/generators/rcms_news_generator.rb +40 -0
  8. data/lib/generators/templates/app/models/rcms/page.rb +0 -4
  9. data/lib/generators/templates_feedback/app/controllers/rcms/feedbacks_controller.rb +12 -0
  10. data/lib/generators/templates_feedback/app/mailers/.keep +0 -0
  11. data/lib/generators/templates_feedback/app/mailers/feedback_mailer.rb +13 -0
  12. data/lib/generators/templates_feedback/app/models/rcms/feedback.rb +28 -0
  13. data/lib/generators/templates_feedback/app/views/feedback_mailer/_form.html.slim +10 -0
  14. data/lib/generators/templates_feedback/app/views/feedback_mailer/feedback.html.slim +5 -0
  15. data/lib/generators/templates_feedback/app/views/feedback_mailer/plain.html.slim +1 -0
  16. data/lib/generators/templates_mentions/app/admin/rcms/mention.rb +15 -0
  17. data/lib/generators/templates_mentions/app/controllers/rcms/mentions_controller.rb +26 -0
  18. data/lib/generators/templates_mentions/app/models/rcms/mention.rb +19 -0
  19. data/lib/generators/templates_mentions/app/views/rcms/mentions/_dialog.html.slim +17 -0
  20. data/lib/generators/templates_mentions/app/views/rcms/mentions/_preview.html.slim +15 -0
  21. data/lib/generators/templates_mentions/migration.rb +16 -0
  22. data/lib/generators/templates_news/app/admin/rcms/news.rb +39 -0
  23. data/lib/generators/templates_news/app/controllers/rcms/news_controller.rb +16 -0
  24. data/lib/generators/templates_news/app/models/rcms/news.rb +27 -0
  25. data/lib/generators/templates_news/app/uploaders/rcms/news_image_uploader.rb +48 -0
  26. data/lib/generators/templates_news/app/views/rcms/news/_menu.html.slim +0 -0
  27. data/lib/generators/templates_news/app/views/rcms/news/index.html.slim +0 -0
  28. data/lib/generators/templates_news/app/views/rcms/news/show.html.slim +0 -0
  29. data/lib/generators/templates_news/migration.rb +19 -0
  30. data/lib/rcms/version.rb +1 -1
  31. metadata +28 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2a77d95f78d6b3fc8c610e14a66b269612a99818
4
- data.tar.gz: 95646dacf664fe54fb5175fe7ae8f52b3c4f00ec
3
+ metadata.gz: c38dccc02b702057f6ff1c64ff346be11fc94607
4
+ data.tar.gz: 4347c11e18b06616013d8819776d8571fcff09e7
5
5
  SHA512:
6
- metadata.gz: ae18ea76e1f4682ab80c383c3995c70e6698025b4bd7b7e52601512a6dd77277d940796a9d364d5318b42f1081169d9a04c9cf05196913ef9e36783443bf2aed
7
- data.tar.gz: f48971a88b002f4e33d99eb0629655756e30c9433c2d41e8fb5de89c9a178f4aaae5b5d73fed65d92a92686af3bf81260e1e02d42cb6e71103d87f67167561ad
6
+ metadata.gz: e85e6d8a5f4c0424b377b08e132a3808df63c32a743f64606897d9769ed78850de0ec5fd702f290ddb3d7cfc14d1632e105c84a3df36af61abb24099ad0a4ac3
7
+ data.tar.gz: be2e5f1ac7eeb38045b7be76734e0cdfcc9f21923a5ea742d4dd181283080de738b96ebcf77cd90b30cdb6fd04e44d4c7090528288501544d7f7f6e509b2043f
@@ -0,0 +1,30 @@
1
+ $success-color: #4CAF50 !default;
2
+
3
+ .rcms-mention-form{
4
+ fieldset{
5
+ width: 350px;
6
+ margin: 30px auto;
7
+ }
8
+ }
9
+
10
+ .aside-mentions-list{
11
+ .fa{
12
+ color: rgba(0,0,0,0.3);
13
+ }
14
+
15
+ .mention-item{
16
+ .text{
17
+ padding-bottom: 15px;
18
+ margin-bottom: 15px;
19
+ border-bottom: 1px dashed #aeaeae;
20
+ height: 56px;
21
+ }
22
+ }
23
+ .username{
24
+ color: $success-color;
25
+ margin-right: 7px;
26
+ }
27
+ time{
28
+ color: #777;
29
+ }
30
+ }
@@ -0,0 +1,26 @@
1
+ .aside-news-list{
2
+ .news-item{
3
+ &:last-of-type .list-group-item-text{
4
+ border-bottom: none;
5
+ padding-bottom: 0;
6
+ margin-bottom: 0;
7
+ }
8
+ }
9
+
10
+ .list-group-item-text{
11
+ padding-bottom: 15px;
12
+ margin-bottom: 15px;
13
+ border-bottom: 1px dashed #888888;
14
+ }
15
+
16
+ .list-group-item-heading {
17
+ margin-top: 8px;
18
+ margin-bottom: 5px;
19
+ }
20
+
21
+ &.list-group .list-group-item .list-group-item-heading {
22
+ color: rgba(0, 0, 0, 0.77);
23
+ font-size: 18px;
24
+ line-height: 22px;
25
+ }
26
+ }
@@ -3,6 +3,15 @@ ru:
3
3
  none: 1
4
4
  page:
5
5
  not_found: Информационная страничка "%{slug}" не найдена.
6
+ feedback:
7
+ subject: "Обратная связь для %{contact}"
8
+ created: "Запрос отправлен"
9
+ news:
10
+ index_title: Новости
11
+ mentions:
12
+ created: Спасибо за Ваш отзыв
13
+ index_title: Все отзывы
14
+
6
15
  activerecord:
7
16
  models:
8
17
  rcms/page:
@@ -11,6 +20,12 @@ ru:
11
20
  many: Страниц
12
21
  other: Страницы
13
22
 
23
+ rcms/mention:
24
+ one: Отзыв
25
+ few: Отзывов
26
+ many: Отзывы
27
+ other: Отзывы
28
+
14
29
  rcms/partial:
15
30
  one: Текст
16
31
  few: Текса
@@ -28,22 +43,54 @@ ru:
28
43
  many: Мета тегов
29
44
  other: Мета теги
30
45
 
46
+ rcms/news:
47
+ one: Новость
48
+ few: Новостей
49
+ many: Новости
50
+ other: Новости
51
+
31
52
  attributes:
53
+ rcms/mention:
54
+ updated_at: Редактировано
55
+ created_at: Создано
56
+ text: Отзыв
57
+ username: Имя
58
+ email: E-mail
59
+ is_published: Опубликован
60
+
61
+
62
+ rcms/news:
63
+ title: Заголовок
64
+ image: Файл изображения
65
+ remote_image_url: URL изображения
66
+ remote_image_url_hint: для загрузки из сети
67
+ slug: Url-ключ
68
+ description: Краткое описание
69
+ description_hint: будет в списках новостей вместо обрезанного поля "текст"
70
+ is_published: Опубликовано
71
+ text: Текст
72
+ slug_hint: "Url новости: %{path}"
73
+ updated_at: Редактировано
74
+ created_at: Создано
75
+
32
76
  rcms/page:
33
77
  title: Заголовок
34
78
  slug: Url-ключ
35
79
  text: Текст
36
80
  slug_hint: "Url странички: %{path}"
37
81
  updated_at: Редактировано
82
+ created_at: Создано
38
83
  rcms/partial:
39
84
  placement: Разположение
40
85
  description: Описание (для админа)
41
86
  text: Текст
87
+ created_at: Создано
42
88
  updated_at: Редактировано
43
89
  rcms/meta_page:
44
90
  path: Путь
45
91
  path_hint: например "/p-some-product-name"
46
92
  meta_tags: Мета теги
93
+ created_at: Создано
47
94
  updated_at: Редактировано
48
95
  rcms/meta_tag:
49
96
  key: Название тега
@@ -0,0 +1,25 @@
1
+ class RcmsFeedbackGenerator < Rails::Generators::Base
2
+ source_root File.expand_path("../templates_feedback", __FILE__)
3
+
4
+ def create_all_files
5
+ %w(feedbacks_controller.rb).each do |name|
6
+ copy_file "app/controllers/rcms/#{name}"
7
+ end
8
+
9
+ %w(feedback_mailer.rb).each do |name|
10
+ copy_file "app/mailers/#{name}"
11
+ end
12
+
13
+ %w(feedback.rb).each do |name|
14
+ copy_file "app/models/rcms/#{name}"
15
+ end
16
+
17
+ %w(feedback.html.slim plain.html.slim _form.html.slim).each do |name|
18
+ copy_file "app/views/feedback_mailer/#{name}"
19
+ end
20
+ end
21
+
22
+ def patch_routes
23
+ insert_into_file "config/routes.rb", " post 'rcms/feedbacks' => 'rcms/feedbacks#create', as: :rcms_feedbacks\n", :after => "Rails.application.routes.draw do\n"
24
+ end
25
+ end
@@ -0,0 +1,38 @@
1
+ class RcmsMentionsGenerator < Rails::Generators::Base
2
+ source_root File.expand_path("../templates_mentions", __FILE__)
3
+ include Rails::Generators::Migration
4
+
5
+ def self.next_migration_number(dirname)
6
+ Time.now.strftime("%Y%m%d%H%M%S")
7
+ end
8
+
9
+ def create_cmshelper_migration
10
+ migration_template "migration.rb", File.join('db/migrate', "create_rcms_mentions_tables.rb")
11
+ end
12
+
13
+ def create_all_files
14
+ Rails.cache.clear
15
+
16
+ %w(mention.rb).each do |name|
17
+ copy_file "app/admin/rcms/#{name}"
18
+ end
19
+
20
+ %w(mentions_controller.rb).each do |name|
21
+ copy_file "app/controllers/rcms/#{name}"
22
+ end
23
+
24
+ %w(mention.rb).each do |name|
25
+ copy_file "app/models/rcms/#{name}"
26
+ end
27
+
28
+ %w(_dialog.html.slim _preview.html.slim).each do |name|
29
+ copy_file "app/views/rcms/mentions/#{name}"
30
+ end
31
+ end
32
+
33
+ def patch_routes
34
+ insert_into_file "config/routes.rb",
35
+ " get 'mentions' => 'rcms/mentions#index', as: :rcms_mentions\n post 'mentions' => 'rcms/mentions#create'\n",
36
+ :after => "Rails.application.routes.draw do\n"
37
+ end
38
+ end
@@ -0,0 +1,40 @@
1
+ class RcmsNewsGenerator < Rails::Generators::Base
2
+ source_root File.expand_path("../templates_news", __FILE__)
3
+ include Rails::Generators::Migration
4
+
5
+ def self.next_migration_number(dirname)
6
+ Time.now.strftime("%Y%m%d%H%M%S")
7
+ end
8
+
9
+ def create_cmshelper_migration
10
+ migration_template "migration.rb", File.join('db/migrate', "create_rcms_news_tables.rb")
11
+ end
12
+
13
+ def create_all_files
14
+ Rails.cache.clear
15
+
16
+ %w(news.rb).each do |name|
17
+ copy_file "app/admin/rcms/#{name}"
18
+ end
19
+
20
+ %w(news_controller.rb).each do |name|
21
+ copy_file "app/controllers/rcms/#{name}"
22
+ end
23
+
24
+ %w(news.rb).each do |name|
25
+ copy_file "app/models/rcms/#{name}"
26
+ end
27
+
28
+ %w(news_image_uploader.rb).each do |name|
29
+ copy_file "app/uploaders/rcms/#{name}"
30
+ end
31
+
32
+ %w(_menu.html.slim index.html.slim show.html.slim).each do |name|
33
+ copy_file "app/views/rcms/news/#{name}"
34
+ end
35
+ end
36
+
37
+ def patch_routes
38
+ insert_into_file "config/routes.rb", " get 'news' => 'rcms/news#index', as: :rcms_news\n get 'news-:slug' => 'rcms/news#show', as: :rcms_new\n", :after => "Rails.application.routes.draw do\n"
39
+ end
40
+ end
@@ -4,10 +4,6 @@ class Rcms::Page < ActiveRecord::Base
4
4
  extend FriendlyId
5
5
  friendly_id :title, use: [:slugged, :finders]
6
6
 
7
- def meta_title
8
- self.title
9
- end
10
-
11
7
  protected
12
8
 
13
9
  def should_generate_new_friendly_id?
@@ -0,0 +1,12 @@
1
+ class Rcms::FeedbacksController < ApplicationController
2
+ def create
3
+ @feedback = Feedback.new( params.require(:rcms_feedback).permit(:username, :feedback_type, :text, :phone) )
4
+ if @feedback.valid?
5
+ FeedbackMailer.feedback(@feedback).deliver_now
6
+ flash[:success] = t('rcms.feedback.created')
7
+ redirect_to root_path
8
+ else
9
+ render :create
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+ class FeedbackMailer < ActionMailer::Base
2
+ def feedback(feedback)
3
+ @feedback = feedback
4
+ admin_emails = AdminUser.pluck(:email)
5
+ mail(to: admin_emails, subject: @feedback.subject)
6
+ end
7
+
8
+ def plain(text)
9
+ @text = text
10
+ admin_emails = AdminUser.pluck(:email)
11
+ mail(to: admin_emails, subject: text)
12
+ end
13
+ end
@@ -0,0 +1,28 @@
1
+ class Rcms::Feedback
2
+ include ActiveModel::Validations
3
+ include ActiveModel::Conversion
4
+ extend ActiveModel::Naming
5
+
6
+ attr_accessor :username
7
+ attr_accessor :feedback_type
8
+ attr_accessor :phone
9
+ attr_accessor :text
10
+ attr_accessor :email
11
+
12
+ validates_presence_of :phone
13
+
14
+ def subject
15
+ I18n.t('rcms.feedback.subject', contact: (phone||email))
16
+ end
17
+
18
+ def initialize(attributes = {})
19
+ attributes.each do |name, value|
20
+ send("#{name}=", value)
21
+ end
22
+ end
23
+
24
+ def persisted?
25
+ false
26
+ end
27
+ end
28
+
@@ -0,0 +1,10 @@
1
+ - feedback = @feedback || Rcms::Feedback.new(feedback_type: 'Позвоните мне')
2
+ = simple_form_for feedback, url: rcms_feedbacks_path do |f|
3
+ .hide
4
+ = f.input_field :feedback_type
5
+ .form-group
6
+ = f.input_field :username, placeholder: 'имя', required: true, class: 'form-control'
7
+ .clearfix
8
+ = f.input_field :phone, placeholder: 'номер телефона', required: true, class: 'form-control'
9
+ .clearfix
10
+ button.btn.btn-primary.btn-sm.pull-right Позвоните мне
@@ -0,0 +1,5 @@
1
+ p
2
+ = @feedback.subject
3
+ p Имя #{@feedback.username}
4
+ p Телефон #{@feedback.phone}
5
+ p Сообщение #{@feedback.text}
@@ -0,0 +1,15 @@
1
+ ActiveAdmin.register Rcms::Mention do
2
+ # include AdminRedirects
3
+
4
+ permit_params :username, :text, :email, :is_published
5
+
6
+ form do |f|
7
+ f.inputs do
8
+ f.input :username
9
+ f.input :email
10
+ f.input :is_published
11
+ f.input :text
12
+ end
13
+ f.actions
14
+ end
15
+ end
@@ -0,0 +1,26 @@
1
+ class Rcms::MentionsController < ApplicationController
2
+ def index
3
+ @news = Rcms::News.all.page(params[:page]).per(10)
4
+ apply_meta_tags title: t('rcms.mentions.index_title')
5
+ end
6
+
7
+ def create
8
+ @mention = Rcms::Mention.new mention_params
9
+
10
+ @mention.is_published = true
11
+ if @mention.save
12
+ redirect_to after_create_path(@mention), flash: {success: t('rcms.mentions.created')}
13
+ else
14
+ render :create
15
+ end
16
+ end
17
+
18
+ def after_create_path mention
19
+ root_path
20
+ end
21
+
22
+ protected
23
+ def mention_params
24
+ params.require(:rcms_mention).permit(:username, :email, :text)
25
+ end
26
+ end
@@ -0,0 +1,19 @@
1
+ class Rcms::Mention < ActiveRecord::Base
2
+ self.table_name = 'rcms_mentions'
3
+
4
+ scope :frontend, -> {where(is_published: true).order('id desc')}
5
+ scope :preview, -> {frontend.limit(4)}
6
+
7
+ validates_presence_of :username, :text
8
+
9
+ def get_short_desc l = 110
10
+ truncate(text, l)
11
+ end
12
+
13
+ def truncate text, l = 110
14
+ return nil if text.nil?
15
+ text = ActionView::Base.full_sanitizer.sanitize(text)
16
+ text.length > l ? text.truncate(l) : text
17
+ end
18
+ end
19
+
@@ -0,0 +1,17 @@
1
+ .modal#new-mention-dialog.rcms-mention-form
2
+ = simple_form_for @mention||Rcms::Mention.new, url: rcms_mentions_path do |f|
3
+ .modal-dialog
4
+ .modal-content
5
+ .modal-header
6
+ button.close aria-hidden="true" data-dismiss="modal" type="button" ×
7
+ h4.modal-title Новый отзыв
8
+ .modal-body
9
+ fieldset
10
+ .form-group
11
+ = f.input_field :username, class: 'form-control', placeholder: "Ваше имя", required: true
12
+ .form-group
13
+ = f.input_field :text, class: 'form-control', placeholder: "Отзыв", required: true
14
+
15
+ .modal-footer
16
+ button.btn.btn-default data-dismiss="modal" type="button" Отмена
17
+ button.btn.btn-success type="submit" оставить отзыв
@@ -0,0 +1,15 @@
1
+ .aside-mentions-list.row
2
+ - @mentions_preview.each do |mention|
3
+ .col-xs-6.mention-item
4
+ /.pull-left
5
+ i.fa.fa-quote-left
6
+ .pull-right
7
+ i.fa.fa-quote-right
8
+ span.username
9
+ = mention.username
10
+ time.small
11
+ = l(mention.created_at, format: :short)
12
+ .clearfix
13
+ .text
14
+ span.small
15
+ = mention.get_short_desc 120
@@ -0,0 +1,16 @@
1
+ class CreateRcmsMentionsTables < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :rcms_mentions do |t|
4
+ t.string :username
5
+ t.string :email
6
+ t.boolean :is_published
7
+ t.text :text
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+
13
+ def self.down
14
+ drop_table :rcms_mentions
15
+ end
16
+ end
@@ -0,0 +1,39 @@
1
+ ActiveAdmin.register Rcms::News do
2
+ # include AdminRedirects
3
+
4
+ permit_params :slug, :title, :text, :image, :image_cache, :remote_image_url, :is_published, :description
5
+
6
+ form do |f|
7
+ f.inputs do
8
+ f.input :title
9
+
10
+ f.input :remote_image_url, as: :string, hint: t("activerecord.attributes.rcms/news.remote_image_url_hint")
11
+ f.input :image, as: :file, :hint => f.object.image.default? ? '' : "<img src='#{f.object.image.url(:list)}' />".html_safe
12
+
13
+ f.input :image_cache, as: :hidden
14
+ f.input :is_published
15
+
16
+ f.input :slug, hint: f.object.persisted? ? (t("activerecord.attributes.rcms/news.slug_hint", path: rcms_new_path(f.object))) : nil
17
+ f.input :description, hint: t("activerecord.attributes.rcms/news.description_hint")
18
+ f.inputs t("activerecord.attributes.rcms/page.text") do
19
+ f.cktext_area :text
20
+ end
21
+ end
22
+ f.actions
23
+ end
24
+
25
+ index do
26
+ selectable_column
27
+ column :id
28
+ column :image do |object|
29
+ "<img src='#{object.image.url(:list)}' height='40' />".html_safe
30
+ end
31
+ column :slug
32
+ column :title
33
+ column :updated_at
34
+ actions
35
+ end
36
+
37
+ filter :slug
38
+ filter :title
39
+ end
@@ -0,0 +1,16 @@
1
+ class Rcms::NewsController < ApplicationController
2
+ def index
3
+ @news = Rcms::News.all.page(params[:page]).per(10)
4
+ apply_meta_tags title: t('rcms.news.index_title')
5
+ end
6
+
7
+ def show
8
+ @news_article = retrieve slug_or_id
9
+ apply_meta_tags @news_article
10
+ end
11
+
12
+ def retrieve slug_or_id
13
+ Rcms::News.find slug_or_id
14
+ rescue
15
+ end
16
+ end
@@ -0,0 +1,27 @@
1
+ class Rcms::News < ActiveRecord::Base
2
+ self.table_name = 'rcms_news'
3
+ extend FriendlyId
4
+ friendly_id :title, use: [:slugged, :finders]
5
+
6
+ mount_uploader :image, Rcms::NewsImageUploader
7
+
8
+ scope :frontend, -> {where(is_published: true).order('id desc')}
9
+ scope :aside_menu, -> {frontend.limit(3)}
10
+
11
+ def get_short_desc l = 110
12
+ description.present? ? truncate(description, l) : truncate(text, l)
13
+ end
14
+
15
+ def truncate text, l = 110
16
+ return nil if text.nil?
17
+ text = ActionView::Base.full_sanitizer.sanitize(text)
18
+ text.length > l ? text.truncate(l) : text
19
+ end
20
+
21
+ protected
22
+
23
+ def should_generate_new_friendly_id?
24
+ !slug.present?
25
+ end
26
+ end
27
+
@@ -0,0 +1,48 @@
1
+ # encoding: utf-8
2
+
3
+ class Rcms::NewsImageUploader < CarrierWave::Uploader::Base
4
+
5
+ # Include RMagick or MiniMagick support:
6
+ include CarrierWave::RMagick
7
+ # include CarrierWave::MiniMagick
8
+
9
+ # Choose what kind of storage to use for this uploader:
10
+ storage :file
11
+ # storage :fog
12
+
13
+ def store_dir
14
+ "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
15
+ end
16
+
17
+ def default_url
18
+ # For Rails 3.1+ asset pipeline compatibility:
19
+ # ActionController::Base.helpers.asset_path("images/#{fallback_dir}/" + [version_name, "default.png"].compact.join('_'))
20
+ ActionController::Base.helpers.asset_path("default.jpg")
21
+ end
22
+
23
+ def set_filename(name)
24
+ @filename = name
25
+ end
26
+
27
+ def extension_white_list
28
+ %w(jpg jpeg png bmp)
29
+ end
30
+
31
+ def default?
32
+ url == default_url
33
+ end
34
+
35
+ version :list do
36
+ process :resize_to_limit => [100, 100]
37
+ end
38
+
39
+ version :show do
40
+ process :resize_to_limit => [200, 200]
41
+ end
42
+
43
+ protected
44
+
45
+ def fallback_dir
46
+ model.class.to_s.underscore
47
+ end
48
+ end
@@ -0,0 +1,19 @@
1
+ class CreateRcmsNewsTables < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :rcms_news do |t|
4
+ t.string :image
5
+ t.string :title
6
+ t.string :description
7
+ t.string :slug
8
+ t.boolean :is_published
9
+ t.text :text
10
+
11
+ t.timestamps
12
+ end
13
+ add_index :rcms_news, :slug, unique: true
14
+ end
15
+
16
+ def self.down
17
+ drop_table :rcms_news
18
+ end
19
+ end
@@ -1,3 +1,3 @@
1
1
  module Rcms
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rcms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - ruslan.palagin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-10-03 00:00:00.000000000 Z
11
+ date: 2015-10-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -57,10 +57,15 @@ files:
57
57
  - LICENSE.txt
58
58
  - README.md
59
59
  - Rakefile
60
+ - app/assets/stylesheets/rcms/mentions.scss
61
+ - app/assets/stylesheets/rcms/news.scss
60
62
  - bin/console
61
63
  - bin/setup
62
64
  - config/locales/rcms.ru.yml
65
+ - lib/generators/rcms_feedback_generator.rb
63
66
  - lib/generators/rcms_generator.rb
67
+ - lib/generators/rcms_mentions_generator.rb
68
+ - lib/generators/rcms_news_generator.rb
64
69
  - lib/generators/templates/app/admin/rcms/meta_page.rb
65
70
  - lib/generators/templates/app/admin/rcms/page.rb
66
71
  - lib/generators/templates/app/admin/rcms/partial.rb
@@ -71,6 +76,27 @@ files:
71
76
  - lib/generators/templates/app/models/rcms/partial.rb
72
77
  - lib/generators/templates/app/views/rcms/pages/show.html.slim
73
78
  - lib/generators/templates/migration.rb
79
+ - lib/generators/templates_feedback/app/controllers/rcms/feedbacks_controller.rb
80
+ - lib/generators/templates_feedback/app/mailers/.keep
81
+ - lib/generators/templates_feedback/app/mailers/feedback_mailer.rb
82
+ - lib/generators/templates_feedback/app/models/rcms/feedback.rb
83
+ - lib/generators/templates_feedback/app/views/feedback_mailer/_form.html.slim
84
+ - lib/generators/templates_feedback/app/views/feedback_mailer/feedback.html.slim
85
+ - lib/generators/templates_feedback/app/views/feedback_mailer/plain.html.slim
86
+ - lib/generators/templates_mentions/app/admin/rcms/mention.rb
87
+ - lib/generators/templates_mentions/app/controllers/rcms/mentions_controller.rb
88
+ - lib/generators/templates_mentions/app/models/rcms/mention.rb
89
+ - lib/generators/templates_mentions/app/views/rcms/mentions/_dialog.html.slim
90
+ - lib/generators/templates_mentions/app/views/rcms/mentions/_preview.html.slim
91
+ - lib/generators/templates_mentions/migration.rb
92
+ - lib/generators/templates_news/app/admin/rcms/news.rb
93
+ - lib/generators/templates_news/app/controllers/rcms/news_controller.rb
94
+ - lib/generators/templates_news/app/models/rcms/news.rb
95
+ - lib/generators/templates_news/app/uploaders/rcms/news_image_uploader.rb
96
+ - lib/generators/templates_news/app/views/rcms/news/_menu.html.slim
97
+ - lib/generators/templates_news/app/views/rcms/news/index.html.slim
98
+ - lib/generators/templates_news/app/views/rcms/news/show.html.slim
99
+ - lib/generators/templates_news/migration.rb
74
100
  - lib/rcms.rb
75
101
  - lib/rcms/application_controller.rb
76
102
  - lib/rcms/router.rb