mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
This commit was manufactured by cvs2svn to create branch 'ruby_1_8'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7168 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
8522deb2b2
commit
8b33686b91
12 changed files with 9831 additions and 0 deletions
2
ext/enumerator/extconf.rb
Normal file
2
ext/enumerator/extconf.rb
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
require 'mkmf'
|
||||||
|
create_makefile('enumerator')
|
2
ext/fcntl/extconf.rb
Normal file
2
ext/fcntl/extconf.rb
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
require 'mkmf'
|
||||||
|
create_makefile('fcntl')
|
52
ext/nkf/nkf-utf8/config.h
Normal file
52
ext/nkf/nkf-utf8/config.h
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
#ifndef _CONFIG_H_
|
||||||
|
#define _CONFIG_H_
|
||||||
|
|
||||||
|
/* UTF8 $BF~=PNO(B */
|
||||||
|
#define UTF8_INPUT_ENABLE
|
||||||
|
#define UTF8_OUTPUT_ENABLE
|
||||||
|
|
||||||
|
/* Shift_JIS $BHO0O30$NJ8;z$r!"(BCP932 $B$GF1CM$JJ8;z$KFI$_49$($k(B */
|
||||||
|
#define SHIFTJIS_CP932
|
||||||
|
|
||||||
|
/* $B%*%W%7%g%s$GF~NO$r;XDj$7$?;~$K!"J8;z%3!<%I$r8GDj$9$k(B */
|
||||||
|
#define INPUT_CODE_FIX
|
||||||
|
|
||||||
|
/* --overwrite $B%*%W%7%g%s(B */
|
||||||
|
/* by Satoru Takabayashi <ccsatoru@vega.aichi-u.ac.jp> */
|
||||||
|
#define OVERWRITE
|
||||||
|
|
||||||
|
/* --cap-input, --url-input $B%*%W%7%g%s(B */
|
||||||
|
#define INPUT_OPTION
|
||||||
|
|
||||||
|
/* --numchar-input $B%*%W%7%g%s(B */
|
||||||
|
#define NUMCHAR_OPTION
|
||||||
|
|
||||||
|
/* --debug, --no-output $B%*%W%7%g%s(B */
|
||||||
|
#define CHECK_OPTION
|
||||||
|
|
||||||
|
/* --exec-in, --exec-out $B%*%W%7%g%s(B
|
||||||
|
* pipe, fork, execvp $B$"$?$j$,L5$$$HF0$-$^$;$s!#(B
|
||||||
|
* MS-DOS, MinGW $B$J$I$G$O(B undef $B$K$7$F$/$@$5$$(B
|
||||||
|
* child process $B=*N;;~$N=hM}$,$$$$$+$2$s$J$N$G!"(B
|
||||||
|
* $B%G%U%)%k%H$GL58z$K$7$F$$$^$9!#(B
|
||||||
|
*/
|
||||||
|
/* #define EXEC_IO */
|
||||||
|
|
||||||
|
/* SunOS $B$N(B cc $B$r;H$&$H$-$O(B undef $B$K$7$F$/$@$5$$(B */
|
||||||
|
#define ANSI_C_PROTOTYPE
|
||||||
|
|
||||||
|
/* int $B$,(B 32bit $BL$K~$N4D6-$G(B NUMCHAR_OPTION $B$r;H$&$K$O!"(B
|
||||||
|
* $B%3%a%s%H$r30$7$F$/$@$5$$!#(B
|
||||||
|
*/
|
||||||
|
/* #define INT_IS_SHORT */
|
||||||
|
|
||||||
|
/******************************/
|
||||||
|
/* $B%G%U%)%k%H$N=PNO%3!<%IA*Br(B */
|
||||||
|
/* Select DEFAULT_CODE */
|
||||||
|
#define DEFAULT_CODE_JIS
|
||||||
|
/* #define DEFAULT_CODE_SJIS */
|
||||||
|
/* #define DEFAULT_CODE_EUC */
|
||||||
|
/* #define DEFAULT_CODE_UTF8 */
|
||||||
|
/******************************/
|
||||||
|
|
||||||
|
#endif /* _CONFIG_H_ */
|
4060
ext/nkf/nkf-utf8/nkf.c
Normal file
4060
ext/nkf/nkf-utf8/nkf.c
Normal file
File diff suppressed because it is too large
Load diff
5313
ext/nkf/nkf-utf8/utf8tbl.c
Normal file
5313
ext/nkf/nkf-utf8/utf8tbl.c
Normal file
File diff suppressed because it is too large
Load diff
2
ext/stringio/extconf.rb
Normal file
2
ext/stringio/extconf.rb
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
require 'mkmf'
|
||||||
|
create_makefile('stringio')
|
33
lib/rss/maker.rb
Normal file
33
lib/rss/maker.rb
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
require "rss/rss"
|
||||||
|
|
||||||
|
module RSS
|
||||||
|
|
||||||
|
module Maker
|
||||||
|
|
||||||
|
MAKERS = {}
|
||||||
|
|
||||||
|
class << self
|
||||||
|
def make(version, modules=[], &block)
|
||||||
|
prefix = "rss/maker"
|
||||||
|
require "#{prefix}/#{version}"
|
||||||
|
modules.each do |mod|
|
||||||
|
require "#{prefix}/#{mod}"
|
||||||
|
end
|
||||||
|
maker(version).make(&block)
|
||||||
|
end
|
||||||
|
|
||||||
|
def maker(version)
|
||||||
|
MAKERS[version]
|
||||||
|
end
|
||||||
|
|
||||||
|
def add_maker(version, maker)
|
||||||
|
MAKERS[version] = maker
|
||||||
|
end
|
||||||
|
|
||||||
|
def filename_to_version(filename)
|
||||||
|
File.basename(filename, ".*")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
184
lib/rss/maker/1.0.rb
Normal file
184
lib/rss/maker/1.0.rb
Normal file
|
@ -0,0 +1,184 @@
|
||||||
|
require "rss/1.0"
|
||||||
|
|
||||||
|
require "rss/maker/base"
|
||||||
|
|
||||||
|
module RSS
|
||||||
|
module Maker
|
||||||
|
|
||||||
|
class RSS10 < RSSBase
|
||||||
|
|
||||||
|
def initialize
|
||||||
|
super("1.0")
|
||||||
|
end
|
||||||
|
|
||||||
|
def to_rss
|
||||||
|
rss = RDF.new(@version, @encoding, @standalone)
|
||||||
|
setup_xml_stylesheets(rss)
|
||||||
|
setup_channel(rss)
|
||||||
|
setup_image(rss)
|
||||||
|
setup_items(rss)
|
||||||
|
setup_textinput(rss)
|
||||||
|
setup_other_elements(rss)
|
||||||
|
if rss.channel
|
||||||
|
rss
|
||||||
|
else
|
||||||
|
nil
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
def setup_channel(rss)
|
||||||
|
@channel.to_rss(rss)
|
||||||
|
end
|
||||||
|
|
||||||
|
def setup_image(rss)
|
||||||
|
@image.to_rss(rss)
|
||||||
|
end
|
||||||
|
|
||||||
|
def setup_items(rss)
|
||||||
|
@items.to_rss(rss)
|
||||||
|
end
|
||||||
|
|
||||||
|
def setup_textinput(rss)
|
||||||
|
@textinput.to_rss(rss)
|
||||||
|
end
|
||||||
|
|
||||||
|
class Channel < ChannelBase
|
||||||
|
|
||||||
|
def to_rss(rss)
|
||||||
|
if @about
|
||||||
|
channel = RDF::Channel.new(@about)
|
||||||
|
set = setup_values(channel)
|
||||||
|
if set
|
||||||
|
rss.channel = channel
|
||||||
|
setup_items(rss)
|
||||||
|
setup_image(rss)
|
||||||
|
setup_textinput(rss)
|
||||||
|
setup_other_elements(rss)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def have_required_values?
|
||||||
|
@about and @title and @link and @description
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
def setup_items(rss)
|
||||||
|
items = RDF::Channel::Items.new
|
||||||
|
seq = items.Seq
|
||||||
|
@maker.items.normalize.each do |item|
|
||||||
|
seq.lis << RDF::Channel::Items::Seq::Li.new(item.link)
|
||||||
|
end
|
||||||
|
rss.channel.items = items
|
||||||
|
end
|
||||||
|
|
||||||
|
def setup_image(rss)
|
||||||
|
if @maker.image.have_required_values?
|
||||||
|
rss.channel.image = RDF::Channel::Image.new(@maker.image.url)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def setup_textinput(rss)
|
||||||
|
if @maker.textinput.have_required_values?
|
||||||
|
textinput = RDF::Channel::Textinput.new(@maker.textinput.link)
|
||||||
|
rss.channel.textinput = textinput
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
class Cloud < CloudBase
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
class Image < ImageBase
|
||||||
|
def to_rss(rss)
|
||||||
|
if @url
|
||||||
|
image = RDF::Image.new(@url)
|
||||||
|
set = setup_values(image)
|
||||||
|
if set
|
||||||
|
rss.image = image
|
||||||
|
setup_other_elements(rss)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def have_required_values?
|
||||||
|
@url and @title and link and @maker.channel.have_required_values?
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
def variables
|
||||||
|
super + ["link"]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
class Items < ItemsBase
|
||||||
|
def to_rss(rss)
|
||||||
|
if rss.channel
|
||||||
|
normalize.each do |item|
|
||||||
|
item.to_rss(rss)
|
||||||
|
end
|
||||||
|
setup_other_elements(rss)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
class Item < ItemBase
|
||||||
|
def to_rss(rss)
|
||||||
|
if @link
|
||||||
|
item = RDF::Item.new(@link)
|
||||||
|
set = setup_values(item)
|
||||||
|
if set
|
||||||
|
rss.items << item
|
||||||
|
setup_other_elements(rss)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def have_required_values?
|
||||||
|
@title and @link
|
||||||
|
end
|
||||||
|
|
||||||
|
class Guid < GuidBase
|
||||||
|
def to_rss(*args)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
class Enclosure < EnclosureBase
|
||||||
|
def to_rss(*args)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
class Source < SourceBase
|
||||||
|
def to_rss(*args)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
class Category < CategoryBase
|
||||||
|
def to_rss(*args)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
class Textinput < TextinputBase
|
||||||
|
def to_rss(rss)
|
||||||
|
if @link
|
||||||
|
textinput = RDF::Textinput.new(@link)
|
||||||
|
set = setup_values(textinput)
|
||||||
|
if set
|
||||||
|
rss.textinput = textinput
|
||||||
|
setup_other_elements(rss)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def have_required_values?
|
||||||
|
@title and @description and @name and @link and
|
||||||
|
@maker.channel.have_required_values?
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
add_maker(filename_to_version(__FILE__), RSS10)
|
||||||
|
end
|
||||||
|
end
|
34
test/rss/test_maker_content.rb
Normal file
34
test/rss/test_maker_content.rb
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
require "rss-testcase"
|
||||||
|
|
||||||
|
require "rss/maker"
|
||||||
|
|
||||||
|
module RSS
|
||||||
|
class TestMakerContent < TestCase
|
||||||
|
|
||||||
|
def setup
|
||||||
|
@uri = "http://purl.org/rss/1.0/modules/content/"
|
||||||
|
|
||||||
|
@elements = {
|
||||||
|
:encoded => "<em>ATTENTION</em>",
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_rss10
|
||||||
|
rss = RSS::Maker.make("1.0", ["content"]) do |maker|
|
||||||
|
setup_dummy_channel(maker)
|
||||||
|
|
||||||
|
setup_dummy_item(maker)
|
||||||
|
item = maker.items.last
|
||||||
|
@elements.each do |name, value|
|
||||||
|
item.__send__("#{accessor_name(name)}=", value)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
assert_content(@elements, rss.items.last)
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
def accessor_name(name)
|
||||||
|
"content_#{name}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
71
test/rss/test_maker_dc.rb
Normal file
71
test/rss/test_maker_dc.rb
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
require "rss-testcase"
|
||||||
|
|
||||||
|
require "rss/maker"
|
||||||
|
|
||||||
|
module RSS
|
||||||
|
class TestMakerDublinCore < TestCase
|
||||||
|
|
||||||
|
def setup
|
||||||
|
@uri = "http://purl.org/dc/elements/1.1/"
|
||||||
|
|
||||||
|
t = Time.iso8601("2000-01-01T12:00:05+00:00")
|
||||||
|
class << t
|
||||||
|
alias_method(:to_s, :iso8601)
|
||||||
|
end
|
||||||
|
|
||||||
|
@elements = {
|
||||||
|
:title => "hoge",
|
||||||
|
:description =>
|
||||||
|
" XML is placing increasingly heavy loads on
|
||||||
|
the existing technical infrastructure of the Internet.",
|
||||||
|
:creator => "Rael Dornfest (mailto:rael@oreilly.com)",
|
||||||
|
:subject => "XML",
|
||||||
|
:publisher => "The O'Reilly Network",
|
||||||
|
:contributor => "hogehoge",
|
||||||
|
:type => "fugafuga",
|
||||||
|
:format => "hohoho",
|
||||||
|
:identifier => "fufufu",
|
||||||
|
:source => "barbar",
|
||||||
|
:language => "ja",
|
||||||
|
:relation => "cococo",
|
||||||
|
:rights => "Copyright (c) 2000 O'Reilly & Associates, Inc.",
|
||||||
|
:date => t,
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_rss10
|
||||||
|
rss = RSS::Maker.make("1.0", ["dublincore"]) do |maker|
|
||||||
|
setup_dummy_channel(maker)
|
||||||
|
set_elements(maker.channel)
|
||||||
|
|
||||||
|
setup_dummy_image(maker)
|
||||||
|
set_elements(maker.image)
|
||||||
|
|
||||||
|
setup_dummy_item(maker)
|
||||||
|
item = maker.items.last
|
||||||
|
@elements.each do |name, value|
|
||||||
|
item.__send__("#{accessor_name(name)}=", value)
|
||||||
|
end
|
||||||
|
|
||||||
|
setup_dummy_textinput(maker)
|
||||||
|
set_elements(maker.textinput)
|
||||||
|
end
|
||||||
|
assert_dublin_core(@elements, rss.channel)
|
||||||
|
assert_dublin_core(@elements, rss.image)
|
||||||
|
assert_dublin_core(@elements, rss.items.last)
|
||||||
|
assert_dublin_core(@elements, rss.textinput)
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
def accessor_name(name)
|
||||||
|
"dc_#{name}"
|
||||||
|
end
|
||||||
|
|
||||||
|
def set_elements(target)
|
||||||
|
@elements.each do |name, value|
|
||||||
|
target.__send__("#{accessor_name(name)}=", value)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
43
test/rss/test_maker_sy.rb
Normal file
43
test/rss/test_maker_sy.rb
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
require "rss-testcase"
|
||||||
|
|
||||||
|
require "rss/maker"
|
||||||
|
|
||||||
|
module RSS
|
||||||
|
class TestMakerSyndication < TestCase
|
||||||
|
|
||||||
|
def setup
|
||||||
|
@uri = "http://purl.org/rss/1.0/modules/syndication/"
|
||||||
|
|
||||||
|
t = Time.iso8601("2000-01-01T12:00:05+00:00")
|
||||||
|
class << t
|
||||||
|
alias_method(:to_s, :iso8601)
|
||||||
|
end
|
||||||
|
|
||||||
|
@elements = {
|
||||||
|
:updatePeriod => "hourly",
|
||||||
|
:updateFrequency => 2,
|
||||||
|
:updateBase => t,
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_rss10
|
||||||
|
rss = RSS::Maker.make("1.0", ["syndication"]) do |maker|
|
||||||
|
setup_dummy_channel(maker)
|
||||||
|
set_elements(maker.channel)
|
||||||
|
end
|
||||||
|
assert_syndication(@elements, rss.channel)
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
def accessor_name(name)
|
||||||
|
"sy_#{name}"
|
||||||
|
end
|
||||||
|
|
||||||
|
def set_elements(target)
|
||||||
|
@elements.each do |name, value|
|
||||||
|
target.__send__("#{accessor_name(name)}=", value)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
35
test/rss/test_maker_trackback.rb
Normal file
35
test/rss/test_maker_trackback.rb
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
require "rss-testcase"
|
||||||
|
|
||||||
|
require "rss/maker"
|
||||||
|
|
||||||
|
module RSS
|
||||||
|
class TestMakerTrackBack < TestCase
|
||||||
|
|
||||||
|
def setup
|
||||||
|
@uri = "http://madskills.com/public/xml/rss/module/trackback/"
|
||||||
|
|
||||||
|
@elements = {
|
||||||
|
:ping => "http://bar.com/tb.cgi?tb_id=rssplustrackback",
|
||||||
|
:about => "http://foo.com/trackback/tb.cgi?tb_id=20020923",
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_rss10
|
||||||
|
rss = RSS::Maker.make("1.0", ["trackback"]) do |maker|
|
||||||
|
setup_dummy_channel(maker)
|
||||||
|
|
||||||
|
setup_dummy_item(maker)
|
||||||
|
item = maker.items.last
|
||||||
|
@elements.each do |name, value|
|
||||||
|
item.__send__("#{accessor_name(name)}=", value)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
assert_trackback(@elements, rss.items.last)
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
def accessor_name(name)
|
||||||
|
"trackback_#{name}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Add table
Add a link
Reference in a new issue