class Revelry::Content::Configuration

Public Instance Methods

authorization_policy(&block) click to toggle source
# File lib/revelry/content/configuration.rb, line 26
def authorization_policy(&block)
  if block_given?
    @authorization_policy = block
  end
  @authorization_policy || default_authorization_policy
end
authorize(controller) click to toggle source
# File lib/revelry/content/configuration.rb, line 46
def authorize(controller)
  user = user_for_content.call(controller)
  authorization_policy.call(user)
end
default_authorization_policy() click to toggle source
# File lib/revelry/content/configuration.rb, line 33
def default_authorization_policy
  ->(user) do
    if user.present?
      if user.respond_to?(:has_role?)
        return user.has_role? :admin
      else
        return user.admin?
      end
    end
    false
  end
end
default_markdown_renderer() click to toggle source
# File lib/revelry/content/configuration.rb, line 59
def default_markdown_renderer
  Redcarpet::Render::HTML
end
default_sanitizer() click to toggle source
# File lib/revelry/content/configuration.rb, line 71
def default_sanitizer
  ->(rendered_content) { Sanitize.fragment(rendered_content, Sanitize::Config::BASIC.merge(remove_contents: true)) }
end
default_user_finder() click to toggle source
# File lib/revelry/content/configuration.rb, line 22
def default_user_finder
  ->(controller) { controller.current_user }
end
js_export() click to toggle source
# File lib/revelry/content/configuration.rb, line 2
def js_export
  @js_export || false
end
js_export=(v) click to toggle source
# File lib/revelry/content/configuration.rb, line 10
def js_export=(v)
  @js_export = v
end
js_export?() click to toggle source
# File lib/revelry/content/configuration.rb, line 6
def js_export?
  js_export
end
markdown_renderer() click to toggle source
# File lib/revelry/content/configuration.rb, line 51
def markdown_renderer
  @markdown_renderer || default_markdown_renderer
end
markdown_renderer=(klass) click to toggle source
# File lib/revelry/content/configuration.rb, line 55
def markdown_renderer=(klass)
  @markdown_renderer = klass
end
sanitizer() click to toggle source
# File lib/revelry/content/configuration.rb, line 67
def sanitizer
  @sanitizer || default_sanitizer
end
sanitizer=(klass) click to toggle source
# File lib/revelry/content/configuration.rb, line 63
def sanitizer=(klass)
  @sanitizer = klass
end
user_for_content(&block) click to toggle source
# File lib/revelry/content/configuration.rb, line 14
def user_for_content(&block)
  if block_given?
    @user_finder = block
  end

  @user_finder || default_user_finder
end