alchemy_cms 3.2.0.beta → 3.2.0.rc1
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.
- checksums.yaml +4 -4
- data/.rubocop.yml +661 -863
- data/README.md +5 -63
- data/app/assets/javascripts/alchemy/alchemy.base.js.coffee +11 -10
- data/app/assets/javascripts/alchemy/alchemy.initializer.js.coffee +6 -0
- data/app/assets/stylesheets/alchemy/_extends.scss +0 -6
- data/app/assets/stylesheets/alchemy/_mixins.scss +6 -0
- data/app/assets/stylesheets/alchemy/buttons.scss +1 -1
- data/app/assets/stylesheets/alchemy/elements.scss +1 -1
- data/app/assets/stylesheets/alchemy/menubar.scss +1 -1
- data/app/assets/stylesheets/alchemy/selects.scss +5 -1
- data/app/assets/stylesheets/alchemy/upload.scss +1 -1
- data/app/controllers/alchemy/admin/pages_controller.rb +1 -1
- data/app/controllers/alchemy/base_controller.rb +4 -57
- data/app/controllers/alchemy/messages_controller.rb +2 -2
- data/app/controllers/alchemy/pages_controller.rb +22 -31
- data/app/controllers/alchemy/pictures_controller.rb +2 -2
- data/app/helpers/alchemy/admin/base_helper.rb +7 -0
- data/app/helpers/alchemy/admin/elements_helper.rb +31 -15
- data/app/helpers/alchemy/admin/pages_helper.rb +17 -0
- data/app/helpers/alchemy/base_helper.rb +0 -28
- data/app/helpers/alchemy/pages_helper.rb +18 -12
- data/app/helpers/alchemy/url_helper.rb +2 -2
- data/app/models/alchemy/cell.rb +1 -1
- data/app/models/alchemy/content/factory.rb +12 -6
- data/app/models/alchemy/element.rb +3 -3
- data/app/models/alchemy/element/definitions.rb +1 -1
- data/app/models/alchemy/element_to_page.rb +7 -0
- data/app/models/alchemy/language.rb +1 -1
- data/app/models/alchemy/page.rb +8 -1
- data/app/models/alchemy/page/page_cells.rb +2 -2
- data/app/models/alchemy/page/page_elements.rb +23 -5
- data/app/models/alchemy/page/page_natures.rb +3 -3
- data/app/models/alchemy/page/page_scopes.rb +1 -1
- data/app/models/alchemy/picture.rb +1 -1
- data/app/views/alchemy/admin/pages/_create_language_form.html.erb +1 -1
- data/app/views/alchemy/admin/pages/_form.html.erb +1 -1
- data/app/views/alchemy/admin/pictures/_picture_to_assign.html.erb +1 -1
- data/app/views/alchemy/breadcrumb/_page.html.erb +3 -2
- data/app/views/alchemy/breadcrumb/_separator.html.erb +1 -0
- data/app/views/alchemy/breadcrumb/_wrapper.html.erb +13 -0
- data/app/views/alchemy/language_links/_language.html.erb +1 -1
- data/app/views/alchemy/navigation/_link.html.erb +1 -1
- data/app/views/alchemy/pages/show.rss.builder +5 -7
- data/app/views/layouts/alchemy/admin.html.erb +5 -0
- data/config/routes.rb +13 -10
- data/lib/alchemy/configuration_methods.rb +29 -0
- data/lib/alchemy/controller_actions.rb +12 -4
- data/lib/alchemy/engine.rb +3 -0
- data/lib/alchemy/errors.rb +1 -1
- data/lib/alchemy/essence.rb +14 -12
- data/lib/alchemy/on_page_layout.rb +58 -0
- data/lib/alchemy/page_layout.rb +1 -1
- data/lib/alchemy/permissions.rb +21 -16
- data/lib/alchemy/routing_constraints.rb +49 -0
- data/lib/alchemy/seeder.rb +4 -2
- data/lib/alchemy/ssl_protection.rb +30 -0
- data/lib/alchemy/test_support/essence_shared_examples.rb +118 -25
- data/lib/alchemy/test_support/factories.rb +5 -8
- data/lib/alchemy/test_support/integration_helpers.rb +16 -10
- data/lib/alchemy/upgrader/three_point_two.rb +34 -4
- data/lib/alchemy/version.rb +1 -1
- data/lib/rails/generators/alchemy/{scaffold → install}/files/_article_editor.html.erb +0 -0
- data/lib/rails/generators/alchemy/{scaffold → install}/files/_article_view.html.erb +0 -0
- data/lib/rails/generators/alchemy/{scaffold → install}/files/_standard.html.erb +0 -0
- data/lib/rails/generators/alchemy/{scaffold → install}/files/alchemy.de.yml +0 -0
- data/lib/rails/generators/alchemy/{scaffold → install}/files/alchemy.elements.css.scss +0 -0
- data/lib/rails/generators/alchemy/{scaffold → install}/files/alchemy.en.yml +0 -0
- data/lib/rails/generators/alchemy/{scaffold → install}/files/alchemy.es.yml +0 -0
- data/lib/rails/generators/alchemy/{scaffold → install}/files/application.html.erb +0 -0
- data/lib/rails/generators/alchemy/install/install_generator.rb +69 -0
- data/lib/rails/generators/alchemy/{scaffold/files/elements.yml → install/templates/elements.yml.tt} +2 -0
- data/lib/rails/generators/alchemy/{scaffold → install}/templates/page_layouts.yml.tt +2 -0
- data/lib/rails/generators/alchemy/views/views_generator.rb +41 -0
- data/lib/rails/templates/alchemy.rb +2 -2
- data/lib/tasks/alchemy/db.rake +0 -5
- data/lib/tasks/alchemy/install.rake +10 -5
- data/lib/tasks/alchemy/tidy.rake +2 -0
- data/spec/controllers/admin/attachments_controller_spec.rb +1 -1
- data/spec/controllers/admin/clipboard_controller_spec.rb +1 -1
- data/spec/controllers/admin/contents_controller_spec.rb +1 -1
- data/spec/controllers/admin/dashboard_controller_spec.rb +2 -2
- data/spec/controllers/admin/elements_controller_spec.rb +1 -1
- data/spec/controllers/admin/essence_files_controller_spec.rb +1 -1
- data/spec/controllers/admin/essence_pictures_controller_spec.rb +1 -1
- data/spec/controllers/admin/languages_controller_spec.rb +1 -1
- data/spec/controllers/admin/layoutpages_controller_spec.rb +1 -1
- data/spec/controllers/admin/pages_controller_spec.rb +4 -4
- data/spec/controllers/admin/pictures_controller_spec.rb +1 -1
- data/spec/controllers/admin/resources_controller_spec.rb +1 -1
- data/spec/controllers/admin/trash_controller_spec.rb +1 -1
- data/spec/controllers/alchemy/admin/tags_controller_spec.rb +1 -1
- data/spec/controllers/attachments_controller_spec.rb +1 -1
- data/spec/controllers/base_controller_spec.rb +22 -0
- data/spec/controllers/elements_controller_spec.rb +1 -1
- data/spec/controllers/pages_controller_spec.rb +15 -16
- data/spec/controllers/pictures_controller_spec.rb +212 -162
- data/spec/dummy/app/controllers/login_controller.rb +5 -0
- data/spec/dummy/app/models/dummy_model.rb +3 -0
- data/spec/dummy/config/alchemy/cells.yml +4 -1
- data/spec/dummy/config/alchemy/elements.yml +8 -0
- data/spec/dummy/config/alchemy/page_layouts.yml +5 -1
- data/spec/dummy/config/routes.rb +1 -2
- data/spec/dummy/db/migrate/20150412103152_create_dummy_model.rb +7 -0
- data/spec/dummy/db/schema.rb +30 -26
- data/spec/features/admin/dashboard_spec.rb +11 -9
- data/spec/features/admin/language_tree_feature_spec.rb +5 -6
- data/spec/features/admin/legacy_page_url_management_spec.rb +1 -1
- data/spec/features/admin/link_overlay_spec.rb +1 -1
- data/spec/features/admin/locale_select_feature_spec.rb +1 -1
- data/spec/features/admin/modules_integration_spec.rb +1 -1
- data/spec/features/admin/navigation_feature_spec.rb +1 -1
- data/spec/features/admin/page_creation_feature_spec.rb +1 -1
- data/spec/features/admin/page_editing_feature_spec.rb +3 -3
- data/spec/features/admin/picture_library_integration_spec.rb +1 -1
- data/spec/features/admin/resources_integration_spec.rb +1 -1
- data/spec/features/admin/site_select_feature_spec.rb +32 -0
- data/spec/features/admin/tinymce_feature_spec.rb +1 -3
- data/spec/features/page_feature_spec.rb +36 -27
- data/spec/features/security_spec.rb +1 -1
- data/spec/features/translation_integration_spec.rb +3 -3
- data/spec/helpers/admin/elements_helper_spec.rb +103 -26
- data/spec/helpers/admin/pages_helper_spec.rb +32 -1
- data/spec/helpers/base_helper_spec.rb +0 -45
- data/spec/helpers/pages_helper_spec.rb +18 -17
- data/spec/helpers/url_helper_spec.rb +8 -5
- data/spec/libraries/controller_actions_spec.rb +2 -2
- data/spec/libraries/on_page_layout_spec.rb +112 -0
- data/spec/libraries/page_layout_spec.rb +5 -1
- data/spec/libraries/permissions_spec.rb +13 -15
- data/spec/models/cell_spec.rb +4 -0
- data/spec/models/content_spec.rb +6 -0
- data/spec/models/dummy_model_spec.rb +11 -0
- data/spec/models/element_spec.rb +6 -1
- data/spec/models/element_to_page_spec.rb +14 -0
- data/spec/models/page_spec.rb +111 -19
- data/spec/routing/routing_spec.rb +120 -101
- data/spec/spec_helper.rb +3 -3
- metadata +36 -21
- data/app/views/alchemy/breadcrumb/_spacer.html.erb +0 -1
- data/lib/alchemy/capistrano.rb +0 -230
- data/lib/alchemy/test_support/auth_helpers.rb +0 -35
- data/lib/rails/generators/alchemy/deploy_script/deploy_script_generator.rb +0 -90
- data/lib/rails/generators/alchemy/deploy_script/templates/deploy.rb.tt +0 -113
- data/lib/rails/generators/alchemy/scaffold/scaffold_generator.rb +0 -63
- data/spec/dummy/app/controllers/errors_controller.rb +0 -5
data/spec/spec_helper.rb
CHANGED
|
@@ -19,7 +19,6 @@ require 'database_cleaner'
|
|
|
19
19
|
require 'rspec-activemodel-mocks'
|
|
20
20
|
|
|
21
21
|
require 'alchemy/seeder'
|
|
22
|
-
require 'alchemy/test_support/auth_helpers'
|
|
23
22
|
require 'alchemy/test_support/controller_requests'
|
|
24
23
|
require 'alchemy/test_support/essence_shared_examples'
|
|
25
24
|
require 'alchemy/test_support/integration_helpers'
|
|
@@ -52,9 +51,10 @@ RSpec.configure do |config|
|
|
|
52
51
|
config.run_all_when_everything_filtered = true
|
|
53
52
|
config.filter_run :focus
|
|
54
53
|
config.include Alchemy::Engine.routes.url_helpers
|
|
55
|
-
config.include Alchemy::TestSupport::AuthHelpers
|
|
56
54
|
config.include Alchemy::TestSupport::ControllerRequests, type: :controller
|
|
57
|
-
|
|
55
|
+
[:controller, :feature].each do |type|
|
|
56
|
+
config.include Alchemy::TestSupport::IntegrationHelpers, type: type
|
|
57
|
+
end
|
|
58
58
|
config.include FactoryGirl::Syntax::Methods
|
|
59
59
|
|
|
60
60
|
config.use_transactional_fixtures = false
|
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: 3.2.0.
|
|
4
|
+
version: 3.2.0.rc1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Thomas von Deyen
|
|
@@ -12,7 +12,7 @@ authors:
|
|
|
12
12
|
autorequire:
|
|
13
13
|
bindir: bin
|
|
14
14
|
cert_chain: []
|
|
15
|
-
date: 2015-
|
|
15
|
+
date: 2015-06-15 00:00:00.000000000 Z
|
|
16
16
|
dependencies:
|
|
17
17
|
- !ruby/object:Gem::Dependency
|
|
18
18
|
name: actionpack-page_caching
|
|
@@ -623,6 +623,7 @@ files:
|
|
|
623
623
|
- app/models/alchemy/element.rb
|
|
624
624
|
- app/models/alchemy/element/definitions.rb
|
|
625
625
|
- app/models/alchemy/element/presenters.rb
|
|
626
|
+
- app/models/alchemy/element_to_page.rb
|
|
626
627
|
- app/models/alchemy/essence_boolean.rb
|
|
627
628
|
- app/models/alchemy/essence_date.rb
|
|
628
629
|
- app/models/alchemy/essence_file.rb
|
|
@@ -814,7 +815,8 @@ files:
|
|
|
814
815
|
- app/views/alchemy/base/redirect.js.erb
|
|
815
816
|
- app/views/alchemy/base/update.js.erb
|
|
816
817
|
- app/views/alchemy/breadcrumb/_page.html.erb
|
|
817
|
-
- app/views/alchemy/breadcrumb/
|
|
818
|
+
- app/views/alchemy/breadcrumb/_separator.html.erb
|
|
819
|
+
- app/views/alchemy/breadcrumb/_wrapper.html.erb
|
|
818
820
|
- app/views/alchemy/elements/_editor_not_found.html.erb
|
|
819
821
|
- app/views/alchemy/elements/_view_not_found.html.erb
|
|
820
822
|
- app/views/alchemy/elements/show.html.erb
|
|
@@ -885,8 +887,8 @@ files:
|
|
|
885
887
|
- db/migrate/20130918201742_add_published_at_to_alchemy_pages.rb
|
|
886
888
|
- lib/alchemy/auth_accessors.rb
|
|
887
889
|
- lib/alchemy/cache_digests/template_tracker.rb
|
|
888
|
-
- lib/alchemy/capistrano.rb
|
|
889
890
|
- lib/alchemy/config.rb
|
|
891
|
+
- lib/alchemy/configuration_methods.rb
|
|
890
892
|
- lib/alchemy/controller_actions.rb
|
|
891
893
|
- lib/alchemy/engine.rb
|
|
892
894
|
- lib/alchemy/errors.rb
|
|
@@ -902,15 +904,17 @@ files:
|
|
|
902
904
|
- lib/alchemy/modules.rb
|
|
903
905
|
- lib/alchemy/mount_point.rb
|
|
904
906
|
- lib/alchemy/name_conversions.rb
|
|
907
|
+
- lib/alchemy/on_page_layout.rb
|
|
905
908
|
- lib/alchemy/page_layout.rb
|
|
906
909
|
- lib/alchemy/permissions.rb
|
|
907
910
|
- lib/alchemy/picture_attributes.rb
|
|
908
911
|
- lib/alchemy/resource.rb
|
|
909
912
|
- lib/alchemy/resources_helper.rb
|
|
913
|
+
- lib/alchemy/routing_constraints.rb
|
|
910
914
|
- lib/alchemy/seeder.rb
|
|
911
915
|
- lib/alchemy/shell.rb
|
|
916
|
+
- lib/alchemy/ssl_protection.rb
|
|
912
917
|
- lib/alchemy/tasks/helpers.rb
|
|
913
|
-
- lib/alchemy/test_support/auth_helpers.rb
|
|
914
918
|
- lib/alchemy/test_support/controller_requests.rb
|
|
915
919
|
- lib/alchemy/test_support/essence_shared_examples.rb
|
|
916
920
|
- lib/alchemy/test_support/factories.rb
|
|
@@ -925,8 +929,6 @@ files:
|
|
|
925
929
|
- lib/alchemy/version.rb
|
|
926
930
|
- lib/alchemy_cms.rb
|
|
927
931
|
- lib/rails/generators/alchemy/base.rb
|
|
928
|
-
- lib/rails/generators/alchemy/deploy_script/deploy_script_generator.rb
|
|
929
|
-
- lib/rails/generators/alchemy/deploy_script/templates/deploy.rb.tt
|
|
930
932
|
- lib/rails/generators/alchemy/elements/elements_generator.rb
|
|
931
933
|
- lib/rails/generators/alchemy/elements/templates/editor.html.erb
|
|
932
934
|
- lib/rails/generators/alchemy/elements/templates/editor.html.haml
|
|
@@ -937,6 +939,17 @@ files:
|
|
|
937
939
|
- lib/rails/generators/alchemy/essence/essence_generator.rb
|
|
938
940
|
- lib/rails/generators/alchemy/essence/templates/editor.html.erb
|
|
939
941
|
- lib/rails/generators/alchemy/essence/templates/view.html.erb
|
|
942
|
+
- lib/rails/generators/alchemy/install/files/_article_editor.html.erb
|
|
943
|
+
- lib/rails/generators/alchemy/install/files/_article_view.html.erb
|
|
944
|
+
- lib/rails/generators/alchemy/install/files/_standard.html.erb
|
|
945
|
+
- lib/rails/generators/alchemy/install/files/alchemy.de.yml
|
|
946
|
+
- lib/rails/generators/alchemy/install/files/alchemy.elements.css.scss
|
|
947
|
+
- lib/rails/generators/alchemy/install/files/alchemy.en.yml
|
|
948
|
+
- lib/rails/generators/alchemy/install/files/alchemy.es.yml
|
|
949
|
+
- lib/rails/generators/alchemy/install/files/application.html.erb
|
|
950
|
+
- lib/rails/generators/alchemy/install/install_generator.rb
|
|
951
|
+
- lib/rails/generators/alchemy/install/templates/elements.yml.tt
|
|
952
|
+
- lib/rails/generators/alchemy/install/templates/page_layouts.yml.tt
|
|
940
953
|
- lib/rails/generators/alchemy/module/module_generator.rb
|
|
941
954
|
- lib/rails/generators/alchemy/module/templates/ability.rb.tt
|
|
942
955
|
- lib/rails/generators/alchemy/module/templates/controller.rb.tt
|
|
@@ -945,21 +958,11 @@ files:
|
|
|
945
958
|
- lib/rails/generators/alchemy/page_layouts/templates/layout.html.erb
|
|
946
959
|
- lib/rails/generators/alchemy/page_layouts/templates/layout.html.haml
|
|
947
960
|
- lib/rails/generators/alchemy/page_layouts/templates/layout.html.slim
|
|
948
|
-
- lib/rails/generators/alchemy/scaffold/files/_article_editor.html.erb
|
|
949
|
-
- lib/rails/generators/alchemy/scaffold/files/_article_view.html.erb
|
|
950
|
-
- lib/rails/generators/alchemy/scaffold/files/_standard.html.erb
|
|
951
|
-
- lib/rails/generators/alchemy/scaffold/files/alchemy.de.yml
|
|
952
|
-
- lib/rails/generators/alchemy/scaffold/files/alchemy.elements.css.scss
|
|
953
|
-
- lib/rails/generators/alchemy/scaffold/files/alchemy.en.yml
|
|
954
|
-
- lib/rails/generators/alchemy/scaffold/files/alchemy.es.yml
|
|
955
|
-
- lib/rails/generators/alchemy/scaffold/files/application.html.erb
|
|
956
|
-
- lib/rails/generators/alchemy/scaffold/files/elements.yml
|
|
957
|
-
- lib/rails/generators/alchemy/scaffold/scaffold_generator.rb
|
|
958
|
-
- lib/rails/generators/alchemy/scaffold/templates/page_layouts.yml.tt
|
|
959
961
|
- lib/rails/generators/alchemy/site_layouts/site_layouts_generator.rb
|
|
960
962
|
- lib/rails/generators/alchemy/site_layouts/templates/layout.html.erb
|
|
961
963
|
- lib/rails/generators/alchemy/site_layouts/templates/layout.html.haml
|
|
962
964
|
- lib/rails/generators/alchemy/site_layouts/templates/layout.html.slim
|
|
965
|
+
- lib/rails/generators/alchemy/views/views_generator.rb
|
|
963
966
|
- lib/rails/templates/alchemy.rb
|
|
964
967
|
- lib/tasks/alchemy/convert.rake
|
|
965
968
|
- lib/tasks/alchemy/db.rake
|
|
@@ -995,10 +998,11 @@ files:
|
|
|
995
998
|
- spec/dummy/app/assets/stylesheets/application.css
|
|
996
999
|
- spec/dummy/app/controllers/admin/events_controller.rb
|
|
997
1000
|
- spec/dummy/app/controllers/application_controller.rb
|
|
998
|
-
- spec/dummy/app/controllers/
|
|
1001
|
+
- spec/dummy/app/controllers/login_controller.rb
|
|
999
1002
|
- spec/dummy/app/helpers/application_helper.rb
|
|
1000
1003
|
- spec/dummy/app/mailers/.gitkeep
|
|
1001
1004
|
- spec/dummy/app/models/ability.rb
|
|
1005
|
+
- spec/dummy/app/models/dummy_model.rb
|
|
1002
1006
|
- spec/dummy/app/models/dummy_user.rb
|
|
1003
1007
|
- spec/dummy/app/models/event.rb
|
|
1004
1008
|
- spec/dummy/app/models/location.rb
|
|
@@ -1047,6 +1051,7 @@ files:
|
|
|
1047
1051
|
- spec/dummy/db/migrate/20150122213512_add_missing_unique_indices.acts_as_taggable_on_engine.rb
|
|
1048
1052
|
- spec/dummy/db/migrate/20150122213513_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb
|
|
1049
1053
|
- spec/dummy/db/migrate/20150122213514_add_missing_taggable_index.acts_as_taggable_on_engine.rb
|
|
1054
|
+
- spec/dummy/db/migrate/20150412103152_create_dummy_model.rb
|
|
1050
1055
|
- spec/dummy/db/schema.rb
|
|
1051
1056
|
- spec/dummy/db/seeds.rb
|
|
1052
1057
|
- spec/dummy/lib/assets/.gitkeep
|
|
@@ -1065,6 +1070,7 @@ files:
|
|
|
1065
1070
|
- spec/features/admin/page_editing_feature_spec.rb
|
|
1066
1071
|
- spec/features/admin/picture_library_integration_spec.rb
|
|
1067
1072
|
- spec/features/admin/resources_integration_spec.rb
|
|
1073
|
+
- spec/features/admin/site_select_feature_spec.rb
|
|
1068
1074
|
- spec/features/admin/tinymce_feature_spec.rb
|
|
1069
1075
|
- spec/features/navigation_spec.rb
|
|
1070
1076
|
- spec/features/page_feature_spec.rb
|
|
@@ -1107,6 +1113,7 @@ files:
|
|
|
1107
1113
|
- spec/libraries/kaminari/scoped_pagination_url_helper_spec.rb
|
|
1108
1114
|
- spec/libraries/modules_spec.rb
|
|
1109
1115
|
- spec/libraries/mount_point_spec.rb
|
|
1116
|
+
- spec/libraries/on_page_layout_spec.rb
|
|
1110
1117
|
- spec/libraries/page_layout_spec.rb
|
|
1111
1118
|
- spec/libraries/permissions_spec.rb
|
|
1112
1119
|
- spec/libraries/resource_spec.rb
|
|
@@ -1119,7 +1126,9 @@ files:
|
|
|
1119
1126
|
- spec/models/attachment_spec.rb
|
|
1120
1127
|
- spec/models/cell_spec.rb
|
|
1121
1128
|
- spec/models/content_spec.rb
|
|
1129
|
+
- spec/models/dummy_model_spec.rb
|
|
1122
1130
|
- spec/models/element_spec.rb
|
|
1131
|
+
- spec/models/element_to_page_spec.rb
|
|
1123
1132
|
- spec/models/essence_boolean_spec.rb
|
|
1124
1133
|
- spec/models/essence_date_spec.rb
|
|
1125
1134
|
- spec/models/essence_file_spec.rb
|
|
@@ -1235,7 +1244,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
1235
1244
|
requirements:
|
|
1236
1245
|
- ImageMagick (libmagick), v6.6 or greater.
|
|
1237
1246
|
rubyforge_project:
|
|
1238
|
-
rubygems_version: 2.4.
|
|
1247
|
+
rubygems_version: 2.4.6
|
|
1239
1248
|
signing_key:
|
|
1240
1249
|
specification_version: 4
|
|
1241
1250
|
summary: A powerful, userfriendly and flexible CMS for Rails 4
|
|
@@ -1269,10 +1278,11 @@ test_files:
|
|
|
1269
1278
|
- spec/dummy/app/assets/stylesheets/application.css
|
|
1270
1279
|
- spec/dummy/app/controllers/admin/events_controller.rb
|
|
1271
1280
|
- spec/dummy/app/controllers/application_controller.rb
|
|
1272
|
-
- spec/dummy/app/controllers/
|
|
1281
|
+
- spec/dummy/app/controllers/login_controller.rb
|
|
1273
1282
|
- spec/dummy/app/helpers/application_helper.rb
|
|
1274
1283
|
- spec/dummy/app/mailers/.gitkeep
|
|
1275
1284
|
- spec/dummy/app/models/ability.rb
|
|
1285
|
+
- spec/dummy/app/models/dummy_model.rb
|
|
1276
1286
|
- spec/dummy/app/models/dummy_user.rb
|
|
1277
1287
|
- spec/dummy/app/models/event.rb
|
|
1278
1288
|
- spec/dummy/app/models/location.rb
|
|
@@ -1321,6 +1331,7 @@ test_files:
|
|
|
1321
1331
|
- spec/dummy/db/migrate/20150122213512_add_missing_unique_indices.acts_as_taggable_on_engine.rb
|
|
1322
1332
|
- spec/dummy/db/migrate/20150122213513_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb
|
|
1323
1333
|
- spec/dummy/db/migrate/20150122213514_add_missing_taggable_index.acts_as_taggable_on_engine.rb
|
|
1334
|
+
- spec/dummy/db/migrate/20150412103152_create_dummy_model.rb
|
|
1324
1335
|
- spec/dummy/db/schema.rb
|
|
1325
1336
|
- spec/dummy/db/seeds.rb
|
|
1326
1337
|
- spec/dummy/lib/assets/.gitkeep
|
|
@@ -1339,6 +1350,7 @@ test_files:
|
|
|
1339
1350
|
- spec/features/admin/page_editing_feature_spec.rb
|
|
1340
1351
|
- spec/features/admin/picture_library_integration_spec.rb
|
|
1341
1352
|
- spec/features/admin/resources_integration_spec.rb
|
|
1353
|
+
- spec/features/admin/site_select_feature_spec.rb
|
|
1342
1354
|
- spec/features/admin/tinymce_feature_spec.rb
|
|
1343
1355
|
- spec/features/navigation_spec.rb
|
|
1344
1356
|
- spec/features/page_feature_spec.rb
|
|
@@ -1381,6 +1393,7 @@ test_files:
|
|
|
1381
1393
|
- spec/libraries/kaminari/scoped_pagination_url_helper_spec.rb
|
|
1382
1394
|
- spec/libraries/modules_spec.rb
|
|
1383
1395
|
- spec/libraries/mount_point_spec.rb
|
|
1396
|
+
- spec/libraries/on_page_layout_spec.rb
|
|
1384
1397
|
- spec/libraries/page_layout_spec.rb
|
|
1385
1398
|
- spec/libraries/permissions_spec.rb
|
|
1386
1399
|
- spec/libraries/resource_spec.rb
|
|
@@ -1393,7 +1406,9 @@ test_files:
|
|
|
1393
1406
|
- spec/models/attachment_spec.rb
|
|
1394
1407
|
- spec/models/cell_spec.rb
|
|
1395
1408
|
- spec/models/content_spec.rb
|
|
1409
|
+
- spec/models/dummy_model_spec.rb
|
|
1396
1410
|
- spec/models/element_spec.rb
|
|
1411
|
+
- spec/models/element_to_page_spec.rb
|
|
1397
1412
|
- spec/models/essence_boolean_spec.rb
|
|
1398
1413
|
- spec/models/essence_date_spec.rb
|
|
1399
1414
|
- spec/models/essence_file_spec.rb
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<%= options[:separator].html_safe %>
|
data/lib/alchemy/capistrano.rb
DELETED
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
# This recipe contains Capistrano recipes for handling the uploads
|
|
2
|
-
# and picture cache files while deploying your application.
|
|
3
|
-
|
|
4
|
-
require 'fileutils'
|
|
5
|
-
require 'alchemy/tasks/helpers'
|
|
6
|
-
require 'alchemy/mount_point'
|
|
7
|
-
|
|
8
|
-
include Alchemy::Tasks::Helpers
|
|
9
|
-
|
|
10
|
-
::Capistrano::Configuration.instance(:must_exist).load do
|
|
11
|
-
|
|
12
|
-
after "deploy:setup", "alchemy:shared_folders:create"
|
|
13
|
-
after "deploy:finalize_update", "alchemy:shared_folders:symlink"
|
|
14
|
-
before "deploy:start", "alchemy:db:seed"
|
|
15
|
-
|
|
16
|
-
namespace :alchemy do
|
|
17
|
-
|
|
18
|
-
namespace :shared_folders do
|
|
19
|
-
|
|
20
|
-
# This task creates the shared folders for uploads, assets and picture cache while setting up your server.
|
|
21
|
-
desc "Creates the uploads and picture cache directory in the shared folder. Called after deploy:setup"
|
|
22
|
-
task :create, :roles => :app do
|
|
23
|
-
run "mkdir -p #{shared_path}/uploads/pictures"
|
|
24
|
-
run "mkdir -p #{shared_path}/uploads/attachments"
|
|
25
|
-
run "mkdir -p #{shared_picture_cache_path}"
|
|
26
|
-
run "mkdir -p #{shared_path}/cache"
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
# This task symlinks the uploads, picture and general cache folder to the new release.
|
|
30
|
-
desc "Sets the symlinks for uploads and picture cache folder. Called after deploy:finalize_update"
|
|
31
|
-
task :symlink, :roles => :app do
|
|
32
|
-
run "rm -rf #{release_path}/uploads"
|
|
33
|
-
run "ln -nfs #{shared_path}/uploads #{release_path}/"
|
|
34
|
-
run "mkdir -p #{public_path_with_mountpoint}"
|
|
35
|
-
run "ln -nfs #{shared_picture_cache_path} #{public_path_with_mountpoint('pictures')}"
|
|
36
|
-
run "ln -nfs #{shared_path}/cache #{release_path}/tmp/cache"
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
def shared_picture_cache_path
|
|
40
|
-
@shared_picture_cache_path ||= begin
|
|
41
|
-
File.join(shared_path, 'cache', Alchemy::MountPoint.get, 'pictures')
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
def public_path_with_mountpoint(suffix = '')
|
|
46
|
-
@release_picture_cache_path ||= begin
|
|
47
|
-
File.join(release_path, 'public', Alchemy::MountPoint.get, suffix)
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
desc "Upgrades production database to current Alchemy CMS version"
|
|
54
|
-
task :upgrade do
|
|
55
|
-
run "cd #{current_path} && #{rake} RAILS_ENV=#{fetch(:rails_env, 'production')} alchemy:upgrade"
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
namespace :database_yml do
|
|
59
|
-
|
|
60
|
-
desc "Creates the database.yml file"
|
|
61
|
-
task :create do
|
|
62
|
-
environment = Capistrano::CLI.ui.ask("\nPlease enter the environment (Default: #{fetch(:rails_env, 'production')})")
|
|
63
|
-
environment = fetch(:rails_env, 'production') if environment.empty?
|
|
64
|
-
db_adapter = Capistrano::CLI.ui.ask("Please enter database adapter (Options: mysql2, or postgresql. Default mysql2): ")
|
|
65
|
-
db_adapter = db_adapter.empty? ? 'mysql2' : db_adapter.gsub(/\Amysql\z/, 'mysql2')
|
|
66
|
-
db_name = Capistrano::CLI.ui.ask("Please enter database name: ")
|
|
67
|
-
db_username = Capistrano::CLI.ui.ask("Please enter database username: ")
|
|
68
|
-
db_password = Capistrano::CLI.password_prompt("Please enter database password: ")
|
|
69
|
-
default_db_host = db_adapter == 'mysql2' ? 'localhost' : '127.0.0.1'
|
|
70
|
-
db_host = Capistrano::CLI.ui.ask("Please enter database host (Default: #{default_db_host}): ")
|
|
71
|
-
db_host = db_host.empty? ? default_db_host : db_host
|
|
72
|
-
db_config = ERB.new <<-EOF
|
|
73
|
-
#{environment}:
|
|
74
|
-
adapter: #{ db_adapter }
|
|
75
|
-
encoding: utf8
|
|
76
|
-
reconnect: false
|
|
77
|
-
pool: 5
|
|
78
|
-
database: #{ db_name }
|
|
79
|
-
username: #{ db_username }
|
|
80
|
-
password: #{ db_password }
|
|
81
|
-
host: #{ db_host }
|
|
82
|
-
EOF
|
|
83
|
-
run "mkdir -p #{shared_path}/config"
|
|
84
|
-
put db_config.result, "#{shared_path}/config/database.yml"
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
desc "[internal] Symlinks the database.yml file from shared folder into config folder"
|
|
88
|
-
task :symlink, :except => {:no_release => true} do
|
|
89
|
-
run "ln -nfs #{shared_path}/config/database.yml #{release_path}/config/database.yml"
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
end
|
|
93
|
-
|
|
94
|
-
namespace :db do
|
|
95
|
-
|
|
96
|
-
desc "Seeds the database with essential data."
|
|
97
|
-
task :seed, :roles => :db do
|
|
98
|
-
run "cd #{current_path} && #{rake} RAILS_ENV=#{fetch(:rails_env, 'production')} alchemy:db:seed"
|
|
99
|
-
end
|
|
100
|
-
|
|
101
|
-
desc "Dumps the database into 'db/dumps' on the server."
|
|
102
|
-
task :dump, :roles => :db do
|
|
103
|
-
timestamp = Time.now.strftime('%Y-%m-%d-%H-%M')
|
|
104
|
-
run "cd #{current_path} && mkdir -p db/dumps && #{rake} RAILS_ENV=#{fetch(:rails_env, 'production')} DUMP_FILENAME=db/dumps/#{timestamp}.sql alchemy:db:dump"
|
|
105
|
-
end
|
|
106
|
-
|
|
107
|
-
end
|
|
108
|
-
|
|
109
|
-
namespace :import do
|
|
110
|
-
|
|
111
|
-
desc "Imports all data (Pictures, attachments and the database) into your local development machine."
|
|
112
|
-
task :all, :roles => [:app, :db] do
|
|
113
|
-
pictures
|
|
114
|
-
attachments
|
|
115
|
-
database
|
|
116
|
-
end
|
|
117
|
-
|
|
118
|
-
desc "Imports the server database into your local development machine."
|
|
119
|
-
task :database, :roles => [:db], :only => {:primary => true} do
|
|
120
|
-
require 'spinner'
|
|
121
|
-
server = find_servers_for_task(current_task).first
|
|
122
|
-
spinner = Spinner.new
|
|
123
|
-
print "\n"
|
|
124
|
-
spinner.task("Importing the database. Please wait...") do
|
|
125
|
-
system db_import_cmd(server)
|
|
126
|
-
end
|
|
127
|
-
spinner.spin!
|
|
128
|
-
end
|
|
129
|
-
|
|
130
|
-
desc "Imports attachments into your local machine using rsync."
|
|
131
|
-
task :attachments, :roles => [:app] do
|
|
132
|
-
get_files :attachments
|
|
133
|
-
end
|
|
134
|
-
|
|
135
|
-
desc "Imports pictures into your local machine using rsync."
|
|
136
|
-
task :pictures, :roles => [:app] do
|
|
137
|
-
get_files :pictures
|
|
138
|
-
end
|
|
139
|
-
|
|
140
|
-
def get_files(type)
|
|
141
|
-
FileUtils.mkdir_p "./uploads"
|
|
142
|
-
server = find_servers_for_task(current_task).first
|
|
143
|
-
if server
|
|
144
|
-
system "rsync --progress -rue 'ssh -p #{fetch(:port, 22)}' #{user}@#{server}:#{shared_path}/uploads/#{type} ./uploads/"
|
|
145
|
-
else
|
|
146
|
-
raise "No server found"
|
|
147
|
-
end
|
|
148
|
-
end
|
|
149
|
-
|
|
150
|
-
def db_import_cmd(server)
|
|
151
|
-
dump_cmd = "cd #{current_path} && #{rake} RAILS_ENV=#{fetch(:rails_env, 'production')} alchemy:db:dump"
|
|
152
|
-
sql_stream = "ssh -p #{fetch(:port, 22)} #{user}@#{server} '#{dump_cmd}'"
|
|
153
|
-
"#{sql_stream} | #{database_import_command(database_config['adapter'])} 1>/dev/null 2>&1"
|
|
154
|
-
end
|
|
155
|
-
end
|
|
156
|
-
|
|
157
|
-
namespace :export do
|
|
158
|
-
desc "Sends all data (Pictures, attachments and the database) to your remote machine."
|
|
159
|
-
task :all, :roles => [:app, :db] do
|
|
160
|
-
pictures
|
|
161
|
-
attachments
|
|
162
|
-
database
|
|
163
|
-
end
|
|
164
|
-
|
|
165
|
-
desc "Imports the server database into your local development machine."
|
|
166
|
-
task :database, :roles => [:db], :only => {:primary => true} do
|
|
167
|
-
if Capistrano::CLI.ui.agree('WARNING: This task will override your remote database. Do you want me to make a backup? (y/n)')
|
|
168
|
-
backup_database
|
|
169
|
-
export_database
|
|
170
|
-
else
|
|
171
|
-
if Capistrano::CLI.ui.agree('Are you sure? (y/n)')
|
|
172
|
-
export_database
|
|
173
|
-
else
|
|
174
|
-
backup_database
|
|
175
|
-
export_database
|
|
176
|
-
end
|
|
177
|
-
end
|
|
178
|
-
end
|
|
179
|
-
|
|
180
|
-
desc "Sends attachments to your remote machine using rsync."
|
|
181
|
-
task :attachments, :roles => [:app] do
|
|
182
|
-
send_files :attachments
|
|
183
|
-
end
|
|
184
|
-
|
|
185
|
-
desc "Sends pictures to your remote machine using rsync."
|
|
186
|
-
task :pictures, :roles => [:app] do
|
|
187
|
-
send_files :pictures
|
|
188
|
-
end
|
|
189
|
-
|
|
190
|
-
# Makes a backup of the remote database and stores it in db/ folder
|
|
191
|
-
def backup_database
|
|
192
|
-
Capistrano::CLI.ui.say('Backing up database')
|
|
193
|
-
timestamp = Time.now.strftime('%Y-%m-%d-%H-%M')
|
|
194
|
-
run "cd #{current_path} && #{rake} RAILS_ENV=#{fetch(:rails_env, 'production')} alchemy:db:dump DUMP_FILENAME=db/dump-#{timestamp}.sql"
|
|
195
|
-
end
|
|
196
|
-
|
|
197
|
-
# Sends the database via ssh to the server
|
|
198
|
-
def export_database
|
|
199
|
-
require 'spinner'
|
|
200
|
-
server = find_servers_for_task(current_task).first
|
|
201
|
-
spinner = Spinner.new
|
|
202
|
-
print "\n"
|
|
203
|
-
spinner.task("Exporting the database. Please wait...") do
|
|
204
|
-
system db_export_cmd(server)
|
|
205
|
-
end
|
|
206
|
-
spinner.spin!
|
|
207
|
-
end
|
|
208
|
-
|
|
209
|
-
# The actual export command that sends the data
|
|
210
|
-
def db_export_cmd(server)
|
|
211
|
-
import_cmd = "cd #{current_path} && #{rake} RAILS_ENV=#{fetch(:rails_env, 'production')} alchemy:db:import"
|
|
212
|
-
ssh_cmd = "ssh -p #{fetch(:port, 22)} #{user}@#{server} '#{import_cmd}'"
|
|
213
|
-
"#{database_dump_command(database_config['adapter'])} | #{ssh_cmd}"
|
|
214
|
-
end
|
|
215
|
-
|
|
216
|
-
# Sends files of given type via rsync to server
|
|
217
|
-
def send_files(type)
|
|
218
|
-
FileUtils.mkdir_p "./uploads/#{type}"
|
|
219
|
-
server = find_servers_for_task(current_task).first
|
|
220
|
-
if server
|
|
221
|
-
system "rsync --progress -rue 'ssh -p #{fetch(:port, 22)}' uploads/#{type} #{user}@#{server}:#{shared_path}/uploads/"
|
|
222
|
-
else
|
|
223
|
-
raise "No server found"
|
|
224
|
-
end
|
|
225
|
-
end
|
|
226
|
-
end
|
|
227
|
-
|
|
228
|
-
end
|
|
229
|
-
|
|
230
|
-
end
|