mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 13:39:04 +02:00
merge revision(s) 26307:
* lib/rss/maker/base.rb, test/rss/test_maker_0.9.rb: accept any time format in maker. [ruby-core:26923] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@27915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
a6d4e18284
commit
b1ca15e4ee
4 changed files with 65 additions and 6 deletions
|
@ -1,3 +1,8 @@
|
|||
Thu May 20 15:59:14 2010 Kouhei Sutou <kou@cozmixng.org>
|
||||
|
||||
* lib/rss/maker/base.rb, test/rss/test_maker_0.9.rb:
|
||||
accept any time format in maker. [ruby-core:26923]
|
||||
|
||||
Thu May 20 15:54:08 2010 Akinori MUSHA <knu@iDaemons.org>
|
||||
|
||||
* eval.c (recursive_push): Taint internal hash to prevent
|
||||
|
|
|
@ -341,7 +341,7 @@ module RSS
|
|||
:date => date,
|
||||
:dc_dates => dc_dates.to_a.dup,
|
||||
}
|
||||
_date = date
|
||||
_date = _parse_date_if_needed(date)
|
||||
if _date and !dc_dates.any? {|dc_date| dc_date.value == _date}
|
||||
dc_date = self.class::DublinCoreDates::DublinCoreDate.new(self)
|
||||
dc_date.value = _date.dup
|
||||
|
@ -353,6 +353,11 @@ module RSS
|
|||
date = keep[:date]
|
||||
dc_dates.replace(keep[:dc_dates])
|
||||
end
|
||||
|
||||
def _parse_date_if_needed(date_value)
|
||||
date_value = Time.parse(date_value) if date_value.is_a?(String)
|
||||
date_value
|
||||
end
|
||||
end
|
||||
|
||||
class RSSBase < Base
|
||||
|
@ -472,12 +477,24 @@ module RSS
|
|||
end
|
||||
|
||||
%w(id about language
|
||||
managingEditor webMaster rating docs date
|
||||
lastBuildDate ttl).each do |element|
|
||||
managingEditor webMaster rating docs ttl).each do |element|
|
||||
attr_accessor element
|
||||
add_need_initialize_variable(element)
|
||||
end
|
||||
|
||||
%w(date lastBuildDate).each do |date_element|
|
||||
attr_reader date_element
|
||||
add_need_initialize_variable(date_element)
|
||||
end
|
||||
|
||||
def date=(_date)
|
||||
@date = _parse_date_if_needed(_date)
|
||||
end
|
||||
|
||||
def lastBuildDate=(_date)
|
||||
@lastBuildDate = _parse_date_if_needed(_date)
|
||||
end
|
||||
|
||||
def pubDate
|
||||
date
|
||||
end
|
||||
|
@ -672,11 +689,20 @@ module RSS
|
|||
def_classed_elements(name, attribute)
|
||||
end
|
||||
|
||||
%w(date comments id published).each do |element|
|
||||
%w(comments id published).each do |element|
|
||||
attr_accessor element
|
||||
add_need_initialize_variable(element)
|
||||
end
|
||||
|
||||
%w(date).each do |date_element|
|
||||
attr_reader date_element
|
||||
add_need_initialize_variable(date_element)
|
||||
end
|
||||
|
||||
def date=(_date)
|
||||
@date = _parse_date_if_needed(_date)
|
||||
end
|
||||
|
||||
def pubDate
|
||||
date
|
||||
end
|
||||
|
@ -725,6 +751,8 @@ module RSS
|
|||
end
|
||||
|
||||
class SourceBase < Base
|
||||
include SetupDefaultDate
|
||||
|
||||
%w(authors categories contributors generator icon
|
||||
logo rights subtitle title).each do |name|
|
||||
def_classed_element(name)
|
||||
|
@ -736,7 +764,7 @@ module RSS
|
|||
def_classed_elements(name, attribute)
|
||||
end
|
||||
|
||||
%w(id content date).each do |element|
|
||||
%w(id content).each do |element|
|
||||
attr_accessor element
|
||||
add_need_initialize_variable(element)
|
||||
end
|
||||
|
@ -744,6 +772,15 @@ module RSS
|
|||
alias_method(:url, :link)
|
||||
alias_method(:url=, :link=)
|
||||
|
||||
%w(date).each do |date_element|
|
||||
attr_reader date_element
|
||||
add_need_initialize_variable(date_element)
|
||||
end
|
||||
|
||||
def date=(_date)
|
||||
@date = _parse_date_if_needed(_date)
|
||||
end
|
||||
|
||||
def updated
|
||||
date
|
||||
end
|
||||
|
|
|
@ -434,5 +434,22 @@ module RSS
|
|||
end
|
||||
assert_nil(rss.channel.textInput)
|
||||
end
|
||||
|
||||
def test_date_in_string
|
||||
date = Time.now
|
||||
|
||||
rss = RSS::Maker.make("0.91") do |maker|
|
||||
setup_dummy_channel(maker)
|
||||
setup_dummy_image(maker)
|
||||
|
||||
maker.items.new_item do |item|
|
||||
item.title = "The first item"
|
||||
item.link = "http://example.com/blog/1.html"
|
||||
item.date = date.rfc822
|
||||
end
|
||||
end
|
||||
|
||||
assert_equal(date.iso8601, rss.items[0].date.iso8601)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#define RUBY_RELEASE_DATE "2010-05-20"
|
||||
#define RUBY_VERSION_CODE 187
|
||||
#define RUBY_RELEASE_CODE 20100520
|
||||
#define RUBY_PATCHLEVEL 256
|
||||
#define RUBY_PATCHLEVEL 257
|
||||
|
||||
#define RUBY_VERSION_MAJOR 1
|
||||
#define RUBY_VERSION_MINOR 8
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue