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