Class: AppStructure

Inherits:
Thor::Group
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/runways/generators/app_structure_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_rootObject



8
9
10
# File 'lib/runways/generators/app_structure_generator.rb', line 8

def self.source_root
  File.dirname(__FILE__)
end

Instance Method Details

#create_basic_app_structureObject



12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/runways/generators/app_structure_generator.rb', line 12

def create_basic_app_structure
  root_directory = name.to_s
  app_directory = root_directory + "/app"
  models_directory = app_directory + "/models"
  controller_directory = app_directory + "/controllers"
  db_directory = root_directory + "/db"
  lib_directory = root_directory + "/lib"

  create_following_dirs([
    root_directory, app_directory, db_directory,
    models_directory, controller_directory, lib_directory,
  ])
end

#generate_application_recordObject



31
32
33
34
35
36
# File 'lib/runways/generators/app_structure_generator.rb', line 31

def generate_application_record
  template(
    "templates/application_record.tt",
    "#{name}/app/models/application_record.rb"
  )
end

#generate_modelsObject



38
39
40
41
42
43
# File 'lib/runways/generators/app_structure_generator.rb', line 38

def generate_models
  template(
    "templates/models.tt",
    "#{name}/app/models.rb"
  )
end

#generate_proto_fileObject



26
27
28
29
# File 'lib/runways/generators/app_structure_generator.rb', line 26

def generate_proto_file
  # generate from template
  template("templates/proto.tt", "#{name}/proto/#{name}.proto")
end

#generate_server_fileObject



52
53
54
55
56
57
# File 'lib/runways/generators/app_structure_generator.rb', line 52

def generate_server_file
  template(
    "templates/server.tt",
    "#{name}/#{name.underscore}_server.rb"
  )
end

#generate_service_fileObject



45
46
47
48
49
50
# File 'lib/runways/generators/app_structure_generator.rb', line 45

def generate_service_file
  template(
    "templates/service.tt",
    "#{name}/lib/#{name.underscore}_service.rb"
  )
end