Module: RailsConnector::Configuration::Rss

Defined in:
lib/rails_connector/configuration/rss.rb

Overview

This module adds configuration options for the RSS feature.

Specify the RSS root in RAILS_ROOT/config/initializers/rails_connector.rb:

RailsConnector::Configuration::Rss.root = lambda { NamedLink.get_object('news') }

Defined Under Namespace

Classes: RootNotFound, RootUndefined

Class Method Summary collapse

Class Method Details

.rootObject

Returns the RSS root object. If no RSS root has been specified then RootUndefined is raised.

Raises:



41
42
43
44
45
46
47
48
# File 'lib/rails_connector/configuration/rss.rb', line 41

def self.root
  raise RootUndefined unless @root_provider
  begin
    @root_provider.call
  rescue RailsConnector::ResourceNotFound
    raise RootNotFound
  end
end

.root=(obj_provider) ⇒ Object

Stores the obj providing lambda for later use



25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/rails_connector/configuration/rss.rb', line 25

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