refinerycms 0.9.7.8 → 0.9.7.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. data/.gitignore +4 -1
  2. data/Gemfile +1 -1
  3. data/bin/refinery-upgrade-096-to-097 +30 -13
  4. data/bin/refinerycms +32 -20
  5. data/changelog.md +14 -0
  6. data/db/migrate/20100729221735_remove_page_translations_if_present.rb +12 -0
  7. data/db/schema.rb +13 -15
  8. data/features/refinery/create_inquiries.feature +40 -0
  9. data/features/refinery/dashboard.feature +35 -1
  10. data/features/refinery/manage_files.feature +42 -1
  11. data/features/refinery/manage_images.feature +58 -1
  12. data/features/refinery/manage_inquiries.feature +55 -3
  13. data/features/refinery/manage_pages.feature +1 -1
  14. data/features/refinery/manage_refinery_settings.feature +1 -0
  15. data/features/refinery/manage_users.feature +1 -1
  16. data/features/refinery/plugin_generator.feature +27 -0
  17. data/features/refinery/site_bar.feature +4 -3
  18. data/features/refinery/theme_generator.feature +16 -0
  19. data/features/step_definitions/refinery/core_steps.rb +4 -0
  20. data/features/step_definitions/refinery/file_steps.rb +22 -0
  21. data/features/step_definitions/refinery/generator_steps.rb +11 -0
  22. data/features/step_definitions/refinery/image_steps.rb +43 -0
  23. data/features/step_definitions/refinery/inquiry_steps.rb +13 -0
  24. data/features/step_definitions/refinery/page_steps.rb +4 -6
  25. data/features/step_definitions/refinery/plugin_generator_steps.rb +16 -0
  26. data/features/step_definitions/refinery/theme_generator_steps.rb +15 -0
  27. data/features/step_definitions/refinery/user_steps.rb +1 -1
  28. data/features/step_definitions/web_steps.rb +18 -18
  29. data/features/support/env.rb +6 -7
  30. data/features/support/paths.rb +25 -1
  31. data/features/uploads/beach.INVALID +0 -0
  32. data/features/uploads/beach.jpeg +0 -0
  33. data/features/uploads/id-rather-be-here.jpg +0 -0
  34. data/features/uploads/refinery_is_awesome.txt +1 -0
  35. data/public/javascripts/refinery/admin.js +4 -4
  36. data/public/stylesheets/refinery/refinery.css +4 -1
  37. data/readme.md +1 -1
  38. data/todo.md +20 -8
  39. data/vendor/plugins/authentication/app/models/user.rb +1 -1
  40. data/vendor/plugins/dashboard/app/views/admin/dashboard/index.rss.builder +26 -0
  41. data/vendor/plugins/inquiries/app/views/admin/inquiries/_inquiry.html.erb +2 -1
  42. data/vendor/plugins/inquiries/app/views/admin/inquiry_settings/_confirmation_email_form.html.erb +9 -5
  43. data/vendor/plugins/inquiries/config/locales/en.yml +2 -2
  44. data/vendor/plugins/inquiries/config/routes.rb +14 -4
  45. data/vendor/plugins/pages/app/controllers/pages_controller.rb +3 -1
  46. data/vendor/plugins/refinery/app/views/shared/_google_analytics.html.erb +2 -2
  47. data/vendor/plugins/refinery/app/views/shared/_menu.html.erb +18 -13
  48. data/vendor/plugins/refinery/app/views/shared/admin/_form_actions.html.erb +3 -0
  49. data/vendor/plugins/refinery/app/views/shared/admin/_search.html.erb +1 -3
  50. data/vendor/plugins/refinery/config/locales/en.yml +1 -1
  51. data/vendor/plugins/refinery/lib/crud.rb +4 -1
  52. data/vendor/plugins/refinery/lib/generators/refinery/refinery_generator.rb +4 -61
  53. data/vendor/plugins/refinery/lib/generators/refinery_plugin/README +36 -0
  54. data/vendor/plugins/refinery/lib/generators/{refinery → refinery_plugin}/Rakefile +2 -3
  55. data/vendor/plugins/refinery/lib/generators/refinery_plugin/USAGE +2 -0
  56. data/vendor/plugins/refinery/lib/generators/{refinery → refinery_plugin}/install.rb +0 -0
  57. data/vendor/plugins/refinery/lib/generators/refinery_plugin/refinery_plugin_generator.rb +76 -0
  58. data/vendor/plugins/refinery/lib/generators/{refinery → refinery_plugin}/templates/MIGRATE +0 -0
  59. data/vendor/plugins/refinery/lib/generators/{refinery → refinery_plugin}/templates/config/locales/en.yml +4 -1
  60. data/vendor/plugins/refinery/lib/generators/{refinery → refinery_plugin}/templates/config/locales/nb.yml +4 -1
  61. data/vendor/plugins/refinery/lib/generators/{refinery → refinery_plugin}/templates/config/locales/nl.yml +4 -1
  62. data/vendor/plugins/refinery/lib/generators/{refinery → refinery_plugin}/templates/config/routes.rb +0 -0
  63. data/vendor/plugins/refinery/lib/generators/{refinery → refinery_plugin}/templates/controller.rb +0 -0
  64. data/vendor/plugins/refinery/lib/generators/{refinery → refinery_plugin}/templates/migration.rb +0 -0
  65. data/vendor/plugins/refinery/lib/generators/{refinery → refinery_plugin}/templates/model.rb +0 -0
  66. data/vendor/plugins/refinery/lib/generators/{refinery → refinery_plugin}/templates/public_controller.rb +0 -0
  67. data/vendor/plugins/refinery/lib/generators/refinery_plugin/templates/rails/init.rb +9 -0
  68. data/vendor/plugins/refinery/lib/generators/{refinery → refinery_plugin}/templates/seed.rb +0 -0
  69. data/vendor/plugins/refinery/lib/generators/{refinery → refinery_plugin}/templates/views/admin/_form.html.erb +0 -0
  70. data/vendor/plugins/refinery/lib/generators/{refinery → refinery_plugin}/templates/views/admin/_singular_name.html.erb +0 -0
  71. data/vendor/plugins/refinery/lib/generators/{refinery → refinery_plugin}/templates/views/admin/_sortable_list.html.erb +0 -0
  72. data/vendor/plugins/refinery/lib/generators/{refinery → refinery_plugin}/templates/views/admin/edit.html.erb +0 -0
  73. data/vendor/plugins/refinery/lib/generators/{refinery → refinery_plugin}/templates/views/admin/index.html.erb +0 -0
  74. data/vendor/plugins/refinery/lib/generators/{refinery → refinery_plugin}/templates/views/admin/new.html.erb +0 -0
  75. data/vendor/plugins/refinery/lib/generators/{refinery → refinery_plugin}/templates/views/index.html.erb +0 -0
  76. data/vendor/plugins/refinery/lib/generators/{refinery → refinery_plugin}/templates/views/show.html.erb +0 -0
  77. data/vendor/plugins/refinery/lib/refinery.rb +1 -1
  78. data/vendor/plugins/refinery/lib/refinery/activity.rb +3 -3
  79. data/vendor/plugins/refinery/lib/refinery/application_controller.rb +1 -1
  80. data/vendor/plugins/refinery/lib/tasks/refinery.rake +109 -32
  81. data/vendor/plugins/refinery/plugins.md +3 -3
  82. data/vendor/plugins/refinery_settings/app/models/refinery_setting.rb +26 -10
  83. data/vendor/plugins/refinery_settings/app/views/admin/refinery_settings/_form.html.erb +1 -2
  84. data/vendor/plugins/themes/generators/refinery_theme/README +17 -0
  85. data/vendor/plugins/themes/generators/refinery_theme/Rakefile +11 -0
  86. data/vendor/plugins/themes/generators/refinery_theme/USAGE +2 -0
  87. data/vendor/plugins/themes/generators/refinery_theme/install.rb +2 -0
  88. data/vendor/plugins/themes/generators/refinery_theme/refinery_theme_generator.rb +41 -0
  89. data/vendor/plugins/themes/generators/refinery_theme/templates/stylesheets/application.css +5 -0
  90. data/vendor/plugins/themes/generators/refinery_theme/templates/stylesheets/formatting.css +7 -0
  91. data/vendor/plugins/themes/generators/refinery_theme/templates/stylesheets/home.css +5 -0
  92. data/vendor/plugins/themes/generators/refinery_theme/templates/views/layouts/application.html.erb +21 -0
  93. data/vendor/plugins/themes/generators/refinery_theme/templates/views/pages/home.html.erb +4 -0
  94. data/vendor/plugins/themes/generators/refinery_theme/templates/views/pages/show.html.erb +4 -0
  95. data/vendor/plugins/themes/rails/init.rb +0 -1
  96. data/vendor/plugins/themes/readme.md +7 -2
  97. metadata +54 -28
  98. data/db/migrate/20100606173919_create_page_translations.rb +0 -12
  99. data/vendor/plugins/refinery/lib/generators/refinery/README +0 -30
  100. data/vendor/plugins/refinery/lib/generators/refinery/USAGE +0 -2
  101. data/vendor/plugins/refinery/lib/generators/refinery/templates/rails/init.rb +0 -13
@@ -0,0 +1,36 @@
1
+ == Refinery Plugin Generator
2
+
3
+ == Description
4
+
5
+ Generates a custom plugin for Refinery automatically. It works very similar to the Rails scaffold generator.
6
+
7
+ A generated plugin gives you all the basic files needed to manage the model the plugin will be for.
8
+
9
+ The first attribute should always be the one which is the title or name of the model.
10
+
11
+ There must be at least one attribute.
12
+
13
+ == Supported Field Types
14
+
15
+ string - standard input box
16
+ text - text area with a visual editor
17
+ image - link to an image picker dialogue
18
+ resource - link to a resource picker dialogue
19
+
20
+ == Usage
21
+ ./script/generate refinery_plugin singular_name attribute:type [attribute2:type ...]
22
+
23
+ == Example
24
+ ./script/generate refinery_plugin product title:string description:text image:image brochure:resource
25
+
26
+ Results in:
27
+ create /vendor/plugins/products/app/controllers/admin/products_controller.rb
28
+ create /vendor/plugins/products/app/models/product.rb
29
+ create /vendor/plugins/products/app/views/admin/products
30
+ create /vendor/plugins/products/app/views/admin/products/_form.html.erb
31
+ create /vendor/plugins/products/app/views/admin/products/_list.html.erb
32
+ create /vendor/plugins/products/app/views/admin/products/_make_sortable.html.erb
33
+ create /vendor/plugins/products/app/views/admin/products/edit.html.erb
34
+ create /vendor/plugins/products/app/views/admin/products/index.html.erb
35
+ create /vendor/plugins/products/app/views/admin/products/new.html.erb
36
+ create /vendor/plugins/products/app/views/admin/products/reorder.html.erb
@@ -2,11 +2,10 @@ require 'rake'
2
2
  require 'rake/testtask'
3
3
  require 'rake/rdoctask'
4
4
 
5
- desc 'Generate documentation for the Refinery Generator plugin.'
5
+ desc 'Generate documentation for the Refinery Plugin Generator plugin.'
6
6
  Rake::RDocTask.new(:rdoc) do |rdoc|
7
7
  rdoc.rdoc_dir = 'rdoc'
8
- rdoc.title = 'Refinery Generator'
8
+ rdoc.title = 'Refinery Plugin Generator'
9
9
  rdoc.options << '--line-numbers' << '--inline-source'
10
10
  rdoc.rdoc_files.include('README')
11
- rdoc.rdoc_files.include('lib/**/*.rb')
12
11
  end
@@ -0,0 +1,2 @@
1
+ Example Usage:
2
+ ruby script/generate refinery_plugin product title:string description:text image:image brochure:resource
@@ -0,0 +1,76 @@
1
+ class RefineryPluginGenerator < Rails::Generator::NamedBase
2
+
3
+ def initialize(*runtime_args)
4
+ super(*runtime_args)
5
+ $title_name = singular_name.gsub("_", " ").gsub(/\b([a-z])/) { $1.capitalize }
6
+ end
7
+
8
+ def banner
9
+ "Usage: ruby script/generate refinery_plugin singular_model_name attribute:type [attribute2:type ...]"
10
+ end
11
+
12
+ def manifest
13
+ if @args[0].nil? and @args[1].nil?
14
+ puts "You must specify a singular model name and a first attribute"
15
+ puts banner
16
+ exit
17
+ end
18
+
19
+ record do |m|
20
+ # Copy controller, model and migration
21
+ directories = ["#{plural_name}", "#{plural_name}/app", "#{plural_name}/app/controllers",
22
+ "#{plural_name}/app/controllers/admin", "#{plural_name}/app/models", "#{plural_name}/app/views",
23
+ "#{plural_name}/app/helpers", "#{plural_name}/app/views", "#{plural_name}/app/views/admin",
24
+ "#{plural_name}/config", "#{plural_name}/config/locales", "#{plural_name}/rails"].map { |d| "vendor/plugins/#{d}" }
25
+
26
+ directories.each do |dir|
27
+ m.directory dir
28
+ end
29
+
30
+ m.template "controller.rb", "vendor/plugins/#{plural_name}/app/controllers/admin/#{plural_name}_controller.rb"
31
+ m.template "model.rb", "vendor/plugins/#{plural_name}/app/models/#{singular_name}.rb"
32
+ m.template "config/routes.rb", "vendor/plugins/#{plural_name}/config/routes.rb"
33
+ Dir[File.expand_path(File.dirname(__FILE__) + "/templates/config/locales/*.yml")].each do |yml|
34
+ yml_filename = yml.split(File::SEPARATOR).last
35
+ m.template "config/locales/#{yml_filename}", "vendor/plugins/#{plural_name}/config/locales/#{yml_filename}"
36
+ end
37
+
38
+ # Create view directory
39
+ admin_view_dir = File.join("vendor/plugins/#{plural_name}/app/views/admin", plural_name)
40
+ m.directory admin_view_dir
41
+
42
+ # Copy in all views
43
+ admin_view_files = ['_form.html.erb', '_sortable_list.html.erb', 'edit.html.erb', 'index.html.erb', 'new.html.erb']
44
+
45
+ admin_view_files.each do |view_file|
46
+ m.template "views/admin/#{view_file}", "#{admin_view_dir}/#{view_file}"
47
+ end
48
+
49
+ m.template "views/admin/_singular_name.html.erb", "#{admin_view_dir}/_#{singular_name}.html.erb"
50
+
51
+ # Now for the public views and controller
52
+ public_dir = File.join("vendor/plugins/#{plural_name}/app/views/", plural_name)
53
+ m.directory public_dir
54
+
55
+ view_files = ['index.html.erb', 'show.html.erb']
56
+ view_files.each do |view_file|
57
+ m.template "views/#{view_file}", "#{public_dir}/#{view_file}"
58
+ end
59
+
60
+ m.template "public_controller.rb", "vendor/plugins/#{plural_name}/app/controllers/#{plural_name}_controller.rb"
61
+
62
+ # Add in the init file that ties the plugin to the app.
63
+ m.template "rails/init.rb", "vendor/plugins/#{plural_name}/rails/init.rb"
64
+
65
+ m.directory 'db/migrate/'
66
+ m.directory 'db/seeds/'
67
+ m.template 'seed.rb', "db/seeds/#{plural_name}.rb"
68
+ m.migration_template 'migration.rb', 'db/migrate',
69
+ :assigns => {:migration_name => "Create#{class_name.pluralize}"},
70
+ :migration_file_name => "create_#{singular_name.pluralize}"
71
+
72
+ m.readme "MIGRATE" unless RAILS_ENV == "test"
73
+ end
74
+ end
75
+
76
+ end
@@ -1,4 +1,7 @@
1
1
  en:
2
+ plugins:
3
+ <%= class_name.pluralize.underscore.downcase %>:
4
+ title: <%= plural_name.titleize %>
2
5
  admin:
3
6
  <%= plural_name %>:
4
7
  index:
@@ -6,7 +9,7 @@ en:
6
9
  reorder: Reorder <%= $title_name.pluralize %>
7
10
  reorder_done: Done Reordering <%= $title_name.pluralize %>
8
11
  sorry_no_results: Sorry! There are no results found.
9
- no_items_yet: There are no <%= plural_name %> yet. Click "Create a new <%= $title_name %>" to add your first <%= $title_name.downcase %>.
12
+ no_items_yet: There are no <%= $title_name.pluralize %> yet. Click "Create a new <%= $title_name %>" to add your first <%= $title_name.downcase %>.
10
13
  <%= singular_name %>:
11
14
  view_live: View this <%= $title_name.downcase %> live <br/><em>(opens in a new window)</em>
12
15
  edit: Edit this <%= $title_name.downcase %>
@@ -1,4 +1,7 @@
1
1
  nb:
2
+ plugins:
3
+ <%= class_name.pluralize.underscore.downcase %>:
4
+ title: <%= plural_name.titleize %>
2
5
  admin:
3
6
  <%= plural_name %>:
4
7
  index:
@@ -6,7 +9,7 @@ nb:
6
9
  reorder: Endre rekkefølgen på <%= $title_name.pluralize %>
7
10
  reorder_done: Ferdig å endre rekkefølgen <%= $title_name.pluralize %>
8
11
  sorry_no_results: Beklager! Vi fant ikke noen resultater.
9
- no_items_yet: Det er ingen <%= plural_name %> enda. Klikk på "Lag en ny <%= $title_name %>" for å legge til din første <%= $title_name.downcase %>.
12
+ no_items_yet: Det er ingen <%= $title_name.pluralize %> enda. Klikk på "Lag en ny <%= $title_name %>" for å legge til din første <%= $title_name.downcase %>.
10
13
  <%= singular_name %>:
11
14
  view_live: Vis hvordan denne <%= $title_name.downcase %> ser ut offentlig <br/><em>(åpner i et nytt vindu)</em>
12
15
  edit: Rediger denne <%= $title_name.downcase %>
@@ -1,4 +1,7 @@
1
1
  nl:
2
+ plugins:
3
+ <%= class_name.pluralize.underscore.downcase %>:
4
+ title: <%= plural_name.titleize %>
2
5
  admin:
3
6
  <%= plural_name %>:
4
7
  index:
@@ -6,7 +9,7 @@ nl:
6
9
  reorder: Wijzig de volgorde van de <%= $title_name.pluralize %>
7
10
  reorder_done: Klaar met het wijzingen van de volgorde van de <%= $title_name.pluralize %>
8
11
  sorry_no_results: Helaas! Er zijn geen resultaten gevonden.
9
- no_items_yet: Er zijn nog geen <%= plural_name %>. Druk op 'Maak een nieuwe <%= $title_name %>' om de eerste aan te maken.
12
+ no_items_yet: Er zijn nog geen <%= $title_name.pluralize %>. Druk op 'Maak een nieuwe <%= $title_name %>' om de eerste aan te maken.
10
13
  <%= singular_name %>:
11
14
  view_live: Bekijk deze <%= $title_name.downcase %> op de website <br/><em>(opent een nieuw venster)</em>
12
15
  edit: Bewerk deze <%= $title_name.downcase %>
@@ -0,0 +1,9 @@
1
+ Refinery::Plugin.register do |plugin|
2
+ plugin.name = "<%= class_name.pluralize.underscore.downcase %>"
3
+ plugin.activity = {
4
+ :class => <%= class_name %><% if attributes.first.name != "title" %>,
5
+ :title => '<%= attributes.first.name %>'
6
+ <% end %>}
7
+
8
+ plugin.directory = directory # tell refinery where this plugin is located
9
+ end
@@ -31,7 +31,7 @@ module Refinery
31
31
  @major = 0
32
32
  @minor = 9
33
33
  @tiny = 7
34
- @build = 8
34
+ @build = 9
35
35
 
36
36
  def self.to_s
37
37
  [@major, @minor, @tiny, @build].compact.join('.')
@@ -11,11 +11,11 @@ module Refinery
11
11
  :created_image => "add.png",
12
12
  :limit => 7,
13
13
  :nested_with => [],
14
- :order => 'updated_at DESC',
15
- :title => nil,
14
+ :order => "updated_at DESC",
15
+ :title => "title",
16
16
  :updated_image => "edit.png",
17
17
  :url => nil,
18
- :url_prefix => ""
18
+ :url_prefix => "edit"
19
19
  }.merge(options).each { |key,value| self.instance_variable_set(:"@#{key}", value) }
20
20
  end
21
21
 
@@ -41,7 +41,7 @@ class Refinery::ApplicationController < ActionController::Base
41
41
  end
42
42
 
43
43
  def home_page?
44
- action_name == "home" and controller_name == "pages"
44
+ root_url(:only_path => true) == request.path
45
45
  end
46
46
 
47
47
  def just_installed?
@@ -86,12 +86,14 @@ namespace :refinery do
86
86
  task :fix_image_paths_in_content => :environment do
87
87
  Page.all.each do |p|
88
88
  p.parts.each do |pp|
89
- pp.update_attribute(:body, pp.body.gsub(/\/images\/system\//, "/system/images/"))
89
+ pp.update_attribute(:body,
90
+ pp.body.gsub(/\/images\/system\//, "/system/images/"))
90
91
  end
91
92
  end
92
93
 
93
94
  NewsItem.all.each do |ni|
94
- ni.update_attribute(:body, ni.body.gsub(/\/images\/system\//, "/system/images/"))
95
+ ni.update_attribute(:body,
96
+ ni.body.gsub(/\/images\/system\//, "/system/images/"))
95
97
  end
96
98
 
97
99
  end
@@ -106,26 +108,54 @@ namespace :refinery do
106
108
  FileUtils::makedirs dirs.map {|dir| File.join(Rails.root, dir) }
107
109
 
108
110
  # copy in the new assets.
109
- assets = [%w(public stylesheets refinery), %w(public javascripts refinery), %w(public javascripts wymeditor), %w(public images wymeditor skins refinery), %w(public images refinery), %w(public stylesheets wymeditor skins refinery), %w(public javascripts jquery), %w(.gitignore)]
111
+ assets = [%w(public stylesheets refinery),
112
+ %w(public javascripts refinery),
113
+ %w(public javascripts wymeditor),
114
+ %w(public images wymeditor skins refinery),
115
+ %w(public images refinery),
116
+ %w(public stylesheets wymeditor skins refinery),
117
+ %w(public javascripts jquery),
118
+ %w(.gitignore)]
110
119
  assets.each do |asset|
111
- FileUtils::rm_rf File.join(Rails.root, asset), :secure => true, :verbose => verbose # ensure the destination is clear.
112
- FileUtils::cp_r File.join(Refinery.root, asset), File.join(Rails.root, asset), :verbose => verbose # copy the new assets into the project.
120
+ # ensure the destination is clear.
121
+ FileUtils::rm_rf File.join(Rails.root, asset),
122
+ :secure => true,
123
+ :verbose => verbose
124
+
125
+ # copy the new assets into the project.
126
+ FileUtils::cp_r File.join(Refinery.root, asset),
127
+ File.join(Rails.root, asset),
128
+ :verbose => verbose
113
129
  end
114
130
 
115
131
  # copy in any new migrations.
116
- FileUtils::cp Dir[Refinery.root.join("db", "migrate", "*.rb").cleanpath.to_s], Rails.root.join("db", "migrate").cleanpath.to_s, :verbose => verbose
132
+ FileUtils::cp Dir[Refinery.root.join("db", "migrate", "*.rb").cleanpath.to_s],
133
+ Rails.root.join("db", "migrate").cleanpath.to_s,
134
+ :verbose => verbose
117
135
 
118
136
  # replace rakefile and gemfile.
119
- FileUtils::cp Refinery.root.join("Rakefile").cleanpath.to_s, Rails.root.join("Rakefile").cleanpath.to_s, :verbose => verbose
137
+ FileUtils::cp Refinery.root.join("Rakefile").cleanpath.to_s,
138
+ Rails.root.join("Rakefile").cleanpath.to_s,
139
+ :verbose => verbose
140
+
120
141
  unless Rails.root.join("Gemfile").exist?
121
- FileUtils::cp Refinery.root.join("Gemfile").cleanpath.to_s, Rails.root.join("Gemfile").cleanpath.to_s, :verbose => verbose
142
+ FileUtils::cp Refinery.root.join("Gemfile").cleanpath.to_s,
143
+ Rails.root.join("Gemfile").cleanpath.to_s,
144
+ :verbose => verbose
122
145
  else
123
146
  # replace refinery's gem requirements in the Gemfile
124
- refinery_gem_requirements = Refinery.root.join('Gemfile').read.to_s.scan(/(#===REFINERY REQUIRED GEMS===.+?#===REFINERY END OF REQUIRED GEMS===)/m).first.join('\n')
147
+ refinery_gem_requirements = Refinery.root.join('Gemfile').read.to_s.scan(
148
+ /(#===REFINERY REQUIRED GEMS===.+?#===REFINERY END OF REQUIRED GEMS===)/m
149
+ ).first.join('\n')
125
150
 
126
- rails_gemfile_contents = Rails.root.join("Gemfile").read.to_s.gsub(/(#===REFINERY REQUIRED GEMS===.+?#===REFINERY END OF REQUIRED GEMS===)/m, refinery_gem_requirements)
151
+ rails_gemfile_contents = Rails.root.join("Gemfile").read.to_s.gsub(
152
+ /(#===REFINERY REQUIRED GEMS===.+?#===REFINERY END OF REQUIRED GEMS===)/m,
153
+ refinery_gem_requirements
154
+ )
127
155
 
128
- Rails.root.join("Gemfile").open('w+') {|f| f.write(rails_gemfile_contents) }
156
+ Rails.root.join("Gemfile").open('w+') do |f|
157
+ f.write(rails_gemfile_contents)
158
+ end
129
159
  end
130
160
 
131
161
  # Make cucumber features paths
@@ -134,18 +164,36 @@ namespace :refinery do
134
164
  Rails.root.join('features', 'support').mkpath
135
165
 
136
166
  # copy in cucumber features
137
- FileUtils::cp Dir[Refinery.root.join('features', 'refinery', '*.feature').to_s], Rails.root.join('features', 'refinery').to_s, :verbose => verbose
138
- FileUtils::cp Dir[Refinery.root.join('features', 'step_definitions', 'refinery', '*.rb').to_s], Rails.root.join('features', 'step_definitions', 'refinery').to_s, :verbose => verbose
139
- FileUtils::cp Dir[Refinery.root.join('features', 'step_definitions', 'web_steps.rb').to_s], Rails.root.join('features', 'step_definitions').to_s, :verbose => verbose
140
- FileUtils::cp Dir[Refinery.root.join('features', 'support', '*.rb').to_s], Rails.root.join('features', 'support').to_s, :verbose => verbose
167
+ FileUtils::cp Dir[Refinery.root.join('features', 'refinery', '*.feature').to_s],
168
+ Rails.root.join('features', 'refinery').to_s,
169
+ :verbose => verbose
170
+
171
+ FileUtils::cp Dir[Refinery.root.join('features', 'step_definitions', 'refinery', '*.rb').to_s],
172
+ Rails.root.join('features', 'step_definitions', 'refinery').to_s,
173
+ :verbose => verbose
174
+
175
+ FileUtils::cp Dir[Refinery.root.join('features', 'step_definitions', 'web_steps.rb').to_s],
176
+ Rails.root.join('features', 'step_definitions').to_s,
177
+ :verbose => verbose
178
+
179
+ FileUtils::cp Dir[Refinery.root.join('features', 'support', '*.rb').to_s],
180
+ Rails.root.join('features', 'support').to_s,
181
+ :verbose => verbose
141
182
 
142
183
  # update the script directory for any fixes that have happened.
143
- FileUtils::cp_r Dir[Refinery.root.join('script', '*').to_s], Rails.root.join('script').to_s, :verbose => verbose
144
- FileUtils::chmod_R 0755, Rails.root.join('script').to_s, :verbose => verbose
184
+ FileUtils::cp_r Dir[Refinery.root.join('script', '*').to_s],
185
+ Rails.root.join('script').to_s,
186
+ :verbose => verbose
187
+
188
+ FileUtils::chmod_R 0755, Rails.root.join('script').to_s,
189
+ :verbose => verbose
145
190
 
146
191
  # add the cucumber environment file if it's not present
147
192
  unless (cucumber_environment_file = Rails.root.join('config', 'environments', 'cucumber.rb')).exist?
148
- FileUtils::cp Refinery.root.join('config', 'environments', 'cucumber.rb').to_s, cucumber_environment_file.to_s, :verbose => verbose
193
+ FileUtils::cp Refinery.root.join('config', 'environments', 'cucumber.rb').to_s,
194
+ cucumber_environment_file.to_s,
195
+ :verbose => verbose
196
+
149
197
  # Add cucumber database adapter (link to test)
150
198
  existing_db_config = Rails.root.join('config', 'database.yml').read.to_s
151
199
  Rails.root.join('config', 'database.yml').open('w+') do |f|
@@ -154,14 +202,20 @@ namespace :refinery do
154
202
  end
155
203
 
156
204
  # replace the preinitializer.
157
- FileUtils::cp Refinery.root.join("config", "preinitializer.rb").cleanpath.to_s, Rails.root.join("config", "preinitializer.rb").cleanpath.to_s, :verbose => verbose
205
+ FileUtils::cp Refinery.root.join("config", "preinitializer.rb").cleanpath.to_s,
206
+ Rails.root.join("config", "preinitializer.rb").cleanpath.to_s,
207
+ :verbose => verbose
158
208
 
159
209
  # replace the config.ru file
160
- FileUtils::cp Refinery.root.join('config.ru').cleanpath.to_s, Rails.root.join('config.ru').cleanpath.to_s, :verbose => verbose
210
+ FileUtils::cp Refinery.root.join('config.ru').cleanpath.to_s,
211
+ Rails.root.join('config.ru').cleanpath.to_s,
212
+ :verbose => verbose
161
213
 
162
214
  # destroy any lib/refinery directory that we don't need anymore.
163
215
  if Rails.root.join('lib', 'refinery').directory?
164
- FileUtils::rm_rf Rails.root.join('lib', 'refinery').cleanpath.to_s, :secure => true, :verbose => verbose
216
+ FileUtils::rm_rf Rails.root.join('lib', 'refinery').cleanpath.to_s,
217
+ :secure => true,
218
+ :verbose => verbose
165
219
  end
166
220
 
167
221
  # copy any initializers
@@ -172,7 +226,9 @@ namespace :refinery do
172
226
  end
173
227
 
174
228
  unless (aai_config_file = Rails.root.join('config', 'acts_as_indexed_config.rb')).exist?
175
- FileUtils::cp Refinery.root.join('config', 'acts_as_indexed_config.rb').to_s, aai_config_file.to_s, :verbose => verbose
229
+ FileUtils::cp Refinery.root.join('config', 'acts_as_indexed_config.rb').to_s,
230
+ aai_config_file.to_s,
231
+ :verbose => verbose
176
232
  end
177
233
 
178
234
  # get current secret key
@@ -192,10 +248,14 @@ namespace :refinery do
192
248
 
193
249
  # read in the config files
194
250
  if Rails.root.join("config", "application.rb").exist?
195
- FileUtils::cp Refinery.root.join("config", "environment.rb").cleanpath.to_s, Rails.root.join("config", "environment.rb").cleanpath.to_s, :verbose => verbose
251
+ FileUtils::cp Refinery.root.join("config", "environment.rb").cleanpath.to_s,
252
+ Rails.root.join("config", "environment.rb").cleanpath.to_s,
253
+ :verbose => verbose
196
254
  else
197
255
  # write the new content into the file.
198
- FileUtils::cp Refinery.root.join("config", "application.rb").cleanpath.to_s, Rails.root.join("config", "application.rb").cleanpath.to_s, :verbose => verbose
256
+ FileUtils::cp Refinery.root.join("config", "application.rb").cleanpath.to_s,
257
+ Rails.root.join("config", "application.rb").cleanpath.to_s,
258
+ :verbose => verbose
199
259
 
200
260
  (app_rb_lines = Rails.root.join("config", "application.rb").read.split('\n')).each do |line|
201
261
  secret_match = line.scan(/(:secret)([^']*)([\'])([^\']*)/).flatten.last
@@ -205,11 +265,15 @@ namespace :refinery do
205
265
  # write the new content into the file.
206
266
  Rails.root.join("config", "application.rb").open("w").puts(app_rb_lines.join('\n'))
207
267
 
208
- FileUtils::cp Refinery.root.join('config', 'environment.rb').cleanpath.to_s, Rails.root.join('config', 'environment.rb').cleanpath.to_s, :verbose => verbose
268
+ FileUtils::cp Refinery.root.join('config', 'environment.rb').cleanpath.to_s,
269
+ Rails.root.join('config', 'environment.rb').cleanpath.to_s,
270
+ :verbose => verbose
209
271
  end
210
272
 
211
273
  unless Rails.root.join("config", "settings.rb").exist?
212
- FileUtils::cp Refinery.root.join('config', 'settings.rb').cleanpath.to_s, Rails.root.join('config', 'settings.rb').cleanpath.to_s, :verbose => verbose
274
+ FileUtils::cp Refinery.root.join('config', 'settings.rb').cleanpath.to_s,
275
+ Rails.root.join('config', 'settings.rb').cleanpath.to_s,
276
+ :verbose => verbose
213
277
  end
214
278
 
215
279
  app_config_file = "application.rb"
@@ -217,23 +281,36 @@ namespace :refinery do
217
281
  app_config = Rails.root.join("config", app_config_file).read
218
282
 
219
283
  # copy new jquery javascripts.
220
- FileUtils.cp Refinery.root.join('public', 'javascripts', 'jquery.js').cleanpath.to_s, Rails.root.join('public', 'javascripts', 'jquery.js').cleanpath.to_s, :verbose => verbose
221
- FileUtils.cp Refinery.root.join('public', 'javascripts', 'jquery-min.js').cleanpath.to_s, Rails.root.join('public', 'javascripts', 'jquery-min.js').cleanpath.to_s, :verbose => verbose
222
- FileUtils.cp Refinery.root.join('public', 'javascripts', 'jquery-ui-custom-min.js').cleanpath.to_s, Rails.root.join('public', 'javascripts', 'jquery-ui-custom-min.js').cleanpath.to_s, :verbose => verbose
284
+ FileUtils.cp Refinery.root.join('public', 'javascripts', 'jquery.js').cleanpath.to_s,
285
+ Rails.root.join('public', 'javascripts', 'jquery.js').cleanpath.to_s,
286
+ :verbose => verbose
287
+
288
+ FileUtils.cp Refinery.root.join('public', 'javascripts', 'jquery-min.js').cleanpath.to_s,
289
+ Rails.root.join('public', 'javascripts', 'jquery-min.js').cleanpath.to_s,
290
+ :verbose => verbose
291
+
292
+ FileUtils.cp Refinery.root.join('public', 'javascripts', 'jquery-ui-custom-min.js').cleanpath.to_s,
293
+ Rails.root.join('public', 'javascripts', 'jquery-ui-custom-min.js').cleanpath.to_s,
294
+ :verbose => verbose
223
295
 
224
296
  # Test the admin file to see if it's old
225
297
  if ((admin_js_contents = Rails.root.join('public', 'javascripts', 'admin.js').readlines.join('')) == "if (!wymeditorClassesItems) {\n var wymeditorClassesItems = [];\n}\n\nwymeditorClassesItems = $.extend([\n {name: 'text-align', rules:['left', 'center', 'right', 'justify'], join: '-'}\n , {name: 'image-align', rules:['left', 'right'], join: '-'}\n , {name: 'font-size', rules:['small', 'normal', 'large'], join: '-'}\n], wymeditorClassesItems);")
226
- FileUtils.cp Refinery.root.join('public', 'javascripts', 'admin.js'), Rails.root.join('public', 'javascripts', 'admin.js')
298
+ FileUtils.cp Refinery.root.join('public', 'javascripts', 'admin.js'),
299
+ Rails.root.join('public', 'javascripts', 'admin.js')
227
300
  elsif admin_js_contents !~ Regexp.new("var custom_wymeditor_boot_options \\= \\{")
228
301
  Rails.root.join('public', 'javascripts', 'admin.js').open('a') do |f|
229
302
  f.write "#{Refinery.root.join('public', 'javascripts', 'admin.js').readlines.join()}\n"
230
303
  end
231
304
  end
232
305
  # backup the config file.
233
- FileUtils.cp Rails.root.join('config', app_config_file).cleanpath.to_s, Rails.root.join('config', "#{app_config_file.gsub('.rb', '')}.autobackupbyrefinery.rb").cleanpath.to_s, :verbose => verbose
306
+ FileUtils.cp Rails.root.join('config', app_config_file).cleanpath.to_s,
307
+ Rails.root.join('config', "#{app_config_file.gsub('.rb', '')}.autobackupbyrefinery.rb").cleanpath.to_s,
308
+ :verbose => verbose
234
309
 
235
310
  # copy the new config file.
236
- FileUtils.cp Refinery.root.join('config', app_config_file).cleanpath.to_s, Rails.root.join('config', app_config_file).cleanpath.to_s, :verbose => verbose
311
+ FileUtils.cp Refinery.root.join('config', app_config_file).cleanpath.to_s,
312
+ Rails.root.join('config', app_config_file).cleanpath.to_s,
313
+ :verbose => verbose
237
314
 
238
315
  puts "\n" if verbose
239
316