International Resource Identifier
IRI包含階層で使用する namespace
type : {prefix => prefix文字列} When::BasicTypes::M17n の生成に使用する namespace を定義する。 RFC 5545 に対する拡張である。 xml で記述する場合には、本ライブラリ以外でも namespace を定義している。
IRI または child の番号によるオブジェクト参照
iri : String or Numeric String - オブジェクトの IRI Numeric - child の index returns : オブジェクト
# File when/parts.rb, line 712 712: def [](iri) 713: case iri 714: when Numeric 715: return child[iri] 716: when String 717: obj = self 718: iri.split(/::/).each do |label| 719: return obj.child if label == '*' 720: if obj == IRI 721: obj = IRI._instance(label) 722: else 723: case label 724: when '' ; obj = IRI 725: when '.' # obj = obj 726: else ; obj = obj._pool[label.gsub(/%3A%3A/, '::')] 727: end 728: end 729: return nil unless obj 730: end 731: return obj 732: else 733: return nil 734: end 735: end
オブジェクトの IRI
returns : Sring
# File when/parts.rb, line 692 692: def iri 693: return @iri if @iri 694: root = @_pool['..'] 695: path = root.instance_of?(String) ? root : label.to_s 696: path = path.gsub(/::/, '%3A%3A') 697: if (root.respond_to?(:iri)) 698: prefix = root.iri 699: path = prefix + '::' + path if prefix 700: end 701: @iri = path 702: end
オブジェクト包含階層の末端か?
returns : Boolean true - IRIが付与された他のオブジェクトを包含していない false - IRIが付与された他のオブジェクトを包含している
# File when/parts.rb, line 751 751: def leaf? 752: !@child || (@child.length==0) 753: end
When::BasicTypes::M17n の生成/参照
source : locale と 文字列の対応 options : Hash
see When::BasicTypes::M17n.new
returns : When::BasicTypes::M17n
# File when/parts.rb, line 782 782: def m17n(source, options={}) 783: case source 784: when Array ; When::BasicTypes::M17n.new(source, options) 785: when When::BasicTypes::M17n ; source 786: when String 787: return self[$1] if source =~ /^\s*\[((\.{1,2}|::)+[^\]]+)\]/ 788: When::BasicTypes::M17n.new(source, options) 789: else ; raise TypeError, "Invalid Type: #{source.class}" 790: end 791: end
self を包含するオブジェクト
returns : When::Parts::IRI
# File when/parts.rb, line 741 741: def parent 742: @_pool['..'] 743: end
IRIが付与されているか?
returns : Boolean true - IRIが付与されている false - IRIが付与されていない
# File when/parts.rb, line 761 761: def registered? 762: leaf = self 763: while leaf._pool['..'].respond_to?(:_pool) 764: root = leaf._pool['..'] 765: return false unless leaf.eql?(root._pool[leaf.label]) 766: leaf = root 767: end 768: IRI.pool_values.each do |value| 769: return true if leaf.eql?(value) 770: end 771: return false 772: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.