spree_wordsmith 0.1.0

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 (47) hide show
  1. data/README.markdown +121 -0
  2. data/app/controllers/admin/pages_controller.rb +22 -0
  3. data/app/controllers/admin/posts_controller.rb +20 -0
  4. data/app/controllers/admin/wordsmith_settings_controller.rb +13 -0
  5. data/app/controllers/pages_controller.rb +19 -0
  6. data/app/controllers/posts_controller.rb +30 -0
  7. data/app/helpers/wordsmith_helper.rb +21 -0
  8. data/app/models/ability_decorator.rb +23 -0
  9. data/app/models/page.rb +4 -0
  10. data/app/models/post.rb +11 -0
  11. data/app/models/ws_item.rb +80 -0
  12. data/app/stylesheets/wordsmith.less +76 -0
  13. data/app/views/admin/pages/_form.html.erb +60 -0
  14. data/app/views/admin/pages/edit.html.erb +3 -0
  15. data/app/views/admin/pages/index.html.erb +25 -0
  16. data/app/views/admin/pages/new.html.erb +4 -0
  17. data/app/views/admin/posts/_form.html.erb +59 -0
  18. data/app/views/admin/posts/edit.html.erb +5 -0
  19. data/app/views/admin/posts/index.html.erb +25 -0
  20. data/app/views/admin/posts/new.html.erb +6 -0
  21. data/app/views/admin/posts/show.html.erb +27 -0
  22. data/app/views/admin/shared/_wordsmith_sub_menu.html.erb +8 -0
  23. data/app/views/admin/users/_display_name.html.erb +4 -0
  24. data/app/views/admin/wordsmith_settings/edit.html.erb +34 -0
  25. data/app/views/admin/wordsmith_settings/show.html.erb +37 -0
  26. data/app/views/content/show.html.erb +5 -0
  27. data/app/views/pages/index.html.erb +6 -0
  28. data/app/views/pages/show.html.erb +4 -0
  29. data/app/views/posts/_post.html.erb +11 -0
  30. data/app/views/posts/index.html.erb +13 -0
  31. data/app/views/posts/index.rss.builder +19 -0
  32. data/app/views/posts/show.html.erb +10 -0
  33. data/app/views/posts/tags.html.erb +18 -0
  34. data/app/views/shared/_recent_articles.html.erb +7 -0
  35. data/app/views/shared/_wordsmith_content_for.html.erb +7 -0
  36. data/lib/extensions/string.rb +20 -0
  37. data/lib/spree_wordsmith.rb +72 -0
  38. data/lib/spree_wordsmith_hooks.rb +8 -0
  39. data/lib/tasks/install.rake +33 -0
  40. data/lib/tasks/spree_wordsmith.rake +21 -0
  41. data/spec/controllers/admin/pages_controller_spec.rb +10 -0
  42. data/spec/controllers/admin/posts_controller_spec.rb +10 -0
  43. data/spec/controllers/posts_controller_spec.rb +27 -0
  44. data/spec/factories.rb +34 -0
  45. data/spec/models/posts_spec.rb +9 -0
  46. data/spec/spec_helper.rb +39 -0
  47. metadata +326 -0
@@ -0,0 +1,72 @@
1
+ require 'spree_core'
2
+ require 'spree_wordsmith_hooks'
3
+ require 'disqus'
4
+ require 'RedCloth'
5
+
6
+ module SpreeWordsmith
7
+ class Engine < Rails::Engine
8
+
9
+ config.autoload_paths += %W(#{config.root}/lib)
10
+
11
+ def self.activate
12
+ Dir.glob(File.join(File.dirname(__FILE__), "../app/**/*_decorator*.rb")) do |c|
13
+ Rails.env.production? ? require(c) : load(c)
14
+ end
15
+
16
+ if config = WORDSMITH_CONFIG[Rails.env.to_sym]
17
+ disqus_config = config[:disqus]
18
+ Disqus::defaults[:account], Disqus::defaults[:api_key], Disqus::defaults[:developer] =
19
+ disqus_config[:account], disqus_config[:api_key], disqus_config[:developer] if disqus_config && !disqus_config[:disable]
20
+ end
21
+
22
+ # Add your extension tab to the admin.
23
+ # Requires that you have defined an admin controller:
24
+ # app/controllers/admin/yourextension_controller
25
+ # and that you mapped your admin in config/routes
26
+
27
+ # make your helper avaliable in all views
28
+ Spree::BaseController.class_eval do
29
+ helper WordsmithHelper
30
+
31
+ before_filter :render_page_if_exists
32
+
33
+ def render_page_if_exists
34
+ # Using request.path allows us to override dynamic pages including
35
+ # the home page, product and taxon pages. params[:path] is only good
36
+ # for requests that get as far as content_controller. params[:path]
37
+ # query left in for backwards compatibility for slugs that don't start
38
+ # with a slash.
39
+ @page = Page.publish.find_by_permalink(params[:path]) if params[:path]
40
+ @page = Page.publish.find_by_permalink(request.path) unless @page
41
+ render :template => 'content/show' if @page
42
+ end
43
+
44
+ # # Returns post.title for use in the <title> element.
45
+ # def title_with_wordsmith_post_check
46
+ # return "#{@post.title} - #{Spree::Config[:site_name]}" if @post && !@post.title.blank?
47
+ # title_without_wordsmith_post_check
48
+ # end
49
+ # alias_method_chain :title, :wordsmith_post_check
50
+ end
51
+
52
+ AppConfiguration.class_eval do
53
+ preference :wordsmith_permalink, :string, :default => 'blog'
54
+ preference :wordsmith_posts_per_page, :integer, :default => 5
55
+ preference :wordsmith_posts_recent, :integer, :default => 15
56
+ preference :wordsmith_post_comment_default, :integer, :default => 1
57
+ preference :wordsmith_post_status_default, :integer, :default => 0
58
+ preference :wordsmith_page_status_default, :integer, :default => 0
59
+ preference :wordsmith_page_comment_default, :integer, :default => 0
60
+ preference :wordsmith_rss_description, :string, :default => 'description about your main post rss.'
61
+ end
62
+
63
+ User.class_eval do
64
+ has_many :ws_items
65
+
66
+ attr_accessible :display_name
67
+ end
68
+ end
69
+
70
+ config.to_prepare &method(:activate).to_proc
71
+ end
72
+ end
@@ -0,0 +1,8 @@
1
+ class SpreeWordsmithHooks < Spree::ThemeSupport::HookListener
2
+
3
+ insert_after :admin_tabs do
4
+ %(<%= tab(:wordsmith, :label => 'Wordsmith', :route => :admin_posts) %>)
5
+ end
6
+
7
+ insert_after :admin_user_form_fields, "admin/users/display_name"
8
+ end
@@ -0,0 +1,33 @@
1
+ namespace :spree_wordsmith do
2
+ desc "Copies all migrations and assets (NOTE: This will be obsolete with Rails 3.1)"
3
+ task :install do
4
+ Rake::Task['spree_wordsmith:install:migrations'].invoke
5
+ Rake::Task['spree_wordsmith:install:config'].invoke
6
+ Rake::Task['spree_wordsmith:install:assets'].invoke
7
+ end
8
+
9
+ namespace :install do
10
+ desc "Copies all migrations (NOTE: This will be obsolete with Rails 3.1)"
11
+ task :migrations do
12
+ source = File.join(File.dirname(__FILE__), '..', '..', 'db')
13
+ destination = File.join(Rails.root, 'db')
14
+ Spree::FileUtilz.mirror_files(source, destination)
15
+ end
16
+
17
+ desc "Copies all assets (NOTE: This will be obsolete with Rails 3.1)"
18
+ task :assets do
19
+ source = File.join(File.dirname(__FILE__), '..', '..', 'public')
20
+ destination = File.join(Rails.root, 'public')
21
+ puts "INFO: Mirroring assets from #{source} to #{destination}"
22
+ Spree::FileUtilz.mirror_files(source, destination)
23
+ end
24
+
25
+ desc "Copies all configuration files (NOTE: This will be obsolete with Rails 3.1)"
26
+ task :config do
27
+ wordsmith_example_filename = 'spree_wordsmith.yml.example'
28
+ source = File.join(File.dirname(__FILE__), '..', '..', 'config', wordsmith_example_filename)
29
+ destination = File.join(Rails.root, 'config', wordsmith_example_filename)
30
+ Spree::FileUtilz.mirror_files(source, destination)
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,21 @@
1
+ # add custom rake tasks here
2
+ namespace :spree_wordsmith do
3
+ desc "Bootstrap your database for Spree."
4
+ task :bootstrap => :environment do
5
+ # load initial database fixtures (in db/sample/*.yml) into the current environment's database
6
+ ActiveRecord::Base.establish_connection(RAILS_ENV.to_sym)
7
+ Dir.glob(File.join(WordsmithExtension.root, "db", 'sample', '*.{yml,csv}')).each do |fixture_file|
8
+ Fixtures.create_fixtures("#{WordsmithExtension.root}/db/sample", File.basename(fixture_file, '.*'))
9
+ end
10
+ end
11
+ namespace :less do
12
+ desc 'Compile the ebagoo less stylesheet files'
13
+ task :compile do
14
+ `lessc #{File.dirname(__FILE__)}/../../app/stylesheets/wordsmith.less #{Rails.root}/public/stylesheets/wordsmith.css`
15
+ end
16
+ desc 'Watch and compile changes of the ebagoo less stylesheet files'
17
+ task :watch do
18
+ `lessc #{File.dirname(__FILE__)}/../../app/stylesheets/wordsmith.less #{Rails.root}/public/stylesheets/wordsmith.css --watch`
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,10 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+
3
+ describe Admin::PagesController do
4
+
5
+ #Delete this example and add some real ones
6
+ it "should use Admin::PagesController" do
7
+ controller.should be_an_instance_of(Admin::PagesController)
8
+ end
9
+
10
+ end
@@ -0,0 +1,10 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+
3
+ describe Admin::PostsController do
4
+
5
+ #Delete this example and add some real ones
6
+ it "should use Admin::PostsController" do
7
+ controller.should be_an_instance_of(Admin::PostsController)
8
+ end
9
+
10
+ end
@@ -0,0 +1,27 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe PostsController do
4
+
5
+ it "index action should render index template" do
6
+ get :index
7
+ response.should render_template(:index)
8
+ end
9
+
10
+ it "index action should render index template for rss with xml" do
11
+ get :index, :format => 'rss'
12
+ response.should render_template(:index)
13
+ response.content_type.should == 'application/rss+xml'
14
+ response.should have_tag('title', :text => Spree::Config[:site_name])
15
+ end
16
+
17
+ it "show action should render show template" do
18
+ get :show, :id => Post.first.to_param
19
+ response.should render_template(:show)
20
+ end
21
+
22
+ it "show action should not find post when is not active" do
23
+ post = Factory(:post_draft)
24
+ lambda { get :show, :id => post.to_param }.should raise_error(ActiveRecord::RecordNotFound)
25
+ end
26
+
27
+ end
@@ -0,0 +1,34 @@
1
+ Factory.define(:user) do |record|
2
+ record.email { Faker::Internet.email }
3
+ record.login { Faker::Internet.user_name }
4
+ record.password "spree"
5
+ record.password_confirmation "spree"
6
+
7
+ #record.bill_address { Factory(:address) }
8
+ #record.ship_address { Factory(:address) }
9
+ end
10
+
11
+
12
+ Factory.define :post do |p|
13
+ p.title {Faker::Lorem.words(4)}
14
+ p.body {Faker::Lorem.paragraphs(4)}
15
+ p.user { |user| user.association(:user) }
16
+ end
17
+
18
+ Factory.define :post_draft, :parent => :post do |p|
19
+ p.is_active {true}
20
+ end
21
+
22
+
23
+ Factory.define :comment do |c|
24
+ c.name { Faker::Name.name}
25
+ c.email { Faker::Internet.email }
26
+ c.url "http://#{Faker::Internet.domain_name}"
27
+ c.post { |post| post.association(:post) }
28
+ c.body { Faker::Lorem.paragraphs(2) }
29
+ c.user_ip "1.1.1.1"
30
+ c.user_agent "MyAgent"
31
+ c.referrer "referrer"
32
+ end
33
+
34
+
@@ -0,0 +1,9 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe Posts do
4
+
5
+ it "can return recent published posts" do
6
+ fail "Not Implemented!"
7
+ end
8
+
9
+ end
@@ -0,0 +1,39 @@
1
+ unless defined? SPREE_ROOT
2
+ ENV["RAILS_ENV"] = "test"
3
+ case
4
+ when ENV["SPREE_ENV_FILE"]
5
+ require ENV["SPREE_ENV_FILE"]
6
+ when File.dirname(__FILE__) =~ %r{vendor/SPREE/vendor/extensions}
7
+ require "#{File.expand_path(File.dirname(__FILE__) + "/../../../../../../")}/config/environment"
8
+ else
9
+ require "#{File.expand_path(File.dirname(__FILE__) + "/../../../../")}/config/environment"
10
+ end
11
+ end
12
+ require "#{SPREE_ROOT}/spec/spec_helper"
13
+
14
+ if File.directory?(File.dirname(__FILE__) + "/scenarios")
15
+ Scenario.load_paths.unshift File.dirname(__FILE__) + "/scenarios"
16
+ end
17
+ if File.directory?(File.dirname(__FILE__) + "/matchers")
18
+ Dir[File.dirname(__FILE__) + "/matchers/*.rb"].each {|file| require file }
19
+ end
20
+
21
+ require File.expand_path(File.dirname(__FILE__) + "/factories")
22
+
23
+ Spec::Runner.configure do |config|
24
+ # config.use_transactional_fixtures = true
25
+ # config.use_instantiated_fixtures = false
26
+ # config.fixture_path = RAILS_ROOT + '/spec/fixtures'
27
+
28
+ # You can declare fixtures for each behaviour like this:
29
+ # describe "...." do
30
+ # fixtures :table_a, :table_b
31
+ #
32
+ # Alternatively, if you prefer to declare them only once, you can
33
+ # do so here, like so ...
34
+ #
35
+ # config.global_fixtures = :table_a, :table_b
36
+ #
37
+ # If you declare global fixtures, be aware that they will be declared
38
+ # for all of your examples, even those that don't use them.
39
+ end
metadata ADDED
@@ -0,0 +1,326 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: spree_wordsmith
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.1.0
6
+ platform: ruby
7
+ authors:
8
+ - Tonka Park
9
+ - Gyorgy Frivolt
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+
14
+ date: 2011-03-03 00:00:00 +01:00
15
+ default_executable:
16
+ dependencies:
17
+ - !ruby/object:Gem::Dependency
18
+ name: spree_wordsmith
19
+ requirement: &id001 !ruby/object:Gem::Requirement
20
+ none: false
21
+ requirements:
22
+ - - ">="
23
+ - !ruby/object:Gem::Version
24
+ version: "0"
25
+ type: :runtime
26
+ prerelease: false
27
+ version_requirements: *id001
28
+ - !ruby/object:Gem::Dependency
29
+ name: rspec
30
+ requirement: &id002 !ruby/object:Gem::Requirement
31
+ none: false
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: "0"
36
+ type: :development
37
+ prerelease: false
38
+ version_requirements: *id002
39
+ - !ruby/object:Gem::Dependency
40
+ name: factory_girl
41
+ requirement: &id003 !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: "0"
47
+ type: :development
48
+ prerelease: false
49
+ version_requirements: *id003
50
+ - !ruby/object:Gem::Dependency
51
+ name: rspec
52
+ requirement: &id004 !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ version: "0"
58
+ type: :development
59
+ prerelease: false
60
+ version_requirements: *id004
61
+ - !ruby/object:Gem::Dependency
62
+ name: factory_girl
63
+ requirement: &id005 !ruby/object:Gem::Requirement
64
+ none: false
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: "0"
69
+ type: :development
70
+ prerelease: false
71
+ version_requirements: *id005
72
+ - !ruby/object:Gem::Dependency
73
+ name: rspec
74
+ requirement: &id006 !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: "0"
80
+ type: :development
81
+ prerelease: false
82
+ version_requirements: *id006
83
+ - !ruby/object:Gem::Dependency
84
+ name: factory_girl
85
+ requirement: &id007 !ruby/object:Gem::Requirement
86
+ none: false
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: "0"
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: *id007
94
+ - !ruby/object:Gem::Dependency
95
+ name: rspec
96
+ requirement: &id008 !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ version: "0"
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: *id008
105
+ - !ruby/object:Gem::Dependency
106
+ name: factory_girl
107
+ requirement: &id009 !ruby/object:Gem::Requirement
108
+ none: false
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: "0"
113
+ type: :development
114
+ prerelease: false
115
+ version_requirements: *id009
116
+ - !ruby/object:Gem::Dependency
117
+ name: rspec
118
+ requirement: &id010 !ruby/object:Gem::Requirement
119
+ none: false
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: "0"
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: *id010
127
+ - !ruby/object:Gem::Dependency
128
+ name: factory_girl
129
+ requirement: &id011 !ruby/object:Gem::Requirement
130
+ none: false
131
+ requirements:
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ version: "0"
135
+ type: :development
136
+ prerelease: false
137
+ version_requirements: *id011
138
+ - !ruby/object:Gem::Dependency
139
+ name: rspec
140
+ requirement: &id012 !ruby/object:Gem::Requirement
141
+ none: false
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: "0"
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: *id012
149
+ - !ruby/object:Gem::Dependency
150
+ name: factory_girl
151
+ requirement: &id013 !ruby/object:Gem::Requirement
152
+ none: false
153
+ requirements:
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ version: "0"
157
+ type: :development
158
+ prerelease: false
159
+ version_requirements: *id013
160
+ - !ruby/object:Gem::Dependency
161
+ name: spree_core
162
+ requirement: &id014 !ruby/object:Gem::Requirement
163
+ none: false
164
+ requirements:
165
+ - - ~>
166
+ - !ruby/object:Gem::Version
167
+ version: 0.40.0
168
+ type: :runtime
169
+ prerelease: false
170
+ version_requirements: *id014
171
+ - !ruby/object:Gem::Dependency
172
+ name: spree_auth
173
+ requirement: &id015 !ruby/object:Gem::Requirement
174
+ none: false
175
+ requirements:
176
+ - - ~>
177
+ - !ruby/object:Gem::Version
178
+ version: 0.40.0
179
+ type: :runtime
180
+ prerelease: false
181
+ version_requirements: *id015
182
+ - !ruby/object:Gem::Dependency
183
+ name: is_taggable
184
+ requirement: &id016 !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ~>
188
+ - !ruby/object:Gem::Version
189
+ version: 0.1.0
190
+ type: :runtime
191
+ prerelease: false
192
+ version_requirements: *id016
193
+ - !ruby/object:Gem::Dependency
194
+ name: RedCloth
195
+ requirement: &id017 !ruby/object:Gem::Requirement
196
+ none: false
197
+ requirements:
198
+ - - ~>
199
+ - !ruby/object:Gem::Version
200
+ version: 4.2.3
201
+ type: :runtime
202
+ prerelease: false
203
+ version_requirements: *id017
204
+ - !ruby/object:Gem::Dependency
205
+ name: disqus
206
+ requirement: &id018 !ruby/object:Gem::Requirement
207
+ none: false
208
+ requirements:
209
+ - - ~>
210
+ - !ruby/object:Gem::Version
211
+ version: 1.0.4
212
+ type: :runtime
213
+ prerelease: false
214
+ version_requirements: *id018
215
+ - !ruby/object:Gem::Dependency
216
+ name: rspec
217
+ requirement: &id019 !ruby/object:Gem::Requirement
218
+ none: false
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: "0"
223
+ type: :development
224
+ prerelease: false
225
+ version_requirements: *id019
226
+ - !ruby/object:Gem::Dependency
227
+ name: factory_girl
228
+ requirement: &id020 !ruby/object:Gem::Requirement
229
+ none: false
230
+ requirements:
231
+ - - ">="
232
+ - !ruby/object:Gem::Version
233
+ version: "0"
234
+ type: :development
235
+ prerelease: false
236
+ version_requirements: *id020
237
+ description: Have blog posts and pages with information about your spree shop!
238
+ email: fifigyuri@gmail.com
239
+ executables: []
240
+
241
+ extensions: []
242
+
243
+ extra_rdoc_files:
244
+ - README.markdown
245
+ files:
246
+ - app/controllers/admin/pages_controller.rb
247
+ - app/controllers/admin/posts_controller.rb
248
+ - app/controllers/admin/wordsmith_settings_controller.rb
249
+ - app/controllers/pages_controller.rb
250
+ - app/controllers/posts_controller.rb
251
+ - app/helpers/wordsmith_helper.rb
252
+ - app/models/ability_decorator.rb
253
+ - app/models/page.rb
254
+ - app/models/post.rb
255
+ - app/models/ws_item.rb
256
+ - app/stylesheets/wordsmith.less
257
+ - app/views/admin/pages/_form.html.erb
258
+ - app/views/admin/pages/edit.html.erb
259
+ - app/views/admin/pages/index.html.erb
260
+ - app/views/admin/pages/new.html.erb
261
+ - app/views/admin/posts/_form.html.erb
262
+ - app/views/admin/posts/edit.html.erb
263
+ - app/views/admin/posts/index.html.erb
264
+ - app/views/admin/posts/new.html.erb
265
+ - app/views/admin/posts/show.html.erb
266
+ - app/views/admin/shared/_wordsmith_sub_menu.html.erb
267
+ - app/views/admin/users/_display_name.html.erb
268
+ - app/views/admin/wordsmith_settings/edit.html.erb
269
+ - app/views/admin/wordsmith_settings/show.html.erb
270
+ - app/views/content/show.html.erb
271
+ - app/views/pages/index.html.erb
272
+ - app/views/pages/show.html.erb
273
+ - app/views/posts/_post.html.erb
274
+ - app/views/posts/index.html.erb
275
+ - app/views/posts/index.rss.builder
276
+ - app/views/posts/show.html.erb
277
+ - app/views/posts/tags.html.erb
278
+ - app/views/shared/_recent_articles.html.erb
279
+ - app/views/shared/_wordsmith_content_for.html.erb
280
+ - lib/extensions/string.rb
281
+ - lib/spree_wordsmith.rb
282
+ - lib/spree_wordsmith_hooks.rb
283
+ - lib/tasks/install.rake
284
+ - lib/tasks/spree_wordsmith.rake
285
+ - README.markdown
286
+ - spec/controllers/admin/pages_controller_spec.rb
287
+ - spec/controllers/admin/posts_controller_spec.rb
288
+ - spec/controllers/posts_controller_spec.rb
289
+ - spec/factories.rb
290
+ - spec/models/posts_spec.rb
291
+ - spec/spec_helper.rb
292
+ has_rdoc: true
293
+ homepage: http://github.com/fifigyuri/spree-wordsmith
294
+ licenses: []
295
+
296
+ post_install_message:
297
+ rdoc_options: []
298
+
299
+ require_paths:
300
+ - lib
301
+ required_ruby_version: !ruby/object:Gem::Requirement
302
+ none: false
303
+ requirements:
304
+ - - ">="
305
+ - !ruby/object:Gem::Version
306
+ version: 1.8.7
307
+ required_rubygems_version: !ruby/object:Gem::Requirement
308
+ none: false
309
+ requirements:
310
+ - - ">="
311
+ - !ruby/object:Gem::Version
312
+ version: "0"
313
+ requirements:
314
+ - none
315
+ rubyforge_project:
316
+ rubygems_version: 1.5.2
317
+ signing_key:
318
+ specification_version: 3
319
+ summary: A blog/cms extension for spree.
320
+ test_files:
321
+ - spec/controllers/admin/pages_controller_spec.rb
322
+ - spec/controllers/admin/posts_controller_spec.rb
323
+ - spec/controllers/posts_controller_spec.rb
324
+ - spec/factories.rb
325
+ - spec/models/posts_spec.rb
326
+ - spec/spec_helper.rb