class CTI::Resource

CTI::Session#resolver により設定したブロック内で、サーバーにリソースを送るためのオブジェクトです。

Public Instance Methods

finish() click to toggle source
# File CTI/Session.rb, line 538
def finish
  @out.close if @out
end
found(opts = {}, &block) click to toggle source

サーバーから要求されたリソースが見つかった場合の処理をします。

opts

リソースオプション(ハッシュ型で、‘mime_type’, ‘encoding’, ‘length’というキーでデータ型、文字コード、長さを設定することができます。)

&block

リソースを送信するためのブロックで、引数としてリソースの出力先ストリームが渡されます。

戻り値

&blockがない場合はリソースの出力先ストリームが返されます。

例: CTI::Session#resolver を参照してください。

# File CTI/Session.rb, line 516
def found(opts = {}, &block)
  opts.default = 'text/css'
  mime_type = opts['mime_type']
  opts.default = ''
  encoding = opts['encoding']
  opts.default = -1
  length = opts['length']
  @io.req_resource(@uri, mime_type, encoding, length)
  @missing = false;
  @out = ResourceOut.new(@io)
  if block
    begin
      block.call(@out)
    ensure
      @out.close
      @out = nil
    end
  else
    return @out
  end
end
missing() click to toggle source
# File CTI/Session.rb, line 501
def missing
  @missing
end

Public Class Methods

new(io, uri) click to toggle source
# File CTI/Session.rb, line 495
def initialize(io, uri)
  @io = io
  @uri = uri
  @missing = true
end