refinerycms 0.9.7.7 → 0.9.7.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. data/.gitignore +4 -3
  2. data/Gemfile +11 -7
  3. data/Rakefile +1 -1
  4. data/bin/refinerycms +10 -2
  5. data/changelog.md +11 -0
  6. data/config/amazon_s3.yml.example +2 -2
  7. data/config/cucumber.yml +3 -3
  8. data/config/environments/cucumber.rb +0 -4
  9. data/config/environments/production.rb +2 -2
  10. data/config/rackspace_cloudfiles.yml.example +10 -9
  11. data/features/refinery/dashboard.feature +1 -1
  12. data/features/step_definitions/refinery/core_steps.rb +51 -0
  13. data/features/step_definitions/web_steps.rb +0 -52
  14. data/features/support/env.rb +76 -52
  15. data/lib/gemspec.rb +1 -1
  16. data/lib/tasks/cucumber.rake +3 -3
  17. data/public/javascripts/jquery/jquery.html5-placeholder-shim.js +7 -2
  18. data/public/javascripts/refinery/admin.js +8 -3
  19. data/readme.md +30 -127
  20. data/todo.md +4 -11
  21. data/vendor/plugins/acts_as_tree/test/acts_as_tree_test.rb +1 -1
  22. data/vendor/plugins/attachment_fu/test/database.yml +2 -2
  23. data/vendor/plugins/authentication/app/views/admin/users/_form.html.erb +10 -3
  24. data/vendor/plugins/authentication/app/views/admin/users/_user.html.erb +2 -1
  25. data/vendor/plugins/authentication/config/locales/nb.yml +44 -44
  26. data/vendor/plugins/dashboard/config/locales/nb.yml +10 -7
  27. data/vendor/plugins/images/app/helpers/admin/images_helper.rb +1 -1
  28. data/vendor/plugins/images/app/views/admin/images/_form.html.erb +14 -7
  29. data/vendor/plugins/images/app/views/admin/images/_grid_view.html.erb +2 -1
  30. data/vendor/plugins/images/app/views/admin/images/_list_view_image.html.erb +2 -1
  31. data/vendor/plugins/images/config/locales/da.yml +4 -6
  32. data/vendor/plugins/images/config/locales/de.yml +4 -6
  33. data/vendor/plugins/images/config/locales/en.yml +4 -6
  34. data/vendor/plugins/images/config/locales/es.yml +4 -6
  35. data/vendor/plugins/images/config/locales/fr.yml +4 -6
  36. data/vendor/plugins/images/config/locales/it.yml +4 -6
  37. data/vendor/plugins/images/config/locales/nb.yml +22 -19
  38. data/vendor/plugins/images/config/locales/nl.yml +4 -6
  39. data/vendor/plugins/images/config/locales/pt-BR.yml +4 -6
  40. data/vendor/plugins/images/config/locales/sl.yml +4 -6
  41. data/vendor/plugins/inquiries/config/locales/nb.yml +35 -25
  42. data/vendor/plugins/model_translations/test/model_translations_test.rb +1 -1
  43. data/vendor/plugins/pages/app/views/admin/pages/_form.html.erb +19 -4
  44. data/vendor/plugins/pages/config/locales/nb.yml +71 -29
  45. data/vendor/plugins/refinery/app/views/shared/_content_page.html.erb +1 -1
  46. data/vendor/plugins/refinery/app/views/shared/admin/_form_actions.html.erb +6 -4
  47. data/vendor/plugins/refinery/app/views/shared/admin/_resource_picker.html.erb +1 -1
  48. data/vendor/plugins/refinery/config/locales/nb.yml +28 -31
  49. data/vendor/plugins/refinery/lib/generators/refinery/refinery_generator.rb +1 -0
  50. data/vendor/plugins/refinery/lib/generators/refinery/templates/config/locales/nb.yml +16 -0
  51. data/vendor/plugins/refinery/lib/generators/refinery/templates/views/admin/_form.html.erb +6 -1
  52. data/vendor/plugins/refinery/lib/refinery.rb +1 -1
  53. data/vendor/plugins/refinery/lib/tasks/refinery.rake +65 -7
  54. data/{lib/refinery → vendor/plugins/refinery/lib}/tasks/refinery.rb +2 -4
  55. data/vendor/plugins/refinery_settings/app/models/refinery_setting.rb +9 -0
  56. data/vendor/plugins/refinery_settings/app/views/admin/refinery_settings/_form.html.erb +3 -1
  57. data/vendor/plugins/refinery_settings/config/locales/nb.yml +31 -9
  58. data/vendor/plugins/resources/app/views/admin/resources/_form.html.erb +3 -1
  59. data/vendor/plugins/resources/config/locales/nb.yml +8 -7
  60. metadata +7 -6
  61. data/lib/refinery/tasks/refinery.rake +0 -59
@@ -1,6 +1,6 @@
1
1
  require 'test_helper'
2
2
 
3
- ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :dbfile => ":memory:")
3
+ ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:")
4
4
 
5
5
  def setup_db
6
6
  ActiveRecord::Schema.define(:version => 1) do
@@ -6,14 +6,29 @@
6
6
  <%= f.text_field :title, :class => "larger widest" %>
7
7
  </div>
8
8
  <div class='field'>
9
- <%= render :partial => "form_page_parts", :locals => {:f => f} %>
9
+ <%= render :partial => "form_page_parts",
10
+ :locals => {
11
+ :f => f
12
+ } %>
10
13
  </div>
11
14
 
12
- <%= render :partial => "form_advanced_options", :locals => {:f => f} %>
15
+ <%= render :partial => "form_advanced_options",
16
+ :locals => {
17
+ :f => f
18
+ } %>
13
19
 
14
- <%= render :partial => "/shared/admin/form_actions", :locals => {:f => f, :continue_editing => true} %>
20
+ <%= render :partial => "/shared/admin/form_actions",
21
+ :locals => {
22
+ :f => f,
23
+ :continue_editing => true,
24
+ :delete_title => t('admin.pages.page.confirm_delete_page_title'),
25
+ :delete_confirmation => t('admin.pages.page.confirm_delete_page_message', :title => @page.title)
26
+ } %>
15
27
 
16
- <%= render :partial => "form_new_page_parts", :locals => {:f => f} if RefinerySetting.find_or_set(:new_page_parts, false) %>
28
+ <%= render :partial => "form_new_page_parts",
29
+ :locals => {
30
+ :f => f
31
+ } if RefinerySetting.find_or_set(:new_page_parts, false) %>
17
32
  <% end %>
18
33
 
19
34
  <% content_for :head do %>
@@ -3,51 +3,93 @@ nb:
3
3
  refinery_pages:
4
4
  title: Sider
5
5
  admin:
6
+ pages_dialogs:
7
+ not_allowed: Du har ikke tilgang til denne funksjonaliteten.
8
+ page_link:
9
+ link_to_this_page: Link til denne siden
10
+ link_to:
11
+ your_page:
12
+ tab_name: Din side
13
+ web_address:
14
+ tab_name: Webside
15
+ location: Plassing
16
+ new_window: Nytt vindu
17
+ new_window_label: Huk av i denne boksen for å åpne lenken i et nytt nettleservindu.
18
+ not_sure: Usikker på hva du skal fylle inn i boksen over?
19
+ step1: Finn websiden du ønsker å lenke til.
20
+ step2: "Kopier adressen fra adressefeltet i nettleseren din, og lim den inn i boksen over."
21
+ email_address:
22
+ tab_name: E-post adresse
23
+ subject_line_optional: Valgfritt emne
24
+ body_optional: Valgfri melding
25
+ not_sure: Usikker på hva du skal fylle inn i boksene over?
26
+ step1: "Skriv eller copier og lim inn (f.eks. fra din adressebok) e-post adressen du ønsker å lenke til i '<strong>E-post Adresse</strong>' boksen over."
27
+ step2: "Bruk '<strong>Emne</strong>' boksen over om du ønsker at meldingen skal sendes med et <strong>forhåndsskrevet emne</strong>."
28
+ step3: "Bruk '<strong>Melding</strong>' boksen over om du ønsker at meldingen skal sendes med en <strong>forhåndsskrevet melding</strong>."
29
+ your_resource:
30
+ tab_name: Din fil
31
+ link_to_this_resource: Link til denne filen
6
32
  pages:
33
+ page:
34
+ view_live: Se hvordan denne siden ser ut fra utsiden <br/><em>(Åpner i et nytt vindu)</em>
35
+ edit_this_page: Rediger denne siden
36
+ confirm_delete_page_title: Slett denne siden
37
+ confirm_delete_page_message: "Er du sikker på at du ønsker å slette siden '{{title}}'?"
38
+ hidden: gjemt
39
+ draft: utkast
7
40
  form_advanced_options:
41
+ toggle_advanced_options: Klikk for å få tilgang til meta tag innstillinger og meny alternativer
42
+ parent_page: Overliggende side
8
43
  title: Tittel
9
- create_content_section: Opprett innholdsseksjon
44
+ create_content_section: Lag en innholdsseksjon
10
45
  delete_content_section: Slett innholdsseksjon
11
- advanced_options: Avanserte Instillinger
12
- explain_page_different_title: Om du ønsker at siden skal ha en annen tittel enn den som vises i menyen skriv inn en ny her.
13
- redirect_to_first_child: "Kryss av om du ønsker at besøkende skal bli omdirigert til det første barnet til denne siden om denne siden er valgt"
14
- parent_id_title: Forelder
15
- custom_title: Egendefinert tittel
46
+ advanced_options: Avanserte Alternativer
47
+ explain_page_different_title: Legg inn ønsket tittel om du ønsker at siden skal ha en annen tittel enn den som vises i menyen og i nettleseren.
48
+ parent_id_title: Overliggende side
49
+ custom_title: Valgfri tittel
16
50
  title_type: "Type:"
17
51
  title_types:
18
52
  none: Ingen
19
53
  text: Tekst
20
- image: Bilder
21
- custom_url: Egendefinert URL
22
- custom_url_explanation: "Skriv inn en URL om denne siden linker til en ekstern side eller til en allerede eksisterende ressurs f.eks. en kontaktside. <br /> NB: Denne URL'en må peke til en destinasjon som eksisterer; en ny vil ikke bli opprettet."
23
- draft: Kladd
24
- show_in_menu_title: Vis i meny
25
- show_in_menu_description: Kryss av om denne siden skal vises i sidemenyen
26
- draft: Kladd
27
- save_as_draft: Lagre som en kladd
54
+ image: Bilde
55
+ custom_url: Valgfri adresse
56
+ custom_url_explanation: "Legg inn en adresse om denne siden skal linke til en ekstern webside, eller til en allerede eksisterende ressurs f.eks. en kontaktside.<br/>Merk: Denne adressen må peke til en plassering som allerede eksister; en ny plassering vil ikke bli opprettet."
57
+ draft: Utkast
58
+ show_in_menu_title: Vis i menyen
59
+ show_in_menu_description: Vis denne siden i menyen
60
+ show_in_menu_help: "Fjern haken i denne boksen om du ønsker å fjerne denne siden fra menyen. Dette kan være praktisk dersom du har en siden du ønsker å linke til direkte, men ikke ønsker at den skal være tilgjengelig fra menyen."
61
+ draft: Utkast
62
+ save_as_draft: Lagre som Utkast
28
63
  save: Lagre
29
64
  cancel: Avbryt
65
+ skip_to_first_child: Videresend direkte til første underside
66
+ skip_to_first_child_label: Videresender besøkende direkte til den første undersiden.
67
+ skip_to_first_child_help: "Dette alternativet gjør at denne siden går direkte til den første undersiden. Dette kan være praktisk når flere sider grupperes sammen."
68
+ link_url: "Videresen denne siden til en annen webside eller underside"
69
+ link_url_help: "Om du ønsker at denne siden skal videresende din besøkende til en annen webside eller underside når de velger siden fra menyen, legg inn en adresse. F.eks. http://google.no. Ellers la feltet stå tomt."
70
+ parent_page_help: "Du kan plassere en siden under en annen side ved å velge den i listen. Om du ønsker at denne siden skal være en toppnivå siden så lar du bare feltet stå tomt."
71
+ custom_title_help: "Om du ønsker at siden skal ha en annen tittel enn den som vises i menyen, velg 'Tekst' og skriv inn tittelen her."
30
72
  form_advanced_options_seo:
31
- seo: Søkemotoroptimalisering
73
+ seo: Søkemotor Optimalisering (SEO)
32
74
  seo_override_title: Tittel i nettleser
33
- seo_override_title_help: Om du ønsker å overskrive standard nettlesertittel, gjør det her.
34
- meta_keywords_title: Meta nøkkelord
35
- meta_description_help: Skriv inn 5-10 nøkkelord relatert til denne siden. Seperer nøkkelordene med komma.
75
+ seo_override_title_help: "Skriv inn en tittel 5-10 som oppsummerer innholdet på denne siden."
76
+ meta_keywords_title: Meta stikkord
77
+ meta_keywords_help: "Skriv inn 5-10 stikkord som hører til denne siden. Separer stikkordene med komma."
36
78
  meta_description_title: Meta beskrivelse
37
- meta_description_help: Skriv to eller tre linjer som beskriver innholdet på denne siden.
79
+ meta_description_help: "Skriv inn 2-3 setninger som beskriver denne siden."
38
80
  js:
39
81
  content_section:
40
- create: Opprett innholdsseksjon
41
- already_exists: En innholdsseksjon med valgt tittel eksisterer allerede, velg en annen tittel.
42
- title_empty: Du har ikke skrevet inn en tittel for innholdsseksjonen, skriv inn en tittel for å gå videre.
43
- confirm_delete: Dette vil slette innholdsseksjonen {{section_name}} når siden blir lagret og slette alt innhold som er skrevet i den, er du sikker på at du vil fortsette?
82
+ create: Lag Innholdsseksjon
83
+ already_exists: "En innholdsseksjon med den tittelen eksisterer allerede, vennligst velg en annen tittel."
84
+ title_empty: "Du har ikke skrevet inn noen tittel for innholdsseksjonen, vennligst skriv inn en."
85
+ confirm_delete: "Dette vil fjerne innholdsseksjonen {{section_name}} når siden lagres, og slette alt innhold som er lagt inn i den. Er du sikker på at du vil dette?"
44
86
  index:
45
- create_new_page: Opprett en ny side
46
- reorder_pages: Sorter sidenene
47
- reorder_pages_done: Sortering utført
48
- sorry_no_results: Beklager! Ingen resultat funnet.
49
- no_pages_yet: Det er ingen sider enda. Trykk "Opprett en ny side" for å legge til din første side.
87
+ create_new_page: Lag Ny Side
88
+ reorder_pages: Endre Rekkefølgen på Sidene
89
+ reorder_pages_done: Ferdig å Endre Rekkefølgen
90
+ sorry_no_results: Beklager! Det søket returnerte ingen resultater.
91
+ no_pages_yet: "Det er ingen sider enda. Klikk 'Lag Ny Side' for å legge til din første side."
50
92
  activerecord:
51
93
  attributes:
52
94
  page:
53
- skip_to_first_child: "Hopp til første barn?"
95
+ skip_to_first_child: "Vidersend til første underside?"
@@ -14,7 +14,7 @@
14
14
  dom_id = (section[:id] ||= section[:yield].to_s)
15
15
  section[:html] = (yield(section[:yield]))
16
16
 
17
- if section[:html].blank? and !show_empty_sections and !remove_automatic_sections
17
+ if section[:html].blank? and !show_empty_sections and !remove_automatic_sections and section.keys.include?(:fallback)
18
18
  section[:html] = section[:fallback]
19
19
  end
20
20
 
@@ -26,10 +26,11 @@
26
26
  end
27
27
 
28
28
  unless hide_delete
29
- delete_button_text ||= t('.delete')
30
- delete_title ||= nil
31
- delete_button_id ||= "delete_button"
32
- delete_url ||= eval("admin_#{f.object.class.name.underscore}_url(#{f.object.id})")
29
+ delete_button_text ||= t('.delete')
30
+ delete_title ||= nil
31
+ delete_confirmation ||= nil
32
+ delete_button_id ||= "delete_button"
33
+ delete_url ||= eval("admin_#{f.object.class.name.underscore}_url(#{f.object.id})")
33
34
  end
34
35
  -%>
35
36
  <div class='form-actions<%= ' form-actions-dialog' if from_dialog? %>'>
@@ -53,6 +54,7 @@
53
54
  delete_url,
54
55
  :title => delete_title,
55
56
  :id => delete_button_id,
57
+ :'data-confirm' => delete_confirmation,
56
58
  :class => "button confirm-delete") unless hide_delete %>
57
59
 
58
60
  <%= will_paginate paginate[:collection],
@@ -3,7 +3,7 @@
3
3
  <div>
4
4
  <%# TODO translate %>
5
5
  <%= link_to "<span id='no_resource_selected' class='nothing_selected' #{"style='display: none;'" if resource.present?}>
6
- There is currently no #{description ||= resource} selected, click here to add one.
6
+ There is currently no #{description ||= 'resource'} selected, click here to add one.
7
7
  </span>", insert_admin_resources_url(:dialog => true,
8
8
  :update_resource => 'current_resource',
9
9
  :update_text => 'current_resource_text',
@@ -1,51 +1,56 @@
1
1
  nb:
2
2
  welcome:
3
- there_are_no_users: "Det er ingen brukere enda, så vi starter med å sette opp deg først."
4
- remember_admin_location: "Husk at ditt Refinery admin område er på:"
5
- lets_start: "OK, la oss starte med å ordne det slik at du kan logge inn..."
3
+ there_are_no_users: "Det finnes ingen brukere enda, så la oss sette opp en bruker for deg først."
4
+ remember_admin_location: "Husk at adressen for å administrere din Refinery er:"
5
+ lets_start: "Ok, la oss deg satt opp slik at du kan logge inn..."
6
6
  continue: "Fortsett..."
7
7
  admin:
8
8
  menu:
9
- reorder_menu: Sorter meny
10
- reorder_menu_done: "Jeg er ferdig med å sortere menyen"
9
+ reorder_menu: Endre rekkefølgen på menyen
10
+ reorder_menu_done: "Jeg er ferdig å endre rekkefølgen på menyen"
11
11
  search: Søk
12
12
  search_submit: Søk
13
- search_results_for: "Søkeresultat for '{{query}}'"
14
- search_no_results: "Beklager, ingen resultat funnet."
13
+ search_results_for: "Søkeresultater for '{{query}}'"
14
+ search_no_results: "Beklager, ditt søk returnerte ingen resultater"
15
+ images:
16
+ existing_image:
17
+ submit_insert: Sett Inn
15
18
  refinery:
16
- other: "Andre {{what}}"
17
- reorder: "Sorter {{what}}"
18
- reorder_done: "Ferdig å sortere {{what}}"
19
+ other: "Annen {{what}}"
20
+ reorder: "Endre rekkefølgen for {{what}}"
21
+ reorder_done: "Ferdig å endre rekkefølgen for {{what}}"
19
22
  crudify:
20
- created: "{{what}} ble opprettet"
21
- updated: "{{what}} er oppdatert"
22
- destroyed: "{{what}} er slettet"
23
- layouts:
24
- admin:
25
- view_public_site: Se siden din
26
- welcome_to_refinery: Velkommen til Refinery
23
+ created: "{{what}} ble opprettet."
24
+ updated: "{{what}} ble oppdatert."
25
+ destroyed: "{{what}} ble slettet"
27
26
  shared:
28
27
  site_bar:
29
28
  log_out: Logg ut
29
+ switch_to_your_website: Bytt til din webside
30
+ switch_to_your_website_editor: Bytt til redigering av din websied
30
31
  admin:
31
32
  message:
32
33
  close: Lukk
33
34
  continue_editing:
34
- save_and_continue_editing: "Lagre &amp; fortsett redigering"
35
+ save_and_continue_editing: "Lagre og fortsett med redigeringen"
35
36
  form_actions:
36
37
  or: eller
37
38
  save: Lagre
38
39
  or_cancel: eller
39
40
  cancel: Avbryt
40
41
  or_continue: eller
41
- cancel_lose_changes: "Avbryt og du mister alle endringer du har gjort på {{object_name}}"
42
+ cancel_lose_changes: "Om du avbryter vil alle endringene du har gjort på {{object_name}} forsvinne"
43
+ delete: Slett
44
+ previous: Forrige
45
+ next: Neste
42
46
  image_picker:
43
- none_selected: "Det er for øyeblikket ingen {{what}} valgt, trykk her for å legge til en."
47
+ none_selected: "Det er for øyeblikket ikke noen {{what}} valgt. Vennligst klikk her for å legge til en."
44
48
  remove_current: "Fjern gjeldende {{what}}"
45
- change: Trykk her for å velge bilde
49
+ change: Kikk her for å velge et bilde
46
50
  image: bilde
51
+ show: Vis
47
52
  resource_picker:
48
- none_selected: "Det er for øyeblikket ingen {{what}} valgt, trykk her for å legge til en."
53
+ none_selected: "Det er for øyeblikket ikke noen {{what}} valgt. Vennligst klikk her for å legge til en."
49
54
  current: "Gjeldende {{what}}"
50
55
  download_current: "Last ned gjeldende {{what}}"
51
56
  opens_in_new_window: Åpner i et nytt vindu
@@ -53,12 +58,4 @@ nb:
53
58
  resource: ressurs
54
59
  message:
55
60
  close: Lukk
56
- activerecord:
57
- models:
58
- page: side
59
- user: bruker
60
- image: bilde
61
- inquiry: forespørsel
62
- resource: ressurs
63
- refinery_setting: refinery instilling
64
- inquiry_setting: forespørsel instilling
61
+ close_this_message: Lukk denne meldingen
@@ -57,6 +57,7 @@ class RefineryGenerator < Rails::Generator::NamedBase
57
57
  m.template "rails/init.rb", "vendor/plugins/#{plural_name}/rails/init.rb"
58
58
 
59
59
  m.directory 'db/migrate/'
60
+ m.directory 'db/seeds/'
60
61
  m.template 'seed.rb', "db/seeds/#{plural_name}.rb"
61
62
  m.migration_template 'migration.rb', 'db/migrate',
62
63
  :assigns => {:migration_name => "Create#{class_name.pluralize}"},
@@ -0,0 +1,16 @@
1
+ nb:
2
+ admin:
3
+ <%= plural_name %>:
4
+ index:
5
+ create_new: Lag en ny <%= $title_name %>
6
+ reorder: Endre rekkefølgen på <%= $title_name.pluralize %>
7
+ reorder_done: Ferdig å endre rekkefølgen <%= $title_name.pluralize %>
8
+ 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 %>.
10
+ <%= singular_name %>:
11
+ view_live: Vis hvordan denne <%= $title_name.downcase %> ser ut offentlig <br/><em>(åpner i et nytt vindu)</em>
12
+ edit: Rediger denne <%= $title_name.downcase %>
13
+ delete: Fjern denne <%= $title_name.downcase %> permanent
14
+ <%= plural_name %>:
15
+ show:
16
+ other: Andre <%= $title_name.pluralize %>
@@ -23,5 +23,10 @@
23
23
  <% end -%>
24
24
  </div>
25
25
  <% end %>
26
- <%%= render :partial => "/shared/admin/form_actions", :locals => {:f => f, :continue_editing => false} %>
26
+ <%%= render :partial => "/shared/admin/form_actions",
27
+ :locals => {
28
+ :f => f,
29
+ :continue_editing => false,
30
+ :delete_title => t('admin.<%= plural_name %>.<%= singular_name %>.delete')
31
+ } %>
27
32
  <%% end -%>
@@ -31,7 +31,7 @@ module Refinery
31
31
  @major = 0
32
32
  @minor = 9
33
33
  @tiny = 7
34
- @build = 7
34
+ @build = 8
35
35
 
36
36
  def self.to_s
37
37
  [@major, @minor, @tiny, @build].compact.join('.')
@@ -1,8 +1,5 @@
1
1
  namespace :refinery do
2
-
3
- desc "Run all refinery tests, including test-unit, rspec, and cucumber"
4
- task :test_all => [:test, :spec, :cucumber]
5
-
2
+
6
3
  desc "Override files for use in an application"
7
4
  task :override => :environment do
8
5
  require 'fileutils'
@@ -109,7 +106,7 @@ namespace :refinery do
109
106
  FileUtils::makedirs dirs.map {|dir| File.join(Rails.root, dir) }
110
107
 
111
108
  # copy in the new assets.
112
- 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(lib refinery), %w(.gitignore)]
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)]
113
110
  assets.each do |asset|
114
111
  FileUtils::rm_rf File.join(Rails.root, asset), :secure => true, :verbose => verbose # ensure the destination is clear.
115
112
  FileUtils::cp_r File.join(Refinery.root, asset), File.join(Rails.root, asset), :verbose => verbose # copy the new assets into the project.
@@ -162,8 +159,10 @@ namespace :refinery do
162
159
  # replace the config.ru file
163
160
  FileUtils::cp Refinery.root.join('config.ru').cleanpath.to_s, Rails.root.join('config.ru').cleanpath.to_s, :verbose => verbose
164
161
 
165
- # copy the lib/refinery directory in
166
- FileUtils::cp_r Refinery.root.join("lib", "refinery").cleanpath.to_s, Rails.root.join("lib").cleanpath.to_s, :verbose => verbose
162
+ # destroy any lib/refinery directory that we don't need anymore.
163
+ if Rails.root.join('lib', 'refinery').directory?
164
+ FileUtils::rm_rf Rails.root.join('lib', 'refinery').cleanpath.to_s, :secure => true, :verbose => verbose
165
+ end
167
166
 
168
167
  # copy any initializers
169
168
  Dir[Refinery.root.join('config', 'initializers', '*.rb').to_s].each do |initializer|
@@ -261,3 +260,62 @@ namespace :refinery do
261
260
 
262
261
  end
263
262
 
263
+ namespace :test do
264
+ desc "Run the tests that ship with Refinery to ensure any changes you've made haven't caused instability."
265
+ task :refinery do
266
+ errors = %w(test:refinery:units test:refinery:functionals test:refinery:integration test:refinery:benchmark spec cucumber).collect do |task|
267
+ begin
268
+ Rake::Task[task].invoke
269
+ nil
270
+ rescue => e
271
+ task
272
+ end
273
+ end.compact
274
+ abort "Errors running #{errors.to_sentence(:locale => :en)}!" if errors.any?
275
+ end
276
+ namespace :refinery do
277
+ Rake::TestTask.new(:units => 'db:test:prepare') do |t|
278
+ t.libs << Refinery.root.join('test').to_s
279
+ t.libs += Dir[Rails.root.join('vendor', 'plugins', '**', 'test').to_s].flatten if Refinery.is_a_gem
280
+ t.pattern = [Refinery.root.join('test', 'unit', '**', '*_test.rb').to_s]
281
+ t.pattern << Rails.root.join('vendor', 'plugins', '**', 'test', 'unit', '**', '*_test.rb').to_s if Refinery.is_a_gem
282
+ t.verbose = true
283
+ ENV['RAILS_ROOT'] = Rails.root.to_s
284
+ end
285
+ Rake::Task['test:refinery:units'].comment = 'Run the unit tests in Refinery.'
286
+
287
+ Rake::TestTask.new(:functionals => 'db:test:prepare') do |t|
288
+ t.libs << Refinery.root.join('test').to_s
289
+ t.libs += Dir[Rails.root.join('vendor', 'plugins', '**', 'test').to_s].flatten if Refinery.is_a_gem
290
+ t.pattern = [Refinery.root.join('test', 'functional', '**', '*_test.rb').to_s]
291
+ t.pattern << Rails.root.join('vendor', 'plugins', '**', 'test', 'functional', '**', '*_test.rb').to_s if Refinery.is_a_gem
292
+ t.verbose = true
293
+ ENV['RAILS_ROOT'] = Rails.root.to_s
294
+ end
295
+ Rake::Task['test:refinery:functionals'].comment = 'Run the functional tests in Refinery.'
296
+
297
+ Rake::TestTask.new(:integration => 'db:test:prepare') do |t|
298
+ t.libs << Refinery.root.join('test').to_s
299
+ t.libs += Dir[Rails.root.join('vendor', 'plugins', '**', 'test').to_s]
300
+ t.pattern = [Refinery.root.join('test', 'integration', '**', '*_test.rb').to_s]
301
+ t.pattern << Rails.root.join('vendor', 'plugins', '**', 'test', 'integration', '**', '*_test.rb').to_s if Refinery.is_a_gem
302
+ t.verbose = true
303
+ ENV['RAILS_ROOT'] = Rails.root.to_s
304
+ end
305
+ Rake::Task['test:refinery:integration'].comment = 'Run the integration tests in Refinery.'
306
+
307
+ Rake::TestTask.new(:benchmark => 'db:test:prepare') do |t|
308
+ t.libs << Refinery.root.join('test').to_s
309
+ t.pattern = Refinery.root.join('test', 'performance', '**', '*_test.rb')
310
+ t.verbose = true
311
+ t.options = '-- --benchmark'
312
+ ENV['RAILS_ROOT'] = Rails.root.to_s
313
+ end
314
+ Rake::Task['test:refinery:benchmark'].comment = 'Benchmark the performance tests in Refinery'
315
+ end
316
+ end
317
+
318
+ desc 'Removes trailing whitespace across the entire application.'
319
+ task :whitespace do
320
+ sh %{find . -name '*.*rb' -exec sed -i '' 's/\t/ /g' {} \\; -exec sed -i '' 's/ *$//g' {} \\; }
321
+ end
@@ -10,11 +10,9 @@ if $refinery_gem_plugin_lib_paths.present?
10
10
  paths = $refinery_gem_plugin_lib_paths.reject do |path|
11
11
  path =~ /^#{Rails.root.join('vendor', 'plugins')}/
12
12
  end
13
-
13
+
14
14
  extra_rake_tasks << paths.collect {|path| Dir[File.join(%W(#{path} tasks ** *.rake))].sort}
15
15
  end
16
16
 
17
- extra_rake_tasks << Dir[Rails.root.join("lib", "refinery", "tasks", "*.rake").to_s]
18
-
19
17
  # Load in any extra tasks that we've found.
20
- extra_rake_tasks.flatten.compact.uniq.each {|rake| load rake }
18
+ extra_rake_tasks.flatten.reject{|t| t.nil? or t =~ /rspec/ }.uniq.each {|rake| load rake }