alchemy_cms 4.0.0.beta → 4.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (205) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +4 -7
  3. data/CHANGELOG.md +23 -0
  4. data/README.md +1 -1
  5. data/alchemy_cms.gemspec +1 -1
  6. data/app/assets/javascripts/alchemy/alchemy.dragndrop.js.coffee +2 -2
  7. data/app/assets/stylesheets/alchemy/_extends.scss +3 -5
  8. data/app/assets/stylesheets/alchemy/_mixins.scss +1 -1
  9. data/app/assets/stylesheets/alchemy/base.scss +2 -2
  10. data/app/assets/stylesheets/alchemy/buttons.scss +2 -2
  11. data/app/assets/stylesheets/alchemy/dialogs.scss +3 -3
  12. data/app/assets/stylesheets/alchemy/elements.scss +2 -2
  13. data/app/assets/stylesheets/alchemy/image_library.scss +10 -10
  14. data/app/assets/stylesheets/alchemy/jquery.datetimepicker.scss +2 -2
  15. data/app/assets/stylesheets/alchemy/lists.scss +2 -1
  16. data/app/assets/stylesheets/alchemy/sitemap.scss +1 -16
  17. data/app/assets/stylesheets/alchemy/tables.scss +1 -1
  18. data/app/assets/stylesheets/tinymce/skins/alchemy/skin.min.css.scss +4 -4
  19. data/app/controllers/alchemy/admin/attachments_controller.rb +10 -10
  20. data/app/controllers/alchemy/admin/base_controller.rb +10 -19
  21. data/app/controllers/alchemy/admin/clipboard_controller.rb +20 -7
  22. data/app/controllers/alchemy/admin/contents_controller.rb +5 -19
  23. data/app/controllers/alchemy/admin/dashboard_controller.rb +5 -3
  24. data/app/controllers/alchemy/admin/elements_controller.rb +7 -1
  25. data/app/controllers/alchemy/admin/essence_files_controller.rb +2 -2
  26. data/app/controllers/alchemy/admin/essence_pictures_controller.rb +8 -13
  27. data/app/controllers/alchemy/admin/languages_controller.rb +2 -0
  28. data/app/controllers/alchemy/admin/layoutpages_controller.rb +2 -0
  29. data/app/controllers/alchemy/admin/legacy_page_urls_controller.rb +2 -0
  30. data/app/controllers/alchemy/admin/pages_controller.rb +3 -1
  31. data/app/controllers/alchemy/admin/pictures_controller.rb +11 -9
  32. data/app/controllers/alchemy/admin/resources_controller.rb +25 -4
  33. data/app/controllers/alchemy/admin/sites_controller.rb +2 -0
  34. data/app/controllers/alchemy/admin/tags_controller.rb +2 -0
  35. data/app/controllers/alchemy/admin/trash_controller.rb +2 -0
  36. data/app/controllers/alchemy/api/base_controller.rb +2 -0
  37. data/app/controllers/alchemy/api/contents_controller.rb +2 -0
  38. data/app/controllers/alchemy/api/elements_controller.rb +2 -0
  39. data/app/controllers/alchemy/api/pages_controller.rb +2 -0
  40. data/app/controllers/alchemy/attachments_controller.rb +2 -0
  41. data/app/controllers/alchemy/base_controller.rb +3 -1
  42. data/app/controllers/alchemy/elements_controller.rb +2 -0
  43. data/app/controllers/alchemy/messages_controller.rb +2 -0
  44. data/app/controllers/alchemy/pages_controller.rb +11 -2
  45. data/app/controllers/concerns/alchemy/admin/uploader_responses.rb +2 -0
  46. data/app/controllers/concerns/alchemy/legacy_page_redirects.rb +2 -0
  47. data/app/controllers/concerns/alchemy/locale_redirects.rb +2 -0
  48. data/app/controllers/concerns/alchemy/page_redirects.rb +2 -0
  49. data/app/controllers/concerns/alchemy/site_redirects.rb +2 -0
  50. data/app/helpers/alchemy/admin/attachments_helper.rb +2 -0
  51. data/app/helpers/alchemy/admin/base_helper.rb +2 -28
  52. data/app/helpers/alchemy/admin/contents_helper.rb +2 -0
  53. data/app/helpers/alchemy/admin/elements_helper.rb +2 -0
  54. data/app/helpers/alchemy/admin/essences_helper.rb +2 -0
  55. data/app/helpers/alchemy/admin/form_helper.rb +2 -0
  56. data/app/helpers/alchemy/admin/navigation_helper.rb +2 -0
  57. data/app/helpers/alchemy/admin/pages_helper.rb +2 -0
  58. data/app/helpers/alchemy/admin/pictures_helper.rb +2 -0
  59. data/app/helpers/alchemy/admin/tags_helper.rb +24 -76
  60. data/app/helpers/alchemy/base_helper.rb +2 -0
  61. data/app/helpers/alchemy/deprecated_pages_helper.rb +2 -0
  62. data/app/helpers/alchemy/elements_block_helper.rb +2 -0
  63. data/app/helpers/alchemy/elements_helper.rb +2 -0
  64. data/app/helpers/alchemy/essences_helper.rb +2 -0
  65. data/app/helpers/alchemy/pages_helper.rb +2 -0
  66. data/app/helpers/alchemy/url_helper.rb +2 -0
  67. data/app/mailers/alchemy/base_mailer.rb +2 -0
  68. data/app/mailers/alchemy/messages_mailer.rb +2 -0
  69. data/app/models/alchemy.rb +2 -0
  70. data/app/models/alchemy/attachment.rb +6 -4
  71. data/app/models/alchemy/cell.rb +4 -2
  72. data/app/models/alchemy/content.rb +7 -5
  73. data/app/models/alchemy/content/factory.rb +7 -7
  74. data/app/models/alchemy/element.rb +21 -28
  75. data/app/models/alchemy/element/definitions.rb +4 -2
  76. data/app/models/alchemy/element/element_contents.rb +3 -1
  77. data/app/models/alchemy/element/element_essences.rb +2 -0
  78. data/app/models/alchemy/element/presenters.rb +2 -0
  79. data/app/models/alchemy/element_to_page.rb +2 -0
  80. data/app/models/alchemy/essence_boolean.rb +2 -0
  81. data/app/models/alchemy/essence_date.rb +2 -0
  82. data/app/models/alchemy/essence_file.rb +2 -0
  83. data/app/models/alchemy/essence_html.rb +2 -0
  84. data/app/models/alchemy/essence_link.rb +6 -4
  85. data/app/models/alchemy/essence_picture.rb +13 -11
  86. data/app/models/alchemy/essence_picture_view.rb +2 -0
  87. data/app/models/alchemy/essence_richtext.rb +2 -0
  88. data/app/models/alchemy/essence_select.rb +3 -1
  89. data/app/models/alchemy/essence_text.rb +6 -4
  90. data/app/models/alchemy/folded_page.rb +4 -2
  91. data/app/models/alchemy/language.rb +9 -6
  92. data/app/models/alchemy/language/code.rb +2 -0
  93. data/app/models/alchemy/legacy_page_url.rb +3 -1
  94. data/app/models/alchemy/message.rb +2 -0
  95. data/app/models/alchemy/page.rb +3 -2
  96. data/app/models/alchemy/page/fixed_attributes.rb +2 -0
  97. data/app/models/alchemy/page/page_cells.rb +2 -0
  98. data/app/models/alchemy/page/page_elements.rb +3 -1
  99. data/app/models/alchemy/page/page_naming.rb +2 -0
  100. data/app/models/alchemy/page/page_natures.rb +2 -1
  101. data/app/models/alchemy/page/page_scopes.rb +2 -0
  102. data/app/models/alchemy/page/page_users.rb +2 -0
  103. data/app/models/alchemy/picture.rb +2 -0
  104. data/app/models/alchemy/picture/transformations.rb +2 -0
  105. data/app/models/alchemy/picture/url.rb +2 -0
  106. data/app/models/alchemy/site.rb +4 -2
  107. data/app/models/alchemy/site/layout.rb +2 -0
  108. data/app/models/alchemy/tag.rb +5 -2
  109. data/app/models/alchemy/tree_node.rb +2 -0
  110. data/app/serializers/alchemy/attachment_serializer.rb +2 -0
  111. data/app/serializers/alchemy/base_serializer.rb +2 -0
  112. data/app/serializers/alchemy/cell_serializer.rb +2 -0
  113. data/app/serializers/alchemy/content_serializer.rb +2 -0
  114. data/app/serializers/alchemy/element_serializer.rb +2 -0
  115. data/app/serializers/alchemy/essence_boolean_serializer.rb +2 -0
  116. data/app/serializers/alchemy/essence_date_serializer.rb +2 -0
  117. data/app/serializers/alchemy/essence_file_serializer.rb +2 -0
  118. data/app/serializers/alchemy/essence_html_serializer.rb +2 -0
  119. data/app/serializers/alchemy/essence_link_serializer.rb +2 -0
  120. data/app/serializers/alchemy/essence_picture_serializer.rb +2 -0
  121. data/app/serializers/alchemy/essence_richtext_serializer.rb +2 -0
  122. data/app/serializers/alchemy/essence_select_serializer.rb +2 -0
  123. data/app/serializers/alchemy/essence_text_serializer.rb +2 -0
  124. data/app/serializers/alchemy/legacy_element_serializer.rb +2 -0
  125. data/app/serializers/alchemy/page_serializer.rb +2 -0
  126. data/app/serializers/alchemy/page_tree_serializer.rb +2 -0
  127. data/app/serializers/alchemy/picture_serializer.rb +2 -0
  128. data/app/views/alchemy/admin/attachments/_archive_overlay.html.erb +1 -1
  129. data/app/views/alchemy/admin/attachments/_file_to_assign.html.erb +1 -1
  130. data/app/views/alchemy/admin/attachments/_filter_bar.html.erb +1 -3
  131. data/app/views/alchemy/admin/attachments/_tag_list.html.erb +1 -1
  132. data/app/views/alchemy/admin/contents/_missing.html.erb +1 -1
  133. data/app/views/alchemy/admin/contents/create.js.erb +9 -13
  134. data/app/views/alchemy/admin/contents/new.html.erb +1 -1
  135. data/app/views/alchemy/admin/elements/_picture_gallery_editor.html.erb +4 -4
  136. data/app/views/alchemy/admin/essence_files/assign.js.erb +1 -1
  137. data/app/views/alchemy/admin/essence_pictures/assign.js.erb +1 -1
  138. data/app/views/alchemy/admin/essence_pictures/crop.html.erb +1 -1
  139. data/app/views/alchemy/admin/essence_pictures/destroy.js.erb +10 -7
  140. data/app/views/alchemy/admin/essence_pictures/edit.html.erb +8 -6
  141. data/app/views/alchemy/admin/essence_pictures/update.js.erb +1 -1
  142. data/app/views/alchemy/admin/partials/_remote_search_form.html.erb +2 -2
  143. data/app/views/alchemy/admin/pictures/_filter_and_size_bar.html.erb +4 -4
  144. data/app/views/alchemy/admin/pictures/_filter_bar.html.erb +1 -3
  145. data/app/views/alchemy/admin/pictures/_overlay_picture_list.html.erb +1 -1
  146. data/app/views/alchemy/admin/pictures/_picture_to_assign.html.erb +1 -1
  147. data/app/views/alchemy/admin/pictures/_tag_list.html.erb +1 -1
  148. data/app/views/alchemy/admin/resources/_filter_bar.html.erb +1 -3
  149. data/app/views/alchemy/admin/resources/_tag_list.html.erb +1 -1
  150. data/app/views/alchemy/admin/uploader/_button.html.erb +1 -1
  151. data/app/views/alchemy/essences/_essence_file_editor.html.erb +2 -2
  152. data/app/views/alchemy/essences/_essence_picture_editor.html.erb +2 -2
  153. data/app/views/alchemy/essences/shared/_essence_picture_tools.html.erb +3 -3
  154. data/app/views/alchemy/navigation/_renderer.html.erb +1 -2
  155. data/config/brakeman.ignore +65 -0
  156. data/db/migrate/20130827094554_alchemy_two_point_six.rb +1 -1
  157. data/db/migrate/20130828121054_remove_do_not_index_from_alchemy_essence_texts.rb +1 -1
  158. data/db/migrate/20130828121120_remove_do_not_index_from_alchemy_essence_richtexts.rb +1 -1
  159. data/db/migrate/20130918201742_add_published_at_to_alchemy_pages.rb +1 -1
  160. data/db/migrate/20150608204610_add_parent_element_id_to_alchemy_elements.rb +1 -1
  161. data/db/migrate/20150729151825_add_link_text_to_alchemy_essence_files.rb +1 -1
  162. data/db/migrate/20150906195818_add_locale_to_alchemy_languages.rb +1 -1
  163. data/db/migrate/20160108174834_add_timebased_publishing_columns_to_pages.rb +1 -1
  164. data/db/migrate/20160422195310_add_image_file_format_to_alchemy_pictures.rb +1 -1
  165. data/db/migrate/20160617224938_change_alchemy_pages_locked_to_locked_at.rb +1 -1
  166. data/db/migrate/20160912223112_add_index_to_alchemy_pages_rgt.rb +1 -1
  167. data/db/migrate/20160927205604_add_foreign_key_indices_and_null_constraints.rb +1 -1
  168. data/db/migrate/20160928080104_add_foreign_keys.rb +1 -1
  169. data/lib/alchemy/ability_helper.rb +2 -0
  170. data/lib/alchemy/admin/locale.rb +2 -0
  171. data/lib/alchemy/auth_accessors.rb +2 -0
  172. data/lib/alchemy/cache_digests/template_tracker.rb +2 -0
  173. data/lib/alchemy/config.rb +2 -0
  174. data/lib/alchemy/configuration_methods.rb +2 -0
  175. data/lib/alchemy/controller_actions.rb +2 -0
  176. data/lib/alchemy/deprecation.rb +3 -0
  177. data/lib/alchemy/errors.rb +2 -0
  178. data/lib/alchemy/essence.rb +2 -0
  179. data/lib/alchemy/filetypes.rb +2 -0
  180. data/lib/alchemy/forms/builder.rb +2 -0
  181. data/lib/alchemy/hints.rb +2 -0
  182. data/lib/alchemy/i18n.rb +2 -0
  183. data/lib/alchemy/logger.rb +2 -0
  184. data/lib/alchemy/modules.rb +2 -0
  185. data/lib/alchemy/name_conversions.rb +2 -0
  186. data/lib/alchemy/on_page_layout.rb +2 -0
  187. data/lib/alchemy/on_page_layout/callbacks_runner.rb +2 -0
  188. data/lib/alchemy/page_layout.rb +3 -1
  189. data/lib/alchemy/paths.rb +2 -0
  190. data/lib/alchemy/permissions.rb +2 -0
  191. data/lib/alchemy/picture_attributes.rb +2 -0
  192. data/lib/alchemy/resource.rb +2 -0
  193. data/lib/alchemy/resources_helper.rb +14 -12
  194. data/lib/alchemy/routing_constraints.rb +2 -0
  195. data/lib/alchemy/ssl_protection.rb +2 -0
  196. data/lib/alchemy/test_support/controller_requests.rb +20 -0
  197. data/lib/alchemy/test_support/essence_shared_examples.rb +3 -21
  198. data/lib/alchemy/tinymce.rb +2 -0
  199. data/lib/alchemy/touching.rb +2 -0
  200. data/lib/alchemy/upgrader/three_point_four.rb +20 -3
  201. data/lib/alchemy/userstamp.rb +2 -0
  202. data/lib/alchemy/version.rb +3 -1
  203. data/lib/alchemy_cms.rb +1 -0
  204. data/lib/tasks/alchemy/upgrade.rake +5 -1
  205. metadata +7 -5
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Provides admin interface routing configuration accessors.
2
4
  #
3
5
  # Alchemy has some defaults for admin path and admin constraints:
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Alchemy
2
4
  # ## Alchemy's permissions
3
5
  #
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Alchemy
2
4
  # Provides methods to secure your picture attributes against DOS attacks.
3
5
  #
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'active_support'
2
4
  require 'active_support/core_ext'
3
5
  require 'active_support/inflector'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Alchemy
2
4
  module ResourcesHelper
3
5
  # = Alchemy::ResourceHelper
@@ -70,21 +72,21 @@ module Alchemy
70
72
  # @return [String]
71
73
  #
72
74
  def render_attribute(resource, attribute, options = {})
73
- options.reverse_merge!(truncate: 50)
74
- value = resource.send(attribute[:name])
75
- if (relation = attribute[:relation]) && value.present?
76
- record = relation[:model_association].klass.find(value)
77
- value = record.send(relation[:attr_method])
78
- elsif attribute[:type] == :datetime && value.present?
79
- value = l(value)
75
+ if attribute[:relation]
76
+ record = resource.send(attribute[:relation][:name])
77
+ value = record.present? ? record.send(attribute[:relation][:attr_method]) : Alchemy.t(:not_found)
78
+ elsif attribute[:type] == :datetime
79
+ value = l(resource.send(attribute[:name]))
80
+ else
81
+ value = resource.send(attribute[:name])
80
82
  end
83
+
84
+ options.reverse_merge!(truncate: 50)
81
85
  if options[:truncate]
82
- value = value.to_s.truncate(options[:truncate])
86
+ value.to_s.truncate(options.fetch(:truncate, 50))
87
+ else
88
+ value
83
89
  end
84
- value
85
- rescue ActiveRecord::RecordNotFound => e
86
- warning e
87
- Alchemy.t(:not_found)
88
90
  end
89
91
 
90
92
  # Returns a options hash for simple_form input fields.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Alchemy
2
4
  # Routing constraints for Alchemy's strong catch all route.
3
5
  #
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Alchemy
2
4
  module SSLProtection
3
5
  private
@@ -1,3 +1,11 @@
1
+ # *There is generally no need* to use this module. Instead, in
2
+ # a functional/controller test against a Alchemy controller, just
3
+ # use standard Rails functionality by including:
4
+ #
5
+ # routes { Alchemy::Engine.routes }
6
+ #
7
+ # And then use standard Rails test `get`, `post` etc methods.
8
+ #
1
9
  # Use this module to easily test Alchemy actions within Alchemy components
2
10
  # or inside your application to test routes for the mounted Alchemy engine.
3
11
  #
@@ -25,35 +33,47 @@
25
33
  #
26
34
  # Note: Based on Spree::TestingSupport::ControllerRequests. Thanks <3
27
35
  #
36
+ # @deprecated Use Rails build in test request methods instead
37
+ #
28
38
  module Alchemy
29
39
  module TestSupport
30
40
  module ControllerRequests
31
41
  extend ActiveSupport::Concern
32
42
 
33
43
  # Executes a request simulating GET HTTP method
44
+ # @deprecated Use Rails test `get` helper instead
34
45
  def alchemy_get(action, parameters = nil, session = nil, flash = nil)
35
46
  process_alchemy_action(action, parameters, session, flash, "GET")
36
47
  end
48
+ deprecate alchemy_get: :get, deprecator: Alchemy::Deprecation
37
49
 
38
50
  # Executes a request simulating POST HTTP method
51
+ # @deprecated Use Rails test `post` helper instead
39
52
  def alchemy_post(action, parameters = nil, session = nil, flash = nil)
40
53
  process_alchemy_action(action, parameters, session, flash, "POST")
41
54
  end
55
+ deprecate alchemy_post: :post, deprecator: Alchemy::Deprecation
42
56
 
43
57
  # Executes a request simulating PUT HTTP method
58
+ # @deprecated Use Rails test `put` helper instead
44
59
  def alchemy_put(action, parameters = nil, session = nil, flash = nil)
45
60
  process_alchemy_action(action, parameters, session, flash, "PUT")
46
61
  end
62
+ deprecate alchemy_put: :put, deprecator: Alchemy::Deprecation
47
63
 
48
64
  # Executes a request simulating DELETE HTTP method
65
+ # @deprecated Use Rails test `delete` helper instead
49
66
  def alchemy_delete(action, parameters = nil, session = nil, flash = nil)
50
67
  process_alchemy_action(action, parameters, session, flash, "DELETE")
51
68
  end
69
+ deprecate alchemy_delete: :delete, deprecator: Alchemy::Deprecation
52
70
 
53
71
  # Executes a simulated XHR request
72
+ # @deprecated Use Rails test `xhr` helper instead
54
73
  def alchemy_xhr(method, action, parameters = nil, session = nil, flash = nil)
55
74
  process_alchemy_xhr_action(method, action, parameters, session, flash)
56
75
  end
76
+ deprecate alchemy_xhr: :xhr, deprecator: Alchemy::Deprecation
57
77
 
58
78
  private
59
79
 
@@ -250,27 +250,9 @@ shared_examples_for "an essence" do
250
250
  end
251
251
 
252
252
  context 'delegations' do
253
- let(:page) { create(:alchemy_page, :restricted) }
254
- let(:element) { create(:alchemy_element, name: 'headline', create_contents_after_create: true, page: page) }
255
- let(:content) { element.contents.find_by(essence_type: 'Alchemy::EssenceText') }
256
- let(:essence) { content.essence }
257
-
258
- it "delegates restricted? to page" do
259
- expect(page.restricted?).to be(true)
260
- expect(essence.restricted?).to be(true)
261
- end
262
-
263
- it "delegates trashed? to element" do
264
- element.update!(position: nil)
265
- expect(element.trashed?).to be true
266
- expect(essence.trashed?).to be true
267
- end
268
-
269
- it "delegates public? to element" do
270
- element.update!(public: false)
271
- expect(element.public?).to be false
272
- expect(essence.public?).to be false
273
- end
253
+ it { should delegate_method(:restricted?).to(:page) }
254
+ it { should delegate_method(:trashed?).to(:element) }
255
+ it { should delegate_method(:public?).to(:element) }
274
256
  end
275
257
 
276
258
  describe 'essence relations' do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Alchemy
2
4
  module Tinymce
3
5
  mattr_accessor :languages, :plugins
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Alchemy
2
4
  module Touching
3
5
  # Touches the timestamps and userstamps
@@ -2,9 +2,26 @@ require_relative 'tasks/install_asset_manifests'
2
2
 
3
3
  module Alchemy
4
4
  class Upgrader::ThreePointFour < Upgrader
5
- def self.install_asset_manifests
6
- desc 'Install asset manifests into `vendor/assets`'
7
- Alchemy::Upgrader::Tasks::InstallAssetManifests.new.install
5
+ class << self
6
+ def install_asset_manifests
7
+ desc 'Install asset manifests into `vendor/assets`'
8
+ Alchemy::Upgrader::Tasks::InstallAssetManifests.new.install
9
+ end
10
+
11
+ def alchemy_3_4_todos
12
+ notice = <<-NOTE
13
+
14
+ Time-based publishing
15
+ ---------------------
16
+
17
+ Alchemy now uses time-based publishing on the page models. Gems that
18
+ rely on the #public method will break. If you are using an older version
19
+ of `alchemy-pg_search`, you should now upgrade to a more recent version.
20
+
21
+ Ref: https://github.com/AlchemyCMS/alchemy-pg_search/pull/8
22
+ NOTE
23
+ todo notice, 'Alchemy v3.4 changes'
24
+ end
8
25
  end
9
26
  end
10
27
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Adds the model stamper ability to the provided user class
2
4
  #
3
5
  # It only adds it, if the user model is a active_record model.
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Alchemy
2
- VERSION = "4.0.0.beta"
4
+ VERSION = "4.0.0.rc1"
3
5
 
4
6
  def self.version
5
7
  VERSION
@@ -32,6 +32,7 @@ require_relative 'alchemy/cache_digests/template_tracker'
32
32
  require_relative 'alchemy/config'
33
33
  require_relative 'alchemy/configuration_methods'
34
34
  require_relative 'alchemy/controller_actions'
35
+ require_relative 'alchemy/deprecation'
35
36
  require_relative 'alchemy/errors'
36
37
  require_relative 'alchemy/essence'
37
38
  require_relative 'alchemy/filetypes'
@@ -9,7 +9,7 @@ namespace :alchemy do
9
9
  'alchemy:upgrade:3.1:todo',
10
10
  'alchemy:upgrade:3.2:run', 'alchemy:upgrade:3.2:todo',
11
11
  'alchemy:upgrade:3.3:run', 'alchemy:upgrade:3.3:todo',
12
- 'alchemy:upgrade:3.4:run',
12
+ 'alchemy:upgrade:3.4:run', 'alchemy:upgrade:3.4:todo',
13
13
  'alchemy:upgrade:3.5:run', 'alchemy:upgrade:3.5:todo'
14
14
  ] do
15
15
  Alchemy::Upgrader.display_todos
@@ -154,6 +154,10 @@ namespace :alchemy do
154
154
  task install_asset_manifests: [:environment] do
155
155
  Alchemy::Upgrader::ThreePointFour.install_asset_manifests
156
156
  end
157
+
158
+ task :todo do
159
+ Alchemy::Upgrader::ThreePointFour.alchemy_3_4_todos
160
+ end
157
161
  end
158
162
 
159
163
  desc 'Upgrade Alchemy to v3.5'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alchemy_cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0.beta
4
+ version: 4.0.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas von Deyen
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2017-06-20 00:00:00.000000000 Z
16
+ date: 2017-08-17 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: active_model_serializers
@@ -49,14 +49,14 @@ dependencies:
49
49
  requirements:
50
50
  - - "~>"
51
51
  - !ruby/object:Gem::Version
52
- version: '4.0'
52
+ version: '5.0'
53
53
  type: :runtime
54
54
  prerelease: false
55
55
  version_requirements: !ruby/object:Gem::Requirement
56
56
  requirements:
57
57
  - - "~>"
58
58
  - !ruby/object:Gem::Version
59
- version: '4.0'
59
+ version: '5.0'
60
60
  - !ruby/object:Gem::Dependency
61
61
  name: awesome_nested_set
62
62
  requirement: !ruby/object:Gem::Requirement
@@ -776,6 +776,7 @@ files:
776
776
  - bin/spring
777
777
  - config/alchemy/config.yml
778
778
  - config/alchemy/modules.yml
779
+ - config/brakeman.ignore
779
780
  - config/initializers/assets.rb
780
781
  - config/initializers/dragonfly.rb
781
782
  - config/initializers/mime_types.rb
@@ -817,6 +818,7 @@ files:
817
818
  - lib/alchemy/config.rb
818
819
  - lib/alchemy/configuration_methods.rb
819
820
  - lib/alchemy/controller_actions.rb
821
+ - lib/alchemy/deprecation.rb
820
822
  - lib/alchemy/engine.rb
821
823
  - lib/alchemy/errors.rb
822
824
  - lib/alchemy/essence.rb
@@ -988,7 +990,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
988
990
  requirements:
989
991
  - ImageMagick (libmagick), v6.6 or greater.
990
992
  rubyforge_project:
991
- rubygems_version: 2.6.12
993
+ rubygems_version: 2.6.11
992
994
  signing_key:
993
995
  specification_version: 4
994
996
  summary: A powerful, userfriendly and flexible CMS for Rails 4