refinerycms 0.9.7.7 → 0.9.7.8

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 (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 }