tylerrick-bcms_blog 1.0.5

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 (44) hide show
  1. data/README.markdown +63 -0
  2. data/app/controllers/application_controller.rb +10 -0
  3. data/app/controllers/cms/blog_comments_controller.rb +3 -0
  4. data/app/controllers/cms/blog_posts_controller.rb +35 -0
  5. data/app/controllers/cms/blogs_controller.rb +11 -0
  6. data/app/helpers/application_helper.rb +3 -0
  7. data/app/helpers/cms/blog_helper.rb +11 -0
  8. data/app/models/blog.rb +143 -0
  9. data/app/models/blog_comment.rb +28 -0
  10. data/app/models/blog_group_membership.rb +4 -0
  11. data/app/models/blog_post.rb +101 -0
  12. data/app/portlets/blog_post_portlet.rb +38 -0
  13. data/app/views/cms/blog_comments/_form.html.erb +5 -0
  14. data/app/views/cms/blog_comments/render.html.erb +2 -0
  15. data/app/views/cms/blog_posts/_form.html.erb +11 -0
  16. data/app/views/cms/blog_posts/no_access.html.erb +9 -0
  17. data/app/views/cms/blog_posts/render.html.erb +1 -0
  18. data/app/views/cms/blogs/_form.html.erb +23 -0
  19. data/app/views/cms/blogs/admin_only.html.erb +9 -0
  20. data/app/views/cms/blogs/render.html.erb +2 -0
  21. data/app/views/partials/_blog_post.html.erb +106 -0
  22. data/app/views/partials/_blog_post.html.haml +91 -0
  23. data/app/views/portlets/blog_post/_form.html.erb +3 -0
  24. data/app/views/portlets/blog_post/render.html.erb +33 -0
  25. data/db/migrate/20090415000000_create_blogs.rb +45 -0
  26. data/db/migrate/20090415000001_create_blog_posts.rb +25 -0
  27. data/db/migrate/20090415000002_create_blog_comments.rb +19 -0
  28. data/db/migrate/20090415000003_add_attachment_to_blog_posts.rb +23 -0
  29. data/doc/README_FOR_APP +2 -0
  30. data/doc/migrate_to_20100427.rb +68 -0
  31. data/lib/bcms_blog/routes.rb +9 -0
  32. data/lib/bcms_blog.rb +1 -0
  33. data/rails/init.rb +4 -0
  34. data/test/factories.rb +31 -0
  35. data/test/functional/blog_post_test.rb +41 -0
  36. data/test/functional/blog_test.rb +69 -0
  37. data/test/functional/cms/blog_posts_controller_test.rb +43 -0
  38. data/test/functional/cms/blogs_controller_test.rb +12 -0
  39. data/test/performance/browsing_test.rb +9 -0
  40. data/test/test_helper.rb +104 -0
  41. data/test/test_logging.rb +64 -0
  42. data/test/unit/blog_post_test.rb +16 -0
  43. data/test/unit/blog_test.rb +23 -0
  44. 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