Class: Aozora2Html::TextBuffer

Inherits:
Array
  • Object
show all
Defined in:
lib/aozora2html/text_buffer.rb

Overview

本文テキスト用バッファ

要素はString以外も含むto_sすると文字列化できる

Instance Method Summary collapse

Instance Method Details

#blank_typetrue, ...

行出力時に@bufferが空かどうか調べる

@bufferの中身によって行末の出力が異なるため

Returns:

  • (true, false, :inline)

    空文字ではない文字列が入っていればfalse、1行注記なら:inline、それ以外しか入っていなければtrue



15
16
17
18
19
20
21
22
23
24
# File 'lib/aozora2html/text_buffer.rb', line 15

def blank_type
  each do |token|
    return false if token.is_a?(String) && token != ''

    if token.is_a?(Aozora2Html::Tag::OnelineIndent)
      return :inline
    end
  end
  true
end

#terpri?true, false

行末で<br />を出力するべきかどうかの判別用

Returns:

  • (true, false)

    Multilineの注記しか入っていなければfalse、Multilineでも空文字でもない要素が含まれていればtrue



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/aozora2html/text_buffer.rb', line 30

def terpri?
  flag = true
  each do |x|
    case x
    when Aozora2Html::Tag::Multiline
      flag = false
    when ''
    # skip
    else
      return true
    end
  end

  flag
end

#to_sObject



46
47
48
# File 'lib/aozora2html/text_buffer.rb', line 46

def to_s
  join
end