rcms 0.1.0 → 0.1.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 (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