tylerrick-bcms_blog 1.0.5
Sign up to get free protection for your applications and to get access to all the features.
- data/README.markdown +63 -0
- data/app/controllers/application_controller.rb +10 -0
- data/app/controllers/cms/blog_comments_controller.rb +3 -0
- data/app/controllers/cms/blog_posts_controller.rb +35 -0
- data/app/controllers/cms/blogs_controller.rb +11 -0
- data/app/helpers/application_helper.rb +3 -0
- data/app/helpers/cms/blog_helper.rb +11 -0
- data/app/models/blog.rb +143 -0
- data/app/models/blog_comment.rb +28 -0
- data/app/models/blog_group_membership.rb +4 -0
- data/app/models/blog_post.rb +101 -0
- data/app/portlets/blog_post_portlet.rb +38 -0
- data/app/views/cms/blog_comments/_form.html.erb +5 -0
- data/app/views/cms/blog_comments/render.html.erb +2 -0
- data/app/views/cms/blog_posts/_form.html.erb +11 -0
- data/app/views/cms/blog_posts/no_access.html.erb +9 -0
- data/app/views/cms/blog_posts/render.html.erb +1 -0
- data/app/views/cms/blogs/_form.html.erb +23 -0
- data/app/views/cms/blogs/admin_only.html.erb +9 -0
- data/app/views/cms/blogs/render.html.erb +2 -0
- data/app/views/partials/_blog_post.html.erb +106 -0
- data/app/views/partials/_blog_post.html.haml +91 -0
- data/app/views/portlets/blog_post/_form.html.erb +3 -0
- data/app/views/portlets/blog_post/render.html.erb +33 -0
- data/db/migrate/20090415000000_create_blogs.rb +45 -0
- data/db/migrate/20090415000001_create_blog_posts.rb +25 -0
- data/db/migrate/20090415000002_create_blog_comments.rb +19 -0
- data/db/migrate/20090415000003_add_attachment_to_blog_posts.rb +23 -0
- data/doc/README_FOR_APP +2 -0
- data/doc/migrate_to_20100427.rb +68 -0
- data/lib/bcms_blog/routes.rb +9 -0
- data/lib/bcms_blog.rb +1 -0
- data/rails/init.rb +4 -0
- data/test/factories.rb +31 -0
- data/test/functional/blog_post_test.rb +41 -0
- data/test/functional/blog_test.rb +69 -0
- data/test/functional/cms/blog_posts_controller_test.rb +43 -0
- data/test/functional/cms/blogs_controller_test.rb +12 -0
- data/test/performance/browsing_test.rb +9 -0
- data/test/test_helper.rb +104 -0
- data/test/test_logging.rb +64 -0
- data/test/unit/blog_post_test.rb +16 -0
- data/test/unit/blog_test.rb +23 -0
- metadata +96 -0
@@ -0,0 +1,64 @@
|
|
1
|
+
module TestLogging
|
2
|
+
def log(msg)
|
3
|
+
Rails.logger.info(msg)
|
4
|
+
end
|
5
|
+
|
6
|
+
def log_array(obj, *columns)
|
7
|
+
lengths = columns.map{|m| m.to_s.length }
|
8
|
+
|
9
|
+
obj.each do |r|
|
10
|
+
columns.each_with_index do |m, i|
|
11
|
+
v = r.send(m)
|
12
|
+
if v.to_s.length > lengths[i]
|
13
|
+
lengths[i] = v.to_s.length
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
str = " "
|
19
|
+
columns.each_with_index do |m, i|
|
20
|
+
str << "%#{lengths[i]}s" % m
|
21
|
+
str << " "
|
22
|
+
end
|
23
|
+
str << "\n "
|
24
|
+
|
25
|
+
columns.each_with_index do |m, i|
|
26
|
+
str << ("-"*lengths[i])
|
27
|
+
str << " "
|
28
|
+
end
|
29
|
+
str << "\n "
|
30
|
+
|
31
|
+
obj.each do |r|
|
32
|
+
columns.each_with_index do |m, i|
|
33
|
+
str << "%#{lengths[i]}s" % r.send(m)
|
34
|
+
str << " "
|
35
|
+
end
|
36
|
+
str << "\n "
|
37
|
+
end
|
38
|
+
|
39
|
+
log str
|
40
|
+
end
|
41
|
+
|
42
|
+
def log_table(cls, options={})
|
43
|
+
if options[:include_columns]
|
44
|
+
columns = options[:include_columns]
|
45
|
+
elsif options[:exclude_columns]
|
46
|
+
columns = cls.column_names - options[:exclude_columns].map(&:to_s)
|
47
|
+
else
|
48
|
+
columns = cls.column_names
|
49
|
+
end
|
50
|
+
log_array (cls.uses_soft_delete? ? cls.find_with_deleted(:all) : cls.all), *columns
|
51
|
+
end
|
52
|
+
|
53
|
+
def log_table_with(cls, *columns)
|
54
|
+
log_table(cls, :include_columns => columns)
|
55
|
+
end
|
56
|
+
|
57
|
+
def log_table_without(cls, *columns)
|
58
|
+
log_table(cls, :exclude_columns => columns)
|
59
|
+
end
|
60
|
+
|
61
|
+
def log_table_without_stamps(cls, *columns)
|
62
|
+
log_table(cls, :exclude_columns => %w[created_at updated_at created_by_id updated_by_id] + columns)
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require File.dirname(__FILE__) + "/../test_helper"
|
2
|
+
|
3
|
+
class BlogPostTest < ActiveSupport::TestCase
|
4
|
+
|
5
|
+
def test_existing_record_should_record_published_at_when_published
|
6
|
+
@blog_post = Factory.create(:blog_post)
|
7
|
+
|
8
|
+
assert_nil @blog_post.published_at
|
9
|
+
assert !@blog_post.new_record?
|
10
|
+
|
11
|
+
@blog_post.publish!
|
12
|
+
|
13
|
+
assert_not_nil @blog_post.published_at
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require File.dirname(__FILE__) + "/../test_helper"
|
2
|
+
|
3
|
+
class BlogTest < ActiveSupport::TestCase
|
4
|
+
|
5
|
+
def test_editable_by_user
|
6
|
+
@group = Factory(:group, :group_type => Factory(:group_type, :name => "CMS User", :cms_access => true))
|
7
|
+
@user = Factory.create(:user, :groups => [@group])
|
8
|
+
@editable = Factory.create(:blog, :groups => [@group])
|
9
|
+
@non_editable = Factory.create(:blog)
|
10
|
+
|
11
|
+
assert_equal [@editable], Blog.editable_by(@user)
|
12
|
+
assert @editable.editable_by?(@user)
|
13
|
+
assert !@non_editable.editable_by?(@user)
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_editable_by_administrator
|
17
|
+
@user = Factory.create(:user, :groups => [Group.find_by_code("cms-admin")])
|
18
|
+
@blog = Factory.create(:blog)
|
19
|
+
assert Blog.editable_by(@user).include?(@blog)
|
20
|
+
assert @blog.editable_by?(@user)
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
metadata
ADDED
@@ -0,0 +1,96 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: tylerrick-bcms_blog
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.5
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- BrowserMedia
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2010-04-29 00:00:00 -07:00
|
13
|
+
default_executable:
|
14
|
+
dependencies: []
|
15
|
+
|
16
|
+
description: The Blog Module for BrowserCMS
|
17
|
+
email: github@browsermedia.com
|
18
|
+
executables: []
|
19
|
+
|
20
|
+
extensions: []
|
21
|
+
|
22
|
+
extra_rdoc_files:
|
23
|
+
- README.markdown
|
24
|
+
files:
|
25
|
+
- app/controllers/application_controller.rb
|
26
|
+
- app/controllers/cms/blog_comments_controller.rb
|
27
|
+
- app/controllers/cms/blog_posts_controller.rb
|
28
|
+
- app/controllers/cms/blogs_controller.rb
|
29
|
+
- app/helpers/application_helper.rb
|
30
|
+
- app/helpers/cms/blog_helper.rb
|
31
|
+
- app/models/blog.rb
|
32
|
+
- app/models/blog_comment.rb
|
33
|
+
- app/models/blog_group_membership.rb
|
34
|
+
- app/models/blog_post.rb
|
35
|
+
- app/portlets/blog_post_portlet.rb
|
36
|
+
- app/views/cms/blog_comments/_form.html.erb
|
37
|
+
- app/views/cms/blog_comments/render.html.erb
|
38
|
+
- app/views/cms/blog_posts/_form.html.erb
|
39
|
+
- app/views/cms/blog_posts/no_access.html.erb
|
40
|
+
- app/views/cms/blog_posts/render.html.erb
|
41
|
+
- app/views/cms/blogs/_form.html.erb
|
42
|
+
- app/views/cms/blogs/admin_only.html.erb
|
43
|
+
- app/views/cms/blogs/render.html.erb
|
44
|
+
- app/views/partials/_blog_post.html.erb
|
45
|
+
- app/views/partials/_blog_post.html.haml
|
46
|
+
- app/views/portlets/blog_post/_form.html.erb
|
47
|
+
- app/views/portlets/blog_post/render.html.erb
|
48
|
+
- db/migrate/20090415000000_create_blogs.rb
|
49
|
+
- db/migrate/20090415000001_create_blog_posts.rb
|
50
|
+
- db/migrate/20090415000002_create_blog_comments.rb
|
51
|
+
- db/migrate/20090415000003_add_attachment_to_blog_posts.rb
|
52
|
+
- doc/README_FOR_APP
|
53
|
+
- doc/migrate_to_20100427.rb
|
54
|
+
- lib/bcms_blog.rb
|
55
|
+
- lib/bcms_blog/routes.rb
|
56
|
+
- rails/init.rb
|
57
|
+
- README.markdown
|
58
|
+
has_rdoc: true
|
59
|
+
homepage: http://browsercms.org
|
60
|
+
licenses: []
|
61
|
+
|
62
|
+
post_install_message:
|
63
|
+
rdoc_options:
|
64
|
+
- --charset=UTF-8
|
65
|
+
require_paths:
|
66
|
+
- lib
|
67
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
68
|
+
requirements:
|
69
|
+
- - ">="
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: "0"
|
72
|
+
version:
|
73
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - ">="
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: "0"
|
78
|
+
version:
|
79
|
+
requirements: []
|
80
|
+
|
81
|
+
rubyforge_project: browsercms
|
82
|
+
rubygems_version: 1.3.5
|
83
|
+
signing_key:
|
84
|
+
specification_version: 3
|
85
|
+
summary: The Blog Module for BrowserCMS
|
86
|
+
test_files:
|
87
|
+
- test/test_helper.rb
|
88
|
+
- test/factories.rb
|
89
|
+
- test/test_logging.rb
|
90
|
+
- test/performance/browsing_test.rb
|
91
|
+
- test/unit/blog_post_test.rb
|
92
|
+
- test/unit/blog_test.rb
|
93
|
+
- test/functional/blog_post_test.rb
|
94
|
+
- test/functional/blog_test.rb
|
95
|
+
- test/functional/cms/blogs_controller_test.rb
|
96
|
+
- test/functional/cms/blog_posts_controller_test.rb
|