spree_static_content 0.60.1 → 0.70.3
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.
- data/README.md +45 -0
- data/app/controllers/static_content_controller.rb +2 -2
- data/app/models/page.rb +8 -5
- data/app/overrides/static_content_admin_tab.rb +4 -0
- data/app/views/admin/pages/_form.html.erb +1 -2
- data/app/views/admin/pages/edit.html.erb +1 -1
- data/lib/generators/spree_static_content/install_generator.rb +13 -8
- data/lib/spree_static_content.rb +8 -2
- metadata +64 -77
- data/.gitignore +0 -2
- data/CONTRIBUTORS.textile +0 -7
- data/README.rdoc +0 -34
- data/Rakefile +0 -113
- data/VERSION +0 -1
- data/Versionfile +0 -3
- data/config/locales/de-CH.yml +0 -23
- data/config/locales/en-AU.yml +0 -23
- data/config/locales/en-GB.yml +0 -23
- data/config/locales/en.yml +0 -32
- data/config/locales/es-ES.yml +0 -18
- data/config/locales/fr-FR.yml +0 -23
- data/config/locales/nl-BE.yml +0 -23
- data/config/locales/nl-NL.yml +0 -23
- data/config/locales/pl.yml +0 -21
- data/config/locales/pt-BR.yml +0 -15
- data/config/locales/ru.yml +0 -33
- data/config/routes.rb +0 -9
- data/lib/generators/templates/db/migrate/20081216193152_create_pages.rb +0 -15
- data/lib/generators/templates/db/migrate/20090625125735_extend_pages.rb +0 -21
- data/lib/generators/templates/db/migrate/20090814113100_add_visible_to_pages.rb +0 -10
- data/lib/generators/templates/db/migrate/20090814142845_add_default_true_to_visible_for_page.rb +0 -8
- data/lib/generators/templates/db/migrate/20090829000527_add_index_for_page.rb +0 -10
- data/lib/generators/templates/db/migrate/20091219021134_add_meta_fields_to_pages.rb +0 -9
- data/lib/generators/templates/db/migrate/20100204105222_add_layout_to_pages.rb +0 -9
- data/lib/generators/templates/db/migrate/20100323085528_add_show_in_sidebar_option_to_pages.rb +0 -9
- data/lib/generators/templates/public/stylesheets/formtastic.css +0 -145
- data/lib/generators/templates/public/stylesheets/formtastic_changes.css +0 -14
- data/lib/spree_static_content_hooks.rb +0 -5
- data/spec/controllers/admin/pages_controller_spec.rb +0 -5
- data/spec/controllers/content_controller_spec.rb +0 -18
- data/spec/models/page_spec.rb +0 -20
- data/spec/spec.opts +0 -3
- data/spec/spec_helper.rb +0 -28
- data/spree_static_content.gemspec +0 -96
data/README.md
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
# Spree Static Content
|
2
|
+
|
3
|
+
Good, clean content management of pages for Spree. You can use this to:
|
4
|
+
|
5
|
+
- Add and manage static pages such as an 'About' page.
|
6
|
+
- Show a static page instead of existing dynamic pages such as the home page,
|
7
|
+
products pages, and taxon pages.
|
8
|
+
|
9
|
+
## HowTo
|
10
|
+
|
11
|
+
See the wiki for some more documentation on how you can use this extension.
|
12
|
+
|
13
|
+
- use spree_editor.
|
14
|
+
- override dynamic pages.
|
15
|
+
- ...
|
16
|
+
|
17
|
+
## Basic Installation
|
18
|
+
|
19
|
+
1. Add the following to your Gemfile
|
20
|
+
<pre>
|
21
|
+
gem 'spree_static_content', :git => 'github.com/spree/spree_static_content'
|
22
|
+
</pre>
|
23
|
+
2. Run `bundle install`
|
24
|
+
3. To copy and apply migrations run: `rails g spree_static_content:install`
|
25
|
+
|
26
|
+
## Development
|
27
|
+
|
28
|
+
1. fork the repo here: https://github.com/spree/spree_static_content
|
29
|
+
2. inside your fork run `bundle install`
|
30
|
+
3. make sure the tests can run on your system run : `bundle exec rake test_app && bundle exec rspec spec`
|
31
|
+
|
32
|
+
You can also run `bundle exec rake test_app` and then to run the specs run `bundle exec rake`
|
33
|
+
|
34
|
+
### Fix bugs or add functionality
|
35
|
+
|
36
|
+
1. create a feature branch
|
37
|
+
<pre>
|
38
|
+
git checkout -b my-feature-branch
|
39
|
+
</pre>
|
40
|
+
2. Apply your changes and add specs.
|
41
|
+
3. Push the feature branch to your fork:
|
42
|
+
<pre>
|
43
|
+
git push -u origin my-feature-branch
|
44
|
+
</pre>
|
45
|
+
4. Send a pull request from your feature branch in the forked repository on github.
|
@@ -12,14 +12,14 @@ class StaticContentController < Spree::BaseController
|
|
12
12
|
end
|
13
13
|
|
14
14
|
unless @page = Page.visible.find_by_slug(path)
|
15
|
-
|
15
|
+
render_404
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
19
|
private
|
20
20
|
|
21
21
|
def accurate_title
|
22
|
-
@page ? @page.title : nil
|
22
|
+
@page ? (@page.meta_title ? @page.meta_title : @page.title) : nil
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
data/app/models/page.rb
CHANGED
@@ -4,10 +4,11 @@ class Page < ActiveRecord::Base
|
|
4
4
|
validates_presence_of :title
|
5
5
|
validates_presence_of [:slug, :body], :if => :not_using_foreign_link?
|
6
6
|
|
7
|
-
scope :header_links, where(["show_in_header = ?", true])
|
8
|
-
scope :footer_links, where(["show_in_footer = ?", true])
|
9
|
-
scope :sidebar_links, where(["show_in_sidebar = ?", true])
|
10
7
|
scope :visible, where(:visible => true)
|
8
|
+
scope :header_links, where(:show_in_header => true).visible
|
9
|
+
scope :footer_links, where(:show_in_footer => true).visible
|
10
|
+
scope :sidebar_links, where(:show_in_sidebar => true).visible
|
11
|
+
|
11
12
|
|
12
13
|
before_save :update_positions_and_slug
|
13
14
|
|
@@ -33,8 +34,10 @@ private
|
|
33
34
|
end
|
34
35
|
end
|
35
36
|
|
36
|
-
|
37
|
-
|
37
|
+
if not_using_foreign_link?
|
38
|
+
self.slug = slug_link
|
39
|
+
Rails.cache.delete('page_not_exist/' + self.slug)
|
40
|
+
end
|
38
41
|
return true
|
39
42
|
end
|
40
43
|
|
@@ -1,10 +1,9 @@
|
|
1
|
-
<%= stylesheet_link_tag 'formtastic', 'formtastic_changes' %>
|
2
|
-
|
3
1
|
<%= f.inputs do %>
|
4
2
|
<%= f.input :title %>
|
5
3
|
<%= f.input :slug %>
|
6
4
|
<%= f.input :body %>
|
7
5
|
<%= f.input :foreign_link %>
|
6
|
+
<%= f.input :meta_title %>
|
8
7
|
<%= f.input :meta_keywords %>
|
9
8
|
<%= f.input :meta_description %>
|
10
9
|
<%= f.input :show_in_sidebar %>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<h1><%= t("static_content.editing_page") %></h1>
|
2
2
|
<%= render "shared/error_messages", :target => @page %>
|
3
3
|
|
4
|
-
|
4
|
+
<%= semantic_form_for([:admin, @page]) do |f| -%>
|
5
5
|
<%= render :partial => "form", :locals => { :f => f } %>
|
6
6
|
<p class="form-buttons">
|
7
7
|
<%= button t("actions.update"), nil, 'submit' %>
|
@@ -1,18 +1,23 @@
|
|
1
1
|
module SpreeStaticContent
|
2
2
|
module Generators
|
3
3
|
class InstallGenerator < Rails::Generators::Base
|
4
|
-
source_root File.expand_path("../../templates", __FILE__)
|
5
4
|
|
6
|
-
|
7
|
-
|
8
|
-
def copy_migrations
|
9
|
-
directory "db"
|
5
|
+
def add_stylesheets
|
6
|
+
inject_into_file "app/assets/stylesheets/admin/all.css", " *= require formtastic\n", :before => /\*\//, :verbose => true
|
10
7
|
end
|
11
|
-
|
12
|
-
def
|
13
|
-
|
8
|
+
|
9
|
+
def add_migrations
|
10
|
+
run 'rake railties:install:migrations FROM=spree_static_content'
|
14
11
|
end
|
15
12
|
|
13
|
+
def run_migrations
|
14
|
+
res = ask "Would you like to run the migrations now? [Y/n]"
|
15
|
+
if res == "" || res.downcase == "y"
|
16
|
+
run 'rake db:migrate'
|
17
|
+
else
|
18
|
+
puts "Skiping rake db:migrate, don't forget to run it!"
|
19
|
+
end
|
20
|
+
end
|
16
21
|
end
|
17
22
|
end
|
18
23
|
end
|
data/lib/spree_static_content.rb
CHANGED
@@ -1,11 +1,17 @@
|
|
1
1
|
require 'spree_core'
|
2
|
-
require '
|
2
|
+
require 'formtastic'
|
3
3
|
|
4
4
|
module SpreeStaticContent
|
5
5
|
class Engine < Rails::Engine
|
6
|
+
engine_name 'spree_static_content'
|
7
|
+
|
6
8
|
def self.activate
|
7
9
|
Dir.glob(File.join(File.dirname(__FILE__), "../app/**/*_decorator*.rb")) do |c|
|
8
|
-
Rails.
|
10
|
+
Rails.application.config.cache_classes ? require(c) : load(c)
|
11
|
+
end
|
12
|
+
|
13
|
+
Dir.glob(File.join(File.dirname(__FILE__), "../app/overrides/**/*.rb")) do |c|
|
14
|
+
Rails.application.config.cache_classes ? require(c) : load(c)
|
9
15
|
end
|
10
16
|
end
|
11
17
|
config.to_prepare &method(:activate).to_proc
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree_static_content
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 257
|
5
|
+
prerelease:
|
5
6
|
segments:
|
6
7
|
- 0
|
7
|
-
-
|
8
|
-
-
|
9
|
-
version: 0.
|
8
|
+
- 70
|
9
|
+
- 3
|
10
|
+
version: 0.70.3
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Peter Berkenbosch
|
@@ -15,138 +16,124 @@ autorequire:
|
|
15
16
|
bindir: bin
|
16
17
|
cert_chain: []
|
17
18
|
|
18
|
-
date:
|
19
|
-
default_executable:
|
19
|
+
date: 2012-03-01 00:00:00 Z
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
22
|
name: spree_core
|
23
23
|
prerelease: false
|
24
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
25
26
|
requirements:
|
26
27
|
- - ">="
|
27
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: 261
|
28
30
|
segments:
|
29
31
|
- 0
|
30
|
-
-
|
31
|
-
-
|
32
|
-
version: 0.
|
32
|
+
- 70
|
33
|
+
- 1
|
34
|
+
version: 0.70.1
|
33
35
|
type: :runtime
|
34
36
|
version_requirements: *id001
|
35
37
|
- !ruby/object:Gem::Dependency
|
36
|
-
name:
|
38
|
+
name: spree_auth
|
37
39
|
prerelease: false
|
38
40
|
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
39
42
|
requirements:
|
40
43
|
- - ">="
|
41
44
|
- !ruby/object:Gem::Version
|
45
|
+
hash: 261
|
42
46
|
segments:
|
43
47
|
- 0
|
44
|
-
-
|
45
|
-
-
|
46
|
-
version: 0.
|
48
|
+
- 70
|
49
|
+
- 1
|
50
|
+
version: 0.70.1
|
47
51
|
type: :runtime
|
48
52
|
version_requirements: *id002
|
49
53
|
- !ruby/object:Gem::Dependency
|
50
54
|
name: formtastic
|
51
55
|
prerelease: false
|
52
56
|
requirement: &id003 !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
53
58
|
requirements:
|
54
|
-
- -
|
59
|
+
- - ">="
|
55
60
|
- !ruby/object:Gem::Version
|
61
|
+
hash: 3
|
56
62
|
segments:
|
57
|
-
-
|
58
|
-
|
59
|
-
- 3
|
60
|
-
version: 1.2.3
|
63
|
+
- 0
|
64
|
+
version: "0"
|
61
65
|
type: :runtime
|
62
66
|
version_requirements: *id003
|
63
|
-
|
64
|
-
|
67
|
+
- !ruby/object:Gem::Dependency
|
68
|
+
name: rspec-rails
|
69
|
+
prerelease: false
|
70
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
71
|
+
none: false
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
hash: 3
|
76
|
+
segments:
|
77
|
+
- 0
|
78
|
+
version: "0"
|
79
|
+
type: :development
|
80
|
+
version_requirements: *id004
|
81
|
+
description:
|
82
|
+
email: peter@pero-ict.nl
|
65
83
|
executables: []
|
66
84
|
|
67
85
|
extensions: []
|
68
86
|
|
69
|
-
extra_rdoc_files:
|
70
|
-
|
87
|
+
extra_rdoc_files: []
|
88
|
+
|
71
89
|
files:
|
72
|
-
- .
|
73
|
-
-
|
74
|
-
-
|
75
|
-
- Rakefile
|
76
|
-
- VERSION
|
77
|
-
- Versionfile
|
78
|
-
- app/controllers/admin/pages_controller.rb
|
79
|
-
- app/controllers/spree/base_controller_decorator.rb
|
80
|
-
- app/controllers/static_content_controller.rb
|
90
|
+
- README.md
|
91
|
+
- lib/spree_static_content.rb
|
92
|
+
- lib/generators/spree_static_content/install_generator.rb
|
81
93
|
- app/models/page.rb
|
82
94
|
- app/views/admin/pages/_form.html.erb
|
83
95
|
- app/views/admin/pages/edit.html.erb
|
84
|
-
- app/views/admin/pages/index.html.erb
|
85
96
|
- app/views/admin/pages/new.html.erb
|
97
|
+
- app/views/admin/pages/index.html.erb
|
86
98
|
- app/views/static_content/show.html.erb
|
87
|
-
-
|
88
|
-
-
|
89
|
-
-
|
90
|
-
-
|
91
|
-
|
92
|
-
- config/locales/fr-FR.yml
|
93
|
-
- config/locales/nl-BE.yml
|
94
|
-
- config/locales/nl-NL.yml
|
95
|
-
- config/locales/pl.yml
|
96
|
-
- config/locales/pt-BR.yml
|
97
|
-
- config/locales/ru.yml
|
98
|
-
- config/routes.rb
|
99
|
-
- lib/generators/spree_static_content/install_generator.rb
|
100
|
-
- lib/generators/templates/db/migrate/20081216193152_create_pages.rb
|
101
|
-
- lib/generators/templates/db/migrate/20090625125735_extend_pages.rb
|
102
|
-
- lib/generators/templates/db/migrate/20090814113100_add_visible_to_pages.rb
|
103
|
-
- lib/generators/templates/db/migrate/20090814142845_add_default_true_to_visible_for_page.rb
|
104
|
-
- lib/generators/templates/db/migrate/20090829000527_add_index_for_page.rb
|
105
|
-
- lib/generators/templates/db/migrate/20091219021134_add_meta_fields_to_pages.rb
|
106
|
-
- lib/generators/templates/db/migrate/20100204105222_add_layout_to_pages.rb
|
107
|
-
- lib/generators/templates/db/migrate/20100323085528_add_show_in_sidebar_option_to_pages.rb
|
108
|
-
- lib/generators/templates/public/stylesheets/formtastic.css
|
109
|
-
- lib/generators/templates/public/stylesheets/formtastic_changes.css
|
110
|
-
- lib/spree_static_content.rb
|
111
|
-
- lib/spree_static_content_hooks.rb
|
112
|
-
- spec/controllers/admin/pages_controller_spec.rb
|
113
|
-
- spec/controllers/content_controller_spec.rb
|
114
|
-
- spec/models/page_spec.rb
|
115
|
-
- spec/spec.opts
|
116
|
-
- spec/spec_helper.rb
|
117
|
-
- spree_static_content.gemspec
|
118
|
-
has_rdoc: true
|
119
|
-
homepage: http://github.com/spree/spree-static-content
|
99
|
+
- app/overrides/static_content_admin_tab.rb
|
100
|
+
- app/controllers/spree/base_controller_decorator.rb
|
101
|
+
- app/controllers/static_content_controller.rb
|
102
|
+
- app/controllers/admin/pages_controller.rb
|
103
|
+
homepage: http://spreecommerce.com/extensions/139-static-content
|
120
104
|
licenses: []
|
121
105
|
|
122
106
|
post_install_message:
|
123
|
-
rdoc_options:
|
124
|
-
|
107
|
+
rdoc_options: []
|
108
|
+
|
125
109
|
require_paths:
|
126
110
|
- lib
|
127
111
|
required_ruby_version: !ruby/object:Gem::Requirement
|
112
|
+
none: false
|
128
113
|
requirements:
|
129
114
|
- - ">="
|
130
115
|
- !ruby/object:Gem::Version
|
116
|
+
hash: 57
|
131
117
|
segments:
|
132
|
-
-
|
133
|
-
|
118
|
+
- 1
|
119
|
+
- 8
|
120
|
+
- 7
|
121
|
+
version: 1.8.7
|
134
122
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
123
|
+
none: false
|
135
124
|
requirements:
|
136
125
|
- - ">="
|
137
126
|
- !ruby/object:Gem::Version
|
127
|
+
hash: 3
|
138
128
|
segments:
|
139
129
|
- 0
|
140
130
|
version: "0"
|
141
|
-
requirements:
|
142
|
-
|
131
|
+
requirements:
|
132
|
+
- none
|
143
133
|
rubyforge_project:
|
144
|
-
rubygems_version: 1.
|
134
|
+
rubygems_version: 1.8.15
|
145
135
|
signing_key:
|
146
136
|
specification_version: 3
|
147
137
|
summary: Extention to manage the static pages for your Spree shop.
|
148
|
-
test_files:
|
149
|
-
|
150
|
-
- spec/spec_helper.rb
|
151
|
-
- spec/controllers/content_controller_spec.rb
|
152
|
-
- spec/controllers/admin/pages_controller_spec.rb
|
138
|
+
test_files: []
|
139
|
+
|
data/.gitignore
DELETED
data/CONTRIBUTORS.textile
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
h2. Contributors list - Thanks guys!
|
2
|
-
|
3
|
-
|Maxim Filatov|http://github.com/Bregor|
|
4
|
-
|Marcin Raczkowski|http://github.com/swistak|
|
5
|
-
|Roman Smirnov|http://github.com/romul|
|
6
|
-
|Eliot Sykes|http://github.com/eliotsykes|
|
7
|
-
|Oliver Azevedo Barnes|http://github.com/oliverbarnes|
|
data/README.rdoc
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
= Static Content
|
2
|
-
|
3
|
-
Good, clean content management of pages for Spree. You can use this to:
|
4
|
-
|
5
|
-
- Add and manage static pages such as an 'About' page.
|
6
|
-
- Show a static page instead of existing dynamic pages such as the home page,
|
7
|
-
products pages, and taxon pages.
|
8
|
-
|
9
|
-
To override a dynamic page, use the path of that dynamic page as the slug when
|
10
|
-
you create your page in the Spree Administration area, including the
|
11
|
-
leading slash. For example:
|
12
|
-
|
13
|
-
- to override the home page, use a path of '/' (without quotes).
|
14
|
-
- to override a product page, use its path, e.g. '/products/apache-baseball-jersey' (without quotes).
|
15
|
-
|
16
|
-
The dynamic page can be made available again if you delete the static page or change its slug.
|
17
|
-
|
18
|
-
Create your own copy of the app/views/content/show.html.erb template in your site
|
19
|
-
extension to change the layout of the static pages.
|
20
|
-
|
21
|
-
=== Example to use the static pages inside a menu
|
22
|
-
<ul>
|
23
|
-
<% for page in Page.header_links do %>
|
24
|
-
<li><%= link_to page.title, page.link %></li>
|
25
|
-
<% end %>
|
26
|
-
</ul>
|
27
|
-
|
28
|
-
== Installation
|
29
|
-
|
30
|
-
1. Add `gem "spree_static_content"` and `gem "spree_editor", :git => "git://github.com/romul/spree_editor.git"` to your Gemfile
|
31
|
-
1. Run `bundle install`
|
32
|
-
1. Run `rails g spree_static_content:install`
|
33
|
-
1. Run `rake db:migrate`
|
34
|
-
1. Run `rake spree_editor:install`
|
data/Rakefile
DELETED
@@ -1,113 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
require 'rubygems'
|
3
|
-
begin
|
4
|
-
require 'jeweler'
|
5
|
-
rescue LoadError
|
6
|
-
puts "Jeweler not available. Install it with: sudo gem install jeweler"
|
7
|
-
exit 1
|
8
|
-
end
|
9
|
-
#gem 'rdoc', '= 2.2'
|
10
|
-
require 'rdoc'
|
11
|
-
require 'rake'
|
12
|
-
require 'rake/testtask'
|
13
|
-
require 'rake/rdoctask'
|
14
|
-
require 'rake/packagetask'
|
15
|
-
require 'rake/gempackagetask'
|
16
|
-
|
17
|
-
Jeweler::Tasks.new do |s|
|
18
|
-
s.name = "spree_static_content"
|
19
|
-
s.summary = "Extention to manage the static pages for your Spree shop."
|
20
|
-
s.description = s.summary
|
21
|
-
#s.email = ""
|
22
|
-
s.homepage = "http://github.com/spree/spree-static-content"
|
23
|
-
s.authors = ["Peter Berkenbosch", "Roman Smirnov"]
|
24
|
-
s.add_dependency 'spree_core', '>= 0.60.0'
|
25
|
-
s.add_dependency 'spree_editor', '>= 0.50.0'
|
26
|
-
s.add_dependency 'formtastic', '~> 1.2.3'
|
27
|
-
#s.has_rdoc = false
|
28
|
-
#s.extra_rdoc_files = [ "README.rdoc"]
|
29
|
-
#s.rdoc_options = ["--main", "README.rdoc", "--inline-source", "--line-numbers"]
|
30
|
-
#s.test_files = Dir['test/**/*.{yml,rb}']
|
31
|
-
end
|
32
|
-
Jeweler::GemcutterTasks.new
|
33
|
-
|
34
|
-
|
35
|
-
require 'spec/rake/spectask'
|
36
|
-
# require 'spec/translator'
|
37
|
-
|
38
|
-
extension_root = File.expand_path(File.dirname(__FILE__))
|
39
|
-
|
40
|
-
task :default => :spec
|
41
|
-
task :stats => "spec:statsetup"
|
42
|
-
|
43
|
-
desc "Run all specs in spec directory"
|
44
|
-
Spec::Rake::SpecTask.new(:spec) do |t|
|
45
|
-
t.spec_opts = ['--options', "\"#{extension_root}/spec/spec.opts\""]
|
46
|
-
t.spec_files = FileList['spec/**/*_spec.rb']
|
47
|
-
end
|
48
|
-
|
49
|
-
namespace :spec do
|
50
|
-
desc "Run all specs in spec directory with RCov"
|
51
|
-
Spec::Rake::SpecTask.new(:rcov) do |t|
|
52
|
-
t.spec_opts = ['--options', "\"#{extension_root}/spec/spec.opts\""]
|
53
|
-
t.spec_files = FileList['spec/**/*_spec.rb']
|
54
|
-
t.rcov = true
|
55
|
-
t.rcov_opts = ['--exclude', 'spec', '--rails']
|
56
|
-
end
|
57
|
-
|
58
|
-
desc "Print Specdoc for all specs"
|
59
|
-
Spec::Rake::SpecTask.new(:doc) do |t|
|
60
|
-
t.spec_opts = ["--format", "specdoc", "--dry-run"]
|
61
|
-
t.spec_files = FileList['spec/**/*_spec.rb']
|
62
|
-
end
|
63
|
-
|
64
|
-
[:models, :controllers, :views, :helpers].each do |sub|
|
65
|
-
desc "Run the specs under spec/#{sub}"
|
66
|
-
Spec::Rake::SpecTask.new(sub) do |t|
|
67
|
-
t.spec_opts = ['--options', "\"#{extension_root}/spec/spec.opts\""]
|
68
|
-
t.spec_files = FileList["spec/#{sub}/**/*_spec.rb"]
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
# Hopefully no one has written their extensions in pre-0.9 style
|
73
|
-
# desc "Translate specs from pre-0.9 to 0.9 style"
|
74
|
-
# task :translate do
|
75
|
-
# translator = ::Spec::Translator.new
|
76
|
-
# dir = RAILS_ROOT + '/spec'
|
77
|
-
# translator.translate(dir, dir)
|
78
|
-
# end
|
79
|
-
|
80
|
-
# Setup specs for stats
|
81
|
-
task :statsetup do
|
82
|
-
require 'code_statistics'
|
83
|
-
::STATS_DIRECTORIES << %w(Model\ specs spec/models)
|
84
|
-
::STATS_DIRECTORIES << %w(View\ specs spec/views)
|
85
|
-
::STATS_DIRECTORIES << %w(Controller\ specs spec/controllers)
|
86
|
-
::STATS_DIRECTORIES << %w(Helper\ specs spec/views)
|
87
|
-
::CodeStatistics::TEST_TYPES << "Model specs"
|
88
|
-
::CodeStatistics::TEST_TYPES << "View specs"
|
89
|
-
::CodeStatistics::TEST_TYPES << "Controller specs"
|
90
|
-
::CodeStatistics::TEST_TYPES << "Helper specs"
|
91
|
-
::STATS_DIRECTORIES.delete_if {|a| a[0] =~ /test/}
|
92
|
-
end
|
93
|
-
end
|
94
|
-
|
95
|
-
desc 'Generate documentation for the static_content extension.'
|
96
|
-
Rake::RDocTask.new(:rdoc) do |rdoc|
|
97
|
-
rdoc.rdoc_dir = 'rdoc'
|
98
|
-
rdoc.title = 'StaticContentExtension'
|
99
|
-
rdoc.options << '--line-numbers' << '--inline-source'
|
100
|
-
rdoc.rdoc_files.include('README')
|
101
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
102
|
-
end
|
103
|
-
|
104
|
-
# For extensions that are in transition
|
105
|
-
desc 'Test the static_content extension.'
|
106
|
-
Rake::TestTask.new(:test) do |t|
|
107
|
-
t.libs << 'lib'
|
108
|
-
t.pattern = 'test/**/*_test.rb'
|
109
|
-
t.verbose = true
|
110
|
-
end
|
111
|
-
|
112
|
-
# Load any custom rakefiles for extension
|
113
|
-
Dir[File.dirname(__FILE__) + '/tasks/*.rake'].sort.each { |f| require f }
|