radiant 1.0.0.rc3 → 1.0.0.rc4
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of radiant might be problematic. Click here for more details.
- data/.gitignore +1 -1
- data/CHANGELOG.md +172 -4
- data/CONTRIBUTORS.md +13 -0
- data/Gemfile +6 -4
- data/Gemfile.lock +3 -3
- data/INSTALL.md +2 -2
- data/README.md +1 -1
- data/Rakefile +2 -1
- data/app/controllers/admin/pages_controller.rb +2 -0
- data/app/helpers/admin/node_helper.rb +5 -42
- data/app/helpers/admin/resource_helper.rb +2 -0
- data/app/models/file_not_found_page.rb +1 -1
- data/app/models/menu_renderer.rb +133 -0
- data/app/models/page.rb +10 -10
- data/app/models/radiant/config.rb +2 -1
- data/app/models/standard_tags.rb +15 -3
- data/app/views/admin/pages/_node.html.haml +3 -3
- data/bin/ci/before_script +13 -0
- data/bin/radiant +0 -2
- data/config.ru +2 -0
- data/config/boot.rb +0 -1
- data/config/cucumber.yml +1 -1
- data/config/environment.rb +2 -0
- data/config/initializers/radiant_config.rb +1 -1
- data/config/initializers/rails_patch.rb +2 -0
- data/config/locales/en.yml +4 -1
- data/config/preinitializer.rb +1 -1
- data/db/migrate/20110902203823_add_allowed_children_cache_to_pages.rb +13 -0
- data/db/migrate/20111016150725_extend_page_part_content_limit.rb +15 -0
- data/db/radiant_dev.db.default +0 -0
- data/db/radiant_dev.db.high_five +0 -0
- data/db/schema.rb +8 -7
- data/features/admin/pages_management.feature +5 -15
- data/features/step_definitions/admin/pages_management_steps.rb +17 -0
- data/lib/generators/extension/templates/tasks.rake +0 -8
- data/lib/generators/instance/instance_generator.rb +2 -3
- data/lib/generators/instance/templates/instance_gemfile +22 -22
- data/lib/generators/language_extension/language_extension_generator.rb +22 -0
- data/lib/generators/language_extension/templates/available_tags.yml +1 -1
- data/lib/generators/language_extension/templates/extension.rb +9 -5
- data/lib/generators/language_extension/templates/gemspec.rb +24 -0
- data/lib/generators/language_extension/templates/lang.yml +1 -1
- data/lib/generators/language_extension/templates/lib.rb +8 -0
- data/lib/plugins/string_extensions/lib/string_extensions.rb +3 -1
- data/lib/radiant.rb +1 -1
- data/lib/radiant/admin_ui/region_partials.rb +5 -0
- data/lib/radiant/cache.rb +2 -1
- data/lib/radiant/extension/script.rb +3 -3
- data/lib/radiant/extension_loader.rb +4 -2
- data/lib/radiant/extension_path.rb +10 -2
- data/lib/radiant/initializer.rb +10 -14
- data/lib/radiant/resource_responses.rb +6 -0
- data/lib/radiant/setup.rb +5 -2
- data/lib/radiant/taggable.rb +7 -1
- data/lib/tasks/cucumber.rake +6 -0
- data/lib/tasks/database.rake +9 -5
- data/lib/tasks/extensions.rake +2 -17
- data/lib/tasks/framework.rake +52 -31
- data/public/javascripts/admin/assets.js +296 -0
- data/public/javascripts/application.js +2 -0
- data/public/javascripts/controls.js +963 -0
- data/public/javascripts/dragdrop.js +973 -0
- data/public/javascripts/effects.js +1128 -0
- data/public/javascripts/prototype.js +4320 -0
- data/public/stylesheets/admin/main.css +1 -1
- data/public/stylesheets/sass/admin/assets.sass +209 -0
- data/radiant.gemspec +33 -34
- data/spec/ci/database.mysql.yml +7 -0
- data/spec/ci/database.postgresql.yml +7 -0
- data/spec/ci/database.sqlite.yml +6 -0
- data/spec/controllers/site_controller_spec.rb +2 -2
- data/spec/datasets/config_dataset.rb +3 -2
- data/spec/datasets/home_page_dataset.rb +1 -1
- data/spec/datasets/layouts_dataset.rb +1 -1
- data/spec/datasets/snippets_dataset.rb +1 -1
- data/spec/generators/instance_generator_spec.rb +5 -11
- data/spec/helpers/admin/node_helper_spec.rb +1 -50
- data/spec/helpers/admin/regions_helper_spec.rb +1 -1
- data/spec/lib/radiant/admin_ui/region_partials_spec.rb +1 -1
- data/spec/lib/radiant/initializer_spec.rb +2 -7
- data/spec/lib/radiant/resource_responses_spec.rb +1 -1
- data/spec/lib/radiant/taggable_spec.rb +1 -1
- data/spec/lib/task_support_spec.rb +1 -0
- data/spec/models/menu_renderer_spec.rb +297 -0
- data/spec/models/page_spec.rb +21 -8
- data/spec/models/standard_tags_spec.rb +6 -2
- data/test/fixtures/extensions/basic/app/helpers/basic_extension_helper.rb +2 -0
- data/testthegemgeneration/CHANGELOG.md +721 -0
- data/testthegemgeneration/CONTRIBUTORS.md +257 -0
- data/testthegemgeneration/Gemfile +57 -0
- data/testthegemgeneration/Gemfile.lock +107 -0
- data/testthegemgeneration/INSTALL.md +42 -0
- data/testthegemgeneration/LICENSE.md +21 -0
- data/testthegemgeneration/README.md +84 -0
- data/testthegemgeneration/Rakefile +3 -0
- data/testthegemgeneration/config.ru +2 -0
- data/testthegemgeneration/config/boot.rb +122 -0
- data/testthegemgeneration/config/cucumber.yml +7 -0
- data/testthegemgeneration/config/database.yml +16 -0
- data/testthegemgeneration/config/environment.rb +81 -0
- data/testthegemgeneration/config/environments/cucumber.rb +22 -0
- data/testthegemgeneration/config/environments/development.rb +17 -0
- data/testthegemgeneration/config/environments/production.rb +24 -0
- data/testthegemgeneration/config/environments/test.rb +32 -0
- data/testthegemgeneration/config/initializers/radiant_config.rb +16 -0
- data/testthegemgeneration/config/preinitializer.rb +19 -0
- data/testthegemgeneration/config/routes.rb +1 -0
- data/testthegemgeneration/db/development.sqlite3.db +0 -0
- data/testthegemgeneration/db/schema.rb +142 -0
- data/testthegemgeneration/log/development.log +1055 -0
- data/testthegemgeneration/public/404.html +8 -0
- data/testthegemgeneration/public/500.html +8 -0
- data/testthegemgeneration/public/dispatch.cgi +10 -0
- data/testthegemgeneration/public/dispatch.fcgi +24 -0
- data/testthegemgeneration/public/dispatch.rb +10 -0
- data/testthegemgeneration/public/favicon.ico +0 -0
- data/testthegemgeneration/public/flash/ZeroClipboard.swf +0 -0
- data/testthegemgeneration/public/images/admin/add_tab.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/add.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/archive_icon.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/audio_icon.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/audio_thumbnail.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/c_icon.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/copy.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/css_icon.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/database_icon.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/delete.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/document_icon.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/document_thumbnail.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/flash_icon.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/flash_thumbnail.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/font_icon.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/gzip_icon.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/html_icon.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/image_icon.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/image_thumbnail.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/java_icon.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/page_edit.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/perl_icon.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/php_icon.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/presentation_icon.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/python_icon.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/reorder_assets.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/ruby_icon.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/script_icon.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/spreadsheet_icon.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/tar_icon.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/unknown_icon.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/unknown_thumbnail.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/video_icon.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/video_thumbnail.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/xml_icon.png +0 -0
- data/testthegemgeneration/public/images/admin/assets/zip_icon.png +0 -0
- data/testthegemgeneration/public/images/admin/avatar_32x32.png +0 -0
- data/testthegemgeneration/public/images/admin/avatar_64x64.png +0 -0
- data/testthegemgeneration/public/images/admin/avatar_96x96.png +0 -0
- data/testthegemgeneration/public/images/admin/brown_bottom_line.gif +0 -0
- data/testthegemgeneration/public/images/admin/calendar_down.gif +0 -0
- data/testthegemgeneration/public/images/admin/collapse.png +0 -0
- data/testthegemgeneration/public/images/admin/draft_page.png +0 -0
- data/testthegemgeneration/public/images/admin/expand.png +0 -0
- data/testthegemgeneration/public/images/admin/image.png +0 -0
- data/testthegemgeneration/public/images/admin/javascript.png +0 -0
- data/testthegemgeneration/public/images/admin/layout.png +0 -0
- data/testthegemgeneration/public/images/admin/metadata_toggle.png +0 -0
- data/testthegemgeneration/public/images/admin/minus.png +0 -0
- data/testthegemgeneration/public/images/admin/minus_disabled.png +0 -0
- data/testthegemgeneration/public/images/admin/minus_grey.png +0 -0
- data/testthegemgeneration/public/images/admin/navigation_secondary_separator.gif +0 -0
- data/testthegemgeneration/public/images/admin/page.png +0 -0
- data/testthegemgeneration/public/images/admin/plus.png +0 -0
- data/testthegemgeneration/public/images/admin/plus_disabled.png +0 -0
- data/testthegemgeneration/public/images/admin/plus_grey.png +0 -0
- data/testthegemgeneration/public/images/admin/popup_border_background.png +0 -0
- data/testthegemgeneration/public/images/admin/popup_border_bottom_left.png +0 -0
- data/testthegemgeneration/public/images/admin/popup_border_bottom_right.png +0 -0
- data/testthegemgeneration/public/images/admin/popup_border_top_left.png +0 -0
- data/testthegemgeneration/public/images/admin/popup_border_top_right.png +0 -0
- data/testthegemgeneration/public/images/admin/search.png +0 -0
- data/testthegemgeneration/public/images/admin/single_form_shadow.png +0 -0
- data/testthegemgeneration/public/images/admin/snippet.png +0 -0
- data/testthegemgeneration/public/images/admin/spinner.gif +0 -0
- data/testthegemgeneration/public/images/admin/status_background.png +0 -0
- data/testthegemgeneration/public/images/admin/status_bottom_left.png +0 -0
- data/testthegemgeneration/public/images/admin/status_bottom_right.png +0 -0
- data/testthegemgeneration/public/images/admin/status_spinner.gif +0 -0
- data/testthegemgeneration/public/images/admin/status_top_left.png +0 -0
- data/testthegemgeneration/public/images/admin/status_top_right.png +0 -0
- data/testthegemgeneration/public/images/admin/stylesheet.png +0 -0
- data/testthegemgeneration/public/images/admin/tab_close.png +0 -0
- data/testthegemgeneration/public/images/admin/upload.png +0 -0
- data/testthegemgeneration/public/images/admin/virtual_page.png +0 -0
- data/testthegemgeneration/public/images/radiant/radiant-badge-color.png +0 -0
- data/testthegemgeneration/public/images/roasters/banner.jpg +0 -0
- data/testthegemgeneration/public/images/roasters/closelabel.gif +0 -0
- data/testthegemgeneration/public/images/roasters/comment.png +0 -0
- data/testthegemgeneration/public/images/roasters/gallery1.jpg +0 -0
- data/testthegemgeneration/public/images/roasters/gallery2.jpg +0 -0
- data/testthegemgeneration/public/images/roasters/gallery3.jpg +0 -0
- data/testthegemgeneration/public/images/roasters/gallery4.jpg +0 -0
- data/testthegemgeneration/public/images/roasters/gift.gif +0 -0
- data/testthegemgeneration/public/images/roasters/green.gif +0 -0
- data/testthegemgeneration/public/images/roasters/nav-background.gif +0 -0
- data/testthegemgeneration/public/images/roasters/nav-divider.gif +0 -0
- data/testthegemgeneration/public/images/roasters/nextlabel.gif +0 -0
- data/testthegemgeneration/public/images/roasters/open.gif +0 -0
- data/testthegemgeneration/public/images/roasters/preview-1.jpg +0 -0
- data/testthegemgeneration/public/images/roasters/preview.jpg +0 -0
- data/testthegemgeneration/public/images/roasters/prevlabel.gif +0 -0
- data/testthegemgeneration/public/images/roasters/prize.gif +0 -0
- data/testthegemgeneration/public/images/roasters/recycle.gif +0 -0
- data/testthegemgeneration/public/images/roasters/rss.gif +0 -0
- data/testthegemgeneration/public/images/roasters/thumb-grinder.jpg +0 -0
- data/testthegemgeneration/public/images/roasters/thumb-grower.jpg +0 -0
- data/testthegemgeneration/public/images/roasters/thumb-roaster.jpg +0 -0
- data/testthegemgeneration/public/images/roasters/truck.gif +0 -0
- data/testthegemgeneration/public/javascripts/admin/application.js +94 -0
- data/testthegemgeneration/public/javascripts/admin/assets.js +296 -0
- data/testthegemgeneration/public/javascripts/admin/codearea.js +165 -0
- data/testthegemgeneration/public/javascripts/admin/controls.js +965 -0
- data/testthegemgeneration/public/javascripts/admin/cookie.js +80 -0
- data/testthegemgeneration/public/javascripts/admin/dateinput.js +402 -0
- data/testthegemgeneration/public/javascripts/admin/dragdrop.js +974 -0
- data/testthegemgeneration/public/javascripts/admin/dropdown.js +216 -0
- data/testthegemgeneration/public/javascripts/admin/effects.js +1122 -0
- data/testthegemgeneration/public/javascripts/admin/lowpro.js +340 -0
- data/testthegemgeneration/public/javascripts/admin/overrides.js +1 -0
- data/testthegemgeneration/public/javascripts/admin/page_preview.js +41 -0
- data/testthegemgeneration/public/javascripts/admin/pagefield.js +54 -0
- data/testthegemgeneration/public/javascripts/admin/pagestatus.js +17 -0
- data/testthegemgeneration/public/javascripts/admin/popup.js +339 -0
- data/testthegemgeneration/public/javascripts/admin/prototype.js +4874 -0
- data/testthegemgeneration/public/javascripts/admin/ruledtable.js +13 -0
- data/testthegemgeneration/public/javascripts/admin/shortcuts.js +27 -0
- data/testthegemgeneration/public/javascripts/admin/sitemap.js +149 -0
- data/testthegemgeneration/public/javascripts/admin/status.js +233 -0
- data/testthegemgeneration/public/javascripts/admin/tabcontrol.js +123 -0
- data/testthegemgeneration/public/javascripts/admin/toggle.js +430 -0
- data/testthegemgeneration/public/javascripts/admin/utility.js +53 -0
- data/testthegemgeneration/public/javascripts/admin/validationerror.js +18 -0
- data/testthegemgeneration/public/javascripts/application.js +2 -0
- data/testthegemgeneration/public/javascripts/controls.js +963 -0
- data/testthegemgeneration/public/javascripts/dragdrop.js +973 -0
- data/testthegemgeneration/public/javascripts/effects.js +1128 -0
- data/testthegemgeneration/public/javascripts/prototype.js +4320 -0
- data/testthegemgeneration/public/loading-iframe.html +11 -0
- data/testthegemgeneration/public/robots.txt +1 -0
- data/testthegemgeneration/public/stylesheets/admin/assets.css +1 -0
- data/testthegemgeneration/public/stylesheets/admin/main.css +1 -0
- data/testthegemgeneration/public/stylesheets/admin/overrides.css +0 -0
- data/testthegemgeneration/public/stylesheets/sass/admin/_base.sass +17 -0
- data/testthegemgeneration/public/stylesheets/sass/admin/assets.sass +209 -0
- data/testthegemgeneration/public/stylesheets/sass/admin/main.sass +27 -0
- data/testthegemgeneration/public/stylesheets/sass/admin/modules/_boxes.sass +6 -0
- data/testthegemgeneration/public/stylesheets/sass/admin/modules/_links.sass +18 -0
- data/testthegemgeneration/public/stylesheets/sass/admin/overrides.sass +2 -0
- data/testthegemgeneration/public/stylesheets/sass/admin/partials/_actions.sass +96 -0
- data/testthegemgeneration/public/stylesheets/sass/admin/partials/_avatars.sass +10 -0
- data/testthegemgeneration/public/stylesheets/sass/admin/partials/_content.sass +58 -0
- data/testthegemgeneration/public/stylesheets/sass/admin/partials/_dateinput.sass +62 -0
- data/testthegemgeneration/public/stylesheets/sass/admin/partials/_deprecated.sass +55 -0
- data/testthegemgeneration/public/stylesheets/sass/admin/partials/_dropdown.sass +28 -0
- data/testthegemgeneration/public/stylesheets/sass/admin/partials/_footer.sass +12 -0
- data/testthegemgeneration/public/stylesheets/sass/admin/partials/_forms.sass +322 -0
- data/testthegemgeneration/public/stylesheets/sass/admin/partials/_header.sass +114 -0
- data/testthegemgeneration/public/stylesheets/sass/admin/partials/_index.sass +147 -0
- data/testthegemgeneration/public/stylesheets/sass/admin/partials/_layout.sass +10 -0
- data/testthegemgeneration/public/stylesheets/sass/admin/partials/_messages.sass +10 -0
- data/testthegemgeneration/public/stylesheets/sass/admin/partials/_popup.sass +213 -0
- data/testthegemgeneration/public/stylesheets/sass/admin/partials/_tabcontrol.sass +72 -0
- data/testthegemgeneration/public/stylesheets/sass/admin/partials/_toolbar.sass +31 -0
- data/testthegemgeneration/public/stylesheets/sass/admin/partials/_typography.sass +60 -0
- data/testthegemgeneration/public/stylesheets/sass/admin/partials/_validations.sass +19 -0
- data/testthegemgeneration/script/about +4 -0
- data/testthegemgeneration/script/autospec +5 -0
- data/testthegemgeneration/script/breakpointer +3 -0
- data/testthegemgeneration/script/console +3 -0
- data/testthegemgeneration/script/cucumber +10 -0
- data/testthegemgeneration/script/dbconsole +3 -0
- data/testthegemgeneration/script/extension +5 -0
- data/testthegemgeneration/script/generate +6 -0
- data/testthegemgeneration/script/performance/benchmarker +3 -0
- data/testthegemgeneration/script/performance/profiler +3 -0
- data/testthegemgeneration/script/performance/request +3 -0
- data/testthegemgeneration/script/process/inspector +3 -0
- data/testthegemgeneration/script/process/reaper +3 -0
- data/testthegemgeneration/script/process/spawner +3 -0
- data/testthegemgeneration/script/process/spinner +3 -0
- data/testthegemgeneration/script/runner +3 -0
- data/testthegemgeneration/script/server +3 -0
- data/testthegemgeneration/script/spec +5 -0
- data/testthegemgeneration/script/spec_server +116 -0
- data/testthegemgeneration/script/version +5 -0
- data/testthegemgeneration/tmp/radiant_config_cache.txt +0 -0
- metadata +845 -133
- data/public/stylesheets/admin/base.css +0 -1
@@ -20,6 +20,8 @@ class LanguageExtensionGenerator < Rails::Generator::NamedBase
|
|
20
20
|
# m.template 'tasks.rake', "#{extension_path}/lib/tasks/#{extension_file_name}_tasks.rake"
|
21
21
|
m.template 'lang.yml', "#{extension_path}/config/locales/#{localization_name}.yml"
|
22
22
|
m.template 'available_tags.yml', "#{extension_path}/config/locales/#{localization_name}_available_tags.yml"
|
23
|
+
m.template 'lib.rb', "#{extension_path}/lib/radiant-#{file_name}_language_pack-extension.rb"
|
24
|
+
m.template 'gemspec.rb', "#{extension_path}/radiant-#{file_name}_language_pack-extension.gemspec"
|
23
25
|
end
|
24
26
|
|
25
27
|
end
|
@@ -32,6 +34,26 @@ class LanguageExtensionGenerator < Rails::Generator::NamedBase
|
|
32
34
|
class_name.to_name('Extension')
|
33
35
|
end
|
34
36
|
|
37
|
+
def author_info
|
38
|
+
@author_info ||= begin
|
39
|
+
Git.global_config
|
40
|
+
rescue NameError
|
41
|
+
{}
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def homepage
|
46
|
+
author_info['github.user'] ? "http://github.com/#{author_info['github.user']}/radiant-#{file_name}-extension" : "http://example.com/#{file_name}"
|
47
|
+
end
|
48
|
+
|
49
|
+
def author_email
|
50
|
+
author_info['user.email'] || 'your email'
|
51
|
+
end
|
52
|
+
|
53
|
+
def author_name
|
54
|
+
author_info['user.name'] || 'Your Name'
|
55
|
+
end
|
56
|
+
|
35
57
|
def add_options!(opt)
|
36
58
|
# opt.separator ''
|
37
59
|
# opt.separator 'Options:'
|
@@ -1,8 +1,12 @@
|
|
1
|
+
# Uncomment this if you reference any of your controllers in activate
|
2
|
+
# require_dependency "application_controller"
|
3
|
+
require "radiant-<%= file_name %>_language_pack-extension"
|
4
|
+
|
1
5
|
class <%= class_name %> < Radiant::Extension
|
2
|
-
version
|
3
|
-
description
|
4
|
-
url
|
5
|
-
|
6
|
+
version Radiant<%= class_name %>::VERSION
|
7
|
+
description Radiant<%= class_name %>::DESCRIPTION
|
8
|
+
url Radiant<%= class_name %>::URL
|
9
|
+
|
6
10
|
def activate
|
7
11
|
end
|
8
|
-
end
|
12
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "radiant-<%= file_name %>_language_pack-extension"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "radiant-<%= file_name %>_language_pack-extension"
|
7
|
+
s.version = Radiant<%= class_name %>::VERSION
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.authors = Radiant<%= class_name %>::AUTHORS
|
10
|
+
s.email = Radiant<%= class_name %>::EMAIL
|
11
|
+
s.homepage = Radiant<%= class_name %>::URL
|
12
|
+
s.summary = Radiant<%= class_name %>::SUMMARY
|
13
|
+
s.description = Radiant<%= class_name %>::DESCRIPTION
|
14
|
+
|
15
|
+
ignores = if File.exist?('.gitignore')
|
16
|
+
File.read('.gitignore').split("\n").inject([]) {|a,p| a + Dir[p] }
|
17
|
+
else
|
18
|
+
[]
|
19
|
+
end
|
20
|
+
s.files = Dir['**/*'] - ignores
|
21
|
+
s.test_files = Dir['test/**/*','spec/**/*','features/**/*'] - ignores
|
22
|
+
# s.executables = Dir['bin/*'] - ignores
|
23
|
+
s.require_paths = ["lib"]
|
24
|
+
end
|
@@ -149,7 +149,7 @@
|
|
149
149
|
remove_warning: 'Are you sure you want to <strong class="warning">permanently remove</strong> the following snippet?'
|
150
150
|
users:
|
151
151
|
remove_warning: 'Are you sure you want to <strong class="warning">permanently remove</strong> the following user?'
|
152
|
-
this_file_language: "
|
152
|
+
this_file_language: "<%= file_name.capitalize %>"
|
153
153
|
time:
|
154
154
|
am: 'am'
|
155
155
|
formats:
|
@@ -0,0 +1,8 @@
|
|
1
|
+
module Radiant<%= class_name %>
|
2
|
+
VERSION = "1.0.0"
|
3
|
+
SUMMARY = "<%= localization_name.capitalize %> language pack for Radiant CMS"
|
4
|
+
DESCRIPTION = "Adds <%= localization_name.capitalize %> translations to the Radiant CMS interface."
|
5
|
+
URL = "<%= homepage %>"
|
6
|
+
AUTHORS = ["<%= author_name %>"]
|
7
|
+
EMAIL = ["<%= author_email %>"]
|
8
|
+
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'stringex'
|
2
|
+
|
1
3
|
class String
|
2
4
|
def symbolize
|
3
5
|
self.gsub(/[^A-Za-z0-9]+/, "_").gsub(/(^_+|_+$)/, "").underscore.to_sym
|
@@ -13,7 +15,7 @@ class String
|
|
13
15
|
|
14
16
|
unless methods.include?('parameterize')
|
15
17
|
def parameterize(sep = '-')
|
16
|
-
|
18
|
+
remove_formatting.downcase.replace_whitespace(sep).collapse(sep)
|
17
19
|
end
|
18
20
|
end
|
19
21
|
|
data/lib/radiant.rb
CHANGED
@@ -10,6 +10,11 @@ class Radiant::AdminUI::RegionPartials
|
|
10
10
|
|
11
11
|
def method_missing(method, *args, &block)
|
12
12
|
if block_given?
|
13
|
+
# Ruby 1.9.2 yields self in instance_eval... see https://gist.github.com/479572
|
14
|
+
# lambdas are as strict as methods in 1.9.x, making sure that the args match, Procs are not.
|
15
|
+
if RUBY_VERSION =~ /^1\.9/ and block.lambda? and block.arity != 1
|
16
|
+
raise "You can only pass a proc ('Proc.new') or a lambda that takes exactly one arg (for self) to Radiant::AdminUI::RegionPartials' method_missing."
|
17
|
+
end
|
13
18
|
@partials[method.to_s] = @template.capture(&block)
|
14
19
|
else
|
15
20
|
@partials[method.to_s]
|
data/lib/radiant/cache.rb
CHANGED
@@ -89,7 +89,8 @@ module Radiant
|
|
89
89
|
end
|
90
90
|
end
|
91
91
|
|
92
|
-
#
|
92
|
+
# Rack::Cache will look for a constant matching the uri scheme given to the :metastore and :entitystore options
|
93
|
+
# when initialising the Middleware
|
93
94
|
class Rack::Cache::EntityStore
|
94
95
|
RADIANT = Radiant::Cache::EntityStore
|
95
96
|
end
|
@@ -41,7 +41,7 @@ Supports: Radiant #{supports_radiant_version}
|
|
41
41
|
extension = command[2]
|
42
42
|
task = "radiant:extensions:#{extension}:#{command[3].split[0]}"
|
43
43
|
else
|
44
|
-
extension = task = command
|
44
|
+
extension = task = command[0]
|
45
45
|
end
|
46
46
|
rake_file = File.join(RAILS_ROOT, 'vendor', 'extensions', extension) + '/lib/tasks/' + extension + '_extension_tasks.rake'
|
47
47
|
load rake_file if File.exist? rake_file
|
@@ -343,7 +343,7 @@ module Radiant
|
|
343
343
|
class Help
|
344
344
|
def initialize(args=[])
|
345
345
|
command = args.shift
|
346
|
-
command = 'help' unless self.class.instance_methods(false).include?(command)
|
346
|
+
command = 'help' unless self.class.instance_methods(false).collect {|im| im.to_s}.include?(command.to_s)
|
347
347
|
send(command)
|
348
348
|
end
|
349
349
|
|
@@ -387,7 +387,7 @@ module Radiant
|
|
387
387
|
|
388
388
|
private
|
389
389
|
def command_names
|
390
|
-
(Radiant::Extension::Script.constants - ['Util']).sort.map {|n| n.underscore }.join(", ")
|
390
|
+
(Radiant::Extension::Script.constants - ['Util']).sort.map {|n| n.to_s.underscore }.join(", ")
|
391
391
|
end
|
392
392
|
end
|
393
393
|
end
|
@@ -48,7 +48,7 @@ module Radiant
|
|
48
48
|
# extension_loader.paths(:controller) #=> ['extension/app/controllers', 'extension/app/controllers']
|
49
49
|
# extension_loader.paths(:eager_load) #=> ['extension/app/controllers', 'extension/app/models', 'extension/app/helpers']
|
50
50
|
#
|
51
|
-
# For compatibility with the old loader, there are
|
51
|
+
# For compatibility with the old loader, there are corresponding +type_paths+ methods.
|
52
52
|
# There are also (deprecated) +add_type_paths+ methods.
|
53
53
|
#
|
54
54
|
def paths(type)
|
@@ -57,7 +57,7 @@ module Radiant
|
|
57
57
|
|
58
58
|
# Loads but does not activate all the extensions that have been enabled, in the configured order
|
59
59
|
# (which defaults to alphabetically). If an extension fails to load an error will be logged
|
60
|
-
# but application startup will
|
60
|
+
# but application startup will continue. If an extension doesn't exist, a LoadError will be raised
|
61
61
|
# and startup will halt.
|
62
62
|
#
|
63
63
|
def load_extensions
|
@@ -114,6 +114,8 @@ module Radiant
|
|
114
114
|
ExtensionPath.from_path(path, name)
|
115
115
|
end
|
116
116
|
|
117
|
+
# For compatibility with old calls probably still to be found in some extensions.
|
118
|
+
#
|
117
119
|
%w{controller model view metal plugin load locale}.each do |type|
|
118
120
|
define_method("#{type}_paths".to_sym) do
|
119
121
|
paths(type)
|
@@ -126,6 +126,14 @@ module Radiant
|
|
126
126
|
check_subdirectory("app/metal")
|
127
127
|
end
|
128
128
|
|
129
|
+
# Returns a list of all the rake task files found within this extension root.
|
130
|
+
#
|
131
|
+
def rake_task_paths
|
132
|
+
if check_subdirectory("lib/tasks")
|
133
|
+
Dir[File.join("#{path}","lib/tasks/**","*.rake")]
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
129
137
|
# Returns a list of extension subdirectories that should be marked for eager loading. At the moment that
|
130
138
|
# includes all the controller, model and helper paths. The main purpose here is to ensure that extension
|
131
139
|
# controllers are loaded before running cucumber features, and there may be a better way to achieve that.
|
@@ -158,7 +166,7 @@ module Radiant
|
|
158
166
|
#
|
159
167
|
def enabled
|
160
168
|
enabled_extensions = Radiant.configuration.enabled_extensions
|
161
|
-
@@known_paths.values_at(*enabled_extensions)
|
169
|
+
@@known_paths.values_at(*enabled_extensions).compact
|
162
170
|
end
|
163
171
|
|
164
172
|
# Returns a list of the root paths to all the enabled extensions, in the configured order.
|
@@ -172,7 +180,7 @@ module Radiant
|
|
172
180
|
enabled.map{|ep| ep.send(m)}.flatten.compact
|
173
181
|
end
|
174
182
|
end
|
175
|
-
[:locale_paths, :view_paths, :metal_paths].each do |m|
|
183
|
+
[:locale_paths, :view_paths, :metal_paths, :rake_task_paths].each do |m|
|
176
184
|
define_method(m) do
|
177
185
|
enabled.map{|ep| ep.send(m)}.flatten.compact.reverse
|
178
186
|
end
|
data/lib/radiant/initializer.rb
CHANGED
@@ -49,10 +49,9 @@ module Radiant
|
|
49
49
|
# * to notice that some gems and plugins are in fact radiant extensions
|
50
50
|
# * to notice that some radiant extensions add load paths (for plugins, controllers, metal, etc)
|
51
51
|
|
52
|
-
attr_accessor :extension_paths, :ignored_extensions
|
52
|
+
attr_accessor :extension_paths, :ignored_extensions
|
53
53
|
|
54
54
|
def initialize #:nodoc:
|
55
|
-
self.view_paths = []
|
56
55
|
self.extension_paths = default_extension_paths
|
57
56
|
self.ignored_extensions = []
|
58
57
|
super
|
@@ -382,22 +381,19 @@ module Radiant
|
|
382
381
|
admin.initialize_nav
|
383
382
|
end
|
384
383
|
|
385
|
-
#
|
384
|
+
# This adds extension view paths to the standard Rails::Initializer method.
|
385
|
+
# In environments that don't cache templates it reloads the path set on each request,
|
386
|
+
# so that new extension paths are noticed without a restart.
|
386
387
|
#
|
387
388
|
def initialize_framework_views
|
388
|
-
view_paths =
|
389
|
-
|
390
|
-
|
391
|
-
arr.concat(extension_loader.paths(:view))
|
392
|
-
arr.reverse!
|
389
|
+
view_paths = extension_loader.paths(:view).push(configuration.view_path)
|
390
|
+
if ActionController::Base.view_paths.blank? || !ActionView::Base.cache_template_loading?
|
391
|
+
ActionController::Base.view_paths = ActionView::Base.process_view_paths(view_paths)
|
393
392
|
end
|
394
|
-
if configuration.frameworks.include?(:action_mailer)
|
395
|
-
ActionMailer::Base.view_paths = ActionView::Base.process_view_paths(view_paths)
|
393
|
+
if configuration.frameworks.include?(:action_mailer) && ActionMailer::Base.view_paths.blank? || !ActionView::Base.cache_template_loading?
|
394
|
+
ActionMailer::Base.view_paths = ActionView::Base.process_view_paths(view_paths) if configuration.frameworks.include?(:action_mailer)
|
396
395
|
end
|
397
|
-
|
398
|
-
ActionController::Base.prepend_view_path(vp) unless ActionController::Base.view_paths.include?(vp)
|
399
|
-
end
|
400
|
-
end
|
396
|
+
end
|
401
397
|
|
402
398
|
# Extends the Rails initializer to make sure that extension controller paths are available when routes
|
403
399
|
# are initialized.
|
@@ -37,6 +37,12 @@ module Radiant
|
|
37
37
|
def wrap(proc)
|
38
38
|
# Makes sure our response blocks get evaluated in the right context
|
39
39
|
lambda do
|
40
|
+
# Ruby 1.9.2 yields self in instance_eval... see https://gist.github.com/479572
|
41
|
+
# lambdas are as strict as methods in 1.9.x, making sure that the args match, Procs are not.
|
42
|
+
if RUBY_VERSION =~ /^1\.9/ and proc.lambda? and proc.arity != 1
|
43
|
+
raise "You can only pass a proc ('Proc.new') or a lambda that takes exactly one arg (for self) to the wrap method."
|
44
|
+
end
|
45
|
+
|
40
46
|
instance_eval(&proc)
|
41
47
|
end
|
42
48
|
end
|
data/lib/radiant/setup.rb
CHANGED
@@ -48,7 +48,7 @@ module Radiant
|
|
48
48
|
step { Radiant::Config['admin.title' ] = 'Radiant CMS' }
|
49
49
|
step { Radiant::Config['admin.subtitle'] = 'Publishing for Small Teams' }
|
50
50
|
step { Radiant::Config['defaults.page.parts' ] = 'body, extended' }
|
51
|
-
step { Radiant::Config['defaults.page.status' ] = '
|
51
|
+
step { Radiant::Config['defaults.page.status' ] = 'Draft' }
|
52
52
|
step { Radiant::Config['defaults.page.filter' ] = nil }
|
53
53
|
step { Radiant::Config['defaults.page.fields'] = 'Keywords, Description' }
|
54
54
|
step { Radiant::Config['session_timeout'] = 2.weeks }
|
@@ -131,7 +131,10 @@ module Radiant
|
|
131
131
|
"#{Dir.pwd}/db/templates/#{filename}"
|
132
132
|
] +
|
133
133
|
Dir.glob("#{RADIANT_ROOT}/vendor/extensions/**/db/templates/#{filename}") +
|
134
|
-
Dir.glob("#{Rails.root}/vendor/extensions/**/db/templates/#{filename}")
|
134
|
+
Dir.glob("#{Rails.root}/vendor/extensions/**/db/templates/#{filename}") +
|
135
|
+
Radiant::Extension.descendants.inject([]) do |r, d|
|
136
|
+
r << "#{d.root}/db/templates/#{filename}"
|
137
|
+
end
|
135
138
|
).find { |name| File.file?(name) }
|
136
139
|
end
|
137
140
|
|
data/lib/radiant/taggable.rb
CHANGED
@@ -31,7 +31,13 @@ module Radiant::Taggable
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def render_tag(name, tag_binding)
|
34
|
-
|
34
|
+
tag_method_name = "tag:#{name}"
|
35
|
+
tag_method = method(tag_method_name)
|
36
|
+
if tag_method.arity == 0
|
37
|
+
tag_method.call
|
38
|
+
else
|
39
|
+
tag_method.call tag_binding
|
40
|
+
end
|
35
41
|
end
|
36
42
|
|
37
43
|
def tags
|
data/lib/tasks/cucumber.rake
CHANGED
@@ -26,6 +26,12 @@ begin
|
|
26
26
|
t.profile = 'wip'
|
27
27
|
end
|
28
28
|
|
29
|
+
Cucumber::Rake::Task.new({:rerun => 'db:test:prepare'}, 'Record failing features and run only them if any exist') do |t|
|
30
|
+
t.binary = vendored_cucumber_bin
|
31
|
+
t.fork = true # You may get faster startup if you set this to false
|
32
|
+
t.profile = 'rerun'
|
33
|
+
end
|
34
|
+
|
29
35
|
desc 'Run all features'
|
30
36
|
task :all => [:ok, :wip]
|
31
37
|
end
|
data/lib/tasks/database.rake
CHANGED
@@ -30,11 +30,6 @@ namespace :db do
|
|
30
30
|
ActiveRecord::Base.connection.tables.each do |table|
|
31
31
|
ActiveRecord::Migration.drop_table table
|
32
32
|
end
|
33
|
-
|
34
|
-
# run migrations in Radiant.root/db/migrate
|
35
|
-
Rake::Task["db:migrate:radiant"].invoke
|
36
|
-
|
37
|
-
# run migrations in Rails.root/db/migrate
|
38
33
|
Rake::Task["db:migrate"].invoke
|
39
34
|
else
|
40
35
|
say "Task cancelled."
|
@@ -64,6 +59,15 @@ To find radiant extensions, please visit http://ext.radiantcms.org.
|
|
64
59
|
}
|
65
60
|
end
|
66
61
|
|
62
|
+
desc "Migrate the database through all available migration scripts (looks for db/migrate/* in radiant, in extensions and in your site) and update db/schema.rb by invoking db:schema:dump. Turn off output with VERBOSE=false."
|
63
|
+
task :migrate => :environment do
|
64
|
+
Rake::Task['db:migrate:radiant'].invoke
|
65
|
+
Rake::Task['db:migrate:extensions'].invoke
|
66
|
+
ActiveRecord::Migration.verbose = ENV["VERBOSE"] ? ENV["VERBOSE"] == "true" : true
|
67
|
+
ActiveRecord::Migrator.migrate("db/migrate/", ENV["VERSION"] ? ENV["VERSION"].to_i : nil)
|
68
|
+
Rake::Task["db:schema:dump"].invoke if ActiveRecord::Base.schema_format == :ruby
|
69
|
+
end
|
70
|
+
|
67
71
|
namespace :migrate do
|
68
72
|
desc "Migrates the database through steps defined in the core radiant distribution. Usual db:migrate options can apply."
|
69
73
|
task :radiant => :environment do
|
data/lib/tasks/extensions.rake
CHANGED
@@ -75,26 +75,11 @@ namespace :spec do
|
|
75
75
|
end
|
76
76
|
|
77
77
|
namespace :radiant do
|
78
|
-
# TODO: load previously copied tasks just once.
|
79
|
-
# If update_all is run multiple times, previously copied tasks will be loaded twice,
|
80
|
-
# once from the local copy (RAILS_ROOT/lib/tasks) and once from the gem source.
|
81
|
-
task :extensions => :environment do
|
82
|
-
Radiant::ExtensionLoader.instance.extensions.each do |extension|
|
83
|
-
next if extension.root.starts_with? RAILS_ROOT
|
84
|
-
Dir[File.join extension.root, %w(lib tasks *.rake)].sort.each { |task| load task }
|
85
|
-
end
|
86
|
-
end
|
87
78
|
namespace :extensions do
|
88
79
|
desc "Runs update asset task for all extensions"
|
89
|
-
task :update_all => [:environment
|
90
|
-
|
91
|
-
extension_update_tasks = extension_names.map { |n| "radiant:extensions:#{n}:update" }.select { |t| Rake::Task.task_defined?(t) }
|
80
|
+
task :update_all => [:environment] do
|
81
|
+
extension_update_tasks = Radiant.configuration.enabled_extensions.map { |n| "radiant:extensions:#{n}:update" }.select { |t| Rake::Task.task_defined?(t) }
|
92
82
|
extension_update_tasks.each {|t| Rake::Task[t].invoke }
|
93
83
|
end
|
94
84
|
end
|
95
85
|
end
|
96
|
-
|
97
|
-
# Load any custom rakefiles from extensions
|
98
|
-
[RAILS_ROOT, RADIANT_ROOT].uniq.each do |root|
|
99
|
-
Dir[root + '/vendor/extensions/*/lib/tasks/*.rake'].sort.each { |ext| load ext }
|
100
|
-
end
|
data/lib/tasks/framework.rake
CHANGED
@@ -63,20 +63,10 @@ unless File.directory? "#{RAILS_ROOT}/app"
|
|
63
63
|
|
64
64
|
desc "Update configs, scripts, html, images, sass, stylesheets and javascripts from Radiant."
|
65
65
|
task :update do
|
66
|
-
tasks = %w{scripts javascripts configs static_html images sass stylesheets cached_assets}
|
66
|
+
tasks = %w{scripts javascripts configs static_html images sass stylesheets cached_assets bundle}
|
67
67
|
tasks = tasks & ENV['ONLY'].split(',') if ENV['ONLY']
|
68
68
|
tasks = tasks - ENV['EXCEPT'].split(',') if ENV['EXCEPT']
|
69
|
-
|
70
|
-
instance_gemfile_path = RAILS_ROOT + '/Gemfile'
|
71
|
-
puts instance_gemfile_path
|
72
|
-
unless File.exists?(instance_gemfile_path)
|
73
|
-
File.open(instance_gemfile_path, 'w') do |f|
|
74
|
-
radiant_version = Radiant::Version.to_s
|
75
|
-
sqlite_version = Gem.loaded_specs['sqlite3'].version.to_s
|
76
|
-
f.write ERB.new(File.read("#{File.dirname(__FILE__)}/../generators/instance/templates/instance_gemfile")).result(binding)
|
77
|
-
end
|
78
|
-
end
|
79
|
-
|
69
|
+
|
80
70
|
tasks.each do |task|
|
81
71
|
puts "* Updating #{task}"
|
82
72
|
Rake::Task["radiant:update:#{task}"].invoke
|
@@ -120,6 +110,45 @@ unless File.directory? "#{RAILS_ROOT}/app"
|
|
120
110
|
TaskSupport.cache_admin_js
|
121
111
|
end
|
122
112
|
|
113
|
+
desc "Update Gemfile from your current radiant install, backing up if required."
|
114
|
+
task :bundle do
|
115
|
+
require 'erb'
|
116
|
+
file = "#{RAILS_ROOT}/Gemfile"
|
117
|
+
tmpfile = "#{RAILS_ROOT}/Gemfile.tmp"
|
118
|
+
genfile = "#{File.dirname(__FILE__)}/../generators/instance/templates/instance_gemfile"
|
119
|
+
backfile = "#{RAILS_ROOT}/Gemfile.bak"
|
120
|
+
|
121
|
+
db_gems = {
|
122
|
+
'sqlite3' => 'sqlite3',
|
123
|
+
'mysql' => 'mysql',
|
124
|
+
'pg' => 'postgresql',
|
125
|
+
'db2' => 'db2',
|
126
|
+
'activerecord-sqlserver-adapter' => 'sqlserver'
|
127
|
+
}
|
128
|
+
active_db_gem = db_gems.keys.find { |g| Gem.loaded_specs[g] } || 'sqlite3'
|
129
|
+
|
130
|
+
File.open(tmpfile, 'w') do |f|
|
131
|
+
radiant_version = Radiant::Version.to_s
|
132
|
+
db = db_gems[active_db_gem]
|
133
|
+
f.write ERB.new(File.read(genfile)).result(binding)
|
134
|
+
end
|
135
|
+
|
136
|
+
unless File.exist?(file) && FileUtils.compare_file(file, tmpfile)
|
137
|
+
warning = ""
|
138
|
+
if File.exist?(file)
|
139
|
+
FileUtils.cp(file, backfile)
|
140
|
+
warning << "** WARNING **
|
141
|
+
Your old Gemfile has been saved as Gemfile.bak. If you had radiant extensions or other gems in that file, please copy those lines to the new file. After checking the Gemfile, please run `bundle install` to update your application."
|
142
|
+
else
|
143
|
+
warning << "** WARNING **
|
144
|
+
A Gemfile has been created in your application directory. If you have config.gem entries in your old environment.rb (now .bak), please move them to the Gemfile. When you're happy with it, run `bundle install` to install the gems."
|
145
|
+
end
|
146
|
+
FileUtils.cp(tmpfile, file)
|
147
|
+
end
|
148
|
+
FileUtils.rm(tmpfile)
|
149
|
+
puts warning
|
150
|
+
end
|
151
|
+
|
123
152
|
desc "Update configuration files from your current radiant install"
|
124
153
|
task :configs do
|
125
154
|
require 'erb'
|
@@ -128,54 +157,46 @@ unless File.directory? "#{RAILS_ROOT}/app"
|
|
128
157
|
:development => "#{RAILS_ROOT}/config/environments/development.rb",
|
129
158
|
:test => "#{RAILS_ROOT}/config/environments/test.rb",
|
130
159
|
:cucumber => "#{RAILS_ROOT}/config/environments/cucumber.rb",
|
131
|
-
:production => "#{RAILS_ROOT}/config/environments/production.rb"
|
132
|
-
:gemfile => "#{RAILS_ROOT}/Gemfile"
|
160
|
+
:production => "#{RAILS_ROOT}/config/environments/production.rb"
|
133
161
|
}
|
134
162
|
tmps = {
|
135
163
|
:env => "#{RAILS_ROOT}/config/environment.tmp",
|
136
164
|
:development => "#{RAILS_ROOT}/config/environments/development.tmp",
|
137
165
|
:test => "#{RAILS_ROOT}/config/environments/test.tmp",
|
138
166
|
:cucumber => "#{RAILS_ROOT}/config/environments/cucumber.rb",
|
139
|
-
:production => "#{RAILS_ROOT}/config/environments/production.tmp"
|
140
|
-
:gemfile => "#{RAILS_ROOT}/Gemfile.tmp"
|
167
|
+
:production => "#{RAILS_ROOT}/config/environments/production.tmp"
|
141
168
|
}
|
142
169
|
gens = {
|
143
170
|
:env => "#{File.dirname(__FILE__)}/../generators/instance/templates/instance_environment.rb",
|
144
171
|
:development => "#{File.dirname(__FILE__)}/../../config/environments/development.rb",
|
145
172
|
:test => "#{File.dirname(__FILE__)}/../../config/environments/test.rb",
|
146
173
|
:cucumber => "#{File.dirname(__FILE__)}/../../config/environments/cucumber.rb",
|
147
|
-
:production => "#{File.dirname(__FILE__)}/../../config/environments/production.rb"
|
148
|
-
:gemfile => "#{File.dirname(__FILE__)}/../generators/instance/templates/instance_gemfile"
|
174
|
+
:production => "#{File.dirname(__FILE__)}/../../config/environments/production.rb"
|
149
175
|
}
|
150
176
|
backups = {
|
151
177
|
:env => "#{RAILS_ROOT}/config/environment.bak",
|
152
178
|
:development => "#{RAILS_ROOT}/config/environments/development.bak",
|
153
179
|
:test => "#{RAILS_ROOT}/config/environments/test.bak",
|
154
180
|
:cucumber => "#{RAILS_ROOT}/config/environments/cucumber.bak",
|
155
|
-
:production => "#{RAILS_ROOT}/config/environments/production.bak"
|
156
|
-
:gemfile => "#{RAILS_ROOT}/Gemfile.bak"
|
181
|
+
:production => "#{RAILS_ROOT}/config/environments/production.bak"
|
157
182
|
}
|
158
183
|
|
159
184
|
FileUtils.cp("#{File.dirname(__FILE__)}/../generators/instance/templates/instance_boot.rb", RAILS_ROOT + '/config/boot.rb')
|
160
185
|
FileUtils.cp("#{File.dirname(__FILE__)}/../../config/preinitializer.rb", RAILS_ROOT + '/config/preinitializer.rb')
|
161
186
|
warning = ""
|
162
|
-
[:env, :development, :test, :cucumber, :production
|
187
|
+
[:env, :development, :test, :cucumber, :production].each do |env_file|
|
163
188
|
File.open(tmps[env_file], 'w') do |f|
|
164
189
|
app_name = File.basename(File.expand_path(RAILS_ROOT))
|
165
190
|
radiant_version = Radiant::Version.to_s
|
166
|
-
sqlite_version = if Gem.loaded_specs['sqlite3']
|
167
|
-
Gem.loaded_specs['sqlite3'].version.to_s
|
168
|
-
else
|
169
|
-
'1.3.3'
|
170
|
-
end
|
171
191
|
f.write ERB.new(File.read(gens[env_file])).result(binding)
|
172
192
|
end
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
warning << "
|
193
|
+
unless File.exist?(instances[env_file]) && FileUtils.compare_file(instances[env_file], tmps[env_file])
|
194
|
+
FileUtils.cp(instances[env_file], backups[env_file]) if File.exist?(instances[env_file])
|
195
|
+
FileUtils.cp(tmps[env_file], instances[env_file])
|
196
|
+
warning << "
|
178
197
|
- #{instances[env_file].sub(/^#{RAILS_ROOT}/, '')}"
|
198
|
+
end
|
199
|
+
FileUtils.rm(tmps[env_file])
|
179
200
|
end
|
180
201
|
unless warning.blank?
|
181
202
|
puts "** WARNING **
|