Class: CFile

Inherits:
Object show all
Defined in:
lib/tecsgen/core/plugin.rb

Overview

出力文字列を utf-8 から出力ファイルに convert する

tecsgen のソースコードは utf-8 で記述されている これを、出力ファイルの文字コードに変換して出力する

generate.rb で出力するものは message.rb で変換している generate.rb で出力するものは APPFile クラスを使用している mikan: CFile で出力したものに factory で追記できない (cdl ファイルの場合、追記できても意味がない)

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(path, mode) ⇒ CFile

Returns a new instance of CFile.



299
300
301
302
# File 'lib/tecsgen/core/plugin.rb', line 299

def initialize(path, mode)
  mode += ":" + $Ruby19_File_Encode
  @file = File.open(path, mode)
end

Class Method Details

.open(path, mode) ⇒ Object



295
296
297
# File 'lib/tecsgen/core/plugin.rb', line 295

def self.open(path, mode)
  CFile.new(path, mode)
end

Instance Method Details

#closeObject



329
330
331
# File 'lib/tecsgen/core/plugin.rb', line 329

def close
  @file.close
end


304
305
306
307
308
309
310
# File 'lib/tecsgen/core/plugin.rb', line 304

def print(str)
  if $ENCODING_CONSOLE == Encoding::BINARY
    @file.print(str)
  else
    @file.print(str.encode($ENCODING_CDL))
  end
end

#printf(format, *arg) ⇒ Object



321
322
323
324
325
326
327
# File 'lib/tecsgen/core/plugin.rb', line 321

def printf(format, *arg)
  if $ENCODING_CONSOLE == Encoding::BINARY
    @file.print(sprintf(format, *arg))
  else
    @file.print(sprintf(format, *arg).encode($ENCODING_CDL))
  end
end

#puts(str) ⇒ Object



312
313
314
315
316
317
318
319
# File 'lib/tecsgen/core/plugin.rb', line 312

def puts(str)
  if $ENCODING_CONSOLE == Encoding::BINARY
    @file.print(str)
  else
    @file.print(str.encode($ENCODING_CDL))
  end
  @file.print("\n")
end