radiant-comments-extension 0.0.6
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/.gitignore +3 -0
- data/CHANGELOG +40 -0
- data/HELP_admin.markdown +52 -0
- data/HELP_designer.markdown +36 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +53 -0
- data/Rakefile +133 -0
- data/TODO +6 -0
- data/VERSION +1 -0
- data/app/controllers/admin/comments_controller.rb +130 -0
- data/app/controllers/comments_controller.rb +59 -0
- data/app/helpers/admin/comments_helper.rb +7 -0
- data/app/models/akismet_spam_filter.rb +37 -0
- data/app/models/comment.rb +121 -0
- data/app/models/comment_mailer.rb +24 -0
- data/app/models/mollom_spam_filter.rb +52 -0
- data/app/models/simple_spam_filter.rb +38 -0
- data/app/models/spam_filter.rb +43 -0
- data/app/views/admin/comments/_comment.rhtml +34 -0
- data/app/views/admin/comments/_form.rhtml +36 -0
- data/app/views/admin/comments/edit.rhtml +5 -0
- data/app/views/admin/comments/index.rhtml +55 -0
- data/app/views/admin/pages/_comments.rhtml +0 -0
- data/app/views/admin/pages/_edit_comments_enabled.rhtml +8 -0
- data/app/views/admin/pages/_index_head_view_comments.rhtml +1 -0
- data/app/views/admin/pages/_index_view_comments.rhtml +11 -0
- data/app/views/comment_mailer/comment_notification.rhtml +21 -0
- data/app/views/comments/_comment.rhtml +1 -0
- data/app/views/comments/_form.rhtml +23 -0
- data/app/views/comments/_new.rhtml +5 -0
- data/autotest/discover.rb +3 -0
- data/comments_extension.rb +81 -0
- data/cucumber.yml +1 -0
- data/db/migrate/001_create_comments.rb +29 -0
- data/db/migrate/002_create_snippets.rb +115 -0
- data/db/migrate/003_change_filter_id_from_integer_to_string.rb +10 -0
- data/db/migrate/004_add_approval_columns.rb +13 -0
- data/db/migrate/005_add_mollomid_column.rb +11 -0
- data/db/migrate/006_move_config_to_migrations.rb +22 -0
- data/db/migrate/007_add_preference_for_simple_spamcheck.rb +12 -0
- data/features/support/env.rb +16 -0
- data/features/support/paths.rb +16 -0
- data/lib/akismet.rb +134 -0
- data/lib/comment_page_extensions.rb +41 -0
- data/lib/comment_tags.rb +338 -0
- data/lib/mollom.rb +246 -0
- data/lib/radiant-comments-extension.rb +0 -0
- data/lib/tasks/comments_extension_tasks.rake +68 -0
- data/public/images/admin/accept.png +0 -0
- data/public/images/admin/comment_edit.png +0 -0
- data/public/images/admin/comments.png +0 -0
- data/public/images/admin/comments_delete.png +0 -0
- data/public/images/admin/delete.png +0 -0
- data/public/images/admin/email.png +0 -0
- data/public/images/admin/error.png +0 -0
- data/public/images/admin/link.png +0 -0
- data/public/images/admin/page_white_edit.png +0 -0
- data/public/images/admin/table_save.png +0 -0
- data/public/images/admin/tick.png +0 -0
- data/public/stylesheets/admin/comments.css +41 -0
- data/radiant-comments-extension.gemspec +133 -0
- data/spec/controllers/admin/comments_controller_spec.rb +57 -0
- data/spec/controllers/admin/comments_routing_spec.rb +43 -0
- data/spec/controllers/page_postback_spec.rb +51 -0
- data/spec/datasets/comments_dataset.rb +7 -0
- data/spec/models/akismet_spam_filter_spec.rb +61 -0
- data/spec/models/comment_spec.rb +148 -0
- data/spec/models/comment_tags_spec.rb +55 -0
- data/spec/models/mollom_spam_filter_spec.rb +103 -0
- data/spec/models/simple_spam_filter_spec.rb +44 -0
- data/spec/models/spam_filter_spec.rb +38 -0
- data/spec/spec.opts +6 -0
- data/spec/spec_helper.rb +36 -0
- data/test/fixtures/users.yml +6 -0
- data/test/integration/comment_enabling_test.rb +18 -0
- data/test/test_helper.rb +24 -0
- data/test/unit/comment_test.rb +52 -0
- metadata +177 -0
| @@ -0,0 +1,44 @@ | |
| 1 | 
            +
            require File.dirname(__FILE__) + '/../spec_helper'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            describe SimpleSpamFilter do
         | 
| 4 | 
            +
              dataset :comments
         | 
| 5 | 
            +
             | 
| 6 | 
            +
              before :each do
         | 
| 7 | 
            +
                @comment = comments(:first)
         | 
| 8 | 
            +
                Radiant::Config['comments.simple_spam_filter_required?'] = true
         | 
| 9 | 
            +
              end
         | 
| 10 | 
            +
             | 
| 11 | 
            +
              it "should always approve comments (they passed validation already)" do
         | 
| 12 | 
            +
                SimpleSpamFilter.should be_approved(@comment)
         | 
| 13 | 
            +
              end
         | 
| 14 | 
            +
             | 
| 15 | 
            +
              it "should validate the comment when the challenge is not defined and not required" do
         | 
| 16 | 
            +
                Radiant::Config['comments.simple_spam_filter_required?'] = false
         | 
| 17 | 
            +
                @comment.valid_spam_answer.should be_nil
         | 
| 18 | 
            +
                @comment.spam_answer.should be_nil
         | 
| 19 | 
            +
                SimpleSpamFilter.valid?(@comment).should be_true
         | 
| 20 | 
            +
              end
         | 
| 21 | 
            +
             | 
| 22 | 
            +
              it "should not validate the comment when the response does not match the challenge" do
         | 
| 23 | 
            +
                @comment.valid_spam_answer = 'TRUE'
         | 
| 24 | 
            +
                @comment.spam_answer = 'FALSE'
         | 
| 25 | 
            +
                SimpleSpamFilter.valid?(@comment).should be_false
         | 
| 26 | 
            +
                @comment.errors.full_messages.to_sentence.should =~ /Spam answer/
         | 
| 27 | 
            +
              end
         | 
| 28 | 
            +
             | 
| 29 | 
            +
              it "should validate the comment when the response matches the challenge" do
         | 
| 30 | 
            +
                correct_answer = "that's   THE    way it ought to be!".to_slug
         | 
| 31 | 
            +
                hashed_answer = Digest::MD5.hexdigest(correct_answer)
         | 
| 32 | 
            +
                @comment.valid_spam_answer = hashed_answer
         | 
| 33 | 
            +
                @comment.spam_answer = correct_answer
         | 
| 34 | 
            +
                SimpleSpamFilter.valid?(@comment).should be_true
         | 
| 35 | 
            +
              end
         | 
| 36 | 
            +
             | 
| 37 | 
            +
              it "should allow differing capitalization and punctuation in the response" do
         | 
| 38 | 
            +
                correct_answer = "that's   THE    way it ought to be!".to_slug
         | 
| 39 | 
            +
                hashed_answer = Digest::MD5.hexdigest(correct_answer)
         | 
| 40 | 
            +
                @comment.valid_spam_answer = hashed_answer
         | 
| 41 | 
            +
                @comment.spam_answer = "That's the way it ought to be!"
         | 
| 42 | 
            +
                SimpleSpamFilter.valid?(@comment).should be_true
         | 
| 43 | 
            +
              end
         | 
| 44 | 
            +
            end
         | 
| @@ -0,0 +1,38 @@ | |
| 1 | 
            +
            require File.dirname(__FILE__) + '/../spec_helper'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            describe SpamFilter do
         | 
| 4 | 
            +
              dataset :comments
         | 
| 5 | 
            +
              
         | 
| 6 | 
            +
              it "should be a Simpleton" do
         | 
| 7 | 
            +
                SpamFilter.included_modules.should include(Simpleton)
         | 
| 8 | 
            +
              end
         | 
| 9 | 
            +
              
         | 
| 10 | 
            +
              it "should require subclasses to implement the approved? method" do
         | 
| 11 | 
            +
                lambda { SpamFilter.approved?(comments(:first)) }.should raise_error(NotImplementedError)
         | 
| 12 | 
            +
              end
         | 
| 13 | 
            +
              
         | 
| 14 | 
            +
              it "should accept a comment as spam and do nothing" do
         | 
| 15 | 
            +
                lambda { SpamFilter.spam!(comments(:first)) }.should_not raise_error
         | 
| 16 | 
            +
              end
         | 
| 17 | 
            +
              
         | 
| 18 | 
            +
              it "should not be configured by default" do
         | 
| 19 | 
            +
                SpamFilter.should_not be_configured
         | 
| 20 | 
            +
              end
         | 
| 21 | 
            +
              
         | 
| 22 | 
            +
              describe "selecting an appropriate subclass" do
         | 
| 23 | 
            +
                it "should select the Simple filter if no other filters are configured" do
         | 
| 24 | 
            +
                  SpamFilter.descendants.without(SimpleSpamFilter).each do |f|
         | 
| 25 | 
            +
                    f.stub!(:configured?).and_return(false)
         | 
| 26 | 
            +
                  end
         | 
| 27 | 
            +
                  SpamFilter.select.should == SimpleSpamFilter
         | 
| 28 | 
            +
                end
         | 
| 29 | 
            +
                
         | 
| 30 | 
            +
                it "should select the first properly configured filter" do
         | 
| 31 | 
            +
                  MollomSpamFilter.stub!(:configured?).and_return(true)
         | 
| 32 | 
            +
                  SpamFilter.descendants.without(MollomSpamFilter).each do |f|
         | 
| 33 | 
            +
                    f.stub!(:configured?).and_return(false)
         | 
| 34 | 
            +
                  end
         | 
| 35 | 
            +
                  SpamFilter.select.should == MollomSpamFilter
         | 
| 36 | 
            +
                end
         | 
| 37 | 
            +
              end
         | 
| 38 | 
            +
            end
         | 
    
        data/spec/spec.opts
    ADDED
    
    
    
        data/spec/spec_helper.rb
    ADDED
    
    | @@ -0,0 +1,36 @@ | |
| 1 | 
            +
            unless defined? RADIANT_ROOT
         | 
| 2 | 
            +
              ENV["RAILS_ENV"] = "test"
         | 
| 3 | 
            +
              case
         | 
| 4 | 
            +
              when ENV["RADIANT_ENV_FILE"]
         | 
| 5 | 
            +
                require ENV["RADIANT_ENV_FILE"]
         | 
| 6 | 
            +
              when File.dirname(__FILE__) =~ %r{vendor/radiant/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 "#{RADIANT_ROOT}/spec/spec_helper"
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            Dataset::Resolver.default << (File.dirname(__FILE__) + "/datasets")
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            if File.directory?(File.dirname(__FILE__) + "/matchers")
         | 
| 17 | 
            +
              Dir[File.dirname(__FILE__) + "/matchers/*.rb"].each {|file| require file }
         | 
| 18 | 
            +
            end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
            Spec::Runner.configure do |config|
         | 
| 21 | 
            +
              # config.use_transactional_fixtures = true
         | 
| 22 | 
            +
              # config.use_instantiated_fixtures  = false
         | 
| 23 | 
            +
              # config.fixture_path = RAILS_ROOT + '/spec/fixtures'
         | 
| 24 | 
            +
             | 
| 25 | 
            +
              # You can declare fixtures for each behaviour like this:
         | 
| 26 | 
            +
              #   describe "...." do
         | 
| 27 | 
            +
              #     fixtures :table_a, :table_b
         | 
| 28 | 
            +
              #
         | 
| 29 | 
            +
              # Alternatively, if you prefer to declare them only once, you can
         | 
| 30 | 
            +
              # do so here, like so ...
         | 
| 31 | 
            +
              #
         | 
| 32 | 
            +
              #   config.global_fixtures = :table_a, :table_b
         | 
| 33 | 
            +
              #
         | 
| 34 | 
            +
              # If you declare global fixtures, be aware that they will be declared
         | 
| 35 | 
            +
              # for all of your examples, even those that don't use them.
         | 
| 36 | 
            +
            end
         | 
| @@ -0,0 +1,18 @@ | |
| 1 | 
            +
            require File.dirname(__FILE__) + '/../test_helper'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            class CommentEnablingTest < ActionController::IntegrationTest
         | 
| 4 | 
            +
              fixtures :users
         | 
| 5 | 
            +
             | 
| 6 | 
            +
              def test_should_enable_comments
         | 
| 7 | 
            +
                post '/admin/welcome/login', :user => {:login => 'admin', :password => 'password'}
         | 
| 8 | 
            +
                assert_redirected_to '/admin/welcome'
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                page = Page.create!(:title => "FOO", :slug => "foo", :breadcrumb => "FOO", :class_name => "Page")
         | 
| 11 | 
            +
                assert !page.enable_comments
         | 
| 12 | 
            +
                
         | 
| 13 | 
            +
                post "/admin/pages/#{page.id}/comments/enable"
         | 
| 14 | 
            +
                assert_redirected_to '/admin/pages'
         | 
| 15 | 
            +
                
         | 
| 16 | 
            +
                assert page.reload.enable_comments    
         | 
| 17 | 
            +
              end
         | 
| 18 | 
            +
            end
         | 
    
        data/test/test_helper.rb
    ADDED
    
    | @@ -0,0 +1,24 @@ | |
| 1 | 
            +
            require 'test/unit'
         | 
| 2 | 
            +
            # Load the environment
         | 
| 3 | 
            +
            unless defined? RADIANT_ROOT
         | 
| 4 | 
            +
              ENV["RAILS_ENV"] = "test"
         | 
| 5 | 
            +
              case
         | 
| 6 | 
            +
              when ENV["RADIANT_ENV_FILE"]
         | 
| 7 | 
            +
                require ENV["RADIANT_ENV_FILE"]
         | 
| 8 | 
            +
              when File.dirname(__FILE__) =~ %r{vendor/radiant/vendor/extensions}
         | 
| 9 | 
            +
                require "#{File.expand_path(File.dirname(__FILE__) + "/../../../../../../")}/config/environment"
         | 
| 10 | 
            +
              else
         | 
| 11 | 
            +
                require "#{File.expand_path(File.dirname(__FILE__) + "/../../../../")}/config/environment"
         | 
| 12 | 
            +
              end
         | 
| 13 | 
            +
            end
         | 
| 14 | 
            +
            require "#{RADIANT_ROOT}/test/test_helper"
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            class Test::Unit::TestCase
         | 
| 17 | 
            +
              self.use_transactional_fixtures = true
         | 
| 18 | 
            +
              self.use_instantiated_fixtures = false
         | 
| 19 | 
            +
              self.fixture_path << File.expand_path(File.dirname(__FILE__)) + '/fixtures'
         | 
| 20 | 
            +
            end
         | 
| 21 | 
            +
             | 
| 22 | 
            +
            class ActionController::IntegrationTest < Test::Unit::TestCase
         | 
| 23 | 
            +
              self.fixture_path = File.expand_path(File.dirname(__FILE__)) + '/fixtures'
         | 
| 24 | 
            +
            end
         | 
| @@ -0,0 +1,52 @@ | |
| 1 | 
            +
            require 'test/unit'
         | 
| 2 | 
            +
            require File.dirname(__FILE__) + '/../test_helper'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            class CommentTest < Test::Unit::TestCase
         | 
| 5 | 
            +
              def test_valid_comment
         | 
| 6 | 
            +
                comment = Comment.new do |c| 
         | 
| 7 | 
            +
                  c.author = "Foo Bar"
         | 
| 8 | 
            +
                  c.author_email = "foo@bar.com"
         | 
| 9 | 
            +
                  c.author_url = "http://www.test.com/"
         | 
| 10 | 
            +
                  c.content = "This is a comment"
         | 
| 11 | 
            +
                end
         | 
| 12 | 
            +
                
         | 
| 13 | 
            +
                assert_valid comment
         | 
| 14 | 
            +
                
         | 
| 15 | 
            +
                comment.save
         | 
| 16 | 
            +
                
         | 
| 17 | 
            +
                comment_stored = Comment.find_by_author("Foo Bar")
         | 
| 18 | 
            +
                
         | 
| 19 | 
            +
                assert_not_nil(comment)
         | 
| 20 | 
            +
                assert_equal(comment.author, comment_stored.author)
         | 
| 21 | 
            +
                assert_equal(comment.author_email, comment_stored.author_email)
         | 
| 22 | 
            +
                assert_equal(comment.author_url, comment_stored.author_url)
         | 
| 23 | 
            +
                assert_equal(comment.content, comment_stored.content)
         | 
| 24 | 
            +
              end
         | 
| 25 | 
            +
              
         | 
| 26 | 
            +
              def test_download_csv_routes
         | 
| 27 | 
            +
                assert_routing "admin/comments/all",
         | 
| 28 | 
            +
                  {:controller => "admin/comments", :action => "index", :status => "all"}
         | 
| 29 | 
            +
                assert_routing "admin/comments/all.csv",
         | 
| 30 | 
            +
                  {:controller => "admin/comments", :action => "index", :status => "all", :format => 'csv'}
         | 
| 31 | 
            +
             | 
| 32 | 
            +
                assert_routing "admin/pages/6/comments/all.csv",
         | 
| 33 | 
            +
                  {:controller => "admin/comments", :action => "index", :status => "all", :format => 'csv', :page_id => "6"}
         | 
| 34 | 
            +
                assert_generates "admin/pages/6/comments/all.csv",
         | 
| 35 | 
            +
                  {:controller => "admin/comments", :action => "index", :format => 'csv', :page_id => "6"}
         | 
| 36 | 
            +
              end
         | 
| 37 | 
            +
              
         | 
| 38 | 
            +
              def test_not_allowing_update_of_protected_attribs
         | 
| 39 | 
            +
                @comment = Comment.create(
         | 
| 40 | 
            +
                  :author       => "Evil Approve",
         | 
| 41 | 
            +
                  :author_email  => "foo@bar.com",
         | 
| 42 | 
            +
                  :author_url  => "http://www.test.com/",
         | 
| 43 | 
            +
                  :content     => "Comment approved?",
         | 
| 44 | 
            +
                  :approved_at => Time.now,
         | 
| 45 | 
            +
                  :approved_by => 1
         | 
| 46 | 
            +
                  );
         | 
| 47 | 
            +
                @comment = Comment.find_by_author('Evil Approve')
         | 
| 48 | 
            +
                assert_nil(@comment.approved_at)
         | 
| 49 | 
            +
                assert_nil(@comment.approved_by)
         | 
| 50 | 
            +
              end
         | 
| 51 | 
            +
              
         | 
| 52 | 
            +
            end
         | 
    
        metadata
    ADDED
    
    | @@ -0,0 +1,177 @@ | |
| 1 | 
            +
            --- !ruby/object:Gem::Specification 
         | 
| 2 | 
            +
            name: radiant-comments-extension
         | 
| 3 | 
            +
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            +
              prerelease: false
         | 
| 5 | 
            +
              segments: 
         | 
| 6 | 
            +
              - 0
         | 
| 7 | 
            +
              - 0
         | 
| 8 | 
            +
              - 6
         | 
| 9 | 
            +
              version: 0.0.6
         | 
| 10 | 
            +
            platform: ruby
         | 
| 11 | 
            +
            authors: 
         | 
| 12 | 
            +
            - Jim Gay
         | 
| 13 | 
            +
            - Ryan Heneise
         | 
| 14 | 
            +
            - Sean Cribbs
         | 
| 15 | 
            +
            - John Muhl
         | 
| 16 | 
            +
            - Sven Schwyn
         | 
| 17 | 
            +
            - Gerrit Kaiser
         | 
| 18 | 
            +
            - Stephen Lombardo
         | 
| 19 | 
            +
            - Benny Degezelle
         | 
| 20 | 
            +
            - Frank Louwers
         | 
| 21 | 
            +
            - Michael Hale
         | 
| 22 | 
            +
            - Nathaniel Talbott
         | 
| 23 | 
            +
            - John Croisant
         | 
| 24 | 
            +
            - Jon Leighton
         | 
| 25 | 
            +
            - Witter Cheng
         | 
| 26 | 
            +
            - Keith Bingman
         | 
| 27 | 
            +
            autorequire: 
         | 
| 28 | 
            +
            bindir: bin
         | 
| 29 | 
            +
            cert_chain: []
         | 
| 30 | 
            +
             | 
| 31 | 
            +
            date: 2010-04-01 00:00:00 -04:00
         | 
| 32 | 
            +
            default_executable: 
         | 
| 33 | 
            +
            dependencies: 
         | 
| 34 | 
            +
            - !ruby/object:Gem::Dependency 
         | 
| 35 | 
            +
              name: radiant
         | 
| 36 | 
            +
              prerelease: false
         | 
| 37 | 
            +
              requirement: &id001 !ruby/object:Gem::Requirement 
         | 
| 38 | 
            +
                requirements: 
         | 
| 39 | 
            +
                - - ">="
         | 
| 40 | 
            +
                  - !ruby/object:Gem::Version 
         | 
| 41 | 
            +
                    segments: 
         | 
| 42 | 
            +
                    - 0
         | 
| 43 | 
            +
                    version: "0"
         | 
| 44 | 
            +
              type: :development
         | 
| 45 | 
            +
              version_requirements: *id001
         | 
| 46 | 
            +
            description: Adds blog-like comment functionality to Radiant.
         | 
| 47 | 
            +
            email: jim@saturnflyer.com
         | 
| 48 | 
            +
            executables: []
         | 
| 49 | 
            +
             | 
| 50 | 
            +
            extensions: []
         | 
| 51 | 
            +
             | 
| 52 | 
            +
            extra_rdoc_files: 
         | 
| 53 | 
            +
            - README.rdoc
         | 
| 54 | 
            +
            - TODO
         | 
| 55 | 
            +
            files: 
         | 
| 56 | 
            +
            - .gitignore
         | 
| 57 | 
            +
            - CHANGELOG
         | 
| 58 | 
            +
            - HELP_admin.markdown
         | 
| 59 | 
            +
            - HELP_designer.markdown
         | 
| 60 | 
            +
            - MIT-LICENSE
         | 
| 61 | 
            +
            - README.rdoc
         | 
| 62 | 
            +
            - Rakefile
         | 
| 63 | 
            +
            - TODO
         | 
| 64 | 
            +
            - VERSION
         | 
| 65 | 
            +
            - app/controllers/admin/comments_controller.rb
         | 
| 66 | 
            +
            - app/controllers/comments_controller.rb
         | 
| 67 | 
            +
            - app/helpers/admin/comments_helper.rb
         | 
| 68 | 
            +
            - app/models/akismet_spam_filter.rb
         | 
| 69 | 
            +
            - app/models/comment.rb
         | 
| 70 | 
            +
            - app/models/comment_mailer.rb
         | 
| 71 | 
            +
            - app/models/mollom_spam_filter.rb
         | 
| 72 | 
            +
            - app/models/simple_spam_filter.rb
         | 
| 73 | 
            +
            - app/models/spam_filter.rb
         | 
| 74 | 
            +
            - app/views/admin/comments/_comment.rhtml
         | 
| 75 | 
            +
            - app/views/admin/comments/_form.rhtml
         | 
| 76 | 
            +
            - app/views/admin/comments/edit.rhtml
         | 
| 77 | 
            +
            - app/views/admin/comments/index.rhtml
         | 
| 78 | 
            +
            - app/views/admin/pages/_comments.rhtml
         | 
| 79 | 
            +
            - app/views/admin/pages/_edit_comments_enabled.rhtml
         | 
| 80 | 
            +
            - app/views/admin/pages/_index_head_view_comments.rhtml
         | 
| 81 | 
            +
            - app/views/admin/pages/_index_view_comments.rhtml
         | 
| 82 | 
            +
            - app/views/comment_mailer/comment_notification.rhtml
         | 
| 83 | 
            +
            - app/views/comments/_comment.rhtml
         | 
| 84 | 
            +
            - app/views/comments/_form.rhtml
         | 
| 85 | 
            +
            - app/views/comments/_new.rhtml
         | 
| 86 | 
            +
            - autotest/discover.rb
         | 
| 87 | 
            +
            - comments_extension.rb
         | 
| 88 | 
            +
            - cucumber.yml
         | 
| 89 | 
            +
            - db/migrate/001_create_comments.rb
         | 
| 90 | 
            +
            - db/migrate/002_create_snippets.rb
         | 
| 91 | 
            +
            - db/migrate/003_change_filter_id_from_integer_to_string.rb
         | 
| 92 | 
            +
            - db/migrate/004_add_approval_columns.rb
         | 
| 93 | 
            +
            - db/migrate/005_add_mollomid_column.rb
         | 
| 94 | 
            +
            - db/migrate/006_move_config_to_migrations.rb
         | 
| 95 | 
            +
            - db/migrate/007_add_preference_for_simple_spamcheck.rb
         | 
| 96 | 
            +
            - features/support/env.rb
         | 
| 97 | 
            +
            - features/support/paths.rb
         | 
| 98 | 
            +
            - lib/akismet.rb
         | 
| 99 | 
            +
            - lib/comment_page_extensions.rb
         | 
| 100 | 
            +
            - lib/comment_tags.rb
         | 
| 101 | 
            +
            - lib/mollom.rb
         | 
| 102 | 
            +
            - lib/radiant-comments-extension.rb
         | 
| 103 | 
            +
            - lib/tasks/comments_extension_tasks.rake
         | 
| 104 | 
            +
            - public/images/admin/accept.png
         | 
| 105 | 
            +
            - public/images/admin/comment_edit.png
         | 
| 106 | 
            +
            - public/images/admin/comments.png
         | 
| 107 | 
            +
            - public/images/admin/comments_delete.png
         | 
| 108 | 
            +
            - public/images/admin/delete.png
         | 
| 109 | 
            +
            - public/images/admin/email.png
         | 
| 110 | 
            +
            - public/images/admin/error.png
         | 
| 111 | 
            +
            - public/images/admin/link.png
         | 
| 112 | 
            +
            - public/images/admin/page_white_edit.png
         | 
| 113 | 
            +
            - public/images/admin/table_save.png
         | 
| 114 | 
            +
            - public/images/admin/tick.png
         | 
| 115 | 
            +
            - public/stylesheets/admin/comments.css
         | 
| 116 | 
            +
            - radiant-comments-extension.gemspec
         | 
| 117 | 
            +
            - spec/controllers/admin/comments_controller_spec.rb
         | 
| 118 | 
            +
            - spec/controllers/admin/comments_routing_spec.rb
         | 
| 119 | 
            +
            - spec/controllers/page_postback_spec.rb
         | 
| 120 | 
            +
            - spec/datasets/comments_dataset.rb
         | 
| 121 | 
            +
            - spec/models/akismet_spam_filter_spec.rb
         | 
| 122 | 
            +
            - spec/models/comment_spec.rb
         | 
| 123 | 
            +
            - spec/models/comment_tags_spec.rb
         | 
| 124 | 
            +
            - spec/models/mollom_spam_filter_spec.rb
         | 
| 125 | 
            +
            - spec/models/simple_spam_filter_spec.rb
         | 
| 126 | 
            +
            - spec/models/spam_filter_spec.rb
         | 
| 127 | 
            +
            - spec/spec.opts
         | 
| 128 | 
            +
            - spec/spec_helper.rb
         | 
| 129 | 
            +
            - test/fixtures/users.yml
         | 
| 130 | 
            +
            - test/integration/comment_enabling_test.rb
         | 
| 131 | 
            +
            - test/test_helper.rb
         | 
| 132 | 
            +
            - test/unit/comment_test.rb
         | 
| 133 | 
            +
            has_rdoc: true
         | 
| 134 | 
            +
            homepage: http://github.com/saturnflyer/radiant-comments-extension
         | 
| 135 | 
            +
            licenses: []
         | 
| 136 | 
            +
             | 
| 137 | 
            +
            post_install_message: 
         | 
| 138 | 
            +
            rdoc_options: 
         | 
| 139 | 
            +
            - --charset=UTF-8
         | 
| 140 | 
            +
            require_paths: 
         | 
| 141 | 
            +
            - lib
         | 
| 142 | 
            +
            required_ruby_version: !ruby/object:Gem::Requirement 
         | 
| 143 | 
            +
              requirements: 
         | 
| 144 | 
            +
              - - ">="
         | 
| 145 | 
            +
                - !ruby/object:Gem::Version 
         | 
| 146 | 
            +
                  segments: 
         | 
| 147 | 
            +
                  - 0
         | 
| 148 | 
            +
                  version: "0"
         | 
| 149 | 
            +
            required_rubygems_version: !ruby/object:Gem::Requirement 
         | 
| 150 | 
            +
              requirements: 
         | 
| 151 | 
            +
              - - ">="
         | 
| 152 | 
            +
                - !ruby/object:Gem::Version 
         | 
| 153 | 
            +
                  segments: 
         | 
| 154 | 
            +
                  - 0
         | 
| 155 | 
            +
                  version: "0"
         | 
| 156 | 
            +
            requirements: []
         | 
| 157 | 
            +
             | 
| 158 | 
            +
            rubyforge_project: 
         | 
| 159 | 
            +
            rubygems_version: 1.3.6
         | 
| 160 | 
            +
            signing_key: 
         | 
| 161 | 
            +
            specification_version: 3
         | 
| 162 | 
            +
            summary: Comments Extension for Radiant CMS
         | 
| 163 | 
            +
            test_files: 
         | 
| 164 | 
            +
            - spec/controllers/admin/comments_controller_spec.rb
         | 
| 165 | 
            +
            - spec/controllers/admin/comments_routing_spec.rb
         | 
| 166 | 
            +
            - spec/controllers/page_postback_spec.rb
         | 
| 167 | 
            +
            - spec/datasets/comments_dataset.rb
         | 
| 168 | 
            +
            - spec/models/akismet_spam_filter_spec.rb
         | 
| 169 | 
            +
            - spec/models/comment_spec.rb
         | 
| 170 | 
            +
            - spec/models/comment_tags_spec.rb
         | 
| 171 | 
            +
            - spec/models/mollom_spam_filter_spec.rb
         | 
| 172 | 
            +
            - spec/models/simple_spam_filter_spec.rb
         | 
| 173 | 
            +
            - spec/models/spam_filter_spec.rb
         | 
| 174 | 
            +
            - spec/spec_helper.rb
         | 
| 175 | 
            +
            - test/integration/comment_enabling_test.rb
         | 
| 176 | 
            +
            - test/test_helper.rb
         | 
| 177 | 
            +
            - test/unit/comment_test.rb
         |