commontator 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/commontator/version.rb +1 -1
- data/lib/commontator/version.rb~ +1 -1
- data/spec/app/controllers/comments_controller_spec.rb~ +7 -0
- data/spec/app/controllers/commontator/application_controller_spec.rb~ +30 -0
- data/spec/app/controllers/commontator/comments_controller_spec.rb +473 -0
- data/spec/app/controllers/commontator/comments_controller_spec.rb~ +473 -0
- data/spec/app/controllers/commontator/subscriptions_controller_spec.rb +99 -0
- data/spec/app/controllers/commontator/subscriptions_controller_spec.rb~ +99 -0
- data/spec/app/controllers/commontator/threads_controller_spec.rb +121 -0
- data/spec/app/controllers/commontator/threads_controller_spec.rb~ +121 -0
- data/spec/app/controllers/threads_controller_spec.rb~ +12 -0
- data/spec/app/helpers/commontator/application_helper_spec.rb +7 -0
- data/spec/app/helpers/commontator/application_helper_spec.rb~ +7 -0
- data/spec/app/helpers/commontator/threads_helper_spec.rb +17 -0
- data/spec/app/helpers/commontator/threads_helper_spec.rb~ +17 -0
- data/spec/app/mailers/commontator/subscriptions_mailer_spec.rb +38 -0
- data/spec/app/mailers/commontator/subscriptions_mailer_spec.rb~ +37 -0
- data/spec/app/models/commontator/comment_spec.rb +60 -0
- data/spec/app/models/commontator/comment_spec.rb~ +60 -0
- data/spec/app/models/commontator/subscription_spec.rb +28 -0
- data/spec/app/models/commontator/subscription_spec.rb~ +28 -0
- data/spec/app/models/commontator/thread_spec.rb +130 -0
- data/spec/app/models/commontator/thread_spec.rb~ +130 -0
- data/spec/dummy/Gemfile~ +3 -0
- data/spec/dummy/README.md +3 -0
- data/spec/dummy/README.md~ +3 -0
- data/spec/dummy/Rakefile +7 -0
- data/spec/dummy/app/assets/javascripts/application.js +15 -0
- data/spec/dummy/app/assets/stylesheets/application.css +13 -0
- data/spec/dummy/app/controllers/application_controller.rb +3 -0
- data/spec/dummy/app/controllers/application_controller.rb~ +7 -0
- data/spec/dummy/app/controllers/dummies_controller.rb~ +17 -0
- data/spec/dummy/app/controllers/dummy_models_controller.rb +29 -0
- data/spec/dummy/app/controllers/dummy_models_controller.rb~ +29 -0
- data/spec/dummy/app/helpers/application_helper.rb +15 -0
- data/spec/dummy/app/helpers/application_helper.rb~ +15 -0
- data/spec/dummy/app/models/dummy.rb~ +3 -0
- data/spec/dummy/app/models/dummy_model.rb +3 -0
- data/spec/dummy/app/models/dummy_user.rb +9 -0
- data/spec/dummy/app/models/dummy_user.rb~ +9 -0
- data/spec/dummy/app/models/user.rb~ +5 -0
- data/spec/dummy/app/views/dummy_model/show.html.erb +1 -0
- data/spec/dummy/app/views/dummy_model/show.html.erb~ +1 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/config/application.rb +59 -0
- data/spec/dummy/config/application.rb~ +59 -0
- data/spec/dummy/config/boot.rb +10 -0
- data/spec/dummy/config/database.yml +25 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +37 -0
- data/spec/dummy/config/environments/production.rb +67 -0
- data/spec/dummy/config/environments/test.rb +37 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/commontator.rb +158 -0
- data/spec/dummy/config/initializers/commontator.rb~ +157 -0
- data/spec/dummy/config/initializers/inflections.rb +15 -0
- data/spec/dummy/config/initializers/mime_types.rb +5 -0
- data/spec/dummy/config/initializers/secret_token.rb +7 -0
- data/spec/dummy/config/initializers/session_store.rb +8 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +5 -0
- data/spec/dummy/config/routes.rb +7 -0
- data/spec/dummy/config/routes.rb~ +7 -0
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/migrate/0_create_dummies.rb~ +48 -0
- data/spec/dummy/db/migrate/0_create_dummy_models.rb +7 -0
- data/spec/dummy/db/migrate/0_create_dummy_models.rb~ +7 -0
- data/spec/dummy/db/migrate/1_create_dummy_users.rb +7 -0
- data/spec/dummy/db/migrate/1_create_dummy_users.rb~ +7 -0
- data/spec/dummy/db/migrate/1_create_users.rb~ +7 -0
- data/spec/dummy/db/migrate/2_install_commontator.rb +49 -0
- data/spec/dummy/db/migrate/2_install_commontator.rb~ +49 -0
- data/spec/dummy/db/migrate/3_acts_as_votable_migration.rb +20 -0
- data/spec/dummy/db/schema.rb +84 -0
- data/spec/dummy/db/schema.rb~ +71 -0
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +14298 -0
- data/spec/dummy/log/test.log +149321 -0
- data/spec/dummy/public/404.html +26 -0
- data/spec/dummy/public/422.html +26 -0
- data/spec/dummy/public/500.html +25 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/script/rails +6 -0
- data/spec/dummy/tmp/cache/assets/CCB/1D0/sprockets%2F02d4b791eb831cf2057bf4703a1218d1 +0 -0
- data/spec/dummy/tmp/cache/assets/CD1/510/sprockets%2Fc69ee3cc5796188d873574179290a6ef +0 -0
- data/spec/dummy/tmp/cache/assets/D01/8B0/sprockets%2F0f196a1a50363b0a076ec6e1ee5417f6 +0 -0
- data/spec/dummy/tmp/cache/assets/D06/2F0/sprockets%2Fe1f674c11941d62aac1764ef3a7134e4 +0 -0
- data/spec/dummy/tmp/cache/assets/D54/060/sprockets%2Fe85565206c3e5fdf9dfeb367c85557b1 +0 -0
- data/spec/dummy/tmp/cache/assets/D9B/550/sprockets%2Fa41c8be5379abec3c0d0d98e2f0d5609 +0 -0
- data/spec/dummy/tmp/cache/assets/E01/2E0/sprockets%2Fa3fb9025f90ff05a6fd4afc7ded2692c +0 -0
- data/spec/lib/commontator/acts_as_commontable_spec.rb +26 -0
- data/spec/lib/commontator/acts_as_commontable_spec.rb~ +26 -0
- data/spec/lib/commontator/acts_as_commontator_spec.rb +25 -0
- data/spec/lib/commontator/acts_as_commontator_spec.rb~ +25 -0
- data/spec/lib/commontator/commontable_config_spec.rb +26 -0
- data/spec/lib/commontator/commontable_config_spec.rb~ +26 -0
- data/spec/lib/commontator/commontator_config_spec.rb +26 -0
- data/spec/lib/commontator/commontator_config_spec.rb~ +26 -0
- data/spec/lib/commontator/controller_includes_spec.rb +15 -0
- data/spec/lib/commontator/controller_includes_spec.rb~ +15 -0
- data/spec/lib/commontator/shared_helper_spec.rb +12 -0
- data/spec/lib/commontator/shared_helper_spec.rb~ +12 -0
- data/spec/lib/commontator_spec.rb +23 -0
- data/spec/lib/commontator_spec.rb~ +23 -0
- data/spec/spec_helper.rb +34 -0
- data/spec/spec_helper.rb~ +30 -0
- metadata +212 -2
@@ -0,0 +1,59 @@
|
|
1
|
+
require File.expand_path('../boot', __FILE__)
|
2
|
+
|
3
|
+
require 'rails/all'
|
4
|
+
|
5
|
+
Bundler.require
|
6
|
+
#require "commontator"
|
7
|
+
|
8
|
+
module Dummy
|
9
|
+
class Application < Rails::Application
|
10
|
+
# Settings in config/environments/* take precedence over those specified here.
|
11
|
+
# Application configuration should go into files in config/initializers
|
12
|
+
# -- all .rb files in that directory are automatically loaded.
|
13
|
+
|
14
|
+
# Custom directories with classes and modules you want to be autoloadable.
|
15
|
+
# config.autoload_paths += %W(#{config.root}/extras)
|
16
|
+
|
17
|
+
# Only load the plugins named here, in the order given (default is alphabetical).
|
18
|
+
# :all can be used as a placeholder for all plugins not explicitly named.
|
19
|
+
# config.plugins = [ :exception_notification, :ssl_requirement, :all ]
|
20
|
+
|
21
|
+
# Activate observers that should always be running.
|
22
|
+
# config.active_record.observers = :cacher, :garbage_collector, :forum_observer
|
23
|
+
|
24
|
+
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
|
25
|
+
# Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
|
26
|
+
# config.time_zone = 'Central Time (US & Canada)'
|
27
|
+
|
28
|
+
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
|
29
|
+
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
|
30
|
+
# config.i18n.default_locale = :de
|
31
|
+
|
32
|
+
# Configure the default encoding used in templates for Ruby 1.9.
|
33
|
+
config.encoding = "utf-8"
|
34
|
+
|
35
|
+
# Configure sensitive parameters which will be filtered from the log file.
|
36
|
+
config.filter_parameters += [:password]
|
37
|
+
|
38
|
+
# Enable escaping HTML in JSON.
|
39
|
+
config.active_support.escape_html_entities_in_json = true
|
40
|
+
|
41
|
+
# Use SQL instead of Active Record's schema dumper when creating the database.
|
42
|
+
# This is necessary if your schema can't be completely dumped by the schema dumper,
|
43
|
+
# like if you have constraints or database-specific column types
|
44
|
+
# config.active_record.schema_format = :sql
|
45
|
+
|
46
|
+
# Enforce whitelist mode for mass assignment.
|
47
|
+
# This will create an empty whitelist of attributes available for mass-assignment for all models
|
48
|
+
# in your app. As such, your models will need to explicitly whitelist or blacklist accessible
|
49
|
+
# parameters by using an attr_accessible or attr_protected declaration.
|
50
|
+
config.active_record.whitelist_attributes = true
|
51
|
+
|
52
|
+
# Enable the asset pipeline
|
53
|
+
config.assets.enabled = true
|
54
|
+
|
55
|
+
# Version of your assets, change this if you want to expire all your assets
|
56
|
+
config.assets.version = '1.0'
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# SQLite version 3.x
|
2
|
+
# gem install sqlite3
|
3
|
+
#
|
4
|
+
# Ensure the SQLite 3 gem is defined in your Gemfile
|
5
|
+
# gem 'sqlite3'
|
6
|
+
development:
|
7
|
+
adapter: sqlite3
|
8
|
+
database: db/development.sqlite3
|
9
|
+
pool: 5
|
10
|
+
timeout: 5000
|
11
|
+
|
12
|
+
# Warning: The database defined as "test" will be erased and
|
13
|
+
# re-generated from your development database when you run "rake".
|
14
|
+
# Do not set this db to the same as development or production.
|
15
|
+
test:
|
16
|
+
adapter: sqlite3
|
17
|
+
database: db/test.sqlite3
|
18
|
+
pool: 5
|
19
|
+
timeout: 5000
|
20
|
+
|
21
|
+
production:
|
22
|
+
adapter: sqlite3
|
23
|
+
database: db/production.sqlite3
|
24
|
+
pool: 5
|
25
|
+
timeout: 5000
|
@@ -0,0 +1,37 @@
|
|
1
|
+
Dummy::Application.configure do
|
2
|
+
# Settings specified here will take precedence over those in config/application.rb
|
3
|
+
|
4
|
+
# In the development environment your application's code is reloaded on
|
5
|
+
# every request. This slows down response time but is perfect for development
|
6
|
+
# since you don't have to restart the web server when you make code changes.
|
7
|
+
config.cache_classes = false
|
8
|
+
|
9
|
+
# Log error messages when you accidentally call methods on nil.
|
10
|
+
config.whiny_nils = true
|
11
|
+
|
12
|
+
# Show full error reports and disable caching
|
13
|
+
config.consider_all_requests_local = true
|
14
|
+
config.action_controller.perform_caching = false
|
15
|
+
|
16
|
+
# Don't care if the mailer can't send
|
17
|
+
config.action_mailer.raise_delivery_errors = false
|
18
|
+
|
19
|
+
# Print deprecation notices to the Rails logger
|
20
|
+
config.active_support.deprecation = :log
|
21
|
+
|
22
|
+
# Only use best-standards-support built into browsers
|
23
|
+
config.action_dispatch.best_standards_support = :builtin
|
24
|
+
|
25
|
+
# Raise exception on mass assignment protection for Active Record models
|
26
|
+
config.active_record.mass_assignment_sanitizer = :strict
|
27
|
+
|
28
|
+
# Log the query plan for queries taking more than this (works
|
29
|
+
# with SQLite, MySQL, and PostgreSQL)
|
30
|
+
config.active_record.auto_explain_threshold_in_seconds = 0.5
|
31
|
+
|
32
|
+
# Do not compress assets
|
33
|
+
config.assets.compress = false
|
34
|
+
|
35
|
+
# Expands the lines which load the assets
|
36
|
+
config.assets.debug = true
|
37
|
+
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
Dummy::Application.configure do
|
2
|
+
# Settings specified here will take precedence over those in config/application.rb
|
3
|
+
|
4
|
+
# Code is not reloaded between requests
|
5
|
+
config.cache_classes = true
|
6
|
+
|
7
|
+
# Full error reports are disabled and caching is turned on
|
8
|
+
config.consider_all_requests_local = false
|
9
|
+
config.action_controller.perform_caching = true
|
10
|
+
|
11
|
+
# Disable Rails's static asset server (Apache or nginx will already do this)
|
12
|
+
config.serve_static_assets = false
|
13
|
+
|
14
|
+
# Compress JavaScripts and CSS
|
15
|
+
config.assets.compress = true
|
16
|
+
|
17
|
+
# Don't fallback to assets pipeline if a precompiled asset is missed
|
18
|
+
config.assets.compile = false
|
19
|
+
|
20
|
+
# Generate digests for assets URLs
|
21
|
+
config.assets.digest = true
|
22
|
+
|
23
|
+
# Defaults to nil and saved in location specified by config.assets.prefix
|
24
|
+
# config.assets.manifest = YOUR_PATH
|
25
|
+
|
26
|
+
# Specifies the header that your server uses for sending files
|
27
|
+
# config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache
|
28
|
+
# config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx
|
29
|
+
|
30
|
+
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
|
31
|
+
# config.force_ssl = true
|
32
|
+
|
33
|
+
# See everything in the log (default is :info)
|
34
|
+
# config.log_level = :debug
|
35
|
+
|
36
|
+
# Prepend all log lines with the following tags
|
37
|
+
# config.log_tags = [ :subdomain, :uuid ]
|
38
|
+
|
39
|
+
# Use a different logger for distributed setups
|
40
|
+
# config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
|
41
|
+
|
42
|
+
# Use a different cache store in production
|
43
|
+
# config.cache_store = :mem_cache_store
|
44
|
+
|
45
|
+
# Enable serving of images, stylesheets, and JavaScripts from an asset server
|
46
|
+
# config.action_controller.asset_host = "http://assets.example.com"
|
47
|
+
|
48
|
+
# Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
|
49
|
+
# config.assets.precompile += %w( search.js )
|
50
|
+
|
51
|
+
# Disable delivery errors, bad email addresses will be ignored
|
52
|
+
# config.action_mailer.raise_delivery_errors = false
|
53
|
+
|
54
|
+
# Enable threaded mode
|
55
|
+
# config.threadsafe!
|
56
|
+
|
57
|
+
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
|
58
|
+
# the I18n.default_locale when a translation can not be found)
|
59
|
+
config.i18n.fallbacks = true
|
60
|
+
|
61
|
+
# Send deprecation notices to registered listeners
|
62
|
+
config.active_support.deprecation = :notify
|
63
|
+
|
64
|
+
# Log the query plan for queries taking more than this (works
|
65
|
+
# with SQLite, MySQL, and PostgreSQL)
|
66
|
+
# config.active_record.auto_explain_threshold_in_seconds = 0.5
|
67
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
Dummy::Application.configure do
|
2
|
+
# Settings specified here will take precedence over those in config/application.rb
|
3
|
+
|
4
|
+
# The test environment is used exclusively to run your application's
|
5
|
+
# test suite. You never need to work with it otherwise. Remember that
|
6
|
+
# your test database is "scratch space" for the test suite and is wiped
|
7
|
+
# and recreated between test runs. Don't rely on the data there!
|
8
|
+
config.cache_classes = true
|
9
|
+
|
10
|
+
# Configure static asset server for tests with Cache-Control for performance
|
11
|
+
config.serve_static_assets = true
|
12
|
+
config.static_cache_control = "public, max-age=3600"
|
13
|
+
|
14
|
+
# Log error messages when you accidentally call methods on nil
|
15
|
+
config.whiny_nils = true
|
16
|
+
|
17
|
+
# Show full error reports and disable caching
|
18
|
+
config.consider_all_requests_local = true
|
19
|
+
config.action_controller.perform_caching = false
|
20
|
+
|
21
|
+
# Raise exceptions instead of rendering exception templates
|
22
|
+
config.action_dispatch.show_exceptions = false
|
23
|
+
|
24
|
+
# Disable request forgery protection in test environment
|
25
|
+
config.action_controller.allow_forgery_protection = false
|
26
|
+
|
27
|
+
# Tell Action Mailer not to deliver emails to the real world.
|
28
|
+
# The :test delivery method accumulates sent emails in the
|
29
|
+
# ActionMailer::Base.deliveries array.
|
30
|
+
config.action_mailer.delivery_method = :test
|
31
|
+
|
32
|
+
# Raise exception on mass assignment protection for Active Record models
|
33
|
+
config.active_record.mass_assignment_sanitizer = :strict
|
34
|
+
|
35
|
+
# Print deprecation notices to the stderr
|
36
|
+
config.active_support.deprecation = :stderr
|
37
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
2
|
+
|
3
|
+
# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
|
4
|
+
# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
|
5
|
+
|
6
|
+
# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
|
7
|
+
# Rails.backtrace_cleaner.remove_silencers!
|
@@ -0,0 +1,158 @@
|
|
1
|
+
# Change the settings below to suit your needs
|
2
|
+
# All settings are initially set to their default values
|
3
|
+
Commontator.configure do |config|
|
4
|
+
|
5
|
+
# Engine Configuration
|
6
|
+
|
7
|
+
# Name of the ApplicationController helper method that returns the current user
|
8
|
+
# Default: 'current_user'
|
9
|
+
config.current_user_method = 'current_user'
|
10
|
+
|
11
|
+
# Proc that is called after any javascript runs (e.g. to clear flash)
|
12
|
+
# It is passed the view_context object (self from the view template), so you should be able to
|
13
|
+
# access anything you normally could in a view template (by using, e.g. view.flash)
|
14
|
+
# Should return a string containing JS to be appended to all Commontator JS responses
|
15
|
+
# Default: lambda { |view| '$("#error_explanation").remove();' }
|
16
|
+
config.javascript_proc = lambda { |view| 'Dummy Javascript' }
|
17
|
+
|
18
|
+
|
19
|
+
# User (acts_as_commontator) Configuration
|
20
|
+
|
21
|
+
# The name used if the user's name cannot be retrieved
|
22
|
+
# Default: 'Anonymous'
|
23
|
+
config.user_missing_name = 'Anonymous'
|
24
|
+
|
25
|
+
# Whether the comment creator's name is clickable in the comment view
|
26
|
+
# If enabled, the link will point to the comment creator's show page
|
27
|
+
# Default: false
|
28
|
+
config.user_name_clickable = false
|
29
|
+
|
30
|
+
# Whether automated emails are sent to the user whenever
|
31
|
+
# a comment is posted on a thread they subscribe to
|
32
|
+
# Default: true
|
33
|
+
config.subscription_emails = true
|
34
|
+
|
35
|
+
# The method that returns the user's email address
|
36
|
+
# Default: 'email'
|
37
|
+
config.user_email_method = 'email'
|
38
|
+
|
39
|
+
# The method that returns the user's name
|
40
|
+
# Default: '' (use user_missing_name)
|
41
|
+
config.user_name_method = ''
|
42
|
+
|
43
|
+
# Proc called with user as argument that returns true if the user is an admin
|
44
|
+
# Admins can always delete other users' comments and close threads
|
45
|
+
# Note: user can be nil
|
46
|
+
# Default: lambda { |user| false } (no admins)
|
47
|
+
config.user_admin_proc = lambda { |user| user.try(:is_admin) }
|
48
|
+
|
49
|
+
|
50
|
+
# Commontable (acts_as_commontable) Configuration
|
51
|
+
|
52
|
+
# What a comment is called in your application
|
53
|
+
# Default: 'comment'
|
54
|
+
config.comment_name = 'dummy comment'
|
55
|
+
|
56
|
+
# Verb used when creating comments (present)
|
57
|
+
# Default: 'post'
|
58
|
+
config.comment_create_verb_present = 'post'
|
59
|
+
|
60
|
+
# Verb used when creating comments (past)
|
61
|
+
# Default: 'posted'
|
62
|
+
config.comment_create_verb_past = 'posted'
|
63
|
+
|
64
|
+
# What a commontable is called in your application
|
65
|
+
# If you have multiple commontable models,
|
66
|
+
# you might want to pass this configuration value
|
67
|
+
# as an argument to acts_as_commontable in each one
|
68
|
+
# Default: 'commontable'
|
69
|
+
config.commontable_name = 'dummy model'
|
70
|
+
|
71
|
+
# The format of the timestamps used by Commontator
|
72
|
+
# Default: '%b %d %Y, %I:%M %p'
|
73
|
+
config.timestamp_format = '%b %d %Y, %I:%M %p'
|
74
|
+
|
75
|
+
# Whether admins can edit other users' comments
|
76
|
+
# Default: false
|
77
|
+
config.admin_can_edit_comments = false
|
78
|
+
|
79
|
+
# Whether users automatically subscribe to a thread when commenting
|
80
|
+
# Default: false
|
81
|
+
config.auto_subscribe_on_comment = false
|
82
|
+
|
83
|
+
# Whether users can edit their own comments
|
84
|
+
# Default: true
|
85
|
+
config.can_edit_own_comments = true
|
86
|
+
|
87
|
+
# Whether users can edit their own comments
|
88
|
+
# after someone posted a newer comment
|
89
|
+
# Default: false
|
90
|
+
config.can_edit_old_comments = false
|
91
|
+
|
92
|
+
# Whether users can delete their own comments
|
93
|
+
# Default: true
|
94
|
+
config.can_delete_own_comments = true
|
95
|
+
|
96
|
+
# Whether users can delete their own comments
|
97
|
+
# after someone posted a newer comment
|
98
|
+
# Default: false
|
99
|
+
config.can_delete_old_comments = false
|
100
|
+
|
101
|
+
# Whether users can manually subscribe or unsubscribe to threads
|
102
|
+
# Default: true
|
103
|
+
config.can_subscribe_to_thread = true
|
104
|
+
|
105
|
+
# Whether users can vote on other users' comments
|
106
|
+
# Note: requires acts_as_votable gem installed
|
107
|
+
# and configured for your application
|
108
|
+
# Default: false
|
109
|
+
config.can_vote_on_comments = true
|
110
|
+
|
111
|
+
# Whether comments should be ordered by vote score
|
112
|
+
# instead of by order posted
|
113
|
+
# Default: false
|
114
|
+
config.comments_ordered_by_votes = false
|
115
|
+
|
116
|
+
# Whether users can read threads closed by admins
|
117
|
+
# Default: true
|
118
|
+
config.closed_threads_are_readable = true
|
119
|
+
|
120
|
+
# Whether comments deleted by admins can be seen
|
121
|
+
# (the content will still be hidden)
|
122
|
+
# Default: true
|
123
|
+
config.deleted_comments_are_visible = true
|
124
|
+
|
125
|
+
# The method which returns the commontable's id, sent to users in email messages
|
126
|
+
# Default: 'id'
|
127
|
+
config.commontable_id_method = 'id'
|
128
|
+
|
129
|
+
# Proc called with thread and user as arguments
|
130
|
+
# If it returns true, that user is a moderator for that particular thread
|
131
|
+
# and is given admin-like capabilities for that thread only
|
132
|
+
# Note: user can be nil
|
133
|
+
# Default: lambda { |thread, user| false } (no thread-specific moderators)
|
134
|
+
config.can_edit_thread_proc = lambda { |thread, user| user.try(:can_edit) }
|
135
|
+
|
136
|
+
# Proc called with thread and user as arguments
|
137
|
+
# If it returns true, that user is allowed to read that thread
|
138
|
+
# Note: user can be nil
|
139
|
+
# Default: lambda { |thread, user| true } (no read restrictions)
|
140
|
+
config.can_read_thread_proc = lambda { |thread, user| user.try(:can_read) }
|
141
|
+
|
142
|
+
# Proc that returns the commontable url that contains the thread
|
143
|
+
# (defaults to the commontable show url)
|
144
|
+
# Main application's routes can be accessed using main_app object
|
145
|
+
# Default: lambda { |main_app, commontable| main_app.polymorphic_url(commontable) }
|
146
|
+
config.commontable_url_proc = lambda { |main_app, commontable| main_app.polymorphic_url(commontable) }
|
147
|
+
|
148
|
+
# Proc that returns the subscription email subject string
|
149
|
+
# Default:
|
150
|
+
# lambda do |params|
|
151
|
+
# "#{params[:creator_name]} #{params[:config].comment_create_verb_past} a " + \
|
152
|
+
# "#{params[:config].comment_name} on #{params[:commontable_name]} #{params[:commontable_id]}"
|
153
|
+
# end
|
154
|
+
config.subscription_email_subject_proc = lambda do |params|
|
155
|
+
"#{params[:creator_name]} #{params[:config].comment_create_verb_past} a " + \
|
156
|
+
"#{params[:config].comment_name} on #{params[:commontable_name]} #{params[:commontable_id]}"
|
157
|
+
end
|
158
|
+
end
|
@@ -0,0 +1,157 @@
|
|
1
|
+
# Change the settings below to suit your needs
|
2
|
+
# All settings are initially set to their default values
|
3
|
+
Commontator.configure do |config|
|
4
|
+
|
5
|
+
# Engine Configuration
|
6
|
+
|
7
|
+
# Name of the ApplicationController helper method that returns the current user
|
8
|
+
# Default: 'current_user'
|
9
|
+
config.current_user_method = 'current_user'
|
10
|
+
|
11
|
+
# Proc that is called after any javascript runs (e.g. to clear flash)
|
12
|
+
# It is passed the view_context object (self from the view template), so you should be able to
|
13
|
+
# access anything you normally could in a view template (by using, e.g. view.flash)
|
14
|
+
# Should return a string containing JS to be appended to all Commontator JS responses
|
15
|
+
# Default: lambda { |view| '$("#error_explanation").remove();' }
|
16
|
+
config.javascript_proc = lambda { |view| 'Dummy Javascript' }
|
17
|
+
|
18
|
+
|
19
|
+
# User (acts_as_commontator) Configuration
|
20
|
+
|
21
|
+
# The name used if the user's name cannot be retrieved
|
22
|
+
# Default: 'Anonymous'
|
23
|
+
config.user_missing_name = 'Anonymous'
|
24
|
+
|
25
|
+
# Whether the user's name is clickable in the comment view
|
26
|
+
# Default: false
|
27
|
+
config.user_name_clickable = false
|
28
|
+
|
29
|
+
# Whether automated emails are sent to the user whenever
|
30
|
+
# a comment is posted on a thread they subscribe to
|
31
|
+
# Default: true
|
32
|
+
config.subscription_emails = true
|
33
|
+
|
34
|
+
# The method that returns the user's email address
|
35
|
+
# Default: 'email'
|
36
|
+
config.user_email_method = 'email'
|
37
|
+
|
38
|
+
# The method that returns the user's name
|
39
|
+
# Default: '' (use user_missing_name)
|
40
|
+
config.user_name_method = ''
|
41
|
+
|
42
|
+
# Proc called with user as argument that returns true if the user is an admin
|
43
|
+
# Admins can always delete other users' comments and close threads
|
44
|
+
# Note: user can be nil
|
45
|
+
# Default: lambda { |user| false } (no admins)
|
46
|
+
config.user_admin_proc = lambda { |user| user.try(:is_admin) }
|
47
|
+
|
48
|
+
|
49
|
+
# Commontable (acts_as_commontable) Configuration
|
50
|
+
|
51
|
+
# What a comment is called in your application
|
52
|
+
# Default: 'comment'
|
53
|
+
config.comment_name = 'dummy comment'
|
54
|
+
|
55
|
+
# Verb used when creating comments (present)
|
56
|
+
# Default: 'post'
|
57
|
+
config.comment_create_verb_present = 'post'
|
58
|
+
|
59
|
+
# Verb used when creating comments (past)
|
60
|
+
# Default: 'posted'
|
61
|
+
config.comment_create_verb_past = 'posted'
|
62
|
+
|
63
|
+
# What a commontable is called in your application
|
64
|
+
# If you have multiple commontable models,
|
65
|
+
# you might want to pass this configuration value
|
66
|
+
# as an argument to acts_as_commontable in each one
|
67
|
+
# Default: 'commontable'
|
68
|
+
config.commontable_name = 'dummy model'
|
69
|
+
|
70
|
+
# The format of the timestamps used by Commontator
|
71
|
+
# Default: '%b %d %Y, %I:%M %p'
|
72
|
+
config.timestamp_format = '%b %d %Y, %I:%M %p'
|
73
|
+
|
74
|
+
# Whether admins can edit other users' comments
|
75
|
+
# Default: false
|
76
|
+
config.admin_can_edit_comments = false
|
77
|
+
|
78
|
+
# Whether users automatically subscribe to a thread when commenting
|
79
|
+
# Default: false
|
80
|
+
config.auto_subscribe_on_comment = false
|
81
|
+
|
82
|
+
# Whether users can edit their own comments
|
83
|
+
# Default: true
|
84
|
+
config.can_edit_own_comments = true
|
85
|
+
|
86
|
+
# Whether users can edit their own comments
|
87
|
+
# after someone posted a newer comment
|
88
|
+
# Default: false
|
89
|
+
config.can_edit_old_comments = false
|
90
|
+
|
91
|
+
# Whether users can delete their own comments
|
92
|
+
# Default: true
|
93
|
+
config.can_delete_own_comments = true
|
94
|
+
|
95
|
+
# Whether users can delete their own comments
|
96
|
+
# after someone posted a newer comment
|
97
|
+
# Default: false
|
98
|
+
config.can_delete_old_comments = false
|
99
|
+
|
100
|
+
# Whether users can manually subscribe or unsubscribe to threads
|
101
|
+
# Default: true
|
102
|
+
config.can_subscribe_to_thread = true
|
103
|
+
|
104
|
+
# Whether users can vote on other users' comments
|
105
|
+
# Note: requires acts_as_votable gem installed
|
106
|
+
# and configured for your application
|
107
|
+
# Default: false
|
108
|
+
config.can_vote_on_comments = true
|
109
|
+
|
110
|
+
# Whether comments should be ordered by vote score
|
111
|
+
# instead of by order posted
|
112
|
+
# Default: false
|
113
|
+
config.comments_ordered_by_votes = false
|
114
|
+
|
115
|
+
# Whether users can read threads closed by admins
|
116
|
+
# Default: true
|
117
|
+
config.closed_threads_are_readable = true
|
118
|
+
|
119
|
+
# Whether comments deleted by admins can be seen
|
120
|
+
# (the content will still be hidden)
|
121
|
+
# Default: true
|
122
|
+
config.deleted_comments_are_visible = true
|
123
|
+
|
124
|
+
# The method which returns the commontable's id, sent to users in email messages
|
125
|
+
# Default: 'id'
|
126
|
+
config.commontable_id_method = 'id'
|
127
|
+
|
128
|
+
# Proc called with thread and user as arguments
|
129
|
+
# If it returns true, that user is a moderator for that particular thread
|
130
|
+
# and is given admin-like capabilities for that thread only
|
131
|
+
# Note: user can be nil
|
132
|
+
# Default: lambda { |thread, user| false } (no thread-specific moderators)
|
133
|
+
config.can_edit_thread_proc = lambda { |thread, user| user.try(:can_edit) }
|
134
|
+
|
135
|
+
# Proc called with thread and user as arguments
|
136
|
+
# If it returns true, that user is allowed to read that thread
|
137
|
+
# Note: user can be nil
|
138
|
+
# Default: lambda { |thread, user| true } (no read restrictions)
|
139
|
+
config.can_read_thread_proc = lambda { |thread, user| user.try(:can_read) }
|
140
|
+
|
141
|
+
# Proc that returns the commontable url that contains the thread
|
142
|
+
# (defaults to the commontable show url)
|
143
|
+
# Main application's routes can be accessed using main_app object
|
144
|
+
# Default: lambda { |main_app, commontable| main_app.polymorphic_url(commontable) }
|
145
|
+
config.commontable_url_proc = lambda { |main_app, commontable| main_app.polymorphic_url(commontable) }
|
146
|
+
|
147
|
+
# Proc that returns the subscription email subject string
|
148
|
+
# Default:
|
149
|
+
# lambda do |params|
|
150
|
+
# "#{params[:creator_name]} #{params[:config].comment_create_verb_past} a " + \
|
151
|
+
# "#{params[:config].comment_name} on #{params[:commontable_name]} #{params[:commontable_id]}"
|
152
|
+
# end
|
153
|
+
config.subscription_email_subject_proc = lambda do |params|
|
154
|
+
"#{params[:creator_name]} #{params[:config].comment_create_verb_past} a " + \
|
155
|
+
"#{params[:config].comment_name} on #{params[:commontable_name]} #{params[:commontable_id]}"
|
156
|
+
end
|
157
|
+
end
|