hancock_cms 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +23 -0
- data/.rspec +1 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +113 -0
- data/Rakefile +1 -0
- data/app/assets/images/devices/login-bg.jpg +0 -0
- data/app/assets/images/rails-admin/hancock_logo.svg +5 -0
- data/app/assets/javascripts/hancock/app/back_to_top.coffee +24 -0
- data/app/assets/javascripts/hancock/cms.coffee +11 -0
- data/app/assets/javascripts/hancock/cms/flash.coffee +3 -0
- data/app/assets/javascripts/hancock/cms/init.coffee +1 -0
- data/app/assets/javascripts/hancock/cms/map.coffee +22 -0
- data/app/assets/javascripts/hancock/rails_admin/cms.ui.coffee +43 -0
- data/app/assets/javascripts/hancock/rails_admin/custom/ui.coffee +0 -0
- data/app/assets/javascripts/head.load.js +707 -0
- data/app/assets/javascripts/jquery.placeholder.js +157 -0
- data/app/assets/javascripts/rails_admin/custom/ui.coffee +2 -0
- data/app/assets/stylesheets/hancock/cms.sass +9 -0
- data/app/assets/stylesheets/hancock/cms/devise.sass +157 -0
- data/app/assets/stylesheets/hancock/cms/flash.sass +69 -0
- data/app/assets/stylesheets/hancock/cms/mixins.sass +98 -0
- data/app/assets/stylesheets/hancock/cms/normalize.scss +407 -0
- data/app/assets/stylesheets/hancock/cms/powered.sass +18 -0
- data/app/assets/stylesheets/hancock/rails_admin/cms.theming.sass +703 -0
- data/app/assets/stylesheets/hancock/rails_admin/custom/theming.sass +1 -0
- data/app/assets/stylesheets/hancock/toplink/toplink.sass +24 -0
- data/app/assets/stylesheets/rails_admin/custom/theming.sass +4 -0
- data/app/controllers/concerns/hancock/current_user.rb +12 -0
- data/app/controllers/concerns/hancock/decorators/home.rb +12 -0
- data/app/controllers/concerns/hancock/decorators/registrations.rb +5 -0
- data/app/controllers/concerns/hancock/decorators/sessions.rb +5 -0
- data/app/controllers/concerns/hancock/errors.rb +94 -0
- data/app/controllers/concerns/hancock/fancybox.rb +14 -0
- data/app/controllers/concerns/hancock/no_cache.rb +12 -0
- data/app/controllers/hancock/home_controller.rb +10 -0
- data/app/controllers/hancock/registrations_controller.rb +23 -0
- data/app/controllers/hancock/sessions_controller.rb +24 -0
- data/app/helpers/hancock/gzip_helper.rb +27 -0
- data/app/helpers/hancock/home_helper.rb +2 -0
- data/app/helpers/hancock/powered_helper.rb +42 -0
- data/app/models/concerns/hancock/boolean_field.rb +21 -0
- data/app/models/concerns/hancock/cacheable.rb +33 -0
- data/app/models/concerns/hancock/decorators/embedded_element.rb +28 -0
- data/app/models/concerns/hancock/enableable.rb +8 -0
- data/app/models/concerns/hancock/geocodeable.rb +4 -0
- data/app/models/concerns/hancock/hash_field.rb +113 -0
- data/app/models/concerns/hancock/html_field.rb +33 -0
- data/app/models/concerns/hancock/mappable.rb +91 -0
- data/app/models/concerns/hancock/model_localizeable.rb +33 -0
- data/app/models/concerns/hancock/rails_admin_patch.rb +86 -0
- data/app/models/concerns/hancock/sort_field.rb +20 -0
- data/app/models/concerns/hancock/sortable.rb +8 -0
- data/app/models/hancock/embedded_element.rb +17 -0
- data/app/views/blocks/_favicon.html.slim +60 -0
- data/app/views/blocks/_footer.html.slim +1 -0
- data/app/views/blocks/_header.html.slim +3 -0
- data/app/views/devise/passwords/edit.html.slim +29 -0
- data/app/views/devise/passwords/new.html.slim +19 -0
- data/app/views/devise/registrations/edit.html.slim +31 -0
- data/app/views/devise/registrations/new.html.slim +39 -0
- data/app/views/devise/sessions/new.html.slim +39 -0
- data/app/views/devise/shared/_links.html.slim +11 -0
- data/app/views/hancock/errors/_base.html.slim +3 -0
- data/app/views/hancock/errors/error_403.html.slim +1 -0
- data/app/views/hancock/errors/error_404.html.slim +1 -0
- data/app/views/hancock/errors/error_500.html.slim +1 -0
- data/app/views/hancock/home/index.html.slim +1 -0
- data/app/views/hancock/simple_captcha/_simple_captcha.html.slim +13 -0
- data/app/views/hancock/toplink/_toplink.html.slim +2 -0
- data/app/views/layouts/application.html.slim +35 -0
- data/app/views/layouts/hancock/devise/confirmations.html.slim +22 -0
- data/app/views/layouts/hancock/devise/passwords.html.slim +22 -0
- data/app/views/layouts/hancock/devise/registrations.html.slim +22 -0
- data/app/views/layouts/hancock/devise/sessions.html.slim +22 -0
- data/app/views/layouts/hancock/devise/unlocks.html.slim +22 -0
- data/app/views/layouts/rails_admin/_footer.html.slim +2 -0
- data/app/views/layouts/rails_admin/_footer_navigation.html.slim +20 -0
- data/app/views/layouts/rails_admin/_navigation.html.slim +73 -0
- data/app/views/layouts/rails_admin/_secondary_navigation.html.slim +32 -0
- data/app/views/layouts/rails_admin/application.html.haml +68 -0
- data/app/views/layouts/rails_admin/pjax.html.haml +17 -0
- data/app/views/rails_admin/main/_check_boxes.html.slim +27 -0
- data/app/views/rails_admin/main/_enum_check_boxes.html.slim +5 -0
- data/app/views/rails_admin/main/_enum_radio_buttons.html.slim +5 -0
- data/app/views/rails_admin/main/_form_hancock_multiselect.html.slim +48 -0
- data/app/views/rails_admin/main/_form_raw.html.slim +1 -0
- data/app/views/rails_admin/main/_hancock_hash.html.slim +9 -0
- data/app/views/rails_admin/main/_hancock_hash_ml.html.slim +10 -0
- data/app/views/rails_admin/main/_hancock_html.html.slim +16 -0
- data/app/views/rails_admin/main/_hancock_html_ml.html.slim +53 -0
- data/app/views/shared/_admin_link.html.slim +3 -0
- data/app/views/shared/_messages.html.slim +7 -0
- data/config/initializers/embedded_findable.rb +57 -0
- data/config/initializers/hancock_cms.rb +11 -0
- data/config/initializers/simple_captcha.rb +70 -0
- data/config/locales/en.hancock.yml +29 -0
- data/config/locales/en.hancock_admin.yml +6 -0
- data/config/locales/ru.cancan.yml +4 -0
- data/config/locales/ru.devise.yml +65 -0
- data/config/locales/ru.hancock.yml +36 -0
- data/config/locales/ru.hancock_admin.yml +6 -0
- data/config/locales/ru.models.yml +82 -0
- data/config/locales/ru.mongoid.yml +450 -0
- data/config/locales/ru.rails_admin.yml +168 -0
- data/hancock_cms.gemspec +46 -0
- data/lib/filename_to_slug.rb +32 -0
- data/lib/generators/hancock/cms/ability_generator.rb +14 -0
- data/lib/generators/hancock/cms/admin_generator.rb +21 -0
- data/lib/generators/hancock/cms/application_generator.rb +14 -0
- data/lib/generators/hancock/cms/assets_generator.rb +35 -0
- data/lib/generators/hancock/cms/config_generator.rb +13 -0
- data/lib/generators/hancock/cms/controllers/decorators_generator.rb +27 -0
- data/lib/generators/hancock/cms/gemfile_generator.rb +13 -0
- data/lib/generators/hancock/cms/layout_generator.rb +14 -0
- data/lib/generators/hancock/cms/model_generator.rb +39 -0
- data/lib/generators/hancock/cms/models/embedded_element_generator.rb +56 -0
- data/lib/generators/hancock/cms/models/templates/embedded_element.erb +47 -0
- data/lib/generators/hancock/cms/paperclip_optimizer_generator.rb +13 -0
- data/lib/generators/hancock/cms/rack_generator.rb +12 -0
- data/lib/generators/hancock/cms/robots_generator.rb +14 -0
- data/lib/generators/hancock/cms/scripts_generator.rb +31 -0
- data/lib/generators/hancock/cms/templates/Gemfile.erb +69 -0
- data/lib/generators/hancock/cms/templates/ability.erb +49 -0
- data/lib/generators/hancock/cms/templates/admin.erb +74 -0
- data/lib/generators/hancock/cms/templates/application.erb +42 -0
- data/lib/generators/hancock/cms/templates/assets/javascripts/application.coffee.erb +5 -0
- data/lib/generators/hancock/cms/templates/assets/stylesheets/application.sass.erb +88 -0
- data/lib/generators/hancock/cms/templates/hancock_cms.erb +30 -0
- data/lib/generators/hancock/cms/templates/model.erb +42 -0
- data/lib/generators/hancock/cms/templates/paperclip_optimizer.erb +80 -0
- data/lib/generators/hancock/cms/templates/rack.erb +15 -0
- data/lib/generators/hancock/cms/templates/robots.txt.erb +5 -0
- data/lib/generators/hancock/cms/templates/scripts/assets_precompile.sh +3 -0
- data/lib/generators/hancock/cms/templates/scripts/bundle_production.sh +4 -0
- data/lib/generators/hancock/cms/templates/scripts/db_dump.sh.erb +3 -0
- data/lib/generators/hancock/cms/templates/scripts/db_restore.sh +3 -0
- data/lib/generators/hancock/cms/templates/scripts/full_assets_precompile.sh +4 -0
- data/lib/generators/hancock/cms/templates/scripts/restart_thru_kill.sh +3 -0
- data/lib/generators/hancock/cms/templates/scripts/send_hup.sh +3 -0
- data/lib/generators/hancock/cms/templates/scripts/send_usr2.sh +3 -0
- data/lib/generators/hancock/cms/templates/scripts/server.sh +5 -0
- data/lib/generators/hancock/cms/templates/scripts/server_alt.sh +5 -0
- data/lib/generators/hancock/cms/templates/unicorn.erb +57 -0
- data/lib/generators/hancock/cms/templates/unicorn.god.erb +59 -0
- data/lib/generators/hancock/cms/unicorn_god_generator.rb +15 -0
- data/lib/generators/hancock/cms/utils.rb +21 -0
- data/lib/hancock/admin.rb +60 -0
- data/lib/hancock/admin/embedded_element.rb +26 -0
- data/lib/hancock/configuration.rb +48 -0
- data/lib/hancock/controller.rb +30 -0
- data/lib/hancock/engine.rb +48 -0
- data/lib/hancock/migration.rb +15 -0
- data/lib/hancock/model.rb +53 -0
- data/lib/hancock/models/embedded_element.rb +12 -0
- data/lib/hancock/models/mongoid/embedded_element.rb +14 -0
- data/lib/hancock/plugin.rb +25 -0
- data/lib/hancock/plugin_configuration.rb +30 -0
- data/lib/hancock/rails_admin_ext/config.rb +129 -0
- data/lib/hancock/rails_admin_ext/hancock_hash.rb +84 -0
- data/lib/hancock/rails_admin_ext/hancock_html.rb +79 -0
- data/lib/hancock/rails_admin_ext/hancock_multiselect.rb +44 -0
- data/lib/hancock/rails_admin_ext/hancock_slugs.rb +35 -0
- data/lib/hancock/rails_admin_ext/patches/field_patch.rb +14 -0
- data/lib/hancock/rails_admin_ext/patches/group_patch.rb +41 -0
- data/lib/hancock/rails_admin_ext/patches/hancock_cms_group.rb +61 -0
- data/lib/hancock/rails_admin_ext/patches/new_controller_patch.rb +54 -0
- data/lib/hancock/routes.rb +20 -0
- data/lib/hancock/simple_form_patch.rb +12 -0
- data/lib/hancock/tasks.rb +13 -0
- data/lib/hancock/version.rb +3 -0
- data/lib/hancock_cms.rb +130 -0
- data/lib/manual_slug.rb +10 -0
- data/lib/manual_slug/active_record.rb +32 -0
- data/lib/manual_slug/mongoid.rb +40 -0
- data/lib/rails_admin/custom_show_in_app.rb +43 -0
- data/release.sh +12 -0
- data/template.rb +564 -0
- metadata +455 -0
@@ -0,0 +1,168 @@
|
|
1
|
+
# Russian. Updated 2012-07-18
|
2
|
+
|
3
|
+
ru:
|
4
|
+
admin:
|
5
|
+
js:
|
6
|
+
true: Да
|
7
|
+
false: Нет
|
8
|
+
is_present: Существует
|
9
|
+
is_blank: Пустое
|
10
|
+
date: Дата ...
|
11
|
+
between_and_: Между ... и ...
|
12
|
+
today: Сегодня
|
13
|
+
yesterday: Вчера
|
14
|
+
this_week: На этой неделе
|
15
|
+
last_week: На прошлой неделе
|
16
|
+
number: Номер ...
|
17
|
+
contains: Содержит
|
18
|
+
is_exactly: В точности
|
19
|
+
starts_with: Начинается с
|
20
|
+
ends_with: Кончается на
|
21
|
+
too_many_objects: "Слишком много объектов, используйте фильтры и поиск"
|
22
|
+
no_objects: Ничего не найдено
|
23
|
+
loading: Загрузка...
|
24
|
+
toggle_navigation: Скрыть/Показать навигацию
|
25
|
+
home:
|
26
|
+
name: "Главная"
|
27
|
+
pagination:
|
28
|
+
previous: "« Предыдущая"
|
29
|
+
next: "Следующая »"
|
30
|
+
truncate: "…"
|
31
|
+
misc:
|
32
|
+
filter_date_format: "dd.mm.yyyy"
|
33
|
+
search: "Поиск"
|
34
|
+
filter: "Фильтрация"
|
35
|
+
refresh: "Обновить"
|
36
|
+
show_all: "Показать все"
|
37
|
+
add_filter: "Добавить фильтр..."
|
38
|
+
bulk_menu_title: "Выбранные элементы..."
|
39
|
+
remove: "Убрать"
|
40
|
+
add_new: "Добавить новый"
|
41
|
+
chosen: "Выбрать %{name}"
|
42
|
+
chose_all: "Выбрать все"
|
43
|
+
clear_all: "Убрать выделение"
|
44
|
+
up: "Вверх"
|
45
|
+
down: "Вниз"
|
46
|
+
navigation: "Навигация"
|
47
|
+
log_out: "Выйти"
|
48
|
+
ago: "назад"
|
49
|
+
flash:
|
50
|
+
successful: "%{name} был %{action}"
|
51
|
+
error: "Не получилось %{action} %{name}"
|
52
|
+
noaction: "Никаких изменений не выполнено"
|
53
|
+
model_not_found: "Модель '%{model}' не найден"
|
54
|
+
object_not_found: "Объект %{model} с id '%{id}' не найден"
|
55
|
+
table_headers:
|
56
|
+
items: "Элементы"
|
57
|
+
model_name: "Название модели"
|
58
|
+
last_used: "Последний раз использовалось"
|
59
|
+
records: "Записи"
|
60
|
+
username: "Пользователь"
|
61
|
+
changes: "Изменения"
|
62
|
+
created_at: "Дата/Время"
|
63
|
+
item: "Элемент"
|
64
|
+
message: "Сообщение"
|
65
|
+
actions:
|
66
|
+
nestable:
|
67
|
+
title: "Сортировка %{model_label}"
|
68
|
+
menu: "Сортировать"
|
69
|
+
breadcrumb: "Сортировка"
|
70
|
+
link: "Сортировать"
|
71
|
+
bulk_link: "Сортировка выбранных %{model_label_plural}"
|
72
|
+
done: "Сохранено"
|
73
|
+
success: "Успешно"
|
74
|
+
error: "Ошибка"
|
75
|
+
social_auth:
|
76
|
+
menu: Авторизовать
|
77
|
+
|
78
|
+
dashboard:
|
79
|
+
title: "Управление сайтом"
|
80
|
+
menu: "Контрольная панель"
|
81
|
+
breadcrumb: "панель"
|
82
|
+
index:
|
83
|
+
title: "Список %{model_label_plural}"
|
84
|
+
menu: "Список"
|
85
|
+
breadcrumb: "%{model_label_plural}"
|
86
|
+
show:
|
87
|
+
title: "Детали %{model_label} '%{object_label}'"
|
88
|
+
menu: "Просмотр"
|
89
|
+
breadcrumb: "%{object_label}"
|
90
|
+
show_in_app:
|
91
|
+
menu: "Показать в приложении"
|
92
|
+
new:
|
93
|
+
title: "Новый %{model_label}"
|
94
|
+
menu: "Создание"
|
95
|
+
breadcrumb: "новый"
|
96
|
+
link: "Добавить новый %{model_label}"
|
97
|
+
done: "создано"
|
98
|
+
edit:
|
99
|
+
title: "Редактирование %{model_label} '%{object_label}'"
|
100
|
+
menu: "Редактирование"
|
101
|
+
breadcrumb: "редактирование"
|
102
|
+
link: "Редактировать %{model_label}"
|
103
|
+
done: "сохранено"
|
104
|
+
delete:
|
105
|
+
title: "Удаление %{model_label} '%{object_label}'"
|
106
|
+
menu: "Удаление"
|
107
|
+
breadcrumb: "удаление"
|
108
|
+
link: "Удалить '%{object_label}'"
|
109
|
+
done: "удалено"
|
110
|
+
bulk_delete:
|
111
|
+
title: "Удалить много %{model_label_plural}"
|
112
|
+
menu: "Мульти-удаление"
|
113
|
+
breadcrumb: "мульти-удаление"
|
114
|
+
bulk_link: "Удалить выбранные %{model_label_plural}"
|
115
|
+
export:
|
116
|
+
title: "Экспорт %{model_label}"
|
117
|
+
menu: "Экспорт"
|
118
|
+
breadcrumb: "экспорт"
|
119
|
+
link: "Экспорт найденных %{model_label_plural}"
|
120
|
+
bulk_link: "Экспорт выбраных %{model_label_plural}"
|
121
|
+
done: "экспортировано"
|
122
|
+
history_index:
|
123
|
+
title: "История для %{model_label_plural}"
|
124
|
+
menu: "История"
|
125
|
+
breadcrumb: "история"
|
126
|
+
history_show:
|
127
|
+
title: "История для %{model_label} '%{object_label}'"
|
128
|
+
menu: "История"
|
129
|
+
breadcrumb: "история"
|
130
|
+
show_in_app:
|
131
|
+
title: 'В приложении'
|
132
|
+
menu: "Показать на сайте"
|
133
|
+
form:
|
134
|
+
cancel: "Отмена"
|
135
|
+
basic_info: "Основное"
|
136
|
+
required: "Требуемое"
|
137
|
+
optional: "Необязательное"
|
138
|
+
one_char: "символ"
|
139
|
+
char_length_up_to: "длина не более"
|
140
|
+
char_length_of: "длина"
|
141
|
+
save: "Сохранить"
|
142
|
+
save_and_add_another: "Сохранить и добавить ещё"
|
143
|
+
save_and_edit: "Сохранить и остаться"
|
144
|
+
all_of_the_following_related_items_will_be_deleted: "Следующие объекты будут удалены:"
|
145
|
+
are_you_sure_you_want_to_delete_the_object: "Вы уверены что хотите удалить %{model_name}"
|
146
|
+
confirmation: "Да, уверен"
|
147
|
+
delete_confirmation: "Подтвердить удаление"
|
148
|
+
bulk_delete: "Следующие объекты будут удалены, что может сломать связи с другими объектами:"
|
149
|
+
new_model: "Новый"
|
150
|
+
export:
|
151
|
+
confirmation: "Экспортировать как %{name}"
|
152
|
+
select: "Выберите поля для экспорта"
|
153
|
+
fields_from: "Поля из %{name}"
|
154
|
+
fields_from_associated: "Поля из ассоциированной %{name}"
|
155
|
+
display: "Показать %{name}: %{type}"
|
156
|
+
options_for: "Настройки для %{name}"
|
157
|
+
empty_value_for_associated_objects: "<пусто>"
|
158
|
+
click_to_reverse_selection: 'Обратить выделение'
|
159
|
+
csv:
|
160
|
+
header_for_root_methods: "%{name}" # 'model' is available
|
161
|
+
header_for_association_methods: "%{name} [%{association}]"
|
162
|
+
encoding_to: "Декодировать как"
|
163
|
+
encoding_to_help: "Выберите результирующую кодировку. Оставьте пустой, чтобы оставить исходную кодировку нетронутой: (%{name})"
|
164
|
+
skip_header: "Без заголовка"
|
165
|
+
skip_header_help: "Не выводить заголовок (без описаний полей)"
|
166
|
+
default_col_sep: ","
|
167
|
+
col_sep: "Разделитель столбцов"
|
168
|
+
col_sep_help: "Оставьте пустым, чтобы было по умолчанию ('%{value}')" # value is default_col_sep
|
data/hancock_cms.gemspec
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
lib = File.expand_path('../lib', __FILE__)
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
+
require 'hancock/version'
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = 'hancock_cms'
|
7
|
+
spec.version = Hancock::VERSION
|
8
|
+
spec.authors = ['Alexander Kiseliev']
|
9
|
+
spec.email = ["dev@redrocks.pro"]
|
10
|
+
spec.description = %q{HancockCMS }
|
11
|
+
spec.summary = %q{Please DO NOT use this gem directly, use hancock_cms_mongoid or hancock_cms_activerecord instead!}
|
12
|
+
spec.homepage = 'https://github.com/red-rocks/hancock_cms'
|
13
|
+
spec.license = 'MIT'
|
14
|
+
|
15
|
+
spec.files = `git ls-files`.split($/).reject {|f| f.start_with?('mongoid') || f.start_with?('activerecord') }
|
16
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
17
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
18
|
+
spec.require_paths = ['lib']
|
19
|
+
|
20
|
+
spec.add_development_dependency 'bundler'
|
21
|
+
spec.add_development_dependency 'rake'
|
22
|
+
|
23
|
+
spec.add_dependency 'rails', ['>= 4.2', "< 5.0"]
|
24
|
+
|
25
|
+
spec.add_dependency 'jquery-rails'
|
26
|
+
spec.add_dependency 'simple_form'
|
27
|
+
# spec.add_dependency 'glebtv-simple_captcha'
|
28
|
+
# spec.add_dependency 'galetahub-simple_captcha'
|
29
|
+
spec.add_dependency 'coffee-rails'
|
30
|
+
spec.add_dependency 'devise'
|
31
|
+
|
32
|
+
spec.add_dependency 'ckeditor'
|
33
|
+
spec.add_dependency 'geocoder'
|
34
|
+
|
35
|
+
spec.add_dependency 'rails_admin', '~> 0.8.1'
|
36
|
+
spec.add_dependency 'rails_admin_nested_set'
|
37
|
+
spec.add_dependency 'rails_admin_toggleable'
|
38
|
+
|
39
|
+
spec.add_dependency 'ack_rails_admin_settings'
|
40
|
+
|
41
|
+
spec.add_dependency 'kaminari'
|
42
|
+
|
43
|
+
spec.add_dependency 'codemirror-rails'
|
44
|
+
|
45
|
+
spec.add_dependency 'scrollbar-rails'
|
46
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'stringex'
|
2
|
+
require 'digest/md5'
|
3
|
+
|
4
|
+
class String
|
5
|
+
def filename_to_slug
|
6
|
+
s = self.to_url
|
7
|
+
if s.blank?
|
8
|
+
return Digest::MD5.hexdigest(self)
|
9
|
+
end
|
10
|
+
s
|
11
|
+
end
|
12
|
+
end
|
13
|
+
#
|
14
|
+
# module FilenameToSlug
|
15
|
+
# extend ActiveSupport::Concern
|
16
|
+
# included do
|
17
|
+
# before_post_process :filename_to_slug
|
18
|
+
# end
|
19
|
+
#
|
20
|
+
# def filename_to_slug
|
21
|
+
# if self.class.attachment_definitions
|
22
|
+
# self.class.attachment_definitions.each do |k,v|
|
23
|
+
# if self.send(k).file?
|
24
|
+
# full_file_name = self.send("#{k}_file_name")
|
25
|
+
# extension = File.extname(full_file_name)[1..-1]
|
26
|
+
# file_name = full_file_name[0..full_file_name.size-extension.size-1]
|
27
|
+
# self.send("#{k}").instance_write(:file_name, "#{file_name.filename_to_slug}.#{extension.filename_to_slug}")
|
28
|
+
# end
|
29
|
+
# end
|
30
|
+
# end
|
31
|
+
# end
|
32
|
+
# end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
require File.expand_path('../utils', __FILE__)
|
3
|
+
|
4
|
+
module Hancock::Cms
|
5
|
+
class AbilityGenerator < Rails::Generators::Base
|
6
|
+
source_root File.expand_path('../templates', __FILE__)
|
7
|
+
include Generators::Utils::InstanceMethods
|
8
|
+
|
9
|
+
desc 'Hancock CMS CanCan Ability config generator'
|
10
|
+
def install
|
11
|
+
template 'ability.erb', 'app/models/ability.rb'
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# shamelessly stolen from https://github.com/sferik/rails_admin/blob/master/lib/generators/rails_admin/utils.rb
|
2
|
+
|
3
|
+
require 'rails/generators'
|
4
|
+
require File.expand_path('../utils', __FILE__)
|
5
|
+
|
6
|
+
module Hancock::Cms
|
7
|
+
class AdminGenerator < Rails::Generators::Base
|
8
|
+
source_root File.expand_path('../templates', __FILE__)
|
9
|
+
include Generators::Utils::InstanceMethods
|
10
|
+
|
11
|
+
#argument :_namespace, type: :string, required: false, desc: 'RailsAdmin url namespace'
|
12
|
+
desc 'Hancock CMS RailsAdmin config generator'
|
13
|
+
|
14
|
+
def install
|
15
|
+
#namespace = ask_for('Where do you want to mount rails_admin?', 'admin', _namespace)
|
16
|
+
# namespace = 'admin'
|
17
|
+
# route("mount RailsAdmin::Engine => '/#{namespace}', as: 'rails_admin'")
|
18
|
+
template 'admin.erb', 'config/initializers/rails_admin.rb'
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
module Hancock::Cms
|
4
|
+
class ApplicationGenerator < Rails::Generators::Base
|
5
|
+
source_root File.expand_path('../templates', __FILE__)
|
6
|
+
|
7
|
+
argument :app_name, type: :string
|
8
|
+
|
9
|
+
desc 'Hancock CMS application.rb generator'
|
10
|
+
def install
|
11
|
+
template "application.erb", "config/application.rb"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
module Hancock::Cms
|
4
|
+
class AssetsGenerator < Rails::Generators::Base
|
5
|
+
source_root File.expand_path('../templates/assets', __FILE__)
|
6
|
+
|
7
|
+
desc 'Hancock CMS assets generator'
|
8
|
+
def install
|
9
|
+
assets_files.each do |f|
|
10
|
+
template "#{f}.erb", "app/assets/#{f}"
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
|
15
|
+
def rails_admin_theming_sass_path
|
16
|
+
"stylesheets/hancock/rails_admin/custom/theming.sass"
|
17
|
+
end
|
18
|
+
|
19
|
+
def application_sass_path
|
20
|
+
"stylesheets/application.sass"
|
21
|
+
end
|
22
|
+
|
23
|
+
def application_coffee_path
|
24
|
+
"javascripts/application.coffee"
|
25
|
+
end
|
26
|
+
|
27
|
+
def assets_files
|
28
|
+
[
|
29
|
+
rails_admin_theming_sass_path,
|
30
|
+
application_sass_path,
|
31
|
+
application_coffee_path
|
32
|
+
]
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
module Hancock::Cms
|
4
|
+
class ConfigGenerator < Rails::Generators::Base
|
5
|
+
source_root File.expand_path('../templates', __FILE__)
|
6
|
+
|
7
|
+
desc 'Hancock CMS Config generator'
|
8
|
+
def install
|
9
|
+
template 'hancock_cms.erb', "config/initializers/hancock_cms.rb"
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
module Hancock::Cms
|
4
|
+
module Controllers
|
5
|
+
class DecoratorsGenerator < Rails::Generators::Base
|
6
|
+
|
7
|
+
source_root File.expand_path('../../../../../../app/controllers/concerns/hancock/decorators', __FILE__)
|
8
|
+
argument :controllers, type: :array, default: []
|
9
|
+
|
10
|
+
desc 'Hancock::Cms Controllers decorators generator'
|
11
|
+
def decorators
|
12
|
+
copied = false
|
13
|
+
(controllers == ['all'] ? permitted_controllers : controllers & permitted_controllers).each do |c|
|
14
|
+
copied = true
|
15
|
+
copy_file "#{c}.rb", "app/controllers/concerns/hancock/decorators/#{c}.rb"
|
16
|
+
end
|
17
|
+
puts "U need to set controller`s name. One of this: #{permitted_controllers.join(", ")} or `all`." unless copied
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
def permitted_controllers
|
22
|
+
['home', 'sessions', 'registrations']
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
module Hancock::Cms
|
4
|
+
class GemfileGenerator < Rails::Generators::Base
|
5
|
+
source_root File.expand_path('../templates', __FILE__)
|
6
|
+
|
7
|
+
desc 'Hancock CMS Gemfile generator'
|
8
|
+
def install
|
9
|
+
template 'Gemfile.erb', "Gemfile"
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
require File.expand_path('../utils', __FILE__)
|
3
|
+
|
4
|
+
module Hancock::Cms
|
5
|
+
class LayoutGenerator < Rails::Generators::Base
|
6
|
+
source_root File.expand_path("../../../..", __FILE__)
|
7
|
+
include Generators::Utils::InstanceMethods
|
8
|
+
|
9
|
+
desc 'Hancock CMS Layout generator'
|
10
|
+
def layout
|
11
|
+
template('../app/views/layouts/application.html.slim', 'app/views/layouts/application.html.slim')
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
require File.expand_path('../utils', __FILE__)
|
3
|
+
|
4
|
+
module Hancock::Cms
|
5
|
+
class ModelGenerator < Rails::Generators::Base
|
6
|
+
source_root File.expand_path('../templates', __FILE__)
|
7
|
+
argument :class_name_arg, type: :string, default: ""
|
8
|
+
|
9
|
+
desc 'Hancock::CMS Model generator'
|
10
|
+
def install
|
11
|
+
template 'model.erb', "app/models/#{file_name}.rb"
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
def class_name
|
16
|
+
class_name_arg.blank? ? "SetClassForModel" : class_name_arg
|
17
|
+
end
|
18
|
+
|
19
|
+
def capitalized_class_name
|
20
|
+
class_name.capitalize
|
21
|
+
end
|
22
|
+
|
23
|
+
def camelcased_class_name
|
24
|
+
class_name.camelcase
|
25
|
+
end
|
26
|
+
|
27
|
+
def file_name
|
28
|
+
underscored_class_name
|
29
|
+
end
|
30
|
+
|
31
|
+
def underscored_class_name
|
32
|
+
camelcased_class_name.underscore
|
33
|
+
end
|
34
|
+
|
35
|
+
def underscored_pluralized_class_name
|
36
|
+
underscored_class_name.pluralize
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|