Class: Tobi::Generator

Inherits:
Object
  • Object
show all
Defined in:
lib/tobi/generator.rb

Overview

アプリケーション設定情報からアプリケーションのソースコードを生成する。

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(cfg) ⇒ Generator

アプリケーション設定情報の読み込みと、 埋め込みソースコードのデフォルト設定をする。

cfg - アプリケーション設定情報(Tobi::Config)



18
19
20
21
22
23
# File 'lib/tobi/generator.rb', line 18

def initialize(cfg)
  @app_name = cfg.app_name
  @app_path = File.join(Dir.pwd, @app_name)
  @config = cfg.options
  @src = DEFAULT_SRC.dup
end

Instance Attribute Details

#app_nameObject (readonly)

アプリケーション名(String)



8
9
10
# File 'lib/tobi/generator.rb', line 8

def app_name
  @app_name
end

#configObject (readonly)

各種設定情報(Hash)



10
11
12
# File 'lib/tobi/generator.rb', line 10

def config
  @config
end

#srcObject (readonly)

埋め込みソースコード(Hash)



12
13
14
# File 'lib/tobi/generator.rb', line 12

def src
  @src
end

Instance Method Details

#generateObject

アプリケーションのソースコードを生成する。

戻り値: なし



28
29
30
31
32
33
34
35
36
37
# File 'lib/tobi/generator.rb', line 28

def generate
  set_source_code
  begin
    output_app_files
  rescue => e
    msg = "Output error: #{e.message}"
    STDERR.puts msg
    exit(1)
  end
end