Module: RSS::RootElementMixin

Includes:
XMLStyleSheetMixin
Included in:
Atom::Entry, Atom::Feed, RDF, Rss
Defined in:
lib/rss/rss.rb

Instance Attribute Summary collapse

Attributes included from XMLStyleSheetMixin

#xml_stylesheets

Instance Method Summary collapse

Instance Attribute Details

#encodingObject

Returns the value of attribute encoding



1245
1246
1247
# File 'lib/rss/rss.rb', line 1245

def encoding
  @encoding
end

#feed_subtypeObject (readonly)

Returns the value of attribute feed_subtype



1244
1245
1246
# File 'lib/rss/rss.rb', line 1244

def feed_subtype
  @feed_subtype
end

#feed_typeObject (readonly)

Returns the value of attribute feed_type



1244
1245
1246
# File 'lib/rss/rss.rb', line 1244

def feed_type
  @feed_type
end

#feed_versionObject (readonly)

Returns the value of attribute feed_version



1244
1245
1246
# File 'lib/rss/rss.rb', line 1244

def feed_version
  @feed_version
end

#output_encodingObject

Returns the value of attribute output_encoding



1243
1244
1245
# File 'lib/rss/rss.rb', line 1243

def output_encoding
  @output_encoding
end

#standaloneObject

Returns the value of attribute standalone



1245
1246
1247
# File 'lib/rss/rss.rb', line 1245

def standalone
  @standalone
end

#versionObject

Returns the value of attribute version



1245
1246
1247
# File 'lib/rss/rss.rb', line 1245

def version
  @version
end

Instance Method Details

#feed_infoObject



1257
1258
1259
# File 'lib/rss/rss.rb', line 1257

def feed_info
  [@feed_type, @feed_version, @feed_subtype]
end

#initialize(feed_version, version = nil, encoding = nil, standalone = nil) ⇒ Object



1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
# File 'lib/rss/rss.rb', line 1246

def initialize(feed_version, version=nil, encoding=nil, standalone=nil)
  super()
  @feed_type = nil
  @feed_subtype = nil
  @feed_version = feed_version
  @version = version || '1.0'
  @encoding = encoding
  @standalone = standalone
  @output_encoding = nil
end

#setup_maker(maker) ⇒ Object



1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
# File 'lib/rss/rss.rb', line 1266

def setup_maker(maker)
  maker.version = version
  maker.encoding = encoding
  maker.standalone = standalone

  xml_stylesheets.each do |xss|
    xss.setup_maker(maker)
  end

  super
end

#to_atom(type, &block) ⇒ Object



1289
1290
1291
# File 'lib/rss/rss.rb', line 1289

def to_atom(type, &block)
  to_feed("atom:#{type}", &block)
end

#to_feed(type, &block) ⇒ Object



1278
1279
1280
1281
1282
1283
# File 'lib/rss/rss.rb', line 1278

def to_feed(type, &block)
  Maker.make(type) do |maker|
    setup_maker(maker)
    block.call(maker) if block
  end
end

#to_rss(type, &block) ⇒ Object



1285
1286
1287
# File 'lib/rss/rss.rb', line 1285

def to_rss(type, &block)
  to_feed("rss#{type}", &block)
end

#to_xml(type = nil, &block) ⇒ Object



1293
1294
1295
1296
1297
1298
1299
# File 'lib/rss/rss.rb', line 1293

def to_xml(type=nil, &block)
  if type.nil? or same_feed_type?(type)
    to_s
  else
    to_feed(type, &block).to_s
  end
end