alchemy_cms 3.2.0.beta → 3.2.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|