releaf-core 0.2.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 (288) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +24 -0
  3. data/app/assets/fonts/releaf/RobotoRegular_normal_400.ttf +0 -0
  4. data/app/assets/fonts/releaf/RobotoRegular_normal_400.woff +0 -0
  5. data/app/assets/fonts/releaf/RobotoRegular_normal_400.woff2 +0 -0
  6. data/app/assets/images/releaf/icons/apple-touch-icon-114x114-precomposed.png +0 -0
  7. data/app/assets/images/releaf/icons/apple-touch-icon-152x152-precomposed.png +0 -0
  8. data/app/assets/images/releaf/icons/apple-touch-icon-72x72-precomposed.png +0 -0
  9. data/app/assets/images/releaf/icons/favicon.ico +0 -0
  10. data/app/assets/images/releaf/icons/favicon.png +0 -0
  11. data/app/assets/images/releaf/icons/msapplication-tile-144x144.png +0 -0
  12. data/app/assets/images/releaf/logo-login.png +0 -0
  13. data/app/assets/images/releaf/logo.png +0 -0
  14. data/app/assets/javascripts/ckeditor/plugins/mediaembed/icons/hidpi/mediaembed.png +0 -0
  15. data/app/assets/javascripts/ckeditor/plugins/mediaembed/icons/mediaembed.png +0 -0
  16. data/app/assets/javascripts/ckeditor/plugins/mediaembed/lang/en.js +12 -0
  17. data/app/assets/javascripts/ckeditor/plugins/mediaembed/lang/es.js +12 -0
  18. data/app/assets/javascripts/ckeditor/plugins/mediaembed/plugin.js +63 -0
  19. data/app/assets/javascripts/releaf/3rd_party/jquery-ui-timepicker-addon.js +1882 -0
  20. data/app/assets/javascripts/releaf/3rd_party/jquery.magnific-popup.min.js +4 -0
  21. data/app/assets/javascripts/releaf/application.js +13 -0
  22. data/app/assets/javascripts/releaf/include/ajax.js +66 -0
  23. data/app/assets/javascripts/releaf/include/ajaxbox.js +179 -0
  24. data/app/assets/javascripts/releaf/include/dialogs.js +13 -0
  25. data/app/assets/javascripts/releaf/include/field.type_associated_set.js +32 -0
  26. data/app/assets/javascripts/releaf/include/field.type_date_or_datetime_or_time.js +73 -0
  27. data/app/assets/javascripts/releaf/include/field.type_richtext.js +188 -0
  28. data/app/assets/javascripts/releaf/include/loader.js +45 -0
  29. data/app/assets/javascripts/releaf/include/localization.js +213 -0
  30. data/app/assets/javascripts/releaf/include/nested_fields.js +295 -0
  31. data/app/assets/javascripts/releaf/include/notifications.js +267 -0
  32. data/app/assets/javascripts/releaf/include/pagination.js +19 -0
  33. data/app/assets/javascripts/releaf/include/profile_settings.js +28 -0
  34. data/app/assets/javascripts/releaf/include/remote_validator.js +437 -0
  35. data/app/assets/javascripts/releaf/include/search.js +140 -0
  36. data/app/assets/javascripts/releaf/include/sidebar.js +149 -0
  37. data/app/assets/javascripts/releaf/include/sortable.js +69 -0
  38. data/app/assets/javascripts/releaf/include/toolbox.js +221 -0
  39. data/app/assets/javascripts/releaf/include/url_builder.js +193 -0
  40. data/app/assets/stylesheets/releaf/application.scss +9 -0
  41. data/app/assets/stylesheets/releaf/environment/extras.scss +11 -0
  42. data/app/assets/stylesheets/releaf/environment/functions/units.scss +12 -0
  43. data/app/assets/stylesheets/releaf/environment/functions.scss +1 -0
  44. data/app/assets/stylesheets/releaf/environment/mixins/blocks.scss +133 -0
  45. data/app/assets/stylesheets/releaf/environment/mixins/elements.scss +64 -0
  46. data/app/assets/stylesheets/releaf/environment/mixins/text.scss +61 -0
  47. data/app/assets/stylesheets/releaf/environment/mixins.scss +3 -0
  48. data/app/assets/stylesheets/releaf/environment/variables/colors.scss +93 -0
  49. data/app/assets/stylesheets/releaf/environment/variables/dimensions.scss +0 -0
  50. data/app/assets/stylesheets/releaf/environment/variables/magnific-popup.scss +6 -0
  51. data/app/assets/stylesheets/releaf/environment/variables.scss +5 -0
  52. data/app/assets/stylesheets/releaf/environment.scss +4 -0
  53. data/app/assets/stylesheets/releaf/layout/base.scss +32 -0
  54. data/app/assets/stylesheets/releaf/layout/breadcrumbs.scss +47 -0
  55. data/app/assets/stylesheets/releaf/layout/buttons.scss +107 -0
  56. data/app/assets/stylesheets/releaf/layout/deprecated.scss +29 -0
  57. data/app/assets/stylesheets/releaf/layout/dialogs.scss +138 -0
  58. data/app/assets/stylesheets/releaf/layout/errors.scss +28 -0
  59. data/app/assets/stylesheets/releaf/layout/extras.scss +10 -0
  60. data/app/assets/stylesheets/releaf/layout/fields.scss +305 -0
  61. data/app/assets/stylesheets/releaf/layout/fonts.scss +16 -0
  62. data/app/assets/stylesheets/releaf/layout/footer.scss +80 -0
  63. data/app/assets/stylesheets/releaf/layout/forms.scss +23 -0
  64. data/app/assets/stylesheets/releaf/layout/header.scss +55 -0
  65. data/app/assets/stylesheets/releaf/layout/icons.scss +4 -0
  66. data/app/assets/stylesheets/releaf/layout/images.scss +4 -0
  67. data/app/assets/stylesheets/releaf/layout/links.scss +7 -0
  68. data/app/assets/stylesheets/releaf/layout/localization.scss +79 -0
  69. data/app/assets/stylesheets/releaf/layout/main.scss +43 -0
  70. data/app/assets/stylesheets/releaf/layout/notifications.scss +67 -0
  71. data/app/assets/stylesheets/releaf/layout/pagination.scss +18 -0
  72. data/app/assets/stylesheets/releaf/layout/search.scss +70 -0
  73. data/app/assets/stylesheets/releaf/layout/sections.scss +138 -0
  74. data/app/assets/stylesheets/releaf/layout/sidebar.scss +306 -0
  75. data/app/assets/stylesheets/releaf/layout/tables.scss +99 -0
  76. data/app/assets/stylesheets/releaf/layout/text.scss +31 -0
  77. data/app/assets/stylesheets/releaf/layout/toolboxes.scss +69 -0
  78. data/app/assets/stylesheets/releaf/layout.scss +35 -0
  79. data/app/assets/stylesheets/releaf/vendor/magnific-popup/main.scss +596 -0
  80. data/app/assets/stylesheets/releaf/vendor/magnific-popup/settings.scss +45 -0
  81. data/app/builders/releaf/builders/association_reflector.rb +58 -0
  82. data/app/builders/releaf/builders/base.rb +80 -0
  83. data/app/builders/releaf/builders/collection.rb +8 -0
  84. data/app/builders/releaf/builders/confirm_destroy_dialog_builder.rb +25 -0
  85. data/app/builders/releaf/builders/confirm_dialog_builder.rb +54 -0
  86. data/app/builders/releaf/builders/edit_builder.rb +66 -0
  87. data/app/builders/releaf/builders/form_builder.rb +594 -0
  88. data/app/builders/releaf/builders/index_builder.rb +118 -0
  89. data/app/builders/releaf/builders/orderer.rb +5 -0
  90. data/app/builders/releaf/builders/page/header_builder.rb +70 -0
  91. data/app/builders/releaf/builders/page/layout_builder.rb +155 -0
  92. data/app/builders/releaf/builders/page/menu_builder.rb +140 -0
  93. data/app/builders/releaf/builders/pagination_builder.rb +107 -0
  94. data/app/builders/releaf/builders/refused_destroy_dialog_builder.rb +68 -0
  95. data/app/builders/releaf/builders/resource.rb +9 -0
  96. data/app/builders/releaf/builders/resource_dialog.rb +8 -0
  97. data/app/builders/releaf/builders/resource_view.rb +54 -0
  98. data/app/builders/releaf/builders/show_builder.rb +3 -0
  99. data/app/builders/releaf/builders/table_builder.rb +280 -0
  100. data/app/builders/releaf/builders/tags/releaf_associated_set_field.rb +40 -0
  101. data/app/builders/releaf/builders/template.rb +8 -0
  102. data/app/builders/releaf/builders/toolbox.rb +23 -0
  103. data/app/builders/releaf/builders/toolbox_builder.rb +27 -0
  104. data/app/builders/releaf/builders/view.rb +132 -0
  105. data/app/builders/releaf/builders.rb +38 -0
  106. data/app/builders/releaf/core/settings/form_builder.rb +21 -0
  107. data/app/builders/releaf/core/settings/table_builder.rb +11 -0
  108. data/app/controllers/concerns/releaf/breadcrumbs.rb +42 -0
  109. data/app/controllers/concerns/releaf/richtext_attachments.rb +20 -0
  110. data/app/controllers/releaf/base_controller.rb +458 -0
  111. data/app/controllers/releaf/core/errors_controller.rb +5 -0
  112. data/app/controllers/releaf/core/settings_controller.rb +50 -0
  113. data/app/helpers/releaf/application_helper.rb +53 -0
  114. data/app/helpers/releaf/button_helper.rb +50 -0
  115. data/app/helpers/releaf/javascript_helper.rb +75 -0
  116. data/app/lib/releaf/core/assets_resolver.rb +58 -0
  117. data/app/lib/releaf/core/default_searchable_fields.rb +43 -0
  118. data/app/lib/releaf/core/error_formatter.rb +103 -0
  119. data/app/lib/releaf/core/item_orderer.rb +102 -0
  120. data/app/lib/releaf/core/resource_base.rb +66 -0
  121. data/app/lib/releaf/core/resource_fields.rb +6 -0
  122. data/app/lib/releaf/core/resource_params.rb +47 -0
  123. data/app/lib/releaf/core/resource_table_fields.rb +10 -0
  124. data/app/lib/releaf/core/resource_utilities.rb +36 -0
  125. data/app/lib/releaf/core/responders/access_denied_responder.rb +9 -0
  126. data/app/lib/releaf/core/responders/after_save_responder.rb +28 -0
  127. data/app/lib/releaf/core/responders/confirm_destroy_responder.rb +13 -0
  128. data/app/lib/releaf/core/responders/destroy_responder.rb +10 -0
  129. data/app/lib/releaf/core/responders/error_responder.rb +9 -0
  130. data/app/lib/releaf/core/responders/feature_disabled_responder.rb +9 -0
  131. data/app/lib/releaf/core/responders/page_not_found_responder.rb +9 -0
  132. data/app/lib/releaf/core/responders.rb +31 -0
  133. data/app/lib/releaf/core/search.rb +147 -0
  134. data/app/lib/releaf/core/template_field_type_mapper.rb +127 -0
  135. data/app/models/releaf/richtext_attachment.rb +6 -0
  136. data/app/models/releaf/settings.rb +27 -0
  137. data/app/views/layouts/releaf/admin.html.erb +1 -0
  138. data/app/views/releaf/base/confirm_destroy.ruby +1 -0
  139. data/app/views/releaf/base/create_releaf_richtext_attachment.haml +1 -0
  140. data/app/views/releaf/base/edit.ruby +1 -0
  141. data/app/views/releaf/base/index.ruby +1 -0
  142. data/app/views/releaf/base/new.ruby +1 -0
  143. data/app/views/releaf/base/refused_destroy.ruby +1 -0
  144. data/app/views/releaf/base/show.ruby +1 -0
  145. data/app/views/releaf/base/toolbox.ruby +1 -0
  146. data/app/views/releaf/error_pages/_error.html.haml +10 -0
  147. data/app/views/releaf/error_pages/access_denied.html.haml +1 -0
  148. data/app/views/releaf/error_pages/feature_disabled.html.haml +1 -0
  149. data/app/views/releaf/error_pages/page_not_found.html.haml +2 -0
  150. data/lib/generators/dummy/install_generator.rb +18 -0
  151. data/lib/generators/dummy/templates/builders/admin/books/form_builder.rb +13 -0
  152. data/lib/generators/dummy/templates/builders/admin/books/index_builder.rb +30 -0
  153. data/lib/generators/dummy/templates/builders/admin/books/table_builder.rb +7 -0
  154. data/lib/generators/dummy/templates/builders/admin/nodes/form_builder.rb +7 -0
  155. data/lib/generators/dummy/templates/config/routes.rb +19 -0
  156. data/lib/generators/dummy/templates/controllers/admin/authors_controller.rb +12 -0
  157. data/lib/generators/dummy/templates/controllers/admin/books_controller.rb +17 -0
  158. data/lib/generators/dummy/templates/controllers/admin/chapters_controller.rb +3 -0
  159. data/lib/generators/dummy/templates/controllers/admin/publishers_controller.rb +3 -0
  160. data/lib/generators/dummy/templates/controllers/application_controller.rb +39 -0
  161. data/lib/generators/dummy/templates/controllers/concerns/.keep +0 -0
  162. data/lib/generators/dummy/templates/controllers/concerns/node_controller.rb +37 -0
  163. data/lib/generators/dummy/templates/controllers/contacts_controller.rb +3 -0
  164. data/lib/generators/dummy/templates/controllers/home_pages_controller.rb +3 -0
  165. data/lib/generators/dummy/templates/controllers/text_pages_controller.rb +3 -0
  166. data/lib/generators/dummy/templates/initializers/releaf.rb +35 -0
  167. data/lib/generators/dummy/templates/migrations/create_authors.rb +14 -0
  168. data/lib/generators/dummy/templates/migrations/create_banners.rb +11 -0
  169. data/lib/generators/dummy/templates/migrations/create_book_sequels.rb +14 -0
  170. data/lib/generators/dummy/templates/migrations/create_books.rb +27 -0
  171. data/lib/generators/dummy/templates/migrations/create_bundles.rb +7 -0
  172. data/lib/generators/dummy/templates/migrations/create_chapters.rb +13 -0
  173. data/lib/generators/dummy/templates/migrations/create_home_pages.rb +9 -0
  174. data/lib/generators/dummy/templates/migrations/create_node_extra_fields.rb +5 -0
  175. data/lib/generators/dummy/templates/migrations/create_publishers.rb +8 -0
  176. data/lib/generators/dummy/templates/migrations/create_text_pages.rb +9 -0
  177. data/lib/generators/dummy/templates/models/author.rb +10 -0
  178. data/lib/generators/dummy/templates/models/banner.rb +5 -0
  179. data/lib/generators/dummy/templates/models/book.rb +19 -0
  180. data/lib/generators/dummy/templates/models/book_sequel.rb +4 -0
  181. data/lib/generators/dummy/templates/models/bundle.rb +17 -0
  182. data/lib/generators/dummy/templates/models/chapter.rb +7 -0
  183. data/lib/generators/dummy/templates/models/home_page.rb +5 -0
  184. data/lib/generators/dummy/templates/models/node.rb +10 -0
  185. data/lib/generators/dummy/templates/models/publisher.rb +9 -0
  186. data/lib/generators/dummy/templates/models/text_page.rb +5 -0
  187. data/lib/generators/dummy/templates/views/contacts/show.html.haml +1 -0
  188. data/lib/generators/dummy/templates/views/home_pages/show.haml +1 -0
  189. data/lib/generators/dummy/templates/views/layouts/application.html.haml +22 -0
  190. data/lib/generators/dummy/templates/views/text_pages/show.haml +1 -0
  191. data/lib/generators/releaf/install_generator.rb +93 -0
  192. data/lib/generators/releaf/templates/initializers/haml.rb +1 -0
  193. data/lib/generators/releaf/templates/initializers/releaf.rb +30 -0
  194. data/lib/generators/releaf/templates/migrations/create_releaf_nodes.rb +28 -0
  195. data/lib/generators/releaf/templates/migrations/create_releaf_permissions.rb +12 -0
  196. data/lib/generators/releaf/templates/migrations/create_releaf_richtext_attachments.rb +12 -0
  197. data/lib/generators/releaf/templates/migrations/create_releaf_roles.rb +9 -0
  198. data/lib/generators/releaf/templates/migrations/create_releaf_settings.rb +17 -0
  199. data/lib/generators/releaf/templates/migrations/create_releaf_translations.rb +21 -0
  200. data/lib/generators/releaf/templates/migrations/create_releaf_users.rb +52 -0
  201. data/lib/generators/releaf/templates/models/node.rb +3 -0
  202. data/lib/generators/releaf/templates/seeds/seeds.rb +54 -0
  203. data/lib/releaf/core/application.rb +17 -0
  204. data/lib/releaf/core/builders_autoload.rb +27 -0
  205. data/lib/releaf/core/component.rb +9 -0
  206. data/lib/releaf/core/configuration.rb +101 -0
  207. data/lib/releaf/core/engine.rb +35 -0
  208. data/lib/releaf/core/exceptions.rb +38 -0
  209. data/lib/releaf/core/route_mapper.rb +59 -0
  210. data/lib/releaf/core/settings_ui_component.rb +7 -0
  211. data/lib/releaf/core/validation_error_codes.rb +36 -0
  212. data/lib/releaf/version.rb +3 -0
  213. data/lib/releaf-core.rb +14 -0
  214. data/lib/tasks/releaf_tasks.rake +4 -0
  215. data/releaf-core.gemspec +35 -0
  216. data/spec/builders/builders/association_reflector_spec.rb +138 -0
  217. data/spec/builders/builders/base_spec.rb +276 -0
  218. data/spec/builders/builders/collection_spec.rb +18 -0
  219. data/spec/builders/builders/confirm_destroy_dialog_builder_spec.rb +71 -0
  220. data/spec/builders/builders/confirm_dialog_builder_spec.rb +105 -0
  221. data/spec/builders/builders/edit_builder_spec.rb +215 -0
  222. data/spec/builders/builders/form_builder_spec.rb +562 -0
  223. data/spec/builders/builders/index_builder_spec.rb +345 -0
  224. data/spec/builders/builders/orderer_spec.rb +22 -0
  225. data/spec/builders/builders/page/header_builder_spec.rb +143 -0
  226. data/spec/builders/builders/page/layout_builder_spec.rb +73 -0
  227. data/spec/builders/builders/page/menu_builder_spec.rb +160 -0
  228. data/spec/builders/builders/pagination_builder_spec.rb +330 -0
  229. data/spec/builders/builders/resource_dialog_spec.rb +21 -0
  230. data/spec/builders/builders/resource_view_spec.rb +158 -0
  231. data/spec/builders/builders/show_builder_spec.rb +7 -0
  232. data/spec/builders/builders/table_builder_spec.rb +638 -0
  233. data/spec/builders/builders/template_spec.rb +12 -0
  234. data/spec/builders/builders/toolbox_builder_spec.rb +67 -0
  235. data/spec/builders/builders/toolbox_spec.rb +48 -0
  236. data/spec/builders/builders/view_spec.rb +281 -0
  237. data/spec/builders/builders_spec.rb +134 -0
  238. data/spec/builders/core/settings/form_builder_spec.rb +69 -0
  239. data/spec/builders/core/settings/table_builder_spec.rb +21 -0
  240. data/spec/controllers/concerns/releaf/richtext_attachments_spec.rb +51 -0
  241. data/spec/controllers/releaf/base_controller_spec.rb +447 -0
  242. data/spec/controllers/releaf/core/settings_controller_spec.rb +31 -0
  243. data/spec/features/ajaxbox_spec.rb +111 -0
  244. data/spec/features/authorization_spec.rb +50 -0
  245. data/spec/features/dragonfly_integration_spec.rb +24 -0
  246. data/spec/features/edit_actions_spec.rb +142 -0
  247. data/spec/features/errors_spec.rb +29 -0
  248. data/spec/features/index_actions_spec.rb +85 -0
  249. data/spec/features/index_table_spec.rb +32 -0
  250. data/spec/features/menu_spec.rb +71 -0
  251. data/spec/features/richtext_attachments_spec.rb +64 -0
  252. data/spec/features/richtext_embed_spec.rb +29 -0
  253. data/spec/features/richtext_spec.rb +19 -0
  254. data/spec/features/search_spec.rb +825 -0
  255. data/spec/features/settings_spec.rb +38 -0
  256. data/spec/features/title_spec.rb +13 -0
  257. data/spec/fixtures/common_fields.yml +17 -0
  258. data/spec/fixtures/cs.png +0 -0
  259. data/spec/fixtures/time.formats.xlsx +0 -0
  260. data/spec/fixtures/unicorn.jpg +0 -0
  261. data/spec/helpers/application_helper_spec.rb +75 -0
  262. data/spec/helpers/button_helper_spec.rb +146 -0
  263. data/spec/lib/releaf/core/application_spec.rb +42 -0
  264. data/spec/lib/releaf/core/assets_resolver_spec.rb +113 -0
  265. data/spec/lib/releaf/core/configuration_spec.rb +230 -0
  266. data/spec/lib/releaf/core/default_searchable_fields_spec.rb +161 -0
  267. data/spec/lib/releaf/core/error_formatter_spec.rb +242 -0
  268. data/spec/lib/releaf/core/item_orderer_spec.rb +142 -0
  269. data/spec/lib/releaf/core/resource_base_spec.rb +174 -0
  270. data/spec/lib/releaf/core/resource_fields_spec.rb +12 -0
  271. data/spec/lib/releaf/core/resource_params_spec.rb +117 -0
  272. data/spec/lib/releaf/core/resource_table_fields_spec.rb +18 -0
  273. data/spec/lib/releaf/core/resource_utilities_spec.rb +87 -0
  274. data/spec/lib/releaf/core/responders/access_denied_responder_spec.rb +12 -0
  275. data/spec/lib/releaf/core/responders/after_save_responder_spec.rb +102 -0
  276. data/spec/lib/releaf/core/responders/confirm_destroy_responder_spec.rb +26 -0
  277. data/spec/lib/releaf/core/responders/destroy_responder_spec.rb +30 -0
  278. data/spec/lib/releaf/core/responders/error_responder_spec.rb +26 -0
  279. data/spec/lib/releaf/core/responders/feature_disabled_responder_spec.rb +12 -0
  280. data/spec/lib/releaf/core/responders/page_not_found_responder_spec.rb +12 -0
  281. data/spec/lib/releaf/core/responders_spec.rb +60 -0
  282. data/spec/lib/releaf/core/template_field_type_mapper_spec.rb +311 -0
  283. data/spec/lib/validation_error_codes_spec.rb +56 -0
  284. data/spec/misc/factories_spec.rb +43 -0
  285. data/spec/models/settings_spec.rb +58 -0
  286. data/spec/routing/route_mapper_spec.rb +185 -0
  287. data/spec/rspec_helpers/test_helpers_spec.rb +20 -0
  288. metadata +657 -0
@@ -0,0 +1,56 @@
1
+ require "rails_helper"
2
+
3
+ class DummyModel
4
+ include ActiveModel::Validations
5
+ attr_accessor :name, :surname, :age
6
+ validates :name, presence: {error_code: :no_name}
7
+ validates :surname, presence: true
8
+ end
9
+
10
+ describe "Extend ActiveModel validation error with error_code attribute" do
11
+ let(:item) do
12
+ item = DummyModel.new
13
+ item.valid?
14
+ item
15
+ end
16
+
17
+ it "adds ActiveModel::ErrorMessage as error instead of String" do
18
+ expect(item.errors.get(:name).first.class).to eq(ActiveModel::ErrorMessage)
19
+ end
20
+
21
+ it "does not owerwrite default error message behaviour" do
22
+ expect(item.errors.get(:name).first).to eq("Blank")
23
+ end
24
+
25
+ context "when validation have :error_code option" do
26
+ it "adds :error_code value as error_code" do
27
+ expect(item.errors.get(:name).first.error_code).to eq(:no_name)
28
+ end
29
+ end
30
+
31
+ context "when validation message is symbol" do
32
+ it "adds message as error_code" do
33
+ expect(item.errors.get(:surname).first.error_code).to eq(:blank)
34
+ end
35
+ end
36
+
37
+ context "when validation message is not symbol and don't have :error_code option" do
38
+ it "adds :invalid as error_code" do
39
+ item.errors.add(:age, Proc.new {"no age"})
40
+ expect(item.errors.get(:age).first.error_code).to eq(:invalid)
41
+ end
42
+ end
43
+
44
+ context "when error with :strict option added" do
45
+ it "raises ActiveModel::StrictValidationFailed error" do
46
+ expect { item.errors.add(:age, :invalid, strict: true) }.to raise_error(ActiveModel::StrictValidationFailed)
47
+ end
48
+ end
49
+
50
+ context "when error with :data option is added" do
51
+ it "stores data" do
52
+ item.errors.add(:age, :invalid, data: {foo: :bar})
53
+ expect( item.errors.get(:age).first.data ).to eq(foo: :bar)
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,43 @@
1
+ require "rails_helper"
2
+
3
+ describe "FactoryGirl factories" do
4
+
5
+ describe "admin factory" do
6
+ it "creates new user" do
7
+ expect { create(:user) }.to change { Releaf::Permissions::User.count }.by(1)
8
+ end
9
+ end
10
+
11
+ describe "role factory" do
12
+ it "creates new role" do
13
+ expect { create(:admin_role) }.to change { Releaf::Permissions::Role.count }.by(1)
14
+ end
15
+ end
16
+
17
+ describe "translation factory" do
18
+ it "creates new translation" do
19
+ expect { create(:translation) }.to change { Releaf::I18nDatabase::Translation.count }.by(1)
20
+ end
21
+ end
22
+
23
+ describe "translation data factory" do
24
+ it "creates new translation data" do
25
+ expect { create(:translation_data) }.to change { Releaf::I18nDatabase::TranslationData.count }.by(1)
26
+ end
27
+ end
28
+
29
+ describe "node factory" do
30
+ it "creates new content node" do
31
+ expect { create(:node) }.to change { Node.count }.by(1)
32
+ end
33
+
34
+ it "creates new HomePage content node" do
35
+ expect { create(:home_page_node) }.to change { HomePage.count }.by(1)
36
+ end
37
+
38
+ it "creates new TextPage content node" do
39
+ parent = create(:home_page_node)
40
+ expect { create(:text_page_node, parent: parent) }.to change { TextPage.count }.by(1)
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,58 @@
1
+ require "rails_helper"
2
+
3
+ describe Releaf::Settings do
4
+ let(:values){ [{key: "a", default: "x"}, {key: "b", default: "y"}] }
5
+
6
+ describe "#to_text" do
7
+ it "returns var value" do
8
+ subject.var = "x"
9
+ expect(subject.to_text).to eq("x")
10
+ end
11
+ end
12
+
13
+ describe ".registered_keys" do
14
+ it "returns all keys from `Releaf::Settings.registry` hash" do
15
+ described_class.registry = {}
16
+ described_class.registry["a"] = 1
17
+ described_class.registry["b"] = 1
18
+ described_class.registry["c"] = 1
19
+ expect(described_class.registered_keys.count).to eq(3)
20
+ expect(described_class.registered_keys).to include("a", "b", "c")
21
+ end
22
+ end
23
+
24
+ describe ".register" do
25
+ before do
26
+ described_class.destroy_all
27
+ end
28
+
29
+ it "iterates through given array and assign item default value to default settings by overwriting existing values" do
30
+ described_class.defaults.delete("a")
31
+ described_class.defaults["b"] = "z"
32
+ expect{ described_class.register(values) }.to change{ [described_class.defaults["a"], described_class.defaults["b"]] }
33
+ .from([nil, "z"]).to(["x", "y"])
34
+ end
35
+
36
+ it "iterates through given array and assign items to registry by overwriting existing values" do
37
+ described_class.registry.delete("a")
38
+ described_class.registry["b"] = "xx"
39
+ expect{ described_class.register(values) }.to change{ [described_class.registry["a"], described_class.registry["b"]] }
40
+ .from([nil, "xx"]).to(values)
41
+ end
42
+
43
+ it "iterates through given array and store default value to db if key does not exists in db" do
44
+ described_class.register(key: "a", default: "z")
45
+
46
+ expect{ described_class.register(values) }.to change{ described_class.count }.by(1)
47
+ expect(described_class.where(var: "a").first.value).to eq("z")
48
+ expect(described_class.where(var: "b").first.value).to eq("y")
49
+ end
50
+
51
+ context "when database table does not exists" do
52
+ it "does not store default values to db" do
53
+ allow(described_class).to receive(:table_exists?).and_return(false)
54
+ expect{ described_class.register(values) }.to_not change{ described_class.count }
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,185 @@
1
+ require "rails_helper"
2
+
3
+ describe Releaf::Core::RouteMapper do
4
+ after(:all) do
5
+ # reset dummy app routes
6
+ Dummy::Application.reload_routes!
7
+ end
8
+
9
+ describe "#mount_releaf_at" do
10
+ it "it assigns normalized mount location to Releaf.application.config.mount_location" do
11
+ expect{
12
+ routes.draw do
13
+ mount_releaf_at '/xxxx'
14
+ end
15
+ }.to change{ Releaf.application.config.mount_location }.to("xxxx")
16
+
17
+ expect{
18
+ routes.draw do
19
+ mount_releaf_at '/'
20
+ end
21
+ }.to change{ Releaf.application.config.mount_location }.to("")
22
+ end
23
+ end
24
+
25
+ describe "#releaf_resources" do
26
+ before do
27
+ routes.draw do
28
+ mount_releaf_at '/admin' do
29
+ releaf_resources :books
30
+ end
31
+ end
32
+ end
33
+
34
+ it "mounts resource toolbox route" do
35
+ expect(get: "/admin/books/1/toolbox").to route_to(
36
+ "action"=>"toolbox",
37
+ "controller"=>"admin/books",
38
+ "id"=>"1"
39
+ )
40
+ end
41
+
42
+ it "mounts resource destroy confirm route" do
43
+ expect(get: "/admin/books/1/confirm_destroy").to route_to(
44
+ "action"=>"confirm_destroy",
45
+ "controller"=>"admin/books",
46
+ "id"=>"1"
47
+ )
48
+ end
49
+
50
+ it "mounts resources index route" do
51
+ expect(get: "/admin/books/").to route_to(
52
+ "action"=>"index",
53
+ "controller"=>"admin/books",
54
+ )
55
+ end
56
+
57
+ it "mounts resource create route" do
58
+ expect(post: "/admin/books/").to route_to(
59
+ "action"=>"create",
60
+ "controller"=>"admin/books",
61
+ )
62
+ end
63
+
64
+ it "mounts resource new route" do
65
+ expect(get: "/admin/books/new").to route_to(
66
+ "action"=>"new",
67
+ "controller"=>"admin/books",
68
+ )
69
+ end
70
+
71
+ it "mounts resource edit route" do
72
+ expect(get: "/admin/books/1/edit").to route_to(
73
+ "action"=>"edit",
74
+ "controller"=>"admin/books",
75
+ "id"=>"1"
76
+ )
77
+ end
78
+
79
+ it "mounts resource show route" do
80
+ expect(get: "/admin/books/1").to route_to(
81
+ "action"=>"show",
82
+ "controller"=>"admin/books",
83
+ "id"=>"1"
84
+ )
85
+ end
86
+
87
+ it "mounts resource update route" do
88
+ expect(put: "/admin/books/1").to route_to(
89
+ "action"=>"update",
90
+ "controller"=>"admin/books",
91
+ "id"=>"1"
92
+ )
93
+ end
94
+
95
+ it "mounts resource destroy route" do
96
+ expect(delete: "/admin/books/1").to route_to(
97
+ "action"=>"destroy",
98
+ "controller"=>"admin/books",
99
+ "id"=>"1"
100
+ )
101
+ end
102
+
103
+ context "when toolbox route is disabled with except: option" do
104
+ before do
105
+ routes.draw do
106
+ mount_releaf_at '/admin' do
107
+ releaf_resources :books, except: [:toolbox]
108
+ end
109
+ end
110
+ end
111
+
112
+ it "route to page not found" do
113
+ expect(get: "/admin/books/1/toolbox")
114
+ .to route_to(controller: "releaf/core/errors", action: "page_not_found", path: "books/1/toolbox")
115
+ end
116
+ end
117
+
118
+ context "when destroy route is skiped within with only: option" do
119
+ before do
120
+ routes.draw do
121
+ mount_releaf_at '/admin' do
122
+ releaf_resources :books, only: [:index]
123
+ end
124
+ end
125
+ end
126
+
127
+ it "route to page not found" do
128
+ expect(get: "/admin/books/1/toolbox")
129
+ .to route_to(controller: "releaf/core/errors", action: "page_not_found", path: "books/1/toolbox")
130
+ end
131
+ end
132
+
133
+ context "when confirm destroy route is disabled with except: option" do
134
+ before do
135
+ routes.draw do
136
+ mount_releaf_at '/admin' do
137
+ releaf_resources :books, except: [:destroy]
138
+ end
139
+ end
140
+ end
141
+
142
+ it "does not mount destroy confirm route" do
143
+ expect(get: "/admin/books/1/confirm_destroy")
144
+ .to route_to(controller: "releaf/core/errors", action: "page_not_found", path: "books/1/confirm_destroy")
145
+ end
146
+ end
147
+
148
+ context "when confirm destroy route is skiped within with only: option" do
149
+ before do
150
+ routes.draw do
151
+ mount_releaf_at '/admin' do
152
+ releaf_resources :books, only: [:index]
153
+ end
154
+ end
155
+ end
156
+
157
+ it "does not mount destroy confirm route" do
158
+ expect(get: "/admin/books/1/confirm_destroy")
159
+ .to route_to(controller: "releaf/core/errors", action: "page_not_found", path: "books/1/confirm_destroy")
160
+ end
161
+ end
162
+
163
+ context "when custom block given" do
164
+ before do
165
+ routes.draw do
166
+ mount_releaf_at '/admin' do
167
+ releaf_resources :books, only: [:index] do
168
+ member do
169
+ get :download
170
+ end
171
+ end
172
+ end
173
+ end
174
+ end
175
+
176
+ it "calls it within resources method" do
177
+ expect(get: "/admin/books/1/download").to route_to(
178
+ "action"=>"download",
179
+ "controller"=>"admin/books",
180
+ "id"=>"1"
181
+ )
182
+ end
183
+ end
184
+ end
185
+ end
@@ -0,0 +1,20 @@
1
+ require "rails_helper"
2
+
3
+ describe Releaf::TestHelpers do
4
+ describe ".stub_settings" do
5
+ it "stubs given hash by key, value to Releaf::Settings" do
6
+ stub_settings("some.settings" => "x", "something" => "nothing")
7
+ expect(Releaf::Settings["some.settings"]).to eq("x")
8
+ expect(Releaf::Settings["something"]).to eq("nothing")
9
+ end
10
+
11
+ it "mergs multiple stub calls" do
12
+ stub_settings("some.settings" => "x")
13
+ stub_settings("another.settings" => "xx")
14
+
15
+ expect(Releaf::Settings["some.settings"]).to eq("x")
16
+ expect(Releaf::Settings["another.settings"]).to eq("xx")
17
+ expect(Releaf::Settings["unrelated.settings"]).to eq(nil)
18
+ end
19
+ end
20
+ end
metadata ADDED
@@ -0,0 +1,657 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: releaf-core
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.1
5
+ platform: ruby
6
+ authors:
7
+ - CubeSystems
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-01-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '4.2'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 4.2.0
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '4.2'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 4.2.0
33
+ - !ruby/object:Gem::Dependency
34
+ name: i18n
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '0.7'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 0.7.0
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '0.7'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 0.7.0
53
+ - !ruby/object:Gem::Dependency
54
+ name: sprockets-rails
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '3.0'
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 3.0.0
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '3.0'
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 3.0.0
73
+ - !ruby/object:Gem::Dependency
74
+ name: sass-rails
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ type: :runtime
81
+ prerelease: false
82
+ version_requirements: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
87
+ - !ruby/object:Gem::Dependency
88
+ name: jquery-rails
89
+ requirement: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ type: :runtime
95
+ prerelease: false
96
+ version_requirements: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
101
+ - !ruby/object:Gem::Dependency
102
+ name: jquery-ui-rails
103
+ requirement: !ruby/object:Gem::Requirement
104
+ requirements:
105
+ - - ">="
106
+ - !ruby/object:Gem::Version
107
+ version: '0'
108
+ type: :runtime
109
+ prerelease: false
110
+ version_requirements: !ruby/object:Gem::Requirement
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ version: '0'
115
+ - !ruby/object:Gem::Dependency
116
+ name: railties
117
+ requirement: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
122
+ type: :runtime
123
+ prerelease: false
124
+ version_requirements: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - ">="
127
+ - !ruby/object:Gem::Version
128
+ version: '0'
129
+ - !ruby/object:Gem::Dependency
130
+ name: haml-rails
131
+ requirement: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - ">="
134
+ - !ruby/object:Gem::Version
135
+ version: '0'
136
+ type: :runtime
137
+ prerelease: false
138
+ version_requirements: !ruby/object:Gem::Requirement
139
+ requirements:
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
143
+ - !ruby/object:Gem::Dependency
144
+ name: dragonfly
145
+ requirement: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - ">="
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
150
+ type: :runtime
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ requirements:
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ version: '0'
157
+ - !ruby/object:Gem::Dependency
158
+ name: rails-settings-cached
159
+ requirement: !ruby/object:Gem::Requirement
160
+ requirements:
161
+ - - ">="
162
+ - !ruby/object:Gem::Version
163
+ version: 0.4.5
164
+ type: :runtime
165
+ prerelease: false
166
+ version_requirements: !ruby/object:Gem::Requirement
167
+ requirements:
168
+ - - ">="
169
+ - !ruby/object:Gem::Version
170
+ version: 0.4.5
171
+ - !ruby/object:Gem::Dependency
172
+ name: ckeditor_rails
173
+ requirement: !ruby/object:Gem::Requirement
174
+ requirements:
175
+ - - ">="
176
+ - !ruby/object:Gem::Version
177
+ version: '0'
178
+ type: :runtime
179
+ prerelease: false
180
+ version_requirements: !ruby/object:Gem::Requirement
181
+ requirements:
182
+ - - ">="
183
+ - !ruby/object:Gem::Version
184
+ version: '0'
185
+ - !ruby/object:Gem::Dependency
186
+ name: acts_as_list
187
+ requirement: !ruby/object:Gem::Requirement
188
+ requirements:
189
+ - - ">="
190
+ - !ruby/object:Gem::Version
191
+ version: '0'
192
+ type: :runtime
193
+ prerelease: false
194
+ version_requirements: !ruby/object:Gem::Requirement
195
+ requirements:
196
+ - - ">="
197
+ - !ruby/object:Gem::Version
198
+ version: '0'
199
+ - !ruby/object:Gem::Dependency
200
+ name: will_paginate
201
+ requirement: !ruby/object:Gem::Requirement
202
+ requirements:
203
+ - - ">="
204
+ - !ruby/object:Gem::Version
205
+ version: '0'
206
+ type: :runtime
207
+ prerelease: false
208
+ version_requirements: !ruby/object:Gem::Requirement
209
+ requirements:
210
+ - - ">="
211
+ - !ruby/object:Gem::Version
212
+ version: '0'
213
+ - !ruby/object:Gem::Dependency
214
+ name: font-awesome-rails
215
+ requirement: !ruby/object:Gem::Requirement
216
+ requirements:
217
+ - - ">="
218
+ - !ruby/object:Gem::Version
219
+ version: '0'
220
+ type: :runtime
221
+ prerelease: false
222
+ version_requirements: !ruby/object:Gem::Requirement
223
+ requirements:
224
+ - - ">="
225
+ - !ruby/object:Gem::Version
226
+ version: '0'
227
+ - !ruby/object:Gem::Dependency
228
+ name: jquery-cookie-rails
229
+ requirement: !ruby/object:Gem::Requirement
230
+ requirements:
231
+ - - ">="
232
+ - !ruby/object:Gem::Version
233
+ version: '0'
234
+ type: :runtime
235
+ prerelease: false
236
+ version_requirements: !ruby/object:Gem::Requirement
237
+ requirements:
238
+ - - ">="
239
+ - !ruby/object:Gem::Version
240
+ version: '0'
241
+ - !ruby/object:Gem::Dependency
242
+ name: globalize-accessors
243
+ requirement: !ruby/object:Gem::Requirement
244
+ requirements:
245
+ - - ">="
246
+ - !ruby/object:Gem::Version
247
+ version: '0'
248
+ type: :runtime
249
+ prerelease: false
250
+ version_requirements: !ruby/object:Gem::Requirement
251
+ requirements:
252
+ - - ">="
253
+ - !ruby/object:Gem::Version
254
+ version: '0'
255
+ - !ruby/object:Gem::Dependency
256
+ name: rack-cache
257
+ requirement: !ruby/object:Gem::Requirement
258
+ requirements:
259
+ - - ">="
260
+ - !ruby/object:Gem::Version
261
+ version: '0'
262
+ type: :runtime
263
+ prerelease: false
264
+ version_requirements: !ruby/object:Gem::Requirement
265
+ requirements:
266
+ - - ">="
267
+ - !ruby/object:Gem::Version
268
+ version: '0'
269
+ description: Admin interface for RubyOnRails projects inspired by Leaf CMS
270
+ email: info@cubesystems.lv
271
+ executables: []
272
+ extensions: []
273
+ extra_rdoc_files: []
274
+ files:
275
+ - LICENSE
276
+ - app/assets/fonts/releaf/RobotoRegular_normal_400.ttf
277
+ - app/assets/fonts/releaf/RobotoRegular_normal_400.woff
278
+ - app/assets/fonts/releaf/RobotoRegular_normal_400.woff2
279
+ - app/assets/images/releaf/icons/apple-touch-icon-114x114-precomposed.png
280
+ - app/assets/images/releaf/icons/apple-touch-icon-152x152-precomposed.png
281
+ - app/assets/images/releaf/icons/apple-touch-icon-72x72-precomposed.png
282
+ - app/assets/images/releaf/icons/favicon.ico
283
+ - app/assets/images/releaf/icons/favicon.png
284
+ - app/assets/images/releaf/icons/msapplication-tile-144x144.png
285
+ - app/assets/images/releaf/logo-login.png
286
+ - app/assets/images/releaf/logo.png
287
+ - app/assets/javascripts/ckeditor/plugins/mediaembed/icons/hidpi/mediaembed.png
288
+ - app/assets/javascripts/ckeditor/plugins/mediaembed/icons/mediaembed.png
289
+ - app/assets/javascripts/ckeditor/plugins/mediaembed/lang/en.js
290
+ - app/assets/javascripts/ckeditor/plugins/mediaembed/lang/es.js
291
+ - app/assets/javascripts/ckeditor/plugins/mediaembed/plugin.js
292
+ - app/assets/javascripts/releaf/3rd_party/jquery-ui-timepicker-addon.js
293
+ - app/assets/javascripts/releaf/3rd_party/jquery.magnific-popup.min.js
294
+ - app/assets/javascripts/releaf/application.js
295
+ - app/assets/javascripts/releaf/include/ajax.js
296
+ - app/assets/javascripts/releaf/include/ajaxbox.js
297
+ - app/assets/javascripts/releaf/include/dialogs.js
298
+ - app/assets/javascripts/releaf/include/field.type_associated_set.js
299
+ - app/assets/javascripts/releaf/include/field.type_date_or_datetime_or_time.js
300
+ - app/assets/javascripts/releaf/include/field.type_richtext.js
301
+ - app/assets/javascripts/releaf/include/loader.js
302
+ - app/assets/javascripts/releaf/include/localization.js
303
+ - app/assets/javascripts/releaf/include/nested_fields.js
304
+ - app/assets/javascripts/releaf/include/notifications.js
305
+ - app/assets/javascripts/releaf/include/pagination.js
306
+ - app/assets/javascripts/releaf/include/profile_settings.js
307
+ - app/assets/javascripts/releaf/include/remote_validator.js
308
+ - app/assets/javascripts/releaf/include/search.js
309
+ - app/assets/javascripts/releaf/include/sidebar.js
310
+ - app/assets/javascripts/releaf/include/sortable.js
311
+ - app/assets/javascripts/releaf/include/toolbox.js
312
+ - app/assets/javascripts/releaf/include/url_builder.js
313
+ - app/assets/stylesheets/releaf/application.scss
314
+ - app/assets/stylesheets/releaf/environment.scss
315
+ - app/assets/stylesheets/releaf/environment/extras.scss
316
+ - app/assets/stylesheets/releaf/environment/functions.scss
317
+ - app/assets/stylesheets/releaf/environment/functions/units.scss
318
+ - app/assets/stylesheets/releaf/environment/mixins.scss
319
+ - app/assets/stylesheets/releaf/environment/mixins/blocks.scss
320
+ - app/assets/stylesheets/releaf/environment/mixins/elements.scss
321
+ - app/assets/stylesheets/releaf/environment/mixins/text.scss
322
+ - app/assets/stylesheets/releaf/environment/variables.scss
323
+ - app/assets/stylesheets/releaf/environment/variables/colors.scss
324
+ - app/assets/stylesheets/releaf/environment/variables/dimensions.scss
325
+ - app/assets/stylesheets/releaf/environment/variables/magnific-popup.scss
326
+ - app/assets/stylesheets/releaf/layout.scss
327
+ - app/assets/stylesheets/releaf/layout/base.scss
328
+ - app/assets/stylesheets/releaf/layout/breadcrumbs.scss
329
+ - app/assets/stylesheets/releaf/layout/buttons.scss
330
+ - app/assets/stylesheets/releaf/layout/deprecated.scss
331
+ - app/assets/stylesheets/releaf/layout/dialogs.scss
332
+ - app/assets/stylesheets/releaf/layout/errors.scss
333
+ - app/assets/stylesheets/releaf/layout/extras.scss
334
+ - app/assets/stylesheets/releaf/layout/fields.scss
335
+ - app/assets/stylesheets/releaf/layout/fonts.scss
336
+ - app/assets/stylesheets/releaf/layout/footer.scss
337
+ - app/assets/stylesheets/releaf/layout/forms.scss
338
+ - app/assets/stylesheets/releaf/layout/header.scss
339
+ - app/assets/stylesheets/releaf/layout/icons.scss
340
+ - app/assets/stylesheets/releaf/layout/images.scss
341
+ - app/assets/stylesheets/releaf/layout/links.scss
342
+ - app/assets/stylesheets/releaf/layout/localization.scss
343
+ - app/assets/stylesheets/releaf/layout/main.scss
344
+ - app/assets/stylesheets/releaf/layout/notifications.scss
345
+ - app/assets/stylesheets/releaf/layout/pagination.scss
346
+ - app/assets/stylesheets/releaf/layout/search.scss
347
+ - app/assets/stylesheets/releaf/layout/sections.scss
348
+ - app/assets/stylesheets/releaf/layout/sidebar.scss
349
+ - app/assets/stylesheets/releaf/layout/tables.scss
350
+ - app/assets/stylesheets/releaf/layout/text.scss
351
+ - app/assets/stylesheets/releaf/layout/toolboxes.scss
352
+ - app/assets/stylesheets/releaf/vendor/magnific-popup/main.scss
353
+ - app/assets/stylesheets/releaf/vendor/magnific-popup/settings.scss
354
+ - app/builders/releaf/builders.rb
355
+ - app/builders/releaf/builders/association_reflector.rb
356
+ - app/builders/releaf/builders/base.rb
357
+ - app/builders/releaf/builders/collection.rb
358
+ - app/builders/releaf/builders/confirm_destroy_dialog_builder.rb
359
+ - app/builders/releaf/builders/confirm_dialog_builder.rb
360
+ - app/builders/releaf/builders/edit_builder.rb
361
+ - app/builders/releaf/builders/form_builder.rb
362
+ - app/builders/releaf/builders/index_builder.rb
363
+ - app/builders/releaf/builders/orderer.rb
364
+ - app/builders/releaf/builders/page/header_builder.rb
365
+ - app/builders/releaf/builders/page/layout_builder.rb
366
+ - app/builders/releaf/builders/page/menu_builder.rb
367
+ - app/builders/releaf/builders/pagination_builder.rb
368
+ - app/builders/releaf/builders/refused_destroy_dialog_builder.rb
369
+ - app/builders/releaf/builders/resource.rb
370
+ - app/builders/releaf/builders/resource_dialog.rb
371
+ - app/builders/releaf/builders/resource_view.rb
372
+ - app/builders/releaf/builders/show_builder.rb
373
+ - app/builders/releaf/builders/table_builder.rb
374
+ - app/builders/releaf/builders/tags/releaf_associated_set_field.rb
375
+ - app/builders/releaf/builders/template.rb
376
+ - app/builders/releaf/builders/toolbox.rb
377
+ - app/builders/releaf/builders/toolbox_builder.rb
378
+ - app/builders/releaf/builders/view.rb
379
+ - app/builders/releaf/core/settings/form_builder.rb
380
+ - app/builders/releaf/core/settings/table_builder.rb
381
+ - app/controllers/concerns/releaf/breadcrumbs.rb
382
+ - app/controllers/concerns/releaf/richtext_attachments.rb
383
+ - app/controllers/releaf/base_controller.rb
384
+ - app/controllers/releaf/core/errors_controller.rb
385
+ - app/controllers/releaf/core/settings_controller.rb
386
+ - app/helpers/releaf/application_helper.rb
387
+ - app/helpers/releaf/button_helper.rb
388
+ - app/helpers/releaf/javascript_helper.rb
389
+ - app/lib/releaf/core/assets_resolver.rb
390
+ - app/lib/releaf/core/default_searchable_fields.rb
391
+ - app/lib/releaf/core/error_formatter.rb
392
+ - app/lib/releaf/core/item_orderer.rb
393
+ - app/lib/releaf/core/resource_base.rb
394
+ - app/lib/releaf/core/resource_fields.rb
395
+ - app/lib/releaf/core/resource_params.rb
396
+ - app/lib/releaf/core/resource_table_fields.rb
397
+ - app/lib/releaf/core/resource_utilities.rb
398
+ - app/lib/releaf/core/responders.rb
399
+ - app/lib/releaf/core/responders/access_denied_responder.rb
400
+ - app/lib/releaf/core/responders/after_save_responder.rb
401
+ - app/lib/releaf/core/responders/confirm_destroy_responder.rb
402
+ - app/lib/releaf/core/responders/destroy_responder.rb
403
+ - app/lib/releaf/core/responders/error_responder.rb
404
+ - app/lib/releaf/core/responders/feature_disabled_responder.rb
405
+ - app/lib/releaf/core/responders/page_not_found_responder.rb
406
+ - app/lib/releaf/core/search.rb
407
+ - app/lib/releaf/core/template_field_type_mapper.rb
408
+ - app/models/releaf/richtext_attachment.rb
409
+ - app/models/releaf/settings.rb
410
+ - app/views/layouts/releaf/admin.html.erb
411
+ - app/views/releaf/base/confirm_destroy.ruby
412
+ - app/views/releaf/base/create_releaf_richtext_attachment.haml
413
+ - app/views/releaf/base/edit.ruby
414
+ - app/views/releaf/base/index.ruby
415
+ - app/views/releaf/base/new.ruby
416
+ - app/views/releaf/base/refused_destroy.ruby
417
+ - app/views/releaf/base/show.ruby
418
+ - app/views/releaf/base/toolbox.ruby
419
+ - app/views/releaf/error_pages/_error.html.haml
420
+ - app/views/releaf/error_pages/access_denied.html.haml
421
+ - app/views/releaf/error_pages/feature_disabled.html.haml
422
+ - app/views/releaf/error_pages/page_not_found.html.haml
423
+ - lib/generators/dummy/install_generator.rb
424
+ - lib/generators/dummy/templates/builders/admin/books/form_builder.rb
425
+ - lib/generators/dummy/templates/builders/admin/books/index_builder.rb
426
+ - lib/generators/dummy/templates/builders/admin/books/table_builder.rb
427
+ - lib/generators/dummy/templates/builders/admin/nodes/form_builder.rb
428
+ - lib/generators/dummy/templates/config/routes.rb
429
+ - lib/generators/dummy/templates/controllers/admin/authors_controller.rb
430
+ - lib/generators/dummy/templates/controllers/admin/books_controller.rb
431
+ - lib/generators/dummy/templates/controllers/admin/chapters_controller.rb
432
+ - lib/generators/dummy/templates/controllers/admin/publishers_controller.rb
433
+ - lib/generators/dummy/templates/controllers/application_controller.rb
434
+ - lib/generators/dummy/templates/controllers/concerns/.keep
435
+ - lib/generators/dummy/templates/controllers/concerns/node_controller.rb
436
+ - lib/generators/dummy/templates/controllers/contacts_controller.rb
437
+ - lib/generators/dummy/templates/controllers/home_pages_controller.rb
438
+ - lib/generators/dummy/templates/controllers/text_pages_controller.rb
439
+ - lib/generators/dummy/templates/initializers/releaf.rb
440
+ - lib/generators/dummy/templates/migrations/create_authors.rb
441
+ - lib/generators/dummy/templates/migrations/create_banners.rb
442
+ - lib/generators/dummy/templates/migrations/create_book_sequels.rb
443
+ - lib/generators/dummy/templates/migrations/create_books.rb
444
+ - lib/generators/dummy/templates/migrations/create_bundles.rb
445
+ - lib/generators/dummy/templates/migrations/create_chapters.rb
446
+ - lib/generators/dummy/templates/migrations/create_home_pages.rb
447
+ - lib/generators/dummy/templates/migrations/create_node_extra_fields.rb
448
+ - lib/generators/dummy/templates/migrations/create_publishers.rb
449
+ - lib/generators/dummy/templates/migrations/create_text_pages.rb
450
+ - lib/generators/dummy/templates/models/author.rb
451
+ - lib/generators/dummy/templates/models/banner.rb
452
+ - lib/generators/dummy/templates/models/book.rb
453
+ - lib/generators/dummy/templates/models/book_sequel.rb
454
+ - lib/generators/dummy/templates/models/bundle.rb
455
+ - lib/generators/dummy/templates/models/chapter.rb
456
+ - lib/generators/dummy/templates/models/home_page.rb
457
+ - lib/generators/dummy/templates/models/node.rb
458
+ - lib/generators/dummy/templates/models/publisher.rb
459
+ - lib/generators/dummy/templates/models/text_page.rb
460
+ - lib/generators/dummy/templates/views/contacts/show.html.haml
461
+ - lib/generators/dummy/templates/views/home_pages/show.haml
462
+ - lib/generators/dummy/templates/views/layouts/application.html.haml
463
+ - lib/generators/dummy/templates/views/text_pages/show.haml
464
+ - lib/generators/releaf/install_generator.rb
465
+ - lib/generators/releaf/templates/initializers/haml.rb
466
+ - lib/generators/releaf/templates/initializers/releaf.rb
467
+ - lib/generators/releaf/templates/migrations/create_releaf_nodes.rb
468
+ - lib/generators/releaf/templates/migrations/create_releaf_permissions.rb
469
+ - lib/generators/releaf/templates/migrations/create_releaf_richtext_attachments.rb
470
+ - lib/generators/releaf/templates/migrations/create_releaf_roles.rb
471
+ - lib/generators/releaf/templates/migrations/create_releaf_settings.rb
472
+ - lib/generators/releaf/templates/migrations/create_releaf_translations.rb
473
+ - lib/generators/releaf/templates/migrations/create_releaf_users.rb
474
+ - lib/generators/releaf/templates/models/node.rb
475
+ - lib/generators/releaf/templates/seeds/seeds.rb
476
+ - lib/releaf-core.rb
477
+ - lib/releaf/core/application.rb
478
+ - lib/releaf/core/builders_autoload.rb
479
+ - lib/releaf/core/component.rb
480
+ - lib/releaf/core/configuration.rb
481
+ - lib/releaf/core/engine.rb
482
+ - lib/releaf/core/exceptions.rb
483
+ - lib/releaf/core/route_mapper.rb
484
+ - lib/releaf/core/settings_ui_component.rb
485
+ - lib/releaf/core/validation_error_codes.rb
486
+ - lib/releaf/version.rb
487
+ - lib/tasks/releaf_tasks.rake
488
+ - releaf-core.gemspec
489
+ - spec/builders/builders/association_reflector_spec.rb
490
+ - spec/builders/builders/base_spec.rb
491
+ - spec/builders/builders/collection_spec.rb
492
+ - spec/builders/builders/confirm_destroy_dialog_builder_spec.rb
493
+ - spec/builders/builders/confirm_dialog_builder_spec.rb
494
+ - spec/builders/builders/edit_builder_spec.rb
495
+ - spec/builders/builders/form_builder_spec.rb
496
+ - spec/builders/builders/index_builder_spec.rb
497
+ - spec/builders/builders/orderer_spec.rb
498
+ - spec/builders/builders/page/header_builder_spec.rb
499
+ - spec/builders/builders/page/layout_builder_spec.rb
500
+ - spec/builders/builders/page/menu_builder_spec.rb
501
+ - spec/builders/builders/pagination_builder_spec.rb
502
+ - spec/builders/builders/resource_dialog_spec.rb
503
+ - spec/builders/builders/resource_view_spec.rb
504
+ - spec/builders/builders/show_builder_spec.rb
505
+ - spec/builders/builders/table_builder_spec.rb
506
+ - spec/builders/builders/template_spec.rb
507
+ - spec/builders/builders/toolbox_builder_spec.rb
508
+ - spec/builders/builders/toolbox_spec.rb
509
+ - spec/builders/builders/view_spec.rb
510
+ - spec/builders/builders_spec.rb
511
+ - spec/builders/core/settings/form_builder_spec.rb
512
+ - spec/builders/core/settings/table_builder_spec.rb
513
+ - spec/controllers/concerns/releaf/richtext_attachments_spec.rb
514
+ - spec/controllers/releaf/base_controller_spec.rb
515
+ - spec/controllers/releaf/core/settings_controller_spec.rb
516
+ - spec/features/ajaxbox_spec.rb
517
+ - spec/features/authorization_spec.rb
518
+ - spec/features/dragonfly_integration_spec.rb
519
+ - spec/features/edit_actions_spec.rb
520
+ - spec/features/errors_spec.rb
521
+ - spec/features/index_actions_spec.rb
522
+ - spec/features/index_table_spec.rb
523
+ - spec/features/menu_spec.rb
524
+ - spec/features/richtext_attachments_spec.rb
525
+ - spec/features/richtext_embed_spec.rb
526
+ - spec/features/richtext_spec.rb
527
+ - spec/features/search_spec.rb
528
+ - spec/features/settings_spec.rb
529
+ - spec/features/title_spec.rb
530
+ - spec/fixtures/common_fields.yml
531
+ - spec/fixtures/cs.png
532
+ - spec/fixtures/time.formats.xlsx
533
+ - spec/fixtures/unicorn.jpg
534
+ - spec/helpers/application_helper_spec.rb
535
+ - spec/helpers/button_helper_spec.rb
536
+ - spec/lib/releaf/core/application_spec.rb
537
+ - spec/lib/releaf/core/assets_resolver_spec.rb
538
+ - spec/lib/releaf/core/configuration_spec.rb
539
+ - spec/lib/releaf/core/default_searchable_fields_spec.rb
540
+ - spec/lib/releaf/core/error_formatter_spec.rb
541
+ - spec/lib/releaf/core/item_orderer_spec.rb
542
+ - spec/lib/releaf/core/resource_base_spec.rb
543
+ - spec/lib/releaf/core/resource_fields_spec.rb
544
+ - spec/lib/releaf/core/resource_params_spec.rb
545
+ - spec/lib/releaf/core/resource_table_fields_spec.rb
546
+ - spec/lib/releaf/core/resource_utilities_spec.rb
547
+ - spec/lib/releaf/core/responders/access_denied_responder_spec.rb
548
+ - spec/lib/releaf/core/responders/after_save_responder_spec.rb
549
+ - spec/lib/releaf/core/responders/confirm_destroy_responder_spec.rb
550
+ - spec/lib/releaf/core/responders/destroy_responder_spec.rb
551
+ - spec/lib/releaf/core/responders/error_responder_spec.rb
552
+ - spec/lib/releaf/core/responders/feature_disabled_responder_spec.rb
553
+ - spec/lib/releaf/core/responders/page_not_found_responder_spec.rb
554
+ - spec/lib/releaf/core/responders_spec.rb
555
+ - spec/lib/releaf/core/template_field_type_mapper_spec.rb
556
+ - spec/lib/validation_error_codes_spec.rb
557
+ - spec/misc/factories_spec.rb
558
+ - spec/models/settings_spec.rb
559
+ - spec/routing/route_mapper_spec.rb
560
+ - spec/rspec_helpers/test_helpers_spec.rb
561
+ homepage: https://github.com/cubesystems/releaf
562
+ licenses: []
563
+ metadata: {}
564
+ post_install_message:
565
+ rdoc_options: []
566
+ require_paths:
567
+ - lib
568
+ required_ruby_version: !ruby/object:Gem::Requirement
569
+ requirements:
570
+ - - ">="
571
+ - !ruby/object:Gem::Version
572
+ version: 2.2.0
573
+ required_rubygems_version: !ruby/object:Gem::Requirement
574
+ requirements:
575
+ - - ">="
576
+ - !ruby/object:Gem::Version
577
+ version: '0'
578
+ requirements: []
579
+ rubyforge_project:
580
+ rubygems_version: 2.4.8
581
+ signing_key:
582
+ specification_version: 4
583
+ summary: core gem for releaf
584
+ test_files:
585
+ - spec/builders/builders/association_reflector_spec.rb
586
+ - spec/builders/builders/base_spec.rb
587
+ - spec/builders/builders/collection_spec.rb
588
+ - spec/builders/builders/confirm_destroy_dialog_builder_spec.rb
589
+ - spec/builders/builders/confirm_dialog_builder_spec.rb
590
+ - spec/builders/builders/edit_builder_spec.rb
591
+ - spec/builders/builders/form_builder_spec.rb
592
+ - spec/builders/builders/index_builder_spec.rb
593
+ - spec/builders/builders/orderer_spec.rb
594
+ - spec/builders/builders/page/header_builder_spec.rb
595
+ - spec/builders/builders/page/layout_builder_spec.rb
596
+ - spec/builders/builders/page/menu_builder_spec.rb
597
+ - spec/builders/builders/pagination_builder_spec.rb
598
+ - spec/builders/builders/resource_dialog_spec.rb
599
+ - spec/builders/builders/resource_view_spec.rb
600
+ - spec/builders/builders/show_builder_spec.rb
601
+ - spec/builders/builders/table_builder_spec.rb
602
+ - spec/builders/builders/template_spec.rb
603
+ - spec/builders/builders/toolbox_builder_spec.rb
604
+ - spec/builders/builders/toolbox_spec.rb
605
+ - spec/builders/builders/view_spec.rb
606
+ - spec/builders/builders_spec.rb
607
+ - spec/builders/core/settings/form_builder_spec.rb
608
+ - spec/builders/core/settings/table_builder_spec.rb
609
+ - spec/controllers/concerns/releaf/richtext_attachments_spec.rb
610
+ - spec/controllers/releaf/base_controller_spec.rb
611
+ - spec/controllers/releaf/core/settings_controller_spec.rb
612
+ - spec/features/ajaxbox_spec.rb
613
+ - spec/features/authorization_spec.rb
614
+ - spec/features/dragonfly_integration_spec.rb
615
+ - spec/features/edit_actions_spec.rb
616
+ - spec/features/errors_spec.rb
617
+ - spec/features/index_actions_spec.rb
618
+ - spec/features/index_table_spec.rb
619
+ - spec/features/menu_spec.rb
620
+ - spec/features/richtext_attachments_spec.rb
621
+ - spec/features/richtext_embed_spec.rb
622
+ - spec/features/richtext_spec.rb
623
+ - spec/features/search_spec.rb
624
+ - spec/features/settings_spec.rb
625
+ - spec/features/title_spec.rb
626
+ - spec/fixtures/common_fields.yml
627
+ - spec/fixtures/cs.png
628
+ - spec/fixtures/time.formats.xlsx
629
+ - spec/fixtures/unicorn.jpg
630
+ - spec/helpers/application_helper_spec.rb
631
+ - spec/helpers/button_helper_spec.rb
632
+ - spec/lib/releaf/core/application_spec.rb
633
+ - spec/lib/releaf/core/assets_resolver_spec.rb
634
+ - spec/lib/releaf/core/configuration_spec.rb
635
+ - spec/lib/releaf/core/default_searchable_fields_spec.rb
636
+ - spec/lib/releaf/core/error_formatter_spec.rb
637
+ - spec/lib/releaf/core/item_orderer_spec.rb
638
+ - spec/lib/releaf/core/resource_base_spec.rb
639
+ - spec/lib/releaf/core/resource_fields_spec.rb
640
+ - spec/lib/releaf/core/resource_params_spec.rb
641
+ - spec/lib/releaf/core/resource_table_fields_spec.rb
642
+ - spec/lib/releaf/core/resource_utilities_spec.rb
643
+ - spec/lib/releaf/core/responders/access_denied_responder_spec.rb
644
+ - spec/lib/releaf/core/responders/after_save_responder_spec.rb
645
+ - spec/lib/releaf/core/responders/confirm_destroy_responder_spec.rb
646
+ - spec/lib/releaf/core/responders/destroy_responder_spec.rb
647
+ - spec/lib/releaf/core/responders/error_responder_spec.rb
648
+ - spec/lib/releaf/core/responders/feature_disabled_responder_spec.rb
649
+ - spec/lib/releaf/core/responders/page_not_found_responder_spec.rb
650
+ - spec/lib/releaf/core/responders_spec.rb
651
+ - spec/lib/releaf/core/template_field_type_mapper_spec.rb
652
+ - spec/lib/validation_error_codes_spec.rb
653
+ - spec/misc/factories_spec.rb
654
+ - spec/models/settings_spec.rb
655
+ - spec/routing/route_mapper_spec.rb
656
+ - spec/rspec_helpers/test_helpers_spec.rb
657
+ has_rdoc: