Sha256: 8ae03fcd0abb6bbfb052c4b601a8673b16ef2d30f1e75a9ac1ef7b40f4e4fbd8
Contents?: true
Size: 1.47 KB
Versions: 2
Compression:
Stored size: 1.47 KB
Contents
module RailsConnector class Configuration # This module adds configuration options for the RSS feature. # # Specify the RSS root in # <code><em>RAILS_ROOT</em>/config/initializers/rails_connector.rb</code>: # RailsConnector::Configuration::Rss.root = lambda { NamedLink.get_object('news') } module Rss # Raised if no RSS root object has been specified. class RootUndefined < StandardError; end # Raised if the root is missing when accessing it # Inherits from {RootUndefined} for compatibility reasons class RootNotFound < RootUndefined; end @root_provider = nil # Stores the obj providing lambda for later use def self.root=(obj_provider) case obj_provider when Obj Rails.logger.warn("Rss.root= called with an Obj. Use an Obj returning lambda instead.") root_id = obj_provider.id @root_provider = lambda { Obj.find(root_id) } when Proc @root_provider = obj_provider else raise ArgumentError.new("Rss.root= called with '#{obj_provider.class.name}' instead of a lambda.") end end # Returns the RSS root object. # If no RSS root has been specified then {Rss::RootUndefined} is raised. def self.root raise RootUndefined unless @root_provider begin @root_provider.call rescue RailsConnector::ResourceNotFound raise RootNotFound end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
infopark_rails_connector-6.9.1.3.22208381 | lib/rails_connector/configuration/rss.rb |
infopark_rails_connector-6.9.0.3.197272233 | lib/rails_connector/configuration/rss.rb |