Class: Meteor::ParserFactory
- Inherits:
-
Object
- Object
- Meteor::ParserFactory
- Defined in:
- lib/meteor.rb
Overview
Parser Factory Class (パーサファクトリクラス)
Constant Summary
- ABST_EXT_NAME =
'.*'- CURRENT_DIR =
'.'- SLASH =
'/'- ENC_UTF8 =
'UTF-8'
Instance Attribute Summary (collapse)
-
- (Object) base_dir
- String
-
base directory (基準ディレクトリ).
-
- (Object) base_encoding
- String
-
default character encoding (デフォルトエンコーディング).
Instance Method Summary (collapse)
-
- (Meteor::Parser) [](key)
get parser (パーサを取得する).
-
- (Object) []=(key, ps)
set parser (パーサをセットする).
-
- (Meteor::RootElement) element(key)
get root element (ルート要素を取得する).
-
- (ParserFactory) initialize(*args)
constructor
initializer (イニシャライザ).
-
- (Object) initialize_2(bs_dir, bs_encoding)
イニシャライザ.
-
- (Meteor::Parser) parser(*args)
generate parser (パーサを作成する) generate parser (パーサを作成する) get parser (パーサを取得する).
-
- (Meteor::Parser) parser_str(type, relative_url, document)
generate parser (パーサを作成する).
Constructor Details
- (ParserFactory) initialize - (ParserFactory) initialize(bs_dir) - (ParserFactory) initialize(bs_dir, bs_encoding)
initializer (イニシャライザ)
724 725 726 727 728 729 730 731 732 733 734 735 |
# File 'lib/meteor.rb', line 724 def initialize(*args) case args.length when 0 then initialize_0 when 1 then initialize_1(args[0]) when 2 then initialize_2(args[0], args[1]) else raise ArgumentError end end |
Instance Attribute Details
- (Object) base_dir
- String
-
base directory (基準ディレクトリ)
712 713 714 |
# File 'lib/meteor.rb', line 712 def base_dir @base_dir end |
- (Object) base_encoding
- String
-
default character encoding (デフォルトエンコーディング)
713 714 715 |
# File 'lib/meteor.rb', line 713 def base_encoding @base_encoding end |
Instance Method Details
- (Meteor::Parser) [](key)
get parser (パーサを取得する)
978 979 980 |
# File 'lib/meteor.rb', line 978 def [](key) self.parser(key) end |
- (Object) []=(key, ps)
set parser (パーサをセットする)
969 970 971 |
# File 'lib/meteor.rb', line 969 def []=(key, ps) @cache[key] = ps end |
- (Meteor::RootElement) element(key)
get root element (ルート要素を取得する)
928 929 930 |
# File 'lib/meteor.rb', line 928 def element(key) parser_1(key).root_element end |
- (Object) initialize_2(bs_dir, bs_encoding)
イニシャライザ
765 766 767 768 769 |
# File 'lib/meteor.rb', line 765 def initialize_2(bs_dir, bs_encoding) @cache = Hash.new @base_dir = bs_dir @base_encoding = bs_encoding end |
- (Meteor::Parser) parser(type, relative_path, encoding) - (Meteor::Parser) parser(type, relative_path) - (Meteor::Parser) parser(key)
generate parser (パーサを作成する) generate parser (パーサを作成する) get parser (パーサを取得する)
789 790 791 792 793 794 795 796 797 798 |
# File 'lib/meteor.rb', line 789 def parser(*args) case args.length when 1 then parser_1(args[0]) when 2 then parser_2(args[0], args[1]) when 3 then parser_3(args[0], args[1], args[2]) end end |
- (Meteor::Parser) parser_str(type, relative_url, document)
generate parser (パーサを作成する)
939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 |
# File 'lib/meteor.rb', line 939 def parser_str(type, relative_url, document) case type when Parser::HTML then html = Meteor::Ml::Html::ParserImpl.new() html.parse(document) @cache[relative_url] = html when Parser::XHTML then xhtml = Meteor::Ml::Xhtml::ParserImpl.new() xhtml.parse(document) @cache[relative_url] = xhtml when Parser::HTML5 then html5 = Meteor::Ml::Html5::ParserImpl.new() html5.parse(document) @cache[relative_url] = html5 when Parser::XHTML5 then xhtml5 = Meteor::Ml::Xhtml5::ParserImpl.new() xhtml5.parse(document) @cache[relative_url] = xhtml5 when Parser::XML then xml = Meteor::Ml::Xml::ParserImpl.new() xml.parse(document) @cache[relative_url] = xml end end |