refinerycms-blog 2.0.5 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +4 -1
  3. data/.travis.yml +3 -9
  4. data/Gemfile +10 -11
  5. data/app/assets/images/refinery/blog/icons/add.png +0 -0
  6. data/app/assets/stylesheets/refinery/blog/backend.css.scss +25 -25
  7. data/app/assets/stylesheets/refinery/blog/frontend.css.scss +87 -76
  8. data/app/controllers/refinery/blog/admin/comments_controller.rb +19 -19
  9. data/app/controllers/refinery/blog/admin/posts_controller.rb +9 -4
  10. data/app/controllers/refinery/blog/categories_controller.rb +1 -1
  11. data/app/controllers/refinery/blog/posts_controller.rb +12 -11
  12. data/app/helpers/refinery/blog/controller_helper.rb +7 -7
  13. data/app/helpers/refinery/blog/posts_helper.rb +5 -0
  14. data/app/models/refinery/blog/categorization.rb +12 -0
  15. data/app/models/refinery/blog/category.rb +14 -4
  16. data/app/models/refinery/blog/comment.rb +0 -9
  17. data/app/models/refinery/blog/post.rb +55 -13
  18. data/app/views/refinery/blog/admin/_submenu.html.erb +1 -4
  19. data/app/views/refinery/blog/admin/categories/_category.html.erb +11 -3
  20. data/app/views/refinery/blog/admin/categories/_form.html.erb +10 -11
  21. data/app/views/refinery/blog/admin/categories/_sortable_list.html.erb +2 -4
  22. data/app/views/refinery/blog/admin/categories/edit.html.erb +1 -1
  23. data/app/views/refinery/blog/admin/categories/index.html.erb +9 -15
  24. data/app/views/refinery/blog/admin/categories/new.html.erb +1 -1
  25. data/app/views/refinery/blog/admin/comments/_comment.html.erb +4 -2
  26. data/app/views/refinery/blog/admin/comments/_sortable_list.html.erb +2 -4
  27. data/app/views/refinery/blog/admin/comments/index.html.erb +14 -23
  28. data/app/views/refinery/blog/admin/comments/show.html.erb +6 -4
  29. data/app/views/refinery/blog/admin/posts/_form.html.erb +18 -26
  30. data/app/views/refinery/blog/admin/posts/_post.html.erb +14 -1
  31. data/app/views/refinery/blog/admin/posts/_sortable_list.html.erb +2 -4
  32. data/app/views/refinery/blog/admin/posts/edit.html.erb +1 -1
  33. data/app/views/refinery/blog/admin/posts/index.html.erb +9 -15
  34. data/app/views/refinery/blog/admin/posts/new.html.erb +1 -1
  35. data/app/views/refinery/blog/admin/posts/uncategorized.html.erb +2 -2
  36. data/app/views/refinery/blog/admin/settings/notification_recipients.html.erb +5 -7
  37. data/app/views/refinery/blog/categories/show.html.erb +2 -2
  38. data/app/views/refinery/blog/comment_mailer/notification.html.erb +5 -0
  39. data/app/views/refinery/blog/posts/_comment.html.erb +1 -1
  40. data/app/views/refinery/blog/posts/_comments.html.erb +28 -31
  41. data/app/views/refinery/blog/posts/_post.html.erb +3 -3
  42. data/app/views/refinery/blog/posts/archive.html.erb +6 -5
  43. data/app/views/refinery/blog/posts/index.html.erb +3 -3
  44. data/app/views/refinery/blog/posts/show.html.erb +4 -6
  45. data/app/views/refinery/blog/posts/tagged.html.erb +4 -4
  46. data/app/views/refinery/blog/shared/_body_content_right.html.erb +6 -6
  47. data/app/views/refinery/blog/shared/_post.html.erb +11 -13
  48. data/app/views/refinery/blog/shared/_rss_feed.html.erb +2 -0
  49. data/config/initializers/url_validator.rb +15 -11
  50. data/config/locales/bg.yml +2 -4
  51. data/config/locales/cs.yml +6 -8
  52. data/config/locales/de.yml +27 -8
  53. data/config/locales/en.yml +9 -6
  54. data/config/locales/es.yml +2 -4
  55. data/config/locales/fr.yml +23 -7
  56. data/config/locales/it.yml +2 -4
  57. data/config/locales/ja.yml +16 -5
  58. data/config/locales/nb.yml +0 -2
  59. data/config/locales/nl.yml +21 -7
  60. data/config/locales/pl.yml +3 -5
  61. data/config/locales/pt-BR.yml +38 -7
  62. data/config/locales/ru.yml +35 -2
  63. data/config/locales/sk.yml +4 -6
  64. data/config/locales/sv.yml +2 -4
  65. data/config/locales/zh-CN.yml +2 -4
  66. data/config/routes.rb +3 -3
  67. data/db/migrate/20110803223522_create_blog_structure.rb +15 -14
  68. data/db/migrate/20110803223523_add_user_id_to_blog_posts.rb +2 -2
  69. data/db/migrate/20110803223526_add_cached_slugs.rb +2 -2
  70. data/db/migrate/20110803223527_add_custom_url_field_to_blog_posts.rb +1 -1
  71. data/db/migrate/20110803223528_add_custom_teaser_field_to_blog_posts.rb +1 -1
  72. data/db/migrate/20110803223529_add_primary_key_to_categorizations.rb +4 -4
  73. data/db/migrate/20120530102901_create_blog_translations.rb +17 -0
  74. data/db/migrate/20120531113632_delete_cached_slugs.rb +6 -0
  75. data/db/migrate/20120601151114_create_category_translations.rb +14 -0
  76. data/db/seeds.rb +2 -2
  77. data/lib/generators/refinery/blog/templates/config/initializers/refinery/blog.rb.erb +3 -0
  78. data/lib/refinery/blog.rb +1 -0
  79. data/lib/refinery/blog/configuration.rb +23 -0
  80. data/readme.md +3 -3
  81. data/refinerycms-blog.gemspec +8 -14
  82. data/spec/controllers/refinery/blog/admin/comments_controller_spec.rb +84 -0
  83. data/spec/controllers/refinery/blog/posts_controller_spec.rb +0 -2
  84. data/spec/factories/blog_posts.rb +2 -2
  85. data/spec/features/refinery/blog/admin/categories_spec.rb +119 -0
  86. data/spec/{requests → features}/refinery/blog/admin/comments_spec.rb +9 -9
  87. data/spec/{requests → features}/refinery/blog/admin/menu_spec.rb +2 -2
  88. data/spec/features/refinery/blog/admin/posts_spec.rb +338 -0
  89. data/spec/features/refinery/blog/categories_spec.rb +28 -0
  90. data/spec/{requests → features}/refinery/blog/posts_spec.rb +62 -42
  91. data/spec/helpers/refinery/blog/controller_helper_spec.rb +27 -0
  92. data/spec/helpers/refinery/blog/posts_helper_spec.rb +12 -0
  93. data/spec/models/refinery/blog/category_spec.rb +10 -2
  94. data/spec/models/refinery/blog/post_spec.rb +21 -17
  95. data/spec/spec_helper.rb +20 -46
  96. metadata +41 -38
  97. data/Guardfile +0 -20
  98. data/app/assets/images/refinerycms-blog/.gitkeep +0 -0
  99. data/app/assets/javascripts/refinerycms-blog/.gitkeep +0 -0
  100. data/app/assets/stylesheets/refinerycms-blog/.gitkeep +0 -0
  101. data/app/models/refinery/categorization.rb +0 -10
  102. data/app/views/refinery/blog/admin/comments/approve.html.erb +0 -0
  103. data/lib/refinery/blog/version.rb +0 -17
  104. data/spec/requests/refinery/blog/admin/categories_spec.rb +0 -20
  105. data/spec/requests/refinery/blog/admin/posts_spec.rb +0 -175
  106. data/spec/requests/refinery/blog/categories_spec.rb +0 -24
@@ -0,0 +1,27 @@
1
+ require 'spec_helper'
2
+
3
+ module Refinery
4
+ module Blog
5
+ describe ControllerHelper do
6
+ describe "#find_tags" do
7
+ let(:tags) { helper.find_tags }
8
+
9
+ context "with draft posts" do
10
+ let!(:blog_post) { FactoryGirl.create(:blog_post, :draft => true, :tag_list => "first, second" ) }
11
+
12
+ it "does not return tags" do
13
+ expect(tags).to be_empty
14
+ end
15
+ end
16
+
17
+ context "with live posts" do
18
+ let!(:blog_post) { FactoryGirl.create(:blog_post, :tag_list => "first, second" ) }
19
+
20
+ it "does return tags" do
21
+ expect(tags).to_not be_empty
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -66,6 +66,18 @@ module Refinery
66
66
  end
67
67
  end
68
68
  end
69
+
70
+ describe "#avatar_url" do
71
+ let(:email) { "test@test.com" }
72
+
73
+ it "returns gravatar url" do
74
+ helper.avatar_url(email).should eq("http://gravatar.com/avatar/b642b4217b34b1e8d3bd915fc65c4452?s=60.jpg")
75
+ end
76
+
77
+ it "accepts options hash to change default size" do
78
+ helper.avatar_url(email, :size => 55).should eq("http://gravatar.com/avatar/b642b4217b34b1e8d3bd915fc65c4452?s=55.jpg")
79
+ end
80
+ end
69
81
  end
70
82
  end
71
83
  end
@@ -4,6 +4,7 @@ module Refinery
4
4
  module Blog
5
5
  describe Category do
6
6
  let(:category) { FactoryGirl.create(:blog_category) }
7
+ let(:refinery_user) { FactoryGirl.create(:refinery_user) }
7
8
 
8
9
  describe "validations" do
9
10
  it "requires title" do
@@ -21,8 +22,15 @@ module Refinery
21
22
  end
22
23
 
23
24
  it "returns posts by published_at date in descending order" do
24
- first_post = category.posts.create!({ :title => "Breaking News: Joe Sak is hot stuff you guys!!", :body => "True story.", :published_at => Time.now.yesterday })
25
- latest_post = category.posts.create!({ :title => "parndt is p. okay", :body => "For a Kiwi.", :published_at => Time.now })
25
+ first_post = category.posts.create!({ :title => "Breaking News: Joe Sak is hot stuff you guys!!",
26
+ :body => "True story.",
27
+ :published_at => Time.now.yesterday,
28
+ :author => refinery_user })
29
+
30
+ latest_post = category.posts.create!({ :title => "parndt is p. okay",
31
+ :body => "For a Kiwi.",
32
+ :published_at => Time.now,
33
+ :author => refinery_user })
26
34
 
27
35
  category.posts.first.should == latest_post
28
36
  end
@@ -42,8 +42,10 @@ module Refinery
42
42
  it "acts as taggable" do
43
43
  post.should respond_to(:tag_list)
44
44
 
45
- #the factory has default tags, including 'chicago'
46
- post.tag_list.should include("chicago")
45
+ post.tag_list = "refinery, cms"
46
+ post.save!
47
+
48
+ post.tag_list.should include("refinery")
47
49
  end
48
50
  end
49
51
 
@@ -53,7 +55,7 @@ module Refinery
53
55
  end
54
56
  end
55
57
 
56
- describe "by_archive" do
58
+ describe "by_month" do
57
59
  before do
58
60
  @post1 = FactoryGirl.create(:blog_post, :published_at => Date.new(2011, 3, 11))
59
61
  @post2 = FactoryGirl.create(:blog_post, :published_at => Date.new(2011, 3, 12))
@@ -65,22 +67,22 @@ module Refinery
65
67
  it "returns all posts from specified month" do
66
68
  #check for this month
67
69
  date = "03/2011"
68
- described_class.by_archive(Time.parse(date)).count.should be == 2
69
- described_class.by_archive(Time.parse(date)).should == [@post2, @post1]
70
+ described_class.by_month(Time.parse(date)).count.should be == 2
71
+ described_class.by_month(Time.parse(date)).should == [@post2, @post1]
70
72
  end
71
73
  end
72
74
 
73
75
  describe ".published_dates_older_than" do
74
76
  before do
75
- @post1 = FactoryGirl.create(:blog_post, :published_at => Time.now - 2.months)
76
- @post2 = FactoryGirl.create(:blog_post, :published_at => Time.now - 1.month)
77
+ @post1 = FactoryGirl.create(:blog_post, :published_at => Time.utc(2012, 05, 01, 15, 20))
78
+ @post2 = FactoryGirl.create(:blog_post, :published_at => Time.utc(2012, 05, 01, 15, 30))
77
79
  FactoryGirl.create(:blog_post, :published_at => Time.now)
78
80
  end
79
81
 
80
82
  it "returns all published dates older than the argument" do
81
83
  expected = [@post2.published_at, @post1.published_at]
82
84
 
83
- described_class.published_dates_older_than(1.day.ago).should eq(expected)
85
+ described_class.published_dates_older_than(5.minutes.ago).should eq(expected)
84
86
  end
85
87
  end
86
88
 
@@ -114,21 +116,21 @@ module Refinery
114
116
 
115
117
  describe "#live?" do
116
118
  it "returns true if post is not in draft and it's published" do
117
- Factory.build(:blog_post).should be_live
119
+ FactoryGirl.build(:blog_post).should be_live
118
120
  end
119
121
 
120
122
  it "returns false if post is in draft" do
121
- Factory.build(:blog_post, :draft => true).should_not be_live
123
+ FactoryGirl.build(:blog_post, :draft => true).should_not be_live
122
124
  end
123
125
 
124
126
  it "returns false if post pub date is in future" do
125
- Factory.build(:blog_post, :published_at => Time.now.advance(:minutes => 1)).should_not be_live
127
+ FactoryGirl.build(:blog_post, :published_at => Time.now.advance(:minutes => 1)).should_not be_live
126
128
  end
127
129
  end
128
130
 
129
131
  describe "#next" do
130
132
  before do
131
- FactoryGirl.create(:blog_post, :published_at => Time.now.advance(:minutes => -1))
133
+ FactoryGirl.create(:blog_post, :published_at => Time.now.advance(:days => -1))
132
134
  @post = FactoryGirl.create(:blog_post)
133
135
  end
134
136
 
@@ -140,7 +142,7 @@ module Refinery
140
142
  describe "#prev" do
141
143
  before do
142
144
  FactoryGirl.create(:blog_post)
143
- @post = FactoryGirl.create(:blog_post, :published_at => Time.now.advance(:minutes => -1))
145
+ @post = FactoryGirl.create(:blog_post, :published_at => Time.now.advance(:days => -1))
144
146
  end
145
147
 
146
148
  it "returns previous article when called on current article" do
@@ -197,7 +199,7 @@ module Refinery
197
199
  end
198
200
  end
199
201
  end
200
-
202
+
201
203
  describe "source url" do
202
204
  it "should allow a source url and title" do
203
205
  p = FactoryGirl.create(:blog_post, :source_url => 'google.com', :source_url_title => 'author')
@@ -206,13 +208,15 @@ module Refinery
206
208
  p.source_url_title.should include('author')
207
209
  end
208
210
  end
209
-
211
+
210
212
  describe ".validate_source_url?" do
211
213
  context "with Refinery::Blog.validate_source_url set to true" do
212
214
  before do
213
215
  Refinery::Blog.validate_source_url = true
214
- end
216
+ end
215
217
  it "should have canonical url" do
218
+ UrlValidator.any_instance.should_receive(:resolve_redirects_verify_url).
219
+ and_return('http://www.google.com')
216
220
  p = FactoryGirl.create(:blog_post, :source_url => 'google.com', :source_url_title => 'google')
217
221
  p.source_url.should include('www')
218
222
  end
@@ -227,7 +231,7 @@ module Refinery
227
231
  end
228
232
  end
229
233
  end
230
-
234
+
231
235
  end
232
236
  end
233
237
  end
@@ -1,56 +1,30 @@
1
1
  require 'rubygems'
2
2
 
3
- def setup_environment
4
- # Configure Rails Environment
5
- ENV["RAILS_ENV"] ||= 'test'
3
+ # Configure Rails Environment
4
+ ENV["RAILS_ENV"] ||= 'test'
6
5
 
7
- require File.expand_path("../dummy/config/environment", __FILE__)
6
+ require File.expand_path("../dummy/config/environment", __FILE__)
8
7
 
9
- require 'rspec/rails'
10
- require 'capybara/rspec'
11
- require 'factory_girl_rails'
8
+ require 'rspec/rails'
9
+ require 'capybara/rspec'
10
+ require 'factory_girl_rails'
12
11
 
13
- Rails.backtrace_cleaner.remove_silencers!
12
+ Rails.backtrace_cleaner.remove_silencers!
14
13
 
15
- RSpec.configure do |config|
16
- config.mock_with :rspec
17
- config.treat_symbols_as_metadata_keys_with_true_values = true
18
- config.filter_run :focus => true
19
- config.run_all_when_everything_filtered = true
20
- end
21
-
22
- # set javascript driver for capybara
23
- Capybara.javascript_driver = :selenium
24
- end
25
-
26
- def each_run
27
- ActiveSupport::Dependencies.clear
28
-
29
- FactoryGirl.reload
30
-
31
- # Requires supporting files with custom matchers and macros, etc,
32
- # in ./support/ and its subdirectories including factories.
33
- ([Rails.root.to_s] | ::Refinery::Plugins.registered.pathnames).map{|p|
34
- Dir[File.join(p, 'spec', 'support', '**', '*.rb').to_s]
35
- }.flatten.sort.each do |support_file|
36
- require support_file
37
- end
14
+ RSpec.configure do |config|
15
+ config.mock_with :rspec
16
+ config.treat_symbols_as_metadata_keys_with_true_values = true
17
+ config.filter_run :focus => true
18
+ config.run_all_when_everything_filtered = true
38
19
  end
39
20
 
40
- # If spork is available in the Gemfile it'll be used but we don't force it.
41
- unless (begin; require 'spork'; rescue LoadError; nil end).nil?
42
- Spork.prefork do
43
- # Loading more in this block will cause your tests to run faster. However,
44
- # if you change any configuration or code from libraries loaded here, you'll
45
- # need to restart spork for it take effect.
46
- setup_environment
47
- end
21
+ # set javascript driver for capybara
22
+ Capybara.javascript_driver = :selenium
48
23
 
49
- Spork.each_run do
50
- # This code will be run each time you run your specs.
51
- each_run
52
- end
53
- else
54
- setup_environment
55
- each_run
24
+ # Requires supporting files with custom matchers and macros, etc,
25
+ # in ./support/ and its subdirectories including factories.
26
+ ([Rails.root.to_s] | ::Refinery::Plugins.registered.pathnames).map{|p|
27
+ Dir[File.join(p, 'spec', 'support', '**', '*.rb').to_s]
28
+ }.flatten.sort.each do |support_file|
29
+ require support_file
56
30
  end
metadata CHANGED
@@ -1,15 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: refinerycms-blog
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.5
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
- - Resolve Digital
8
- - Neoteric Design
7
+ - Philip Arndt
8
+ - Uģis Ozols
9
+ - Joe Sak
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2013-07-26 00:00:00.000000000 Z
13
+ date: 2013-10-22 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: refinerycms-core
@@ -17,28 +18,28 @@ dependencies:
17
18
  requirements:
18
19
  - - ~>
19
20
  - !ruby/object:Gem::Version
20
- version: 2.0.3
21
+ version: 2.1.0
21
22
  type: :runtime
22
23
  prerelease: false
23
24
  version_requirements: !ruby/object:Gem::Requirement
24
25
  requirements:
25
26
  - - ~>
26
27
  - !ruby/object:Gem::Version
27
- version: 2.0.3
28
+ version: 2.1.0
28
29
  - !ruby/object:Gem::Dependency
29
30
  name: refinerycms-settings
30
31
  requirement: !ruby/object:Gem::Requirement
31
32
  requirements:
32
33
  - - ~>
33
34
  - !ruby/object:Gem::Version
34
- version: 2.0.1
35
+ version: 2.1.0
35
36
  type: :runtime
36
37
  prerelease: false
37
38
  version_requirements: !ruby/object:Gem::Requirement
38
39
  requirements:
39
40
  - - ~>
40
41
  - !ruby/object:Gem::Version
41
- version: 2.0.1
42
+ version: 2.1.0
42
43
  - !ruby/object:Gem::Dependency
43
44
  name: filters_spam
44
45
  requirement: !ruby/object:Gem::Requirement
@@ -73,42 +74,42 @@ dependencies:
73
74
  requirements:
74
75
  - - ~>
75
76
  - !ruby/object:Gem::Version
76
- version: 1.3.0
77
+ version: 1.4.0
77
78
  type: :runtime
78
79
  prerelease: false
79
80
  version_requirements: !ruby/object:Gem::Requirement
80
81
  requirements:
81
82
  - - ~>
82
83
  - !ruby/object:Gem::Version
83
- version: 1.3.0
84
+ version: 1.4.0
84
85
  - !ruby/object:Gem::Dependency
85
86
  name: rails_autolink
86
87
  requirement: !ruby/object:Gem::Requirement
87
88
  requirements:
88
- - - '>='
89
+ - - ~>
89
90
  - !ruby/object:Gem::Version
90
- version: '0'
91
+ version: 1.0.7
91
92
  type: :runtime
92
93
  prerelease: false
93
94
  version_requirements: !ruby/object:Gem::Requirement
94
95
  requirements:
95
- - - '>='
96
+ - - ~>
96
97
  - !ruby/object:Gem::Version
97
- version: '0'
98
+ version: 1.0.7
98
99
  - !ruby/object:Gem::Dependency
99
- name: refinerycms-testing
100
+ name: friendly_id
100
101
  requirement: !ruby/object:Gem::Requirement
101
102
  requirements:
102
103
  - - ~>
103
104
  - !ruby/object:Gem::Version
104
- version: 2.0.0
105
- type: :development
105
+ version: 4.0.4
106
+ type: :runtime
106
107
  prerelease: false
107
108
  version_requirements: !ruby/object:Gem::Requirement
108
109
  requirements:
109
110
  - - ~>
110
111
  - !ruby/object:Gem::Version
111
- version: 2.0.0
112
+ version: 4.0.4
112
113
  description: A really straightforward open source Ruby on Rails blog engine designed
113
114
  for integration with Refinery CMS.
114
115
  email: info@refinerycms.com
@@ -120,8 +121,8 @@ files:
120
121
  - .rspec
121
122
  - .travis.yml
122
123
  - Gemfile
123
- - Guardfile
124
124
  - Rakefile
125
+ - app/assets/images/refinery/blog/icons/add.png
125
126
  - app/assets/images/refinery/blog/icons/cog.png
126
127
  - app/assets/images/refinery/blog/icons/comment.png
127
128
  - app/assets/images/refinery/blog/icons/comment_cross.png
@@ -136,10 +137,8 @@ files:
136
137
  - app/assets/images/refinery/blog/icons/page_copy.png
137
138
  - app/assets/images/refinery/blog/icons/up.gif
138
139
  - app/assets/images/refinery/blog/rss-feed.png
139
- - app/assets/images/refinerycms-blog/.gitkeep
140
140
  - app/assets/javascripts/refinery/blog/backend.js
141
141
  - app/assets/javascripts/refinery/blog/frontend.js
142
- - app/assets/javascripts/refinerycms-blog/.gitkeep
143
142
  - app/assets/stylesheets/refinery/blog/backend.css.scss
144
143
  - app/assets/stylesheets/refinery/blog/frontend.css.scss
145
144
  - app/assets/stylesheets/refinery/blog/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png
@@ -157,7 +156,6 @@ files:
157
156
  - app/assets/stylesheets/refinery/blog/ui-lightness/images/ui-icons_ffd27a_256x240.png
158
157
  - app/assets/stylesheets/refinery/blog/ui-lightness/images/ui-icons_ffffff_256x240.png
159
158
  - app/assets/stylesheets/refinery/blog/ui-lightness/jquery-ui-1.8.13.custom.css.scss
160
- - app/assets/stylesheets/refinerycms-blog/.gitkeep
161
159
  - app/controllers/.gitkeep
162
160
  - app/controllers/refinery/blog/admin/categories_controller.rb
163
161
  - app/controllers/refinery/blog/admin/comments_controller.rb
@@ -171,10 +169,10 @@ files:
171
169
  - app/helpers/refinery/blog/posts_helper.rb
172
170
  - app/mailers/refinery/blog/comment_mailer.rb
173
171
  - app/models/.gitkeep
172
+ - app/models/refinery/blog/categorization.rb
174
173
  - app/models/refinery/blog/category.rb
175
174
  - app/models/refinery/blog/comment.rb
176
175
  - app/models/refinery/blog/post.rb
177
- - app/models/refinery/categorization.rb
178
176
  - app/views/.gitkeep
179
177
  - app/views/refinery/blog/admin/_submenu.html.erb
180
178
  - app/views/refinery/blog/admin/categories/_category.html.erb
@@ -185,7 +183,6 @@ files:
185
183
  - app/views/refinery/blog/admin/categories/new.html.erb
186
184
  - app/views/refinery/blog/admin/comments/_comment.html.erb
187
185
  - app/views/refinery/blog/admin/comments/_sortable_list.html.erb
188
- - app/views/refinery/blog/admin/comments/approve.html.erb
189
186
  - app/views/refinery/blog/admin/comments/index.html.erb
190
187
  - app/views/refinery/blog/admin/comments/show.html.erb
191
188
  - app/views/refinery/blog/admin/posts/_form.html.erb
@@ -246,6 +243,9 @@ files:
246
243
  - db/migrate/20120103055909_add_source_url_to_blog_posts.rb
247
244
  - db/migrate/20120223022021_add_access_count_to_posts.rb
248
245
  - db/migrate/20120227022021_add_slug_to_posts_and_categories.rb
246
+ - db/migrate/20120530102901_create_blog_translations.rb
247
+ - db/migrate/20120531113632_delete_cached_slugs.rb
248
+ - db/migrate/20120601151114_create_category_translations.rb
249
249
  - db/seeds.rb
250
250
  - lib/generators/refinery/blog/blog_generator.rb
251
251
  - lib/generators/refinery/blog/templates/config/initializers/refinery/blog.rb.erb
@@ -253,26 +253,27 @@ files:
253
253
  - lib/refinery/blog/configuration.rb
254
254
  - lib/refinery/blog/engine.rb
255
255
  - lib/refinery/blog/tabs.rb
256
- - lib/refinery/blog/version.rb
257
256
  - lib/refinerycms-blog.rb
258
257
  - readme.md
259
258
  - refinerycms-blog.gemspec
260
259
  - script/rails
260
+ - spec/controllers/refinery/blog/admin/comments_controller_spec.rb
261
261
  - spec/controllers/refinery/blog/posts_controller_spec.rb
262
262
  - spec/factories/blog_categories.rb
263
263
  - spec/factories/blog_comments.rb
264
264
  - spec/factories/blog_posts.rb
265
+ - spec/features/refinery/blog/admin/categories_spec.rb
266
+ - spec/features/refinery/blog/admin/comments_spec.rb
267
+ - spec/features/refinery/blog/admin/menu_spec.rb
268
+ - spec/features/refinery/blog/admin/posts_spec.rb
269
+ - spec/features/refinery/blog/categories_spec.rb
270
+ - spec/features/refinery/blog/posts_spec.rb
271
+ - spec/helpers/refinery/blog/controller_helper_spec.rb
265
272
  - spec/helpers/refinery/blog/posts_helper_spec.rb
266
273
  - spec/lib/refinery/blog/engine_spec.rb
267
274
  - spec/models/refinery/blog/category_spec.rb
268
275
  - spec/models/refinery/blog/comment_spec.rb
269
276
  - spec/models/refinery/blog/post_spec.rb
270
- - spec/requests/refinery/blog/admin/categories_spec.rb
271
- - spec/requests/refinery/blog/admin/comments_spec.rb
272
- - spec/requests/refinery/blog/admin/menu_spec.rb
273
- - spec/requests/refinery/blog/admin/posts_spec.rb
274
- - spec/requests/refinery/blog/categories_spec.rb
275
- - spec/requests/refinery/blog/posts_spec.rb
276
277
  - spec/spec_helper.rb
277
278
  - tasks/rspec.rake
278
279
  - todo.md
@@ -296,25 +297,27 @@ required_rubygems_version: !ruby/object:Gem::Requirement
296
297
  version: '0'
297
298
  requirements: []
298
299
  rubyforge_project:
299
- rubygems_version: 2.0.3
300
+ rubygems_version: 2.1.0
300
301
  signing_key:
301
302
  specification_version: 4
302
303
  summary: Ruby on Rails blogging engine for Refinery CMS.
303
304
  test_files:
305
+ - spec/controllers/refinery/blog/admin/comments_controller_spec.rb
304
306
  - spec/controllers/refinery/blog/posts_controller_spec.rb
305
307
  - spec/factories/blog_categories.rb
306
308
  - spec/factories/blog_comments.rb
307
309
  - spec/factories/blog_posts.rb
310
+ - spec/features/refinery/blog/admin/categories_spec.rb
311
+ - spec/features/refinery/blog/admin/comments_spec.rb
312
+ - spec/features/refinery/blog/admin/menu_spec.rb
313
+ - spec/features/refinery/blog/admin/posts_spec.rb
314
+ - spec/features/refinery/blog/categories_spec.rb
315
+ - spec/features/refinery/blog/posts_spec.rb
316
+ - spec/helpers/refinery/blog/controller_helper_spec.rb
308
317
  - spec/helpers/refinery/blog/posts_helper_spec.rb
309
318
  - spec/lib/refinery/blog/engine_spec.rb
310
319
  - spec/models/refinery/blog/category_spec.rb
311
320
  - spec/models/refinery/blog/comment_spec.rb
312
321
  - spec/models/refinery/blog/post_spec.rb
313
- - spec/requests/refinery/blog/admin/categories_spec.rb
314
- - spec/requests/refinery/blog/admin/comments_spec.rb
315
- - spec/requests/refinery/blog/admin/menu_spec.rb
316
- - spec/requests/refinery/blog/admin/posts_spec.rb
317
- - spec/requests/refinery/blog/categories_spec.rb
318
- - spec/requests/refinery/blog/posts_spec.rb
319
322
  - spec/spec_helper.rb
320
323
  has_rdoc: