sunrise-cms 1.1.1 → 2.0.0

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 (77) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/tests.yml +49 -0
  3. data/.rubocop.yml +3 -1
  4. data/.ruby-version +1 -1
  5. data/CHANGELOG.rdoc +5 -0
  6. data/Gemfile +9 -17
  7. data/Gemfile.lock +332 -207
  8. data/README.md +42 -34
  9. data/app/assets/config/manifest.js +1 -0
  10. data/app/assets/javascripts/sunrise/application.js +2 -4
  11. data/app/controllers/sunrise/manager_controller.rb +4 -6
  12. data/app/controllers/sunrise/settings_controller.rb +2 -3
  13. data/app/helpers/sunrise/structure_helper.rb +2 -2
  14. data/app/views/layouts/sunrise/application.html.erb +2 -0
  15. data/app/views/sunrise/manager/_field.html.erb +5 -5
  16. data/app/views/sunrise/manager/_form.html.erb +15 -15
  17. data/app/views/sunrise/manager/_header_edit.html.erb +3 -4
  18. data/app/views/sunrise/manager/_header_new.html.erb +3 -3
  19. data/app/views/sunrise/manager/_header_show.html.erb +9 -13
  20. data/app/views/sunrise/manager/_nested_field.html.erb +6 -6
  21. data/app/views/sunrise/manager/edit.html.erb +1 -1
  22. data/app/views/sunrise/manager/new.html.erb +1 -1
  23. data/app/views/sunrise/manager/structures/thumbs/_record.html.erb +19 -16
  24. data/app/views/sunrise/manager/thumbs/_record.html.erb +26 -22
  25. data/app/views/sunrise/settings/_form.html.erb +5 -5
  26. data/app/views/sunrise/settings/_header_edit.html.erb +3 -4
  27. data/config/locales/sunrise/en.yml +35 -35
  28. data/config/locales/sunrise/ru.yml +35 -35
  29. data/config/locales/sunrise/uk.yml +35 -35
  30. data/db/migrate/20111216144515_create_assets.rb +1 -1
  31. data/db/migrate/20111216144915_create_structures.rb +1 -1
  32. data/db/migrate/20111216145015_create_users.rb +1 -1
  33. data/db/migrate/20120611095315_create_settings.rb +1 -1
  34. data/lib/generators/sunrise/templates/config/active_record/sunrise.rb +0 -4
  35. data/lib/generators/sunrise/templates/config/mongoid/sunrise.rb +0 -4
  36. data/lib/generators/sunrise/templates/models/active_record/attachment_file.rb +0 -2
  37. data/lib/generators/sunrise/templates/models/active_record/avatar.rb +0 -2
  38. data/lib/generators/sunrise/templates/models/active_record/picture.rb +0 -2
  39. data/lib/generators/sunrise/templates/models/active_record/position_type.rb +4 -4
  40. data/lib/generators/sunrise/templates/models/active_record/role_type.rb +5 -5
  41. data/lib/generators/sunrise/templates/models/active_record/settings.rb +14 -2
  42. data/lib/generators/sunrise/templates/models/active_record/structure_type.rb +6 -6
  43. data/lib/generators/sunrise/templates/models/mongoid/attachment_file.rb +0 -2
  44. data/lib/generators/sunrise/templates/models/mongoid/avatar.rb +0 -2
  45. data/lib/generators/sunrise/templates/models/mongoid/picture.rb +0 -2
  46. data/lib/generators/sunrise/templates/models/mongoid/position_type.rb +4 -4
  47. data/lib/generators/sunrise/templates/models/mongoid/role_type.rb +5 -5
  48. data/lib/generators/sunrise/templates/models/mongoid/structure_type.rb +6 -6
  49. data/lib/generators/sunrise/templates/models/sunrise/sunrise_structure.rb +2 -2
  50. data/lib/generators/sunrise/templates/spec/controllers/pages_controller_spec.rb +2 -2
  51. data/lib/generators/sunrise/templates/spec/controllers/welcome_controller_spec.rb +1 -1
  52. data/lib/generators/sunrise/templates/spec/factories/structure_factory.rb +2 -2
  53. data/lib/generators/sunrise/templates/spec/factories/user_factory.rb +6 -6
  54. data/lib/generators/sunrise/templates/spec/spec_helper.rb +1 -1
  55. data/lib/generators/sunrise/templates/spec/support/helpers/controller_macros.rb +4 -4
  56. data/lib/generators/sunrise/templates/uploaders/attachment_file_uploader.rb +4 -0
  57. data/lib/generators/sunrise/templates/uploaders/avatar_uploader.rb +4 -0
  58. data/lib/generators/sunrise/templates/uploaders/picture_uploader.rb +4 -0
  59. data/lib/sunrise/abstract_model.rb +10 -0
  60. data/lib/sunrise/carrierwave/glue.rb +1 -7
  61. data/lib/sunrise/config.rb +0 -5
  62. data/lib/sunrise/core_ext/string.rb +0 -5
  63. data/lib/sunrise/engine.rb +5 -5
  64. data/lib/sunrise/models/ability.rb +1 -1
  65. data/lib/sunrise/models/position_type.rb +1 -7
  66. data/lib/sunrise/models/role_type.rb +4 -6
  67. data/lib/sunrise/models/structure.rb +3 -3
  68. data/lib/sunrise/models/structure_type.rb +1 -7
  69. data/lib/sunrise/models/user.rb +4 -4
  70. data/lib/sunrise/utils.rb +1 -2
  71. data/lib/sunrise/version.rb +1 -1
  72. data/lib/sunrise/views/search_wrapper.rb +1 -1
  73. data/sunrise-cms.gemspec +8 -11
  74. metadata +22 -38
  75. data/.rspec +0 -2
  76. data/lib/sunrise/carrierwave/file_size_validator.rb +0 -75
  77. data/lib/sunrise/utils/transliteration.rb +0 -73
@@ -13,7 +13,7 @@ uk:
13
13
  remember_me: "Запам'ятати мене"
14
14
  role_type_id: "Тип користувача"
15
15
  role: "Тип користувача"
16
-
16
+
17
17
  structure:
18
18
  title: "Назва"
19
19
  title_ru: "Назва (рос.)"
@@ -24,7 +24,7 @@ uk:
24
24
  redirect_url: "Перенаправлення (URL)"
25
25
  position_type_id: "Позиція"
26
26
  slug: "URL"
27
-
27
+
28
28
  header:
29
29
  title: "Заголовок сторінки"
30
30
  title_ru: "Заголовок сторінки (рос.)"
@@ -35,7 +35,7 @@ uk:
35
35
  description: "Опис сторінки"
36
36
  description_ru: "Опис сторінки (рос.)"
37
37
  description_en: "Опис сторінки (eng.)"
38
-
38
+
39
39
  post:
40
40
  title: "Назва"
41
41
  title_ru: "Назва (рос.)"
@@ -46,7 +46,7 @@ uk:
46
46
  created_at: "Дата / Час"
47
47
  picture: "Зображення"
48
48
  published_at: "Дата публікації"
49
-
49
+
50
50
  page:
51
51
  title: "Назва"
52
52
  title_ru: "Назва (рос.)"
@@ -54,10 +54,10 @@ uk:
54
54
  content: "Зміст"
55
55
  content_ru: "Зміст (рос.)"
56
56
  content_en: "Зміст (eng.)"
57
-
57
+
58
58
  tag:
59
59
  name: "Назва"
60
-
60
+
61
61
  feedback:
62
62
  name: "Ім'я"
63
63
  email: "Email"
@@ -66,14 +66,14 @@ uk:
66
66
  remote_ip: "IP адреса"
67
67
  user_agent: "Версія браузера"
68
68
  message: "Повідомлення"
69
-
69
+
70
70
  activity:
71
71
  created_at: "Дата"
72
72
  owner: "Пользователь"
73
73
  key: "Что"
74
74
  trackable: "Объект"
75
75
  remote_address: "IP"
76
-
76
+
77
77
  manage:
78
78
  title: "Система<br />управління"
79
79
  go_site: "Перегляд сайту"
@@ -106,7 +106,7 @@ uk:
106
106
  close: "Закрити"
107
107
  search: "Пошук"
108
108
  filter: "Фільтр"
109
-
109
+
110
110
  menu:
111
111
  title: "Розділи та модулі"
112
112
  system_messages: "Системні повідомлення"
@@ -134,29 +134,29 @@ uk:
134
134
  panel:
135
135
  main: "Розділи та модулі"
136
136
  creates: "Створити"
137
-
137
+
138
138
  settings:
139
139
  title: "Налаштування"
140
140
  mailer: "Пошта"
141
141
  route: "Домен"
142
142
  contacts: "Контакти"
143
-
143
+
144
144
  locale:
145
145
  ru: "русский"
146
146
  en: "английский"
147
147
  uk: "украинский"
148
-
149
- model_filter:
148
+
149
+ model_filter:
150
150
  title: "Фільтр даних"
151
151
  filter: "Фільтр"
152
152
  search: "Пошук"
153
153
  clear: "Очистити"
154
154
  total_count: "Всього"
155
-
155
+
156
156
  position:
157
157
  down: "Опустити вниз"
158
158
  up: "Підняти вверх"
159
-
159
+
160
160
  buttons:
161
161
  create_structure: "Створити розділ"
162
162
  table: "Таблиця"
@@ -168,7 +168,7 @@ uk:
168
168
  sort: "Сортувати"
169
169
  save: "Зберегти"
170
170
  cancel: "Скасувати"
171
-
171
+
172
172
  user:
173
173
  actions: "дії"
174
174
  events:
@@ -179,7 +179,7 @@ uk:
179
179
  activate: "Активувати"
180
180
  unlock: "Розблокувати"
181
181
  roles: "Ролі"
182
-
182
+
183
183
  users:
184
184
  activated_at: "активація"
185
185
  last_login_ip: "ip"
@@ -187,16 +187,16 @@ uk:
187
187
  category: "категорія"
188
188
  name: "Ім'я"
189
189
  export: "Експортувати"
190
-
190
+
191
191
  sort:
192
192
  _: "-"
193
193
  created_at_desc: "по дате по убыванию"
194
194
  created_at_asc: "по дате по возрастанию"
195
195
  name_desc: "по имени по убыванию"
196
196
  name_asc: "по имени по возрастанию"
197
-
197
+
198
198
  structure:
199
- kind:
199
+ name:
200
200
  page: "Текстова сторінка"
201
201
  posts: "Блоги"
202
202
  main: "Головна сторінка"
@@ -208,20 +208,20 @@ uk:
208
208
  tracks: "Музика"
209
209
  wallpapers: "Шпалери"
210
210
  group: "Група сторінок"
211
-
211
+
212
212
  position:
213
213
  default: "За замовчуванням"
214
214
  menu: "Головне меню"
215
215
  bottom: "Внизу"
216
-
216
+
217
217
  role:
218
- kind:
218
+ name:
219
219
  guest: "Гість"
220
220
  default: "Клієнт"
221
221
  moderator: "Модератор"
222
222
  admin: "Aдміністратор"
223
223
  redactor: "Редактор"
224
-
224
+
225
225
  tags:
226
226
  sort:
227
227
  _: "-"
@@ -229,7 +229,7 @@ uk:
229
229
  created_at_asc: "по дате по возрастанию"
230
230
  name_desc: "по названию по убыванию"
231
231
  name_asc: "по названию по возрастанию"
232
-
232
+
233
233
  posts:
234
234
  sort:
235
235
  _: "-"
@@ -237,7 +237,7 @@ uk:
237
237
  created_at_asc: "по дате по возрастанию"
238
238
  title_desc: "по названию по убыванию"
239
239
  title_asc: "по названию по возрастанию"
240
-
240
+
241
241
  sort_columns:
242
242
  _: "-"
243
243
  created_at_desc: "по дате по убыванию"
@@ -252,11 +252,11 @@ uk:
252
252
  position_asc: "за позицией по возрастанию"
253
253
  sort_order_desc: "по сортировке по убыванию"
254
254
  sort_order_asc: "по сортировке по возрастанию"
255
-
255
+
256
256
  fileupload:
257
257
  button: "Виберіть файл"
258
258
  max_size: "Макс. р."
259
-
259
+
260
260
  icons:
261
261
  down: "Опустити вниз"
262
262
  up: "Підняти вгору"
@@ -266,7 +266,7 @@ uk:
266
266
 
267
267
  groups:
268
268
  meta_tags: "Мета теги"
269
-
269
+
270
270
  views:
271
271
  pagination:
272
272
  previous: "Попередня"
@@ -274,9 +274,9 @@ uk:
274
274
  truncate: "..."
275
275
  last: "Остання"
276
276
  first: "Перша"
277
-
277
+
278
278
  flash:
279
- manage:
279
+ manage:
280
280
  actions:
281
281
  create:
282
282
  success: "Запис успішно створено"
@@ -287,19 +287,19 @@ uk:
287
287
  destroy:
288
288
  success: "Запис успішно видалено"
289
289
  failure: "Виникли помилки при видаленні даних"
290
-
290
+
291
291
  users:
292
292
  create:
293
293
  success: "Користувач успішно створений"
294
294
  failure: "Виникли помилки при створенні користувача"
295
295
  update:
296
296
  success: "Дані користувача успішно оновлено"
297
-
297
+
298
298
  settings:
299
299
  create:
300
300
  success: "Параметри успішно оновлені"
301
301
  failure: "Виникли помилки при збереженні даних"
302
-
302
+
303
303
  pages:
304
304
  create:
305
305
  success: "Сторінка успішно збережено"
@@ -307,7 +307,7 @@ uk:
307
307
  update:
308
308
  success: "Сторінка успішно збережено"
309
309
  failure: "Виникли помилки при збереженні даних"
310
-
310
+
311
311
  errors:
312
312
  messages:
313
313
  wrong_size: "неправильний розмір (повинно бути %{file_size})"
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- class CreateAssets < ActiveRecord::Migration
3
+ class CreateAssets < ActiveRecord::Migration[7.2]
4
4
  def self.up
5
5
  create_table :assets do |t|
6
6
  t.string :data_file_name, null: false
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- class CreateStructures < ActiveRecord::Migration
3
+ class CreateStructures < ActiveRecord::Migration[7.2]
4
4
  def self.up
5
5
  create_table :structures do |t|
6
6
  t.string :title, null: false
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- class CreateUsers < ActiveRecord::Migration
3
+ class CreateUsers < ActiveRecord::Migration[7.2]
4
4
  def self.up
5
5
  create_table(:users) do |t|
6
6
  t.string :name, null: false, default: '', limit: 150
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- class CreateSettings < ActiveRecord::Migration
3
+ class CreateSettings < ActiveRecord::Migration[7.2]
4
4
  def self.up
5
5
  create_table(:settings) do |t|
6
6
  t.string :var, limit: 50, null: false
@@ -32,10 +32,6 @@ Sunrise.setup do |config|
32
32
  # Set available locales in app (default: [])
33
33
  # config.available_locales = []
34
34
 
35
- # Set transliteration for babosa gem
36
- # more info here: https://github.com/norman/babosa (default: :russian)
37
- # config.transliteration = :russian
38
-
39
35
  # Set list toolbar buttons (default: [:delete, :edit, :new, :sort, :export])
40
36
  # config.default_toolbar_buttons = [:delete, :edit, :new, :sort, :export]
41
37
 
@@ -32,10 +32,6 @@ Sunrise.setup do |config|
32
32
  # Set available locales in app (default: [])
33
33
  # config.available_locales = []
34
34
 
35
- # Set transliteration for babosa gem
36
- # more info here: https://github.com/norman/babosa (default: :russian)
37
- # config.transliteration = :russian
38
-
39
35
  # Set list toolbar buttons (default: [:delete, :edit, :new, :sort, :export])
40
36
  # config.default_toolbar_buttons = [:delete, :edit, :new, :sort, :export]
41
37
 
@@ -2,6 +2,4 @@
2
2
 
3
3
  class AttachmentFile < Asset
4
4
  sunrise_uploader AttachmentFileUploader
5
-
6
- validates_filesize_of :data, maximum: 100.megabytes.to_i
7
5
  end
@@ -4,6 +4,4 @@ class Avatar < Asset
4
4
  sunrise_uploader AvatarUploader
5
5
 
6
6
  validates :data_content_type, inclusion: { in: Sunrise::Utils::IMAGE_TYPES }
7
- validates_integrity_of :data
8
- validates_filesize_of :data, maximum: 1.megabytes.to_i
9
7
  end
@@ -4,6 +4,4 @@ class Picture < Asset
4
4
  sunrise_uploader PictureUploader
5
5
 
6
6
  validates :data_content_type, inclusion: { in: Sunrise::Utils::IMAGE_TYPES }
7
- validates_integrity_of :data
8
- validates_filesize_of :data, maximum: 2.megabytes.to_i
9
7
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class PositionType < Sunrise::Models::PositionType
4
- define_enum do |builder|
5
- builder.member :default, object: new('default')
6
- builder.member :menu, object: new('menu')
7
- builder.member :bottom, object: new('bottom')
4
+ define_enum do
5
+ member :default
6
+ member :menu
7
+ member :bottom
8
8
  end
9
9
  end
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class RoleType < Sunrise::Models::RoleType
4
- define_enum do |builder|
5
- builder.member :default, object: new('default')
6
- builder.member :redactor, object: new('redactor')
7
- builder.member :moderator, object: new('moderator')
8
- builder.member :admin, object: new('admin')
4
+ define_enum do
5
+ member :default
6
+ member :redactor
7
+ member :moderator
8
+ member :admin
9
9
  end
10
10
  end
@@ -2,14 +2,26 @@
2
2
 
3
3
  require 'rails-settings-cached'
4
4
 
5
- class Settings < RailsSettings::CachedSettings
5
+ class Settings < RailsSettings::Base
6
6
  include PublicActivity::Model
7
7
 
8
8
  tracked owner: ->(controller, _model) { controller.try(:current_user) }
9
9
 
10
- def self.update_attributes(attributes)
10
+ scope :application do
11
+ field :app_name, type: :string, default: 'Rails application'
12
+ end
13
+
14
+ def self.update(attributes)
11
15
  attributes.each do |key, value|
12
16
  self[key] = value
13
17
  end
14
18
  end
19
+
20
+ def self.[](key)
21
+ public_send(key)
22
+ end
23
+
24
+ def self.[]=(key, value)
25
+ public_send("#{key}=", value)
26
+ end
15
27
  end
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class StructureType < Sunrise::Models::StructureType
4
- define_enum do |builder|
5
- builder.member :page, object: new('page')
6
- builder.member :posts, object: new('posts')
7
- builder.member :main, object: new('main')
8
- builder.member :redirect, object: new('redirect')
9
- builder.member :group, object: new('group')
4
+ define_enum do
5
+ member :page
6
+ member :posts
7
+ member :main
8
+ member :redirect
9
+ member :group
10
10
  end
11
11
  end
@@ -2,6 +2,4 @@
2
2
 
3
3
  class AttachmentFile < Asset
4
4
  sunrise_uploader AttachmentFileUploader
5
-
6
- validates_filesize_of :data, maximum: 100.megabytes.to_i
7
5
  end
@@ -4,6 +4,4 @@ class Avatar < Asset
4
4
  sunrise_uploader AvatarUploader
5
5
 
6
6
  validates :data_content_type, inclusion: { in: Sunrise::Utils::IMAGE_TYPES }
7
- validates_integrity_of :data
8
- validates_filesize_of :data, maximum: 1.megabytes.to_i
9
7
  end
@@ -4,6 +4,4 @@ class Picture < Asset
4
4
  sunrise_uploader PictureUploader
5
5
 
6
6
  validates :data_content_type, inclusion: { in: Sunrise::Utils::IMAGE_TYPES }
7
- validates_integrity_of :data
8
- validates_filesize_of :data, maximum: 2.megabytes.to_i
9
7
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class PositionType < Sunrise::Models::PositionType
4
- define_enum do |builder|
5
- builder.member :default, object: new('default')
6
- builder.member :menu, object: new('menu')
7
- builder.member :bottom, object: new('bottom')
4
+ define_enum do
5
+ member :default
6
+ member :menu
7
+ member :bottom
8
8
  end
9
9
  end
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class RoleType < Sunrise::Models::RoleType
4
- define_enum do |builder|
5
- builder.member :default, object: new('default')
6
- builder.member :redactor, object: new('redactor')
7
- builder.member :moderator, object: new('moderator')
8
- builder.member :admin, object: new('admin')
4
+ define_enum do
5
+ member :default
6
+ member :redactor
7
+ member :moderator
8
+ member :admin
9
9
  end
10
10
  end
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class StructureType < Sunrise::Models::StructureType
4
- define_enum do |builder|
5
- builder.member :page, object: new('page')
6
- builder.member :posts, object: new('posts')
7
- builder.member :main, object: new('main')
8
- builder.member :redirect, object: new('redirect')
9
- builder.member :group, object: new('group')
4
+ define_enum do
5
+ member :page
6
+ member :posts
7
+ member :main
8
+ member :redirect
9
+ member :group
10
10
  end
11
11
  end
@@ -23,8 +23,8 @@ class SunriseStructure < Sunrise::AbstractModel
23
23
  field :redirect_url
24
24
  field :slug
25
25
  field :parent_id, collection: -> { Structure.nested_set_options { |i| "#{'–' * i.depth} #{i.title}" } }, if: ->(s) { s.moveable? }
26
- field :structure_type_id, collection: -> { StructureType.all }, include_blank: false
27
- field :position_type_id, collection: -> { PositionType.all }, include_blank: false
26
+ field :structure_type_id, collection: -> { StructureType.all }, include_blank: false, label_method: :title
27
+ field :position_type_id, collection: -> { PositionType.all }, include_blank: false, label_method: :title
28
28
  field :is_visible
29
29
 
30
30
  group :meta_tags, holder: :sidebar do
@@ -6,11 +6,11 @@ describe PagesController, type: :controller do
6
6
  render_views
7
7
 
8
8
  before(:all) do
9
- @root = FactoryGirl.create(:structure_main)
9
+ @root = FactoryBot.create(:structure_main)
10
10
  end
11
11
 
12
12
  context 'page' do
13
- before(:each) { @page = FactoryGirl.create(:structure_page, parent: @root) }
13
+ before(:each) { @page = FactoryBot.create(:structure_page, parent: @root) }
14
14
 
15
15
  it 'should render show action' do
16
16
  get :show, id: @page.slug
@@ -6,7 +6,7 @@ describe WelcomeController, type: :controller do
6
6
  render_views
7
7
 
8
8
  before(:each) do
9
- @root = FactoryGirl.create(:structure_main)
9
+ @root = FactoryBot.create(:structure_main)
10
10
  end
11
11
 
12
12
  it 'should render index action' do
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- FactoryGirl.define do
3
+ FactoryBot.define do
4
4
  factory :structure_page, class: Structure do
5
5
  title 'Structure'
6
- slug { FactoryGirl.generate(:slug) }
6
+ slug { FactoryBot.generate(:slug) }
7
7
  structure_type StructureType.page
8
8
  position_type PositionType.menu
9
9
  is_visible true
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- FactoryGirl.define do
3
+ FactoryBot.define do
4
4
  factory :admin_user, class: User do |user|
5
5
  user.name 'Admin'
6
- user.email { FactoryGirl.generate(:email) }
6
+ user.email { FactoryBot.generate(:email) }
7
7
  user.password 'password'
8
8
  user.password_confirmation 'password'
9
9
 
@@ -15,7 +15,7 @@ FactoryGirl.define do
15
15
 
16
16
  factory :redactor_user, class: User do |user|
17
17
  user.name 'Redactor'
18
- user.email { FactoryGirl.generate(:email) }
18
+ user.email { FactoryBot.generate(:email) }
19
19
  user.password 'password'
20
20
  user.password_confirmation 'password'
21
21
 
@@ -27,7 +27,7 @@ FactoryGirl.define do
27
27
 
28
28
  factory :moderator_user, class: User do |user|
29
29
  user.name 'Redactor'
30
- user.email { FactoryGirl.generate(:email) }
30
+ user.email { FactoryBot.generate(:email) }
31
31
  user.password 'password'
32
32
  user.password_confirmation 'password'
33
33
 
@@ -39,7 +39,7 @@ FactoryGirl.define do
39
39
 
40
40
  factory :default_user, class: User do |user|
41
41
  user.name 'Test'
42
- user.email { FactoryGirl.generate(:email) }
42
+ user.email { FactoryBot.generate(:email) }
43
43
  user.password 'password'
44
44
  user.password_confirmation 'password'
45
45
 
@@ -51,7 +51,7 @@ FactoryGirl.define do
51
51
 
52
52
  factory :user, class: User do |user|
53
53
  user.name 'Test'
54
- user.email { FactoryGirl.generate(:email) }
54
+ user.email { FactoryBot.generate(:email) }
55
55
  user.password 'password'
56
56
  user.password_confirmation 'password'
57
57
  end
@@ -19,7 +19,7 @@ RSpec.configure do |config|
19
19
  # config.mock_with :rr
20
20
  config.mock_with :rspec
21
21
 
22
- config.include Devise::TestHelpers, type: :controller
22
+ config.include Devise::Test::ControllerHelpers, type: :controller
23
23
  config.extend ControllerMacros, type: :controller
24
24
 
25
25
  # If you're not using ActiveRecord, or you'd prefer not to run each of your
@@ -3,7 +3,7 @@
3
3
  module ControllerMacros
4
4
  def login_admin
5
5
  before(:all) do
6
- @admin = FactoryGirl.create(:admin_user)
6
+ @admin = FactoryBot.create(:admin_user)
7
7
  end
8
8
 
9
9
  before(:each) do
@@ -14,7 +14,7 @@ module ControllerMacros
14
14
 
15
15
  def login_default
16
16
  before(:all) do
17
- @user = FactoryGirl.create(:default_user)
17
+ @user = FactoryBot.create(:default_user)
18
18
  end
19
19
 
20
20
  before(:each) do
@@ -25,7 +25,7 @@ module ControllerMacros
25
25
 
26
26
  def login_redactor
27
27
  before(:all) do
28
- @user = FactoryGirl.create(:redactor_user)
28
+ @user = FactoryBot.create(:redactor_user)
29
29
  end
30
30
 
31
31
  before(:each) do
@@ -36,7 +36,7 @@ module ControllerMacros
36
36
 
37
37
  def login_moderator
38
38
  before(:all) do
39
- @user = FactoryGirl.create(:moderator_user)
39
+ @user = FactoryBot.create(:moderator_user)
40
40
  end
41
41
 
42
42
  before(:each) do
@@ -4,4 +4,8 @@ class AttachmentFileUploader < Sunrise::CarrierWave::BaseUploader
4
4
  def extension_white_list
5
5
  %w[pdf doc docx xls xlsx ppt pptx zip rar csv]
6
6
  end
7
+
8
+ def size_range
9
+ 100...100.megabytes.to_i
10
+ end
7
11
  end
@@ -15,4 +15,8 @@ class AvatarUploader < Sunrise::CarrierWave::BaseUploader
15
15
  def extension_white_list
16
16
  %w[jpg jpeg gif png]
17
17
  end
18
+
19
+ def size_range
20
+ 100..1.megabytes.to_i
21
+ end
18
22
  end
@@ -15,4 +15,8 @@ class PictureUploader < Sunrise::CarrierWave::BaseUploader
15
15
  def extension_white_list
16
16
  %w[jpg jpeg gif png]
17
17
  end
18
+
19
+ def size_range
20
+ 100..2.megabytes.to_i
21
+ end
18
22
  end